21.01.2012, 15:41
Galera eu fiz um sistema de registro em fini para meu GM de Mata-Mata, fiz um bem simples para salvar sу level e grana, por quк sou novo na areб tando de pawno como de Fini.
Oque acontece: Na hora de registrar da certo, mais na hora de logar sempre da senha invбlida. se alguйm pode ajudar agradeзo.
aqui estб o meu sistema:
As Forwards
A define do dialog
OnPlayerConnect
OnPlayerDisconnect
OnPlayerRequestSpawn
OnPlayerSpawn
OnDialogResponse
e as publics da forward
Oque acontece: Na hora de registrar da certo, mais na hora de logar sempre da senha invбlida. se alguйm pode ajudar agradeзo.
aqui estб o meu sistema:
pawn Код:
enum pInfo
{
cKey[128],
cLevel,
cGrana,
cLog,
cReg
}
new UserInfo[pInfo][MAX_PLAYERS];
pawn Код:
forward OnPlayerLogin(playerid,password[]);
forward OnPlayerSave(playerid);
forward OnPlayerRegister(playerid,password[]);
pawn Код:
#define DIALOG_LOGIN 1
pawn Код:
{
new string[80];
new string2[160];
GetPlayerName(playerid, pName, sizeof(pName));
format(string, sizeof(string), "contas/%s.cfg", pName);
if(Fini_Exists(string))
{
format(string2, sizeof(string2), "Bem-Vindo ao MaTa MaTa ToP TeaMn\n\n{33CCFF}Nick: {FFFFFF}%s\n{33AA33}Conta registrada\n\n{FFFFFF}Digite Sua Senha para Entrar:", pName);
ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_INPUT,"{B22222}Login",string2,"Entrar","Sair",pName);
}
else
{
format(string2, sizeof(string2), "Bem-Vindo ao MaTa MaTa ToP TeaMn\n\n{33CCFF}Nick: {FFFFFF}%s\n{FF0000}Conta nгo registrada\n\n{FFFFFF}Digite Sua Senha para Registrar:", pName);
ShowPlayerDialog(playerid, DIALOG_LOGIN+1 ,DIALOG_STYLE_INPUT,"{B22222}Registro",string2,"Registrar","Cancelar");
}
return 1;
}
pawn Код:
{
OnPlayerSave(playerid);
UserInfo[cLog][playerid] = 0;
printf("Dados do ID:%d salvos com sucesso\n",playerid);
return 1;
}
pawn Код:
{
if(UserInfo[cLog][playerid] == 0)
{
SendClientMessage(playerid, CINZA, "Vocк nгo logou.");
return 0;
}
return 1;
}
pawn Код:
{
if(UserInfo[cLog][playerid] == 0)
{
TogglePlayerControllable(playerid, 0);
SendClientMessage(playerid, CINZA,"Vocк nгo Logou entгo estб CONGELADO");
return 1;
}
else
{
TogglePlayerControllable(playerid, 1);
return 1;
}
return 1;
}
pawn Код:
{
if(dialogid == DIALOG_LOGIN)
{
if(strlen(inputtext) == 0)
{
ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_INPUT,"{B22222}Registro","\n{B22222}Senha incorreta!\n{F5DEB3}Insira sua senha novamente:","Entrar","Sair");
}
else
{
OnPlayerLogin(playerid,inputtext);
}
return 1;
}
if(dialogid == DIALOG_LOGIN+1)
{
if(strlen(inputtext) == 0)
{
ShowPlayerDialog(playerid,DIALOG_LOGIN+1,DIALOG_STYLE_INPUT,"{B22222}Registro","\n{F5DEB3}Para registrar й necessбrio uma senha:","Registrar","Sair");
}
else
{
OnPlayerRegister(playerid,inputtext);
}
return 1;
}
return 1;
}
pawn Код:
public OnPlayerLogin(playerid,password[])
{
new string[80];
new pName[25];
GetPlayerName(playerid, pName, sizeof(pName));
format(string, sizeof(string), "contas/%s.cfg",pName);
Fini_OpenFile(string);
if(strcmp(password,Fini_GetStr("Senha"), true) == 0)
{
UserInfo[cLevel][playerid] = Fini_GetValue("Level");
UserInfo[cGrana][playerid] = Fini_GetValue("Grana");
UserInfo[cReg][playerid] = Fini_GetValue("Reg");
GivePlayerMoney(playerid, UserInfo[cGrana][playerid]);
UserInfo[cLog][playerid] = 1;
}
else
{
ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_INPUT,"{B22222}Logar","{B22222}Senha incorreta.\n{F5DEB3}Insira sua senha novamente:","Logar","Cancelar");
}
Fini_CloseFile();
}
public OnPlayerSave(playerid)
{
new string[80];
new pName[25];
GetPlayerName(playerid, pName, sizeof(pName));
format(string, sizeof(string), "contas/%s.cfg",pName);
Fini_OpenFile(string);
Fini_SetVal("Level", UserInfo[cLevel][playerid]);
Fini_SetVal("Grana", GetPlayerMoney(playerid));
Fini_SetVal("Reg", UserInfo[cReg][playerid]);
Fini_SaveFile(string);
Fini_CloseFile();
}
public OnPlayerRegister(playerid, password[])
{
new string[80];
new pName[25];
GetPlayerName(playerid, pName, sizeof(pName));
format(string, sizeof(string), "contas/%s.cfg",pName);
Fini_Create(string);
Fini_OpenFile(string);
Fini_SetStr("Senha", password);
Fini_SetVal("Grana", GetPlayerMoney(playerid));
Fini_SetVal("Level", UserInfo[cLevel][playerid]);
Fini_SetVal("Reg", 1);
Fini_SaveFile(string);
Fini_CloseFile();
new string[160];
format(string, sizeof(string), "Bem-Vindo ao MaTa MaTa ToP TeaMn\n\n{33CCFF}Nick: {FFFFFF}%s\n{33AA33}Conta registrada\n\n{FFFFFF}Digite Sua Senha para Entrar:", pName);
ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_INPUT,"{B22222}Logar",string,"Logar","Cancelar");
}