Добрый день/вечер уважаемые пользователи.
Хочу узнать, есть ли способы избежать подобных функций:
Я составил список плагинов (которые стоят на моем сервере), в которых используются часть этих функций, и из-за чего могут происходить полные/частичные зависания, или подтормаживание сервера (даже поднятие 'пинга', хотя я могу ошибаться).
Возьмем код плагина zmvip.sma для доп. прыжка (знаю что подобных плагинов было создано миллион +1, но других способов реализации я не видел), в основном все используют
Как избежать использование
Или вот еще функция в плагине "Парашют" -
Хочу узнать, есть ли способы избежать подобных функций:
C++:
// engine
client_PostThink()
client_PreThink()
server_frame()
client_cmdStart()
// fakemeta
FM_PlayerPreThink
FM_PlayerPostThink
FM_CmdStart
FM_CmdEnd
FM_AddToFullPack
FM_UpdateClientData
// ham sandwich
Ham_Player_PreThink
Ham_Player_PostThink
CSS:
client_PostThink()
Система вип:
zmvip.sma
client_PreThink()
Класс зомби:
zp_Jack_FrostFire.sma
zp_class_crow.sma (не используется в сборке)
FM_PlayerPreThink
Мод:
zombie_plague40.sma
Класс зомби:
Banchee.sma
zp_class_oxidation.sma
zp_class_climb.sma
Ножики:
Knife_hummer.sma
Knife_katana.sma
Knife_souleater.sma
Knife_sword.sma
Knife_tomahawk.sma
Knife_two_blades.sma
Парашют:
zp_sub_parachute.sma
Джет-Пак:
zp_jetpack_new.sma
FM_CmdStart
Мод:
zombie_plague40.sma
Оружие:
M32.sma
azp_weapon_infi.sma
azp_weapon_mg36.sma
weapon_arx.sma
zp_bazooka_new.sma
azp_weapon_balrog7.sma
azp_weapon_k1asus.sma
zp_extra_bullet.sma
Режим гранат:
nademodes.sma
Класс зомби:
zp_class_blink.sma
cso_zclass_shaman.sma
FM_UpdateClientData
Оружие:
zp_weapon_dmp7_1.sma
azp_weapon_acrb.sma
azp_weapon_infi.sma
azp_weapon_mg36.sma
azp_weapon_sprifle.sma
azp_weapon_vsk94.sma
cso_extra_ak47_blackstar.sma
M32.sma
weapon_arx.sma
zp_extra_items_plasmagun.sma
zp_weapon_pulser.sma
azp_weapon_balrog7.sma
azp_weapon_k1asus.sma
azp_weapon_kriss.sma
azp_weapon_sfgun.sma
azp_weapon_trg42g.sma
azp_weapon_xm2010.sma
zp_extra_bullet.sma
Ham_Player_PreThink
Режим гранат:
nademodes.sma
Возьмем код плагина zmvip.sma для доп. прыжка (знаю что подобных плагинов было создано миллион +1, но других способов реализации я не видел), в основном все используют
client_PreThink()
и client_PostThink()
C++:
public client_PostThink(id)
{
if(!is_user_alive(id))
return PLUGIN_CONTINUE;
if(!access(id, ADMINACCESS))
return PLUGIN_CONTINUE;
if(dojump[id] == true)
{
new Float:velocity[3]
entity_get_vector(id, EV_VEC_velocity, velocity)
velocity[2] = random_float(265.0, 285.0)
entity_set_vector(id, EV_VEC_velocity, velocity)
dojump[id] = false
return PLUGIN_CONTINUE
}
return PLUGIN_CONTINUE
}
client_PostThink()
?client_PreThink()
я поменял на RegisterHam(Ham_Player_Jump, "player", "OnJump");
Или вот еще функция в плагине "Парашют" -
register_forward(FM_PlayerPreThink, "fw_PreThink");
Download all Attachments
-
5.2 KB Просмотры: 4
-
4.9 KB Просмотры: 5
Последнее редактирование: