Advertisement
JonathanFeitosa

JFS Registro/Login com Recuperação de conta via EMAIL [DOF2]

Dec 12th, 2012
1,697
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 10.91 KB | None | 0 0
  1. /*
  2.  
  3. >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> PROJETOS JFS <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
  4. MAIS UM PROJETO 'JFS'.
  5. SISTEMA DE LOGIN/REGISTRO COM RECUPERAÇÃO DE SENHA VIA EMAIL EM DOF2 !!!!
  6.  
  7.  
  8.  
  9. Skype: jonathanfeitosajfs
  10. MSN: jonathan_feitosa@hotmail.com.br
  11.  
  12. Criado Por: JONATHAN FEITOSA
  13. DATA: 12/12/2012 *0*
  14. */
  15.  
  16.  
  17. #include                                                                <a_samp>
  18. #include                                                                  <dof2>
  19. #include                                                                <a_http>
  20. #define                          MAILER_URL "geradoresjfs.site90.net/mailer.php" // Arquivo .php > upe o seu < !
  21. #include                                                                <mailer>
  22.  
  23. #define CONTAS            \
  24.                             "PlayersJFS/%s.ini"
  25. #define REGISTRO          \
  26.                             (787)
  27. #define LOGIN             \
  28.                             (790)
  29. #define MAXPLAYERSJFS     \
  30.                             (50) // Slots do seu Servidor
  31. #define DinheiroInicio    \
  32.                             (1000) // Comeca com MIL de Grana
  33. #define LevelInicio       \
  34.                             (1) // Começa com 1 de Level
  35. #define EmailServidor     \
  36.                             ("jonathan_feitosa@hotmail.com.br") // Email que enviará os Emails para o Pessoal !
  37. #define NomeServidor      \
  38.                             ("[JFS/SAMP] - Recuperar Senha") // Configure :)
  39. #define TAtualizarLevel   \
  40.                             (4000) // Tempo para Atualizar Level, 4 SEG !
  41. new
  42.     Invalido[MAXPLAYERSJFS],
  43.     Nome[MAX_PLAYER_NAME],
  44.     String[128]
  45. ;
  46.  
  47. new
  48.     Matou[MAXPLAYERSJFS],
  49.     Morreu[MAXPLAYERSJFS],
  50.     Level[MAXPLAYERSJFS],
  51.     Logou[MAXPLAYERSJFS]
  52. ;
  53.  
  54. public OnFilterScriptInit()
  55. {
  56.     SetTimer("AtualizarLevel", TAtualizarLevel, true);
  57.     return true;
  58. }
  59.  
  60. public OnFilterScriptExit()
  61. {
  62.     for(new i=0; i<MAXPLAYERSJFS; ++i)
  63.     {
  64.         CarregarPlayer(i);
  65.     }
  66.     DOF2_Exit();
  67.     return true;
  68. }
  69.  
  70. public OnPlayerDeath(playerid, killerid, reason)
  71. {
  72.     if(IsPlayerConnected(killerid))
  73.     {
  74.         Matou[killerid]++;
  75.         Level[killerid] ++;
  76.         GameTextForPlayer(killerid,"~>~~r~Matou + 1 Level.!!!",4000,3);
  77.     }
  78.     if(IsPlayerConnected(playerid))
  79.     {
  80.         GameTextForPlayer(playerid,"~>~~r~Morto - 1 Level!!!",4000,3);
  81.         Level[playerid] --;
  82.     }
  83.     return true;
  84. }
  85. public OnPlayerDisconnect(playerid, reason)
  86. {
  87.     SalvarPlayer(playerid);
  88.     return true;
  89. }
  90.  
  91. public OnPlayerCommandText(playerid, cmdtext[])
  92. {
  93.     if(strfind(cmdtext, "/stats", true) != -1)
  94.     {
  95.         new DialogStatus[250];
  96.         new EmailStats[40];
  97.         GetPlayerName(playerid, Nome, sizeof(Nome));
  98.         format(EmailStats, sizeof(EmailStats), CONTAS, Nome);
  99.         format(String, sizeof(String),"{FFFFFF}Status De {1E90FF}%s\n\n",Nome);
  100.         strcat(DialogStatus, String);
  101.         format(String, sizeof(String),"{FFFFFF}Email: {1E90FF}%s\n", DOF2_GetString(EmailStats,"Email"));
  102.         strcat(DialogStatus, String);
  103.         format(String, sizeof(String),"{FFFFFF}Level: {1E90FF}%d\n", Level[playerid]);
  104.         strcat(DialogStatus, String);
  105.         format(String, sizeof(String),"{FFFFFF}Dinheiro: {1E90FF}%d\n", GetPlayerMoney(playerid));
  106.         strcat(DialogStatus, String);
  107.         format(String, sizeof(String),"{FFFFFF}Matou: {1E90FF}%d\n", Matou[playerid]);
  108.         strcat(DialogStatus, String);
  109.         format(String, sizeof(String),"{FFFFFF}Morreu: {1E90FF}%d\n",Morreu[playerid]);
  110.         strcat(DialogStatus, String);
  111.         format(String, sizeof(String),"{FFFFFF}Você Já Logou {1E90FF}%d{FFFFFF} Vezes Neste Servidor", Logou[playerid]);
  112.         strcat(DialogStatus, String);
  113.         ShowPlayerDialog(playerid, 5732, DIALOG_STYLE_MSGBOX, "{00F6F6}Minhas Informações ( RG )", DialogStatus, "Fechar", "");
  114.         return true;
  115.     }
  116.     if(strfind(cmdtext, "/mudaremail", true) != -1)
  117.     {
  118.         if(strlen(cmdtext) == 11)
  119.             return SendClientMessage(playerid, -1, "/mudaremail [EMAIL]");
  120.         strdel(cmdtext, 0, 11);
  121.            
  122.         GetPlayerName(playerid, Nome, sizeof(Nome));
  123.         format(String, sizeof(String), CONTAS, Nome);
  124.         new Celula[128];
  125.  
  126.         format(Celula, sizeof(Celula),"[JFS Sistema de Registro] - Você Mudou seu Email de %s para %s !!", DOF2_GetString(String,"Email"), cmdtext);
  127.         SendClientMessage(playerid, -1, Celula);
  128.         SendClientMessage(playerid, -1, "Cuidado ! você deve verificar se está certo ! pois poderá perder sua Conta.");
  129.  
  130.         DOF2_SetString(String,"Email", cmdtext);
  131.         DOF2_SaveFile();
  132.         return true;
  133.     }
  134.     return false;
  135. }
  136.  
  137. public OnPlayerConnect(playerid)
  138. {
  139.     SendClientMessage(playerid, -1, "Esse servidor possui um FilterScript Criado Por JFS - JonathanFeitosa :).");
  140.     GetPlayerName(playerid, Nome, sizeof(Nome));
  141.     format(String, sizeof(String), CONTAS, Nome);
  142.     if(!DOF2_FileExists(String))
  143.     {
  144.         format(String, sizeof(String), "\n{7FFFD4}Nick: {1E90FF}%s Não Registrado\n\n{FFFFFF} Digite Uma Senha Para Registrar Sua Conta\n", Nome);
  145.         ShowPlayerDialog(playerid, REGISTRO, DIALOG_STYLE_PASSWORD, "Sistema de Registro", String, "Registrar", "Cancelar");
  146.     }
  147.     else
  148.     {
  149.         format(String, sizeof(String), "\n{7FFFD4}Nick: {1E90FF}%s Registrado\n\n{FFFFFF} Digite sua Senha Corretamente para Logar\n", Nome);
  150.         ShowPlayerDialog(playerid, LOGIN, DIALOG_STYLE_PASSWORD, "Sistema de Login", String, "Logar", "Cancelar");
  151.     }
  152.     return true;
  153. }
  154. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
  155. {
  156.       if(dialogid == REGISTRO)
  157.       {
  158.         if(response)
  159.         {
  160.             if(!strlen(inputtext))
  161.             {
  162.                 GetPlayerName(playerid, Nome, sizeof(Nome));
  163.                 format(String, sizeof(String), "\n{7FFFD4}Nick: {1E90FF}%s Não Registrado\n\n{FFFFFF} Digite Uma Senha Para Registrar Sua Conta\n", Nome);
  164.                 ShowPlayerDialog(playerid, REGISTRO, DIALOG_STYLE_PASSWORD, "Sistema de Registro", String, "Registrar", "Cancelar");
  165.                 return true;
  166.             }
  167.             GetPlayerName(playerid, Nome, sizeof(Nome));
  168.             format(String, sizeof(String), CONTAS, Nome);
  169.             DOF2_CreateFile(String);
  170.             DOF2_SetString(String,"Senha",inputtext);
  171.             DOF2_SetString(String,"Email","EmailDesconfigurado");
  172.             DOF2_SetInt(String,"Dinheiro", DinheiroInicio);
  173.             DOF2_SetInt(String,"Level", LevelInicio);
  174.             DOF2_SetInt(String,"Matou",0);
  175.             DOF2_SetInt(String,"Admin",0);
  176.             DOF2_SetInt(String,"Morreu",0);
  177.             DOF2_SetInt(String,"Logou",0);
  178.             DOF2_SaveFile();
  179.             ShowPlayerDialog(playerid, 6783, DIALOG_STYLE_INPUT, "JFS Registro - Configure seu Email", "\n\n{1E90FF}Digite seu Email abaixo para terminar o registro.\n\n{1E90FF}PS: Caso perca sua senha, usará para recuperar-lá.\n\n", "Configurar", "");
  180.             return true;
  181.         }
  182.         else
  183.         {
  184.             SendClientMessage(playerid, 0xFF0000AA, "Você Foi Kickado Porque Não Quis Se Registrar!!");
  185.             Kick(playerid);
  186.             return true;
  187.         }
  188.       }
  189.       if(dialogid == 6783)
  190.       {
  191.         if(response)
  192.         {
  193.             GetPlayerName(playerid, Nome, sizeof(Nome));
  194.             format(String, sizeof(String), CONTAS, Nome);
  195.             DOF2_SetString(String,"Email", inputtext);
  196.             DOF2_SaveFile();
  197.             format(String, sizeof(String), "Email Configurado para: %s", DOF2_GetString(String,"Email"));
  198.             SendClientMessage(playerid, -1, String);
  199.             format(String, sizeof(String), "\n{7FFFD4}Nick: {1E90FF}%s Registrado\n\n{FFFFFF} Digite sua Senha Corretamente para Logar\n", Nome);
  200.             ShowPlayerDialog(playerid, LOGIN, DIALOG_STYLE_PASSWORD, "Sistema de Login", String, "Logar", "Cancelar");
  201.             return true;
  202.         }
  203.       }
  204.       if(dialogid == 6784)
  205.       {
  206.         if(response)
  207.         {
  208.             GetPlayerName(playerid, Nome, sizeof(Nome));
  209.             format(String, sizeof(String), CONTAS, Nome);
  210.             new Celula[300];
  211.             format(Celula, sizeof(Celula),
  212.                 "Sistema de Registro/Login com Recuperar Senha via Email - Sistema Criado Por Jonathan Feitosa\nVisite: www.facebook.com/GoHumorGTA\n\nSenha: %s\n\n\nContato Skype: jonathanfeitosajfs\nContato MSN: jonathan_feitosa@hotmail.com.br", DOF2_GetString(String,"Senha"));
  213.             SendMail(DOF2_GetString(String,"Email"), EmailServidor, NomeServidor, "JFS Projetos - Recuperar Minha Senha", Celula);
  214.             SendClientMessage(playerid, -1, "Um Email com sua senha foi enviado para seu Email com sucesso.");
  215.             SendClientMessage(playerid, -1, "PS: As Vezes Podem demorar cerca de no máximo 5 minutos.");
  216.             Kick(playerid);
  217.         }
  218.         else
  219.         {
  220.             SendClientMessage(playerid, -1, "Você não quis Enviar um Email por isso foi kickado :)");
  221.             Kick(playerid);
  222.         }
  223.         return true;
  224.       }
  225.       if(dialogid == LOGIN)
  226.       {
  227.         if(response)
  228.         {
  229.             if(!strlen(inputtext))
  230.             {
  231.                 GetPlayerName(playerid, Nome, sizeof(Nome));
  232.                 format(String, sizeof(String),
  233.                     "\n{7FFFD4}Nick: {1E90FF}%s Registrado\n\n{FFFFFF} Digite sua Senha Corretamente para Logar\n", Nome);
  234.                 ShowPlayerDialog(playerid, LOGIN, DIALOG_STYLE_PASSWORD, "Sistema de Login", String, "Logar", "Cancelar");
  235.                 SendClientMessage(playerid,0x1E90FFAA,"CAMPO EM BRANCO - Digite sua senha corretamente !");
  236.                 return true;
  237.             }
  238.             GetPlayerName(playerid, Nome, sizeof(Nome));
  239.             format(String, sizeof(String), CONTAS, Nome);
  240.             if(!strcmp(inputtext,DOF2_GetString(String,"Senha"),false))
  241.             {
  242.                 Logando(playerid);
  243.                 return true;
  244.             }
  245.             else
  246.             {
  247.                 Invalido[playerid] += 1;
  248.                 if(Invalido[playerid] == 5)
  249.                     return ShowPlayerDialog(playerid, 6784, DIALOG_STYLE_MSGBOX, "JFS Registro - Recuperação de Senha", "\n\n{33CCFF}Aperte em 'Enviar' para enviar um email para o seu email contendo sua senha.\n\n{7491F6}PS: Espero que seja um Email válido, se não, entre em contato com Administrador Dono.\n\n", "Enviar", "Cancelar");
  250.                 SendClientMessage(playerid,0x00FF00AA,"Senha incorreta, Se errar 5 vezes terá que recuperar-lá por E-mail !");
  251.                 format(String, sizeof(String),
  252.                     "\n{7FFFD4}Nick: {1E90FF}%s Registrado\n\n{FFFFFF} Digite sua Senha Corretamente para Logar\n", Nome);
  253.                 ShowPlayerDialog(playerid, LOGIN, DIALOG_STYLE_PASSWORD, "Sistema de Login", String, "Logar", "Cancelar");
  254.             }
  255.             return true;
  256.         }
  257.         else
  258.         {
  259.             SendClientMessage(playerid, 0xFF0000AA, "Você não quis se logar, por este motivo será Kickado");
  260.             Kick(playerid);
  261.             return true;
  262.         }
  263.       }
  264.       return true;
  265. }
  266. stock SalvarPlayer(playerid)
  267. {
  268.     GetPlayerName(playerid, Nome, sizeof(Nome));
  269.     format(String, sizeof(String), CONTAS, Nome);
  270.     DOF2_SetInt(String,"Dinheiro", GetPlayerMoney(playerid));
  271.     DOF2_SetInt(String,"Level", Level[playerid]);
  272.     DOF2_SetInt(String,"Matou", Matou[playerid]);
  273.     DOF2_SetInt(String,"Morreu", Morreu[playerid]);
  274.     DOF2_SetInt(String,"Logou", Logou[playerid]);
  275.     DOF2_SaveFile();
  276.     return true;
  277. }
  278.  
  279. stock CarregarPlayer(playerid)
  280. {
  281.     GetPlayerName(playerid, Nome, sizeof(Nome));
  282.     format(String, sizeof(String), CONTAS, Nome);
  283.     GivePlayerMoney(playerid, DOF2_GetInt(String,"Dinheiro"));
  284.     Level[playerid] = DOF2_GetInt(String, "Level");
  285.     Matou[playerid] = DOF2_GetInt(String, "Matou");
  286.     Morreu[playerid] = DOF2_GetInt(String, "Morreu");
  287.     Logou[playerid] = DOF2_GetInt(String, "Logou");
  288.     DOF2_GetString(String, "Email");
  289.     DOF2_SaveFile();
  290.     return true;
  291. }
  292.  
  293. stock Logando(playerid)
  294. {
  295.    CarregarPlayer(playerid);
  296.    Logou[playerid]++;
  297.    
  298.    // Bote Aqui as funções quando o Player está logando. PS: Poderá ser um sistema de tutorial :)
  299.    return true;
  300. }
  301.  
  302. forward AtualizarLevel();
  303. public AtualizarLevel()
  304. {
  305.     for(new i=0; i<MAXPLAYERSJFS; ++i)
  306.     {
  307.         SetPlayerScore(i, Level[i]);
  308.     }
  309.     return true;
  310. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement