Не открывается меню сервера

Статус
В этой теме нельзя размещать новые ответы.

IXY

Сообщения
103
Реакции
9
Ошибка
Ошибок нет, но меню не открывается.
ОС
Linux
Amx Mod X
AMX Mod X 1.9.0.5294 (http://www.amxmodx.org)
Authors:
David "BAILOPAN" Anderson, Pavol "PM OnoTo" Marko
Felix "SniperBeamer" Geyer, Jonny "Got His Gun" Bergstrom
Lukasz "SidLuke" Wlasinski, Christian "Basic-Master" Hammacher
Borja "faluco" Ferrer, Scott "DS" Ehlert
Compiled: Dec 3 2021 15:54:56
Built from: https://github.com/alliedmodders/amxmodx/commit/363871a
Build ID: 5294:363871a
Core mode: JIT+ASM32
Билд
Protocol version 48
Exe version 1.1.2.7/Stdio (cstrike)
ReHLDS version: 3.11.0.779-dev
Build date: 17:33:11 Aug 24 2022 (3056)
Build from: https://github.com/dreamstalker/rehlds/commit/d76b06d
ReGamedll
ReGameDLL version: 5.21.0.556-dev
Build date: 08:43:58 Jul 22 2022
Build from: https://github.com/s1lentq/ReGameDLL_CS/commit/1081301
Версия Metamod
Metamod-r v1.3.0.128, API (5:13)
Metamod-r build: 17:47:54 Aug 24 2018
Metamod-r from: https://github.com/theAsmodai/metamod-r/commit/0cf2f70
Список метамодулей
[ 1] SafeNameAndChat       RUN   -    SafeNameAndChat.so         v1.1         ini  ANY   ANY
[ 2] Reunion RUN - reunion_mm_i386.so v0.1.92d ini Start Never
[ 3] ReAuthCheck RUN - reauthcheck_mm_i386.so v0.1.6 ini Start Never
[ 4] VoiceTranscoder RUN - VoiceTranscoder.so v2017RC5 ini ANY ANY
[ 5] Ultimate Unprecacher RUN - unprecacher_i386.so vBeta 2.5.3 ini Chlvl Chlvl
[ 6] AMX Mod X RUN - amxmodx_mm_i386.so v1.9.0.5294 ini Start ANY
[ 7] WHBlocker RUN - whblocker_mm_i386.so v1.5.697 ini Chlvl ANY
[ 8] ReSRDetector RUN - resrdetector_mm_i386.so v0.1.0 ini Chlvl ANY
[ 9] ReSemiclip RUN - resemiclip_mm_i386.so v2.3.9 ini Chlvl ANY
[10] Rechecker RUN - rechecker_mm_i386.so v2.7 ini Chlvl ANY
[11] Print Center Fix RUN - printcenterfix_mm_i386.so v2.0.1 ini ANY ANY
[12] HitBox Fix RUN - hitbox_fix_mm_i386.so v1.0.10 ini Start ANY
[13] CStrike RUN - cstrike_amxx_i386.so v1.9.0.5294 pl6 ANY ANY
[14] FakeMeta RUN - fakemeta_amxx_i386.so v1.9.0.5294 pl6 ANY ANY
[15] Ham Sandwich RUN - hamsandwich_amxx_i386.so v1.9.0.5294 pl6 ANY ANY
[16] Engine RUN - engine_amxx_i386.so v1.9.0.5294 pl6 ANY ANY
[17] Fun RUN - fun_amxx_i386.so v1.9.0.5294 pl6 ANY ANY
17 plugins, 17 running
Список плагинов
Currently loaded plugins:
name version author file status
[ 1] Menus Front-End 1.9.0.5294 AMXX Dev Team menufront.amxx running
[ 2] [CS] Player Models API 1.2 WiLS cs_player_model running
[ 3] Map Manager RU 1.2.2 Mistrick mapmanager_ru.a running
[ 4] unknown unknown unknown test_ak47g.amxx running
[ 5] unknown unknown unknown test_aklg.amxx running
[ 6] unknown unknown unknown test_aklong.amx running
[ 7] unknown unknown unknown test_awpg.amxx running
[ 8] BazookaAdvanced 1.3 Major Victory test_bazooka.am running
[ 9] unknown unknown unknown test_dispenser. running
[ 10] unknown unknown unknown test_donate.amx running
[ 11] unknown unknown unknown test_f2000.amxx running
[ 12] unknown unknown unknown test_hk416.amxx running
[ 13] unknown unknown unknown test_k1ase.amxx running
[ 14] unknown unknown unknown test_laserfence running
[ 15] unknown unknown unknown test_lasermine. running
[ 16] unknown unknown unknown test_m4a1g.amxx running
[ 17] unknown unknown unknown test_m134.amxx running
[ 18] unknown unknown unknown test_mg36xmas.a running
[ 19] unknown unknown unknown test_mines.amxx running
[ 20] unknown unknown unknown test_money.amxx running
[ 21] unknown unknown unknown test_mp7a1.amxx running
[ 22] unknown unknown unknown test_priveleges running
[ 23] unknown unknown unknown test_scar.amxx running
[ 24] Sentry guns 0.5.3 JGHG & GlobalMod test_sentryguns running
[ 25] unknown unknown unknown test_stuck.amxx running
[ 26] unknown unknown unknown test_timevote.a running
[ 27] unknown unknown unknown test_vsk94.amxx running
[ 28] unknown unknown unknown test_watergun.a running
[ 29] unknown unknown unknown test_xm8.amxx running
29 plugins, 29 running
Автор плагина
Автор не указан
Версия плагина
Версия не указана
Исходный код
#include <amxmodx>
#include <amxmisc>
#include <fakemeta>
#include <hamsandwich>
#include <cstrike>
#include <engine>
#include dm_chat

#define SND_MENU "buttons/button9.wav"

const KEYSMENU = MENU_KEY_1|MENU_KEY_2|MENU_KEY_3|MENU_KEY_4|MENU_KEY_5|MENU_KEY_6|MENU_KEY_7|MENU_KEY_8|MENU_KEY_9|MENU_KEY_0
new const MAXBPAMMO[] = { -1, 52, -1, 90, 1, 32, 1, 100, 90, 1, 120, 100, 100, 90, 90, 90, 100, 120,
30, 120, 200, 32, 90, 120, 90, 2, 35, 90, 90, -1, 100 }
new const MAXCLIP[] = { -1, 13, -1, 10, -1, 7, -1, 30, 30, -1, 30, 20, 25, 30, 35, 25, 12, 20,
10, 30, 100, 8, 30, 30, 20, -1, 7, 30, 30, -1, 50 }

native dm_money_get_discount(id)
native dm_get_user_money(id)
native dm_set_user_money(id, set)

native privilege_get(id)
//native get_user_hero(id)
native get_warmup()

native m134_give(id)
native vsk94_give(id)
native b_give(id)
native hk416_give(id)
native m4a1g_give(id)
native ak47g_give(id)
native awpg_give(id)

native aklong_give(id)
native xm8_give(id)
native f2000_give(id)
native mp7a1_give(id)
native scar_give(id)
native k1ase_give(id)
native watergun_give(id)
native mg36xmas_give(id)

native lm_start_placing(id)
native d_start_placing(id)
native sg_start_placing(id)
native donate_show(id)
native check_stuck(id)
native open_mines_menu(id)

new g_iPrice[44]
new g_menu_type[33]
new Float:g_fSpeed[33]
new bool:g_bMusic[33]
new bool:g_bAmmo[33]
new bool:g_bMultijump[33]
new bool:jumpnum[33]
new bool:dojump[33]

public plugin_precache()
{
precache_sound(SND_MENU)
}

public plugin_cfg()
{
new file[128]; get_localinfo("amxx_configsdir",file,63)
format(file, 127, "%s/test_cvars/shop.cfg", file)
if(file_exists(file)) server_cmd("exec %s", file), server_exec()
}

public plugin_init()
{
RegisterHam(Ham_Killed, "player", "ham_killed_post", 1)



register_menu("Main Server Menu", KEYSMENU, "menu_server")
register_clcmd("chooseteam", "clcmd_changeteam")
register_clcmd("jointeam", "clcmd_changeteam")
register_clcmd("say /menu", "clcmd_changeteam")

register_menu("Shop Menu", KEYSMENU, "menu_shop")
register_clcmd("radio3", "clcmd_radio_three")
register_clcmd("say /menu2", "clcmd_radio_three")

register_menu("Shoping Menu", KEYSMENU, "menu_shop2")

register_forward(FM_PlayerPreThink, "fw_PlayerPreThink")

register_message(get_user_msgid("CurWeapon"), "message_cur_weapon")

new buffer[32]
for (new i=1; i < 44; i++)
{
formatex(buffer, 31, "shop_price_%d", i)
g_iPrice[i]=register_cvar(buffer,"100")
}
}

//public plugin_natives()
//{
// register_native("give_hero_things", "native_hero_give", 1)
// register_native("get_music", "get_music", 1)
//}

public ham_killed_post(id)
{
g_fSpeed[id]=0.0
g_bAmmo[id]=false
g_bMultijump[id]=false
}

public client_connect(id)
{
g_fSpeed[id]=0.0
g_bAmmo[id]=false
g_bMultijump[id]=false

g_bMusic[id]=true
}

public clcmd_changeteam(id)
{
static team
team = fm_cs_get_user_team(id)

if (team == 3 || team == 0) return PLUGIN_CONTINUE

menu_main_open(id)
client_cmd(id, "spk ^"%s^"", SND_MENU)
return PLUGIN_HANDLED;
}

public clcmd_radio_three(id)
{
shop_main_open(id)
return PLUGIN_HANDLED
}

stock fm_cs_get_user_team(id)
{
if (pev_valid(id) != 2) return 0

return get_pdata_int(id, 114, 5)
}

public menu_main_open(id)
{
if(!is_user_alive(id))
{
colored_print(id, "!tМертвым меню не доступно!")
return
}

//if(get_user_hero(id))
//{
// colored_print(id, "!tГерою меню не доступно!")
// return
//}

if(get_warmup())
{
colored_print(id, "!tВо время разминки магазин закрыт")
return
}

static menu[512], len
len = 0

len += formatex(menu[len], charsmax(menu) - len, "\r[\yDM\r]\w Меню сервера^n^n")

len += formatex(menu[len], charsmax(menu) - len, "\r[\y1\r]\w Поставить пушку \r(\y3000$\r)^n")
len += formatex(menu[len], charsmax(menu) - len, "\r[\y2\r]\w Поставить раздатчик \r(\y4000$\r)^n")
len += formatex(menu[len], charsmax(menu) - len, "\r[\y3\r]\w Поставить лазер \r(\y800$\r)^n")
len += formatex(menu[len], charsmax(menu) - len, "\r[\y4\r]\w Передать деньги^n")
len += formatex(menu[len], charsmax(menu) - len, "\r[\y5\r]\w Застрял?^n")
len += formatex(menu[len], charsmax(menu) - len, "\r[\y6\r]\w Меню мин^n")
len += formatex(menu[len], charsmax(menu) - len, "\r[\y7\r]\w Прокачка персонажа^n")
len += formatex(menu[len], charsmax(menu) - len, "\r[\y8\r]\w Номинировать карту^n")
len += formatex(menu[len], charsmax(menu) - len, "\r[\y9\r]\w Музыка \r[\y%s\r]^n", g_bMusic[id]?"ВКЛ":"ВЫКЛ")

len += formatex(menu[len], charsmax(menu) - len, "^n\r[\y0\r]\w Выход")

show_menu(id, KEYSMENU, menu, -1, "Main Server Menu")
}

public shop_main_open(id)
{
if(!is_user_alive(id))
{
colored_print(id, "!tМертвым меню не доступно!")
return
}

//if(get_user_hero(id))
//{
// colored_print(id, "!tГерою меню не доступно!")
// return
//}

if(get_warmup())
{
colored_print(id, "!tВо время разминки магазин закрыт")
return
}

new Float:Health
pev(id, pev_health, Health)
new Float:Armor
pev(id, pev_armorvalue, Armor)
new Float:Gravity
pev(id, pev_gravity, Gravity)
new Float:RAMT
pev(id, pev_renderamt, RAMT)

static menu[512], len
len = 0

len += formatex(menu[len], charsmax(menu) - len, "\r[\yDM\r]\w Прокачка персонажа^n")
len += formatex(menu[len], charsmax(menu) - len, "\r[\yDM\r]\w Скидка:\y %d%%^n^n", dm_money_get_discount(id))

len += formatex(menu[len], charsmax(menu) - len, "\r[\y1\r]\w Меню оружия^n")
len += formatex(menu[len], charsmax(menu) - len, "\r[\y2\r]\w Меню предметов^n")
len += formatex(menu[len], charsmax(menu) - len, "\r[\y3\r]\w Меню здоровья^n")
len += formatex(menu[len], charsmax(menu) - len, "\r[\y4\r]\w Меню брони^n")
len += formatex(menu[len], charsmax(menu) - len, Gravity==0.5?"\r[\y5\r]\d Меню гравитации \y(MAX)^n":"\r[\y5\r]\w Меню гравитации^n")
len += formatex(menu[len], charsmax(menu) - len, RAMT==50.0?"\r[\y6\r]\d Меню невидимости \y(MAX)^n":"\r[\y6\r]\w Меню невидимости^n")
len += formatex(menu[len], charsmax(menu) - len, g_fSpeed[id]==420.0?"\r[\y7\r]\d Меню скорости \y(MAX)^n":"\r[\y7\r]\w Меню скорости^n")
len += formatex(menu[len], charsmax(menu) - len, "\r[\y8\r]\w Премиум оружие \r[\yVIP\d | \yADM\r]^n^n")

len += formatex(menu[len], charsmax(menu) - len, "^n\r[\y9\r]\w Назад")
len += formatex(menu[len], charsmax(menu) - len, "^n\r[\y0\r]\w Выход")

show_menu(id, KEYSMENU, menu, -1, "Shop Menu")
}

public shop_second_open(id)
{
if(!is_user_alive(id))
{
colored_print(id, "!tМертвым меню не доступно!")
return
}

//if(get_user_hero(id))
//{
// colored_print(id, "!tГерою меню не доступно!")
// return
//}

if(get_warmup())
{
colored_print(id, "!tВо время разминки магазин закрыт")
return
}

static menu[512], len
len = 0

switch(g_menu_type[id])
{
case 0:{
len += formatex(menu[len], charsmax(menu) - len, "\r[\yDM\r]\w Меню оружия^n")
len += formatex(menu[len], charsmax(menu) - len, "\r[\yDM\r]\w Скидка: \y%d%%^n^n", dm_money_get_discount(id))

len += formatex(menu[len], charsmax(menu) - len, "\r[\y1\r]\w Minigun \r(\y%d$\r)^n", get_price(id, get_pcvar_num(g_iPrice[1])))
len += formatex(menu[len], charsmax(menu) - len, "\r[\y2\r]\w VSK-94 \r(\y%d$\r)^n", get_price(id, get_pcvar_num(g_iPrice[2])))
len += formatex(menu[len], charsmax(menu) - len, "\r[\y3\r]\w Bazooka \r(\y%d$\r)^n", get_price(id, get_pcvar_num(g_iPrice[3])))
len += formatex(menu[len], charsmax(menu) - len, "\r[\y4\r]\w HK416 \r(\y%d$\r)^n", get_price(id, get_pcvar_num(g_iPrice[4])))
len += formatex(menu[len], charsmax(menu) - len, "\r[\y5\r]\w Gold M4A1 \r(\y%d$\r)^n", get_price(id, get_pcvar_num(g_iPrice[5])))
len += formatex(menu[len], charsmax(menu) - len, "\r[\y6\r]\w Gold AK47 \r(\y%d$\r)^n", get_price(id, get_pcvar_num(g_iPrice[6])))
len += formatex(menu[len], charsmax(menu) - len, "\r[\y7\r]\w Gold AWP \r(\y%d$\r)^n", get_price(id, get_pcvar_num(g_iPrice[7])))
}

case 1:{
len += formatex(menu[len], charsmax(menu) - len, "\r[\yDM\r]\w Меню предметов^n")
len += formatex(menu[len], charsmax(menu) - len, "\r[\yDM\r]\w Скидка: \y%d%%^n^n", dm_money_get_discount(id))

len += formatex(menu[len], charsmax(menu) - len, g_bAmmo[id]?"\r[\y1\r]\d Бесконечные патроны \r(\y%d$\r)^n":"\r[\y1\r]\w Бесконечные патроны \r(\y%d$\r)^n", get_pcvar_num(g_iPrice[8]))
len += formatex(menu[len], charsmax(menu) - len, "\r[\y2\r]\w Все гранаты \r(\y%d$\r)^n", get_pcvar_num(g_iPrice[9]))
len += formatex(menu[len], charsmax(menu) - len, g_bMultijump[id]?"\r[\y3\r]\d Мульти прыжок \r(\y%d$\r)^n":"\r[\y3\r]\w Мульти прыжок \r(\y%d$\r)^n", get_price(id, get_pcvar_num(g_iPrice[10])))
}

case 2:{
len += formatex(menu[len], charsmax(menu) - len, "\r[\yDM\r]\w Меню здоровья^n")
len += formatex(menu[len], charsmax(menu) - len, "\r[\yDM\r]\w Скидка: \y%d%%^n^n", dm_money_get_discount(id))
new Float:Health
pev(id, pev_health, Health)
len += formatex(menu[len], charsmax(menu) - len, Health>=900.0?"\r[\y1\r]\d Здоровье +450 \r(\y%d$\r)^n":"\r[\y1\r]\w Здоровье +450 \r(\y%d$\r)^n", get_price(id, get_pcvar_num(g_iPrice[11])))
len += formatex(menu[len], charsmax(menu) - len, Health>=900.0?"\r[\y2\r]\d Здоровье +250 \r(\y%d$\r)^n":"\r[\y2\r]\w Здоровье +250 \r(\y%d$\r)^n", get_price(id, get_pcvar_num(g_iPrice[12])))
len += formatex(menu[len], charsmax(menu) - len, Health>=900.0?"\r[\y3\r]\d Здоровье +95 \r(\y%d$\r)^n":"\r[\y3\r]\w Здоровье +95 \r(\y%d$\r)^n", get_price(id, get_pcvar_num(g_iPrice[13])))
len += formatex(menu[len], charsmax(menu) - len, Health>=900.0?"\r[\y4\r]\d Здоровье +65 \r(\y%d$\r)^n":"\r[\y4\r]\w Здоровье +65 \r(\y%d$\r)^n", get_price(id, get_pcvar_num(g_iPrice[14])))
len += formatex(menu[len], charsmax(menu) - len, Health>=900.0?"\r[\y5\r]\d Здоровье +35 \r(\y%d$\r)^n":"\r[\y5\r]\w Здоровье +35 \r(\y%d$\r)^n", get_price(id, get_pcvar_num(g_iPrice[15])))
len += formatex(menu[len], charsmax(menu) - len, Health>=900.0?"\r[\y6\r]\d Здоровье +15 \r(\y%d$\r)^n":"\r[\y6\r]\w Здоровье +15 \r(\y%d$\r)^n", get_price(id, get_pcvar_num(g_iPrice[16])))
}

case 3:{
len += formatex(menu[len], charsmax(menu) - len, "\r[\yDM\r]\w Меню брони^n")
len += formatex(menu[len], charsmax(menu) - len, "\r[\yDM\r]\w Скидка: \y%d%%^n^n", dm_money_get_discount(id))
new Float:Armor
pev(id, pev_armorvalue, Armor)
len += formatex(menu[len], charsmax(menu) - len, Armor>=900.0?"\r[\y1\r]\d Броня +450 \r(\y%d$\r)^n":"\r[\y1\r]\w Броня +450 \r(\y%d$\r)^n", get_price(id, get_pcvar_num(g_iPrice[17])))
len += formatex(menu[len], charsmax(menu) - len, Armor>=900.0?"\r[\y2\r]\d Броня +250 \r(\y%d$\r)^n":"\r[\y2\r]\w Броня +250 \r(\y%d$\r)^n", get_price(id, get_pcvar_num(g_iPrice[18])))
len += formatex(menu[len], charsmax(menu) - len, Armor>=900.0?"\r[\y3\r]\d Броня +95 \r(\y%d$\r)^n":"\r[\y3\r]\w Броня +95 \r(\y%d$\r)^n", get_price(id, get_pcvar_num(g_iPrice[19])))
len += formatex(menu[len], charsmax(menu) - len, Armor>=900.0?"\r[\y4\r]\d Броня +65 \r(\y%d$\r)^n":"\r[\y4\r]\w Броня +65 \r(\y%d$\r)^n", get_price(id, get_pcvar_num(g_iPrice[20])))
len += formatex(menu[len], charsmax(menu) - len, Armor>=900.0?"\r[\y5\r]\d Броня +35 \r(\y%d$\r)^n":"\r[\y5\r]\w Броня +35 \r(\y%d$\r)^n", get_price(id, get_pcvar_num(g_iPrice[21])))
len += formatex(menu[len], charsmax(menu) - len, Armor>=900.0?"\r[\y6\r]\d Броня +15 \r(\y%d$\r)^n":"\r[\y6\r]\w Броня +15 \r(\y%d$\r)^n", get_price(id, get_pcvar_num(g_iPrice[22])))
}

case 4:{
len += formatex(menu[len], charsmax(menu) - len, "\r[\yDM\r]\w Меню гравитации^n")
len += formatex(menu[len], charsmax(menu) - len, "\r[\yDM\r]\w Скидка: \y%d%%^n^n", dm_money_get_discount(id))
new Float:Gravity
pev(id, pev_gravity, Gravity)
len += formatex(menu[len], charsmax(menu) - len, (Gravity==0.5)?"\r[\y1\r]\d Гравитация 400 \r(\y%d$\r)^n":"\r[\y1\r]\w Гравитация 400 \r(\y%d$\r)^n", get_price(id, get_pcvar_num(g_iPrice[23])))
len += formatex(menu[len], charsmax(menu) - len, (Gravity==0.5||Gravity==0.65)? "\r[\y2\r]\d Гравитация 500 \r(\y%d$\r)^n":"\r[\y2\r]\w Гравитация 500 \r(\y%d$\r)^n", get_price(id, get_pcvar_num(g_iPrice[24])))
len += formatex(menu[len], charsmax(menu) - len, (Gravity==0.5||Gravity==0.65||Gravity==0.8)?"\r[\y3\r]\d Гравитация 600 \r(\y%d$\r)^n":"\r[\y3\r]\w Гравитация 600 \r(\y%d$\r)^n", get_price(id, get_pcvar_num(g_iPrice[25])))
len += formatex(menu[len], charsmax(menu) - len, (Gravity==0.5||Gravity==0.65||Gravity==0.8||Gravity==0.9)?"\r[\y4\r]\d Гравитация 700 \r(\y%d$\r)^n":"\r[\y4\r]\w Гравитация 700 \r(\y%d$\r)^n", get_price(id, get_pcvar_num(g_iPrice[26])))
}

case 5:{
len += formatex(menu[len], charsmax(menu) - len, "\r[\yDM\r]\w Меню невидимости^n")
len += formatex(menu[len], charsmax(menu) - len, "\r[\yDM\r]\w Скидка: \y%d%%^n^n", dm_money_get_discount(id))
new Float:RAMT
pev(id, pev_renderamt, RAMT)
len += formatex(menu[len], charsmax(menu) - len, (RAMT==50.0)?"\r[\y1\r]\d Высокая \r(\y%d$\r)^n":"\r[\y1\r]\w Высокая \r(\y%d$\r)^n", get_price(id, get_pcvar_num(g_iPrice[27])))
len += formatex(menu[len], charsmax(menu) - len, (RAMT==50.0||RAMT==125.0)?"\r[\y2\r]\d Средняя \r(\y%d$\r)^n":"\r[\y2\r]\w Средняя \r(\y%d$\r)^n", get_price(id, get_pcvar_num(g_iPrice[28])))
len += formatex(menu[len], charsmax(menu) - len, (RAMT==50.0||RAMT==125.0||RAMT==200.0)?"\r[\y3\r]\d Низкая \r(\y%d$\r)^n":"\r[\y3\r]\w Низкая \r(\y%d$\r)^n", get_price(id, get_pcvar_num(g_iPrice[29])))
}

case 6:{
len += formatex(menu[len], charsmax(menu) - len, "\r[\yDM\r]\w Меню скорости^n")
len += formatex(menu[len], charsmax(menu) - len, "\r[\yDM\r]\w Скидка: \y%d%%^n^n", dm_money_get_discount(id))

len += formatex(menu[len], charsmax(menu) - len, g_fSpeed[id]==420.0?"\r[\y1\r]\d Скорость 420 \r(\y%d$\r)^n":"\r[\y1\r]\w Скорость 420 \r(\y%d$\r)^n", get_price(id, get_pcvar_num(g_iPrice[30])))
len += formatex(menu[len], charsmax(menu) - len, (g_fSpeed[id]==420.0||g_fSpeed[id]==380.0)?"\r[\y2\r]\d Скорость 380 \r(\y%d$\r)^n":"\r[\y2\r]\w Скорость 380 \r(\y%d$\r)^n", get_price(id, get_pcvar_num(g_iPrice[31])))
len += formatex(menu[len], charsmax(menu) - len, (g_fSpeed[id]==420.0||g_fSpeed[id]==380.0||g_fSpeed[id]==340.0)?"\r[\y3\r]\d Скорость 340 \r(\y%d$\r)^n":"\r[\y3\r]\w Скорость 340 \r(\y%d$\r)^n", get_price(id, get_pcvar_num(g_iPrice[32])))
len += formatex(menu[len], charsmax(menu) - len, (g_fSpeed[id]==420.0||g_fSpeed[id]==380.0||g_fSpeed[id]==340.0||g_fSpeed[id]==300.0)?"\r[\y4\r]\d Скорость 300 \r(\y%d$\r)^n":"\r[\y4\r]\w Скорость 300 \r(\y%d$\r)^n", get_price(id, get_pcvar_num(g_iPrice[33])))
len += formatex(menu[len], charsmax(menu) - len, (g_fSpeed[id]==420.0||g_fSpeed[id]==380.0||g_fSpeed[id]==340.0||g_fSpeed[id]==300.0||g_fSpeed[id]==260.0)?"\r[\y5\r]\d Скорость 260 \r(\y%d$\r)^n":"\r[\y5\r]\w Скорость 260 \r(\y%d$\r)^n", get_price(id, get_pcvar_num(g_iPrice[34])))
}

case 7:{
len += formatex(menu[len], charsmax(menu) - len, "\r[\yDM\r]\w Премиум оружие^n^n")
if(privilege_get(id)){
len += formatex(menu[len], charsmax(menu) - len, "\r[\y1\r]\w MP7A1 \r(\y%d$\r)^n", get_pcvar_num(g_iPrice[35]))
len += formatex(menu[len], charsmax(menu) - len, "\r[\y2\r]\w SCAR Basic \r(\y%d$\r)^n", get_pcvar_num(g_iPrice[36]))
len += formatex(menu[len], charsmax(menu) - len, "\r[\y3\r]\w K1ASE \r(\y%d$\r)^n", get_pcvar_num(g_iPrice[37]))
len += formatex(menu[len], charsmax(menu) - len, "\r[\y4\r]\w Watergun \r(\y%d$\r)^n", get_pcvar_num(g_iPrice[38]))
len += formatex(menu[len], charsmax(menu) - len, "\r[\y5\r]\w MG36 Xmas \r(\y%d$\r)^n", get_pcvar_num(g_iPrice[39]))
len += formatex(menu[len], charsmax(menu) - len, "\r[\y6\r]\w Fn F2000 \r(\y%d$\r)^n", get_pcvar_num(g_iPrice[40]))
len += formatex(menu[len], charsmax(menu) - len, "\r[\y7\r]\w AK47 Long \r(\y%d$\r)^n", get_pcvar_num(g_iPrice[41]))
len += formatex(menu[len], charsmax(menu) - len, "\r[\y8\r]\w XM8 Basic \r(\y%d$\r)^n", get_pcvar_num(g_iPrice[42]))
}else{
len += formatex(menu[len], charsmax(menu) - len, "\r[\y1\r]\d MP7A1 \r(\y%d$\r)^n", get_pcvar_num(g_iPrice[35]))
len += formatex(menu[len], charsmax(menu) - len, "\r[\y2\r]\d SCAR Basic \r(\y%d$\r)^n", get_pcvar_num(g_iPrice[36]))
len += formatex(menu[len], charsmax(menu) - len, "\r[\y3\r]\d K1ASE \r(\y%d$\r)^n", get_pcvar_num(g_iPrice[37]))
len += formatex(menu[len], charsmax(menu) - len, "\r[\y4\r]\d Watergun \r(\y%d$\r)^n", get_pcvar_num(g_iPrice[38]))
len += formatex(menu[len], charsmax(menu) - len, "\r[\y5\r]\d MG36 Xmas \r(\y%d$\r)^n", get_pcvar_num(g_iPrice[39]))
len += formatex(menu[len], charsmax(menu) - len, "\r[\y6\r]\d Fn F2000 \r(\y%d$\r)^n", get_pcvar_num(g_iPrice[40]))
len += formatex(menu[len], charsmax(menu) - len, "\r[\y7\r]\d AK47 Long \r(\y%d$\r)^n", get_pcvar_num(g_iPrice[41]))
len += formatex(menu[len], charsmax(menu) - len, "\r[\y8\r]\d XM8 Basic \r(\y%d$\r)^n", get_pcvar_num(g_iPrice[42]))
}
}
}

len += formatex(menu[len], charsmax(menu) - len, "^n\r[\y9\r]\w Назад")
len += formatex(menu[len], charsmax(menu) - len, "^n\r[\y0\r]\w Выход")

show_menu(id, KEYSMENU, menu, -1, "Shoping Menu")
}

public menu_server(id, key)
{
if(!is_user_alive(id))
{
colored_print(id, "!tМертвым меню не доступно!")
return
}

//if(get_user_hero(id))
//{
// colored_print(id, "!tГерою меню не доступно!")
// return
//}

if(get_warmup())
{
colored_print(id, "!tВо время разминки магазин закрыт")
return
}

switch(key)
{
case 0: sg_start_placing(id)
case 1: d_start_placing(id)
case 2: lm_start_placing(id)
case 3: donate_show(id)
case 4: check_stuck(id)
case 5: open_mines_menu(id)
case 6: shop_main_open(id)
// case 7: map_list_show(id)
case 8: {
g_bMusic[id]=!g_bMusic[id]
client_cmd(id, "mp3 stop; stopsound")
menu_main_open(id)
colored_print(id, g_bMusic[id]?"!tНаслаждайтесь музыкой!":"!tМузыка вас больше не побеспокоит.")
}
}
}

public menu_shop(id, key)
{
if(!is_user_alive(id))
{
colored_print(id, "!tМертвым меню не доступно!")
return
}

//if(get_user_hero(id))
//{
// colored_print(id, "!tГерою меню не доступно!")
// return
//}

if(get_warmup())
{
colored_print(id, "!tВо время разминки магазин закрыт")
return
}

if(key==8){
menu_main_open(id)
return
}
else if(key==9)return

new Float:Gravity, Float:RAMT
pev(id, pev_gravity, Gravity)
pev(id, pev_renderamt, RAMT)

switch(key){
case 4: if(Gravity==0.5) return
case 5: if(RAMT==50.0) return
case 6: if(g_fSpeed[id]==420.0) return
}

g_menu_type[id]=key
shop_second_open(id)
return
}

public menu_shop2(id, key)
{
if(!is_user_alive(id))
{
colored_print(id, "!tМертвым меню не доступно!")
return
}

//if(get_user_hero(id))
//{
// colored_print(id, "!tГерою меню не доступно!")
// return
//}

if(get_warmup())
{
colored_print(id, "!tВо время разминки магазин закрыт")
return
}

if(key==8){
shop_main_open(id)
return
}
else if(key==9)return

switch(g_menu_type[id])
{
case 0:
{
if(key>6)return
if(dm_get_user_money(id)<get_price(id, get_pcvar_num(g_iPrice[1+key]))){
colored_print(id, "!tНедостаточно денег! !g(нужно %d)", get_price(id, get_pcvar_num(g_iPrice[1+key])))
return
}
switch(key)
{
case 0:
{
m134_give(id)
colored_print(id, "Удачи вам повеселиться с !gMinigun!y!")
}
case 1:
{
vsk94_give(id)
colored_print(id, "Удачи вам повеселиться с !gVsk-94!y!")
}
case 2:
{
b_give(id)
colored_print(id, "Удачи вам повеселиться с !gBazooka!y!")
}
case 3:
{
hk416_give(id)
colored_print(id, "Удачи вам повеселиться с !ghHk-416!y!")
}
case 4:
{
m4a1g_give(id)
colored_print(id, "Удачи вам повеселиться с !gM4A1 gold!y!")
}
case 5:
{
ak47g_give(id)
colored_print(id, "Удачи вам повеселиться с !gAk-47 Gold!y!")
}
case 6:
{
awpg_give(id)
colored_print(id, "Удачи вам повеселиться с !gAWP Gold!y!")
}
}
dm_set_user_money(id, dm_get_user_money(id)-get_price(id, get_pcvar_num(g_iPrice[1+key])))
}

case 1:
{
if(key>2)return

switch(key)
{
case 0:
{
if(g_bAmmo[id])return
if(dm_get_user_money(id)<get_pcvar_num(g_iPrice[8+key])){
colored_print(id, "!tНедостаточно денег! !g(нужно %d)", get_pcvar_num(g_iPrice[8+key]))
return
}
g_bAmmo[id]=true
colored_print(id, "Удачи вам повеселиться с !gбесконечными патронами!y!")

dm_set_user_money(id, dm_get_user_money(id)-get_pcvar_num(g_iPrice[8+key]))
}

case 1:
{
if(dm_get_user_money(id)<get_pcvar_num(g_iPrice[8+key])){
colored_print(id, "!tНедостаточно денег! !g(нужно %d)", get_pcvar_num(g_iPrice[8+key]))
return
}

fm_give_item(id, "weapon_hegrenade")
fm_give_item(id, "weapon_smokegrenade")
colored_print(id, "Удачи вам повеселиться с !gпаком гранат!y!")

dm_set_user_money(id, dm_get_user_money(id)-get_pcvar_num(g_iPrice[8+key]))
}

case 2:
{
if(g_bMultijump[id])return
if(dm_get_user_money(id)<get_price(id, get_pcvar_num(g_iPrice[8+key]))){
colored_print(id, "!tНедостаточно денег! !g(нужно %d)", get_price(id, get_pcvar_num(g_iPrice[8+key])))
return
}
g_bMultijump[id]=true
colored_print(id, "Удачи вам повеселиться с !gмульти прыжком!y!")
dm_set_user_money(id, dm_get_user_money(id)-get_price(id, get_pcvar_num(g_iPrice[8+key])))
}
}
}
case 2:
{
if(key>5)return
new Float:health
pev(id, pev_health, health)
if(health>=900.0)return
if(dm_get_user_money(id)<get_price(id, get_pcvar_num(g_iPrice[11+key]))){
colored_print(id, "!tНедостаточно денег! !g(нужно %d)", get_price(id, get_pcvar_num(g_iPrice[11+key])))
return
}
dm_set_user_money(id, dm_get_user_money(id)-get_price(id, get_pcvar_num(g_iPrice[11+key])))
switch(key)
{
case 0:{
health+=450.0
colored_print(id, "Удачи вам повеселиться с !g450 жизнями!y!")
}
case 1:{
health+=250.0
colored_print(id, "Удачи вам повеселиться с !g250 жизнями!y!")
}
case 2:{
health+=95.0
colored_print(id, "Удачи вам повеселиться с !g95 жизнями!y!")
}
case 3:{
health+=65.0
colored_print(id, "Удачи вам повеселиться с !g65 жизнями!y!")
}
case 4:{
health+=35.0
colored_print(id, "Удачи вам повеселиться с !g35 жизнями!y!")
}
case 5:{
health+=15.0
colored_print(id, "Удачи вам повеселиться с !g15 жизнями!y!")
}
}
if(health>900.0)health=900.0
set_pev(id, pev_health, health)
}
case 3:
{
if(key>5)return
new Float:armor
pev(id, pev_armorvalue, armor)
if(armor>=900.0)return
if(dm_get_user_money(id)<get_price(id, get_pcvar_num(g_iPrice[17+key]))){
colored_print(id, "!tНедостаточно денег! !g(нужно %d)", get_price(id, get_pcvar_num(g_iPrice[17+key])))
return
}
dm_set_user_money(id, dm_get_user_money(id)-get_price(id, get_pcvar_num(g_iPrice[17+key])))
switch(key)
{
case 0:{
armor+=450.0
colored_print(id, "Удачи вам повеселиться с !g450 брони!y!")
}
case 1:{
armor+=250.0
colored_print(id, "Удачи вам повеселиться с !g250 брони!y!")
}
case 2:{
armor+=95.0
colored_print(id, "Удачи вам повеселиться с !g95 брони!y!")
}
case 3:{
armor+=65.0
colored_print(id, "Удачи вам повеселиться с !g65 брони!y!")
}
case 4:{
armor+=35.0
colored_print(id, "Удачи вам повеселиться с !g35 брони!y!")
}
case 5:{
armor+=15.0
colored_print(id, "Удачи вам повеселиться с !g15 брони!y!")
}
}
if(armor>900.0)armor=900.0
set_pev(id, pev_armorvalue, armor)
}
case 4:
{
if(key>3)return
if(dm_get_user_money(id)<get_price(id, get_pcvar_num(g_iPrice[23+key]))){
colored_print(id, "!tНедостаточно денег! !g(нужно %d)", get_price(id, get_pcvar_num(g_iPrice[23+key])))
return
}
new Float:Gravity
pev(id, pev_gravity, Gravity)

switch(key)
{
case 0: {
if(Gravity==0.5)return
set_pev(id, pev_gravity, 0.5)
colored_print(id, "Удачи вам повеселиться с !g400 гравитации!y!")
}
case 1: {
if(Gravity<=0.65)return
set_pev(id, pev_gravity, 0.65)
colored_print(id, "Удачи вам повеселиться с !g500 гравитации!y!")
}
case 2: {
if(Gravity<=0.8)return
set_pev(id, pev_gravity, 0.8)
colored_print(id, "Удачи вам повеселиться с !g600 гравитации!y!")
}
case 3: {
if(Gravity<=0.9)return
set_pev(id, pev_gravity, 0.9)
colored_print(id, "Удачи вам повеселиться с !g700 гравитации!y!")
}
}
dm_set_user_money(id, dm_get_user_money(id)-get_price(id, get_pcvar_num(g_iPrice[23+key])))
}
case 5:
{
if(key>2)return
if(dm_get_user_money(id)<get_price(id, get_pcvar_num(g_iPrice[27+key]))){
colored_print(id, "!tНедостаточно денег! !g(нужно %d)", get_price(id, get_pcvar_num(g_iPrice[27+key])))
return
}
new Float:RAMT
pev(id, pev_renderamt, RAMT)
switch(key)
{
case 0: {
if(RAMT==50.0)return
fm_set_rendering(id, kRenderFxNone, 255, 255, 255, kRenderTransAlpha, 50)
colored_print(id, "Удачи вам повеселиться с !gвысокой невидимостью!y!")
}
case 1: {
if(RAMT==125.0)return
fm_set_rendering(id, kRenderFxNone, 255, 255, 255, kRenderTransAlpha, 125)
colored_print(id, "Удачи вам повеселиться со !gсредней невидимостью!y!")
}
case 2: {
if(RAMT==200.0||RAMT==125.0)return
fm_set_rendering(id, kRenderFxNone, 255, 255, 255, kRenderTransAlpha, 200)
colored_print(id, "Удачи вам повеселиться с !gнизкой невидимостью!y!")
}
}
dm_set_user_money(id, dm_get_user_money(id)-get_price(id, get_pcvar_num(g_iPrice[27+key])))
}
case 6:
{
if(key>4)return
if(dm_get_user_money(id)<get_price(id, get_pcvar_num(g_iPrice[30+key]))){
colored_print(id, "!tНедостаточно денег! !g(нужно %d)", get_price(id, get_pcvar_num(g_iPrice[30+key])))
return
}
switch(key)
{
case 0: {
if(g_fSpeed[id]==420.0)return
g_fSpeed[id]=420.0
colored_print(id, "Удачи вам повеселиться со !gскоростью 420!y!")
}
case 1: {
if(g_fSpeed[id]>=380.0)return
g_fSpeed[id]=380.0
colored_print(id, "Удачи вам повеселиться со !gскоростью 380!y!")
}
case 2: {
if(g_fSpeed[id]>=340.0)return
g_fSpeed[id]=340.0
colored_print(id, "Удачи вам повеселиться со !gскоростью 340!y!")
}
case 3: {
if(g_fSpeed[id]>=300.0)return
g_fSpeed[id]=300.0
colored_print(id, "Удачи вам повеселиться со !gскоростью 300!y!")
}
case 4: {
if(g_fSpeed[id]>=260.0)return
g_fSpeed[id]=260.0
colored_print(id, "Удачи вам повеселиться со !gскоростью 260!y!")
}
}
set_pev(id, pev_maxspeed, g_fSpeed[id])
dm_set_user_money(id, dm_get_user_money(id)-get_price(id, get_pcvar_num(g_iPrice[30+key])))
}
case 7:
{
if(key>7)return
if(!privilege_get(id)){
colored_print(id, "!tДоступно только !gVIP игрокам")
return
}
if(dm_get_user_money(id)<get_pcvar_num(g_iPrice[35+key])){
colored_print(id, "!tНедостаточно денег! !g(нужно %d)", get_pcvar_num(g_iPrice[35+key]))
return
}
dm_set_user_money(id, dm_get_user_money(id)-get_pcvar_num(g_iPrice[35+key]))
switch(key)
{
case 0: mp7a1_give(id), colored_print(id, "Удачи вам повеселиться с !gMp-7 A1!y!")
case 1: scar_give(id), colored_print(id, "Удачи вам повеселиться с !gScar!y!")
case 2: k1ase_give(id), colored_print(id, "Удачи вам повеселиться с !gK1ase!y!")
case 3: watergun_give(id), colored_print(id, "Удачи вам повеселиться с !gWatergun!y!")
case 4: mg36xmas_give(id), colored_print(id, "Удачи вам повеселиться с !gMg-36 Xmas!y!")
case 5: f2000_give(id), colored_print(id, "Удачи вам повеселиться с !gF-2000!y!")
case 6: aklong_give(id), colored_print(id, "Удачи вам повеселиться с !gAk-Long!y!")
case 7: xm8_give(id), colored_print(id, "Удачи вам повеселиться с !gXm-8!y!")
}
}
}

return
}

public fw_PlayerPreThink(id) {
if(!is_user_alive(id)) return

if(g_fSpeed[id]>0.0)
set_pev(id, pev_maxspeed, g_fSpeed[id])

if(!g_bMultijump[id]) return

new nbut = get_user_button(id)
new obut = get_user_oldbutton(id)
if((nbut & IN_JUMP) && !(get_entity_flags(id) & FL_ONGROUND) && !(obut & IN_JUMP))
{
if(!jumpnum[id])
{
dojump[id] = true
jumpnum[id]=true
return
}
}
if((nbut & IN_JUMP) && (get_entity_flags(id) & FL_ONGROUND))
{
jumpnum[id] = false
}
}


public client_PostThink(id)
{
if(!is_user_alive(id)) return
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
}
}

stock fm_set_rendering(entity, fx = kRenderFxNone, r = 255, g = 255, b = 255, render = kRenderNormal, amount = 16)
{
static Float:color[3]
color[0] = float(r)
color[1] = float(g)
color[2] = float(b)

set_pev(entity, pev_renderfx, fx)
set_pev(entity, pev_rendercolor, color)
set_pev(entity, pev_rendermode, render)
set_pev(entity, pev_renderamt, float(amount))
}

stock get_price(id, price)
{
if(dm_money_get_discount(id)) price-=(price/100*dm_money_get_discount(id))
return price
}

public message_cur_weapon(msg_id, msg_dest, msg_entity)
{
if (!is_user_alive(msg_entity)) return

if (get_msg_arg_int(1) != 1) return

if (!g_bAmmo[msg_entity]) return

static weapon; weapon = get_msg_arg_int(2)

if (MAXBPAMMO[weapon] > 2)
{
static weapon_ent
weapon_ent = fm_cs_get_current_weapon_ent(msg_entity)
if (pev_valid(weapon_ent)) cs_set_weapon_ammo(weapon_ent, MAXCLIP[weapon])

set_msg_arg_int(3, get_msg_argtype(3), MAXCLIP[weapon])
}
}

//public native_hero_give(id)
//{
// g_fSpeed[id]=420.0
// g_bAmmo[id]=true
// ak47g_give(id)
//
// set_pev(id, pev_gravity, 1.0)
//}

public get_music(id)
{
return g_bMusic[id]
}

stock fm_cs_get_current_weapon_ent(id)
{
if (pev_valid(id) != 2) return -1

return get_pdata_cbase(id, 373, 5)
}

stock fm_give_item(id, const item[])
{
static ent
ent = engfunc(EngFunc_CreateNamedEntity, engfunc(EngFunc_AllocString, item))
if (!pev_valid(ent)) return;

static Float:originF[3]
pev(id, pev_origin, originF)
set_pev(ent, pev_origin, originF)
set_pev(ent, pev_spawnflags, pev(ent, pev_spawnflags) | SF_NORESPAWN)
dllfunc(DLLFunc_Spawn, ent)

static save
save = pev(ent, pev_solid)
dllfunc(DLLFunc_Touch, ent, id)
if (pev(ent, pev_solid) != save) return;

engfunc(EngFunc_RemoveEntity, ent)
}
Это плагин меню сервера, ошибок никаких нет, нативы все работают, плагины с этими нативами успешно скомпелированы и загружены.

Вот регистрация меню, ни на клавишу M (смена команды), ни на команду say /menu не открывается меню. Также я закоментил ненужные нативы и все прилегающее к ним.

register_menu("Main Server Menu", KEYSMENU, "menu_server")
register_clcmd("chooseteam", "clcmd_changeteam")
register_clcmd("jointeam", "clcmd_changeteam")
register_clcmd("say /menu", "clcmd_changeteam")
 

Download all Attachments

Сообщения
857
Реакции
144
Помог
25 раз(а)
Попробуй сделать дебаги в чат при вводе в команду, к примеру так:

C++:
public clcmd_changeteam(id)
{
    static team
    team = fm_cs_get_user_team(id)
    
    client_print(id, print_chat, "До проверки на команду")
    if (team == 3 || team == 0) return PLUGIN_CONTINUE
    client_print(id, print_chat, "После проверки на команду")
        
    menu_main_open(id)
    client_cmd(id, "spk ^"%s^"", SND_MENU)
    return PLUGIN_HANDLED;
}
Возможно что-то с чеками на тиму. Дай результат после проверки.
 
Сообщения
101
Реакции
-11
Помог
2 раз(а)
Если вы просите помощи, а где закрепление вот этого?????
#include dm_chat
 

IXY

Сообщения
103
Реакции
9
Nemec, добавил. Я прошу помощи найти неисправность в исходном коде, а не прошу его компилировать и тестировать саморучно, если уж решились скомпилировать, то этот инклуд запросто можно загуглить и скачать, у меня его тоже не было, все инки есть в открытом доступе, этот инк не уникален.
 
Сообщения
857
Реакции
144
Помог
25 раз(а)
Я конечно извиняюсь, но у тебя в списке плагинов нету этого меню.
 
  • Нравится
Реакции: IXY

IXY

Сообщения
103
Реакции
9
ImmortalAmxx, ох жесть, я как обычно, всегда из-за невнимательности ищу не там решение проблемы. Спасибо тебе большое)
Тему можно закрывать.
 
Статус
В этой теме нельзя размещать новые ответы.

Пользователи, просматривающие эту тему

Сейчас на форуме нет ни одного пользователя.
Сверху Снизу