if(response)
{
switch(dialogid)
{
case 1:
{
switch(listitem)
{
case 0:
{
ShowPlayerDialog(playerid, 11, DIALOG_STYLE_INPUT, "Login","Bem Vindo ao Servidor\nDigite sua senha para poder continuar","Confirmar","Cancelar");
if(dialogid == 11)
{
if(!response)
{
ShowPlayerDialog(playerid, DIALOG_REGISTRO, DIALOG_STYLE_LIST, "Bem Vindo ao Servidor", "Login\nRegistro\nSair", "Abrir", "Fechar");
return 1;
}
if(response)
{
SpawnPlayer(Playerid);
}
}
}
case 1:
{
ShowPlayerDialog(playerid, 1, DIALOG_STYLE_INPUT, "Registro","Bem Vindo ao Servidor\nDigite uma senha para se registrar","Confirmar","Cancelar");
if(response)
{
SpawnPlayer(playerid);
}
else return
ShowPlayerDialog(playerid, 1, DIALOG_STYLE_LIST, "Bem Vindo ao Servidor", "Login\nRegistro\nSair", "Abrir", "Fechar");
}
case 2:
{
SendClientMessage(playerid, COR_BAN, "Vocк nгo quis se registrar ou logar no servidor, e por este motivo foi kickado.");
Kick(playerid);
}
}
}
}
}
return 1;
}
if(response) // caso tenha clicado no botгo 1
{
switch(dialogid)
{
case 1: // caso o dialogid for igual a 1
{
switch(listitem)
{
case 0: caso ele tenha escolhido o item id 0 da lista
{
ShowPlayerDialog(playerid, 11, DIALOG_STYLE_INPUT, "Login","Bem Vindo ao Servidor\nDigite sua senha para poder continuar","Confirmar","Cancelar");
if(dialogid == 11) // caso o dialogid for igual a 11
{
if(!response) // caso ele tenha clicado no botгo 2
{
ShowPlayerDialog(playerid, DIALOG_REGISTRO, DIALOG_STYLE_LIST, "Bem Vindo ao Servidor", "Login\nRegistro\nSair", "Abrir", "Fechar");
return 1;
}
if(response) // caso ele tenha clicado no botгo 1
{
SpawnPlayer(Playerid);
}
}
}
}
}
}
}
switch(dialogid)
{
case 1: //caso esteja vendo o dialogid 1
{
if(response) // caso tenha clicado no botгo 1
{
switch(listitem)
{
case 0: // caso esteja escolhido a primeira opзгo da lista
{
// cуdigo
}
}
}
}
}
Na primeira verificaзгo vocк eta vendo se o jogador clicou no botгo 1.
Caso o jogador clicar no botгo 1, vai verificar qual dialogo esta mostrando para ele, caso o jogador esteja vendo o dialogo id 1, vocк fez um verificaзгo em qual item da lista ele escolheu. Caso ele tenha escolhido o item 0, vocк mandou mostrar um dialogo do estilo INPUT com o id 11 e logo abaixo verificou se o id do dialogo 11. Nesse caso ao vocк mandar mostrar o dialog com o id 11 a callback OnDialogResponse vai ser chamada novamente. Agora que entra uma parte do seu problema, como a variavel dialogid vai estar com o valor 11 se vocк verificou anteriormente se ele estava com o valor 1? Sу iria ser executado essa parte do cуdigo se o valor da variбvel dialogid estiver com o valor 1 e nгo 11. E ainda dentro da verificaзгo que vocк fez se o dialogid for igual a 11, vocк verificou se o jogador clicou no botгo 2, e caso ele tenha clicado no botгo 2 ele mostra o dialogo do registro. Como ele vai executar o dialogo do registro se sу vai chegar nessa parte do cуdigo caso ele tenha clicado no botгo 1 que vocк fez a verificaзгo anteriormente? PHP код:
Exemplo: PHP код:
|
case 0:
{
ShowPlayerDialog(playerid, 11, DIALOG_STYLE_INPUT, "Login", "Bem Vindo ao Servidor\nDigite sua senha para poder continuar.", "Confirmar", "Cancelar");
}
if(dialogid == 11)
{
if(!response)
{
ShowPlayerDialog(playerid, 1, DIALOG_STYLE_LIST, "Bem Vindo ao Servidor", "Login\nRegistro\nSair", "Abrir", "Fechar");
}
if(response)
{
SpawnPlayer(playerid);
}
}