Advertisement
Aninhaah

Untitled

Mar 19th, 2012
1,443
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 4.52 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. new SenhaErrada[MAX_PLAYERS];
  8. new bool: Conectado[MAX_PLAYERS] = false;
  9.  
  10. stock ReturnFileUser(playerid)
  11. {
  12.     new File[156],Name[MAX_PLAYER_NAME];
  13.     GetPlayerName(playerid,Name,sizeof(Name));
  14.     format(File,sizeof(File),FileUsers,Name);
  15.     return File;
  16. }
  17.  
  18. public OnFilterScriptInit()
  19. {
  20.     print("\n--------------------------------------");
  21.     print(" FS criado por Aninhaah");
  22.     print("--------------------------------------\n");
  23.     return 1;
  24. }
  25.  
  26. public OnFilterScriptExit()
  27. {
  28.     DOF2_Exit();
  29.     return 1;
  30. }
  31.  
  32.  
  33. public OnPlayerConnect(playerid)
  34. {
  35.     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.");
  36.     else if(DOF2_FileExists(ReturnFileUser(playerid))) return SendClientMessage(playerid,-1,"Olá, sua conta já é registrada. Para carregar seus dados use /logar.");
  37.     return 1;
  38. }
  39.  
  40. public OnPlayerDisconnect(playerid, reason)
  41. {
  42.     Conectado[playerid] = false;
  43.     return 1;
  44. }
  45.  
  46. public OnPlayerCommandText(playerid, cmdtext[])
  47. {
  48.     if (strcmp(cmdtext, "/registrar",true) == 0)
  49.     {
  50.         if(DOF2_FileExists(ReturnFileUser(playerid))) return SendClientMessage(playerid,-1,"Essa conta já está registrada.");
  51.         new string[115];
  52.         format(string,sizeof(string),"Seu nome: %s\nDeseja mesmo se registrar? Se sim, digite uma senha, se não, clique em Cancelar", PlayerName(playerid));
  53.         ShowPlayerDialog(playerid, DIALOG_REGISTRO, DIALOG_STYLE_INPUT,"[NOME] - Registro", string, "Registrar","Cancelar");
  54.         return 1;
  55.     }
  56.     if(strcmp(cmdtext,"/logar", true) == 0)
  57.     {
  58.         if(!DOF2_FileExists(ReturnFileUser(playerid))) return SendClientMessage(playerid,-1,"Essa conta não está registrada. Se registre primeiro usando /registrar.");
  59.         if(Conectado[playerid] == true) return SendClientMessage(playerid,-1,"Você já está logado!");
  60.         ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_INPUT,"[Nome] - Login", "Para logar digite sua senha", "Logar","Cancelar");
  61.         return 1;
  62.     }
  63.     return 0;
  64. }
  65.  
  66. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
  67. {
  68.     if(dialogid == DIALOG_REGISTRO)
  69.     {
  70.         if(!response) return SendClientMessage(playerid,-1,"Você decidiu não se registrar. Seus dados não serão salvos.");
  71.         if(!strlen(inputtext)) return ShowPlayerDialog(playerid,DIALOG_REGISTRO,DIALOG_STYLE_INPUT,"[NOME] - Registro","Digite uma senha para se registrar","Registrar","Cancelar");
  72.         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");
  73.         new string[70];
  74.         format(string,sizeof(string),"Conta registrada com sucesso! Senha: %s", inputtext);
  75.         SendClientMessage(playerid,-1,string);
  76.         DOF2_CreateFile(ReturnFileUser(playerid));
  77.         DOF2_SetString(ReturnFileUser(playerid),"Senha",inputtext);
  78.         DOF2_SaveFile();
  79.         SetSpawnInfo(playerid, 0, 0, 1722.5123, -1912.7931, 13.5647, 269.15, 0, 0, 0, 0, 0, 0);
  80.         SpawnPlayer(playerid);
  81.         GivePlayerMoney(playerid, 1000);
  82.         GivePlayerWeapon(playerid, 24, 50);
  83.         SetPlayerScore(playerid,1);
  84.         Conectado[playerid] = true;
  85.         return 1;
  86.     }
  87.     if(dialogid == DIALOG_LOGIN)
  88.     {
  89.         if(!response) return SendClientMessage(playerid,-1,"Você decidiu não logar. Seus dados não serão carregados");
  90.         if(!strlen(inputtext)) return ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_INPUT,"[NOME] - Login","Digite sua senha","Logar","Cancelar");
  91.         if(strcmp(inputtext,DOF2_GetString(ReturnFileUser(playerid),"Senha"),true) == 0)
  92.         {
  93.             SetSpawnInfo(playerid, 0, 0, 1722.5123, -1912.7931, 13.5647, 269.15, 0, 0, 0, 0, 0, 0);
  94.             SpawnPlayer(playerid);
  95.             GivePlayerMoney(playerid, 1000);
  96.             GivePlayerWeapon(playerid, 24, 50);
  97.             Conectado[playerid] = true;
  98.         }
  99.         else
  100.         {
  101.             if(SenhaErrada[playerid] == 4)
  102.             {
  103.                 SendClientMessage(playerid,-1,"Você foi banido por errar a senha 5 vezes.");
  104.                 Ban(playerid);
  105.             }
  106.             else if(SenhaErrada[playerid] < 4)
  107.             {
  108.                 SenhaErrada[playerid] ++;
  109.                 ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_INPUT,"[NOME] - Login","Senha incorreta, tente novamente. Se errar a senha 5 vezes será banido!","Logar","Sair");
  110.             }
  111.         }
  112.         return 1;
  113.     }
  114.     return 1;
  115. }
  116.  
  117. stock PlayerName(playerid)
  118. {
  119.     new Name[MAX_PLAYERS];
  120.     GetPlayerName(playerid, Name, sizeof(Name));
  121.     return Name;
  122. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement