Tengo una base de datos en mysql, y andaba todo bien, hasta que quise agregarle al sistema de registro un dialog para elegir el sexo del personaje, y que en base a eso el server te de un skin femenino o masculino.
El problema es que, pareciera que no reconociera el dialog, ni tampoco reconociera cuando hago click en una opcion
Код:
forward CuentaRecienRegistrada(playerid);
public CuentaRecienRegistrada(playerid)
{
printf("[Registration] Nueva cuenta registrada. Database ID: [%d]", Player[playerid][ID]);
Player[playerid][ID] = cache_insert_id();
TogglePlayerSpectating(playerid, false);
GivePlayerMoney(playerid, 5000);
return true;
}
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
switch(dialogid)
{
case LoginDialog:
{
if(!response) return Kick(playerid);
new hashpass[129],
query[100],
playername[MAX_PLAYER_NAME];
GetPlayerName(playerid, playername, sizeof(playername));
WP_Hash(hashpass, sizeof(hashpass), inputtext);
if(!strcmp(hashpass,Player[playerid][Password]))
{
mysql_format(mysql,query,sizeof(query), "SELECT * FROM `Cuentas` WHERE `Nombre` = '%e' LIMIT 1",playername);
mysql_tquery(mysql, query, "InfoCuenta", "i", playerid);
}
else
{
SendClientMessage(playerid, -1, "Introduciste una contraseсa incorrecta!");
ShowPlayerDialog(playerid, LoginDialog , DIALOG_STYLE_INPUT, "Login", "Bienvenido!\nTu cuenta fue encontrada en la base de datos. Por favor, escribe tu password:","Login","Salir");
}
}
case RegistroDialog:
{
if(!response) return Kick(playerid);
if(strlen(inputtext) < 5)
{
SendClientMessage(playerid, -1, "Tu password tiene que tener mas de 5 caracteres.");
return ShowPlayerDialog(playerid, RegistroDialog , DIALOG_STYLE_INPUT, "Registro", "Bienvenido!\nTu cuenta no esta registrado. Por favor, escribe una contraseсa:", "Registrar", "Salir");
}
WP_Hash(Player[playerid][Password], 129, inputtext);
ShowPlayerDialog(playerid, ElegirSexo ,DIALOG_STYLE_MSGBOX,"sexo","elegi","masc","fem");
new
query[512],
playername[MAX_PLAYER_NAME],
playerip[16];
GetPlayerName(playerid, playername, sizeof(playername));
GetPlayerIp(playerid, playerip, sizeof(playerip));
mysql_format(mysql, query, sizeof(query),"INSERT INTO `Cuentas` (`IP`,`Nombre`,`Password`,`PosX`,`PosY`,`PosZ`,`PosAngulo`) VALUES ('%e','%e','%e',%f,%f,%f,%f)",playerip,playername,Player[playerid][Password],SPAWN_X, SPAWN_Y, SPAWN_Z, SPAWN_A);
mysql_tquery(mysql, query, "CuentaRecienRegistrada", "i", playerid);
}
}
if(dialogid == ElegirSexo)
{
if(response)
{
switch(listitem)
{
case 0:
{
SetSpawnInfo(playerid, 0, 26 , SPAWN_X, SPAWN_Y, SPAWN_Z, SPAWN_A, 0, 0, 0, 0, 0, 0);
SpawnPlayer(playerid);
}
case 1:
{
SetSpawnInfo(playerid, 0, 12 , SPAWN_X, SPAWN_Y, SPAWN_Z, SPAWN_A, 0, 0, 0, 0, 0, 0);
SpawnPlayer(playerid);
}
}
}
}
return 1;
}