Conta -
xxRaioxx - 29.08.2013
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:
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;
}
O dialog de login / registro:
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;
}
}
}
}
Alguйm ajuda?
Re: Conta -
PT - 29.08.2013
manda o OnPlayerConnect
Re: Conta -
xxRaioxx - 29.08.2013
##RESOLVIDO ! eu coloquei em .ini e o outro nгo rs.
Re: Conta -
PT - 29.08.2013
no seu caso deve estar no OnPlayerRequestClass manda ele ae pf
Respuesta: Conta -
ViniKuliveguisky - 29.08.2013
Disconnect:
DOF2_FileExists(arquivo);
Na minha opniгo desnecessбrio pois no Registro ele criou entгo obviamente nгo tem como deletar ele nй. (sу se vc excluir enquanto o player ta on).
Arruma isso ai
Re: Conta -
xxRaioxx - 30.08.2013
Tirei isso e ainda continua Vini!
PT aqui :
pawn Код:
public OnPlayerRequestClass(playerid, classid)
{
SetPlayerPos(playerid, 1482.9203,-1735.5593,13.4603);
SetPlayerCameraPos(playerid, 1482.9203,-1735.5593,13.4603);
SetPlayerCameraLookAt(playerid, 1482.9203,-1735.5593,13.4603);
new arquivo[100];
new archiveNew[40], name[MAX_PLAYER_NAME];
new Messages[182];
GetPlayerName(playerid, name, 32);
format(archiveNew, 40, "Contas/%s.txt", name);
if(DOF2_FileExists(arquivo))
{
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");
}
else
{
ShowPlayerDialog(playerid, Registro, DIALOG_STYLE_INPUT, "Registro", "{f4e60c}Vocк ainda nгo й Registrado\n{FF0000}Digite uma senha para se registrar!", "Confirma", "Cancelar");
}
return 1;
}
Eu escrevi resolvido,mas eu reiniciei o server e nгo deu :\ .
Re: Conta -
xxRaioxx - 30.08.2013
Tirei isso e ainda continua Vini!
PT aqui :
pawn Код:
public OnPlayerRequestClass(playerid, classid)
{
SetPlayerPos(playerid, 1482.9203,-1735.5593,13.4603);
SetPlayerCameraPos(playerid, 1482.9203,-1735.5593,13.4603);
SetPlayerCameraLookAt(playerid, 1482.9203,-1735.5593,13.4603);
new arquivo[100];
new archiveNew[40], name[MAX_PLAYER_NAME];
new Messages[182];
GetPlayerName(playerid, name, 32);
format(archiveNew, 40, "Contas/%s.txt", name);
if(DOF2_FileExists(arquivo))
{
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");
}
else
{
ShowPlayerDialog(playerid, Registro, DIALOG_STYLE_INPUT, "Registro", "{f4e60c}Vocк ainda nгo й Registrado\n{FF0000}Digite uma senha para se registrar!", "Confirma", "Cancelar");
}
return 1;
}
Eu escrevi resolvido,mas eu reiniciei o server e nгo deu :\ .