[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

Hello, our administration publishes only cannon content, put like under the post below and write the best comment, we are preparing material just for you, Darling Гость.

Comments 16
Информация
Посетители, находящиеся в группе Guests, не могут оставлять комментарии к данной публикации.
Our Discord partners
Foundation for your build
ReHLDS 3.4.0.654

ReHLDS (Reverse-engineered) - this is a new step forward that gives a second wind to our servers. ReHLDS works 2 times faster than HLDS.

AmxModx 1.8.3

AMXModX is a Metamod add-on that allows you to create new modifications for Half-Life in the Pawn language

Reunion 0.1.92

Reunion is a continuation of Dproto for ReHLDS. This is a metamod plugin that allows you to log into the 47/48 Non-Steam server.

Revoice 0.1.0.32

Revoice is a Metamod plugin that allows voice chat between non-steam and steam clients.

Metamod-r 1.3.0.127

The new Metamod-r contains a huge number of performance optimizations and much cleaner code. The kernel was written using a JIT compiler.

Ultimate Unprecacher 1.1

Ultimate Unprecacher is a plugin for MetaMod, it works on the principle of disabling unnecessary resources on your server, thereby you can free up space for resources for your plugins, using this module you can get rid of error 512!

ReAuthCheck 0.1.6

ReAuthCheck - this is a Metamod plugin that checks your players for validity, with this module for REHLDS you can protect your server from bots that constantly spam ads or simply clog up a slot on the server!

NetBufExtender (NBEX) 1.0

NetBufExtender or NBEX - This is a metamod plugin that expands the пїЅInternet bufferпїЅ: server and client buffers (not 100% guaranteed). Expands up to 64 kb. This means that players are less likely to be kicked with the error "Reliable channel overflowed"".

UserInfoNetOptimizer (UINO) 1.0

UINO пїЅ metamod plugin that allows you to remove unnecessary fields from userinfo(setinfo) when the engine passes it to other players on the server. This measure reduces the amount of data transferred and slightly reduces the chance of being kicked with "Reliable channel overflowed".

Information

Welcome to TB-TEAM.COM!

Welcome To Our New Website For CS1.6 Resources!.
Register
Create your own account!

Register Now!
Login
Already registered? Come on, log in quickly!

Login to the site