|
Veteran Member
Join Date: Sep 2019
Location: Egypt
|

07-04-2021
, 15:16
Model Menu API
|
#1
|
Hi, I made this plugin "Model Menu API" something like zp model system, when i add level support the menu won't open but other data in the plugin are work and it doesn't show any bug!
Can someone show me where is the issue.
PHP Code:
#if !defined crxranks_get_user_level #define crxranks_get_user_level get_user_level #endif
#if !defined crxranks_get_max_levels #define crxranks_get_max_levels get_max_levels #endif
#if defined crxranks native crxranks_get_user_level(id) native crxranks_get_max_levels() #else native get_user_level(id) native get_max_levels() #endif new iMaxLevels public plugin_init() { register_plugin(PLUGIN, VERSION, AUTHOR) register_clcmd("say /skin", "CustomMenu") iMaxLevels = get_max_levels() }
public CustomMenu(id) { new szData[MAX_MENU_LENGTH], szInfo[128] static iPages, i formatex(szInfo, charsmax(szInfo), "%L", id, iUserTeam(id) != 1 ? "SHOP_TITLE_CT" : "SHOP_TITLE_T") new iMenu = menu_create(szInfo, "Handler") for(i = 0; i < g_iTotalModels; i++) { ArrayGetArray(Models, i, eData) g_szAdditionalText[0] = EOS; ExecuteForward(g_iForwards[g_MenuOpened], iReturnForward, id, i)
if( eData[Team] && eData[Team] != iUserTeam(id) ) continue; new iFlagInfo[64], iLevelInfo[64] if ( eData[Flag] ) format(iFlagInfo, charsmax(iFlagInfo), "\r[Flag: %s]", eData[Flag]) else format(iFlagInfo, charsmax(iFlagInfo), "") if ( eData[Level] && eData[Level] <= iMaxLevels) format(iLevelInfo, charsmax(iLevelInfo), "\r[\yLv: %d\r]", eData[Level]) else format(iLevelInfo, charsmax(iLevelInfo), "")
new iUserLevel = get_user_level(id) formatex(szData, charsmax(szData), "%s%s \y%s %s %s %s", (access(id, eData[Flag]) && iUserLevel >= eData[Level]) ? "\w" : "\d", eData[Name], eData[Info], iLevelInfo, iFlagInfo, g_szAdditionalText)
menu_additem(iMenu, szData) } formatex(szInfo, charsmax(szInfo), "%L", id, "PREV_PAGE") menu_setprop(iMenu, MPROP_BACKNAME, szInfo) formatex(szInfo, charsmax(szInfo), "%L", id, "NEXT_PAGE") menu_setprop(iMenu, MPROP_NEXTNAME, szInfo) formatex(szInfo, charsmax(szInfo), "%L", id, "EXIT_MENU") menu_setprop(iMenu, MPROP_EXITNAME, szInfo) iPages = menu_pages(iMenu) if ( !iPages ) { client_print(id, print_chat, "%L", id, "NOT_MODELS") return PLUGIN_HANDLED; } else if(iPages > 1) { formatex(szInfo, charsmax(szInfo), "%L ^n\wPage:\d", id, iUserTeam(id) != 1 ? "SHOP_TITLE_CT" : "SHOP_TITLE_T") menu_setprop(iMenu, MPROP_TITLE, szInfo) } menu_display(id, iMenu) return PLUGIN_HANDLED; }
public Handler(id, iMenu, iItem) { if(iItem != MENU_EXIT) { if(!is_user_alive(id)) { client_print(id, print_chat, "%L", id, "NOT_ALIVE") return PLUGIN_HANDLED; }
ArrayGetArray(Models, iItem, eData) if( eData[Flag] && !access(id, eData[Flag]) ) { client_print(id, print_chat, "%L", id, "NOT_ACCESS") return PLUGIN_HANDLED; } if ( eData[Level] && eData[Level] <= iMaxLevels) { new iUserLevel = get_user_level(id) if ( eData[Level] && iUserLevel < eData[Level]) { client_print(id, print_chat, "%L", id, "NOT_LVL") return PLUGIN_HANDLED; } } ExecuteForward(g_iForwards[g_SelectModel], iReturnForward, id, iItem) client_print(id, print_chat, "%L", id, "INFO_SELECT", eData[Name], eData[Health], eData[Speed], floatround(Float:eData[Gravity] * 800.0), floatround(Float:eData[KnockBack] * 100.0)) } menu_destroy(iMenu) return PLUGIN_HANDLED; }
Subplugin:
PHP Code:
native register_model(const szName[], const szInfo[], const szModel[], const szFlag[], iHealth, iSpeed, Float:iGravity, Float:iKnockBack, iLevel, iTeam)
public plugin_init() { register_plugin(PLUGIN, VERSION, AUTHOR) register_model("Test", "\r[\yNewer\r]", "Test", "", 5000, 500, Float:0.5, Float:0.5, 15, 1/*T Team*/) }
The file is reading level value but why the menu won't open:
PHP Code:
[Test] NAME = Test INFO = \r[\yNewer\r] MODEL = Test HP = 5000 SPEED = 500 GRAVITY = 0.50 KNOCKBACK = 0.50 LEVEL = 15 TEAM = Terrorist
__________________
Last edited by Supremache; 07-04-2021 at 18:09.
|
|