Advertisement
Chip7

[FS] Sistema de Registro/Login Samp 0.3e

Apr 28th, 2012
2,406
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 6.72 KB | None | 0 0
  1. /*VISITE NOSSO SITE: http://www.sampknd.com/
  2.   SAMP KND MELHOR BLOG DE SAMP DO BRASIL
  3. */
  4.  
  5. #include <a_samp>
  6. #include DOF2
  7. #include keypad
  8. new Contas[128];
  9. new Erros[MAX_PLAYERS];
  10. new bool:Logado[MAX_PLAYERS];
  11. #define DIALOG_Registro           1
  12. #define DIALOG_Login              2
  13. #define DIALOG_SenhaRegistrar     3
  14. #define DIALOG_SenhaLogar         4
  15. #define DIALOG_Teste              5
  16.  
  17. public OnGameModeInit()
  18. {  
  19.     return 1;
  20. }
  21.  
  22. public OnGameModeExit()
  23. {
  24.     DOF2_Exit();
  25.     return 1;
  26. }
  27.  
  28. public OnPlayerConnect(playerid)
  29. {
  30.     SendClientMessage(playerid,-1,"Sistema de registo criado por LuizFel");
  31.     format(Contas,128,"Players/%s.txt", Nome(playerid));
  32.         if(!DOF2_FileExists(Contas))
  33.         {
  34.         new string1[128],string[128],ip[50];
  35.         GetPlayerIp(playerid, ip, sizeof(ip));
  36.         format(string, 128, "{FFFFFF}Olá {E60000}%s  {FFFFFF}Seja bem Vindo\n" , Nome(playerid));
  37.         strcat(string1,string);
  38.         format(string, 128, "{FFFFFF}Status: {E60000}Não Registrada\n");
  39.         strcat(string1,string);
  40.         format(string, 128, "{FFFFFF}Seu IP: {E60000} %s               \n" , ip);
  41.         strcat(string1,string);
  42.         ShowPlayerDialog(playerid, DIALOG_Registro, DIALOG_STYLE_INPUT, "Registrando...", string1, "Registrar", "Sair");
  43.         return 1;
  44.      }
  45.         new string1[128],string[128],ip[50];
  46.     GetPlayerIp(playerid, ip, sizeof(ip));
  47.     format(string, 128, "{FFFFFF}Olá {E60000}%s {FFFFFF}Seja bem Vindo\n" , Nome(playerid));
  48.     strcat(string1,string);
  49.     format(string, 128, "{FFFFFF}Status:{E60000} Registrado\n");
  50.     strcat(string1,string);
  51.     format(string, 128, "{FFFFFF}Seu IP: {E60000} %s \n" , ip);
  52.     strcat(string1,string);
  53.     ShowPlayerDialog(playerid, DIALOG_Login, DIALOG_STYLE_INPUT, "Logando...", string1, "Logar", "Sair");
  54.     return 1;
  55. }
  56.  
  57. public OnPlayerDisconnect(playerid, reason)
  58. {
  59.     return 1;
  60. }
  61.  
  62. public OnPlayerSpawn(playerid)
  63. {
  64.     if(Logado[playerid] == false)
  65.     {
  66.         SendClientMessage(playerid,-1,"Você foi kickado por spawnar sem usar senha mestre");
  67.         Kick(playerid);
  68.         return 1;
  69.     }
  70.     return 1;
  71. }
  72.  
  73. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
  74. {
  75.  
  76. if(dialogid == DIALOG_Registro)
  77. {
  78.     if(!response)
  79.     {
  80.         SendClientMessage(playerid,-1, "{E60000}[F-Register] Você foi kickado por não registrar ");
  81.         Kick(playerid);
  82.         return 1;
  83.     }
  84.     if(!strlen(inputtext))
  85.     {
  86.         ShowPlayerDialog(playerid, DIALOG_Registro, DIALOG_STYLE_INPUT, "Registrando...", "Por Favor, para jogar se registre em \nNosso server :D\n\n{1BE0E0}Digite uma senha", "Registrar", "Sair");
  87.         SendClientMessage(playerid, -1, "{E60000}[F-Register] Escolha uma senha");
  88.         return 1;
  89.     }
  90.     new string[128]; format(string, 128, "%s", inputtext);
  91.     DOF2_CreateFile(Contas);
  92.     format(Contas, sizeof(Contas), "Players/%s.txt", Nome(playerid));
  93.     DOF2_SetString(Contas, "Senha", string);
  94.     new string1[128];
  95.     strcat(string1, "Olá, a senha mestre é uma senha para evitar roubos \n");
  96.     strcat(string1, "Por favor, não utilize letras, apenas números.");
  97.     ShowPlayerDialog(playerid, DIALOG_SenhaRegistrar, DIALOG_STYLE_INPUT, "Senha Mestre...", string1, "Logar", "Sair");
  98.     return 1;
  99. }
  100. if(dialogid == DIALOG_SenhaRegistrar)
  101. {
  102.     if(!response)
  103.     {
  104.         SendClientMessage(playerid,-1, "{E60000}[F-Register] Você não escolheu senha mestre e foi kickado");
  105.         Kick(playerid);
  106.         return 1;
  107.     }
  108.     if(!strlen(inputtext))
  109.     {
  110.         ShowPlayerDialog(playerid, DIALOG_SenhaRegistrar, DIALOG_STYLE_INPUT, "Senha Mestre...", "Escolha uma senha mestre", "Logar", "Sair");
  111.         SendClientMessage(playerid, -1, "{E60000}[F-Register] Digite uma senha mestre para registrar");
  112.         return 1;
  113.     }
  114.     new string[128]; format(string, 128, "%s", inputtext);
  115.     format(Contas, sizeof(Contas), "Players/%s.txt", Nome(playerid));
  116.     DOF2_SetString(Contas, "Mestre", string);
  117.     SendClientMessage(playerid,-1,"{E60000}[F-Register] Você foi registrado e logado com sucesso.");
  118.     Logar(playerid);
  119. }
  120. if(dialogid == DIALOG_Login)
  121. {
  122.     if(!response)
  123.     {
  124.         SendClientMessage(playerid, -1, "{E60000}[F-Register] Você não logou-se com a senha e foi kickado.");
  125.         Kick(playerid);
  126.         return 1;
  127.     }
  128.     if(!strlen(inputtext))
  129.     {
  130.         ShowPlayerDialog(playerid, DIALOG_Login, DIALOG_STYLE_INPUT, "Logando...", "Logue-se usando sua senha :D", "Logar", "Sair");
  131.         SendClientMessage(playerid, -1, "{E60000}[F-Register] Digite a senha para logar.");
  132.         return 1;
  133.     }
  134.     format(Contas, sizeof(Contas), "Players/%s.txt", Nome(playerid));
  135.     if(strcmp(inputtext, DOF2_GetString(Contas, "Senha"), true))
  136.     {
  137.         ShowPlayerDialog(playerid, DIALOG_Login, DIALOG_STYLE_INPUT, "Logando...", "Logue-se usando sua senha :D", "Logar", "Sair");
  138.         SendClientMessage(playerid, -1, "{E60000}[F-Register] Senha Incorreta.");
  139.         SendClientMessage(playerid, -1, "{E60000}[F-Register] Se errar a senha 3 vezes é kickado.");
  140.         Erros[playerid] ++;
  141.         if(Erros[playerid] == 3) return Kick(playerid);
  142.         return 1;
  143.     }
  144.     GameTextForPlayer(playerid, "Utilize sua senha mestre para se logar", 3000, 1);
  145.     format(Contas, sizeof(Contas), "%s.txt", Nome(playerid));
  146.     ShowPlayerKeypad(playerid, DIALOG_Teste, DOF2_GetString(Contas, "Mestre"));
  147.     return 1;
  148. }
  149.  
  150. if(dialogid == DIALOG_SenhaLogar)
  151. {
  152.     if(!response)
  153.     {
  154.         SendClientMessage(playerid,-1,"{E60000}[F-Register]Você não logou-se com a senha e foi kickado.");
  155.         Kick(playerid);
  156.         return 1;
  157.     }
  158.     if(!strlen(inputtext))
  159.     {
  160.         ShowPlayerDialog(playerid, DIALOG_SenhaLogar, DIALOG_STYLE_INPUT, "Senha Mestre...","Use a senha mestre", "Logar", "Sair");
  161.         SendClientMessage(playerid, -1,"{E60000}[F-Register] Digite a senha mestre para logar");
  162.         return 1;
  163.     }
  164.     format(Contas, sizeof(Contas), "Players/%s.txt", Nome(playerid));
  165.     if(strcmp(inputtext, DOF2_GetString(Contas, "Mestre"), true))
  166.     {
  167.         ShowPlayerDialog(playerid, DIALOG_SenhaLogar, DIALOG_STYLE_INPUT, "Senha Mestre...","Use a senha mestre", "Logar", "Sair");
  168.         SendClientMessage(playerid,-1, "{E60000}[F-Register] Senha mestre incorreta");
  169.         return 1;
  170.     }
  171.     Logar(playerid);
  172.     return 1;
  173. }
  174. return 1;
  175. }
  176.  
  177. stock Nome(playerid)
  178. {
  179.     new pNome[MAX_PLAYER_NAME];
  180.     GetPlayerName(playerid, pNome, 24);
  181.     return pNome;
  182. }
  183.  
  184. public OnPlayerKeypadInput(playerid, keypadID, type, key)
  185. {
  186.     if(keypadID == DIALOG_Teste && type == KEYPAD_INPUT_GOOD)
  187.     {
  188.         Logar(playerid);
  189.         return 1;
  190.     }
  191.     if(keypadID == DIALOG_Teste && type == KEYPAD_INPUT_BAD)
  192.     {
  193.         SendClientMessage(playerid,-1,"{E60000}[F-Register] Senha mestre incorreta.");
  194.         Kick(playerid);
  195.         return 1;
  196. }
  197.     return 1;
  198. }
  199.  
  200. stock Logar(playerid)
  201. {
  202.     SendClientMessage(playerid,-1,"{E60000}[F-Register] Você foi logado com sucesso.");
  203.     SetSpawnInfo(playerid, 0, 0, 1958.33, 1343.12, 15.36, 269.15, 0, 0, 0, 0, 0, 0 );
  204.     SpawnPlayer(playerid);
  205.     DOF2_SaveFile();
  206.     Logado[playerid] = true;
  207.     return 1;
  208. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement