12.02.2013, 16:36
Olб pessoal, eu coloquei um sistema de login no meu servidor sу quк; Quando vai logar, vocк coloca qualquer senha que vai, e quando vocк nгo digita senha ele nгo vai.
Vou postar os comandos.
Eu coloquei por ordem, se alguйm nгo entender eu faзo melhor xP
Valeu..
Vou postar os comandos.
pawn Код:
define DIALOG_REGISTRO 1
#define DIALOG_LOGIN 2
#define CONTAS "Contas/%s.ini"
#define TXT_RLOGIN "{FFFFFF}Nick: %s Registrado\n\n Digite Sua Senha Para Logar"
#define TXT_LOGIN "{FFFFFF}Olб Vocк Esta Registrado\nStatus Da Conta\nNick: %s Registrado\n\n Digite Sua Senha Para Logar"
#define TXT_NREGISTER "{FFFFFF}Olб, Vocк Nгo Esta Registrado\nStatus Da Conta\nNick: %s \nDigite Uma Senha Para Continuar"
#define TXT_RL "Pronto vocк esta registrado \nAgora digite Sua Senha Para Logar-Se"
new TotalMatou[MAX_PLAYERS];
new TotalMorreu[MAX_PLAYERS];
new TotalLogou[MAX_PLAYERS];
forward SalvarLevel(playerid);
forward CarregarLevel(playerid);
SalvarPlayer(playerid)
{
new Nome[MAX_PLAYER_NAME];
GetPlayerName(playerid, Nome, sizeof(Nome));
new String[50];
format(String, sizeof(String), CONTAS, Nome);
dini_IntSet(String,"Dinheiro", GetPlayerMoney(playerid));
dini_IntSet(String,"Total Matou", TotalMatou[playerid]);
dini_IntSet(String,"Total Morreu", TotalMorreu[playerid]);
dini_IntSet(String,"Total Logou", TotalLogou[playerid]);
return 1;
}
CarregarPlayer(playerid)
{
new Nome[MAX_PLAYER_NAME];
GetPlayerName(playerid, Nome, sizeof(Nome));
new String[50];
format(String, sizeof(String), CONTAS, Nome);
GivePlayerMoney(playerid, dini_Int(String,"Dinheiro"));
TotalMatou[playerid] = dini_Int(String, "Total Matou");
TotalMorreu[playerid] = dini_Int(String, "Total Morreu");
TotalLogou[playerid] = dini_Int(String, "Total Logou");
return 1;
}
pawn Код:
#define FileUsers "Contas/%s.ini"
#define DIALOG_REGISTRO 1
#define DIALOG_LOGIN 2
pawn Код:
SalvarPlayer(i);
pawn Код:
new arquivo[34], playername[MAX_PLAYER_NAME]; //Criamos as vбriaveos que irгo armazenar o arquivo e o nome do jogador
GetPlayerName(playerid, playername, sizeof(playername)); //Getamos o nome do player
format(arquivo, sizeof(arquivo), "Contas/%s", playername); //Formatamos o arquivo de acordo com o nome do player (Contas/NOME)
pDados[playerid][Organizacao] = DOF2_GetInt(arquivo, "Organizaзгo");
pDados[playerid][Cargo] = DOF2_GetInt(arquivo, "Cargo");
SpawnPlayer(playerid); //Dб SPAWN no player
new Nome[MAX_PLAYER_NAME];
GetPlayerName(playerid, Nome, sizeof(Nome));
new String[100];
format(String, sizeof(String), CONTAS, Nome);
if(!dini_Exists(String))
{
format(String, sizeof(String), TXT_NREGISTER, Nome);
ShowPlayerDialog(playerid, DIALOG_REGISTRO, 3, "Registro", String, "Registrar", "Cancelar");
}
else
{
format(String, sizeof(String),TXT_LOGIN, Nome);
ShowPlayerDialog(playerid, DIALOG_LOGIN, 3, "Registro Com Sucesso", String, "Logar", "Cancelar");
}
pawn Код:
new arquivo[34], playername[MAX_PLAYER_NAME]; //Criamos as vбriaveos que irгo armazenar o arquivo e o nome do jogador
GetPlayerName(playerid, playername, sizeof(playername)); //Getamos o nome do player
format(arquivo, sizeof(arquivo), "Contas/%s", playername); //Formatamos o arquivo de acordo com o nome do player (Contas/NOME)
if(DOF2_FileExists(arquivo)) //Se a Conta existir
{
DOF2_SetInt(arquivo, "Organizaзгo", pDados[playerid][Organizacao]); //Setamos o valor de "pDados[playerid][Organizacao]" no "arquivo", com a TAG "Organizaзгo"
DOF2_SetInt(arquivo, "Cargo", pDados[playerid][Cargo]); //Setamos o valor de "pDados[playerid][Cargo]" no "arquivo", com a TAG "Cargo"
}
else //Se a conta nгo esxitir
{
DOF2_CreateFile(arquivo); //Cria o arquivo com os Dados do player
DOF2_SetInt(arquivo, "Organizaзгo", pDados[playerid][Organizacao]); //Setamos o valor de "pDados[playerid][Organizacao]" no "arquivo", com a TAG "Organizaзгo"
DOF2_SetInt(arquivo, "Cargo", pDados[playerid][Cargo]); //Setamos o valor de "pDados[playerid][Cargo]" no "arquivo", com a TAG "Cargo"
}
SalvarPlayer(playerid);
pawn Код:
if(dialogid == DIALOG_REGISTRO)
{
if(response)
{
if(!strlen(inputtext))
{
new Nome[MAX_PLAYER_NAME];
GetPlayerName(playerid, Nome, sizeof(Nome));
new String[1000];
format(String, sizeof(String), TXT_NREGISTER, Nome);
ShowPlayerDialog(playerid, DIALOG_REGISTRO, 3, "Registro", String, "Registrar", "Cancelar");
SendClientMessage(playerid,0x1E90FFAA,"Senha incorreta !!");
return 1;
}
new Nome[MAX_PLAYER_NAME];
GetPlayerName(playerid, Nome, sizeof(Nome));
new String[100];
format(String, sizeof(String), CONTAS, Nome);
dini_Create(String);
dini_Set(String,"Senha",inputtext);
dini_IntSet(String,"Dinheiro",100000);
dini_IntSet(String,"Vida",50);
dini_IntSet(String,"TotalMatou",0);
dini_IntSet(String,"Total Morreu",0);
dini_IntSet(String,"Total Logou",0);
ShowPlayerDialog(playerid, DIALOG_LOGIN, 3, "Login", TXT_RL, "Logar", "Cancelar");
return 1;
}
else
{
SendClientMessage(playerid, 0xFF0000AA, "Voce Foi Kickado||Motivo: Nгo quer se registrar");
Kick(playerid);
return 1;
}
}
if(dialogid == DIALOG_LOGIN)
{
if(response)
{
if(!strlen(inputtext))
{
new Nome[MAX_PLAYER_NAME];
GetPlayerName(playerid, Nome, sizeof(Nome));
new String[1000];
format(String, sizeof(String),TXT_LOGIN, Nome);
ShowPlayerDialog(playerid, DIALOG_LOGIN, 3, "Registro", String, "Logar", "Cancelar");
SendClientMessage(playerid,0x1E90FFAA,"Senha Incorreta !");
return 1;
}
new Nome[MAX_PLAYER_NAME];
GetPlayerName(playerid, Nome, sizeof(Nome));
new String[100];
format(String, sizeof(String), CONTAS, Nome);
if(!strcmp(inputtext,dini_Get(String,"Senha"),true))
{
CarregarPlayer(playerid);
TotalLogou[playerid]++;
SpawnPlayer(playerid);
return 1;
}
else
{
SendClientMessage(playerid,0x00FF00AA,"Senha incorreta digite-a novamente");
format(String, sizeof(String), TXT_RLOGIN, Nome);
ShowPlayerDialog(playerid, DIALOG_LOGIN, 3, "Registro", String, "Logar", "Cancelar");
}
return 1;
}
else
{
SendClientMessage(playerid, 0xFF0000AA, "Voce Foi Kickado||Motivo:Nгo quer logar");
Kick(playerid);
return 1;
}
}
Eu coloquei por ordem, se alguйm nгo entender eu faзo melhor xP
Valeu..