Advertisement
Aninhaah

FS Registro e Login v1.2

Mar 20th, 2012
1,126
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 7.82 KB | None | 0 0
  1. #include <a_samp>
  2. #include <DOF2>
  3.  
  4. #define FileUsers       "Contas/%s.ini"
  5. #define DIALOG_REGISTRO 1
  6. #define DIALOG_LOGIN 2
  7. #define DIALOG_MUDAR_NICK 3
  8. #define DIALOG_MUDAR_SENHA 4
  9.  
  10. new SenhaErrada[MAX_PLAYERS];
  11. new bool: Conectado[MAX_PLAYERS] = false;
  12.  
  13. stock ReturnFileUser(playerid)
  14. {
  15.     new File[156],Name[MAX_PLAYER_NAME];
  16.     GetPlayerName(playerid,Name,sizeof(Name));
  17.     format(File,sizeof(File),FileUsers,Name);
  18.     return File;
  19. }
  20.  
  21. public OnFilterScriptInit()
  22. {
  23.     print("\n--------------------------------------");
  24.     print(" FS criado por Aninhaah");
  25.     print("--------------------------------------\n");
  26.     return 1;
  27. }
  28.  
  29. public OnFilterScriptExit()
  30. {
  31.     DOF2_Exit();
  32.     return 1;
  33. }
  34.  
  35.  
  36. public OnPlayerConnect(playerid)
  37. {
  38.     if(!DOF2_FileExists(ReturnFileUser(playerid))) return SendClientMessage(playerid,0x56FF00FF,"Olá, sua conta não é registrada. Para ter uma conta e salvar seus dados use /registrar.");
  39.     else if(DOF2_FileExists(ReturnFileUser(playerid))) return SendClientMessage(playerid,0x56FF00FF,"Olá, sua conta já é registrada. Para carregar seus dados use /logar.");
  40.     return 1;
  41. }
  42.  
  43. public OnPlayerDisconnect(playerid, reason)
  44. {
  45.     if(Conectado[playerid] == true)
  46.     {
  47.         SalvarPlayer(playerid);
  48.     }
  49.     Conectado[playerid] = false;
  50.     return 1;
  51. }
  52.  
  53. public OnPlayerCommandText(playerid, cmdtext[])
  54. {
  55.     if (strcmp(cmdtext, "/registrar",true) == 0)
  56.     {
  57.         if(DOF2_FileExists(ReturnFileUser(playerid))) return SendClientMessage(playerid,0xFF6C34FF,"Essa conta já está registrada.");
  58.         new string[115];
  59.         format(string,sizeof(string),"Seu nome: %s\nDeseja mesmo se registrar? Se sim, digite uma senha, se não, clique em Cancelar", PlayerName(playerid));
  60.         ShowPlayerDialog(playerid, DIALOG_REGISTRO, DIALOG_STYLE_INPUT,"[NOME] - Registro", string, "Registrar","Cancelar");
  61.         return 1;
  62.     }
  63.     if(strcmp(cmdtext,"/logar", true) == 0)
  64.     {
  65.         if(!DOF2_FileExists(ReturnFileUser(playerid))) return SendClientMessage(playerid,0xFF6C34FF,"Essa conta não está registrada. Se registre primeiro usando /registrar.");
  66.         if(Conectado[playerid] == true) return SendClientMessage(playerid,-1,"Você já está logado!");
  67.         ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_INPUT,"[Nome] - Login", "Para logar digite sua senha", "Logar","Cancelar");
  68.         return 1;
  69.     }
  70.     if(strcmp(cmdtext, "/mudarnick", true) == 0)
  71.     {
  72.         if(Conectado[playerid] == false) return SendClientMessage(playerid,0xFF6C34FF,"Para usar esse comando você precisa ter se registrado ou logado.");
  73.         ShowPlayerDialog(playerid, DIALOG_MUDAR_NICK, DIALOG_STYLE_INPUT,"[Nome do server] - Mudança de nick","Digite seu novo nick!","Trocar","Cancelar");
  74.         return 1;
  75.     }
  76.     if(strcmp(cmdtext, "/mudarsenha", true) == 0)
  77.     {
  78.         if(Conectado[playerid] == false) return SendClientMessage(playerid,0xFF6C34FF,"Para usar esse comando você precisa ter se registrado ou logado.");
  79.         ShowPlayerDialog(playerid, DIALOG_MUDAR_SENHA, DIALOG_STYLE_INPUT,"[Nome do server] - Mudança de senha","Digite sua nova senha!","Trocar","Cancelar");
  80.         return 1;
  81.     }
  82.     return 0;
  83. }
  84.  
  85. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
  86. {
  87.     if(dialogid == DIALOG_REGISTRO)
  88.     {
  89.         if(!response) return SendClientMessage(playerid,-1,"Você decidiu não se registrar. Seus dados não serão salvos.");
  90.         if(!strlen(inputtext)) return ShowPlayerDialog(playerid,DIALOG_REGISTRO,DIALOG_STYLE_INPUT,"[NOME] - Registro","Digite uma senha para se registrar","Registrar","Cancelar");
  91.         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");
  92.         new string[70];
  93.         format(string,sizeof(string),"Conta registrada com sucesso! Senha: %s", inputtext);
  94.         SendClientMessage(playerid,-1,string);
  95.         DOF2_CreateFile(ReturnFileUser(playerid));
  96.         DOF2_SetString(ReturnFileUser(playerid),"Senha",inputtext);
  97.         DOF2_SaveFile();
  98.         SetSpawnInfo(playerid, 0, 0, 1722.5123, -1912.7931, 13.5647, 269.15, 0, 0, 0, 0, 0, 0);
  99.         SpawnPlayer(playerid);
  100.         GivePlayerMoney(playerid, 1000);
  101.         GivePlayerWeapon(playerid, 24, 50);
  102.         SetPlayerScore(playerid,1);
  103.         Conectado[playerid] = true;
  104.         return 1;
  105.     }
  106.     if(dialogid == DIALOG_LOGIN)
  107.     {
  108.         if(!response) return SendClientMessage(playerid,0xC5B43AAA,"Você decidiu não logar. Seus dados não serão carregados");
  109.         if(!strlen(inputtext)) return ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_INPUT,"[NOME] - Login","Digite sua senha","Logar","Cancelar");
  110.         if(strcmp(inputtext,DOF2_GetString(ReturnFileUser(playerid),"Senha"),true) == 0)
  111.         {
  112.             SetSpawnInfo(playerid, 0, 0, 1722.5123, -1912.7931, 13.5647, 269.15, 0, 0, 0, 0, 0, 0);
  113.             SpawnPlayer(playerid);
  114.             GivePlayerMoney(playerid, 1000);
  115.             GivePlayerWeapon(playerid, 24, 50);
  116.             Conectado[playerid] = true;
  117.             CarregarPlayer(playerid);
  118.             SendClientMessage(playerid,0x2CB60AAA,"<!>Logado com sucesso!");
  119.         }
  120.         else
  121.         {
  122.             if(SenhaErrada[playerid] == 4)
  123.             {
  124.                 SendClientMessage(playerid,0xC5B43AAA,"Você foi banido por errar a senha 5 vezes.");
  125.                 Ban(playerid);
  126.             }
  127.             else if(SenhaErrada[playerid] < 4)
  128.             {
  129.                 SenhaErrada[playerid] ++;
  130.                 ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_INPUT,"[NOME] - Login","Senha incorreta, tente novamente. Se errar a senha 5 vezes será banido!","Logar","Sair");
  131.             }
  132.         }
  133.         return 1;
  134.     }
  135.     if(dialogid == DIALOG_MUDAR_NICK)
  136.     {
  137.         if(!response) return SendClientMessage(playerid,0xC5B43AAA,"Você cancelou a troca do nick.");
  138.         if(!strlen(inputtext)) return ShowPlayerDialog(playerid, DIALOG_MUDAR_NICK, DIALOG_STYLE_INPUT,"[Nome do server] - Mudança de nick","Digite seu novo nick","Trocar","Cancelar");
  139.         new arq[70];
  140.         format(arq,sizeof(arq),"Contas/%s ini", inputtext);
  141.         if(fexist(arq)) return ShowPlayerDialog(playerid,DIALOG_MUDAR_NICK,DIALOG_STYLE_INPUT, "[Nome do server] - Mudança de nick","ERRO: Esse nick já existe","Trocar","Cancelar");
  142.         new string[60];
  143.         if(fexist(ReturnFileUser(playerid)))
  144.         {
  145.             new string2[50];
  146.             format(string2,sizeof(string2),"Contas/%s.ini", inputtext);
  147.             DOF2_RenameFile(ReturnFileUser(playerid),string2);
  148.             DOF2_SaveFile();
  149.         }
  150.         format(string, sizeof(string), "Parabéns! Seu novo nome é {FFFF34}%s", inputtext);
  151.         SendClientMessage(playerid, -1, string);
  152.         SetPlayerName(playerid, inputtext);
  153.         return 1;
  154.     }
  155.     if(dialogid == DIALOG_MUDAR_SENHA)
  156.     {
  157.         if(!response) return SendClientMessage(playerid,0xC5B43AAA,"Você cancelou a troca da senha.");
  158.         if(!strlen(inputtext)) return ShowPlayerDialog(playerid, DIALOG_MUDAR_SENHA,DIALOG_STYLE_INPUT,"[Nome do server] - Mudança de senha","Digite sua nova senha.","Trocar","Cancelar");
  159.         if(fexist(ReturnFileUser(playerid)))
  160.         {
  161.             DOF2_SetString(ReturnFileUser(playerid),"Senha",inputtext);
  162.             DOF2_SaveFile();
  163.         }
  164.         new string[60];
  165.         format(string, sizeof(string), "Parabéns! Sua nova senha é {FFFF34}%s", inputtext);
  166.         SendClientMessage(playerid, -1, string);
  167.         return 1;
  168.     }
  169.     return 1;
  170. }
  171. stock SalvarPlayer(playerid)
  172. {
  173.     if(DOF2_FileExists(ReturnFileUser(playerid)))
  174.     {
  175.         DOF2_SetInt(ReturnFileUser(playerid),"Level",GetPlayerScore(playerid));
  176.         DOF2_SetInt(ReturnFileUser(playerid),"Dinheiro",GetPlayerMoney(playerid));
  177.         DOF2_SaveFile();
  178.     }
  179. }      
  180.  
  181. stock CarregarPlayer(playerid)
  182. {
  183.     if(DOF2_FileExists(ReturnFileUser(playerid)))
  184.     {
  185.         SetPlayerScore(playerid, DOF2_GetInt(ReturnFileUser(playerid), "Level"));
  186.         SetPlayerMoney(playerid, DOF2_GetInt(ReturnFileUser(playerid), "Dinheiro"));
  187.     }
  188. }
  189.  
  190. stock PlayerName(playerid)
  191. {
  192.     new Name[MAX_PLAYERS];
  193.     GetPlayerName(playerid, Name, sizeof(Name));
  194.     return Name;
  195. }
  196.  
  197. stock SetPlayerMoney(playerid,ammount)
  198. {
  199.      ResetPlayerMoney(playerid);
  200.      GivePlayerMoney(playerid,ammount);
  201.      return 1;
  202. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement