- Статьи
- 2018-12-23
????? ??????: Mort3m
??????, ???? ??????? ?????? ? ?? ???, ?? ??? ??? ??? ??????? ????, ???? ??? ????????
? ?????? ?????? ? ??? ???????? ??? ????? ???????? ??????????? ( ????????? ) ?????? ???????.
?????? ?????? ??? ????? ?????? ????? ???, ??? ?? ???, ????? ??????? ???, ??? ? ????? ? ???? ?????.
? ???, ??? ?????? ??? ????? Zombie Plague Fix5a. ?????? ??? ? ???? ????? ???? ????? ?? ????????? ????????? ??????.
???? ??????? ????? ? ??? ?? ???? ????, ????? ??????? Zombie Plague.
????????! ????????? ???? ?????? ?????? ? ???, ??? ???????? ????? ?? ????????? ????????? ??????. ?.? ??? ???, ? ???? ??? Fix5a.
?????????.
1. ????????? ???????? ????.
2. ???? ??????
public plugin_natives()
3. ???? ????????? ????? ??? ?????????? ??????. ???? ?????, ???? ?? ?? ?????? ????????? ??? ?????.
????? ? ??? ???? ?????? ????? ???????zp_force_buy_extra_item
????????? ??????:
register_native("zp_override_user_model", "native_override_user_model", 1);
?????? ?????????? ???:

?????????? ?? ??????:
/*================================================================================
[Custom Natives]
=================================================================================*/
? ? ????? ??????? ????? ????????? ???? ???? ????:
// Native: zp_override_user_model
public native_override_user_model(id, const newmodel[], modelindex)
{
????// ZP disabled
????if (!g_pluginenabled)
????????return false;
????
????if (!is_user_valid_connected(id))
????{
????????log_error(AMX_ERR_NATIVE, "[ZP] Invalid Player (%d)", id)
????????return false;
????}
????
????// Strings passed byref
????param_convert(2)
????
????// Remove previous tasks
????remove_task(id+TASK_MODEL)
????
????// Custom models stuff
????static currentmodel[32]
????
????if (g_handle_models_on_separate_ent)
????{
????????// Set the right model
????????copy(g_playermodel[id], charsmax(g_playermodel[]), newmodel)
????????if (g_set_modelindex_offset && modelindex) fm_cs_set_user_model_index(id, modelindex)
????????
????????// Set model on player model entity
????????fm_set_playermodel_ent(id)
????}
????else
????{
????????// Get current model for comparing it with the current one
????????fm_cs_get_user_model(id, currentmodel, charsmax(currentmodel))
????????
????????// Set the right model, after checking that we don't already have it
????????if (!equal(currentmodel, newmodel))
????????{
????????????copy(g_playermodel[id], charsmax(g_playermodel[]), newmodel)
????????????if (g_set_modelindex_offset && modelindex) fm_cs_set_user_model_index(id, modelindex)
????????????
????????????// An additional delay is offset at round start
????????????// since SVC_BAD is more likely to be triggered there
????????????if (g_newround)
????????????????set_task(5.0 * g_modelchange_delay, "fm_user_model_update", id+TASK_MODEL)
????????????else
????????????????fm_user_model_update(id+TASK_MODEL)
????????}
????}
????return true;
}
?????? ?????????? ???: ( ????? ???????? ????? ??? ???? ????????? )

???? ?? ??? ??????? ?????????, ?????????? ?????? ?????? ???????:

????????!?????????? ???? ?????? ?????? ??? ???? ?????????????, ??????? ??? ??????? Zombie Plague ??? ? Fix5a.
????, ???????? ? ?????????.
?????? ??? ???? ????? ???????? ????????? ??????, ??????????? ???? ?????? ???????. ??? ?????? ? ?????? ? ???? ??????.?
1. ??????? ???? ??????? .sma ? ????? ??????? ??? ?????????
2. ??????? ? ???? ????? ????????? ??????????.
3. ?????????? ??????? + ???????.
#include <amxmodx>
#include <fakemeta>
#include <hamsandwich>
#include <zombieplague>
// ???????
#define linux_diff_player 5
#define m_modelIndexPlayer 491
4. ????????? ????? + ????????? ??????? + ??????? ??????????.
?????! ????? ? ??????? ? ???? ?????? ?????? ???? ? ??????????? ??????????
// ??? ?????
native zp_override_user_model(pPlayer, szModel[], iModelIndex = 0);
#define MODEL_NAME "tommy" // ???????? ??????
#define MODEL_PATH "models/player/%s/%s.mdl" // ???????????? ???? ?? ???????.
#define MODEL_ACCESS_ADMIN ADMIN_BAN // ????????? ?????? ?????? ??????. ???????????????, ???? ?? ?????
// ??????? ?????????? ??? ???????? ? ??? ??????? ??????
new g_iszModelIndex;
5. ?????? ??? ???? ??????? ??? ????????. plugin_precache ? plugin_init
? ? ??? ???????????????? ?????? ??? ??????? ? ??????????? ??????? ( ?? ??????? )
// ?????? ??????
public plugin_precache()
{
????static szModelPath[128];
????formatex(szModelPath, charsmax(szModelPath), MODEL_PATH, MODEL_NAME, MODEL_NAME);
// ??????????? ?????? ?????? ??????????
g_iszModelIndex = engfunc(EngFunc_PrecacheModel, szModelPath);
}
// ??????????? ?????? ??? ??????? ( register_plugin ?? ??????? )
public plugin_init()
{
????// ???????????? ??????
????register_plugin("[AMXX] Custom Model", "0.0.1", "m0rt3m/??? ????? ???? ??? ???");
????// ????? ????? ?????? ??????
????RegisterHam(Ham_Spawn, "player", "HamHook__PlayerSpawn_Post", 1);
}
6. ?????? ??? ???????? ??????? ????????? ??????? ? ??????? ??????? ????? ????? ???????????? ? ????????.
public HamHook__PlayerSpawn_Post(iPlayer)
{
????// ????????? ?? ???????
????if(!is_user_connected(iPlayer))
????????return;
????// ????????? ?? ????? ? ?????????
????if(zp_get_user_zombie(iPlayer) || zp_get_user_survivor(iPlayer))
????????return;
????// ????????? ?? ??????? ?????, ???? ?????? ?? ???????????????
????#if defined MODEL_ACCESS_ADMIN
????????if(~get_user_flags(iPlayer) & MODEL_ACCESS_ADMIN)
????????????return;
????#endif
// ?????????? ??????
zp_override_user_model(iPlayer, MODEL_NAME, g_iszModelIndex);
// ?????????? ?????? ?????? ??????, ????? ?? ??????
set_pdata_int(iPlayer, m_modelIndexPlayer, g_iszModelIndex, linux_diff_player);
}
public zp_user_humanized_post(iPlayer, iSurvivor)
{
????// ????????? ?? ?????????
????if(iSurvivor)
????????return;
????// ????????? ?? ??????? ?????, ???? ?????? ?? ???????????????
????#if defined MODEL_ACCESS_ADMIN
????????if(~get_user_flags(iPlayer) & MODEL_ACCESS_ADMIN)
????????????return;
????#endif
// ?????????? ??????
zp_override_user_model(iPlayer, MODEL_NAME, g_iszModelIndex);
// ?????????? ?????? ?????? ??????, ????? ?? ??????
set_pdata_int(iPlayer, m_modelIndexPlayer, g_iszModelIndex, linux_diff_player);
}
?????? ????? ??????? ?? ???, ? ??????? ??????????? ??????? ?? ??? ? ?.?, ??????????, ???? ?? ?????? ? ?????, ??? ??? ??? ?? ????? ?????? ?????????.
Пожертвовать Вы можете сделать автору Mort3m, подарок в виде пожертвования на его электронную копилку ;)
%25
Скидка на покупку всех
сборок до 14.05.2021
Специально для тебя - Гость

Купить сборку

Слив Бекап сайта CS-FADE.RU от 04.01.2021 г.
Можете на яндекс диск залить? СПАСИБО))

Модель зомби [Santa Xmas] для CS 1.6
Мне по душе такие модельки зомби! =)

Модель зомби [Revenant Boss] для CS 1.6
Взята за основу

[CSO] [ZP] Extra Item - Dread Nova ??? CS 1.6
Да то его работа!

[CSO] [ZP] Extra Item - Shining Heart Rod
Не за что! =)
ReHLDS (Reverse-engineered) - это новый шаг вперед, который дает второе дыхание нашим серверам. ReHLDS работает в 2 раза быстрей, чем HLDS.
AMXModX - это Metamod дополнение, которое позволяет создавать новые модификации для Half-Life на языке Pawn
Reunion является продолжением Dproto для ReHLDS. Это metamod плагин, который позволяет заходить 47/48 Non-Steam на сервер.
Revoice - это Metamod plugin, который дает возможность общения голосовым чатом между non-steam и steam клиентами.
Новый Metamod-r содержит огромное количество оптимизаций производительности и намного более чистый код. Ядро было написано с использованием JIT-компилятора.
Ultimate Unprecacher являет плагином для MetaMod, работает он по принципу отключение не нужных ресурсов на вашем сервере, тем самым вы сможете освободить места для ресурсов под ваши плагины, с помощью данного модуля можно избавиться от ошибки 512!
ReAuthCheck - это Metamod плагин, который занимается проверкой ваших игроков на валидность, с помощью данного модуля для REHLDS вы сможете защитить свой сервер от ботов, которые постоянно спамят рекламу или просто забивают слот на сервере!
NetBufExtender или NBEX - это метамод-плагин, который расширяет "интернет-буфер": буферы сервера и клиента(гарантия не 100%). Расширяет до 64 кб. Это значит, что у игроков уменьшается вероятность быть кикнутыми с ошибкой "Reliable channel overflowed".
UINO — metamod-плагин, который позволяет удалять ненужные поля из userinfo(setinfo) когда движок передаёт его другим игрокам на сервере. Данная мера уменьшает объём передаваемых данных и немного сокращает шанс быть кикнутым с "Reliable channel overflowed".

[ZP] ??? ??????? ?????? ??? ????? ? ???????? ????? ????
Статьи

[ZP] ??? ??????? ?????? ????? ?? ?????? ? CS 1.6?
Статьи

[ZP] ??? ??????? ???????? ???????? ?? ??????
Статьи

[ZP] ??? ???????? ? ???????? ??????? ? ??????? ?? ? INI ?????
Статьи

[?????? ? ????????] ??????? P ? W ?????? ??? CS 1.6
Статьи