Advertisement
JonathanFeitosa

[v1.1] JFS Registro com Recuperação de conta via EMAIL DOF2

Dec 24th, 2012
4,414
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 13.29 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 v1.1 !!!!
  6.  
  7.  
  8.  
  9. Skype: jonathanfeitosajfs
  10. MSN: jonathan_feitosa@hotmail.com.br
  11.  
  12. Criado Por: JONATHAN FEITOSA
  13. v1.0: 12/12/2012 *0*
  14. v1.1: 24/12/2012
  15. */
  16.  
  17.  
  18. #include                                                                <a_samp>
  19. #include                                                                  <dof2>
  20. #include                                                                <a_http>
  21. #define                          MAILER_URL "geradoresjfs.site90.net/mailer.php" // Arquivo .php > upe o seu < !
  22. #include                                                                <mailer>
  23.  
  24. #define CONTAS            \
  25.                             "PlayersJFS/%s.ini"
  26. #define REGISTRO          \
  27.                             (787)
  28. #define LOGIN             \
  29.                             (790)
  30. #define MAXPLAYERSJFS     \
  31.                             (50) // Slots do seu Servidor
  32. #define DinheiroInicio    \
  33.                             (1000) // Comeca com MIL de Grana
  34. #define LevelInicio       \
  35.                             (1) // Começa com 1 de Level
  36. #define SkinInicio        \
  37.                             (289) // Começa com a skin 289
  38. #define EmailServidor     \
  39.                             ("jonathan_feitosa@hotmail.com.br") // Email que enviará os Emails para o Pessoal !
  40. #define NomeServidor      \
  41.                             ("[JFS/SAMP] - Recuperar Senha") // Configure :)
  42. #define TAtualizarLevel   \
  43.                             (4000) // Tempo para Atualizar Level, 4 SEG !
  44.  
  45. //native WP_Hash(buffer[], len, const str[]);
  46.  
  47. new
  48.     Invalido[MAXPLAYERSJFS],
  49.     Nome[MAX_PLAYER_NAME],
  50.     String[128],
  51.     Matou[MAXPLAYERSJFS],
  52.     Morreu[MAXPLAYERSJFS],
  53.     Level[MAXPLAYERSJFS],
  54.     Skin[MAXPLAYERSJFS],
  55.     Logou[MAXPLAYERSJFS],
  56.     Ano[MAXPLAYERSJFS],
  57.     Mes[MAXPLAYERSJFS],
  58.     Hora[MAXPLAYERSJFS],
  59.     Dia[MAXPLAYERSJFS],
  60.     Minuto[MAXPLAYERSJFS],
  61.     PrimeiraVezON[MAXPLAYERSJFS]
  62. ;
  63.  
  64. public OnFilterScriptInit()
  65. {
  66.     print("JFS Registro v1.1 PT/BR Iniciado.");
  67.     SetTimer("AtualizarLevel", TAtualizarLevel, true);
  68.     return true;
  69. }
  70.  
  71. public OnFilterScriptExit()
  72. {
  73.     for(new i=0; i<MAXPLAYERSJFS; ++i) SalvarPlayer(i);
  74.     DOF2::Exit();
  75.     return true;
  76. }
  77.  
  78. public OnPlayerDeath(playerid, killerid, reason)
  79. {
  80.     if(IsPlayerConnected(killerid))
  81.     {
  82.         Matou[killerid] ++;
  83.         Level[killerid] ++;
  84.         GameTextForPlayer(killerid,"~>~~r~Matou + 1 Level.!!!",4000,3);
  85.     }
  86.     if(IsPlayerConnected(playerid))
  87.     {
  88.         Morreu[playerid] ++;
  89.         GameTextForPlayer(playerid,"~>~~r~Morto - 1 Level!!!",4000,3);
  90.         Level[playerid] --;
  91.     }
  92.     return true;
  93. }
  94.  
  95. public OnPlayerDisconnect(playerid, reason) return SalvarPlayer(playerid);
  96.  
  97. public OnPlayerCommandText(playerid, cmdtext[])
  98. {
  99.     if(strfind(cmdtext, "/stats", true) != -1)
  100.     {
  101.         static DialogStatus[250];
  102.         static EmailStats[40];
  103.         GetPlayerName(playerid, Nome, sizeof(Nome));
  104.         format(EmailStats, sizeof(EmailStats), CONTAS, Nome);
  105.         format(String, sizeof(String),"{FFFFFF}Status De {1E90FF}%s\n\n",Nome);
  106.         strcat(DialogStatus, String);
  107.         format(String, sizeof(String),"{FFFFFF}Email: {1E90FF}%s\n", DOF2::GetString(EmailStats,"Email"));
  108.         strcat(DialogStatus, String);
  109.         format(String, sizeof(String),"{FFFFFF}Level: {1E90FF}%d\n", Level[playerid]);
  110.         strcat(DialogStatus, String);
  111.         format(String, sizeof(String),"{FFFFFF}Skin: {1E90FF}%d\n", Skin[playerid]);
  112.         strcat(DialogStatus, String);
  113.         format(String, sizeof(String),"{FFFFFF}Dinheiro: {1E90FF}%d\n", GetPlayerMoney(playerid));
  114.         strcat(DialogStatus, String);
  115.         format(String, sizeof(String),"{FFFFFF}Matou: {1E90FF}%d\n", Matou[playerid]);
  116.         strcat(DialogStatus, String);
  117.         format(String, sizeof(String),"{FFFFFF}Morreu: {1E90FF}%d\n",Morreu[playerid]);
  118.         strcat(DialogStatus, String);
  119.         format(String, sizeof(String),"{FFFFFF}Você Já Logou {1E90FF}%d{FFFFFF} Vezes Neste Servidor", Logou[playerid]);
  120.         strcat(DialogStatus, String);
  121.         ShowPlayerDialog(playerid, 5732, DIALOG_STYLE_MSGBOX, "{00F6F6}Minhas Informações ( RG )", DialogStatus, "Fechar", "");
  122.         return true;
  123.     }
  124.     if(strfind(cmdtext, "/mudaremail", true) != -1)
  125.     {
  126.         if(strlen(cmdtext) == 11)
  127.             return SendClientMessage(playerid, -1, "/mudaremail [EMAIL]");
  128.         strdel(cmdtext, 0, 11);
  129.  
  130.         GetPlayerName(playerid, Nome, sizeof(Nome));
  131.         format(String, sizeof(String), CONTAS, Nome);
  132.  
  133.         static Celula[128];
  134.  
  135.         format(Celula, sizeof(Celula),"[JFS Sistema de Registro] - Você Mudou seu Email de %s para %s !!", DOF2::GetString(String,"Email"), cmdtext);
  136.         SendClientMessage(playerid, -1, Celula);
  137.         SendClientMessage(playerid, -1, "Cuidado ! você deve verificar se está certo ! pois poderá perder sua Conta.");
  138.  
  139.         DOF2::SetString(String,"Email", cmdtext);
  140.         DOF2::SaveFile();
  141.         return true;
  142.     }
  143.     return false;
  144. }
  145.  
  146. public OnPlayerConnect(playerid)
  147. {
  148.     SendClientMessage(playerid, -1, "Esse servidor possui um FilterScript Criado Por JFS - JonathanFeitosa :).");
  149.     GetPlayerName(playerid, Nome, sizeof(Nome));
  150.     format(String, sizeof(String), CONTAS, Nome);
  151.     if(!DOF2::FileExists(String))
  152.     {
  153.         format(String, sizeof(String), "\n{7FFFD4}Nick: {1E90FF}%s Não Registrado\n\n{FFFFFF} Digite Uma Senha Para Registrar Sua Conta\n", Nome);
  154.         ShowPlayerDialog(playerid, REGISTRO, DIALOG_STYLE_PASSWORD, "Sistema de Registro", String, "Registrar", "Cancelar");
  155.     }
  156.     else format(String, sizeof(String), "\n{7FFFD4}Nick: {1E90FF}%s Registrado\n\n{FFFFFF} Digite sua Senha Corretamente para Logar\n", Nome),
  157.          ShowPlayerDialog(playerid, LOGIN, DIALOG_STYLE_PASSWORD, "Sistema de Login", String, "Logar", "Cancelar");
  158.     return true;
  159. }
  160. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
  161. {
  162.       if(dialogid == REGISTRO)
  163.       {
  164.             if(response)
  165.             {
  166.                 if(!strlen(inputtext))
  167.                 {
  168.                     GetPlayerName(playerid, Nome, sizeof(Nome));
  169.                     format(String, sizeof(String), "\n{7FFFD4}Nick: {1E90FF}%s Não Registrado\n\n{FFFFFF} Digite Uma Senha Para Registrar Sua Conta\n", Nome);
  170.                     ShowPlayerDialog(playerid, REGISTRO, DIALOG_STYLE_PASSWORD, "Sistema de Registro", String, "Registrar", "Cancelar");
  171.                     return true;
  172.                 }
  173.                 GetPlayerName(playerid, Nome, sizeof(Nome));
  174.                 format(String, sizeof(String), CONTAS, Nome);
  175.                 DOF2::CreateFile(String);
  176.                 DOF2::SetString(String,"Senha", inputtext);
  177.                 DOF2::SetString(String,"Email","EmailDesconfigurado");
  178.                 DOF2::SetInt(String,"Dinheiro", DinheiroInicio);
  179.                 DOF2::SetInt(String,"Level", LevelInicio);
  180.                 DOF2::SetInt(String,"Skin", SkinInicio);
  181.                 DOF2::SetInt(String,"Matou", 0);
  182.                 DOF2::SetInt(String,"Morreu", 0);
  183.                 DOF2::SetInt(String,"Admin", 0);
  184.                 DOF2::SetInt(String,"Logou", 0);
  185.                 DOF2::SetInt(String, "Ano", 0);
  186.                 DOF2::SetInt(String, "Mês", 0);
  187.                 DOF2::SetInt(String, "Dia", 0);
  188.                 DOF2::SetInt(String, "Hora", 0);
  189.                 DOF2::SetInt(String, "Minuto",  0);
  190.  
  191.                
  192.                 DOF2::SaveFile();
  193.                 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", "");
  194.                 return true;
  195.             }
  196.             else
  197.             {
  198.                 SendClientMessage(playerid, 0xFF0000AA, "Você Foi Kickado Porque Não Quis Se Registrar!!");
  199.                 Kick(playerid);
  200.                 return true;
  201.             }
  202.       }
  203.       if(dialogid == 6783)
  204.       {
  205.             if(response)
  206.             {
  207.                 GetPlayerName(playerid, Nome, sizeof(Nome));
  208.                 format(String, sizeof(String), CONTAS, Nome);
  209.                 DOF2::SetString(String,"Email", inputtext);
  210.                 DOF2::SaveFile();
  211.                 format(String, sizeof(String), "Email Configurado para: %s", DOF2::GetString(String,"Email"));
  212.                 SendClientMessage(playerid, -1, String);
  213.                 Registrando(playerid);
  214.                 return true;
  215.             }
  216.       }
  217.       if(dialogid == 6784)
  218.       {
  219.             if(response)
  220.             {
  221.                 GetPlayerName(playerid, Nome, sizeof(Nome));
  222.                 format(String, sizeof(String), CONTAS, Nome);
  223.                 static Celula[300];
  224.                 format(Celula, sizeof(Celula),
  225.                     "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"));
  226.                 SendMail(DOF2::GetString(String,"Email"), EmailServidor, NomeServidor, "JFS Projetos - Recuperar Minha Senha", Celula);
  227.                 SendClientMessage(playerid, -1, "Um Email com sua senha foi enviado para seu Email com sucesso.");
  228.                 SendClientMessage(playerid, -1, "PS: As Vezes Podem demorar cerca de no máximo 5 minutos.");
  229.                 Kick(playerid);
  230.             }
  231.             else
  232.             {
  233.                 SendClientMessage(playerid, -1, "Você não quis Enviar um Email por isso foi kickado :)");
  234.                 Kick(playerid);
  235.             }
  236.             return true;
  237.       }
  238.       if(dialogid == LOGIN)
  239.       {
  240.         if(response)
  241.         {
  242.                 if(!strlen(inputtext))
  243.                 {
  244.                     GetPlayerName(playerid, Nome, sizeof(Nome));
  245.                     format(String, sizeof(String),
  246.                         "\n{7FFFD4}Nick: {1E90FF}%s Registrado\n\n{FFFFFF} Digite sua Senha Corretamente para Logar\n", Nome);
  247.                     ShowPlayerDialog(playerid, LOGIN, DIALOG_STYLE_PASSWORD, "Sistema de Login", String, "Logar", "Cancelar");
  248.                     SendClientMessage(playerid,0x1E90FFAA,"CAMPO EM BRANCO - Digite sua senha corretamente !");
  249.                     return true;
  250.                 }
  251.             //  static HashSenha[129];
  252.                 GetPlayerName(playerid, Nome, sizeof(Nome));
  253.                 format(String, sizeof(String), CONTAS, Nome);
  254.             //  WP_Hash(HashSenha, 129, inputtext);
  255.                 if(!strcmp(inputtext,DOF2_GetString(String,"Senha"),false))
  256.                 {
  257.                     Logando(playerid);
  258.                     return true;
  259.                 }
  260.                 else
  261.                 {
  262.                     Invalido[playerid] += 1;
  263.                     if(Invalido[playerid] == 5)
  264.                         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");
  265.                     SendClientMessage(playerid,0x00FF00AA,"Senha incorreta, Se errar 5 vezes terá que recuperar-lá por E-mail !");
  266.                     format(String, sizeof(String),
  267.                         "\n{7FFFD4}Nick: {1E90FF}%s Registrado\n\n{FFFFFF} Digite sua Senha Corretamente para Logar\n", Nome);
  268.                     ShowPlayerDialog(playerid, LOGIN, DIALOG_STYLE_PASSWORD, "Sistema de Login", String, "Logar", "Cancelar");
  269.                 }
  270.                 return true;
  271.             }
  272.             else
  273.             {
  274.                 SendClientMessage(playerid, 0xFF0000AA, "Você não quis se logar, por este motivo será Kickado");
  275.                 Kick(playerid);
  276.                 return true;
  277.             }
  278.       }
  279.       return true;
  280. }
  281.  
  282. stock SalvarPlayer(playerid)
  283. {
  284.     GetPlayerName(playerid, Nome, sizeof(Nome));
  285.     format(String, sizeof(String), CONTAS, Nome);
  286.     DOF2::SetInt(String,"Dinheiro", GetPlayerMoney(playerid));
  287.     DOF2::SetInt(String,"Level", Level[playerid]);
  288.     Skin[playerid] = GetPlayerSkin(playerid);
  289.     DOF2::SetInt(String,"Skin", Skin[playerid]);
  290.     DOF2::SetInt(String,"Matou", Matou[playerid]);
  291.     DOF2::SetInt(String,"Morreu", Morreu[playerid]);
  292.     DOF2::SetInt(String,"Logou", Logou[playerid]);
  293.    
  294.    
  295.     getdate(Ano[playerid], Mes[playerid], Dia[playerid]);
  296.     gettime(Hora[playerid], Minuto[playerid]);
  297.     DOF2::SetInt(String, "Minuto",  Minuto[playerid]);
  298.     DOF2::SetInt(String, "Hora", Hora[playerid]);
  299.     DOF2::SetInt(String, "Dia", Dia[playerid]);
  300.     DOF2::SetInt(String, "Mês", Mes[playerid]);
  301.     DOF2::SetInt(String, "Ano", Ano[playerid]);
  302.  
  303.     DOF2::SaveFile();
  304.     return true;
  305. }
  306.  
  307. stock CarregarPlayer(playerid)
  308. {
  309.     GetPlayerName(playerid, Nome, sizeof(Nome));
  310.     format(String, sizeof(String), CONTAS, Nome);
  311.     GivePlayerMoney(playerid, DOF2::GetInt(String,"Dinheiro"));
  312.     Level[playerid] = DOF2::GetInt(String, "Level");
  313.     Skin[playerid] = DOF2::GetInt(String, "Skin");
  314.     SetPlayerSkin(playerid, Skin[playerid]);
  315.     Matou[playerid] = DOF2::GetInt(String, "Matou");
  316.     Morreu[playerid] = DOF2::GetInt(String, "Morreu");
  317.     Logou[playerid] = DOF2::GetInt(String, "Logou");
  318.     DOF2::GetString(String, "Email");
  319.     Minuto[playerid] = DOF2::GetInt(String, "Minuto");
  320.     Hora[playerid] = DOF2::GetInt(String, "Hora");
  321.     Dia[playerid] = DOF2::GetInt(String, "Dia");
  322.     Mes[playerid] = DOF2::GetInt(String, "Mês");
  323.     Ano[playerid] = DOF2::GetInt(String, "Ano");
  324.     DOF2::SaveFile();
  325.     return true;
  326. }
  327.  
  328. stock Logando(playerid)
  329. {
  330.    CarregarPlayer(playerid);
  331.    Logou[playerid] += 1;
  332.    if(PrimeiraVezON[playerid] != 1)
  333.    {
  334.         format(String, sizeof(String), "Seu Último LOGIN Foi Dia: %d/%d/%d Ás %d Horas e %d Minutos", Dia[playerid], Mes[playerid], Ano[playerid], Hora[playerid], Minuto[playerid]);
  335.    }
  336.    else format(String, sizeof(String), "Bem Vindo na sua Primeira Vez no Servidor ! Você Começou com %dR$ e Level %d.", DinheiroInicio, LevelInicio),
  337.         SendClientMessage(playerid, -1, String),
  338.         PrimeiraVezON[playerid] = 0;
  339.    
  340.    // Bote Aqui as funções quando o Player está logando.
  341.    return true;
  342. }
  343.  
  344. stock Registrando(playerid)
  345. {
  346.     // Bote aqui as funções quando o Player estiver se registrando pela primeira vez ! :) PS: poderá ser um sistema de tutorial !
  347.     PrimeiraVezON[playerid] = 1;
  348.     format(String, sizeof(String), "\n{7FFFD4}Nick: {1E90FF}%s Registrado\n\n{FFFFFF} Digite sua Senha Corretamente para Logar\n", Nome);
  349.     ShowPlayerDialog(playerid, LOGIN, DIALOG_STYLE_PASSWORD, "Sistema de Login", String, "Logar", "Cancelar");
  350.     return true;
  351. }
  352.  
  353. forward AtualizarLevel();
  354. public AtualizarLevel()
  355. {
  356.     for(new i=0; i<MAXPLAYERSJFS; ++ i)
  357.     {
  358.         SetPlayerScore(i, Level[i]);
  359.     }
  360.     return true;
  361. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement