Advertisement
Guest User

Sistema de Registro SAMP 03.E

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