Создать акаунт

(ZP) Как сделать модель рук зомби с гранатой через мод?


Как сделать модель рук зомби с гранатой через мод?

Привет ребят, решился я Ragamafona написать статью о том как сделать v_ модель гранаты для каждого зомби через мод.
Перед началом хочу предупредить, урок(статья) относиться для тех кто хотя бы понимает малость базовых значений редактирования исходного кода.
Урок не подходит для ньюбаев в ознакомительных целях, но я всё же попытался расписать всё максимально просто

1.Регистрируем переменные:
new Array:g_zclass_clawbombmodel;
new Array:g_zclass2_clawbombmodel;

2.Находим public plugin_precache() затем туда вставляем:
g_zclass_clawbombmodel = ArrayCreate(32, 1);
g_zclass2_clawbombmodel = ArrayCreate(32, 1);

3.Ищем строки:
// Add clawmodel
ArrayGetString(g_zclass_clawmodel, i, buffer, charsmax(buffer))
format(buffer, charsmax(buffer), "^nCLAWMODEL = %s", buffer)
fputs(file, buffer)

Ниже добавляем:
// Add clawbombmodel
ArrayGetString(g_zclass_clawbombmodel, i, buffer, charsmax(buffer))
format(buffer, charsmax(buffer), "^nCLAWBOMBMODEL = %s", buffer)
fputs(file, buffer);

4.Ищем строку - replace_weapon_models(id, weaponid)

Далее в case: CSW_SMOKEGRENADE, case CSW_FLASHBANG, case CSW_HEGRENADE

Добавляем код:
if( g_zombie( id ) )
{
static szBuffer( 128 );
ArrayGetString( g_zclass_clawbombmodel, g_zombieclass( id ), szBuffer, charsmax( szBuffer ) );
format( szBuffer, charsmax( szBuffer ), "models/zombie_plague/%s", szBuffer
);
set_pev( id, pev_viewmodel2, szBuffer );
}
else

5.Теперь к else из п.4 допишем в каждый кейс, в моем случаи CSW_SMOKEGRENADE:
set_pev(id, pev_viewmodel2, model_grenade_flare);

6.Ищем строку:
public native_register_zombie_class(const name(), const info(), const model(), const clawmodel(), hp, speed, Float:gravity, Float:knockback)
Добавляем один параметр:
public native_register_zombie_class(const name(), const info(), const model(), const clawmodel(), const clawbombmodel(), hp, speed, Float:gravity, Float:knockback)

7.В этом же паблике конвертируем 5-ый параметр в буфер:
param_convert(1);
param_convert(2);
param_convert(3);
param_convert(4);
param_convert(5);

8.В этом же паблике после:
ArrayPushString(g_zclass_clawmodel, clawmodel);

Добавляем:
ArrayPushString(g_zclass_clawbombmodel, clawbombmodel);

9.В этом же паблике ищем строки:
// Replace clawmodel
ArrayGetString(g_zclass2_clawmodel, i, buffer, charsmax(buffer));
ArraySetString(g_zclass_clawmodel, g_zclass_i, buffer);
// Precache clawmodel
formatex(prec_mdl, charsmax(prec_mdl), "models/zombie_plague/%s", buffer)
engfunc(EngFunc_PrecacheModel, prec_mdl);

Добавляем:
// Replace clawbombmodel
ArrayGetString(g_zclass2_clawbombmodel, i, buffer, charsmax(buffer));
ArraySetString(g_zclass_clawbombmodel, g_zclass_i, buffer);
// Precache clawbombmodel
formatex(prec_mdl, charsmax(prec_mdl), "models/zombie_plague/%s", buffer)
engfunc(EngFunc_PrecacheModel, prec_mdl);

10.В этом же паблике после:
// Precache default clawmodel
formatex(prec_mdl, charsmax(prec_mdl), "models/zombie_plague/%s", clawmodel);
engfunc(EngFunc_PrecacheModel, prec_mdl);

Добавляем:
// Precache default clawbombmodel
formatex(prec_mdl, charsmax(prec_mdl), "models/zombie_plague/%s", clawbombmodel);
engfunc(EngFunc_PrecacheModel, prec_mdl);

11.Ищем строки в моде:
else if (equal(key, "CLAWMODEL"))
ArrayPushString(g_zclass2_clawmodel, value);

Добавляем ниже:
else if (equal(key, "CLAWMODEL"))
ArrayPushString(g_zclass2_clawmodel, value);
else if (equal(key, "CLAWBOMBMODEL"))
ArrayPushString(g_zclass2_clawbombmodel, value);

12.Ищем строки в моде:
// Free arrays containing class/item overrides

Добавляем ниже:
// Free arrays containing class/item overrides
ArrayDestroy(g_zclass2_clawbombmodel);

Автор урока(статьи): Nikolay Gaus (Ragamafona)
Специально для: vk.com/ragashop
Комментарии
Минимальная длина комментария - 50 знаков. комментарии модерируются

Информация
Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.

Смотрите также: