Advertisement
Falcon

[FLB] - Fini

Sep 6th, 2011
509
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 11.91 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: Fini - por DraKiNs                                             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 <Fini>
  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(!Fini_Exists(arquivo)) return 0x1;
  53.  
  54.     Fini_OpenFile(arquivo);
  55.     Fini_SetVal("Dinheiro", GetPlayerMoney(playerid));
  56.     Fini_SetVal("Level", GetPlayerScore(playerid));
  57.     Fini_SetVal("LevelProcurado", GetPlayerWantedLevel(playerid));
  58.     Fini_SetVal("SkinAtual", GetPlayerSkin(playerid));
  59.     Fini_SetFloat("Vida", Vida);
  60.     Fini_SetFloat("Colete", Colete);
  61.     #if defined ContinuarUltimaPosicao
  62.     Fini_SetFloat("PosX", PosX);
  63.     Fini_SetFloat("PosY", PosY);
  64.     Fini_SetFloat("PosZ", PosZ);
  65.     Fini_SetVal("Interior", GetPlayerInterior(playerid));
  66.     Fini_SetVal("VirtualWorld", GetPlayerVirtualWorld(playerid));
  67.     #endif
  68.     Fini_SetVal("TotalDeVezesMorreu", TotalDeVezesMorreu[playerid]);
  69.     Fini_SetVal("TotalDeVezesMatou", TotalDeVezesMatou[playerid]);
  70.     Fini_SaveFile(arquivo);
  71.     Fini_CloseFile();
  72.     return 0x1;
  73. }
  74.  
  75. stock CarregarDadosPlayer(playerid)
  76. {
  77.     GetPlayerName(playerid, nome, sizeof(nome));
  78.     format(arquivo, sizeof(arquivo), ContasPlayers, nome);
  79.     if(!Fini_Exists(arquivo)) return 0x1;
  80.  
  81.     Fini_OpenFile(arquivo);
  82.     GivePlayerMoney(playerid, Fini_GetValue("Dinheiro"));
  83.     SetPlayerScore(playerid, Fini_GetValue("Level"));
  84.     SetPlayerWantedLevel(playerid, Fini_GetValue("LevelProcurado"));
  85.     TotalDeVezesMorreu[playerid] = Fini_GetValue("TotalDeVezesMorreu");
  86.     TotalDeVezesMatou[playerid] = Fini_GetValue("TotalDeVezesMatou");
  87.     Fini_CloseFile();
  88.     return 0x1;
  89. }
  90.  
  91. public OnFilterScriptInit()
  92. {
  93.     print("MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM");
  94.     print("MM");
  95.     print("MM       [FLB]Falcon's Login Box");
  96.     print("MM");
  97.     print("MM       (FilterScript Carregado)");
  98.     print("MM");
  99.     print("MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM");
  100.     return 1;
  101. }
  102.  
  103. public OnFilterScriptExit()
  104. {
  105.     print("MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM");
  106.     print("MM");
  107.     print("MM       [FLB]Falcon's Login Box");
  108.     print("MM");
  109.     print("MM      (FilterScript Descarregado)");
  110.     print("MM");
  111.     print("MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM");
  112.     for(new ii, ff = GetMaxPlayers(); ii < ff; ii++)
  113.         {
  114.         if(!IsPlayerConnected(ii)) continue;
  115.         SalvarDadosPlayer(ii);
  116.     }
  117.     return 1;
  118. }
  119.  
  120. public OnPlayerConnect(playerid)
  121. {
  122.     PrimeiroSpawn[playerid] = true;
  123.     TentativasDeLogar[playerid] = 0;
  124.     GetPlayerName(playerid, nome, sizeof(nome));
  125.     format(arquivo, sizeof(arquivo), ContasPlayers, nome);
  126.     if(!Fini_Exists(arquivo))
  127.     {
  128.         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);
  129.         ShowPlayerDialog(playerid, DialogRegistro, DIALOG_STYLE_INPUT, "{FFFFFF}[FLB] - Registro", string, "Registrar", "Sair");
  130.     }
  131.     if(Fini_Exists(arquivo))
  132.     {
  133.         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);
  134.         ShowPlayerDialog(playerid, DialogLogin, DIALOG_STYLE_INPUT, "{FFFFFF}[FLB] - Login", string, "Login", "Sair");
  135.     }
  136.     return 1;
  137. }
  138.  
  139. public OnPlayerDisconnect(playerid, reason)
  140. {
  141.     SalvarDadosPlayer(playerid);
  142.     return 1;
  143. }
  144.  
  145. public OnPlayerSpawn(playerid)
  146. {
  147.     if(PrimeiroSpawn[playerid] == true)
  148.     {
  149.         PrimeiroSpawn[playerid] = false;
  150.         SetPlayerHealth(playerid, VALOR_MAXIMO_VIDA);
  151.         GetPlayerName(playerid, nome, sizeof(nome));
  152.         format(arquivo, sizeof(arquivo), ContasPlayers, nome);
  153.         Fini_OpenFile(arquivo);
  154.         SetPlayerSkin(playerid, Fini_GetValue("SkinAtual"));
  155.         #if defined ContinuarUltimaPosicao
  156.         SetPlayerPos(playerid, Fini_GetFloat("PosX"), Fini_GetFloat("PosY"), Fini_GetFloat("PosZ"));
  157.         SetPlayerInterior(playerid, Fini_GetValue("Interior"));
  158.         SetPlayerVirtualWorld(playerid, Fini_GetValue("VirtualWorld"));
  159.         #endif
  160.         Fini_CloseFile();
  161.         if(Fini_GetFloat("Vida") == 0) return 0x1;
  162.         Fini_OpenFile(arquivo);
  163.         SetPlayerHealth(playerid, Fini_GetFloat("Vida"));
  164.         SetPlayerArmour(playerid, Fini_GetFloat("Colete"));
  165.         Fini_CloseFile();
  166.     }
  167.     return 1;
  168. }
  169.  
  170. public OnPlayerDeath(playerid, killerid, reason)
  171. {
  172.     TotalDeVezesMorreu[playerid] ++;
  173.     TotalDeVezesMatou[killerid] ++;
  174.     return 1;
  175. }
  176.  
  177. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
  178. {
  179.     if(dialogid == DialogRegistro)
  180.     {
  181.         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");
  182.         if(response)
  183.         {
  184.             if(strlen(inputtext) < 5 || strlen(inputtext) > 20)
  185.             {
  186.                 GetPlayerName(playerid, nome, sizeof(nome));
  187.                 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);
  188.                 return ShowPlayerDialog(playerid, DialogRegistro, DIALOG_STYLE_INPUT, "{FFFFFF}[FLB] - Registro", string, "Registrar", "Sair");
  189.             }
  190.             GetPlayerName(playerid, nome, sizeof(nome));
  191.             format(arquivo, sizeof(arquivo), ContasPlayers, nome);
  192.             Fini_Create(arquivo);
  193.             Fini_OpenFile(arquivo);
  194.             Fini_SetStr("Senha", inputtext);
  195.             Fini_SetVal("Dinheiro", 0);
  196.             Fini_SetVal("Level", 0);
  197.             Fini_SetVal("LevelProcurado", 0);
  198.             Fini_SetVal("SkinAtual", 0);
  199.             Fini_SetFloat("Vida", VALOR_MAXIMO_VIDA);
  200.             Fini_SetFloat("Colete", VALOR_MAXIMO_COLETE);
  201.             #if defined ContinuarUltimaPosicao
  202.             Fini_SetFloat("PosX", 0.0);
  203.             Fini_SetFloat("PosY", 0.0);
  204.             Fini_SetFloat("PosZ", 0.0);
  205.             Fini_SetVal("Interior", 0);
  206.             Fini_SetVal("VirtualWorld", 0);
  207.             #endif
  208.             Fini_SetVal("TotalDeVezesMorreu", 0);
  209.             Fini_SetVal("TotalDeVezesMatou", 0);
  210.             Fini_SaveFile(arquivo);
  211.             Fini_CloseFile();
  212.             SpawnPlayer(playerid);
  213.             SendClientMessage(playerid, 0xFFFFFFAA, "[FLB]Obrigado por registrar-se...A administração do servidor lhe deseja um bom jogo !!");
  214.         }
  215.     }
  216.  
  217.     if(dialogid == DialogLogin)
  218.     {
  219.         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");
  220.         if(response)
  221.         {
  222.             if(strlen(inputtext) < 5 || strlen(inputtext) > 20)
  223.             {
  224.                 GetPlayerName(playerid, nome, sizeof(nome));
  225.                 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);
  226.                 return ShowPlayerDialog(playerid, DialogLogin, DIALOG_STYLE_INPUT, "{FFFFFF}[FLB] - Login", string, "Login", "Sair");
  227.             }
  228.             static Input[20];
  229.             GetPlayerName(playerid, nome, sizeof(nome));
  230.             format(arquivo, sizeof(arquivo), ContasPlayers, nome);
  231.             Fini_OpenFile(arquivo);
  232.             format(Input, 20, "%s", Fini_GetStr("Senha"));
  233.             Fini_CloseFile();
  234.             if(!strcmp(inputtext, Input, CASE_SENSITIVE))
  235.             {
  236.                 CarregarDadosPlayer(playerid);
  237.                 SpawnPlayer(playerid);
  238.             }
  239.             else
  240.             {
  241.                 TentativasDeLogar[playerid] ++;
  242.                 if(TentativasDeLogar[playerid] <= MAXIMO_TLOGAR)
  243.                 {
  244.                     GetPlayerName(playerid, nome, sizeof(nome));
  245.                     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);
  246.                     ShowPlayerDialog(playerid, DialogRegistro, DIALOG_STYLE_INPUT, "{FFFFFF}[FLB] - Registro", string, "Registrar", "Sair");
  247.                     format(string, sizeof(string), "Senha incorreta !!  || %d Tentativa(s) de %d", TentativasDeLogar[playerid], MAXIMO_TLOGAR);
  248.                     SendClientMessage(playerid, 0xFF0000AA, string);
  249.                 }
  250.                 if(TentativasDeLogar[playerid] > MAXIMO_TLOGAR)
  251.                 {
  252.                     SendClientMessage(playerid, 0xFF0000AA, "Você excedeu o limite máximo de tentativas de logar...");
  253.                     SendClientMessage(playerid, 0xFF0000AA, "Por questões de segurança você foi kickado !!");
  254.                     Kick(playerid);
  255.                 }
  256.             }
  257.         }
  258.     }
  259.  
  260.     if(dialogid == DialogSaidaA)
  261.     {
  262.         if(response)
  263.         {
  264.             SendClientMessage(playerid, 0xFFFFFFAA, "Você decidiu sair sem se registrar...");
  265.             Kick(playerid);
  266.         }
  267.         else
  268.         {
  269.             GetPlayerName(playerid, nome, sizeof(nome));
  270.             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);
  271.             ShowPlayerDialog(playerid, DialogRegistro, DIALOG_STYLE_INPUT, "{FFFFFF}[FLB] - Registro", string, "Registrar", "Sair");
  272.         }
  273.     }
  274.  
  275.     if(dialogid == DialogSaidaB)
  276.     {
  277.         if(response)
  278.         {
  279.             SendClientMessage(playerid, 0xFFFFFFAA, "Você decidiu sair sem se logar...");
  280.             Kick(playerid);
  281.         }
  282.         else
  283.         {
  284.             GetPlayerName(playerid, nome, sizeof(nome));
  285.             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);
  286.             ShowPlayerDialog(playerid, DialogLogin, DIALOG_STYLE_INPUT, "{FFFFFF}[FLB] - Login", string, "Login", "Sair");
  287.         }
  288.     }
  289.     return 1;
  290. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement