View Single Post
WildCard65
Veteran Member
Join Date: Aug 2013
Location: Canada
Old 12-11-2017 , 16:44   Re: Attaching a translation file to a vote menu
Reply With Quote #9

Quote:
Originally Posted by Crasher_3637 View Post
I was able to make it work:

PHP Code:
public Action Command_Warp(int clientint args)
{
    if(!
l4d_ass_enable.BoolValue || !l4d_ass_teleport_enable.BoolValue || !l4d_ass_teleport_vote.BoolValue || l4d_ass_teleport_auto.BoolValue || NumTanks3)
        return;
    if(!
l4d_ass_teleport_tank.BoolValue)
        
CountTanks();
    if(
l4d_ass_teleport_vote.BoolValue)
    {
        
char buffer[64];
        
int totalHumanshumanPlayers[MAXPLAYERS+1];
        for(
int i 1<= MaxClientsi++)
        {
            if(!
IsValidClient(i))
                continue;
            
humanPlayers[totalHumans++] = i;
        }

        for(
int i 1<= MaxClientsi++)
        {
            if(
IsValidClient(i))
            {
                
Menu chooseMenu CreateMenu(chooseMenuHandler2);
                
SetVoteResultCallback(chooseMenuchooseMenuResults2);
                
Format(buffersizeof(buffer), "%T""TeleportSpeedrunners"i);
                
chooseMenu.SetTitle(buffer); 
                
Format(buffersizeof(buffer), "%T""YesOption"i);
                
chooseMenu.AddItem("Yes"buffer);
                
Format(buffersizeof(buffer), "%T""NoOption"i);
                
chooseMenu.AddItem("No"buffer); 
                
SetMenuPagination(chooseMenuMENU_NO_PAGINATION);
                
VoteMenu(chooseMenuhumanPlayerstotalHumans30);
            }
        }
    }

Thank you for your help!
Here's what I believe is a cleaner version of your code:

PHP Code:
public Action Command_Warp(int clientint args)
{
    if(!
l4d_ass_enable.BoolValue || !l4d_ass_teleport_enable.BoolValue || !l4d_ass_teleport_vote.BoolValue || l4d_ass_teleport_auto.BoolValue || NumTanks3)
        return;
    if(!
l4d_ass_teleport_tank.BoolValue)
        
CountTanks();
    if(
l4d_ass_teleport_vote.BoolValue)
    {
        
char buffer[64];
        
int totalHumanshumanPlayers[MAXPLAYERS+1];
        for(
int i 1<= MaxClientsi++)
        {
            if(!
IsValidClient(i))
                continue;
            
humanPlayers[totalHumans++] = i;
        }

        for(
int i 1<= MaxClientsi++)
        {
            if(
IsValidClient(i))
            {
                
Menu chooseMenu CreateMenu(chooseMenuHandler2);
                
SetVoteResultCallback(chooseMenuchooseMenuResults2);

                
SetGlobalTransTarget(i); // Set translation target for "%t" translation format specifier.

                
Format(buffersizeof(buffer), "%t""TeleportSpeedrunners");
                
chooseMenu.SetTitle(buffer); 
                
Format(buffersizeof(buffer), "%t""YesOption");
                
chooseMenu.AddItem("Yes"buffer);
                
Format(buffersizeof(buffer), "%t""NoOption");
                
chooseMenu.AddItem("No"buffer); 

                
SetMenuPagination(chooseMenuMENU_NO_PAGINATION);
                
VoteMenu(chooseMenuhumanPlayerstotalHumans30);
            }
        }
        
SetGlobalTransTarget(LANG_SERVER); // If this fails compile, replace it with client #0
    
}

__________________

Last edited by WildCard65; 12-11-2017 at 16:44.
WildCard65 is offline