Сделал отладку... не доходит до Pressedmenu_ ... нигде... Понятия не имею что может быть не так... меню вроде не трогал...
- Код: Выделить всё
#include <amxmodx>
#include <amxmisc>
#include <cstrike>
#include <engine>
#include <hamsandwich>
#include <fun>
#include <fakemeta>
#include <dhudmessage>
#include <sqlx>
#include <AWM>
#define DAMAGE_RECIEVED
#define ADMIN_ACCESS ADMIN_BAN // Флаг випа
#define VIP_ACCESS ADMIN_LEVEL_H // Флаг админа
#define REGENERATION_DELAY 1.0 // Время до регенерации
#define REGENERATION_STEP 1 // Насколько увеличивать HP
#define REGENERATION_MAX 100 // Максимальное кол-во HP
#define Keysmenu_server (1<<0)|(1<<1)|(1<<2)|(1<<3)|(1<<4)|(1<<5)|(1<<6)|(1<<7)|(1<<8)|(1<<9) //Меню сервера
#define Keysmenu_anime (1<<0)|(1<<1)|(1<<2)|(1<<3)|(1<<4)|(1<<5)|(1<<9) //Аниме модели админов
#define Keysmenu_main (1<<0)|(1<<1)|(1<<2)|(1<<3)|(1<<9) //Главное меню моделей
#define Keysmenu_vip (1<<0)|(1<<1)|(1<<9) //Вип-модели
#define Keysmenu_girl (1<<0)|(1<<1)|(1<<9) //Модели девушек
#define Keysmenu_admin (1<<0)|(1<<1)|(1<<9) //Модели админов
#define Keysmenu_def (1<<0)|(1<<1)|(1<<9) //Обычные модели админов
#define Keysmenu_vipmenu (1<<0)|(1<<1)|(1<<2)|(1<<3)|(1<<9)//Вип-меню
#define Keysmenu_adminmenu (1<<0)|(1<<1)|(1<<2)|(1<<3)|(1<<4)|(1<<5)|(1<<9)//Админ-меню
#define Keysmenu_bind (1<<7)|(1<<9) //Бинд-меню
#define Keysmenu_knife (1<<0)|(1<<1)|(1<<2)|(1<<3)|(1<<4)|(1<<9) //Способность ножа
#define Keysmenu_coinshop (1<<0)|(1<<1)|(1<<2)|(1<<3)|(1<<4)|(1<<5)|(1<<6)|(1<<7)|(1<<8)|(1<<9) //Магазин
#define Keysmenu_goldweaponshop (1<<0)|(1<<1)|(1<<2)|(1<<3)|(1<<4)|(1<<5)|(1<<6)|(1<<7)|(1<<8)|(1<<9) //Магазин золотого оружия
#define SQL_host "==="
#define SQL_user "==="
#define SQL_pass "==="
#define SQL_dbase "==="
enum sql_type
{
SQL_GET_WEAPONS,
SQL_BUY_AK47,
SQL_BUY_M4A1,
SQL_BUY_AWP,
SQL_BUY_DEAGLE,
SQL_BUY_KNIFE,
SQL_BUY_SCOUT
}
enum sql_data
{
sql_t,
sql_id,
sql_userid,
sql_money
}
enum _:TEAM_MODEL
{
TEAM_M,
MODEL
};
enum _:GOLD_WEAPONS
{
AK47,
AWP,
M4A1,
KNIFE,
SCOUT,
DEAGLE
};
new g_Client[] = "!g[!tArKaNaWorld!g]!t"; // Префикс плагина в чате
new g_LogPrefix[] = "[ArKaNaWorld]" //Префикс плагина в консоли сервера
new DeadMsg[] = "!tВы !gмертвы!t! Для использования данной функции вы должны быть !gживы!t!"
new footsteps[33][2];
new heal[33];
new respawn_m[33];
new TeamModel[33][TEAM_MODEL];
new szTwoJump[33]
new szTwoJumpNum[33]
new szDoTwoJump[33]
new KnifeId[33]
new already[] = "!tЭта способность !gуже выбрана!t!"
new kills[33]
new kombo[33]
new triple[33]
new DoubleDamage[33]
new GoldWeapon[33][GOLD_WEAPONS]
new GoldWeapons[33][GOLD_WEAPONS]
new Handle:SQL_Tuple
public plugin_init() {
register_plugin("ArKaNaWorld Mod", "0.5", "ArKaNeMaN")
SQL_Tuple = SQL_MakeDbTuple(SQL_host, SQL_user, SQL_pass, SQL_dbase)
register_concmd("menu", "ServerMenu")
register_concmd("say /menu", "ServerMenu")
register_concmd("models","MainModelMenu")
register_concmd("say /models", "MainModelMenu")
register_concmd("say /vipweapon", "showWeaponMenu");
register_concmd("say_team /vipweapon", "showWeaponMenu");
register_concmd("vipweapon", "showWeaponMenu");
register_concmd("say /knife", "knife_menu")
register_concmd("say_team /knife", "knife_menu")
register_concmd("knife", "knife_menu")
register_concmd("shop", "ShowCoinShop")
register_concmd("say /shop", "ShowCoinShop")
register_concmd("say_team /shop", "ShowCoinShop")
register_concmd("knifes", "knife_menu")
register_concmd("say /respawn", "RespawnMoney");
register_concmd("team_say /respawn", "RespawnMoney");
register_concmd("respawn", "RespawnMoney");
register_concmd("vipweapon", "showWeaponMenu");
register_concmd("bindmenu", "Bind_menu")
register_concmd("say /bind", "Bind_menu")
register_clcmd("say /resetscore", "reset_score")
register_clcmd("say /rs", "reset_score")
register_clcmd("say_team /rs", "reset_score")
register_clcmd("rs", "reset_score")
register_clcmd("resetscore", "reset_score")
register_concmd("animemodels", "AnimeModelMenu", ADMIN_BAN)
register_concmd("girlmodels", "GirlModelMenu", ADMIN_RESERVATION)
register_concmd("vipmodels", "VipModelMenu", ADMIN_LEVEL_H)
register_concmd("adminmodels", "AdminModelMenu", ADMIN_BAN)
register_concmd("defmodels", "DefModelMenu", ADMIN_BAN)
register_concmd("adminmenu", "ShowAdminMenu", ADMIN_ACCESS)
RegisterHam(Ham_Spawn, "player", "player_respawn")
register_event("TeamInfo", "TestModel", "a", "2=TERRORIST" , "2=CT");
register_event("HLTV", "reset", "a", "1=0");
RegisterHam(Ham_Item_Deploy, "weapon_knife", "SetKnife", 1)
RegisterHam(Ham_Item_Holster, "weapon_knife", "KnifeSet", 1)
RegisterHam(Ham_TakeDamage, "player", "EventDamage", 0)
RegisterHam(Ham_TakeDamage, "player", "TakeDamage", .Post = true)
RegisterHam(Ham_Killed, "player", "KilledPost", .Post = true)
RegisterHam(Ham_Player_Jump, "player", "PreTwoJump")
register_forward(FM_EmitSound, "EmitSound")
register_event("DeathMsg", "kill", "a", "1>0")
RegisterHam(Ham_Item_Deploy, "weapon_ak47", "AK47_Deploy", 1)
RegisterHam(Ham_Item_Deploy, "weapon_deagle", "DEAGLE_Deploy", 1)
RegisterHam(Ham_Item_Deploy, "weapon_m4a1", "M4A1_Deploy", 1)
RegisterHam(Ham_Item_Deploy, "weapon_scout", "SCOUT_Deploy", 1)
RegisterHam(Ham_Item_Deploy, "weapon_knife", "KNIFE_Deploy", 1)
RegisterHam(Ham_Item_Deploy, "weapon_awp", "AWP_Deploy", 1)
register_menucmd(register_menuid("menu_adminmenu"), Keysmenu_adminmenu, "Pressedmenu_adminmenu")
register_menucmd(register_menuid("menu_server"), Keysmenu_server, "Pressedmenu_server")
register_menucmd(register_menuid("menu_anime"), Keysmenu_anime, "Pressedmenu_anime")
register_menucmd(register_menuid("menu_adminmodels"), Keysmenu_admin, "Pressedmenu_admin")
register_menucmd(register_menuid("menu_vipmodels"), Keysmenu_vip, "Pressedmenu_vip")
register_menucmd(register_menuid("menu_def"), Keysmenu_def, "Pressedmenu_def")
register_menucmd(register_menuid("menu_girl"), Keysmenu_girl, "Pressedmenu_girl")
register_menucmd(register_menuid("menu_main"), Keysmenu_main, "Pressedmenu_main")
register_menucmd(register_menuid("menu_vipmenu"), Keysmenu_vipmenu, "Pressedmenu_vipmenu");
register_menucmd(register_menuid("menu_bind"), Keysmenu_bind, "Pressedmenu_bind")
register_menucmd(register_menuid("menu_knife"), Keysmenu_knife, "Pressedmenu_knife")
register_menucmd(register_menuid("menu_coinshop"), Keysmenu_coinshop, "Pressedmenu_coinshop")
register_menucmd(register_menuid("Menu_goldweaponshop"), Keysmenu_goldweaponshop, "Pressedmenu_goldweaponshop")
return PLUGIN_CONTINUE
}
public plugin_precache() {
precache_model("models/player/MikuCTadmin/MikuCTadmin.mdl")
precache_model("models/player/MikuTadmin/MikuTadmin.mdl")
precache_model("models/player/sinonCT/sinonCT.mdl")
precache_model("models/player/sinonT/sinonT.mdl")
precache_model("models/player/BlackSisterT/BlackSisterT.mdl")
precache_model("models/modeli/ak47/v_ak47_gold.mdl")
precache_model("models/modeli/ak47/w_ak47_gold.mdl")
precache_model("models/modeli/ak47/p_ak47_gold.mdl")
precache_model("models/player/BlackSisterCT/BlackSisterCT.mdl")
precache_model("models/player/blackrockshoterT/blackrockshoterT.mdl")
precache_model("models/player/blackrockshoterCT/blackrockshoterCT.mdl")
precache_model("models/player/nikobelicT/nikobelicT.mdl")
precache_model("models/player/smithCT/smithCT.mdl")
precache_model("models/player/isabelleT/isabelleT.mdl")
precache_model("models/player/adminCTclassic/adminCTclassic.mdl")
precache_model("models/player/adminTclassic/adminTclassic.mdl")
precache_model("models/player/swagTadmin/swagTadmin.mdl")
precache_model("models/player/swagCTadmin/swagCTadmin.mdl")
precache_model("models/player/blackeliteCT/blackeliteCT.mdl")
precache_model("models/player/GreenHeartCT/GreenHeartCT.mdl")
precache_model("models/player/PurpleHeartT/PurpleHeartT.mdl")
precache_model("models/player/gign/gign.mdl")
precache_model("models/player/leet/leet.mdl")
precache_sound( "arkanaworld/monsterkill.wav")
precache_sound( "arkanaworld/headshot.wav")
precache_sound( "arkanaworld/triplekill.wav")
return PLUGIN_CONTINUE
}
public client_authorized(id){
if(is_user_bot(id)) return PLUGIN_HANDLED;
static name[64], qname[charsmax(name)*2]
get_user_name(id, name, charsmax(name))
SQL_QuoteString(Empty_Handle, qname, charsmax(qname), name)
static data[sql_data];
data[sql_t] = SQL_GET_WEAPONS;
data[sql_id] = id;
data[sql_userid] = get_user_userid(id)
static query[255]; formatex(query, charsmax(query), "SELECT `ak47_gold`,`m4a1_gold`,`awp_gold`,`deagle_gold`,`knife_gold`,`scout_gold` FROM `AWM_Shop` WHERE (`name`= 'ArKaNeMaN') LIMIT 1", qname)
SQL_ThreadQuery(SQL_Tuple, "sql_handler", query, data, sql_data)
if(is_user_bot(id)){
return PLUGIN_HANDLED;
}
if(get_user_flags(id) & ADMIN_ACCESS){
if(get_user_flags(id) & ADMIN_RCON){
log_amx("%s Owner %s connected to server.", g_LogPrefix, name);
print_color_chat(0, "%s !g[!tГл.Админ!g]!g %s !tзашёл на сервер!", g_Client, name)
}
else{
log_amx("%s Admin %s connected to server.", g_LogPrefix, name);
print_color_chat(0, "%s !g[!tАдмин!g]!g %s !tзашёл на сервер!", g_Client, name);
}
}
if(get_user_flags(id) & VIP_ACCESS){
if(get_user_flags(id) & ADMIN_ACCESS){}
else{
log_amx("%s Vip %s connected to server.", g_LogPrefix, name);
print_color_chat(0, "%s !g[!tVIP!g] !g%s !tзашёл на сервер!", g_Client, name)
}
}
kills[id] = 0
KnifeId[id] = 5
footsteps[id][0] = 0;
respawn_m[id] = 0;
heal[id] = 0;
kombo[id] = 0;
triple[id] = 0;
TeamModel[id][TEAM_M] = 0;
set_task(1.0,"HUDInfo",id+333, _,_,"b");
set_task(1.0,"TestModel",id+999, _,_,"b")
TeamModel[id][MODEL] = 0
GoldWeapons[id][AK47] = 0
GoldWeapons[id][DEAGLE] = 0
GoldWeapons[id][M4A1] = 0
GoldWeapons[id][AWP] = 0
GoldWeapons[id][SCOUT] = 0
GoldWeapons[id][KNIFE] = 0
return PLUGIN_CONTINUE
}
#if AMXX_VERSION_NUM < 183
public client_disconnect(id)
#else
public client_disconnected(id)
#endif
{
static name[64]
get_user_name(id, name, charsmax(name))
if(is_user_bot(id)){
return PLUGIN_HANDLED;}
if(get_user_flags(id) & ADMIN_ACCESS){
if(get_user_flags(id) & ADMIN_RCON){
print_color_chat(0, "%s !g[!tГл.Админ!g] !g%s !tвышел с сервера!", g_Client, name)
log_amx("%s Owner %s disconnect from server.", g_LogPrefix, name);
}
else{
log_amx("%s Admin %s disconnect from server.", g_LogPrefix, name);
print_color_chat(0, "%s !g[!tАдмин!g] !g%s !tвышел с сервера!", g_Client, name);
}
}
if(get_user_flags(id) & VIP_ACCESS){
if(!(get_user_flags(id) & ADMIN_ACCESS)){
log_amx("%s Vip %s disconnect from server.", g_LogPrefix, name);
print_color_chat(0, "%s !g[!tVIP!g] !g%s !вышел с сервера!", g_Client, name)
}
}
kills[id] = 0
footsteps[id][0] = 0;
respawn_m[id] = 0;
heal[id] = 0;
TeamModel[id][TEAM_M] = 0;
remove_task(id+333)
remove_task(id+999)
TeamModel[id][MODEL] = 0
GoldWeapons[id][AK47] = 0
GoldWeapons[id][DEAGLE] = 0
GoldWeapons[id][M4A1] = 0
GoldWeapons[id][AWP] = 0
GoldWeapons[id][SCOUT] = 0
GoldWeapons[id][KNIFE] = 0
return PLUGIN_CONTINUE;
}
public sql_handler(failstate, Handle:h, error[], errnum, data[], size, Float:queuetime){
if(failstate == TQUERY_SUCCESS)
{
static id; id = data[sql_id]
static userid; userid = data[sql_userid]
switch (data[sql_t])
{
case SQL_GET_WEAPONS:
{
if (get_user_userid(id) == userid) // если игрок не вышел после запроса
{
if (SQL_MoreResults(h))
{
static ak47; ak47 = SQL_ReadResult(h, 0)
static m4a1; m4a1 = SQL_ReadResult(h, 1)
static awp; awp = SQL_ReadResult(h, 2)
static knife; knife = SQL_ReadResult(h, 4)
static deagle; deagle = SQL_ReadResult(h, 3)
static scout; scout = SQL_ReadResult(h, 5)
GoldWeapon[id][AK47] = ak47
GoldWeapon[id][M4A1] = m4a1
GoldWeapon[id][AWP] = awp
GoldWeapon[id][KNIFE] = knife
GoldWeapon[id][DEAGLE] = deagle
GoldWeapon[id][SCOUT] = scout
}
}
}
case SQL_BUY_AK47:
{
if (get_user_userid(id) == userid) // если игрок не вышел после запроса
{
if (SQL_AffectedRows(h))
{
}
}
}
case SQL_BUY_M4A1:
{
if (get_user_userid(id) == userid) // если игрок не вышел после запроса
{
if (SQL_AffectedRows(h))
{
}
}
}
case SQL_BUY_AWP:
{
if (get_user_userid(id) == userid) // если игрок не вышел после запроса
{
if (SQL_AffectedRows(h))
{
}
}
}
case SQL_BUY_DEAGLE:
{
if (get_user_userid(id) == userid) // если игрок не вышел после запроса
{
if (SQL_AffectedRows(h))
{
}
}
}
case SQL_BUY_KNIFE:
{
if (get_user_userid(id) == userid) // если игрок не вышел после запроса
{
if (SQL_AffectedRows(h))
{
}
}
}
case SQL_BUY_SCOUT:
{
if (get_user_userid(id) == userid) // если игрок не вышел после запроса
{
if (SQL_AffectedRows(h))
{
}
}
}
}
}
else log_amx("sql error: %d (%s)", errnum, error)
}
public reset_score(id){
cs_set_user_deaths(id, 0)
set_user_frags(id, 0)
cs_set_user_deaths(id, 0)
set_user_frags(id, 0)
new name[33]
get_user_name(id, name, 32)
print_color_chat(0, "%s !tИгрок !g%s !tобнулил свой счёт.", g_Client, name)
print_color_chat(id, "%s !tСчёт успешно обновлён.", g_Client)
}
public HUDInfo(id){
id -=333
new Knife_n[128]
switch(KnifeId[id]){
case 0: Knife_n = "Все эффекты";
case 1: Knife_n = "Двойной прыжок";
case 2: Knife_n = "Двойной урон";
case 3: Knife_n = "Повышенная скорость";
case 4: Knife_n = "Пониженная гравитация";
case 5: Knife_n = "Регенерация HP";
}
new Steps_n[128]
switch(footsteps[id][0]){
case 0: Steps_n = "Вкл";
case 1: Steps_n = "Выкл"
}
new Team_n[128];
switch(TeamModel[id][TEAM_M]){
case 0: Team_n = "";
case 1: Team_n = "CT";
case 2: Team_n = "T"
}
new Model_n[128];
switch(TeamModel[id][MODEL]){
case 0: Model_n = "Нету";
case 1: Model_n = "Hatsune Miku";
case 2: Model_n = "Sinon";
case 3: Model_n = "BlackRockShoter";
case 4: Model_n = "Isabelle";
case 5: Model_n = "Black Elite";
case 6: Model_n = "Агент Смит";
case 7: Model_n = "Niko Belic";
case 8: Model_n = "SWAG";
case 9: Model_n = "ClassicAdmin";
case 10: Model_n = "BlackSister";
case 11: Model_n = "PurpleHeart";
case 12: Model_n = "GreenHeart"
}
new Coins[33]
Coins[id] = money_get(id)
new hud[1024]
format(hud, 1024, "Выбранный скин: %s %s^nЗвук шагов: %s^nСпособность ножа: %s^nКоины: %d", Model_n, Team_n, Steps_n, Knife_n, Coins[id]);
set_hudmessage(255, 255, 255, 0.0, 0.25, 0, 6.0, 999.0, 1.0, 999.0, -1);
show_hudmessage(id, hud);
new hud2[1024]
format(hud2, 1024, "ArKaNaWorld CS1.6^n83.222.115.202:28317^nvk.com/arkanaworld");
set_hudmessage(0, 0, 255, -1.0, 0.0, 0, 6.0, 999.0, 1.0, 999.0, -1);
show_hudmessage(id, hud2);
return PLUGIN_CONTINUE;
}
public Bind_menu(id) {
new menu[2048]
new case7[128] = "\y[\w8\y]\w Забиндить"
new case9[128] = "\y[\w0\y]\w Выход"
format(menu, 2048, "\r[\yArKaNaWorld\r] \wБинд-меню:^n^n Забиндить кнопки для нашего сервера:^nH - Админменю; J - Модели ножей^nV - Голосовой чат; Z - Выбор модели персонажа^nX - Випменю; C - Способности ножа^nP - Меню сервера; K - Админ-Оружейка^n Alt - Паутинка; Колесо мыши - Граб^n%s^n^n%s", case7, case9)
show_menu(id, Keysmenu_bind, menu, -1, "menu_bind")
return PLUGIN_CONTINUE
}
public Pressedmenu_bind(id, key) {
switch (key) {
case 7: { // 8
client_cmd(id, "bind mouse3 +grab");
client_cmd(id, "bind z models");
client_cmd(id, "bind x vipweapon");
client_cmd(id, "bind v +voicerecord");
client_cmd(id, "bind k weaponmenu");
client_cmd(id, "bind h adminmenu");
client_cmd(id, "bind c knife");
client_cmd(id, "bind j sknife");
client_cmd(id, "bind p menu");
if(get_user_flags(id) & ADMIN_LEVEL_E){
client_cmd(id, "bind alt +pt");
}
if(get_user_flags(id) & ADMIN_BAN){
client_cmd(id, "bind alt +hook");
}
new name[32]
get_user_name(id, name, 31)
log_amx("%s Player %s used bind.", g_LogPrefix, name);
return PLUGIN_CONTINUE
}
case 9: { // 0
return PLUGIN_HANDLED;
}
}
return PLUGIN_HANDLED;
}
public kill() {
new i_Killer = read_data(1)
new head = read_data(3)
new kname[32]
get_user_name(i_Killer,kname,31)
new id = i_Killer
kills[id]++
kombo[id]++
if(kombo[id] == 1){
triple[id] = 1
set_task(5.0, "reset_kombo", id+456)
}
if(head == 1){
emit_sound(id, 0, "arkanaworld/headshot.wav", 1.0, 1.0, 0, 255)
return PLUGIN_HANDLED;
}
if((kills[id] == 3) & (triple[id] == 0)){
emit_sound(id, 0, "arkanaworld/monsterkill.wav", 1.0, 1.0, 0, 255)
return PLUGIN_HANDLED;
}
if(kombo[id] == 3){
emit_sound(id, 0, "arkanaworld/triplekill.wav", 1.0, 1.0, 0, 255)
log_amx("%s Player %s did TRIPLEKILL.", g_LogPrefix, kname)
}
if(kills[id] >= 3){
print_color_chat(0, "%s !tИгрок !g%s !tсовершил серию из !g%s !tубийств!", g_Client, kname, kills[id])
return PLUGIN_CONTINUE;
}
return PLUGIN_CONTINUE
}
public reset_kombo(id){
id -=456
kombo[id] = 0
triple[id] = 0
}
public RespawnMoney(id){
if(!is_user_alive(id)){
static CsTeams:userTeam; userTeam = cs_get_user_team(id)
if (userTeam == CS_TEAM_SPECTATOR || userTeam == CS_TEAM_UNASSIGNED){
print_color_chat(id, "%s !tНельзя возродиться за !gнаблюдателей!t!",g_Client)
}
else{
if(money_get(id) >= 30){
money_spend(id, 30)
ExecuteHam(Ham_CS_RoundRespawn, id);
set_user_armor(id, 100);
set_user_godmode(id, 1);
set_task(5.0,"respawn", id);
static name[64]; get_user_name(id, name, charsmax(name));
log_amx("%s Player %s respawn for money.", g_LogPrefix, name);
print_color_chat(0, "%s !tИгрок !g%s !tвоскресился за !g30 коинов!t!", g_Client, name);
}
else{
print_color_chat(id, "%s !tУ вас !gнедостаточно !tкоинов.", g_Client)
}
}
}
else print_color_chat(id, "%s !tВы и так !gживы!t!", g_Client)
return PLUGIN_HANDLED;
}
public Pressedmenu_knife(id, key){
new name[32]
get_user_name(id, name, 31)
log_amx("Ololo knife obr")
switch(key)
{
case 0:
{
if(get_user_flags(id) & ADMIN_ACCESS){
if(KnifeId[id] == 0){
print_color_chat(id, "%s %s", g_Client, already)
}
else{
KnifeId[id] = 0;
print_color_chat(id, "%s !tСпособность: !gВсе эффекты!t.", g_Client)
log_amx("%s Admin %s get knife (All effects).", g_LogPrefix, name);
}
}
else{
print_color_chat(id, "%s !tЭта способность только для !gАдминов!t!", g_Client)
}
}
case 1:
{
if(get_user_flags(id) & VIP_ACCESS)
{
if(KnifeId[id] == 1){
print_color_chat(id, "%s %s", g_Client, already)
}
else{
KnifeId[id] = 1;
print_color_chat(id, "%s !tСпособность: !gДвойной прыжок!t.", g_Client)
log_amx("%s Vip %s get knife (Double jump).", g_LogPrefix, name);
}
}
else{
print_color_chat(id, "%s !tЭта способность только для !gВипов!t!", g_Client)
}
}
case 2:
{
if(KnifeId[id] == 2){
print_color_chat(id, "%s %s", g_Client, already)
}
else{
KnifeId[id] = 2;
print_color_chat(id, "%s !tСпособность ножа: !gДвойной урон!t.", g_Client)
log_amx("%s Player %s get knife (Double damage).", g_LogPrefix, name);
}
}
case 3:
{
if(KnifeId[id] == 3){
print_color_chat(id, "%s %s", g_Client, already)
}
else{
KnifeId[id] = 3;
print_color_chat(id, "%s !tСпособность ножа: !gПовышенная скорость!t.", g_Client)
log_amx("%s Player %s get knife (Speed boost).", g_LogPrefix, name);
}
}
case 4:
{
if(KnifeId[id] == 4){
print_color_chat(id, "%s %s", g_Client, already)
}
else{
KnifeId[id] = 4;
print_color_chat(id, "%s !tСпособность ножа: !gВысокий прыжок!t.", g_Client)
log_amx("%s Player %s get knife (Jump boost).", g_LogPrefix, name);
}
}
case 5:
{
if(KnifeId[id] == 5){
print_color_chat(id, "%s %s", g_Client, already)
}
else{
KnifeId[id] = 5;
print_color_chat(id, "%s !tСпособность ножа: !gРегенерация HP!t.", g_Client)
log_amx("%s Player %s get knife (Regeneration HP).", g_LogPrefix, name);
}
}
}
return PLUGIN_HANDLED
}
public SetKnife(weapon){
new id = get_pdata_cbase(weapon, 41, 4)
if(!is_user_connected(id))
return PLUGIN_CONTINUE
if(KnifeId[id] == 0)
{
set_user_maxspeed(id, 400.0)
set_pdata_float(weapon, 58, 400.0)
set_pev(id, pev_gravity, 0.6)
szTwoJump[id] = true
}
if(KnifeId[id] == 1)
{
set_user_maxspeed(id, 250.0)
set_pdata_float(weapon, 58, 250.0)
set_pev(id, pev_gravity, 1.0)
szTwoJump[id] = true
}
if(KnifeId[id] == 2)
{
set_user_maxspeed(id, 220.0)
set_pdata_float(weapon, 58, 220.0)
set_pev(id, pev_gravity, 1.0)
szTwoJump[id] = false
}
if(KnifeId[id] == 3)
{
set_user_maxspeed(id, 380.0)
set_pdata_float(weapon, 58, 380.0)
set_pev(id, pev_gravity, 1.0)
szTwoJump[id] = false
}
if(KnifeId[id] == 4)
{
set_user_maxspeed(id, 250.0)
set_pdata_float(weapon, 58, 250.0)
set_pev(id, pev_gravity, 0.7)
szTwoJump[id] = false
}
if(KnifeId[id] == 5)
{
set_user_maxspeed(id, 250.0)
set_pdata_float(weapon, 58, 250.0)
set_pev(id, pev_gravity, 1.0)
szTwoJump[id] = false
}
return PLUGIN_HANDLED
}
public KnifeSet(ent){
set_pev(get_pdata_cbase(ent, 41, 4), pev_gravity, 1.0)
}
public TakeDamage(id){
if(is_user_alive(id))
{
if (!task_exists(id))
set_task(REGENERATION_DELAY, "StartRegeneration" , id, _, _, "b")
}
}
public KilledPost(id){
remove_task(id)
}
public StartRegeneration(id){
static Float:g_iHealthPoint; pev(id, pev_health, g_iHealthPoint);
if (g_iHealthPoint >= REGENERATION_MAX)
{
remove_task(id);
return PLUGIN_HANDLED;
}
if(get_user_weapon(id) == CSW_KNIFE && (KnifeId[id] == 0 || KnifeId[id] == 5))
{
set_pev(id, pev_health, g_iHealthPoint + REGENERATION_STEP);
}
return PLUGIN_CONTINUE;
}
public EventDamage(victim, inflicator, attacker, Float:damage){
if(!is_user_connected(attacker))
return PLUGIN_HANDLED;
if(victim == attacker || !victim)
return PLUGIN_HANDLED;
if(get_user_team(attacker) != get_user_team (victim) && attacker != victim && get_user_weapon(attacker) == CSW_KNIFE && (KnifeId[attacker] == 0 || KnifeId[attacker] == 2))
SetHamParamFloat(4, damage * 2.0);
if(get_user_team(attacker) != get_user_team (victim) && attacker != victim && (DoubleDamage[attacker] == 1))
SetHamParamFloat(4, damage * 2.0)
if(get_user_team(attacker) != get_user_team (victim) && attacker != victim && (GoldWeapons[attacker][AK47] == 1) && get_user_weapon(attacker) == CSW_AK47)
SetHamParamFloat(4, damage * 1.6)
if(get_user_team(attacker) != get_user_team (victim) && attacker != victim && (GoldWeapons[attacker][M4A1] == 1) && get_user_weapon(attacker) == CSW_M4A1)
SetHamParamFloat(4, damage * 1.6)
if(get_user_team(attacker) != get_user_team (victim) && attacker != victim && (GoldWeapons[attacker][AWP] == 1) && get_user_weapon(attacker) == CSW_AWP)
SetHamParamFloat(4, damage * 1.4)
if(get_user_team(attacker) != get_user_team (victim) && attacker != victim && (GoldWeapons[attacker][SCOUT] == 1) && get_user_weapon(attacker) == CSW_SCOUT)
SetHamParamFloat(4, damage * 1.5)
if(get_user_team(attacker) != get_user_team (victim) && attacker != victim && (GoldWeapons[attacker][KNIFE] == 1) && get_user_weapon(attacker) == CSW_KNIFE)
SetHamParamFloat(4, damage * 1.5)
if(get_user_team(attacker) != get_user_team (victim) && attacker != victim && (GoldWeapons[attacker][DEAGLE] == 1) && get_user_weapon(attacker) == CSW_DEAGLE)
SetHamParamFloat(4, damage * 1.7)
return PLUGIN_HANDLED;
}
public PreTwoJump(id){
if(szTwoJump[id] && get_user_weapon(id) == CSW_KNIFE)
{
new szButton = pev(id, pev_button)
new szOldButton = pev(id, pev_oldbuttons)
if((szButton & IN_JUMP) && !(pev(id, pev_flags) & FL_ONGROUND) && !(szOldButton & IN_JUMP))
{
if(szTwoJumpNum[id] < 1)
{
szDoTwoJump[id] = true
szTwoJumpNum[id]++
PostTwoJump(id)
return PLUGIN_CONTINUE
}
}
if((szButton & IN_JUMP) && (pev(id, pev_flags) & FL_ONGROUND))
{
szTwoJumpNum[id] = 0
}
}
return PLUGIN_CONTINUE
}
public PostTwoJump(id){
if(szTwoJump[id])
{
if(!is_user_alive(id))
return PLUGIN_CONTINUE
if(szDoTwoJump[id])
{
new Float:szVelocity[3]
pev(id, pev_velocity, szVelocity)
szVelocity[2] = random_float(295.0,305.0)
set_pev(id, pev_velocity, szVelocity)
szDoTwoJump[id] = false
return PLUGIN_CONTINUE
}
}
return PLUGIN_CONTINUE
}
public knife_menu(id){
new case0[128]
new case1[128]
if(get_user_flags(id) & ADMIN_ACCESS){
case0 = "\y[\w1\y] \wВсе способности\d \r[\yАдмин\r]^n"
}
else{
case0 = "\y[\d1\y] \dВсе способности [Админ]^n"
}
if(get_user_flags(id) & VIP_ACCESS){
case1 = "\y[\w2\y] \wДвойной прыжок \r[\yV.I.P\r]^n"
}
else{
case1 = "\y[\d2\y] \dДвойной прыжок [V.I.P]^n"
}
new case2[] = "\y[\w3\y] \wДвойной урон\d^n";
new case3[] = "\y[\w4\y] \wУскорение\d^n";
new case4[] = "\y[\w5\y] \wВысокий прыжок^n";
new case5[] = "\y[\w6\y] \wРегенерация HP^n^n";
new case8[] = "\y[\w9\y] \wВыход^n";
new menu[2048]
format(menu, 2048, "\y[\dArKaNaWorld\y] \wСпособности ножей^n^n%s%s%s%s%s%s%s", case0, case1, case2, case3, case4, case5, case8)
show_menu(id, Keysmenu_knife, menu, -1, "menu_knife")
log_amx("Ololo knifes Open")
return PLUGIN_HANDLED
}
public showWeaponMenu(id){
if(get_user_flags(id) & VIP_ACCESS){
new menu[192]
format(menu, 192, "\wVIPMenu \r[\wArKaNaVIP\r]^n^n\y[\w1\y]\w AK47^n\y[\w2\y]\w M4A1^n\y[\w3\y]\w AWP^n\y[\w4\y]\w SSG^n^n\y[\w9\y]\w Выход")
show_menu(id, Keysmenu_vipmenu, menu, -1, "menu_vipmenu")
log_amx("Ololo vip Open")
}
else{
print_color_chat(id, "%s !tЭто меню только для !gВипов!t!", g_Client)
return PLUGIN_HANDLED
}
return PLUGIN_CONTINUE
}
public Pressedmenu_vipmenu(id, key){
log_amx("Ololo vip obr")
new name[32]
get_user_name(id, name, 31)
switch (key) {
case 0: { // 1
give_item(id, "weapon_ak47")
cs_set_user_bpammo( id , CSW_AK47, 90 )
log_amx("%s Vip %s get weapon (AK47).", g_LogPrefix, name);
}
case 1: { // 2
give_item(id, "weapon_m4a1")
cs_set_user_bpammo( id , CSW_M4A1, 90 )
log_amx("%s Vip %s get weapon (M4A1).", g_LogPrefix, name);
}
case 2: { // 3
give_item(id, "weapon_awp")
cs_set_user_bpammo( id , CSW_AWP, 90 )
log_amx("%s Vip %s get weapon (AWP).", g_LogPrefix, name);
}
case 3: { // 4
give_item(id, "weapon_scout")
cs_set_user_bpammo( id , CSW_SCOUT, 90 )
log_amx("%s Vip %s get weapon (Scout).", g_LogPrefix, name);
}
case 9: { // 0
return PLUGIN_HANDLED;
}
}
return PLUGIN_HANDLED;
}
public player_respawn(id){
if(get_user_flags(id) & VIP_ACCESS){
give_item(id, "weapon_deagle")
cs_set_user_bpammo( id , CSW_DEAGLE, 90 )
give_item(id, "weapon_hegrenade")
give_item(id, "weapon_flashbang")
give_item(id, "weapon_flashbang")
give_item(id, "weapon_smokegrenade")
give_item(id, "item_assaultsuit")
}
return PLUGIN_CONTINUE
}
public reset(){
arrayset(respawn_m, 0, 33);
arrayset(heal, 0, 33);
arrayset(kills, 0, 33);
arrayset(DoubleDamage, 0, 33)
return PLUGIN_CONTINUE;
}
public respawn(id) {
if (is_user_connected(id)) set_user_godmode(id);
return PLUGIN_CONTINUE;
}
public ShowAdminMenu(id) {
if (get_user_flags(id) & ADMIN_ACCESS){
new hil[32];
switch(heal[id]){
case 0: hil="\r[\w3\r]";
case 1: hil="\r[\w2\r]";
case 2: hil="\r[\w1\r]";
case 3: hil="\d[0]";
}
new voz[32];
switch(respawn_m[id]){
case 0: voz="\r[\w3\r]";
case 1: voz="\r[\w2\r]";
case 2: voz="\r[\w1\r]";
case 3: voz="\d[0]";
}
new menu[1024]
format(menu, 1024, "\wАдмин-меню \r[\wArKaNaWorld\r]^n^n\y[\w1\y]\w Noclip^n\y[\w2\y]\w Тихие шаги^n\y[\w3\y]\w Возрождение %s^n\y[\w4\y]\w Деньги: $16000 ^n\y[\w5\y]\w Гранаты^n\y[\w6\y]\w HP и Броня %s^n^n\r\y[\w0\y]\w Выход", voz, hil)
show_menu(id, Keysmenu_adminmenu, menu, -1, "menu_adminmenu")
log_amx("Ololo admin Open")
}
else{
print_color_chat(id, "%s !tЭто меню только для !gАдминов!t!",g_Client);
return PLUGIN_HANDLED;
}
return PLUGIN_CONTINUE;
}
public Pressedmenu_adminmenu(id, key) {
log_amx("Ololo admin obr")
new team[32], name[32];
get_user_team(id,team,32);
get_user_name(id,name,32);
switch (key) {
case 0: { // 1
if(is_user_alive(id))
{
new ghost = get_user_noclip(id);
if( ghost == 0 ) {
print_color_chat(id, "%s !tNpclip !gON",g_Client)
set_user_noclip(id, 1);
log_amx("%s Admin %s noclip ON.", g_LogPrefix, name);
}else {
print_color_chat(id, "%s !tNoclip !gOFF",g_Client)
set_user_noclip(id, 0);
log_amx("%s Admin %s noclip OFF.", g_LogPrefix, name);
}
log_amx("%s admin noclip", g_Client)
}
else{
print_color_chat(id, "%s %s",g_Client, DeadMsg)
return PLUGIN_HANDLED;
}
}
case 1: { // 2
if(footsteps[id][0] == 0){
set_user_footsteps(id, 1);
print_color_chat(id, "%s !tВы !gотключили !tзвук своих шагов.",g_Client)
footsteps[id][0] = 1;
log_amx("%s Admin %s Steps OFF.", g_LogPrefix, name);
}
else{
set_user_footsteps(id, 0);
print_color_chat(id, "%s !tВы !gвключили !tзвук своих шагов.",g_Client)
footsteps[id][0] = 0;
log_amx("%s Admin %s Steps ON.", g_LogPrefix, name);
}
}
case 2: { // 3
if(respawn_m[id] < 3){
new CsTeams:userTeam = cs_get_user_team(id)
if (userTeam == CS_TEAM_SPECTATOR){
print_color_chat(id, "%s !tНельзя возродиться за !gнаблюдателей!t!",g_Client)
return PLUGIN_HANDLED;
}
else{
ExecuteHam(Ham_CS_RoundRespawn, id);
if(respawn_m[id] == 2){
print_color_chat(0, "%s !tАдмин !g%s !tиспользовал своё !gпоследнее !tвозрождение в !gэтом раунде!t!", g_Client, name)
}
respawn_m[id] += 1;
set_user_armor(id, 100);
set_user_godmode(id, 1);
set_task(5.0,"respawn", id);
print_color_chat(id, "%s !tВозрождение прошло !gуспешно!t!",g_Client)
log_amx("%s Admin %s respawn.", g_LogPrefix, name);
}
}
else{
print_color_chat(id, "%s !tВ !gэтом раунде !tвы использовали все !gвозрождения!t!", g_Client)
return PLUGIN_HANDLED;
}
}
case 3: { // 4
new money = cs_get_user_money(id);
if(money < 10000){
cs_set_user_money(id, 10000);
print_color_chat(id, "%s !tВам начисленно!g 10000$!t!",g_Client)
log_amx("%s Admin %s get money (10000$).", g_LogPrefix, name);
}
else{
print_color_chat(id, "%s !gНеудача!t! У вас уже есть!g 16000$!t!",g_Client)
return PLUGIN_HANDLED;
}
}
case 4: { // 5
if(is_user_alive(id)){
give_item(id, "weapon_hegrenade")
give_item(id, "weapon_flashbang")
give_item(id, "weapon_flashbang")
give_item(id, "weapon_smokegrenade")
set_user_armor(id, 100)
print_color_chat(id, "%s !tГранаты доставлены !gПочтой России!t! Приятного испоользования!",g_Client)
}
else{
print_color_chat(id, "%s %s",g_Client, DeadMsg)
log_amx("%s Admin %s get grenades.", g_LogPrefix, name);
return PLUGIN_HANDLED;
}
}
case 5: { // 6
if(heal[id] < 3){
if(is_user_alive(id)){
set_user_armor(id, 200)
set_user_health(id, 200)
if(heal[id] == 2){
print_color_chat(0, "%s !tАдмин !g%s !tиспользовал свою !gпоследнюю !tхилку в !gэтом раунде!t!", g_Client, name)
}
heal[id] += 1;
print_color_chat(id, "%s !gУспешно !tдобавленны !gжизни !tи !gброня!t!", g_Client)
log_amx("%s Admin %s use heal.", g_LogPrefix, name);
}
else{
print_color_chat(id, "%s %s",g_Client, DeadMsg)
return PLUGIN_HANDLED;
}
}
else{
print_color_chat(id, "%s !tВ !gэтом раунде !tвы использовали все !gхилки!t!", g_Client)
return PLUGIN_HANDLED;
}
}
case 9: { // 0
return PLUGIN_HANDLED;
}
}
return PLUGIN_HANDLED
}
public ShowGoldWeaponShop(id){
new money; money = money_get(id)
new menu[2048]
new case0[1024]
new case1[1024]
new case2[1024]
new case3[1024]
new case4[1024]
new case5[1024]
switch(GoldWeapon[id][AK47]){
case 0: {
case1 = "\y[\w1\y]\w AK47 [Золотое] \y(\w3000\y)"
}
case 1: {
if(GoldWeapons[id][AK47] == 1){
case1 = "\y[\w1\y]\w AK47 [Золотое] \y(\wВкл\y)"
}
else{
case1 = "\y[\w1\y]\w AK47 [Золотое] \y(\wВыкл\y)"
}
}
}
switch(GoldWeapon[id][DEAGLE]){
case 0: {
case1 = "\y[\w1\y]\w Deagle [Золотое] \y(\w2500\y)"
}
case 1: {
if(GoldWeapons[id][DEAGLE] == 1){
case1 = "\y[\w1\y]\w Deagle [Золотое] \y(\wВкл\y)"
}
else{
case1 = "\y[\w1\y]\w Deagle [Золотое] \y(\wВыкл\y)"
}
}
}
switch(GoldWeapon[id][SCOUT]){
case 0: {
case1 = "\y[\w1\y]\w SSG [Золотое] \y(\w3500\y)"
}
case 1: {
if(GoldWeapons[id][SCOUT] == 1){
case1 = "\y[\w1\y]\w SSG [Золотое] \y(\wВкл\y)"
}
else{
case1 = "\y[\w1\y]\w SSG [Золотое] \y(\wВыкл\y)"
}
}
}
switch(GoldWeapon[id][KNIFE]){
case 0: {
case1 = "\y[\w1\y]\w Knife [Золотое] \y(\w2000\y)"
}
case 1: {
if(GoldWeapons[id][KNIFE] == 1){
case1 = "\y[\w1\y]\w Knife [Золотое] \y(\wВкл\y)"
}
else{
case1 = "\y[\w1\y]\w Knife [Золотое] \y(\wВыкл\y)"
}
}
}
switch(GoldWeapon[id][AWP]){
case 0: {
case1 = "\y[\w1\y]\w AWP [Золотое] \y(\w4000\y)"
}
case 1: {
if(GoldWeapons[id][AWP] == 1){
case1 = "\y[\w1\y]\w AWP [Золотое] \y(\wВкл\y)"
}
else{
case1 = "\y[\w1\y]\w AWP [Золотое] \y(\wВыкл\y)"
}
}
}
switch(GoldWeapon[id][M4A1]){
case 0: {
case1 = "\y[\w1\y]\w M4A1 [Золотое] \y(\w3000\y)"
}
case 1: {
if(GoldWeapons[id][M4A1] == 1){
case1 = "\y[\w1\y]\w M4A1 [Золотое] \y(\wВкл\y)"
}
else{
case1 = "\y[\w1\y]\w M4A1 [Золотое] \y(\wВыкл\y)"
}
}
}
new case6[1024] = "\y[\w7\y]\w Пусто"
new case7[1024] = "\y[\w8\y]\w Пусто"
new case8[1024] = "\y[\w9\y]\w Пусто"
new case9[1024] = "\y[\w0\y]\w Выход"
format(menu, 2048, "\r[\yArKaNaWorld\r]^n\wУ вас: \y%d \wкоинов ^n\wМагазин:^n^n%s^n%s^n%s^n%s^n%s^n%s^n%s^n%s^n%s^n^n%s", money, case0, case1, case2, case3, case4, case5, case6, case7, case8, case9)
show_menu(id, Keysmenu_goldweaponshop, menu, -1, "menu_goldweaponshop")
return PLUGIN_CONTINUE
}
public Pressedmenu_goldweaponshop(id, key) {
static name[64], qname[charsmax(name)*2]
get_user_name(id, name, charsmax(name))
new money; money = money_get(id)
static data[sql_data];
switch (key) {
case 0: { // 1
if(GoldWeapon[id][AK47] == 0){
if(money >= 3000){
money_spend(id, 3000)
GoldWeapon[id][AK47] = 1
data[sql_t] = SQL_BUY_AK47;
return PLUGIN_CONTINUE
}
else{
print_color_chat(id, "%s !gНедостаточно !tкоинов.", g_Client)
return PLUGIN_HANDLED
}
}
else{
if(GoldWeapons[id][AK47] == 0){
GoldWeapons[id][AK47] = 1
print_color_chat(id, "%s !tЗолотой !gAK47 !tактивирован.", g_Client)
}
else{
GoldWeapons[id][AK47] = 0
print_color_chat(id, "%s !tЗолотой !gAK47 !tдеактивирован.", g_Client)
}
}
}
case 1: { // 2
if(GoldWeapon[id][DEAGLE] == 0){
if(money >= 2500){
money_spend(id, 2500)
GoldWeapon[id][DEAGLE] = 1
data[sql_t] = SQL_BUY_DEAGLE;
return PLUGIN_CONTINUE
}
else{
print_color_chat(id, "%s !gНедостаточно !tкоинов.", g_Client)
return PLUGIN_HANDLED
}
}
else{
if(GoldWeapons[id][DEAGLE] == 0){
GoldWeapons[id][DEAGLE] = 1
print_color_chat(id, "%s !tЗолотой !gDEAGLE !tактивирован.", g_Client)
}
else{
GoldWeapons[id][DEAGLE] = 0
print_color_chat(id, "%s !tЗолотой !gDEAGLE !tдеактивирован.", g_Client)
}
}
}
case 2: { // 3
if(GoldWeapon[id][SCOUT] == 0){
if(money >= 3500){
money_spend(id, 3500)
GoldWeapon[id][SCOUT] = 1
data[sql_t] = SQL_BUY_SCOUT;
return PLUGIN_CONTINUE
}
else{
print_color_chat(id, "%s !gНедостаточно !tкоинов.", g_Client)
return PLUGIN_HANDLED
}
}
else{
if(GoldWeapons[id][SCOUT] == 0){
GoldWeapons[id][SCOUT] = 1
print_color_chat(id, "%s !tЗолотой !gSCOUT !tактивирован.", g_Client)
}
else{
GoldWeapons[id][SCOUT] = 0
print_color_chat(id, "%s !tЗолотой !gSCOUT !tдеактивирован.", g_Client)
}
}
}
case 3: { // 4
if(GoldWeapon[id][KNIFE] == 0){
if(money >= 2000){
money_spend(id, 2000)
GoldWeapon[id][KNIFE] = 1
data[sql_t] = SQL_BUY_KNIFE;
return PLUGIN_CONTINUE
}
else{
print_color_chat(id, "%s !gНедостаточно !tкоинов.", g_Client)
return PLUGIN_HANDLED
}
}
else{
if(GoldWeapons[id][KNIFE] == 0){
GoldWeapons[id][KNIFE] = 1
print_color_chat(id, "%s !tЗолотой !gKNIFE !tактивирован.", g_Client)
}
else{
GoldWeapons[id][KNIFE] = 0
print_color_chat(id, "%s !tЗолотой !gKNIFE !tдеактивирован.", g_Client)
}
}
}
case 4: { // 5
if(GoldWeapon[id][AWP] == 0){
if(money >= 4000){
money_spend(id, 4000)
GoldWeapon[id][AWP] = 1
data[sql_t] = SQL_BUY_AWP;
return PLUGIN_CONTINUE
}
else{
print_color_chat(id, "%s !gНедостаточно !tкоинов.", g_Client)
return PLUGIN_HANDLED
}
}
else{
if(GoldWeapons[id][AWP] == 0){
GoldWeapons[id][AWP] = 1
print_color_chat(id, "%s !tЗолотой !gAWP !tактивирован.", g_Client)
}
else{
GoldWeapons[id][AWP] = 0
print_color_chat(id, "%s !tЗолотой !gAWP !tдеактивирован.", g_Client)
}
}
}
case 5: { // 6
if(GoldWeapon[id][M4A1] == 0){
if(money >= 3000){
money_spend(id, 3000)
GoldWeapon[id][M4A1] = 1
data[sql_t] = SQL_BUY_M4A1;
return PLUGIN_CONTINUE
}
else{
print_color_chat(id, "%s !gНедостаточно !tкоинов.", g_Client)
return PLUGIN_HANDLED
}
}
else{
if(GoldWeapons[id][M4A1] == 0){
GoldWeapons[id][M4A1] = 1
print_color_chat(id, "%s !tЗолотой !gM4A1 !tактивирован.", g_Client)
}
else{
GoldWeapons[id][M4A1] = 0
print_color_chat(id, "%s !tЗолотой !gM4A1 !tдеактивирован.", g_Client)
}
}
}
case 6: { // 7
}
case 7: { // 8
}
case 8: { // 9
}
case 9: { // 0
return PLUGIN_HANDLED;
}
}
SQL_QuoteString(Empty_Handle, qname, charsmax(qname), name)
data[sql_id] = id;
data[sql_userid] = get_user_userid(id)
static query[255];
switch(data[sql_t]){
case SQL_BUY_AK47: {
formatex(query, charsmax(query), "INSERT INTO `AWM_Shop` (`name`,`ak47_gold`) VALUES ('%s', %d) ON DUPLICATE KEY UPDATE `ak47_gold`=VALUES(`ak47_gold`)", qname, GoldWeapon[id][AK47])
}
case SQL_BUY_M4A1: {
formatex(query, charsmax(query), "INSERT INTO `AWM_Shop` (`name`,`m4a1_gold`) VALUES ('%s', %d) ON DUPLICATE KEY UPDATE `m4a1_gold`=VALUES(`m4a1_gold`)", qname, GoldWeapon[id][M4A1])
}
case SQL_BUY_AWP: {
formatex(query, charsmax(query), "INSERT INTO `AWM_Shop` (`name`,`awp_gold`) VALUES ('%s', %d) ON DUPLICATE KEY UPDATE `awp_gold`=VALUES(`awp_gold`)", qname, GoldWeapon[id][AWP])
}
case SQL_BUY_DEAGLE: {
formatex(query, charsmax(query), "INSERT INTO `AWM_Shop` (`name`,`deagle_gold`) VALUES ('%s', %d) ON DUPLICATE KEY UPDATE `deagle_gold`=VALUES(`deagle_gold`)", qname, GoldWeapon[id][DEAGLE])
}
case SQL_BUY_KNIFE: {
formatex(query, charsmax(query), "INSERT INTO `AWM_Shop` (`name`,`knife_gold`) VALUES ('%s', %d) ON DUPLICATE KEY UPDATE `knife_gold`=VALUES(`knife_gold`)", qname, GoldWeapon[id][KNIFE])
}
case SQL_BUY_SCOUT: {
formatex(query, charsmax(query), "INSERT INTO `AWM_Shop` (`name`,`scout_gold`) VALUES ('%s', %d) ON DUPLICATE KEY UPDATE `scout_gold`=VALUES(`scout_gold`)", qname, GoldWeapon[id][SCOUT])
}
}
SQL_ThreadQuery(SQL_Tuple, "sql_handler", query, data, sql_data)
return PLUGIN_HANDLED;
}
public AK47_Deploy(weapon){
new id = get_pdata_cbase(weapon, 41, 4) //Достаем индекс игрока
if(GoldWeapons[id][AK47]){
entity_set_string(id, EV_SZ_viewmodel, "models/modeli/ak47/v_ak47_gold.mdl")
set_pev(id, pev_viewmodel, engfunc(EngFunc_AllocString, "models/modeli/ak47/v_ak47_gold.mdl"))// Установка v_ модели, которая отображается в руках игрока
set_pev(id, pev_weaponmodel, engfunc(EngFunc_AllocString, "models/modeli/ak47/p_ak47_gold.mdl"))// Установка p_ модели, которая отображается, когда мы смотрим на игрока
}
return HAM_IGNORED //Прекращаем роботу форварда
}
public ShowCoinShop(id){
new money; money = money_get(id)
new menu[2048]
new case0[] = "\y[\w1\y]\w Возрождение (30)"
new case1[] = "\y[\w2\y]\w Аптечка[200HP] (25)"
new case2[] = "\y[\w3\y]\w Двойной урон на раунд (80)"
new case3[] = "\y[\w4\y]\w 16000$ (15)"
new case4[] = "\y[\w5\y]\w Золотое оружие"
new case5[] = "\y[\w6\y]\w Пусто"
new case6[] = "\y[\w7\y]\w Пусто"
new case7[] = "\y[\w8\y]\w Пусто"
new case8[] = "\y[\w9\y]\w Пусто"
new case9[] = "\y[\w0\y]\w Выход"
format(menu, 2048, "\r[\yArKaNaWorld\r]^n\wУ вас: \y%d \wкоинов ^n\wМагазин:^n^n%s^n%s^n%s^n%s^n%s^n%s^n%s^n%s^n%s^n^n%s", money, case0, case1, case2, case3, case4, case5, case6, case7, case8, case9)
show_menu(id, Keysmenu_coinshop, menu, -1, "menu_coinshop")
log_amx("Ololo shop Open")
return PLUGIN_CONTINUE;
}
public Pressedmenu_coinshop(id, key) {
new money; money = money_get(id)
switch (key) {
case 0: { // 1
RespawnMoney(id)
}
case 1: { // 2
if(money >= 25){
money_spend(id, 25)
set_user_health(id, 200)
print_color_chat(id, "%s !tВы купили !gаптечку!t.", g_Client)
return PLUGIN_HANDLED
}
else{
print_color_chat(id, "%s !gНедостаточно !tкоинов.", g_Client)
return PLUGIN_CONTINUE
}
}
case 2: { // 3
if(money >= 80){
money_spend(id, 80)
DoubleDamage[id] = 1
print_color_chat(id, "%s !tВы купили !gдвойной урон!t.", g_Client)
return PLUGIN_HANDLED
}
else{
print_color_chat(id, "%s !gНедостаточно !tкоинов.", g_Client)
return PLUGIN_CONTINUE
}
}
case 3: { // 4
if(money >= 15){
if(money < 16000){
money_spend(id, 15)
print_color_chat(id, "%s !tВы купили !g16000$!t.", g_Client)
cs_set_user_money(id, 16000);
}
else{
print_color_chat(id, "%s !tУ вас уже есть!g 16000$!t!",g_Client)
return PLUGIN_HANDLED;
}
}
else{
print_color_chat(id, "%s !gНедостаточно !tкоинов.", g_Client)
return PLUGIN_CONTINUE
}
}
case 4: { // 5
ShowGoldWeaponShop(id)
}
case 5: { // 6
}
case 6: { // 7
}
case 7: { // 8
}
case 8: { // 9
}
case 9: { // 0
return PLUGIN_HANDLED;
}
}
return PLUGIN_HANDLED;
}
public ServerMenu(id){
new menu[2048]
new case0[] = "\y[\w1\y]\w Выбрать нож"
new case1[] = "\y[\w2\y]\w Выбрать способность ножа"
new case2[] = "\y[\w3\y]\w Выбрать скин персонажа \r[\wVIP\y+\r]"
new case3[] = "\y[\w4\y]\w АДМИН меню \r[\wAdmin\r]"
new case4[] = "\y[\w5\y]\w ВИП меню \r[\wVIP\r]"
new case5[] = "\y[\w6\y]\w AmxModMenu \r[\wAdmin\r]"
new case6[] = "\y[\w7\y]\w Выдача оружия \r[\wAdmin\r]"
new case7[] = "\y[\w8\y]\w Магазин"
new case8[] = "\y[\w9\y]\w Бинды"
new case9[] = "\y[\w0\y]\w Выход"
format(menu, 2048, "\r[\yArKaNaWorld\r] \wМеню сервера:^n^n%s^n%s^n%s^n%s^n%s^n%s^n%s^n%s^n%s^n^n%s", case0, case1, case2, case3, case4, case5, case6, case7, case8, case9)
show_menu(id, Keysmenu_server, menu, -1, "menu_server")
log_amx("Ololo menu Open")
return PLUGIN_CONTINUE
}
public Pressedmenu_server(id, key) {
switch (key) {
case 0: { // 1
client_cmd(id, "sknife")
}
case 1: { // 2
client_cmd(id, "knife")
}
case 2: { // 3
client_cmd(id, "models")
}
case 3: { // 4
client_cmd(id, "adminmenu")
}
case 4: { // 5
client_cmd(id, "vipweapon")
}
case 5: { // 6
client_cmd(id, "amxmodmenu")
}
case 6: { // 7
client_cmd(id, "weaponmenu")
}
case 7: { // 8
client_cmd(id, "shop")
}
case 8: { // 9
client_cmd(id, "bindmenu")
}
case 9: { // 0
return PLUGIN_HANDLED;
}
}
return PLUGIN_HANDLED;
}
public MainModelMenu(id) {
show_menu(id, Keysmenu_main,"Выбор модели:^n^n\y[\w1\y]\w VIP^n\y[\w2\y]\w Девушкам^n\y[\w3\y]\w ADMIN^n\y[\w4\y]\w Сбросить модель^n^n\r\y[\w0\y]\w Выход", -1, "menu_main")
log_amx("Ololo models Open")
return PLUGIN_CONTINUE
}
public DefModelMenu(id) {
if (get_user_flags(id) & ADMIN_BAN){
show_menu(id, Keysmenu_def, "Выбор модели:^n^n\y[\w1\y]\w SWAG^n\y[\w2\y]\w ClassicAdmin^n^n\r\y[\w0\y]\w Выход", -1, "menu_def")
return PLUGIN_CONTINUE
}
else
{
print_color_chat(id, "%s !tДля использования данной команды вам необходима привилегия !gADMIN!t.", g_Client);
return PLUGIN_HANDLED;
}
return PLUGIN_CONTINUE
}
public AdminModelMenu(id) {
log_amx("%s model admin open", g_Client)
if (get_user_flags(id) & ADMIN_BAN)
{
show_menu(id, Keysmenu_admin, "Выбор модели:^n^n\y[\w1\y]\w Обычные^n\y[\w2\y]\w Аниме^n^n\r\y[\w0\y]\w Выход", -1, "menu_adminmodels")
return PLUGIN_CONTINUE
}
else
{
print_color_chat(id, "%s !tДля использования данной команды вам необходима привилегия !gADMIN!t.", g_Client);
return PLUGIN_HANDLED;
}
return PLUGIN_CONTINUE
}
public GirlModelMenu(id) {
if (get_user_flags(id) & ADMIN_RESERVATION)
{
show_menu(id, Keysmenu_girl, "Выбор модели:^n^n\y[\w1\y]\w Isabelle (T)^n\y[\w2\y]\w BlackElite (CT)^n^n\r\y[\w0\y]\w Выход", -1, "menu_girl")
return PLUGIN_CONTINUE
}
else
{
print_color_chat(id,"%s !tДля использования данной команды вам необходима привилегия !gGIRL!t.", g_Client);
return PLUGIN_HANDLED;
}
return PLUGIN_CONTINUE
}
public VipModelMenu(id) {
if (get_user_flags(id) & ADMIN_LEVEL_H)
{
show_menu(id, Keysmenu_vip, "Выбор модели:^n^n\y[\w1\y]\w Агент Смит (CT)^n\y[\w2\y]\w Miko Belic (T)^n^n\r\y[\w0\y]\w Выход", -1, "menu_vipmodels")
return PLUGIN_CONTINUE
}
else
{
print_color_chat(id, "%s!t Для использования данной команды вам необходима привилегия !gVIP!t.", g_Client);
return PLUGIN_HANDLED;
}
return PLUGIN_CONTINUE
}
public AnimeModelMenu(id) {
if (get_user_flags(id) & ADMIN_BAN)
{
show_menu(id, Keysmenu_anime, "Выбор модели:^n^n\y[\w1\y]\w Hatsune Miku^n\y[\w2\y]\w Sinon^n\y[\w3\y]\w BlackRockShoter^n\y[\w4\y]\w BlackSister^n\y[\w5\y]\w PurpleHeart (T)^n\y[\w6\y]\w GreenHeart (CT)^n^n\r\y[\w0\y]\w Выход", -1, "menu_anime")
return PLUGIN_CONTINUE
}
else
{
print_color_chat(id, "%s !tДля использования данной команды вам необходима привилегия !gADMIN!t.", g_Client);
return PLUGIN_HANDLED;
}
return PLUGIN_CONTINUE
}
public TestModel(id) {
if(!(id == 0)){
id -=999
}
new CsTeams:userTeam = cs_get_user_team(id);
switch (userTeam)
{
case CS_TEAM_T:
if (TeamModel[id][TEAM_M] == 1){
new name[32]
get_user_team(id, name, 31)
cs_set_user_model(id, "leet");
print_color_chat(id, "%s !gМодель сброшена !tиз за !gсмены команды!t!", g_Client)
TeamModel[id][TEAM_M] = 0
TeamModel[id][MODEL] = 0
log_amx("%s Player %s reset model because change team.", g_LogPrefix, name);
}
case CS_TEAM_CT:
if (TeamModel[id][TEAM_M] == 2){
new name[32]
get_user_team(id, name, 31)
cs_set_user_model(id, "gign");
print_color_chat(id, "%s !gМодель сброшена !tиз за !gсмены команды!t!", g_Client)
TeamModel[id][TEAM_M] = 0
TeamModel[id][MODEL] = 0
log_amx("%s Player %s reset model because change team.", g_LogPrefix, name);
}
}
return PLUGIN_CONTINUE;
}
public Pressedmenu_main(id, key) {
new name[32]
get_user_name(id, name, 31)
switch (key) {
case 0: { // 1
client_cmd(id, "vipmodels")
}
case 1: { // 2
client_cmd(id, "girlmodels")
}
case 2: { // 3
client_cmd(id, "adminmodels")
}
case 3: { // 4
new CsTeams:userTeam = cs_get_user_team(id)
if(TeamModel[id][TEAM_M] == 0){
print_color_chat(id, "%s !gМодель не установлена! !tЧто ты собрался сбрасывать?!", g_Client)
}
else{
if(userTeam == CS_TEAM_T){
cs_set_user_model(id, "leet")
print_color_chat(id, "%s !gМодель !tуспешно !gсброшена!t!", g_Client)
TeamModel[id][TEAM_M] = 0
TeamModel[id][MODEL] = 0
log_amx("%s Player %s reset model.", g_LogPrefix, name);
}
if(userTeam == CS_TEAM_CT){
cs_set_user_model(id, "gign")
print_color_chat(id, "%s !gМодель !tуспешно !gсброшена!t!", g_Client)
TeamModel[id][TEAM_M] = 0
TeamModel[id][MODEL] = 0
log_amx("%s Player %s reset model.", g_LogPrefix, name);
}
if(userTeam == CS_TEAM_SPECTATOR){
print_color_chat(id, "%s !tЗа !gНаблюдателей !tи так нету !gмодели!t!", g_Client)
TeamModel[id][TEAM_M] = 0
TeamModel[id][MODEL] = 0
}
}
return PLUGIN_CONTINUE;
}
case 9: { // 0
return PLUGIN_HANDLED;
}
}
return PLUGIN_CONTINUE;
}
public Pressedmenu_anime(id, key) {
new name[32]
get_user_name(id, name, 31)
switch (key) {
case 0: { // 1
new CsTeams:userTeam = cs_get_user_team(id)
if (userTeam == CS_TEAM_T) {
cs_set_user_model(id, "MikuTadmin")
print_color_chat(id, "%s !tВы выбрали модель !gHatsune Miku", g_Client)
TeamModel[id][TEAM_M] = 2
TeamModel[id][MODEL] = 1
}
else if(userTeam == CS_TEAM_CT) {
cs_set_user_model(id, "MikuCTadmin")
print_color_chat(id, "%s !tВы выбрали модель !gHatsune Miku", g_Client)
TeamModel[id][TEAM_M] = 1
TeamModel[id][MODEL] = 1
}
log_amx("%s Player %s chose model (Hatsune Miku).", g_LogPrefix, name);
}
case 1: { // 2
new CsTeams:userTeam = cs_get_user_team(id)
if (userTeam == CS_TEAM_T) {
cs_set_user_model(id, "sinonT")
print_color_chat(id, "%s !tВы выбрали модель !gSinon", g_Client)
TeamModel[id][TEAM_M] = 2
TeamModel[id][MODEL] = 2
}
else if(userTeam == CS_TEAM_CT) {
cs_set_user_model(id, "sinonCT")
print_color_chat(id, "%s !tВы выбрали модель !gSinon", g_Client)
TeamModel[id][TEAM_M] = 1
TeamModel[id][MODEL] = 2
}
log_amx("%s Player %s chose model (Sinon).", g_LogPrefix, name);
}
case 2: { // 3
new CsTeams:userTeam = cs_get_user_team(id)
if (userTeam == CS_TEAM_T) {
cs_set_user_model(id, "blackrockshoterT")
print_color_chat(id, "%s !tВы выбрали модель !gBlackRockShoter!t.", g_Client)
TeamModel[id][TEAM_M] = 2
TeamModel[id][MODEL] = 3
}
else if(userTeam == CS_TEAM_CT) {
cs_set_user_model(id, "blackrockshoterCT")
print_color_chat(id, "%s !tВы выбрали модель !gBlackRockShoter!t.", g_Client)
TeamModel[id][TEAM_M] = 1
TeamModel[id][MODEL] = 3
}
log_amx("%s Player %s chose model (Black Rock Shooter).", g_LogPrefix, name);
}
case 3: { // 4
new CsTeams:userTeam = cs_get_user_team(id)
if (userTeam == CS_TEAM_T) {
cs_set_user_model(id, "BlackSisterT")
print_color_chat(id, "%s !tВы выбрали модель !gBlackSister!t.", g_Client)
TeamModel[id][TEAM_M] = 2
TeamModel[id][MODEL] = 10
}
else if(userTeam == CS_TEAM_CT) {
cs_set_user_model(id, "BlackSisterCT")
print_color_chat(id, "%s !tВы выбрали модель !gBlackSister!t.", g_Client)
TeamModel[id][TEAM_M] = 1
TeamModel[id][MODEL] = 10
}
log_amx("%s Player %s chose model (Black Sister).", g_LogPrefix, name);
}
case 4: { // 5
new CsTeams:userTeam = cs_get_user_team(id)
if (userTeam == CS_TEAM_T) {
cs_set_user_model(id, "PurpleHeartT")
print_color_chat(id, "%s !tВы выбрали модель !gPurple Heart!t.", g_Client)
TeamModel[id][TEAM_M] = 2
TeamModel[id][MODEL] = 11
log_amx("%s Player %s chose model (Purple Heart).", g_LogPrefix, name);
}
else if(userTeam == CS_TEAM_CT) {
print_color_chat(id, "%s !tЭта модель только для команды !gТеррористов!t.", g_Client)
client_cmd(id, "aminemodel")
}
}
case 5: { // 6
new CsTeams:userTeam = cs_get_user_team(id)
if (userTeam == CS_TEAM_T) {
print_color_chat(id, "%s !tЭта модель только для команды !gСпецназа!t.", g_Client)
client_cmd(id, "girlmodels")
}
else if(userTeam == CS_TEAM_CT) {
cs_set_user_model(id, "GreenHeartCT")
print_color_chat(id, "%s !tВы выбрали модель !gGreen Heart!t.", g_Client)
TeamModel[id][TEAM_M] = 1
TeamModel[id][MODEL] = 12
log_amx("%s Player %s chose model (Green Heart).", g_LogPrefix, name);
}
}
case 9: { // 0
return PLUGIN_HANDLED;
}
}
return PLUGIN_HANDLED;
}
public Pressedmenu_girl(id, key) {
new name[32]
get_user_name(id, name, 31)
switch (key) {
case 0: { // 1
new CsTeams:userTeam = cs_get_user_team(id)
if (userTeam == CS_TEAM_T) {
cs_set_user_model(id, "isabelleT")
print_color_chat(id, "%s !tВы выбрали модель !gIsabelle!t.", g_Client)
TeamModel[id][TEAM_M] = 2
TeamModel[id][MODEL] = 4
log_amx("%s Player %s chose model (Isabelle).", g_LogPrefix, name);
}
else if(userTeam == CS_TEAM_CT) {
print_color_chat(id, "%s !tЭта модель только для команды !gТеррористов!t.", g_Client)
}
}
case 1: { // 2
new CsTeams:userTeam = cs_get_user_team(id)
if (userTeam == CS_TEAM_T) {
print_color_chat(id, "%s !tЭта модель только для команды !gСпецназа!t.", g_Client)
client_cmd(id, "girlmodels")
}
else if(userTeam == CS_TEAM_CT) {
cs_set_user_model(id, "blackeliteCT")
print_color_chat(id, "%s !tВы выбрали модель !gBlack Elite!t.", g_Client)
TeamModel[id][TEAM_M] = 1
TeamModel[id][MODEL] = 5
log_amx("%s Player %s chose model (Black Elite).", g_LogPrefix, name);
}
}
case 9: { // 0
return PLUGIN_HANDLED;
}
}
return PLUGIN_HANDLED;
}
public Pressedmenu_admin(id, key) {
switch (key) {
case 0: { // 1
client_cmd(id, "defmodels")
}
case 1: { // 2
client_cmd(id, "animemodels")
}
case 9: { // 0
return PLUGIN_HANDLED;
}
}
return PLUGIN_HANDLED;
}
public Pressedmenu_vip(id, key) {
new name[32]
get_user_name(id, name, 31)
switch (key) {
case 0: { // 1
new CsTeams:userTeam = cs_get_user_team(id)
if (userTeam == CS_TEAM_T) {
print_color_chat(id, "%s !tЭта модель только для команды !gСпецназа!t.", g_Client)
client_cmd(id, "vipmodels")
}
else if(userTeam == CS_TEAM_CT) {
cs_set_user_model(id, "smithCT")
print_color_chat(id, "%s !tВы выбрали модель !gАгент Смит!t.", g_Client)
TeamModel[id][TEAM_M] = 1
TeamModel[id][MODEL] = 6
log_amx("%s Player %s chose model (Agent Smith).", g_LogPrefix, name);
}
}
case 1: { // 2
new CsTeams:userTeam = cs_get_user_team(id)
if (userTeam == CS_TEAM_T) {
cs_set_user_model(id, "nikobelicT")
print_color_chat(id, "%s !tВы выбрали модель !gNiko Belic!t.", g_Client)
TeamModel[id][TEAM_M] = 2
TeamModel[id][MODEL] = 7
log_amx("%s Player %s chose model (Niko Belic).", g_LogPrefix, name);
}
else if(userTeam == CS_TEAM_CT) {
print_color_chat(id, "%s !tЭта модель только для команды !gТеррористов!t.", g_Client)
client_cmd(id, "vipmodels")
}
}
case 9: { // 0
return PLUGIN_HANDLED;
}
}
return PLUGIN_HANDLED;
}
public Pressedmenu_def(id, key) {
new name[32]
get_user_name(id, name, 31)
switch (key) {
case 0: { // 1
new CsTeams:userTeam = cs_get_user_team(id)
if (userTeam == CS_TEAM_T) {
cs_set_user_model(id, "swagTadmin")
print_color_chat(id, "%s !tВы выбрали модель !gSWAG!t.", g_Client)
TeamModel[id][TEAM_M] = 2
TeamModel[id][MODEL] = 8
}
else if(userTeam == CS_TEAM_CT) {
cs_set_user_model(id, "swagCTadmin")
print_color_chat(id, "%s !tВы выбрали модель !gSWAG!t.", g_Client)
TeamModel[id][TEAM_M] = 1
TeamModel[id][MODEL] = 8
}
log_amx("%s Player %s chose model (SWAG).", g_LogPrefix, name);
}
case 1: { // 2
new CsTeams:userTeam = cs_get_user_team(id)
if (userTeam == CS_TEAM_T) {
cs_set_user_model(id, "adminTclassic")
print_color_chat(id, "%s !tВы выбрали модель !gClassicAdmin!t.", g_Client)
TeamModel[id][TEAM_M] = 2
TeamModel[id][MODEL] = 9
}
else if(userTeam == CS_TEAM_CT) {
cs_set_user_model(id, "adminCTclassic")
print_color_chat(id, "%s !tВы выбрали модель !gClassicAdmin!t.", g_Client)
TeamModel[id][TEAM_M] = 1
TeamModel[id][MODEL] = 9
}
log_amx("%s Player %s chose model (ClassicAdmin).", g_LogPrefix, name);
}
case 9: { // 0
return PLUGIN_HANDLED;
}
}
return PLUGIN_HANDLED;
}
stock print_color_chat(const index, const input[], any:...) {
#define gmsg_SayText 76
static msg[191];
new count = 1,players[32];
vformat(msg, 190, input, 3);
replace_all(msg,sizeof(msg),"!g","^4");
replace_all(msg,sizeof(msg),"!t","^3");
replace_all(msg,sizeof(msg),"!n","^1");
if(index) players[0] = index; else get_players(players,count,"ch");
for(new i = 0; i < count; i++) {
if(!is_user_connected(players[i])) return;
message_begin(MSG_ONE_UNRELIABLE,gmsg_SayText,_,players[i]);
write_byte(players[i]);
write_string(msg);
message_end();
}
}