Hello! I'm having error on my server that causes a lot of crushes.
The error is:
Quote:
L 10/03/2018 - 23:22:17: Start of error session.
L 10/03/2018 - 23:22:17: Info (map "jail_especial_v2") (file "addons/amxmodx/logs/error_20181003.log")
L 10/03/2018 - 23:22:17: [AMXX] Displaying debug trace (plugin "jbe_core.amxx", version "1.1.01c")
L 10/03/2018 - 23:22:17: [AMXX] Run time error 3: stack error
L 10/03/2018 - 23:22:17: [AMXX] [0] jbe_core.sma::Show_ChooseTeamMenu (line 2060)
L 10/03/2018 - 23:22:17: [AMXX] [1] jbe_core.sma::Message_ShowMenu (line 5323)
|
[1] lines
with 5323 line:
Code:
public Message_ShowMenu(iMsgId, iMsgDest, iReceiver)
{
switch(get_msg_arg_int(1))
{
case ShowMenu_TeamMenu, ShowMenu_TeamSpectMenu:
{
Show_ChooseTeamMenu(iReceiver, 0); // 5323
return PLUGIN_HANDLED;
}
case ShowMenu_ClassMenu, ShowMenu_IgTeamMenu, ShowMenu_IgTeamSpectMenu: return PLUGIN_HANDLED;
}
return PLUGIN_CONTINUE;
}
So this func calls the Show_ChooseTeamMenu, so here's the code, btw ye this function has 2060line:
Code:
Show_ChooseTeamMenu(id, iType)
{
if(jbe_menu_blocked(id)) return PLUGIN_HANDLED; // 2060
jbe_informer_offset_up(id);
static szMenu[280], iKeys, iLen;
iLen = formatex(szMenu, charsmax(szMenu), "\d[lalala] \rВыбор команды^n\d[lalala] \yБаланс: \w3 \dзаключенных, \w1 \dохранник^n^n");
if(g_iUserTeam[id] != 1)
{
iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen, "\d[1] \y~\w %L \r[%d]^n", id, "JBE_MENU_TEAM_PRISONERS", g_iPlayersNum[1]);
iKeys |= (1<<0);
}
else iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen, "\d[1] \y~\w \d%L \r[%d]^n", id, "JBE_MENU_TEAM_PRISONERS", g_iPlayersNum[1]);
if(!g_BlockMenu && IsNotSetBit(g_iBitUserBlockedGuard, id) && g_iUserTeam[id] != 2 && (floatround(float(g_iPlayersNum[1])/g_iAllCvars[TEAM_BALANCE], floatround_floor)>g_iPlayersNum[2]))
{
iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen, "\d[2] \y~\w %L \r[%d]^n^n", id, "JBE_MENU_TEAM_GUARDS", g_iPlayersNum[2]);
iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen, "\d[5] \y~\w %L^n", id, "JBE_MENU_TEAM_RANDOM");
iKeys |= (1<<1|1<<4);
}
else
{
iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen, "\d[2] \y~\w \d%L \r[%d]^n^n", id, "JBE_MENU_TEAM_GUARDS", g_iPlayersNum[2]);
iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen, "\d[5] \y~\w \d%L^n", id, "JBE_MENU_TEAM_RANDOM");
}
if(g_iUserTeam[id] != 3)
{
iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen, "\d[6] \y~\w %L^n^n^n^n^n", id, "JBE_MENU_TEAM_SPECTATOR");
iKeys |= (1<<5);
}
else iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen, "\d[6] \y~\w \d%L^n^n^n^n^n", id, "JBE_MENU_TEAM_SPECTATOR");
if(iType)
{
formatex(szMenu[iLen], charsmax(szMenu) - iLen, "^n\d[0] \y~\w %L", id, "JBE_MENU_EXIT");
iKeys |= (1<<9);
}
show_menu(id, iKeys, szMenu, -1, "Show_ChooseTeamMenu");
return PLUGIN_HANDLED;
}
Actually I've tried to rewrite whole menu and use newmenus.inc, but the error didn't disappear, just showed the same error on some other line in that function(can't remember).
Any suggestions to solve this issue?