20.03.2015, 02:50
(
Последний раз редактировалось Ever_SH; 20.03.2015 в 12:10.
)
Estou tentando criar um sistema de registro em vбrios diбlogos, comecei apartir de um new.pwn, fui compilar para ver se estava ficando certo, deu um erro, sei que deve ser algum erro bobo meu, mas nгo consigo resolver
array index out of bounds (variable "Player")
Dialogo de registro na parte em que o player bota a senha:
@Edit
Bom o erro anterior ja foi resolvido, terminei o sistema mas agora tem um problema dentro do jogo, na hora do registro, quando seleciono uma opзгo(Senha, Email, Idade ou Sexo), nгo abre o dialog, simplesmente some, vou deixar a OnDialogResponse completa a baixo, nгo й muito grande jб que o gamemode sу tem isso ainda.
array index out of bounds (variable "Player")
PHP код:
enum Infop
{
Senha[36],
Email,
Idade,
Sexo
}
new Player[MAX_PLAYERS][Infop];
PHP код:
if(dialogid == DialogRegistro2)
{
if (!response) return Kick(playerid);
if (response)
{
if(!strlen(inputtext)) return ShowPlayerDialog(playerid, DialogRegistro2, DIALOG_STYLE_INPUT, "Registro - Senha", "Vocк nгo pode deixar em branco!", "Ok", "Cancelar");
Player[MAX_PLAYERS][Senha] = strlen(inputtext);
}
}
Bom o erro anterior ja foi resolvido, terminei o sistema mas agora tem um problema dentro do jogo, na hora do registro, quando seleciono uma opзгo(Senha, Email, Idade ou Sexo), nгo abre o dialog, simplesmente some, vou deixar a OnDialogResponse completa a baixo, nгo й muito grande jб que o gamemode sу tem isso ainda.
PHP код:
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
if(dialogid == DialogRegistro)
{
if (!response) return Kick(playerid);
if (response)
{
if (listitem == 0)
{
ShowPlayerDialog(playerid, DialogRegistro2, DIALOG_STYLE_INPUT, "Registro - Senha", "", "Ok", "Cancelar");
}
if (listitem == 1)
{
ShowPlayerDialog(playerid, DialogRegistro3, DIALOG_STYLE_INPUT, "Registro - Email", "", "Ok", "Cancelar");
}
if (listitem == 2)
{
ShowPlayerDialog(playerid, DialogRegistro4, DIALOG_STYLE_INPUT, "Registro - Idade", "", "Ok", "Cancelar");
}
if (listitem == 3)
{
new string[60];
strcat(string,"{FFFFFF}Masculino\nFeminino\n");
ShowPlayerDialog(playerid, DialogRegistro5, DIALOG_STYLE_LIST, "Registro - Sexo", string, "Ok", "Cancelar");
}
if (listitem == 4)
{
DOF2_CreateFile(Contas(playerid));
DOF2_SetString(Contas(playerid), "Senha", Player[playerid][Senha]);
DOF2_SetString(Contas(playerid), "Email", Player[playerid][Email]);
DOF2_SetInt(Contas(playerid), "Idade", Player[playerid][Idade]);
DOF2_SetInt(Contas(playerid), "Sexo", Player[playerid][Sexo]);
SalvarPlayer(playerid);
}
}
}
if(dialogid == DialogRegistro2)
{
if (response)
{
if(!strlen(inputtext)) return ShowPlayerDialog(playerid, DialogRegistro2, DIALOG_STYLE_INPUT, "Registro - Senha", "Vocк nгo pode deixar em branco!", "Ok", "Cancelar");
Player[playerid][Senha] = strlen(inputtext);
}
if (!response) return Kick(playerid);
}
if(dialogid == DialogRegistro3)
{
if (response)
{
if(!strlen(inputtext)) return ShowPlayerDialog(playerid, DialogRegistro2, DIALOG_STYLE_INPUT, "Registro - Email", "Vocк nгo pode deixar em branco!", "Ok", "Cancelar");
Player[playerid][Email] = strlen(inputtext);
}
if (!response) return Kick(playerid);
}
if(dialogid == DialogRegistro4)
{
if (response)
{
if(!IsNumeric(inputtext)) return ShowPlayerDialog(playerid, DialogRegistro2, DIALOG_STYLE_INPUT, "Registro - Idade", "Digite apenas numeros!", "Ok", "Cancelar");
Player[playerid][Idade] = strlen(inputtext);
}
if (!response) return Kick(playerid);
}
if(dialogid == DialogRegistro5)
{
if (response)
{
if (listitem == 0)
{
Player[playerid][Sexo] = 0;
}
if (listitem == 1)
{
Player[playerid][Sexo] = 1;
}
}
if (!response) return Kick(playerid);
}
if(dialogid == DialogLogin)
{
if (response)
{
if(!strlen(inputtext)) return ShowPlayerDialog(playerid, DialogLogin, DIALOG_STYLE_INPUT,"Login","Senha incorreta, digite novamente","Entrar","Sair");
format(Player[playerid][Senha], 40, "%s", DOF2_GetString(Contas(playerid), "Senha"));
if(!strcmp(Player[playerid][Senha], inputtext, true) && strlen(inputtext) > 0)
{
SendClientMessage(playerid, 0x1EFF00FF, "Logado com Sucesso");
CarregarPlayer(playerid);
}
}
if (!response) return Kick(playerid);
}
return 1;
}