Обратите внимание, если вы хотите заключить сделку с этим пользователем, он заблокирован
- Ошибка
-
Не работают флаги, стоят флаги для меню ADMIN_LEVEL_E , ADMIN_BAN -- Флаг для работы хука ADMIN_LEVEL_E
но в итоге пользуются все обычные игроки , и так со всеми пунктами меню, только Хуком не могут пользоваться а так всем , помогите сделать флаги пожалуйста , я уже всё перепробывал, и на прямую флаги , и по 1 шт , не хочет ((
- ОС
- Linux
- Билд
-
ReHLDS version: 3.4.0.633-dev
- ReGamedll
-
ReGameDLL version: 5.3.0.284-dev
- Список метамодулей
-
description stat pend file vers src load unlod
[ 1] Reunion RUN - reunion_mm_i386. v0.1.0.8 ini Start Never
[ 2] VoiceTranscoder RUN - VoiceTranscoder. v2017RC3 ini ANY ANY
[ 3] ReAuthCheck RUN - reauthcheck_mm_i v0.1.6 ini Start Never
[ 4] Rechecker RUN - rechecker_mm_i38 v2.5 ini Chlvl ANY
[ 5] ReSRDetector RUN - resrdetector_mm_ v0.1.0 ini Chlvl ANY
[ 6] AMX Mod X RUN - amxmodx_mm_i386. v1.8.2 ini Start ANY
[ 7] ReSemiclip RUN - resemiclip_mm_i3 v2.3.9 ini Chlvl ANY
[ 8] WHBlocker RUN - whblocker_mm_i38 v1.5.692 ini Chlvl ANY
[ 9] ReAPI RUN - reapi_amxx_i386. v5.2.0.1 pl6 ANY Never
[10] MySQL RUN - mysql_amxx_i386. v1.8.2 pl6 ANY ANY
[11] SQLite RUN - sqlite_amxx_i386 v1.8.2 pl6 ANY ANY
[12] Fun RUN - fun_amxx_i386.so v1.8.2 pl6 ANY ANY
[13] Engine RUN - engine_amxx_i386 v1.8.2 pl6 ANY ANY
[14] FakeMeta RUN - fakemeta_amxx_i3 v1.8.2 pl6 ANY ANY
[15] CStrike RUN - cstrike_amxx_i38 v1.8.2 pl6 ANY ANY
[16] CSX RUN - csx_amxx_i386.so v1.8.2 pl6 ANY ANY
[17] Ham Sandwich RUN - hamsandwich_amxx v1.8.2 pl6 ANY ANY
[18] ReAimDetector RUN - reaimdetector_am v0.2.1 pl6 ANY Never
[19] hackdetector RUN - hackdetector_amx v0.15.32 pl6 ANY ANY
19 plugins, 19 running
- Список плагинов
-
Currently loaded plugins:
name version author file status
[ 1] fb_forwards 0.1.4 Kanagava & Realu fb_forwards.amx running
[ 2] FreshBans 1.3.7b kanagava fresh_bans.amxx running
[ 3] Admin Loader 2.9 neygomon admin_loader.am running
[ 4] Admin Commands 1.8.2 AMXX Dev Team admincmd.amxx running
[ 5] Slots Reservation 1.8.2 AMXX Dev Team adminslots.amxx running
[ 6] Menus Front-End 1.5 untest neugomon menufront_enda. running
[ 7] Commands Menu 1.8.2 AMXX Dev Team cmdmenu.amxx running
[ 8] Plugin Menu 1.8.2 AMXX Dev Team pluginmenu.amxx running
[ 9] Admin Chat 1.8.2 AMXX Dev Team adminchat.amxx running
[ 10] Anti Flood 1.8.2 AMXX Dev Team antiflood.amxx running
[ 11] Scrolling Message 1.8.2 AMXX Dev Team scrollmsg.amxx running
[ 12] Info. Messages 1.8.2 AMXX Dev Team imessage.amxx running
[ 13] Admin Votes 1.8.2 AMXX Dev Team adminvote.amxx running
[ 14] Pause Plugins 1.8.2 AMXX Dev Team pausecfg.amxx running
[ 15] Restrict Weapons 1.8.2 AMXX Dev Team restmenu.amxx running
[ 16] [182] Stats Configurat 17.10.30 SKAJIbnEJIb & AM statscfg_rbs.am running
[ 17] [182] StatsX RBS 17.10.31 SKAJIbnEJIb & AM statsx_rbs.amxx running
[ 18] ReAimDetector API 0.2.1 ReHLDS Team reaimdetector.a running
[ 19] Lite VoteBan 1.4 neygomon lite_voteban.am running
[ 20] [ReAPI] Lite TeamBalan 2.3 neugomon lite_balancer_2 running
[ 21] GagMenu 1.9.0 neygomon GagMenu.amxx running
[ 22] [182] Army Ranks Ultim 17.12.12 SKAJIbnEJIb army_ranks_ulti running
[ 23] Anti Reklama 1.1 MarcaD anti_reklama.am running
[ 24] [ReAPI] AdminFreeLook 1.0 ReHLDS Team adminfreelook.a running
[ 25] DemoRecoder 1.1 neygomon amx_demorec.amx running
[ 26] Advert Messages 1.22 neygomon adverts.amxx running
[ 27] [ReAPI] AWPoff 1.3 PAffAEJIkA :3 awp_off.amxx stopped
[ 28] [182] Chat RBS 17.12.18 SKAJIbnEJIb chat_rbs.amxx running
[ 29] Bomb HUD Timer 0.2 SAMURAI c4timer.amxx running
[ 30] [182] CsStats MySQL 17.12.12 SKAJIbnEJIb csstats_mysql.a running
[ 31] Christmas hat 0.3 AMXX.Shop christmas_hat_r running
[ 32] Custom Models 1.3.2 neugomon custom_models.a running
[ 33] unknown unknown unknown custom_m4a1.amx paused
[ 34] unknown unknown unknown custom_deagle.a paused
[ 35] unknown unknown unknown custom_awp.amxx paused
[ 36] unknown unknown unknown custom_ak47.amx paused
[ 37] Check Steam Players 1.0 Leo_[BH] steam_check.amx running
[ 38] unknown unknown unknown Steam_Bonus.amx running
[ 39] ScreenMaker 1.1 neygomon screen_maker.am running
[ 40] Stop the Bastards 1.6.6 F@nt0M stop_the_bastar running
[ 41] SpecList 1.4 pUzzlik spectlist.amxx running
[ 42] Silly C4 1.1 Cheap_Suit sillyc4.amxx running
[ 43] resetscore(ReAPI) 1.0 Phantom resetscore.amxx running
[ 44] CT Bomb Cracker 0.0.4 Vaqtincha re_ct_bomb_crac stopped
[ 45] Players Menu 1.7 neugomon players_menu.am running
[ 46] Ping Control 1.31 neygomon Ping_Control.am running
[ 47] Mode 2x2 2.5re s1lent mode.amxx running
[ 48] Money HUD Effect 1.15 Sh!nE / Safety1s money_hud_effec running
[ 49] Descriptive 'Fire in t 0.1 VEN GrenadeInfo.amx running
[ 50] unknown unknown unknown gamename_change running
[ 51] [182] Top Award RBS 17.10.30 SKAJIbnEJIb topaward_rbs.am running
[ 52] HUD Message 1.5 neygomon hud_message.amx running
[ 53] [ReAPI] No Team Flash 0.0.2 Vaqtincha no_team_flash.a running
[ 54] NameChangeTime 0.0.1 Vaqtincha block_change_ni running
[ 55] Weapon Icon 1.2 hoboman313/Zenix weapon_icon.amx running
[ 56] Win Messages 1.0 neygomon win_messages.am running
[ 57] Simple Respawn 0.6b Safety1st Deathmatch.amxx running
[ 58] Lite MapChooser 2.6 neygomon Mapmanager_CSDM running
[ 59] Maps Menu 1.4.1 neugomon Mapsmenu_CSDM.a running
[ 60] NoWEapon 2.6 Lev NoWeaponCSDM.am running
[ 61] Train Killer 1.0 Pastout! Anti_parovoz.am running
[ 62] MG Grab 1.0 Nickron Grab.amxx running
[ 63] Hook 1.1 AcE hook.amxx running
[ 64] [ReAPI] Parachute 1.1.1 ReHLDS Team Parachute.amxx running
[ 65] KnifeBot Detector 0.9.9 Mistrick knifebot_detect running
65 plugins, 59 running
- Исходный код
-
#include <amxmodx>
#include <cstrike>
#include <amxmisc>
#include <engine>
#include <fun>
#include <hamsandwich>
#include <colorchat>
#define HOOK_LEVEL ADMIN_LEVEL_E // Уровен доступа
#define TRAIL_LIFE 10 // Жизнь полосы
#define TRAIL_WIDTH 10 // Ширина полосы
#define TRAIL_RED 255 // Цвет: Красный
#define TRAIL_GREEN 0 // Цвет: Зелёный
#define TRAIL_BLUE 0 // Цвет: Голубой
#define TRAIL_BRIGTHNESS 220 // Яркость
#define TRAIL_LIF 10 // Жизнь полосы
#define TRAIL_WIDT 10 // Ширина полосы
#define TRAIL_RE 0 // Цвет: Красный
#define TRAIL_GREE 0 // Цвет: Зелёный
#define TRAIL_BLU 255 // Цвет: Голубой
#define TRAIL_BRIGTHNES 220 // Яркость
#pragma tabsize 0
new bool:canusehook[32]
new bool:ishooked[32]
new hookorigin[32][3]
new Enable
new Glow, GlowRandom, GlowR, GlowG, GlowB
new Tsprite, STsprite, sprstandart
new Fade, FadeRandom, fadeR, fadeG, fadeB
new model_gibs, gTrail
new HookSpeed
public plugin_init() {
register_plugin("MG Hook","2.0","Nickron")
register_clcmd("+hook","hook_on",HOOK_LEVEL)
register_clcmd("-hook","hook_off",HOOK_LEVEL)
register_clcmd("say /hook","Menu_hook",HOOK_LEVEL)
register_clcmd("amx_menuhook","Menu_hook",HOOK_LEVEL)
register_clcmd("hook_give","give_hook",HOOK_LEVEL,"<name|#userid|steamid|@ALL> <on/off>") // Дать/отнять хук
Enable = register_cvar( "hook_enable", "1" ) // Вкл./Выкл. Плагин (По умолчанию Вкл)
Glow = register_cvar( "hook_glow", "1" ) // Аура при полете Вкл./Выкл. (По умолчанию Вкл)
GlowRandom = register_cvar( "hook_glow_random", "1" ) // Рандомная подсветка
GlowR = register_cvar( "hook_glow_r", "255" ) // Цвет свечения(красный)
GlowG = register_cvar( "hook_glow_g", "255" ) // Цвет свечения(зеленый)
GlowB = register_cvar( "hook_glow_b", "255" ) // Цвет свечения(синий)
sprstandart = register_cvar( "hook_sprite_new", "1" ) // Новый или старый спрайт хука (По умолчанию новый)
Fade = register_cvar( "hook_screenfade", "0" ) // Затемнение экрана при полете Вкл./Выкл. (По умолчанию Вкл)
FadeRandom = register_cvar( "hook_screenfade_random", "0" ) // Использовать рандомный цвет (1 - да, 2 -нет)(По умолчанию 1)
fadeR = register_cvar( "hook_fade_r", "255" ) // Цвет затемнения экрана при полете(красный)
fadeG = register_cvar( "hook_fade_g", "255" ) // Цвет затемнения экрана при полете(зеленый)
fadeB = register_cvar( "hook_fade_b", "255" ) // Цвет затемнения экрана при полете(синий)
HookSpeed = register_cvar( "hook_speed", "350" ) // Скорость (По умолчанию: 350)
}
public plugin_precache() {
precache_sound("MG_hook/mg_hook.wav") // Загрузка звука
precache_sound("MG_hook/mg_item.wav") // Загрузка звука меню
precache_sound("MG_hook/mg_menu.wav") // Загрузка звука меню вещей
Tsprite = precache_model("sprites/MG_hook/hook_ALL.spr") // Загрузка спрайта паутины
STsprite = precache_model("sprites/laserbeam.spr") // Загрузка стандартного спрайта
gTrail = precache_model("sprites/MG_hook/speed.spr") // Загрузка спрайта полосы
//model_gibs = precache_model("sprites/knife_v2/watergun.spr") // Загрузка модели земли
}
// =================================================================================================
public Menu_hook(id)
{
if(get_user_flags(id) & ADMIN_LEVEL_E || get_user_flags(id) & ADMIN_BAN)
client_cmd(id, "spk MG_hook/mg_menu.wav")
{
new menu = menu_create("\y[\rМеню смотрящего\y] ^n\yПользоваться Только Техстурах","menu_hook")
menu_additem(menu,"Взять \r[\yКомплект Гранат\r]", "1", 0)
menu_additem(menu,"Взять \r[\yAWP = 10 Патронов\r]", "2", 0)
menu_additem(menu,"Взять \r[\yВысокий Прыжок\r]", "3", 0)
menu_additem(menu,"Выдать \r[\yЖизни Игрокам\r]", "4", 0)
menu_setprop(menu , MPROP_NEXTNAME, "Далее")
menu_setprop(menu , MPROP_BACKNAME, "Назад")
menu_setprop(menu , MPROP_EXITNAME, "\rВыход")
menu_setprop(menu , MPROP_EXIT, MEXIT_ALL)
menu_display(id, menu)
}
return PLUGIN_HANDLED
}
// =================================================================================================
public menu_hook(id, menu, key)
{
if(key == MENU_EXIT)
{
menu_destroy(menu)
return PLUGIN_HANDLED
}
new accss, clbck, data[6], name[64], itm
menu_item_getinfo(menu, key, accss, data, 5, name, 63, clbck)
itm = str_to_num(data)
switch(itm)
{
case 1:
{
{
client_cmd(id, "spk MG_hook/mg_item.wav")
give_item(id, "weapon_hegrenade")
give_item(id, "weapon_smokegrenade")
give_item(id, "weapon_flashbang")
ColorChat(id,BLUE,"^3[Hook] ^4Вы взяли комплект гранат: ^3HE, Flash, Smoke")
}
}
case 2:
{
{
client_cmd(id, "spk MG_hook/mg_item.wav")
give_item(id, "weapon_awp")
ColorChat(id,BLUE,"^3[Hook] ^4Вы взяли: ^3AWP - 10")
}
}
case 3:
{
{
client_cmd(id, "spk MG_hook/mg_item.wav")
set_user_gravity(id,0.3)
ColorChat(id,BLUE,"^3[Hook] ^4Вы взяли: ^3Высокий Прыжок")
}
}
case 4:
{
{
HEALTHMenu(id)
}
}
}
return PLUGIN_HANDLED
}
// =================================================================================================
public HEALTHMenu(id)
{
if(get_user_flags(id) & ADMIN_RCON)
{
new menu = menu_create( "\rМеню Жизней", "menu_health" )
new players[32], pnum, tempid
new szName[32], szTempid[10]
cs_get_user_team(id)
get_players(players, pnum)
for(new i; i<pnum; i++)
{
cs_get_user_team(players[i])
tempid = players[i]
if(!is_user_alive(tempid))
{
}
else if(get_user_health(tempid) < 250)
{
get_user_name(tempid, szName, 31)
num_to_str(tempid, szTempid, 9)
menu_additem(menu, szName, szTempid, 0)
}
}
menu_display(id, menu, 0)
}
return PLUGIN_HANDLED
}
public menu_health(id, menu, item)
{
if(item == MENU_EXIT)
{
menu_destroy(menu)
return PLUGIN_HANDLED
}
new data[6], iName[64], playername[33], playername2[33]
new access, callback
menu_item_getinfo(menu, item, access, data,5, iName, 63, callback)
new tempid = str_to_num(data)
cs_get_user_team(tempid)
get_user_name(id, playername, 32)
get_user_name(tempid, playername2, 32)
set_user_health(tempid, 250)
client_cmd(id,"health_menu")
ColorChat(0,BLUE, "^3[Hook] ^4Смотрящий ^3%s ^4дал жизни ^3%s", playername, playername2)
menu_destroy(menu)
return PLUGIN_HANDLED
}
public client_disconnect(id) {
remove_hook(id)
}
public client_putinserver(id) {
remove_hook(id)
}
// =================================================================================================
public give_hook(id,level,cid) {
if(!cmd_access(id,level,cid,3))
return PLUGIN_HANDLED
new name[32]
get_user_name(id,name,32)
new szarg1[32], szarg2[8], bool:mode
read_argv(1,szarg1,32)
read_argv(2,szarg2,32)
if(equal(szarg2,"on"))
mode = true
if(equal(szarg1,"@ALL")) {
for(new i=1;i<=get_maxplayers();i++) {
if(is_user_connected(i) && is_user_alive(i)) {
canusehook[i-1] = mode
if(mode) {
client_print(i,print_chat,"[Hook] Админ %s дал возможность возможность использовать hook",name)
client_print(i,print_chat,"[Hook] Забиндите '+hook' на кнопку")
}
else
client_print(i,print_chat,"[Hook] Админ %s отнял возможность возможность использовать hook",name)
}
}
}
else {
new pid = cmd_target(id,szarg1,2)
if(pid > 0) {
canusehook[pid-1] = mode
if(mode) {
client_print(pid,print_chat,"[Hook] Админ %s дал возможность возможность использовать hook",name)
client_print(pid,print_chat,"[Hook] Забиндите '+hook' на кнопку")
}
else
client_print(pid,print_chat,"[Hook] Админ %s отнял возможность возможность использовать hook",name)
}
}
return PLUGIN_HANDLED
}
// =================================================================================================
public hook_on(id,level,cid)
{
if( get_pcvar_num( Enable ) )
{
if(!canusehook[id-1] && !cmd_access(id,level,cid,1))
return PLUGIN_HANDLED
get_user_origin(id,hookorigin[id-1],3)
if(callfunc_begin("detect_cheat","prokreedz.amxx") == 1) {
callfunc_push_int(id)
callfunc_push_str("Hook")
callfunc_end()
}
ishooked[id-1] = true
emit_sound(id,CHAN_STATIC,"MG_hook/mg_hook.wav",1.0,ATTN_NORM,0,PITCH_NORM)
set_task(0.1,"hook_task",id,"",0,"ab")
hook_task(id)
func_break(id)
if( is_user_alive( id ) && get_pcvar_num( Glow ) )
{
if( is_user_alive( id ) && get_pcvar_num( GlowRandom ) )
{
set_user_rendering(id, kRenderFxGlowShell, random_num( 0,255 ), random_num( 0,255 ), random_num( 0,255 ), kRenderNormal, 16 )
}
else
{
set_user_rendering(id, kRenderFxGlowShell, ( get_pcvar_num( GlowR ) ), ( get_pcvar_num( GlowG ) ), ( get_pcvar_num( GlowB ) ), kRenderNormal, 16 )
}
}
}
else
{
ColorChat(id, RED,"[MG Hook] ^4Функция отключена!")
}
if( get_pcvar_num( Fade ) )
{
if( get_pcvar_num( FadeRandom ) )
{
message_begin(MSG_ONE_UNRELIABLE,get_user_msgid("ScreenFade"),{0,0,0}, id)
write_short( 10<<12 )
write_short( 10<<16 )
write_short( 1<<1 )
write_byte random_num( 0,255 )
write_byte random_num( 0,255 )
write_byte random_num( 0,255 )
write_byte( 255 )
message_end()
}
else
{
message_begin(MSG_ONE_UNRELIABLE,get_user_msgid("ScreenFade"),{0,0,0}, id)
write_short( 10<<12 )
write_short( 10<<16 )
write_short( 1<<1 )
write_byte ( get_pcvar_num( fadeR ) )
write_byte ( get_pcvar_num( fadeG ) )
write_byte ( get_pcvar_num( fadeB ) )
write_byte( 255 )
message_end()
}
}
return PLUGIN_HANDLED
}
// =================================================================================================
public is_hooked(id) {
return ishooked[id-1]
}
// =================================================================================================
public hook_off(id) {
remove_hook(id)
if( is_user_alive( id ) && get_pcvar_num( Glow ) )
{
set_user_rendering(id, kRenderFxGlowShell, random_num( 0,0 ), random_num( 0,0 ), random_num( 0,0 ), kRenderNormal, 16 )
}
if( get_pcvar_num( Fade ) )
{
message_begin(MSG_ONE_UNRELIABLE,get_user_msgid("ScreenFade"),{0,0,0}, id)
write_short( 10<<12 )
write_short( 10<<16 )
write_short( 1<<1 )
write_byte ( 255 )
write_byte ( 255 )
write_byte ( 255 )
write_byte( 255 )
message_end()
}
return PLUGIN_HANDLED
}
// =================================================================================================
public hook_task(id) {
if(!is_user_connected(id) || !is_user_alive(id))
remove_hook(id)
remove_beam(id)
draw_hook(id)
func_trail(id)
func_trail_ct(id)
new origin[3], Float:velocity[3]
get_user_origin(id,origin)
new distance = get_distance(hookorigin[id-1],origin)
new Float:HSpeed = get_pcvar_float(HookSpeed)
if(distance > 25) {
velocity[0] = (hookorigin[id-1][0] - origin[0]) * (2.0 * HSpeed / distance)
velocity[1] = (hookorigin[id-1][1] - origin[1]) * (2.0 * HSpeed / distance)
velocity[2] = (hookorigin[id-1][2] - origin[2]) * (2.0 * HSpeed / distance)
entity_set_vector(id,EV_VEC_velocity,velocity)
}
else {
entity_set_vector(id,EV_VEC_velocity,Float:{0.0,0.0,0.0})
remove_hook(id)
}
}
// =================================================================================================
public draw_hook(id) {
message_begin(MSG_BROADCAST,SVC_TEMPENTITY)
write_byte(1) // TE_BEAMENTPOINT
write_short(id) // entid
write_coord(hookorigin[id-1][0]) // origin
write_coord(hookorigin[id-1][1]) // origin
write_coord(hookorigin[id-1][2]) // origin
if( get_pcvar_num( sprstandart ) ) // sprite index
{
if(get_user_team(id) == 1) {
write_short( Tsprite )
}
else
{
write_short( Tsprite )
}
}
else
{
write_short( STsprite )
}
write_byte( 0 ) // start frame
write_byte( 0 ) // framerate
write_byte( 100 ) // life
write_byte( 20 ) // width
write_byte( 0 ) // noise
if( get_pcvar_num( sprstandart ) )
{
if(get_user_team(id) == 1) { // Террористы
write_byte( 255 ) // красный
write_byte( 255 ) // зеленый
write_byte( 255 ) // синий
}
else
{ // Контры
write_byte( 255 ) // красный
write_byte( 255 ) // зеленый
write_byte( 255 ) // синий
}
}
else
{
if(get_user_team(id) == 1) { // Террористы
write_byte( 255 ) // красный
write_byte( 0 ) // зеленый
write_byte( 0 ) // синий
}
else
{ // Контры
write_byte( 0 ) // красный
write_byte( 0 ) // зеленый
write_byte( 255 ) // синий
}
}
write_byte( 150 ) // brightness
write_byte(0) // Скорость
message_end()
}
// =================================================================================================
public func_break(id)
{
new origin[3]
get_user_origin(id, origin, 3)
message_begin(MSG_BROADCAST, SVC_TEMPENTITY)
write_byte(TE_SPRITE)
write_coord(origin[0])
write_coord(origin[1])
write_coord(origin[2])
write_short(model_gibs)
write_byte(13)
write_byte(255)
message_end()
}
// =================================================================================================
public func_trail(id)
if(cs_get_user_team(id) == CS_TEAM_T)
{
{
{
message_begin (MSG_BROADCAST,SVC_TEMPENTITY)
write_byte (TE_BEAMFOLLOW)
write_short (id)
write_short (gTrail)
write_byte (TRAIL_LIFE)
write_byte (TRAIL_WIDTH)
write_byte (TRAIL_RED)
write_byte (TRAIL_GREEN)
write_byte (TRAIL_BLUE)
write_byte (TRAIL_BRIGTHNESS)
message_end()
}
}
}
public func_trail_ct(id)
if(cs_get_user_team(id) == CS_TEAM_CT)
{
{
{
message_begin (MSG_BROADCAST,SVC_TEMPENTITY)
write_byte (TE_BEAMFOLLOW)
write_short (id)
write_short (gTrail)
write_byte (TRAIL_LIF)
write_byte (TRAIL_WIDT)
write_byte (TRAIL_RE)
write_byte (TRAIL_GREE)
write_byte (TRAIL_BLU)
write_byte (TRAIL_BRIGTHNES)
message_end()
}
}
}
// =================================================================================================
public remove_hook(id) {
if(task_exists(id))
remove_task(id)
remove_beam(id)
ishooked[id-1] = false
}
// =================================================================================================
public remove_beam(id) {
message_begin(MSG_BROADCAST,SVC_TEMPENTITY)
write_byte(99) // TE_KILLBEAM
write_short(id)
message_end()
}
Хук для Админов , флаги раставлены в исходнике
В этой теме было размещено решение! Перейти к решению.