SA-MP Forums Archive
[Help]Public OnDialogResponse errors - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: SA-MP Scripting and Plugins (https://sampforum.blast.hk/forumdisplay.php?fid=8)
+--- Forum: Scripting Help (https://sampforum.blast.hk/forumdisplay.php?fid=12)
+--- Thread: [Help]Public OnDialogResponse errors (/showthread.php?tid=365226)



[Help]Public OnDialogResponse errors - Deaglez - 02.08.2012

here's the code:

PHP код:
public OnDialogResponse(playeriddialogidresponselistiteminputtext[])
{
    if(
response)
    {
         case 
1:
        {
            switch(
listitem)
            {
                   case 
0:
                {
                    
GivePlayerWeapon(playerid30550);
                    
SCM(playeridCOLOR_GREEN"You have successfully bought an AK-47 for free!");
                }
                case 
1:
                {
                    
GivePlayerWeapon(playerid31550);
                    
SCM(playeridCOLOR_GREEN"You have successfully bought a M4A1 for free!");
                }
                case 
2:
                {
                    
GivePlayerWeapon(playerid24350);
                    
SCM(playeridCOLOR_GREEN"You have successfully bought a Deagle for free!");
                }
                case 
3:
                {
                    
GivePlayerWeapon(playerid28600);
                    
SCM(playeridCOLOR_GREEN"You have successfully bought an UZI for free!");
                }
            }
        }
    }
}
return 
1;
}
    if(
response)
    {
        case 
2:
        {
            switch(
listitem)
            {
                case 
0:
                {
                    if(
GetPlayerMoney(playerid) < 1) return SendClientMessage(playerid0xFFFFFF"You don't have enough cash.");
                    
GivePlayerMoney(playerid, -1000);
                    
SetPlayerHealth(playerid100);
                }
                case 
1:
                {
                    if(
GetPlayerMoney(playerid) < 2) return SendClientMessage(playerid0xFFFFFF"You don't have enough cash.");
                    
GivePlayerMoney(playerid, -1500);
                    
SetPlayerArmour(playerid100);
                }
                case 
2:
                {
                    if(
GetPlayerMoney(playerid) < 3) return SendClientMessage(playerid0xFFFFFF"You don't have enough cash.");
                    
GivePlayerMoney(playerid, -500);
                    
SetPlayerTeam(playerid1);
                }
                case 
3:
                {
                    if(
GetPlayerMoney(playerid) < 4) return SendClientMessage(playerid0xFFFFFF"You don't have enough cash.");
                    
GivePlayerMoney(playerid, -500);
                    
GivePlayerWeapon(playerid22550);
                }
                case 
4:
                {
                    if(
GetPlayerMoney(playerid) < 5) return SendClientMessage(playerid0xFFFFFF"You don't have enough cash.");
                    
GivePlayerMoney(playerid, -1000);
                    
GivePlayerWeapon(playerid25550);
                }
            }
        }
    }
}
return 
1;

and here is the error:

Код:
C:\Users\Zhen\Desktop\GTA - San Andreas\SA-MP Server\gamemodes\tutorial.pwn(374) : error 014: invalid statement; not in switch
C:\Users\Zhen\Desktop\GTA - San Andreas\SA-MP Server\gamemodes\tutorial.pwn(374) : warning 215: expression has no effect
C:\Users\Zhen\Desktop\GTA - San Andreas\SA-MP Server\gamemodes\tutorial.pwn(374) : error 001: expected token: ";", but found ":"
C:\Users\Zhen\Desktop\GTA - San Andreas\SA-MP Server\gamemodes\tutorial.pwn(374) : error 029: invalid expression, assumed zero
C:\Users\Zhen\Desktop\GTA - San Andreas\SA-MP Server\gamemodes\tutorial.pwn(374) : fatal error 107: too many error messages on one line

Compilation aborted.Pawn compiler 3.2.3664	 	 	Copyright © 1997-2006, ITB CompuPhase


4 Errors.



Re: [Help]Public OnDialogResponse errors - AndreT - 02.08.2012

You have a case out of the random. This needs to be inside a switch statement instead, and yes, nested switch statements are perfectly fine.
pawn Код:
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
    switch(dialogid)
    {
        case 0:
        {
            if(response)
            {
                switch(listitem)
                {
                }
            }
        }
        case 1:
        {
            // ...
        }
    }
}