Advertisement
Falcon

[FLB] - Dini

Sep 6th, 2011
763
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 11.83 KB | None | 0 0
  1. /*MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
  2. MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
  3. MMMM                                                                        MMMM
  4. MMMM                          [FLB]Falcon's Login Box                       MMMM
  5. MMMM                          -|salvamento de dados|-                       MMMM
  6. MMMM========================================================================MMMM
  7. MMMM                                                                        MMMM
  8. MMMM                     ...::: Desenvolvimento :::...                      MMMM
  9. MMMM                                Falcon                                  MMMM
  10. MMMM                                                                        MMMM
  11. MMMM Versão: Dini - por DracoBlue                                           MMMM
  12. MMMM''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''MMMM
  13. MMMM Este script está disponível somente no link abaixo, caso tenha baixado MMMM
  14. MMMM em outro local por favor entre em contato.                             MMMM
  15. MMMM                                                                        MMMM
  16. MMMM Download: http://forum.sa-mp.com/showthread.php?t=268151               MMMM
  17. MMMM Contato: http://forum.sa-mp.com/member.php?u=98669                     MMMM
  18. MMMM                                                                        MMMM
  19. MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
  20. MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM*/
  21. #include <a_samp>
  22. #include <Dini>
  23. #define FILTERSCRIPT
  24. #define DialogRegistro 123
  25. #define DialogLogin    124
  26. #define DialogSaidaA   125
  27. #define DialogSaidaB   126
  28. //MMMMMMMMMM||  [FLB]CONFIGURAÇÕES  ||MMMMMMMMMM
  29. #define MAXIMO_TLOGAR 3
  30. #define CASE_SENSITIVE false
  31. #define VALOR_MAXIMO_VIDA 100.0
  32. #define VALOR_MAXIMO_COLETE 100.0
  33. #define ContasPlayers "/ContasPlayers/%s.ini"
  34. #define ContinuarUltimaPosicao
  35. //MMMMMMMMMM||  [FLB]CONFIGURAÇÕES  ||MMMMMMMMMM
  36. new arquivo[45];
  37. new string[200];
  38. new nome[MAX_PLAYER_NAME];
  39. new TentativasDeLogar[MAX_PLAYERS];
  40. new bool:PrimeiroSpawn[MAX_PLAYERS];
  41. new TotalDeVezesMorreu[MAX_PLAYERS];
  42. new TotalDeVezesMatou[MAX_PLAYERS];
  43.  
  44. stock SalvarDadosPlayer(playerid)
  45. {
  46.     static Float:PosX, Float:PosY, Float:PosZ, Float:Vida, Float:Colete;
  47.     GetPlayerHealth(playerid, Vida);
  48.     GetPlayerArmour(playerid, Colete);
  49.     GetPlayerPos(playerid, PosX, PosY, PosZ);
  50.     GetPlayerName(playerid, nome, sizeof(nome));
  51.     format(arquivo, sizeof(arquivo), ContasPlayers, nome);
  52.     if(!dini_Exists(arquivo)) dini_Create(arquivo);
  53.    
  54.     dini_IntSet(arquivo, "Dinheiro", GetPlayerMoney(playerid));
  55.     dini_IntSet(arquivo, "Level", GetPlayerScore(playerid));
  56.     dini_IntSet(arquivo, "LevelProcurado", GetPlayerWantedLevel(playerid));
  57.     dini_IntSet(arquivo, "SkinAtual", GetPlayerSkin(playerid));
  58.     dini_FloatSet(arquivo, "Vida", Vida);
  59.     dini_FloatSet(arquivo, "Colete", Colete);
  60.     #if defined ContinuarUltimaPosicao
  61.     dini_FloatSet(arquivo, "PosX", PosX);
  62.     dini_FloatSet(arquivo, "PosY", PosY);
  63.     dini_FloatSet(arquivo, "PosZ", PosZ);
  64.     dini_IntSet(arquivo, "Interior", GetPlayerInterior(playerid));
  65.     dini_IntSet(arquivo, "VirtualWorld", GetPlayerVirtualWorld(playerid));
  66.     #endif
  67.     dini_IntSet(arquivo, "TotalDeVezesMorreu", TotalDeVezesMorreu[playerid]);
  68.     dini_IntSet(arquivo, "TotalDeVezesMatou", TotalDeVezesMatou[playerid]);
  69.     return 0x1;
  70. }
  71.  
  72. stock CarregarDadosPlayer(playerid)
  73. {
  74.     GetPlayerName(playerid, nome, sizeof(nome));
  75.     format(arquivo, sizeof(arquivo), ContasPlayers, nome);
  76.     if(!dini_Exists(arquivo)) return 0x1;
  77.    
  78.     GivePlayerMoney(playerid, dini_Int(arquivo, "Dinheiro"));
  79.     SetPlayerScore(playerid, dini_Int(arquivo, "Level"));
  80.     SetPlayerWantedLevel(playerid, dini_Int(arquivo, "LevelProcurado"));
  81.     TotalDeVezesMorreu[playerid] = dini_Int(arquivo, "TotalDeVezesMorreu");
  82.     TotalDeVezesMatou[playerid] = dini_Int(arquivo, "TotalDeVezesMatou");
  83.     return 0x1;
  84. }
  85.  
  86. public OnFilterScriptInit()
  87. {
  88.     print("MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM");
  89.     print("MM");
  90.     print("MM       [FLB]Falcon's Login Box");
  91.     print("MM");
  92.     print("MM       (FilterScript Carregado)");
  93.     print("MM");
  94.     print("MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM");
  95.     return 1;
  96. }
  97.  
  98. public OnFilterScriptExit()
  99. {
  100.     print("MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM");
  101.     print("MM");
  102.     print("MM       [FLB]Falcon's Login Box");
  103.     print("MM");
  104.     print("MM      (FilterScript Descarregado)");
  105.     print("MM");
  106.     print("MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM");
  107.     for(new ii, ff = GetMaxPlayers(); ii < ff; ii++)
  108.         {
  109.         if(!IsPlayerConnected(ii)) continue;
  110.         SalvarDadosPlayer(ii);
  111.     }
  112.     return 1;
  113. }
  114.  
  115. public OnPlayerConnect(playerid)
  116. {
  117.     PrimeiroSpawn[playerid] = true;
  118.     TentativasDeLogar[playerid] = 0;
  119.     GetPlayerName(playerid, nome, sizeof(nome));
  120.     format(arquivo, sizeof(arquivo), ContasPlayers, nome);
  121.     if(!dini_Exists(arquivo))
  122.     {
  123.         format(string, sizeof(string), "{FF0000}..:: [FLB]Falcon's Login Box ::..\n{FFFFFF}Olá, você ainda não possui uma conta registrada.\n\nNome: {FFFF80}%s\n\n{FFFFFF}Insira uma senha para registrar-se:", nome);
  124.         ShowPlayerDialog(playerid, DialogRegistro, DIALOG_STYLE_INPUT, "{FFFFFF}[FLB] - Registro", string, "Registrar", "Sair");
  125.     }
  126.     if(dini_Exists(arquivo))
  127.     {
  128.         format(string, sizeof(string), "{FF0000}..:: [FLB]Falcon's Login Box ::..\n{FFFFFF}Olá, você já possui uma conta registrada.\n\nNome: {FFFF80}%s\n\n{FFFFFF}Insira sua senha para logar-se:", nome);
  129.         ShowPlayerDialog(playerid, DialogLogin, DIALOG_STYLE_INPUT, "{FFFFFF}[FLB] - Login", string, "Login", "Sair");
  130.     }
  131.     return 1;
  132. }
  133.  
  134. public OnPlayerDisconnect(playerid, reason)
  135. {
  136.     SalvarDadosPlayer(playerid);
  137.     return 1;
  138. }
  139.  
  140. public OnPlayerSpawn(playerid)
  141. {
  142.     if(PrimeiroSpawn[playerid] == true)
  143.     {
  144.         PrimeiroSpawn[playerid] = false;
  145.         SetPlayerHealth(playerid, VALOR_MAXIMO_VIDA);
  146.         GetPlayerName(playerid, nome, sizeof(nome));
  147.         format(arquivo, sizeof(arquivo), ContasPlayers, nome);
  148.         SetPlayerSkin(playerid, dini_Int(arquivo, "SkinAtual"));
  149.         #if defined ContinuarUltimaPosicao
  150.         SetPlayerPos(playerid, dini_Float(arquivo, "PosX"), dini_Float(arquivo, "PosY"), dini_Float(arquivo, "PosZ"));
  151.         SetPlayerInterior(playerid, dini_Int(arquivo, "Interior"));
  152.         SetPlayerVirtualWorld(playerid, dini_Int(arquivo, "VirtualWorld"));
  153.         #endif
  154.         if(dini_Float(arquivo, "Vida") == 0) return 0x1;
  155.         SetPlayerHealth(playerid, dini_Float(arquivo, "Vida"));
  156.         SetPlayerArmour(playerid, dini_Float(arquivo, "Colete"));
  157.     }
  158.     return 1;
  159. }
  160.  
  161. public OnPlayerDeath(playerid, killerid, reason)
  162. {
  163.     TotalDeVezesMorreu[playerid] ++;
  164.     TotalDeVezesMatou[killerid] ++;
  165.     return 1;
  166. }
  167.  
  168. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
  169. {
  170.     if(dialogid == DialogRegistro)
  171.     {
  172.         if(!response) ShowPlayerDialog(playerid, DialogSaidaA, DIALOG_STYLE_MSGBOX, "{FFFFFF}[FLB]Confirmar saida", "{FF0000}..:: [FLB]Falcon's Login Box ::..\n{FFFFFF}Você ainda não está registrado.\n\nTem certeza que deseja sair ?", "Sair", "Voltar");
  173.         if(response)
  174.         {
  175.             if(strlen(inputtext) < 5 || strlen(inputtext) > 20)
  176.             {
  177.                 GetPlayerName(playerid, nome, sizeof(nome));
  178.                 format(string, sizeof(string), "{FF0000}..:: [FLB]Falcon's Login Box ::..\n{FFFFFF}Olá, você ainda não possui uma conta registrada.\n\nNome: {FFFF80}%s\n\n{FFFFFF}Insira uma senha para registrar-se:", nome);
  179.                 return ShowPlayerDialog(playerid, DialogRegistro, DIALOG_STYLE_INPUT, "{FFFFFF}[FLB] - Registro", string, "Registrar", "Sair");
  180.             }
  181.             GetPlayerName(playerid, nome, sizeof(nome));
  182.             format(arquivo, sizeof(arquivo), ContasPlayers, nome);
  183.             dini_Create(arquivo);
  184.             dini_Set(arquivo, "Senha", inputtext);
  185.             dini_IntSet(arquivo, "Dinheiro", 0);
  186.             dini_IntSet(arquivo, "Level", 0);
  187.             dini_IntSet(arquivo, "LevelProcurado", 0);
  188.             dini_IntSet(arquivo, "SkinAtual", 0);
  189.             dini_FloatSet(arquivo, "Vida", VALOR_MAXIMO_VIDA);
  190.             dini_FloatSet(arquivo, "Colete", VALOR_MAXIMO_COLETE);
  191.             #if defined ContinuarUltimaPosicao
  192.             dini_FloatSet(arquivo, "PosX", 0.0);
  193.             dini_FloatSet(arquivo, "PosY", 0.0);
  194.             dini_FloatSet(arquivo, "PosZ", 0.0);
  195.             dini_IntSet(arquivo, "Interior", 0);
  196.             dini_IntSet(arquivo, "VirtualWorld", 0);
  197.             #endif
  198.             dini_IntSet(arquivo, "TotalDeVezesMorreu", 0);
  199.             dini_IntSet(arquivo, "TotalDeVezesMatou", 0);
  200.             SpawnPlayer(playerid);
  201.             SendClientMessage(playerid, 0xFFFFFFAA, "[FLB]Obrigado por registrar-se...A administração do servidor lhe deseja um bom jogo !!");
  202.         }
  203.     }
  204.    
  205.     if(dialogid == DialogLogin)
  206.     {
  207.         if(!response) ShowPlayerDialog(playerid, DialogSaidaB, DIALOG_STYLE_MSGBOX, "{FFFFFF}[FLB]Confirmar saida", "{FF0000}..:: [FLB]Falcon's Login Box ::..\n{FFFFFF}Você ainda não está logado.\n\nTem certeza que deseja sair ?", "Sair", "Voltar");
  208.         if(response)
  209.         {
  210.             if(strlen(inputtext) < 5 || strlen(inputtext) > 20)
  211.             {
  212.                 GetPlayerName(playerid, nome, sizeof(nome));
  213.                 format(string, sizeof(string), "{FF0000}..:: [FLB]Falcon's Login Box ::..\n{FFFFFF}Olá, você já possui uma conta registrada.\n\nNome: {FFFF80}%s\n\n{FFFFFF}Insira sua senha para logar-se:", nome);
  214.                 return ShowPlayerDialog(playerid, DialogLogin, DIALOG_STYLE_INPUT, "{FFFFFF}[FLB] - Login", string, "Login", "Sair");
  215.             }
  216.             GetPlayerName(playerid, nome, sizeof(nome));
  217.             format(arquivo, sizeof(arquivo), ContasPlayers, nome);
  218.             if(!strcmp(inputtext, dini_Get(arquivo, "Senha"), CASE_SENSITIVE))
  219.             {
  220.                 CarregarDadosPlayer(playerid);
  221.                 SpawnPlayer(playerid);
  222.             }
  223.             else
  224.             {
  225.                 TentativasDeLogar[playerid] ++;
  226.                 if(TentativasDeLogar[playerid] <= MAXIMO_TLOGAR)
  227.                 {
  228.                     GetPlayerName(playerid, nome, sizeof(nome));
  229.                     format(string, sizeof(string), "{FF0000}..:: [FLB]Falcon's Login Box ::..\n{FFFFFF}Olá, você ainda não possui uma conta registrada.\n\nNome: {FFFF80}%s\n\n{FFFFFF}Insira uma senha para registrar-se:", nome);
  230.                     ShowPlayerDialog(playerid, DialogRegistro, DIALOG_STYLE_INPUT, "{FFFFFF}[FLB] - Registro", string, "Registrar", "Sair");
  231.                     format(string, sizeof(string), "Senha incorreta !!  || %d Tentativa(s) de %d", TentativasDeLogar[playerid], MAXIMO_TLOGAR);
  232.                     SendClientMessage(playerid, 0xFF0000AA, string);
  233.                 }
  234.                 if(TentativasDeLogar[playerid] > MAXIMO_TLOGAR)
  235.                 {
  236.                     SendClientMessage(playerid, 0xFF0000AA, "Você excedeu o limite máximo de tentativas de logar...");
  237.                     SendClientMessage(playerid, 0xFF0000AA, "Por questões de segurança você foi kickado !!");
  238.                     Kick(playerid);
  239.                 }
  240.             }
  241.         }
  242.     }
  243.    
  244.     if(dialogid == DialogSaidaA)
  245.     {
  246.         if(response)
  247.         {
  248.             SendClientMessage(playerid, 0xFFFFFFAA, "Você decidiu sair sem se registrar...");
  249.             Kick(playerid);
  250.         }
  251.         else
  252.         {
  253.             GetPlayerName(playerid, nome, sizeof(nome));
  254.             format(string, sizeof(string), "{FF0000}..:: [FLB]Falcon's Login Box ::..\n{FFFFFF}Olá, você ainda não possui uma conta registrada.\n\nNome: {FFFF80}%s\n\n{FFFFFF}Insira uma senha para registrar-se:", nome);
  255.             ShowPlayerDialog(playerid, DialogRegistro, DIALOG_STYLE_INPUT, "{FFFFFF}[FLB] - Registro", string, "Registrar", "Sair");
  256.         }
  257.     }
  258.    
  259.     if(dialogid == DialogSaidaB)
  260.     {
  261.         if(response)
  262.         {
  263.             SendClientMessage(playerid, 0xFFFFFFAA, "Você decidiu sair sem se logar...");
  264.             Kick(playerid);
  265.         }
  266.         else
  267.         {
  268.             GetPlayerName(playerid, nome, sizeof(nome));
  269.             format(string, sizeof(string), "{FF0000}..:: [FLB]Falcon's Login Box ::..\n{FFFFFF}Olá, você já possui uma conta registrada.\n\nNome: {FFFF80}%s\n\n{FFFFFF}Insira sua senha para logar-se:", nome);
  270.             ShowPlayerDialog(playerid, DialogLogin, DIALOG_STYLE_INPUT, "{FFFFFF}[FLB] - Login", string, "Login", "Sair");
  271.         }
  272.     }
  273.     return 1;
  274. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement