Мониторинг и Раскрутка серверов CS 1.6

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

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

Как сделать 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



Опубликовал
Boss
Рейтинг
Просмотры
217 раз.
Скачан
7 раз.

Отзывы