29.08.2013, 23:45
Olб, o meu sistema de registro login nгo estб querendo salvar! Eu vou na pasta contas salva, sу que no jogo , eu registro ,saio do server, entro no server e tenho que registrar de novo!
Code:
O dialog de login / registro:
Alguйm ajuda?
Code:
pawn Код:
public OnPlayerDisconnect(playerid, reason)
{
new arquivo[40], name[MAX_PLAYER_NAME];
GetPlayerName(playerid, name, 32);
format(arquivo, 40, "Contas/%s.ini", name);
if(DOF2_FileExists(arquivo))
{
Player[playerid][Dinheiro] = GetPlayerMoney(playerid);
DOF2_SetInt(arquivo, "Senha", Player[playerid][Senha]);
DOF2_SetInt(arquivo, "Score", GetPlayerScore(playerid));
DOF2_SetInt(arquivo, "Dinheiro", GetPlayerMoney(playerid));
DOF2_SetInt(arquivo, "Habilitaзao", Player[playerid][Habilitacao]);
DOF2_SetInt(arquivo, "Admin", pAdmin[playerid][Level]);
DOF2_SetInt(arquivo, "Profissao", pProf[playerid][Prof]);
DOF2_SetInt(arquivo, "Organizaзгo", pDados[playerid][Organizacao]);
DOF2_SetInt(arquivo, "Cargo", pDados[playerid][Cargo]);
DOF2_SaveFile();
}
return 1;
}
pawn Код:
/* REGISTRO */
if(dialogid == Registro)
{
if(!strval(inputtext))
{
ShowPlayerDialog(playerid, Registro, DIALOG_STYLE_INPUT, "Registro", "{f4e60c}Digite apenas nъmeros!\n{FF0000}Digite sua senha novamente para se registrar!", "Confirma", "Cancelar");
return 1;
}
if(!response)
{
Kick(playerid);
return 1;
}
else
{
Player[playerid][Senha] = strval(inputtext);
DOF2_CreateFile(arquivo);
Player[playerid][Dinheiro] = GetPlayerMoney(playerid);
DOF2_SetInt(arquivo, "Senha", Player[playerid][Senha]);
DOF2_SetInt(arquivo, "Score", GetPlayerScore(playerid));
DOF2_SetInt(arquivo, "Dinheiro", GetPlayerMoney(playerid));
DOF2_SetInt(arquivo, "Habilitaзao", Player[playerid][Habilitacao]);
DOF2_SetInt(arquivo, "Admin", pAdmin[playerid][Level]);
DOF2_SetInt(arquivo, "Profissao", pProf[playerid][Prof]);
DOF2_SetInt(arquivo, "Organizaзгo", pDados[playerid][Organizacao]);
DOF2_SetInt(arquivo, "Cargo", pDados[playerid][Cargo]);
DOF2_SaveFile();
GivePlayerMoney(playerid, 2000);
format(Messages, sizeof(Messages), "{f4e60c}Seu Nick: {FF0000}%s\n\n{FF0000}Digite sua Senha para logar", name);
ShowPlayerDialog(playerid, Login, DIALOG_STYLE_PASSWORD, "Logar", Messages, "Confirma", "Cancelar");
}
}
/* LOGIN */
if(dialogid == Login)
{
if(!strval(inputtext))
{
format(Messages, sizeof(Messages), "{f4e60c}Seu Nick: {FF0000}%s\n\n{FF0000}Digite sua Senha para logar", name);
ShowPlayerDialog(playerid, Login, DIALOG_STYLE_PASSWORD, "Logar", Messages, "Confirma", "Cancelar");
return 1;
}
if(!response)
{
Kick(playerid);
return 1;
}
else
{
Player[playerid][Senha] = DOF2_GetInt(arquivo, "Senha");
if(strval(inputtext) == Player[playerid][Senha])
{
Player[playerid][Score] = DOF2_GetInt(arquivo, "Score");
SetPlayerScore(playerid, Player[playerid][Score]);
Player[playerid][Dinheiro] = DOF2_GetInt(arquivo, "Dinheiro");
GivePlayerMoney(playerid, Player[playerid][Dinheiro]);
Player[playerid][Habilitacao] = DOF2_GetInt(arquivo, "Habilitaзao");
pAdmin[playerid][Level] = DOF2_GetInt(arquivo, "Admin");
pProf[playerid][Prof] = DOF2_GetInt(arquivo, "Profissao");
pDados[playerid][Organizacao] = DOF2_GetInt(arquivo, "Organizaзгo");
pDados[playerid][Cargo] = DOF2_GetInt(arquivo, "Cargo");
SpawnPlayer(playerid);
}
else
{
ShowPlayerDialog(playerid, Login, DIALOG_STYLE_PASSWORD, "Logar", "{f4e60c}Vocк digitou sua senha errada, digite-a novamente para logar!\nSe errar 3 vezes vocк serб kikado!", "Confirma", "Cancelar");
ErroSenha[playerid]++;
if(ErroSenha[playerid] == 3)
{
SendClientMessage(playerid, -1, "{3cff00}[INFO]{FFFFFF}Voce foi kikado por errar a senha 3 vezes!");
Kick(playerid);
return 1;
}
}
}
}