new Trie:g_tReplaceInfoMsg;
register_plugin("[ReAPI] Buy items", "1.0", "maFFyoZZyk");
g_tReplaceInfoMsg = TrieCreate();
register_message(get_user_msgid("TextMsg"), "MessageTextMsg");
RegisterHookChain(RG_ShowVGUIMenu, "BuyShowVGUIMenu", false);
public BuyShowVGUIMenu(const id, VGUIMenu:menuType, const bitsSlots, szOldMenu[])
new TeamName:team = get_member(id, m_iTeam);
if(menuType == VGUI_Menu_Buy)
SetHookChainArg(3, ATYPE_INTEGER, MENU_KEY_0 | MENU_KEY_1 | MENU_KEY_2 | MENU_KEY_3 | MENU_KEY_4 | MENU_KEY_5 | MENU_KEY_8);
SetHookChainArg(4, ATYPE_STRING, "\yЗакуп:^n^n\r1. \wПистолеты^n\r2. \wДробовики^n\r3. \wАвтоматы^n\r4. \wВинтовки^n\r5. \wПулеметы^n^n\r8. \yЭкипировка^n^n^n\r0. \wВыход");
else if(menuType == VGUI_Menu_Buy_Pistol)
SetHookChainArg(3, ATYPE_INTEGER, MENU_KEY_0 | MENU_KEY_1 | MENU_KEY_2 | MENU_KEY_3 | MENU_KEY_4 | MENU_KEY_5);
if(team == TEAM_TERRORIST) SetHookChainArg(4, ATYPE_STRING, "\yПистолеты:^n^n\r1. \wGlock^n\r2. \wUsp^n\r3. \wP228^n\r4. \wDeagle^n\r5. \yElites^n^n^n\r0. \wВыход");
if(team == TEAM_CT) SetHookChainArg(4, ATYPE_STRING, "\yПистолеты:^n^n\r1. \wGlock^n\r2. \wUsp^n\r3. \wP228^n\r4. \wDeagle^n\r5. \yFiveseven^n^n^n\r0. \wВыход");
else if(menuType == VGUI_Menu_Buy_ShotGun)
SetHookChainArg(3, ATYPE_INTEGER, MENU_KEY_0 | MENU_KEY_1 | MENU_KEY_2);
SetHookChainArg(4, ATYPE_STRING, "\yДробовики:^n^n\r1. \wM3^n\r2. \wXm1014^n^n^n\r0. \wВыход");
else if(menuType == VGUI_Menu_Buy_SubMachineGun)
SetHookChainArg(3, ATYPE_INTEGER, MENU_KEY_0 | MENU_KEY_1 | MENU_KEY_2 | MENU_KEY_3 | MENU_KEY_4);
if(team == TEAM_TERRORIST) SetHookChainArg(4, ATYPE_STRING, "\yАвтоматы:^n^n\r1. \wMac-10^n\r2. \wMp5^n\r3. \wUmp5^n\r4. \wP90^n^n^n\r0. \wВыход");
if(team == TEAM_CT) SetHookChainArg(4, ATYPE_STRING, "\yАвтоматы:^n^n\r1. \wTmp^n\r2. \wMp5^n\r3. \wUmp5^n\r4. \wP90^n^n^n\r0. \wВыход");
else if(menuType == VGUI_Menu_Buy_Rifle)
SetHookChainArg(3, ATYPE_INTEGER, MENU_KEY_0 | MENU_KEY_1 | MENU_KEY_2 | MENU_KEY_3 | MENU_KEY_4 | MENU_KEY_5 | MENU_KEY_6);
if(team == TEAM_TERRORIST) SetHookChainArg(4, ATYPE_STRING, "\yВинтовки:^n^n\r1. \wGalil^n\r2. \wAk-47^n\r3. \wScout^n\r4. \wSG550^n\r5. \wAwp^n\r6. \wD3/AU1^n^n^n\r0. \wВыход");
if(team == TEAM_CT) SetHookChainArg(4, ATYPE_STRING, "\yВинтовки:^n^n\r1. \wFamas^n\r2. \wScout^n\r3. \wM4A1^n\r4. \wAUG^n\r5. \wKrieg550^n\r6. \wAwp^n^n^n\r0. \wВыход");
else if(menuType == VGUI_Menu_Buy_MachineGun)
SetHookChainArg(3, ATYPE_INTEGER, MENU_KEY_0 | MENU_KEY_1);
SetHookChainArg(4, ATYPE_STRING, "\yПулеметы:^n^n\r1. \wM249^n^n^n\r0. \wВыход");
else if(menuType == VGUI_Menu_Buy_Item)
if(team == TEAM_TERRORIST)
SetHookChainArg(3, ATYPE_INTEGER, MENU_KEY_0 | MENU_KEY_1 | MENU_KEY_2 | MENU_KEY_3 | MENU_KEY_4 | MENU_KEY_5 | MENU_KEY_6);
SetHookChainArg(4, ATYPE_STRING, "\yЭкипировка:^n^n\r1. \wБронь^n\r2. \wБронь+Шлем^n\r3. \wFlash^n\r4. \wHe^n\r5. \wSmoke^n\r6. \wNightvision^n^n^n\r0. \wВыход");
SetHookChainArg(3, ATYPE_INTEGER, MENU_KEY_0 | MENU_KEY_1 | MENU_KEY_2 | MENU_KEY_3 | MENU_KEY_4 | MENU_KEY_5 | MENU_KEY_6 | MENU_KEY_7 | MENU_KEY_8);
SetHookChainArg(4, ATYPE_STRING, "\yЭкипировка:^n^n\r1. \wБронь^n\r2. \wБронь+Шлем^n\r3. \wFlash^n\r4. \wHe^n\r5. \wSmoke^n\r6. \wNightvision^n\r7. \wDefusial^n\r8. \wЩит^n^n^n\r0. \wВыход");
TrieSetString(g_tReplaceInfoMsg, "#C4_Arming_Cancelled", "Бомба может быть установлена только в зоне установки бомбы");
TrieSetString(g_tReplaceInfoMsg, "#C4_Plant_Must_Be_On_Ground", "Для установки бобмы Вы должны находиться на земле");
TrieSetString(g_tReplaceInfoMsg, "#Defusing_Bomb_With_Defuse_Kit", "Обезвреживание бомбы с набором сапёра");
TrieSetString(g_tReplaceInfoMsg, "#Defusing_Bomb_Without_Defuse_Kit", "Обезвреживание бомбы без набора сапёра");
TrieSetString(g_tReplaceInfoMsg, "#Weapon_Cannot_Be_Dropped", "Нельзя выбросить данное оружие");
TrieSetString(g_tReplaceInfoMsg, "#C4_Plant_At_Bomb_Spot", "Бомба может быть установлена только в зоне установки бомбы");
TrieSetString(g_tReplaceInfoMsg, "#Cannot_Carry_Anymore", "Вы не можете взять больше");
TrieSetString(g_tReplaceInfoMsg, "#Already_Have_Kevlar", "У вас уже имеется бронежилет");
TrieSetString(g_tReplaceInfoMsg, "#Already_Have_Kevlar_Helmet", "У вас уже имеется бронежилет и шлем");
TrieSetString(g_tReplaceInfoMsg, "#Switch_To_BurstFire", "Переключен в режим пулеметного огня");
TrieSetString(g_tReplaceInfoMsg, "#Switch_To_FullAuto", "Переключен в автоматический режим");
TrieSetString(g_tReplaceInfoMsg, "#Switch_To_SemiAuto", "Переключен в полуавтоматический режим");
TrieSetString(g_tReplaceInfoMsg, "#Already_Own_Weapon", "У вас уже имеется данное оружие");
TrieSetString(g_tReplaceInfoMsg, "#Command_Not_Available", "Данное действие недоступно в Вашем местонахождении");
TrieSetString(g_tReplaceInfoMsg, "#Got_bomb", "Вы подобрали бомбу");
TrieSetString(g_tReplaceInfoMsg, "#Game_bomb_pickup", "%s подобрал бомбу");
TrieSetString(g_tReplaceInfoMsg, "#Game_bomb_drop", "%s выбросил бомбу");
TrieSetString(g_tReplaceInfoMsg, "#Cant_buy", "%s секунд уже истекли.^rПокупка оружия запрещена");
TrieSetString(g_tReplaceInfoMsg, "#Not_Enough_Money", "У вас не достаточно денег");
TrieSetString(g_tReplaceInfoMsg, "#Alias_Not_Avail", "Вашей команде недоступна покупка «%s».");
public MessageTextMsg() {
new szMsg[192], szArg3[32];
get_msg_arg_string(2, szMsg, charsmax(szMsg));
//log_amx("Сообщение %s", szMsg);
if(TrieGetString(g_tReplaceInfoMsg, szMsg, szMsg, charsmax(szMsg))) {
get_msg_arg_string(3, szArg3, charsmax(szArg3));
replace(szMsg, charsmax(szMsg), "%s", szArg3);
set_msg_arg_string(2, szMsg);
TrieDestroy(g_tReplaceInfoMsg);