19.03.2012, 20:34
(
Последний раз редактировалось humildadeforever; 20.03.2012 в 18:41.
)
Acabei de ver que acabaram de postar um de registro e login tambйm, mas mesmo assim vou postar aqui um simplesinho que acabei de fazer.
O FS tem:
- Registro (/registrar) e login (/logar) opcional (Registra e loga somente se quiser, bom para servidores de DM);
- Apуs o registro nгo й necessбrio /logar e o comando de login й bloqueado;
- Se erra a senha 5 vezes o player й banido;
- Sistema em Dialog;
- Salvamento em DOF2 (apenas senha, por isso й simples u.u).
Erros ou bugs? Avise-me.
Talvez farei novas versхes salvando score, dinheiro, etc.
Sugestхes ou crнticas? Pode falar!
Crйditos? O FS eu sei que fui eu que fiz, nгo sei quem fez o DOF2 e eu nem ligo pra crйditos tambйm, se quiserem tirar to nem ligando.
Defeitos do FS: Todas mensagens sгo com a cor branca rsrs, nгo й colorido. '-'
Nгo se esqueзam de criar a pasta Contas em scriptfiles!
Pastebin: http://pastebin.com/FUzUrEwn
Rede Upload: FSRegistroELogin_RedeUpload.pwn - 4 KB
Adicionado:
-Sistema de salvar score;
-Sistema de salvar dinheiro.
Para salvar й necessбrio estar registrado/logado e para carregar й necessбrio /logar.
Downloads:
FS Registro e Login v1.1 - 5 KB
Include DOF2
Pastebin FS: http://pastebin.com/VwK6bmY0
Foi testado, mas se encontrar algum bug avise-me por favor!
Adicionado:
-Comando /mudarsenha (apenas para logados/registrados);
-Comando /mudarnick (apenas para logados/registrados);
-Mais mensagens e cores.
Pastebin:http://pastebin.com/A5SmtGKD
FS Registro e Login Opcional v1.2 - 8 KB
v1.0
O FS tem:
- Registro (/registrar) e login (/logar) opcional (Registra e loga somente se quiser, bom para servidores de DM);
- Apуs o registro nгo й necessбrio /logar e o comando de login й bloqueado;
- Se erra a senha 5 vezes o player й banido;
- Sistema em Dialog;
- Salvamento em DOF2 (apenas senha, por isso й simples u.u).
Erros ou bugs? Avise-me.
Talvez farei novas versхes salvando score, dinheiro, etc.
Sugestхes ou crнticas? Pode falar!
Crйditos? O FS eu sei que fui eu que fiz, nгo sei quem fez o DOF2 e eu nem ligo pra crйditos tambйm, se quiserem tirar to nem ligando.
Defeitos do FS: Todas mensagens sгo com a cor branca rsrs, nгo й colorido. '-'
Nгo se esqueзam de criar a pasta Contas em scriptfiles!
Pastebin: http://pastebin.com/FUzUrEwn
Rede Upload: FSRegistroELogin_RedeUpload.pwn - 4 KB
pawn Код:
#include <a_samp>
#include <DOF2>
#define FileUsers "Contas/%s.ini"
#define DIALOG_REGISTRO 1
#define DIALOG_LOGIN 2
new SenhaErrada[MAX_PLAYERS];
new bool: Conectado[MAX_PLAYERS] = false;
stock ReturnFileUser(playerid)
{
new File[156],Name[MAX_PLAYER_NAME];
GetPlayerName(playerid,Name,sizeof(Name));
format(File,sizeof(File),FileUsers,Name);
return File;
}
public OnFilterScriptInit()
{
print("\n--------------------------------------");
print(" FS criado por Aninhaah");
print("--------------------------------------\n");
return 1;
}
public OnFilterScriptExit()
{
DOF2_Exit();
return 1;
}
public OnPlayerConnect(playerid)
{
if(!DOF2_FileExists(ReturnFileUser(playerid))) return SendClientMessage(playerid,-1,"Olб, sua conta nгo й registrada. Para ter uma conta e salvar seus dados use /registrar.");
else if(DOF2_FileExists(ReturnFileUser(playerid))) return SendClientMessage(playerid,-1,"Olб, sua conta jб й registrada. Para carregar seus dados use /logar.");
return 1;
}
public OnPlayerDisconnect(playerid, reason)
{
Conectado[playerid] = false;
return 1;
}
public OnPlayerCommandText(playerid, cmdtext[])
{
if (strcmp(cmdtext, "/registrar",true) == 0)
{
if(DOF2_FileExists(ReturnFileUser(playerid))) return SendClientMessage(playerid,-1,"Essa conta jб estб registrada.");
new string[115];
format(string,sizeof(string),"Seu nome: %s\nDeseja mesmo se registrar? Se sim, digite uma senha, se nгo, clique em Cancelar", PlayerName(playerid));
ShowPlayerDialog(playerid, DIALOG_REGISTRO, DIALOG_STYLE_INPUT,"[NOME] - Registro", string, "Registrar","Cancelar");
return 1;
}
if(strcmp(cmdtext,"/logar", true) == 0)
{
if(!DOF2_FileExists(ReturnFileUser(playerid))) return SendClientMessage(playerid,-1,"Essa conta nгo estб registrada. Se registre primeiro usando /registrar.");
if(Conectado[playerid] == true) return SendClientMessage(playerid,-1,"Vocк jб estб logado!");
ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_INPUT,"[Nome] - Login", "Para logar digite sua senha", "Logar","Cancelar");
return 1;
}
return 0;
}
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
if(dialogid == DIALOG_REGISTRO)
{
if(!response) return SendClientMessage(playerid,-1,"Vocк decidiu nгo se registrar. Seus dados nгo serгo salvos.");
if(!strlen(inputtext)) return ShowPlayerDialog(playerid,DIALOG_REGISTRO,DIALOG_STYLE_INPUT,"[NOME] - Registro","Digite uma senha para se registrar","Registrar","Cancelar");
if(strlen(inputtext) < 5 || strlen(inputtext) > 12) return ShowPlayerDialog(playerid,DIALOG_REGISTRO,DIALOG_STYLE_INPUT,"[NOME] - Registro","A senha deve ter de 5 a 12 caracteres","Registrar","Cancelar");
new string[70];
format(string,sizeof(string),"Conta registrada com sucesso! Senha: %s", inputtext);
SendClientMessage(playerid,-1,string);
DOF2_CreateFile(ReturnFileUser(playerid));
DOF2_SetString(ReturnFileUser(playerid),"Senha",inputtext);
DOF2_SaveFile();
SetSpawnInfo(playerid, 0, 0, 1722.5123, -1912.7931, 13.5647, 269.15, 0, 0, 0, 0, 0, 0);
SpawnPlayer(playerid);
GivePlayerMoney(playerid, 1000);
GivePlayerWeapon(playerid, 24, 50);
SetPlayerScore(playerid,1);
Conectado[playerid] = true;
return 1;
}
if(dialogid == DIALOG_LOGIN)
{
if(!response) return SendClientMessage(playerid,-1,"Vocк decidiu nгo logar. Seus dados nгo serгo carregados");
if(!strlen(inputtext)) return ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_INPUT,"[NOME] - Login","Digite sua senha","Logar","Cancelar");
if(strcmp(inputtext,DOF2_GetString(ReturnFileUser(playerid),"Senha"),true) == 0)
{
SetSpawnInfo(playerid, 0, 0, 1722.5123, -1912.7931, 13.5647, 269.15, 0, 0, 0, 0, 0, 0);
SpawnPlayer(playerid);
GivePlayerMoney(playerid, 1000);
GivePlayerWeapon(playerid, 24, 50);
Conectado[playerid] = true;
}
else
{
if(SenhaErrada[playerid] == 4)
{
SendClientMessage(playerid,-1,"Vocк foi banido por errar a senha 5 vezes.");
Ban(playerid);
}
else if(SenhaErrada[playerid] < 4)
{
SenhaErrada[playerid] ++;
ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_INPUT,"[NOME] - Login","Senha incorreta, tente novamente. Se errar a senha 5 vezes serб banido!","Logar","Sair");
}
}
return 1;
}
return 1;
}
stock PlayerName(playerid)
{
new Name[MAX_PLAYERS];
GetPlayerName(playerid, Name, sizeof(Name));
return Name;
}
Atualizaзгo v1.1
Adicionado:
-Sistema de salvar score;
-Sistema de salvar dinheiro.
Para salvar й necessбrio estar registrado/logado e para carregar й necessбrio /logar.
Downloads:
FS Registro e Login v1.1 - 5 KB
Include DOF2
Pastebin FS: http://pastebin.com/VwK6bmY0
Foi testado, mas se encontrar algum bug avise-me por favor!
Atualizaзгo v1.2
Adicionado:
-Comando /mudarsenha (apenas para logados/registrados);
-Comando /mudarnick (apenas para logados/registrados);
-Mais mensagens e cores.
Pastebin:http://pastebin.com/A5SmtGKD
FS Registro e Login Opcional v1.2 - 8 KB