Hello,
I tried to format a ML String using
fmt()
PHP Code:
05/18/2021 - 20:36:20: [AMXX] Displaying debug trace (plugin "most_valuable_player.amxx", version "1.9")
05/18/2021 - 20:36:20: [AMXX] Run time error 8: heap low
05/18/2021 - 20:36:20: [AMXX] [0] most_valuable_player.sma::Clcmd_ChooseTrack (line 1166)
05/18/2021 - 20:36:20: [AMXX] [1] most_valuable_player.sma::mvp_menu_handle (line 1124)
Here is the code:
Code:
if(g_bExistTracks)
{
for(new i; i < g_iTracksNum; i++)
{
ArrayGetArray(g_aTracks, i, eTrack)
if(i == g_iUserSelectedTrack[id])
{
bUsed = true
}
else
{
bUsed = false
}
// Here is the line 1166
formatex(szTemp, charsmax(szTemp), "\w%s %s \r%s", eTrack[szNAME], (eTrack[iVipOnly] == 1 ? fmt("%L", LANG_PLAYER, "MVP_VIP_ONLY") : ""), bUsed == true ? "#" : "")
menu_additem(menu, szTemp)
}
}
I did some research and this may be a compiler bug.
Code above decompiled:
Code:
if (g_bExistTracks)
{
new i;
while (i < g_iTracksNum)
{
ArrayGetArray(g_aTracks, i, eTrack, -1);
if (g_iUserSelectedTrack[id] == i)
{
bUsed = true;
}
else
{
bUsed = false;
}
new var1;
if (bUsed == true)
{
var1 = 22792;
}
else
{
var1 = 22800;
}
new var2;
if (eTrack[128] == 1)
{
fmt("%L", -1, "MVP_VIP_ONLY");
/* ERROR! Can't print expression: Heap */
function "Clcmd_ChooseTrack" (number 31)
__________________