Advertisement
Guest User

[FS] Caixas Eletrônicos - Flenex

a guest
Jul 26th, 2021
4,867
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 17.99 KB | None | 0 0
  1. /*
  2.     ******************** [DESENVOLVIDO POR FLENEX] ********************
  3.  
  4.     * Comandos:
  5.     /CriarCaixa - Cria um caixa eletronico
  6.     /DeletarCaixa - Deleta um caixa eletronico (Perto dele)
  7.     /Caixas - Ve quantos caixas voce tem criado e suas posições.
  8.  
  9.     * Funcionamento:
  10.     Ao dar /CriarCaixa deverá posicionar o mesmo aonde deseja, ao apertar a tecla "Y", alguem abrirá o menu do caixa eletronico,
  11.     sendo ele "Sacar, Depositar, Transferir".
  12.  
  13.     Para deletar um caixa, chegue perto dele e de /DeletarCaixa.
  14.  
  15.     Caso deseja que o sistema não salve o dinheiro que está nas mãos do player, mude a variavel "SALVAR_DINHEIRO_MAO" para "0"
  16.  
  17.     Caso queira criar mais de 100 Caixas Eletronicos mude a variavel "MAX_CAIXAS" para o numero desejado.
  18.  
  19.     *********** OBS:
  20.     DEVERÁ CRIAR UMA PASTA CHAMADA "Caixas Eletronicos" EM "SCRIPTFILES" E OUTRA PASTA DENTRO COM O NOME "Contas".
  21.     CASO NÃO CRIE O SERVIDOR IRÁ CRASHAR!
  22.  
  23.     Includes:
  24.     - a_samp
  25.     - DOF2
  26.     - zcmd
  27.     - streamer
  28. */
  29.  
  30.  
  31.  
  32.  
  33.  
  34. #define FILTERSCRIPT
  35.  
  36. #include <a_samp>
  37. #include <DOF2>
  38. #include <zcmd>
  39. #include <streamer>
  40.  
  41. #define Loop(%0,%1) for(new %0 = 0; %0 < %1; ++%0)
  42.  
  43. //////////////////////////////////////// [CORES] ////////////////////////////////////////
  44.  
  45. #define Verde       0x00FF00FF
  46. #define Vermelho    0xff0000FF
  47. #define Verde2      0x19B519FF
  48. #define Branco      0xf0f0f0FF
  49. #define Amarelo     0xffff00FF
  50.  
  51. //////////////////////////////////////// [DEFINIÇÕES] ////////////////////////////////////////
  52.  
  53. #define MAX_CAIXAS 100 // Máximo de caixas eletrônicos
  54.  
  55. #define DIALOG_CAIXA_ELETRONICO         5555 // Mude caso esteja dando conflito
  56. #define DIALOG_CAIXA_SACAR              5556 // Mude caso esteja dando conflito
  57. #define DIALOG_CAIXA_DEPOSITAR          5557 // Mude caso esteja dando conflito
  58. #define DIALOG_CAIXA_TRANSFERIR_NICK    5558 // Mude caso esteja dando conflito
  59. #define DIALOG_CAIXA_TRANSFERIR_VALOR   5559 // Mude caso esteja dando conflito
  60.  
  61. //////////////////////////////////////// [VARIAVEIS] ////////////////////////////////////////
  62.  
  63. new SALVAR_DINHEIRO_MAO = 1; // 1 = Sim, 0 = Não.
  64.  
  65. new IDTransferindo[MAX_PLAYERS] = -1;
  66. new CaixaEditando[MAX_PLAYERS];
  67. new bool:Spawnado[MAX_PLAYERS] = false;
  68.  
  69. enum CaixaInfos {
  70.     Text3D:Text,
  71.     Icon,
  72.     VW,
  73.     Interior,
  74.     Obj,
  75.     Float:Cx,
  76.     Float:Cy,
  77.     Float:Cz,
  78.     Float:Crx,
  79.     Float:Cry,
  80.     Float:Crz,
  81. };
  82.  
  83. enum PlayerCaixaInfos {
  84.     DinheiroBanco,
  85.     Dinheiro
  86. };
  87.  
  88. new CaixaEletronico[MAX_CAIXAS][CaixaInfos];
  89. new PlayerCaixaInfo[MAX_PLAYERS][PlayerCaixaInfos];
  90.  
  91. //////////////////////////////////////// [PUBLICS] ////////////////////////////////////////
  92.  
  93. public OnFilterScriptInit()
  94. {
  95.     print("\n-------------------------------------------------");
  96.     print(" [FS] Caixas eletronicos by Flenex carregado!");
  97.     print("-------------------------------------------------\n");
  98.  
  99.     Loop(i, MAX_CAIXAS) AtualizarCaixa(i);
  100.  
  101.     return 1;
  102. }
  103.  
  104. public OnFilterScriptExit()
  105. {
  106.     DOF2_Exit();
  107.     return 1;
  108. }
  109.  
  110. public OnPlayerSpawn(playerid)
  111. {  
  112.     CarregarPlayerCaixaInfo(playerid);
  113.     Spawnado[playerid] = true;
  114.  
  115.     if(SALVAR_DINHEIRO_MAO == 1) {
  116.         ResetPlayerMoney(playerid);
  117.         GivePlayerMoney(playerid, PlayerCaixaInfo[playerid][Dinheiro]);
  118.     }
  119.     return 1;
  120. }
  121.  
  122. public OnPlayerDisconnect(playerid, reason) {
  123.     if(Spawnado[playerid] == true) SalvarPlayerCaixaInfo(playerid);
  124.     Spawnado[playerid] = false;
  125. }
  126.  
  127. public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
  128. {
  129.     if(newkeys == KEY_YES) {
  130.         new titulo[64];
  131.         Loop(i, MAX_CAIXAS) {
  132.             if(IsPlayerInRangeOfPoint(playerid, 2, CaixaEletronico[i][Cx],CaixaEletronico[i][Cy],CaixaEletronico[i][Cz]) &&
  133.                 DOF2_FileExists(CaixaFile(i)) && GetPlayerVirtualWorld(playerid) == CaixaEletronico[i][VW]) {
  134.  
  135.                 IDTransferindo[playerid] = -1;
  136.                 CarregarPlayerCaixaInfo(playerid);
  137.  
  138.                 format(titulo, sizeof(titulo), "{19B519}Caixa Eletrônico - Saldo: {f0f0f0}$%s", Convert(PlayerCaixaInfo[playerid][DinheiroBanco]));
  139.  
  140.                 if(IsPlayerInAnyVehicle(playerid)) return SCM(playerid, Vermelho, "Você não pode estar em um veículo!");
  141.                 ShowPlayerDialog(playerid, DIALOG_CAIXA_ELETRONICO, DIALOG_STYLE_LIST, titulo,
  142.                     "Sacar\nDepositar\nTransferir", "Selecionar", "Cancelar");
  143.             }
  144.         }
  145.     }
  146.     return 1;
  147. }
  148.  
  149. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
  150. {
  151.     new titulo[64];
  152.     format(titulo, sizeof(titulo), "{19B519}Caixa Eletrônico");
  153.     if(response) {
  154.         if(dialogid == DIALOG_CAIXA_ELETRONICO) {
  155.             switch(listitem) {
  156.                 case 0: {
  157.                     new dg[500];
  158.                     format(dg, sizeof(dg),"{f0f0f0}Dinheiro em conta: {19B519}$%s\n\
  159.                        {f0f0f0}Dinheiro em mãos: {19B519}$%s\n\n\
  160.                     {f0f0f0}Insira abaixo um valor para sacar:", Convert(GetPlayerMoney(playerid)),Convert(PlayerCaixaInfo[playerid][DinheiroBanco]));
  161.  
  162.                     ShowPlayerDialog(playerid, DIALOG_CAIXA_SACAR, DIALOG_STYLE_INPUT, titulo,
  163.                  dg, "Sacar", "Cancelar");
  164.                 }
  165.  
  166.                 case 1: {
  167.                     new dg[500];
  168.                     format(dg, sizeof(dg),"{f0f0f0}Dinheiro em conta: {19B519}$%s\n\
  169.                        {f0f0f0}Dinheiro em mãos: {19B519}$%s\n\n\
  170.                     {f0f0f0}Insira abaixo um valor para depositar:", Convert(GetPlayerMoney(playerid)),Convert(PlayerCaixaInfo[playerid][DinheiroBanco]));
  171.  
  172.                     ShowPlayerDialog(playerid, DIALOG_CAIXA_DEPOSITAR, DIALOG_STYLE_INPUT, titulo,
  173.                  dg, "Depositar", "Cancelar");
  174.                 }
  175.  
  176.                 case 2: {
  177.                     new dg[500];
  178.                     format(dg, sizeof(dg),"{f0f0f0}Insira abaixo o {1abd59}ID {f0f0f0}do beneficiado");
  179.  
  180.                     ShowPlayerDialog(playerid, DIALOG_CAIXA_TRANSFERIR_NICK, DIALOG_STYLE_INPUT, titulo,
  181.                  dg, "Inserir", "Cancelar");
  182.                 }
  183.             }
  184.         }
  185.  
  186.         if(dialogid == DIALOG_CAIXA_SACAR) {
  187.             new valor = strval(inputtext), msg[128];
  188.             if(!strlen(inputtext) || valor > PlayerCaixaInfo[playerid][DinheiroBanco] || valor <= 0) return SCM(playerid, Vermelho, "| CAIXA ELETRÔNICO | Valor inválido! Insira outro.");
  189.             PlayerCaixaInfo[playerid][DinheiroBanco] -= valor;
  190.             GivePlayerMoney(playerid, valor);
  191.             SalvarPlayerCaixaInfo(playerid);
  192.  
  193.             format(msg, sizeof(msg), "| CAIXA ELETRÔNICO | Você sacou {f0f0f0}$%s {19B519}de sua conta bancária!", Convert(valor));
  194.             SCM(playerid, 0x19B519FF, msg);
  195.         }
  196.         if(dialogid == DIALOG_CAIXA_DEPOSITAR) {
  197.             new valor = strval(inputtext), msg[128];
  198.             if(!strlen(inputtext) || valor > GetPlayerMoney(playerid) || valor <= 0) return SCM(playerid, Vermelho, "| CAIXA ELETRÔNICO | Valor inválido! Insira outro.");
  199.             PlayerCaixaInfo[playerid][DinheiroBanco] += valor;
  200.             GivePlayerMoney(playerid, -valor);
  201.             SalvarPlayerCaixaInfo(playerid);
  202.  
  203.             format(msg, sizeof(msg), "| CAIXA ELETRÔNICO | Você depositou {f0f0f0}$%s {19B519}em sua conta bancária!", Convert(valor));
  204.             SCM(playerid, 0x19B519FF, msg);
  205.         }
  206.         if(dialogid == DIALOG_CAIXA_TRANSFERIR_NICK) {
  207.             new id = strval(inputtext);
  208.             if(!IsPlayerConnected(id) || IsPlayerNPC(id) || id == INVALID_PLAYER_ID || !strlen(inputtext)) return SCM(playerid, Vermelho, "| CAIXA ELETRÔNICO | O id inserido não está conectado! Insira outro.");
  209.             if(id == playerid) return SCM(playerid, Vermelho, "| CAIXA ELETRÔNICO | Você não pode transferir dinheiro para você mesmo!");
  210.             IDTransferindo[playerid] = id;
  211.        
  212.             new dg[500];
  213.             format(dg, sizeof(dg),"{f0f0f0}Dinheiro em conta: {19B519}$%s\n\
  214.                {f0f0f0}Dinheiro em mãos: {19B519}$%s\n\n\
  215.             {f0f0f0}Insira abaixo um {1abd59}valor {f0f0f0}para Transferir:", Convert(GetPlayerMoney(playerid)),Convert(PlayerCaixaInfo[playerid][DinheiroBanco]));
  216.  
  217.             ShowPlayerDialog(playerid, DIALOG_CAIXA_TRANSFERIR_VALOR, DIALOG_STYLE_INPUT, titulo,dg, "Depositar", "Cancelar");
  218.         }
  219.         if(dialogid == DIALOG_CAIXA_TRANSFERIR_VALOR) {
  220.             new valor = strval(inputtext);
  221.             new id = IDTransferindo[playerid];
  222.             if(!strlen(inputtext) || valor > GetPlayerMoney(playerid) || valor <= 0) return SCM(playerid, Vermelho, "| CAIXA ELETRÔNICO | Valor inválido! Insira outro.");
  223.             PlayerCaixaInfo[id][DinheiroBanco] += valor;
  224.             PlayerCaixaInfo[playerid][DinheiroBanco] -= valor;
  225.             SalvarPlayerCaixaInfo(id);
  226.             SalvarPlayerCaixaInfo(playerid);
  227.  
  228.             new msg[128];
  229.             format(msg, sizeof(msg), "| INFO | %s transferiu $%s para sua conta bancária!", Nome(playerid), Convert(valor));
  230.             SCM(id, Amarelo, msg);
  231.  
  232.             format(msg, sizeof(msg), "| INFO | Você transferiu $%s para a conta bancária de %s!", Convert(valor), Nome(playerid));
  233.             SCM(playerid, Amarelo, msg);
  234.         }
  235.     }
  236.  
  237.     return 1;
  238. }
  239.  
  240. public OnPlayerEditDynamicObject(playerid, objectid, response, Float:x, Float:y, Float:z, Float:rx, Float:ry, Float:rz)
  241. {
  242.     if (!IsValidDynamicObject(objectid))
  243.     {
  244.         return 1;
  245.     }
  246.  
  247.     switch (response)
  248.     {
  249.         case EDIT_RESPONSE_FINAL:
  250.         {
  251.             if(objectid == CaixaEditando[playerid]) {
  252.                 new caixa, msg[128];
  253.                 DestroyDynamicObject(CaixaEditando[playerid]);
  254.                 caixa = GetCaixaWI();
  255.                 if(caixa == -1) return SCM(playerid, Vermelho, "| INFO | Limite de caixas eletronicos atingido!");
  256.                 //if(IsPlayerInRangeOfPoint(playerid, 4, 0,0,0)) return SCM(playerid, Vermelho, "| INFO | Você não pode criar caixas eletronicos nessa coordenada! Se distancie um pouco!");
  257.  
  258.                 DOF2_CreateFile(CaixaFile(caixa));
  259.                 DOF2_SetFloat(CaixaFile(caixa), "Cx", x);
  260.                 DOF2_SetFloat(CaixaFile(caixa), "Cy", y);
  261.                 DOF2_SetFloat(CaixaFile(caixa), "Cz", z);
  262.                 DOF2_SetFloat(CaixaFile(caixa), "Crx", rx);
  263.                 DOF2_SetFloat(CaixaFile(caixa), "Cry", ry);
  264.                 DOF2_SetFloat(CaixaFile(caixa), "Crz", rz);
  265.                 DOF2_SetInt(CaixaFile(caixa), "VW", GetPlayerVirtualWorld(playerid));
  266.                 DOF2_SetInt(CaixaFile(caixa), "Interior", GetPlayerInterior(playerid));
  267.                 DOF2_SaveFile();
  268.  
  269.                 format(msg, sizeof(msg), "| CAIXA ELETRÔNICO | Caixa eletronico id {00ffff}%d{f0f0f0} criado!", caixa);
  270.                 SCM(playerid, Branco, msg);
  271.  
  272.                 CaixaEditando[playerid] = INVALID_OBJECT_ID;
  273.  
  274.                 AtualizarCaixa(caixa);
  275.             }
  276.         }
  277.  
  278.         case EDIT_RESPONSE_CANCEL:
  279.         {
  280.             if(objectid == CaixaEditando[playerid]) {
  281.                 DestroyDynamicObject(CaixaEditando[playerid]);
  282.             }
  283.             SCM(playerid, Vermelho, "| INFO | Edição cancelada!");
  284.         }
  285.     }
  286.     return 1;
  287. }
  288.  
  289. //////////////////////////////////////// [COMANDOS] ////////////////////////////////////////
  290.  
  291. CMD:criarcaixa(playerid) {
  292.     if(!IsPlayerAdmin(playerid)) return SCM(playerid, Vermelho, "| CAIXA ELETRÔNICO | Você precisa estar logado na RCON!");
  293.     DestroyDynamicObject(CaixaEditando[playerid]);
  294.     new Float:pos[3];
  295.     GetPlayerPos(playerid, pos[0], pos[1], pos[2]);
  296.     SetPlayerPos(playerid, pos[0], pos[1]+1, pos[2]);
  297.  
  298.     CaixaEditando[playerid] = CreateDynamicObject(19324, pos[0], pos[1], pos[2], 0,0,0, GetPlayerVirtualWorld(playerid), GetPlayerInterior(playerid));
  299.     EditDynamicObject(playerid, CaixaEditando[playerid]); // 19324
  300.     SCM(playerid, Amarelo, "| CAIXA ELETRÔNICO | Edite o caixa e clique em salvar!");
  301.  
  302.     return 1;
  303. }
  304.  
  305. CMD:deletarcaixa(playerid) {
  306.     new caixa, msg[128], Float:pos[3], perto = 0;
  307.     if(!IsPlayerAdmin(playerid)) return SCM(playerid, Vermelho, "| CAIXA ELETRÔNICO | Você precisa estar logado na RCON!");
  308.     GetPlayerPos(playerid, pos[0], pos[1], pos[2]);
  309.  
  310.  
  311.     Loop(i, MAX_CAIXAS) {
  312.         if(IsPlayerInRangeOfPoint(playerid, 2, CaixaEletronico[i][Cx],CaixaEletronico[i][Cy],CaixaEletronico[i][Cz]) &&
  313.             DOF2_FileExists(CaixaFile(i))) { //!IsPlayerInRangeOfPoint(playerid, 4, 0,0,0)
  314.  
  315.             caixa = i;
  316.             DOF2_RemoveFile(CaixaFile(caixa));
  317.             SalvarCaixa(caixa);
  318.             AtualizarCaixa(caixa);
  319.             format(msg, sizeof(msg), "| CAIXA ELETRÔNICO | Caixa eletronico id {00ffff}%d{f0f0f0} deletado!", caixa);
  320.             SCM(playerid, Branco, msg);
  321.             perto = 1;
  322.         }
  323.     }
  324.     if(perto == 0) SCM(playerid, Vermelho, "| CAIXA ELETRÔNICO | Você não está perto de nenhum caixa eletrônico!");
  325.  
  326.     return 1;
  327. }
  328.  
  329. CMD:caixas(playerid) {
  330.     if(!IsPlayerAdmin(playerid)) return SCM(playerid, Vermelho, "| CAIXA ELETRÔNICO | Você precisa estar logado na RCON!");
  331.     new msg[256], caixas;
  332.     Loop(i, MAX_CAIXAS) {
  333.         if(DOF2_FileExists(CaixaFile(i))) {
  334.             format(msg, sizeof(msg), "| CAIXA ELETRÔNICO | Caixa id {00ffff}%d{f0f0f0}. X[{00ffff}%0.4f{f0f0f0}], Y[{00ffff}%0.4f{f0f0f0}], Z[{00ffff}%0.4f{f0f0f0}]", i,CaixaEletronico[i][Cx],
  335.                 CaixaEletronico[i][Cy],CaixaEletronico[i][Cz]);
  336.             SCM(playerid, Branco, msg);
  337.             caixas++;
  338.         }
  339.     }
  340.     if(caixas == 0) return SCM(playerid, Vermelho, "| CAIXA ELETRÔNICO | Não há nenhum caixa eletronico criado!");
  341.     else {
  342.         format(msg, sizeof(msg), "| CAIXA ELETRÔNICO | Total de caixas: {00ffff}%d", caixas);
  343.         SCM(playerid, Branco, msg);
  344.     }
  345.  
  346.     return 1;
  347. }
  348.  
  349. //////////////////////////////////////// [FUNÇÕES] ////////////////////////////////////////
  350.  
  351. CaixaFile(CaixaId) {
  352.     new file[90];
  353.     format(file, sizeof(file), "Caixas Eletronicos/Caixa_%d.ini", CaixaId);
  354.  
  355.     return file;
  356. }
  357.  
  358. GetCaixaWI() {
  359.     Loop(i, MAX_CAIXAS) {
  360.         if(i>0) if(!DOF2_FileExists(CaixaFile(i))) return i;
  361.     }
  362.     return -1;
  363. }
  364.  
  365. stock SCM(id, cor, msg[]) {
  366.     SendClientMessage(id, cor, msg);
  367.     return 1;
  368. }
  369.  
  370. forward AtualizarCaixa(caixa);
  371. public AtualizarCaixa(caixa) {
  372.     CarregarCaixa(caixa);
  373.  
  374.     DestroyDynamic3DTextLabel(CaixaEletronico[caixa][Text]);
  375.     DestroyDynamicMapIcon(CaixaEletronico[caixa][Icon]);
  376.     DestroyDynamicObject(CaixaEletronico[caixa][Obj]);
  377.  
  378.     new txt[128];
  379.  
  380.     if(DOF2_FileExists(CaixaFile(caixa))) {
  381.         format(txt, sizeof(txt), "Caixa Eletronico\n\
  382.            {f0f0f0}Aperte '{9e9e9e}Y{f0f0f0}' para utilizar");
  383.         CaixaEletronico[caixa][Text] = CreateDynamic3DTextLabel(txt, Verde2,CaixaEletronico[caixa][Cx],CaixaEletronico[caixa][Cy],CaixaEletronico[caixa][Cz], 10, INVALID_PLAYER_ID, INVALID_VEHICLE_ID, 0, CaixaEletronico[caixa][VW], CaixaEletronico[caixa][Interior]);
  384.         CaixaEletronico[caixa][Icon] = CreateDynamicMapIcon(CaixaEletronico[caixa][Cx],CaixaEletronico[caixa][Cy],CaixaEletronico[caixa][Cz], 56, -1, CaixaEletronico[caixa][VW], CaixaEletronico[caixa][Interior], -1, 90);
  385.         CaixaEletronico[caixa][Obj] = CreateDynamicObject(19324, CaixaEletronico[caixa][Cx],CaixaEletronico[caixa][Cy],CaixaEletronico[caixa][Cz], CaixaEletronico[caixa][Crx],CaixaEletronico[caixa][Cry],CaixaEletronico[caixa][Crz],CaixaEletronico[caixa][VW], CaixaEletronico[caixa][Interior]);
  386.     }
  387. }
  388.  
  389. CarregarCaixa(CaixaId) {
  390.  
  391.     CaixaEletronico[CaixaId][Cx] = DOF2_GetFloat(CaixaFile(CaixaId), "Cx");
  392.     CaixaEletronico[CaixaId][Cy] = DOF2_GetFloat(CaixaFile(CaixaId), "Cy");
  393.     CaixaEletronico[CaixaId][Cz] = DOF2_GetFloat(CaixaFile(CaixaId), "Cz");
  394.     CaixaEletronico[CaixaId][Crx] = DOF2_GetFloat(CaixaFile(CaixaId), "Crx");
  395.     CaixaEletronico[CaixaId][Cry] = DOF2_GetFloat(CaixaFile(CaixaId), "Cry");
  396.     CaixaEletronico[CaixaId][Crz] = DOF2_GetFloat(CaixaFile(CaixaId), "Crz");
  397.     CaixaEletronico[CaixaId][VW] = DOF2_GetInt(CaixaFile(CaixaId), "VW");
  398.     CaixaEletronico[CaixaId][Interior] = DOF2_GetInt(CaixaFile(CaixaId), "Interior");
  399. }
  400.  
  401. SalvarCaixa(CaixaId) {
  402.  
  403.     DOF2_SetFloat(CaixaFile(CaixaId), "Cx", CaixaEletronico[CaixaId][Cx]);
  404.     DOF2_SetFloat(CaixaFile(CaixaId), "Cy", CaixaEletronico[CaixaId][Cy]);
  405.     DOF2_SetFloat(CaixaFile(CaixaId), "Cz", CaixaEletronico[CaixaId][Cz]);
  406.     DOF2_SetFloat(CaixaFile(CaixaId), "Crx", CaixaEletronico[CaixaId][Crx]);
  407.     DOF2_SetFloat(CaixaFile(CaixaId), "Cry", CaixaEletronico[CaixaId][Cry]);
  408.     DOF2_SetFloat(CaixaFile(CaixaId), "Crz", CaixaEletronico[CaixaId][Crz]);
  409.     DOF2_SetInt(CaixaFile(CaixaId), "VW", CaixaEletronico[CaixaId][VW]);
  410.     DOF2_SetInt(CaixaFile(CaixaId), "Interior", CaixaEletronico[CaixaId][Interior]);
  411.     DOF2_SaveFile();
  412. }
  413.  
  414. Nome(playerid) {
  415.     new file[90];
  416.     GetPlayerName(playerid, file, sizeof(file));
  417.  
  418.     return file;
  419. }
  420.  
  421. pCaixaFile(playerid) {
  422.     new file[90];
  423.     format(file, sizeof(file), "Caixas Eletronicos/Contas/Conta_%s.ini", Nome(playerid));
  424.  
  425.     return file;
  426. }
  427.  
  428. CarregarPlayerCaixaInfo(playerid) {
  429.     if(!DOF2_FileExists(pCaixaFile(playerid))) DOF2_CreateFile(pCaixaFile(playerid));
  430.  
  431.     PlayerCaixaInfo[playerid][DinheiroBanco] = DOF2_GetInt(pCaixaFile(playerid), "DinheiroBanco");
  432.     if(SALVAR_DINHEIRO_MAO == 1) PlayerCaixaInfo[playerid][Dinheiro] = DOF2_GetInt(pCaixaFile(playerid), "Dinheiro");
  433. }
  434.  
  435. SalvarPlayerCaixaInfo(playerid) {
  436.     if(!DOF2_FileExists(pCaixaFile(playerid))) DOF2_CreateFile(pCaixaFile(playerid));
  437.     DOF2_SetInt(pCaixaFile(playerid), "DinheiroBanco", PlayerCaixaInfo[playerid][DinheiroBanco]);
  438.     if(SALVAR_DINHEIRO_MAO == 1) DOF2_SetInt(pCaixaFile(playerid), "Dinheiro", GetPlayerMoney(playerid));
  439.  
  440.     DOF2_SaveFile();
  441. }
  442.  
  443. stock Convert(value, const text[] = ".")
  444. {
  445.     new Var[20];
  446.     format(Var, sizeof(Var), "%d", value);
  447.  
  448.     for(new X = strlen(Var) - 3; X > 0; X -= 3)
  449.         strins(Var, text, X);
  450.  
  451.     return Var;
  452. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement