SA-MP Forums Archive
[Duda]їCуmo no spawnear en el diбlogo? - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: Non-English (https://sampforum.blast.hk/forumdisplay.php?fid=9)
+--- Forum: Languages (https://sampforum.blast.hk/forumdisplay.php?fid=33)
+---- Forum: Español/Spanish (https://sampforum.blast.hk/forumdisplay.php?fid=29)
+---- Thread: [Duda]їCуmo no spawnear en el diбlogo? (/showthread.php?tid=346228)



[Duda]їCуmo no spawnear en el diбlogo? - Lunnatiicz - 27.05.2012

Tengo esto:

pawn Код:
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
        if(dialogid == 1)
        {
            if(response)
            {
                if(!strlen(inputtext))
                {
                    new s[128];
                    format(s,sizeof(s),"{FF0000}No has escrito ninguna contraseсa");
                    ShowPlayerDialog(playerid,1,DIALOG_STYLE_PASSWORD,"Error",s,"Logear","");
                    return 1;
                }
                LogearJugador(playerid,inputtext);
                TogglePlayerSpectating(playerid, 0);
                Logeado[playerid] = 1;
            }
            else
            {
                Kick(playerid);
            }
        }
        if(dialogid == 2)
        {
            if(response)
            {
                if(!strlen(inputtext))
                {
                    new s[128];
                    format(s,sizeof(s),"{FF0000}No has escrito ninguna contraseсa");
                    ShowPlayerDialog(playerid,2,DIALOG_STYLE_PASSWORD,"Error",s,"Registrar","");
                    return 1;
                }
                RegistrarJugador(playerid,inputtext);
                LogearJugador(playerid, inputtext);
                TogglePlayerSpectating(playerid, 0);

            }
            else
            {
                Kick(playerid);
            }
        }

        return 1;
}
El problema es que si el user escribe mal la contraseсa el ped spawnea pero el dialogo sigue, por lo que los datos no cargan y lo manda a red country.

?


Respuesta: [Duda]їCуmo no spawnear en el diбlogo? - Jovanny - 27.05.2012

Has que LogearJugador retorne false o true dependiendo si la contraseсa es correcta o no y en el dialog pones un if con el valor que retorne logearjugador, si retorna false le pones que le pida la contraseсa nuevamente y asta que retorne true usas TogglePlayerSpectating(playerid, 0);


Respuesta: [Duda]їCуmo no spawnear en el diбlogo? - Lunnatiicz - 06.06.2012

Quote:
Originally Posted by Jovanny
Посмотреть сообщение
Has que LogearJugador retorne false o true dependiendo si la contraseсa es correcta o no y en el dialog pones un if con el valor que retorne logearjugador, si retorna false le pones que le pida la contraseсa nuevamente y asta que retorne true usas TogglePlayerSpectating(playerid, 0);
Perdуn la tardanza en responder jeje.

Deja ver si te entendн

pawn Код:
public OnDialogResponse(...)
{
  if (LogearJugador(..) == false)
  {  
     ShowPlayerDialog(..);
  } else if(LogearJugador(..) == true)
     TogglePlayerSpectating(playerid, 0);
  }
}
?


Respuesta: [Duda]їCуmo no spawnear en el diбlogo? - Jovanny - 06.06.2012

Si, pero tienes que modificar LogearJugador para que retorne el boolean dependiendo si ingreso correctamente o no