Вы наверно задавались вопросом \»а как же сделать каждому зомби свою уникальную гранату\» в данной статье я попробую подробно и на человеческом языке вам об это рассказать!
Вы наверно задавались вопросом \»а как же сделать каждому зомби свою уникальную гранату\» в данной статье я попробую подробно и на человеческом языке вам об это рассказать!
Здравствуйте, итак, чтобы добавить свою модель рук зомби с бомбой нам понадобиться:
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 на свою.
переменная = zp_register_zombie_class(и тут много букав);
Отсюда вы берете \»переменную\» и заменяете gl_iZombieClass на свою.
Теперь компилируем плагин и радуемся. Если заметите ошибки в статье, напишите в комментарии.
