Thread: [Solved] FormatPlayerMenu()
View Single Post
HamletEagle
AMX Mod X Plugin Approver
Join Date: Sep 2013
Location: Romania
Old 04-12-2020 , 10:24   Re: FormatPlayerMenu()
Reply With Quote #8

Quote:
Originally Posted by Napoleon_be View Post
nvm, found my solution
PHP Code:
public CreateTempArray(iSize) {
    
#if AMXX_VERSION_NUM < 183
    
new szTemp[iSize]
    
#endif
}

public 
FormatPlayerMenu(idiPlayerMenuszHeader[], szData[], szHandler[]) {
    
CreateTempArray(250);

    
#if AMXX_VERSION_NUM < 183
    
formatex(szTempcharsmax(szTemp), szHeaderLANG_PLAYERszData);
    
iPlayerMenu menu_create(szTempszHandler);
    
#else
    
iPlayerMenu menu_create(fmt(szHeaderLANG_PLAYERszData), szHandler);
    
#endif

    
new iPlayers[32], iNumszName[33], szUserId[32];
    
get_players(iPlayersiNum"a");

    for(new 
iiNumi++) {
        
get_user_name(iPlayers[i], szNamecharsmax(szName));
        
formatex(szUserIdcharsmax(szUserId), "%d"get_user_userid(iPlayers[i]));
        
menu_additem(iPlayerMenuszNameszUserId);
    }
    
menu_display(idiPlayerMenu);

"szTemp" is local inside CreateTempArray. The stack will be cleared once CreateTempArray returns and therefore it is not accessible from other functions. Why you thought it would be accessible from FormatPlayerMenu is a mystery.
__________________

Last edited by HamletEagle; 04-12-2020 at 10:25.
HamletEagle is offline