Half-Life и Adrenaline Gamer форум

Всё об игре в Халф-Лайф и АГ
Текущее время: 29 мар 2024, 05:01

Часовой пояс: UTC + 5 часов [ Летнее время ]




Начать новую тему Ответить на тему  [ Сообщений: 3 ] 
Автор Сообщение
СообщениеДобавлено: 27 июл 2018, 21:05 
Не в сети
Аватара пользователя
Зарегистрирован:
30 авг 2011, 22:16
Последнее посещение:
22 сен 2023, 18:31
Сообщения: 1384
Откуда: България
Некоторые, можете ли вы объединить эти два плагина?

Добавьте этот код ко второму коду, который я дал. TrailColor, добавьте в rpg_color.
Код:
#include <amxmodx>
#include <fakemeta>

#define PLUGIN "Trail Color"
#define VERSION "0.9"
#define AUTHOR "LetiLetiLepestok"

// 08.05.2012

new g_Colors[5][4] =
{
   {0, 0, 0, 0},
   {80, 80, 255, 255},      // color for team 1
   {255, 80, 80, 255},      // color for team 2
   {200, 200, 80, 255},   // color for team 3
   {80, 200, 80, 255}      // color for team 4
}

new g_pcvar_mode
new g_pcvar_colors[2]
new g_user_colors[2][4]




public plugin_init()
{
   register_plugin(PLUGIN, VERSION, AUTHOR)
   register_message(SVC_TEMPENTITY, "MessageTempEntity")
   g_pcvar_mode = register_cvar("tc_mode", "2")               // 1 - random colors; 2 - team colors; 3 - usercolors
   g_pcvar_colors[0] = register_cvar("tc_rpg", "255 255 0 128")   // user ccolors "<red 0..255> <green 0..255> <blue 0..255> <brightness 0..255>"
   g_pcvar_colors[1] = register_cvar("tc_hornet", "0 255 100 128")   // user ccolors "<red 0..255> <green 0..255> <blue 0..255> <brightness 0..255>"
   register_srvcmd("tc_refresh", "get_cvars")
   get_cvars()
}




public get_cvars()
{
   new text[32]
   new strs[4][8]
   
   for(new i = 0; i < sizeof g_pcvar_colors; i++)
   {
      get_pcvar_string(g_pcvar_colors[i], text, 31)
      parse(text, strs[0], 7, strs[1], 7, strs[2], 7, strs[3], 7)   
   
      g_user_colors[i][0] = clamp(str_to_num(strs[0]), 0, 255)
      g_user_colors[i][1] = clamp(str_to_num(strs[1]), 0, 255)
      g_user_colors[i][2] = clamp(str_to_num(strs[2]), 0, 255)
      g_user_colors[i][3] = clamp(str_to_num(strs[3]), 0, 255)
   }
}




public MessageTempEntity()
{
   if(get_msg_arg_int(1) != TE_BEAMFOLLOW)
      return PLUGIN_CONTINUE
      
   static classname[32]
   static ent, hr, team

   ent = get_msg_arg_int(2)

   pev(ent, pev_classname, classname, 31)

   if(equal(classname, "hornet"))
      hr = 1
   else if(equal(classname, "rpg_rocket"))
      hr = 0
   else
      return PLUGIN_CONTINUE
   
   if(get_pcvar_num(g_pcvar_mode) == 1)
   {
      team = 0
      g_Colors[0][0] = random_num(0, 255)
      g_Colors[0][1] = random_num(0, 255)
      g_Colors[0][2] = random_num(0, 255)
      g_Colors[0][3] = 255   
   }
   else if(get_pcvar_num(g_pcvar_mode) == 2)
   {
      team = get_user_team(pev(ent, pev_owner))

      if(team <= 0 || team > 4)
      {
         team = 0
         g_Colors[0] = g_user_colors[hr]
      }
   }   
   else
   {
      team = 0
      g_Colors[0] = g_user_colors[hr]
   }   

   set_msg_arg_int(6, ARG_BYTE, g_Colors[team][0])
   set_msg_arg_int(7, ARG_BYTE, g_Colors[team][1])
   set_msg_arg_int(8, ARG_BYTE, g_Colors[team][2])
   set_msg_arg_int(9, ARG_BYTE, g_Colors[team][3])

   return PLUGIN_CONTINUE
}



rpg_color

Код:
#include <amxmodx>
#include <fakemeta>
#include <hamsandwich>
#include <hl>

#define PLUGIN    "[HL] RPG Trail & LaserSpot Color"
#define VERSION "2.0"
#define AUTHOR    "LetiLetiLepestok"

#define IsValidPev(%1) (bool:(pev_valid(%1) == 2))

#define XO_WEAPON 4

#define m_pPlayer 28
#define m_pSpot 45
#define m_fSpotActive 46

#define LASER_SPOT_RED   "sprites/laserspot_red.spr"
#define LASER_SPOT_BLUE   "sprites/laserspot_blue.spr"

enum _:ENUM_DATA_TEAM
{
    TEAM_NONE = 0,
    TEAM_BLUE,  //1
    TEAM_RED,  //2
    TEAM_SPEC //3
};

new g_iszColors[ENUM_DATA_TEAM][3]=
{
    {0, 0, 0},
    {80, 80, 255},        // color for team BLUE
    {255, 80, 80},        // color for team RED
    {200, 200, 80}        // color for team SPEC
}

new HamHook:g_iHamHook_Item_PostFrame;

public plugin_init()
{
   register_plugin(PLUGIN, VERSION, AUTHOR);

   register_message(SVC_TEMPENTITY, "MessageHook_TempEntity");
   
   RegisterHam(Ham_Spawn, "laser_spot", "HamHook_LaserSpotSpawn_Post", true);

   DisableHamForward(g_iHamHook_Item_PostFrame = RegisterHam(Ham_Item_PostFrame, "weapon_rpg", "HamHook_Item_PostFrame", false));
}

public plugin_precache()
{
    precache_model(LASER_SPOT_BLUE);
    precache_model(LASER_SPOT_RED);
}

public HamHook_LaserSpotSpawn_Post(iLaserSpot)
{
   EnableHamForward(g_iHamHook_Item_PostFrame);
}

public HamHook_Item_PostFrame(const iItem)
{
   if(IsValidPev(iItem) && get_pdata_int(iItem, m_fSpotActive, XO_WEAPON))
   {
      static iPlayer;
      iPlayer = get_pdata_cbase(iItem, m_pPlayer, XO_WEAPON);

      static iLaserSpot;
      iLaserSpot = get_pdata_cbase(iItem, m_pSpot, XO_WEAPON);

      if(pev_valid(iLaserSpot))
      {
         switch(hl_get_user_team(iPlayer))
         {
            case TEAM_RED: engfunc(EngFunc_SetModel, iLaserSpot, LASER_SPOT_RED);   
            case TEAM_BLUE: engfunc(EngFunc_SetModel, iLaserSpot, LASER_SPOT_BLUE);
         }
      }
   }
   DisableHamForward(g_iHamHook_Item_PostFrame);

   return HAM_IGNORED;
}

public MessageHook_TempEntity()
{
    if(get_msg_arg_int(1) != TE_BEAMFOLLOW)
        return;

    new iEnt = get_msg_arg_int(2);

    new szClassName[32];
    pev(iEnt, pev_classname, szClassName, charsmax(szClassName));

    if(!equal(szClassName, "rpg_rocket"))
        return;

    new iTeam = hl_get_user_team(pev(iEnt, pev_owner));
   
    if(iTeam <= TEAM_NONE || iTeam > TEAM_SPEC)
    {
        iTeam = TEAM_NONE;

        g_iszColors[0][0] = random(255);
        g_iszColors[0][1] = random(255);
        g_iszColors[0][2] = random(255);
    }

    set_msg_arg_int(6, ARG_BYTE, g_iszColors[iTeam][0]);
    set_msg_arg_int(7, ARG_BYTE, g_iszColors[iTeam][1]);
    set_msg_arg_int(8, ARG_BYTE, g_iszColors[iTeam][2]);
    set_msg_arg_int(9, ARG_BYTE, 255);
}

_________________
Изображение
Изображение
http://smurfa.bulgarianforum.net/


Вернуться к началу
 Профиль 
  
СообщениеДобавлено: 28 июл 2018, 15:02 
Не в сети
Аватара пользователя
Зарегистрирован:
12 июн 2016, 01:22
Последнее посещение:
14 июн 2019, 12:52
Сообщения: 345
Откуда: Родом из Халфляндии
Привет , дай 2 sma.

_________________
Изображение

Изображение

Изображение


Вернуться к началу
 Профиль 
  
СообщениеДобавлено: 28 июл 2018, 16:56 
Не в сети
Аватара пользователя
Зарегистрирован:
30 авг 2011, 22:16
Последнее посещение:
22 сен 2023, 18:31
Сообщения: 1384
Откуда: България
Привет.
Я дал два кода в первом сообщении.
https://ndox.abv.bg/download?id=f10907ee08

псп
Можете ли вы взглянуть на функцию laserspot, хорошо ли она написана?

_________________
Изображение
Изображение
http://smurfa.bulgarianforum.net/


Вернуться к началу
 Профиль 
  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 3 ] 

Часовой пояс: UTC + 5 часов [ Летнее время ]


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 6


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Создано на основе phpBB® Forum Software © phpBB Group
Русская поддержка phpBB