23.07.2010, 21:53
(
Последний раз редактировалось [NWD]Tweener_; 24.07.2010 в 23:15.
)
Й o seguinte, eu esta com a dialog de login e registro do meu server funcionando perfeitamente, atй que a uns 2 dias, eu fiz um Aeroporto e algumas alteraзхes, compilei, testei, tudo perfeito, upei para o Host e foi fechar o pawno ai apareceu se eu queria salvar, eu coloquei cancelar e compilei de novo para confirmar, e fui fechar e deu a mesma coisa, ai salvei. Ai fui dormir, no dia seguinte, fiz algumas alteraзхes e compilei e testei, quando eu fui testar, eu entrei com uma conta que nгo existia, e apareceu a dialog de login, ai eu loguei a comecei a cair do cйu, pensei que fosse algum bug e sai e loguei com outra conta inexistente, e deu a mesma coisa, ai comparei as dialogs com as do Beckup antigo do GM que tinha as mesmas dialogs, e estavam todas certas. E procurei para saber o que era e nгo consegui atй hoje, alguem sabe dizer o que pode ser isso?
Aqui os codes das dialogs:
Lembrando: Eu entro com uma conta nгo registrada e aparece para logar e buga o player quando loga, e eu entro com uma conta registrada e loga normalmente.
Aqui os codes das dialogs:
pawn Код:
public OnPlayerRequestClass(playerid, classid)
{
new string[256];
if(pap_JogadorRegistrado(playerid))
{
new name[MAX_PLAYER_NAME];
GetPlayerName(playerid, name, sizeof(name));
format(string, sizeof string, "Bem vindo(a) de volta ao server World Wicked\n\nNome de usuбrio: %s\n\nInsira sua senha:!", name);
ShowPlayerDialog(playerid, LOGIN, DIALOG_STYLE_INPUT, "Conta", string, "Logar!", "Cancelar.");
}
else if(!pap_JogadorRegistrado(playerid))
{
new name[MAX_PLAYER_NAME];
GetPlayerName(playerid, name, sizeof(name));
format(string, sizeof string, "Bem vindo(a) ao server World Wicked\n\nNome de usuбrio: %s\n\nInsira sua senha:!", name);
ShowPlayerDialog(playerid, REGISTRO, DIALOG_STYLE_INPUT, "Conta", string, "Registrar", "Cancelar.");
}
return true;
}
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
new string[128];
if(dialogid == REGISTRO)
{
if(!response)
{
SendClientMessage(playerid, COLOR_RED, "[ERRO] Vocк cancelou o registro!");
Kick(playerid);
return 0;
}
if(!strlen(inputtext))
{
new name[MAX_PLAYER_NAME];
GetPlayerName(playerid, name, sizeof(name));
format(string, sizeof string, "Bem vindo(a) ao server World Wicked\n\nNome de usuбrio: %s\n\nInsira sua senha:!", name);
ShowPlayerDialog(playerid, REGISTRO, DIALOG_STYLE_INPUT, "Conta", string, "Registrar", "Cancelar.");
return 0;
}
if(strlen(inputtext) > 64)
{
new name[MAX_PLAYER_NAME];
GetPlayerName(playerid, name, sizeof(name));
format(string, sizeof string, "Bem vindo(a) ao server World Wicked\n\nNome de usuбrio: %s\n\nInsira sua senha:!", name);
ShowPlayerDialog(playerid, REGISTRO, DIALOG_STYLE_INPUT, "Conta", string, "Registrar", "Cancelar.");
return 0;
}
new senha[MAX_PCOD_CHAR];
psf_CopiarStr(senha, inputtext); // Copiando a senha que o jogador digitou (de inputtext) para a variбvel 'senha'
if(pap_IniciarConta(playerid, senha)) // Certo, a funзгo pap_IniciarConta retornou a 1, sendo assim podemos salvar os dados que queremos, jб que a conta foi iniciada!
{
new
ip[18];
PLAYERLIST_authed[playerid] = 1;
GetPlayerIp(playerid, ip, sizeof(ip));
pap_SalvarInt(playerid, "Skin", 28);
pap_SalvarInt(playerid, "Dinheiro_bolso", 0);
pap_SalvarInt(playerid, "Dinheiro_banco", 10000);
pap_SalvarInt(playerid, "Matou", 0);
pap_SalvarInt(playerid, "Morreu", 0);
pap_SalvarInt(playerid, "Preso", 0);
pap_SalvarInt(playerid, "Luta", FIGHT_STYLE_NORMAL);
pap_SalvarInt(playerid, "Procurado", 0);
pap_SalvarInt(playerid, "Haerea", 0);
pap_SalvarInt(playerid, "Hterrestre", 0);
pap_SalvarInt(playerid, "Hnautica", 0);
pap_SalvarInt(playerid, "Porte", 0);
pap_SalvarFloat(playerid, "X", 1227.8335);
pap_SalvarFloat(playerid, "Y", 302.1102);
pap_SalvarFloat(playerid, "Z", 19.5812);
pap_SalvarFloat(playerid, "Ang", 180.0000);
pap_SalvarStr(playerid, "IP", ip);
pap_SalvarFloat(playerid, "Vida", 100.0);
Petrol[playerid] = 100;
pap_SalvarInt(playerid, "Combustivel", Petrol[playerid]);
Profissao[playerid] = 0;
pap_SalvarInt(playerid, "Profissao", Profissao[playerid]);
Level[playerid] = 0;
pap_SalvarInt(playerid, "Level", Level[playerid]);
Experiencia[playerid] = 0;
pap_SalvarInt(playerid, "Experiencia", Experiencia[playerid]);
SetSpawnInfo(playerid, 1, pap_CarregarInt(playerid, "Skin"), pap_CarregarFloat(playerid, "X"), pap_CarregarFloat(playerid, "Y"), pap_CarregarFloat(playerid, "Z"), pap_CarregarFloat(playerid, "Ang"), 0, 0, 0, 0, 0, 0);
// carrega as informaзхes (skin, x, y, z, ang) salvas no arquivo, se quiser aumentar a eficiкncia, coloque a skin e as cordenadas diretamente.
SpawnPlayer(playerid);
SetPlayerColor(playerid, COLOR_DESEMPREGADO);
SendClientMessage(playerid, COLOR_GREEN, "Registrado e logado.");
SendClientMessage(playerid, COLOR_GREEN, "Vocк tкm $10000 no banco para comeзar a viver e 100 de combustнvel.");
SendClientMessage(playerid, COLOR_GREEN, "Digite /ajuda para ver os comandos basicos.");
SendClientMessage(playerid, COLOR_GREEN, "Digite /tutorial para aprender a jogar.");
printf("O jogador %s (ID %d) acabou de se registrar",PlayerName(playerid),playerid);
}
return 1;
}
else if(dialogid == LOGIN)
{
if(!response)
{
SendClientMessage(playerid, COLOR_RED, "[ERRO] Vocк cancelou o login!");
Kick(playerid);
return 0;
}
if(!strlen(inputtext))
{
new name[MAX_PLAYER_NAME];
GetPlayerName(playerid, name, sizeof(name));
format(string, sizeof string, "Bem vindo(a) de volta ao server World Wicked\n\nNome de usuбrio: %s\n\nInsira sua senha:!", name);
ShowPlayerDialog(playerid, LOGIN, DIALOG_STYLE_INPUT, "Conta", string, "Logar!", "Cancelar.");
return 0;
}
if(strlen(inputtext) > 64)
{
new name[MAX_PLAYER_NAME];
GetPlayerName(playerid, name, sizeof(name));
format(string, sizeof string, "Bem vindo(a) de volta ao server World Wicked\n\nNome de usuбrio: %s\n\nInsira sua senha:!", name);
ShowPlayerDialog(playerid, LOGIN, DIALOG_STYLE_INPUT, "Conta", string, "Logar!", "Cancelar.");
return 0;
}
new senha[MAX_PCOD_CHAR];
psf_CopiarStr(senha, inputtext); // Copiando a senha que o jogador digitou (de inputtext) para a variбvel 'senha'
if(pap_VerificarSenha(playerid, senha))
{
PLAYERLIST_authed[playerid] = 1;
LogarPlayer(playerid);
printf("O jogador %s (ID %d) acabou de se logar", PlayerName(playerid), playerid);
}
else
{
new name[MAX_PLAYER_NAME];
GetPlayerName(playerid, name, sizeof(name));
format(string, sizeof string, "Bem vindo(a) de volta ao server World Wicked\n\nNome de usuбrio: %s\n\nInsira sua senha:!", name);
ShowPlayerDialog(playerid, LOGIN, DIALOG_STYLE_INPUT, "Conta", string, "Logar!", "Cancelar.");
}
}
//Tem umas outras dialogs aqui, mais sгo do meu sistema de Luta. . .