22/01/2025 11:59
(21/01/2025 23:43)BitSain Escreveu: No código que você mencionou no início do tópico, a utilização de else está incorreta no contexto de um switch.. O else é usado com if, enquanto o switch deve usar default para o caso em que nenhuma das opções dos case é satisfeita, como eu disse anteriormente.
No código corrigido, o switch está utilizando corretamente o default. O else é utilizado apenas com if, não com switch.
Não se põe else abaixo do case, do jeito que você fez originalmente.
Edit:
Mas, se deu erros.. Quais erros? Como você está implementando este código?
codigo completo
Código PHP:
if(dialogid == DIALOG_MODOS)
{
if(!response && PlayerInfo[playerid][modo] == 0) {
new string[300];
strcat(string, "{FFFFFF}Mundos\t{FFFFFF}Players");
format(string, sizeof(string), "%s\n{F08080}Mundo {FFFFFF}Policia x Bandido\t{4169E1}%d", string, fuga);
format(string, sizeof(string), "%s\n{F08080}Mundo {FFFFFF}Mata-Mata\t{4169E1}%d", string, pvp);
format(string, sizeof(string), "%s\n{F08080}Mundo {FFFFFF}Drift\t{4169E1}%d", string, drift);
format(string, sizeof(string), "%s\n{F08080}Mundo {FFFFFF}Fuga - Com Mundos\t{4169E1}%d", string, livres);
return ShowPlayerDialog(playerid,DIALOG_MODOS,DIALOG_STYLE_TABLIST_HEADERS,"{DCDCDC}ZonePerfect {FFFFFF}- Mundos",string,"Selecionar","-");
}
if(response)
{
switch(listitem)
{
case 0:
{
ShowPlayerDialog(playerid, DIALOG_PMVSLADRAO, DIALOG_STYLE_LIST, "{FFF000}ESCOLHA A OPÇÃO DESEJADA:", "Quero ser: {1E90FF}Policial\n{FFFFFF}Quero ser: {FF0000}Bandido\n", "Selecionar", "Voltar");
}
}
} else {
new string[300];
ShowPlayerDialog(playerid, DIALOG_MODOS, DIALOG_STYLE_TABLIST_HEADERS, "{DCDCDC}ZonePerfect {FFFFFF}- Mundos", string, "Selecionar", "-");
}
case 1:
{
//SendClientMessage(playerid,Vermelho,"| ZONE - MUNDOS | {FFFFFF}Modo em Desenvolvimento");
Opt(playerid);
}
case 2:
{
//SendClientMessage(playerid,Vermelho,"| ZONE - MUNDOS | {FFFFFF}Modo em Desenvolvimento");
TogglePlayerSpectating(playerid, 0);
OptDrift(playerid);
}
case 3:
{
if(PlayerInfo[playerid][modo] == 4)return SendClientMessage(playerid,Vermelho, "[ ERRO ] Voce ja esta participando desse mundo!");
onPlayerSpawnEx(playerid);
switch(PlayerInfo[playerid][modo])
{
case 1:fuga-=1;
case 2:pvp-=1;
case 3:drift-=1;
case 4:livres-=1;
}
livres+=1;
PlayerInfo[playerid][modo]=4;
PlayerInfo[playerid][cargo]=5;
SendClientMessageToAll(0x9ACD32FF,"| MUNDOS | %s[%d] entrou no Mundo Fuga! {FFFFFF}- ( /Mundos )",pName[playerid],playerid);
TextDrawHideForPlayer(playerid,InfoDeath);
new rrandom = random(sizeof(VehicleColoursTableRGBA));
SetPlayerColor(playerid, VehicleColoursTableRGBA[rrandom]);
SetPlayerPos(playerid,2500.8027,-1666.5984,13.3546);
SetPlayerFacingAngle(playerid, 88.5091);
SetPlayerInterior(playerid,0);
SetPlayerVirtualWorld(playerid,1004);
SetPVarInt(playerid,"FloodModos",gettime()+15);
RemovePlayerMapIcon(playerid, 55);
RemovePlayerMapIcon(playerid, 55);
for(new gt = 0; gt < 4; gt++)TextDrawHideForPlayer(playerid,TextPVP[gt]);
PlayerTextDrawHide(playerid,PTextPVP[playerid][0]);
PlayerTextDrawHide(playerid,PTextPVP[playerid][1]);
ResetPlayerWeapons(playerid);
TogglePlayerSpectating(playerid, 0);
}
}
}
}
return 1;
}
erros:
Código PHP:
error 001: expected token: ";", but found ":"
error 029: invalid expression, assumed zero