JonathanFeitosa

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

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