Advertisement
Aninhaah

AnyRegistro 1.0

Jun 23rd, 2012
848
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 12.28 KB | None | 0 0
  1. //__________________________________INCLUDES__________________________________//
  2. #include <a_samp>
  3. #include <DOF2>
  4. #include <zcmd>
  5. //__________________________________DEFINES__________________________//
  6. #define DIALOG_REGISTRO 1
  7. #define DIALOG_LOGIN 2
  8. #define DIALOG_PERGUNTA_SEGURANCA 3
  9. #define DIALOG_SEXO 4
  10. #define DIALOG_IDADE 5
  11. #define DIALOG_CIDADE 6
  12. #define DIALOG_RECUPERAR_CONTA 7
  13. #define DIALOG_OPCOES 8
  14. #define DIALOG_MUDAR_SENHA 9
  15. #define DIALOG_RG 10
  16. ///
  17. #define HOMEM 1
  18. #define MULHER 2
  19. //
  20. #define LS 1
  21. #define LV 2
  22. #define SF 3
  23. #define OUTRA 4
  24. //
  25. #define ArquivoUsuarios "Contas/%s.ini"
  26. //___________________________________ENUMS___________________________//
  27. enum jInfo
  28. {
  29.     Sexo,
  30.     Idade,
  31.     Cidade,
  32.     SenhaErrada
  33. };
  34. //____________________________________NEWS___________________________//
  35.  
  36. new Jogador[MAX_PLAYERS][jInfo];
  37. //___________________________________STOCKS_______________________//
  38. stock ContaPlayer(playerid)
  39. {
  40.     new file[56];
  41.     format(file, sizeof(file),ArquivoUsuarios, NomePlayer(playerid));
  42.     return file;
  43. }
  44. stock NomePlayer(playerid)
  45. {
  46.     new nome[MAX_PLAYER_NAME];
  47.     GetPlayerName(playerid, nome, sizeof(nome));
  48.     return nome;
  49. }
  50.  
  51. public OnFilterScriptInit()
  52. {
  53.     print("\n--------------------------------------");
  54.     print("FS feito por Aninhaah (humildadeforever)! Chris Brown S2");
  55.     print("--------------------------------------\n");
  56.     return 1;
  57. }
  58.  
  59. public OnFilterScriptExit()
  60. {
  61.     DOF2_Exit();
  62.     return 1;
  63. }
  64.  
  65. main()
  66. {
  67.     print("\n----------------------------------");
  68.     print(" FS registro e login :) by ANiNhAAh");
  69.     print("----------------------------------\n");
  70. }
  71.  
  72. CMD:rg(playerid, params[])
  73. {
  74.     new titulo[35], string[100];
  75.     format(titulo, sizeof(titulo),"RG de %s.", NomePlayer(playerid));
  76.     new sexo[10];
  77.     if(Jogador[playerid][Sexo] == HOMEM) { sexo = "Homem"; }
  78.     else if(Jogador[playerid][Sexo] == MULHER) { sexo = "Mulher"; }
  79.     new city[15];
  80.     if(Jogador[playerid][Cidade] == LS) { city = "Los Santos"; }
  81.     else if(Jogador[playerid][Cidade] == LV) { city = "Las Venturas"; }
  82.     else if(Jogador[playerid][Cidade] == SF) { city = "San Fierro"; }
  83.     else if(Jogador[playerid][Cidade] == OUTRA) {  city = "Outra"; }
  84.     format(string, sizeof(string),"Nome: %s\nIdade:%d\nCidade: %s\nSexo: %s\nLevel:%d.", NomePlayer(playerid), Jogador[playerid][Idade], city, sexo, GetPlayerScore(playerid));
  85.     ShowPlayerDialog(playerid, DIALOG_RG, DIALOG_STYLE_MSGBOX,titulo, string,"Fechar","");
  86.     return 1;
  87. }
  88.  
  89. public OnPlayerConnect(playerid)
  90. {
  91.     new string[180];
  92.     if(!DOF2_FileExists(ContaPlayer(playerid)))
  93.     {
  94.         format(string, sizeof(string),"{FFFFFF}Olá {7CFC00}%s{FFFFFF}, seja bem vindo ao servidor.\n{FFFFFF}Sua conta ainda não está registrada.\n{FFFFFF}Digite uma senha para registrar.", NomePlayer(playerid));
  95.         ShowPlayerDialog(playerid, DIALOG_REGISTRO, DIALOG_STYLE_INPUT,"[NomeSv] - Registro",string,"Registrar","Cancelar");
  96.     }
  97.     else if(DOF2_FileExists(ContaPlayer(playerid)))
  98.     {
  99.         ShowPlayerDialog(playerid, DIALOG_OPCOES, DIALOG_STYLE_LIST,"Escolha uma opção","Logar\nEsqueci minha senha\nSair","Selecionar","");
  100.     }
  101.     return 1;
  102. }
  103.  
  104. public OnPlayerDisconnect(playerid, reason)
  105. {
  106.     CarregarPlayer(playerid);
  107.     return 1;
  108. }
  109.  
  110. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
  111. {
  112.     switch(dialogid)
  113.     {
  114.         case DIALOG_OPCOES:
  115.         {
  116.             if(!response) return ShowPlayerDialog(playerid, DIALOG_OPCOES, DIALOG_STYLE_LIST,"Escolha uma opção","Logar\nEsqueci minha senha\nSair","Selecionar","");
  117.             if(listitem == 0)
  118.             {
  119.                 new string[170];
  120.                 format(string, sizeof(string),"{FFFFFF}Olá {7CFC00}%s{FFFFFF}, seja bem vindo ao servidor.\n{FFFFFF}Sua conta já está registrada.\n{FFFFFF}Digite sua senha para logar.", NomePlayer(playerid));
  121.                 ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_PASSWORD,"[NomeSv] - Login",string,"Logar","Cancelar");
  122.             }
  123.             else if(listitem == 1)
  124.             {
  125.                 new text[] = "Para recuperar sua conta responda a pergunta  a seguir:\nQual é o nome completo da sua mãe?";
  126.                 ShowPlayerDialog(playerid, DIALOG_RECUPERAR_CONTA, DIALOG_STYLE_INPUT,"[NomeSv] - Recuperar conta",text,"Pronto","Voltar");
  127.             }
  128.             else if(listitem == 2)
  129.             {
  130.                 SendClientMessage(playerid,-1,"Você escolheu a opção Sair e foi kickado.");
  131.                 Kick(playerid);
  132.             }
  133.             return 1;
  134.         }
  135.         case DIALOG_RECUPERAR_CONTA:
  136.         {
  137.             if(!response) return ShowPlayerDialog(playerid, DIALOG_OPCOES, DIALOG_STYLE_LIST,"Escolha uma opção","Logar\nEsqueci minha senha\nSair","Selecionar","");
  138.             if(!strlen(inputtext)) return ShowPlayerDialog(playerid, DIALOG_RECUPERAR_CONTA, DIALOG_STYLE_INPUT,"[NomeSv] - Recuperar conta","Responda a pergunta:\n\nQual o nome completo da sua mãe?","Pronto","Voltar");
  139.             if(strcmp(DOF2_GetString(ContaPlayer(playerid),"Pergunta de Segurança"),inputtext, true) == 0)
  140.             {
  141.                 ShowPlayerDialog(playerid, DIALOG_MUDAR_SENHA, DIALOG_STYLE_INPUT,"[NomeSv] - Trocar senha","Digite sua nova senha.","Trocar","Cancelar");
  142.             }
  143.             else return ShowPlayerDialog(playerid, DIALOG_RECUPERAR_CONTA,DIALOG_STYLE_INPUT,"[NomeSv] - Recuperar conta","Resposta errada, tente novamente.","Pronto","Cancelar");
  144.             return 1;
  145.         }
  146.         case DIALOG_MUDAR_SENHA:
  147.         {
  148.             if(!response) return ShowPlayerDialog(playerid, DIALOG_OPCOES, DIALOG_STYLE_LIST,"Escolha uma opção","Logar\nEsqueci minha senha\nSair","Selecionar","");
  149.             if(!strlen(inputtext)) return ShowPlayerDialog(playerid, DIALOG_MUDAR_SENHA, DIALOG_STYLE_INPUT,"[NomeSv] - Trocar senha","Digite sua nova senha.","Trocar","Cancelar");
  150.             DOF2_SetString(ContaPlayer(playerid),"Senha", inputtext);
  151.             DOF2_SaveFile();
  152.             new string[80];
  153.             format(string, sizeof(string),"Senha alterada com sucesso!Nova senha: {7CFC00}%s", inputtext);
  154.             SendClientMessage(playerid,-1,string);
  155.             CarregarPlayer(playerid);
  156.             SetSpawnInfo(playerid, 0, 0, 1722.5123, -1912.7931, 13.5647, 269.15, 0, 0, 0, 0, 0, 0);
  157.             SpawnPlayer(playerid);
  158.             return 1;
  159.         }
  160.         case DIALOG_REGISTRO:
  161.         {
  162.             if(!response) return SendClientMessage(playerid,-1,"Você foi kickado por não se registrar."), Kick(playerid);
  163.             if(!strlen(inputtext)) return ShowPlayerDialog(playerid,DIALOG_REGISTRO, DIALOG_STYLE_INPUT,"[NomeSv] - Registro","Digite uma senha para se registrar.","Registrar","Cancelar");
  164.             DOF2_CreateFile(ContaPlayer(playerid));
  165.             DOF2_SetString(ContaPlayer(playerid),"Senha", inputtext);
  166.             DOF2_SaveFile();
  167.             new string[90];
  168.             format(string, sizeof(string),"Sua conta foi registrada. Senha: {7CFC00}%s", inputtext);
  169.             SendClientMessage(playerid,-1, string);
  170.             SetSpawnInfo(playerid, 0, 0, 1722.5123, -1912.7931, 13.5647, 269.15, 0, 0, 0, 0, 0, 0);
  171.             SpawnPlayer(playerid);
  172.             SetPlayerScore(playerid, 1);
  173.             GivePlayerMoney(playerid, 300);
  174.             new text[] = "Responda a pergunta a seguir para que você possa recuperar sua conta caso um dia esqueça a senha.\nPergunta: Qual o nome completo da sua mãe?";
  175.             ShowPlayerDialog(playerid, DIALOG_PERGUNTA_SEGURANCA, DIALOG_STYLE_INPUT,"[NomeSv] - Pergunta de Segurança", text, "Pronto","");
  176.         }
  177.         case DIALOG_PERGUNTA_SEGURANCA:
  178.         {
  179.             if(response)
  180.             {
  181.                 if(!strlen(inputtext)) return ShowPlayerDialog(playerid, DIALOG_PERGUNTA_SEGURANCA, DIALOG_STYLE_INPUT,"[NomeSv] - Pergunta de Segurança","Por favor responda a pergunta:\nQual o nome completo da sua mãe?","Pronto","");
  182.                 DOF2_SetString(ContaPlayer(playerid),"Pergunta de Segurança", inputtext);
  183.                 DOF2_SaveFile();
  184.                 new string[90];
  185.                 format(string, sizeof(string),"Você respondeu: %s.", inputtext);
  186.                 SendClientMessage(playerid,-1, string);
  187.                 ShowPlayerDialog(playerid, DIALOG_SEXO, DIALOG_STYLE_MSGBOX,"[NomeSv] - Sexo","Qual é seu sexo?","Masculino","Feminino");
  188.                 return 1;
  189.             }
  190.             else if(!response)
  191.             {
  192.                 new text[] = "Responda a pergunta a seguir para que você possa recuperar sua conta caso um dia esqueça a senha.\nPergunta: Qual o nome completo da sua mãe?";
  193.                 ShowPlayerDialog(playerid, DIALOG_PERGUNTA_SEGURANCA, DIALOG_STYLE_INPUT,"[NomeSv] - Pergunta de Segurança", text, "Pronto","");
  194.                 return 1;
  195.             }
  196.             return 1;
  197.         }
  198.         case DIALOG_SEXO:
  199.         {
  200.             if(response)
  201.             {
  202.                 SendClientMessage(playerid,-1,"Você é homem.");
  203.                 Jogador[playerid][Sexo] = HOMEM;
  204.             }
  205.             else if(!response)
  206.             {
  207.                 SendClientMessage(playerid,-1,"Você é mulher.");
  208.                 Jogador[playerid][Sexo] = MULHER;
  209.             }
  210.             ShowPlayerDialog(playerid, DIALOG_IDADE, DIALOG_STYLE_INPUT,"[NomeSv] - Idade","Quantos anos você tem?","Pronto","");
  211.             return 1;
  212.         }
  213.         case DIALOG_IDADE:
  214.         {
  215.             if(!response) return ShowPlayerDialog(playerid, DIALOG_IDADE, DIALOG_STYLE_INPUT,"[NomeSv] - Idade","Quantos anos você tem?","Pronto","");
  216.             if(!strval(inputtext)) return ShowPlayerDialog(playerid, DIALOG_IDADE, DIALOG_STYLE_INPUT,"[NomeSv] - Idade","Quantos anos você tem? (Use somente números)","Pronto","");
  217.             if(strval(inputtext) < 15 || strval(inputtext) > 80) return ShowPlayerDialog(playerid, DIALOG_IDADE, DIALOG_STYLE_INPUT,"[NomeSv] - Idade","Sua idade tem que ser de 15 a 80 anos","Pronto","");
  218.             Jogador[playerid][Idade] = strval(inputtext);
  219.             new string[40];
  220.             format(string, sizeof(string),"Ok, você tem  %d anos.", strval(inputtext));
  221.             SendClientMessage(playerid,-1,string);
  222.             ShowPlayerDialog(playerid, DIALOG_CIDADE, DIALOG_STYLE_LIST,"[NomeSv] - Cidade","LS\nLV\nSF\nOutra","Pronto","");
  223.             return 1;
  224.         }
  225.         case DIALOG_CIDADE:
  226.         {
  227.             if(!response) return ShowPlayerDialog(playerid, DIALOG_CIDADE, DIALOG_STYLE_LIST,"[NomeSv] - Cidade","Los Santos\nLas Venturas\nSan Fierro\nOutra","Pronto","");
  228.             if(listitem == 0)
  229.             {
  230.                 Jogador[playerid][Cidade] = LS;
  231.                 SendClientMessage(playerid,-1,"Ok, sua cidade é Los Santos.");
  232.             }
  233.             else if(listitem == 1)
  234.             {
  235.                 Jogador[playerid][Cidade] = LV;
  236.                 SendClientMessage(playerid,-1,"Ok, sua cidade é Las Venturas.");
  237.             }
  238.             else if(listitem == 2)
  239.             {
  240.                 Jogador[playerid][Cidade] = SF;
  241.                 SendClientMessage(playerid,-1,"Ok, sua cidade é San Fierro.");
  242.             }
  243.             else if(listitem == 3)
  244.             {
  245.                 Jogador[playerid][Cidade] = OUTRA;
  246.                 SendClientMessage(playerid,-1,"Ok, sua cidade é outra.");
  247.             }
  248.             SalvarPlayer(playerid);
  249.             return 1;
  250.         }
  251.         case DIALOG_LOGIN:
  252.         {
  253.             if(!response) return SendClientMessage(playerid,-1,"Você escolheu cancelou o login e foi kickado."), Kick(playerid);
  254.             if(!strlen(inputtext)) return ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_PASSWORD,"[NomeSv] - Login","Digite sua senha para logar","Logar","Cancelar");
  255.             if(strcmp(DOF2_GetString(ContaPlayer(playerid),"Senha"), inputtext, false) == 0)
  256.             {
  257.                 SendClientMessage(playerid,-1,"Logado com sucesso!");
  258.                 CarregarPlayer(playerid);
  259.                 SetSpawnInfo(playerid, 0, 0, 1722.5123, -1912.7931, 13.5647, 269.15, 0, 0, 0, 0, 0, 0);
  260.                 SpawnPlayer(playerid);
  261.             }
  262.             else
  263.             {
  264.                 Jogador[playerid][SenhaErrada] ++;
  265.                 if(Jogador[playerid][SenhaErrada] >= 5)
  266.                 {
  267.                     SendClientMessage(playerid,-1,"Você foi banido por errar a senha 5 vezes.");
  268.                     BanEx(playerid,"Errou a senha 5 vezes.");
  269.                 }
  270.                 else if(Jogador[playerid][SenhaErrada] < 5)  return ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_PASSWORD,"[NomeSv] - Login","Senha errada.Tente novamente\n\nSe errar a senha 5 vezes será banido.","Logar","Cancelar");
  271.             }
  272.             return 1;
  273.         }
  274.     }
  275.     return 1;
  276. }
  277.  
  278. stock CarregarPlayer(playerid)
  279. {
  280.     if(DOF2_FileExists(ContaPlayer(playerid)))
  281.     {
  282.         Jogador[playerid][Idade] = DOF2_GetInt(ContaPlayer(playerid),"Idade");
  283.         Jogador[playerid][Cidade] = DOF2_GetInt(ContaPlayer(playerid),"Cidade");
  284.         Jogador[playerid][Sexo] = DOF2_GetInt(ContaPlayer(playerid),"Sexo");
  285.         SetPlayerScore(playerid, DOF2_GetInt(ContaPlayer(playerid), "Score"));
  286.         SetPlayerSkin(playerid, DOF2_GetInt(ContaPlayer(playerid),"Skin"));
  287.     }
  288.     return 1;
  289. }
  290.  
  291. stock SalvarPlayer(playerid)
  292. {
  293.     if(DOF2_FileExists(ContaPlayer(playerid)))
  294.     {
  295.         DOF2_SetInt(ContaPlayer(playerid),"Idade", Jogador[playerid][Idade]);
  296.         DOF2_SetInt(ContaPlayer(playerid),"Cidade", Jogador[playerid][Cidade]);
  297.         DOF2_SetInt(ContaPlayer(playerid),"Sexo", Jogador[playerid][Sexo]);
  298.         DOF2_SetInt(ContaPlayer(playerid),"Score", GetPlayerScore(playerid));
  299.         DOF2_SetInt(ContaPlayer(playerid),"Skin", GetPlayerSkin(playerid));
  300.         DOF2_SaveFile();
  301.     }
  302.     return 1;
  303. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement