16.04.2011, 21:31
Код:
#include <a_samp> #include <dudb> #include <dini> #define FILTERSCRIPT #if defined FILTERSCRIPT #pragma unused ret_memcpy #define Registro 0 #define Login 1 new arquivo[128]; new nome[MAX_PLAYER_NAME]; public OnFilterScriptInit() { print("\n--------------------------------------"); print("[FeK] - Login Box ...::: Iniciado :::..."); print(" Por: Falcon_Sixe "); print("--------------------------------------\n"); return 1; } public OnFilterScriptExit() { return 1; } #endif public OnPlayerConnect(playerid) { new string[128]; GetPlayerName(playerid, nome, sizeof(nome)); format(arquivo,sizeof(arquivo),"/Arquivos/Contas/%s.ini",nome); if(!fexist(arquivo)) { format(string, sizeof string, "Vocк Nгo Possui Registro\n\nNome: %s\n\nInsira uma Senha para se Registrar", nome); ShowPlayerDialog(playerid, Registro, DIALOG_STYLE_INPUT, "-(Servidor)-", string, "Registrar", "Sair"); } if(fexist(arquivo)) { format(string, sizeof string, "Vocк jб Possui Registro\n\nNome: %s\n\nInsira sua senha para que possa logar:", nome); ShowPlayerDialog(playerid, Login, DIALOG_STYLE_INPUT, "-(Servidor)-", string, "Logar", "Sair"); } return 1; } public OnPlayerDisconnect(playerid, reason) { GetPlayerName(playerid, nome, sizeof(nome)); format(arquivo,sizeof(arquivo),"/Arquivos/Contas/%s.ini",nome); if(fexist(arquivo)) { dini_IntSet(arquivo,"Dinheiro",GetPlayerMoney(playerid)); dini_IntSet(arquivo,"Level", GetPlayerScore(playerid)); dini_IntSet(arquivo,"Skin", GetPlayerSkin(playerid)); dini_IntSet(arquivo,"LevelProcurado", GetPlayerWantedLevel(playerid)); } return 1; } public OnPlayerSpawn(playerid) { SetPlayerSkin(playerid, dini_Int(arquivo,"Skin")); return 1; } public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]) { new string[128]; if(dialogid == Registro) { if(response) { GetPlayerName(playerid, nome, sizeof(nome)); if(strlen(inputtext) == 0) { format(string, sizeof string, "Vocк Nгo Possui Registro\n\nNome: %s\n\nInsira uma Senha para se Registrar", nome); ShowPlayerDialog(playerid, Registro, DIALOG_STYLE_INPUT, "-(Servidor)-", string, "Registrar", "Sair"); return 0; } format(arquivo,sizeof(arquivo),"/Arquivos/Contas/%s.ini",nome); if(!fexist(arquivo)) { dini_Create(arquivo); dini_IntSet(arquivo,"Password", udb_hash(inputtext)); format(string, sizeof string, "Vocк jб Possui Registro\n\nNome: %s\n\nInsira sua senha para que possa logar:", nome); ShowPlayerDialog(playerid, Login, DIALOG_STYLE_INPUT, "-(Servidor)-", string, "Logar", "Sair"); PlayerPlaySound(playerid,1057,0.0,0.0,0.0); GetPlayerName(playerid, nome, sizeof(nome)); printf("[Registro] %s se Registrou-se", nome); } } else { SendClientMessage(playerid, 0xFF0000FF, "Vocк saiu do Servidor sem Se Registrar !!"); SendClientMessage(playerid, 0x80FF00AA, "Volte Sempre..."); Kick(playerid); } } if(dialogid == Login) { if(response) { if(strlen(inputtext) == 0) { GetPlayerName(playerid, nome, sizeof(nome)); format(string, sizeof string, "Vocк jб Possui Registro\n\nNome: %s\n\nInsira sua senha para que possa logar:", nome); ShowPlayerDialog(playerid, Login, DIALOG_STYLE_INPUT, "-(Servidor)-", string, "Logar", "Sair"); return 0; } GetPlayerName(playerid, nome, sizeof(nome)); format(arquivo,sizeof(arquivo),"/Arquivos/Contas/%s.ini",nome); if(fexist(arquivo)) { new password = dini_Int(arquivo, "Password"); if(udb_hash(inputtext) != password) { GetPlayerName(playerid, nome, sizeof(nome)); format(string, sizeof string, "Vocк jб Possui Registro\n\nNome: %s\n\nInsira sua senha para que possa logar:", nome); ShowPlayerDialog(playerid, Login, DIALOG_STYLE_INPUT, "-(Servidor)-", string, "Logar", "Sair"); SendClientMessage(playerid, 0xFF0000FF, "-(Servidor)- Senha Incorreta. Tente Novamente"); return 1; } if(udb_hash(inputtext) == password) { SpawnPlayer(playerid); SetPlayerScore(playerid, dini_Int(arquivo,"Level")); SetPlayerMoney(playerid, dini_Int(arquivo,"Dinheiro")); SetPlayerWantedLevel(playerid, dini_Int(arquivo,"LevelProcurado")); GetPlayerName(playerid, nome, sizeof(nome)); printf("[Login] %s Logou no Servidor", nome); return 1; } } } else { SendClientMessage(playerid, 0xFF0000FF, "Vocк saiu do Servidor sem Se Logar !!"); SendClientMessage(playerid, 0x80FF00AA, "Volte Sempre..."); Kick(playerid); } } return 1; }