Вы наверно задавались вопросом "а как же сделать каждому зомби свою уникальную гранату" в данной статье я попробую подробно и на человеческом языке вам об это рассказать!
Здравствуйте, итак, чтобы добавить свою модель рук зомби с бомбой нам понадобиться:
1)
Сама модель рук с бомбой.
2)
Немного мозгов.
Начнем:Сначала нужно добавить инклуд
hamsandwich и fakemeta_util, если они у вас не подключены!
Затем
ищем "public plugin_init()" и перед ним добавляем:
#define linux_diff_weapon 4
#define m_pPlayer 41
#define GRENADE "тут мы прописываем путь к нашей модели бомбы"
Далее в тело
функции plugin_init() вставляем следующий код:
new const GRENADES_ENTITY[][] = { "weapon_hegrenade", "weapon_flashbang", "weapon_smokegrenade" };
for(new i = 0; i < sizeof GRENADES_ENTITY; i++)
RegisterHam(Ham_Item_Deploy, GRENADES_ENTITY[i], "Grenade_DeployPost", true);
Потом мы ищем "public plugin_precache()" и в нем пишем следующее:
engfunc(EngFunc_PrecacheModel, GRENADE);
И теперь в
любую часть исходника вставляем такой код:
public Grenade_DeployPost(iItem)
{
new iPlayer = get_pdata_cbase(iItem, m_pPlayer, linux_diff_weapon);
if(!zp_get_user_zombie(iPlayer) || zp_get_user_nemesis(iPlayer))
return;
if(zp_get_user_zombie_class(iPlayer) == gl_iZombieClass)
set_pev(iPlayer, pev_viewmodel2, GRENADE);
}
Тут нужно быть немного внимательным и тут нужно заменить слово gl_iZombieClass на свою переменную вашего класса. Название этой переменной можно найти в plugin_precache() или plugin_init(). Обычно это выглядит так:
переменная = zp_register_zombie_class(и тут много букав);
Отсюда вы берете "переменную" и заменяете gl_iZombieClass на свою.
Теперь компилируем плагин и радуемся. Если заметите ошибки в статье, напишите в комментарии.