Advertisement
Falcon

[FLB] - DOF 2

Sep 8th, 2011
500
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 12.02 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 - Vai_Besta                           MMMM
  10. MMMM                                                                        MMMM
  11. MMMM Versão: Double-O-Files2 por Double-O-Seven                             MMMM
  12. MMMM                                                                        MMMM
  13. MMMM''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''MMMM
  14. MMMM Este script está disponível somente no link abaixo, caso tenha baixado MMMM
  15. MMMM em outro local por favor entre em contato.                             MMMM
  16. MMMM                                                                        MMMM
  17. MMMM Download: http://forum.sa-mp.com/showthread.php?t=268151               MMMM
  18. MMMM Contato: http://forum.sa-mp.com/member.php?u=98669                     MMMM
  19. MMMM                                                                        MMMM
  20. MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
  21. MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM*/
  22. #include <a_samp>
  23. #include <Double-O-Files_2>
  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(!DOF2_FileExists(arquivo)) DOF2_CreateFile(arquivo);
  53.  
  54.     DOF2_SetInt(arquivo, "Dinheiro", GetPlayerMoney(playerid));
  55.     DOF2_SetInt(arquivo, "Level", GetPlayerScore(playerid));
  56.     DOF2_SetInt(arquivo, "LevelProcurado", GetPlayerWantedLevel(playerid));
  57.     DOF2_SetInt(arquivo, "SkinAtual", GetPlayerSkin(playerid));
  58.     DOF2_SetFloat(arquivo, "Vida", Vida);
  59.     DOF2_SetFloat(arquivo, "Colete", Colete);
  60.     #if defined ContinuarUltimaPosicao
  61.     DOF2_SetFloat(arquivo, "PosX", PosX);
  62.     DOF2_SetFloat(arquivo, "PosY", PosY);
  63.     DOF2_SetFloat(arquivo, "PosZ", PosZ);
  64.     DOF2_SetInt(arquivo, "Interior", GetPlayerInterior(playerid));
  65.     DOF2_SetInt(arquivo, "VirtualWorld", GetPlayerVirtualWorld(playerid));
  66.     #endif
  67.     DOF2_SetInt(arquivo, "TotalDeVezesMorreu", TotalDeVezesMorreu[playerid]);
  68.     DOF2_SetInt(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(!DOF2_FileExists(arquivo)) return 0x1;
  77.  
  78.     GivePlayerMoney(playerid, DOF2_GetInt(arquivo, "Dinheiro"));
  79.     SetPlayerScore(playerid, DOF2_GetInt(arquivo, "Level"));
  80.     SetPlayerWantedLevel(playerid, DOF2_GetInt(arquivo, "LevelProcurado"));
  81.     TotalDeVezesMorreu[playerid] = DOF2_GetInt(arquivo, "TotalDeVezesMorreu");
  82.     TotalDeVezesMatou[playerid] = DOF2_GetInt(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.     DOF2_Exit();
  101.     print("MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM");
  102.     print("MM");
  103.     print("MM       [FLB]Falcon's Login Box");
  104.     print("MM");
  105.     print("MM      (FilterScript Descarregado)");
  106.     print("MM");
  107.     print("MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM");
  108.     for(new ii, ff = GetMaxPlayers(); ii < ff; ii++)
  109.         {
  110.         if(!IsPlayerConnected(ii)) continue;
  111.         SalvarDadosPlayer(ii);
  112.     }
  113.     return 1;
  114. }
  115.  
  116. public OnPlayerConnect(playerid)
  117. {
  118.     PrimeiroSpawn[playerid] = true;
  119.     TentativasDeLogar[playerid] = 0;
  120.     GetPlayerName(playerid, nome, sizeof(nome));
  121.     format(arquivo, sizeof(arquivo), ContasPlayers, nome);
  122.     if(!DOF2_FileExists(arquivo))
  123.     {
  124.         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);
  125.         ShowPlayerDialog(playerid, DialogRegistro, DIALOG_STYLE_INPUT, "{FFFFFF}[FLB] - Registro", _string, "Registrar", "Sair");
  126.     }
  127.     if(DOF2_FileExists(arquivo))
  128.     {
  129.         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);
  130.         ShowPlayerDialog(playerid, DialogLogin, DIALOG_STYLE_INPUT, "{FFFFFF}[FLB] - Login", _string, "Login", "Sair");
  131.     }
  132.     return 1;
  133. }
  134.  
  135. public OnPlayerDisconnect(playerid, reason)
  136. {
  137.     SalvarDadosPlayer(playerid);
  138.     return 1;
  139. }
  140.  
  141. public OnPlayerSpawn(playerid)
  142. {
  143.     if(PrimeiroSpawn[playerid] == true)
  144.     {
  145.         PrimeiroSpawn[playerid] = false;
  146.         SetPlayerHealth(playerid, VALOR_MAXIMO_VIDA);
  147.         GetPlayerName(playerid, nome, sizeof(nome));
  148.         format(arquivo, sizeof(arquivo), ContasPlayers, nome);
  149.         SetPlayerSkin(playerid, DOF2_GetInt(arquivo, "SkinAtual"));
  150.         #if defined ContinuarUltimaPosicao
  151.         SetPlayerPos(playerid, DOF2_GetFloat(arquivo, "PosX"), DOF2_GetFloat(arquivo, "PosY"), DOF2_GetFloat(arquivo, "PosZ"));
  152.         SetPlayerInterior(playerid, DOF2_GetInt(arquivo, "Interior"));
  153.         SetPlayerVirtualWorld(playerid, DOF2_GetInt(arquivo, "VirtualWorld"));
  154.         #endif
  155.         if(DOF2_GetFloat(arquivo, "Vida") == 0) return 0x1;
  156.         SetPlayerHealth(playerid, DOF2_GetFloat(arquivo, "Vida"));
  157.         SetPlayerArmour(playerid, DOF2_GetFloat(arquivo, "Colete"));
  158.     }
  159.     return 1;
  160. }
  161.  
  162. public OnPlayerDeath(playerid, killerid, reason)
  163. {
  164.     TotalDeVezesMorreu[playerid] ++;
  165.     TotalDeVezesMatou[killerid] ++;
  166.     return 1;
  167. }
  168.  
  169. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
  170. {
  171.     if(dialogid == DialogRegistro)
  172.     {
  173.         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");
  174.         if(response)
  175.         {
  176.             if(strlen(inputtext) < 5 || strlen(inputtext) > 20)
  177.             {
  178.                 GetPlayerName(playerid, nome, sizeof(nome));
  179.                 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);
  180.                 return ShowPlayerDialog(playerid, DialogRegistro, DIALOG_STYLE_INPUT, "{FFFFFF}[FLB] - Registro", _string, "Registrar", "Sair");
  181.             }
  182.             GetPlayerName(playerid, nome, sizeof(nome));
  183.             format(arquivo, sizeof(arquivo), ContasPlayers, nome);
  184.             DOF2_CreateFile(arquivo);
  185.             DOF2_SetString(arquivo, "Senha", inputtext);
  186.             DOF2_SetInt(arquivo, "Dinheiro", 0);
  187.             DOF2_SetInt(arquivo, "Level", 0);
  188.             DOF2_SetInt(arquivo, "LevelProcurado", 0);
  189.             DOF2_SetInt(arquivo, "SkinAtual", 0);
  190.             DOF2_SetFloat(arquivo, "Vida", VALOR_MAXIMO_VIDA);
  191.             DOF2_SetFloat(arquivo, "Colete", VALOR_MAXIMO_COLETE);
  192.             #if defined ContinuarUltimaPosicao
  193.             DOF2_SetFloat(arquivo, "PosX", 0.0);
  194.             DOF2_SetFloat(arquivo, "PosY", 0.0);
  195.             DOF2_SetFloat(arquivo, "PosZ", 0.0);
  196.             DOF2_SetInt(arquivo, "Interior", 0);
  197.             DOF2_SetInt(arquivo, "VirtualWorld", 0);
  198.             #endif
  199.             DOF2_SetInt(arquivo, "TotalDeVezesMorreu", 0);
  200.             DOF2_SetInt(arquivo, "TotalDeVezesMatou", 0);
  201.             SpawnPlayer(playerid);
  202.             SendClientMessage(playerid, 0xFFFFFFAA, "[FLB]Obrigado por registrar-se...A administração do servidor lhe deseja um bom jogo !!");
  203.         }
  204.     }
  205.  
  206.     if(dialogid == DialogLogin)
  207.     {
  208.         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");
  209.         if(response)
  210.         {
  211.             if(strlen(inputtext) < 5 || strlen(inputtext) > 20)
  212.             {
  213.                 GetPlayerName(playerid, nome, sizeof(nome));
  214.                 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);
  215.                 return ShowPlayerDialog(playerid, DialogLogin, DIALOG_STYLE_INPUT, "{FFFFFF}[FLB] - Login", _string, "Login", "Sair");
  216.             }
  217.             GetPlayerName(playerid, nome, sizeof(nome));
  218.             format(arquivo, sizeof(arquivo), ContasPlayers, nome);
  219.             if(!strcmp(inputtext, DOF2_GetString(arquivo, "Senha"), CASE_SENSITIVE))
  220.             {
  221.                 CarregarDadosPlayer(playerid);
  222.                 SpawnPlayer(playerid);
  223.             }
  224.             else
  225.             {
  226.                 TentativasDeLogar[playerid] ++;
  227.                 if(TentativasDeLogar[playerid] <= MAXIMO_TLOGAR)
  228.                 {
  229.                     GetPlayerName(playerid, nome, sizeof(nome));
  230.                     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);
  231.                     ShowPlayerDialog(playerid, DialogRegistro, DIALOG_STYLE_INPUT, "{FFFFFF}[FLB] - Registro", _string, "Registrar", "Sair");
  232.                     format(_string, sizeof(_string), "Senha incorreta !!  || %d Tentativa(s) de %d", TentativasDeLogar[playerid], MAXIMO_TLOGAR);
  233.                     SendClientMessage(playerid, 0xFF0000AA, _string);
  234.                 }
  235.                 if(TentativasDeLogar[playerid] > MAXIMO_TLOGAR)
  236.                 {
  237.                     SendClientMessage(playerid, 0xFF0000AA, "Você excedeu o limite máximo de tentativas de logar...");
  238.                     SendClientMessage(playerid, 0xFF0000AA, "Por questões de segurança você foi kickado !!");
  239.                     Kick(playerid);
  240.                 }
  241.             }
  242.         }
  243.     }
  244.  
  245.     if(dialogid == DialogSaidaA)
  246.     {
  247.         if(response)
  248.         {
  249.             SendClientMessage(playerid, 0xFFFFFFAA, "Você decidiu sair sem se registrar...");
  250.             Kick(playerid);
  251.         }
  252.         else
  253.         {
  254.             GetPlayerName(playerid, nome, sizeof(nome));
  255.             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);
  256.             ShowPlayerDialog(playerid, DialogRegistro, DIALOG_STYLE_INPUT, "{FFFFFF}[FLB] - Registro", _string, "Registrar", "Sair");
  257.         }
  258.     }
  259.  
  260.     if(dialogid == DialogSaidaB)
  261.     {
  262.         if(response)
  263.         {
  264.             SendClientMessage(playerid, 0xFFFFFFAA, "Você decidiu sair sem se logar...");
  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ê já possui uma conta registrada.\n\nNome: {FFFF80}%s\n\n{FFFFFF}Insira sua senha para logar-se:", nome);
  271.             ShowPlayerDialog(playerid, DialogLogin, DIALOG_STYLE_INPUT, "{FFFFFF}[FLB] - Login", _string, "Login", "Sair");
  272.         }
  273.     }
  274.     return 1;
  275. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement