kevin 3 Postado 19 de Outubro Compartilhar Postado 19 de Outubro Apresento a vocês um novo sistema de armazenamento de dinheiro que foi desenvolvido com base na PXG. Este sistema visa oferecer uma maneira prática e eficiente para os jogadores gerenciarem seus recursos financeiros no jogo. Além das funcionalidades básicas, adicionei algumas melhorias para tornar a experiência mais envolvente. Funcionalidades Armazenamento de Dinheiro Armazenamento e Retorno: O jogador pode armazenar todo o seu dinheiro ao usar um item específico (ID 22951). Se o jogador não tiver dinheiro, uma mensagem informará que não há fundos disponíveis. Retorno do Dinheiro: O jogador pode recuperar seu dinheiro armazenado a qualquer momento, desde que não esteja armazenado. Uma mensagem confirma a quantidade de dinheiro retornada. Formatação de Valores Visualização Atraente: O sistema inclui uma função para formatar os valores monetários, exibindo-os de maneira mais compreensível, incluindo bilhões, milhões, milhares, dólares e centavos. Isso facilita a leitura e o entendimento dos recursos financeiros do jogador. Exibição de Dinheiro Armazenado Consulta Rápida: O jogador pode verificar quanto dinheiro tem armazenado através de uma talkaction. Se não houver dinheiro armazenado, uma mensagem apropriada será exibida. Essa parte deve ser criada em: data/actions/cofre.lua function onUse(cid, item, fromPosition, itemEx, toPosition) local storageItemId = 22951 if item.itemid ~= storageItemId then return false end if not isPlayer(cid) then return false end local storedMoney = getPlayerStorageValue(cid, 303030) -- Função para formatar o valor corretamente, incluindo bilhões local function formatMoney(value) local billions = math.floor(value / 1e9) -- bilhões local millions = math.floor((value % 1e9) / 1e6) -- milhões local thousands = math.floor((value % 1e6) / 1e3) -- milhares local dollars = math.floor(value % 1e3) -- dólares local cents = value % 100 -- centavos (baseados no item 12416) local formatted = "" if billions > 0 then formatted = formatted .. billions .. " bilhões " end if millions > 0 then formatted = formatted .. millions .. " milhões " end if thousands > 0 then formatted = formatted .. thousands .. " mil " end if dollars > 0 then formatted = formatted .. dollars .. " dólares " end if cents > 0 then formatted = formatted .. cents .. " centavos" end if formatted == "" then formatted = "0 centavos" end return formatted end if storedMoney == -1 then local money = getPlayerMoney(cid) if money > 0 then doPlayerRemoveMoney(cid, money) setPlayerStorageValue(cid, 303030, money) doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Todo o seu dinheiro foi armazenado: " .. formatMoney(money) .. ".") else doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Você não tem dinheiro para armazenar.") end else doPlayerAddMoney(cid, storedMoney) setPlayerStorageValue(cid, 303030, -1) doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Seu dinheiro foi retornado: " .. formatMoney(storedMoney) .. ".") end return true end Já essa parte em: data/talkaction/checkmoney.lua function onSay(cid, words, param) if not isPlayer(cid) then return false end local storedMoney = getPlayerStorageValue(cid, 303030) -- Função para formatar o valor corretamente, incluindo bilhões local function formatMoney(value) local billions = math.floor(value / 1e9) -- bilhões local millions = math.floor((value % 1e9) / 1e6) -- milhões local thousands = math.floor((value % 1e6) / 1e3) -- milhares local dollars = math.floor(value % 1e3) -- dólares local cents = value % 100 -- centavos local formatted = "" if billions > 0 then formatted = formatted .. billions .. " bilhões " end if millions > 0 then formatted = formatted .. millions .. " milhões " end if thousands > 0 then formatted = formatted .. thousands .. " mil " end if dollars > 0 then formatted = formatted .. dollars .. " dólares " end if cents > 0 then formatted = formatted .. cents .. " centavos" end if formatted == "" then formatted = "0 centavos" end return formatted end if storedMoney == -1 then doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Você não tem dinheiro armazenado.") else doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Você tem " .. formatMoney(storedMoney) .. " armazenado(s).") end return true end Action: <action itemid="22951" event="script" value="cofre.lua"/> Talk: <talkaction words="!checkmoney" separator=" " script="checkmoney.lua" /> Conclusão Este sistema foi projetado para proporcionar uma experiência mais rica e intuitiva ao gerenciamento de dinheiro dentro do jogo. Agradeço à PXG pela inspiração e espero que os jogadores aproveitem as novas funcionalidades adicionadas. 2 1 Citar Link para o comentário Compartilhar em outros sites Mais opções de compartilhamento...
Suporte Sollix 102 Postado 19 de Outubro Suporte Compartilhar Postado 19 de Outubro 17 horas atrás, kevin disse: Apresento a vocês um novo sistema de armazenamento de dinheiro que foi desenvolvido com base na PXG. Este sistema visa oferecer uma maneira prática e eficiente para os jogadores gerenciarem seus recursos financeiros no jogo. Além das funcionalidades básicas, adicionei algumas melhorias para tornar a experiência mais envolvente. Funcionalidades Armazenamento de Dinheiro Armazenamento e Retorno: O jogador pode armazenar todo o seu dinheiro ao usar um item específico (ID 22951). Se o jogador não tiver dinheiro, uma mensagem informará que não há fundos disponíveis. Retorno do Dinheiro: O jogador pode recuperar seu dinheiro armazenado a qualquer momento, desde que não esteja armazenado. Uma mensagem confirma a quantidade de dinheiro retornada. Formatação de Valores Visualização Atraente: O sistema inclui uma função para formatar os valores monetários, exibindo-os de maneira mais compreensível, incluindo bilhões, milhões, milhares, dólares e centavos. Isso facilita a leitura e o entendimento dos recursos financeiros do jogador. Exibição de Dinheiro Armazenado Consulta Rápida: O jogador pode verificar quanto dinheiro tem armazenado através de uma talkaction. Se não houver dinheiro armazenado, uma mensagem apropriada será exibida. Essa parte deve ser criada em: data/actions/cofre.lua function onUse(cid, item, fromPosition, itemEx, toPosition) local storageItemId = 22951 if item.itemid ~= storageItemId then return false end if not isPlayer(cid) then return false end local storedMoney = getPlayerStorageValue(cid, 303030) -- Função para formatar o valor corretamente, incluindo bilhões local function formatMoney(value) local billions = math.floor(value / 1e9) -- bilhões local millions = math.floor((value % 1e9) / 1e6) -- milhões local thousands = math.floor((value % 1e6) / 1e3) -- milhares local dollars = math.floor(value % 1e3) -- dólares local cents = value % 100 -- centavos (baseados no item 12416) local formatted = "" if billions > 0 then formatted = formatted .. billions .. " bilhões " end if millions > 0 then formatted = formatted .. millions .. " milhões " end if thousands > 0 then formatted = formatted .. thousands .. " mil " end if dollars > 0 then formatted = formatted .. dollars .. " dólares " end if cents > 0 then formatted = formatted .. cents .. " centavos" end if formatted == "" then formatted = "0 centavos" end return formatted end if storedMoney == -1 then local money = getPlayerMoney(cid) if money > 0 then doPlayerRemoveMoney(cid, money) setPlayerStorageValue(cid, 303030, money) doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Todo o seu dinheiro foi armazenado: " .. formatMoney(money) .. ".") else doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Você não tem dinheiro para armazenar.") end else doPlayerAddMoney(cid, storedMoney) setPlayerStorageValue(cid, 303030, -1) doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Seu dinheiro foi retornado: " .. formatMoney(storedMoney) .. ".") end return true end Já essa parte em: data/talkaction/checkmoney.lua function onSay(cid, words, param) if not isPlayer(cid) then return false end local storedMoney = getPlayerStorageValue(cid, 303030) -- Função para formatar o valor corretamente, incluindo bilhões local function formatMoney(value) local billions = math.floor(value / 1e9) -- bilhões local millions = math.floor((value % 1e9) / 1e6) -- milhões local thousands = math.floor((value % 1e6) / 1e3) -- milhares local dollars = math.floor(value % 1e3) -- dólares local cents = value % 100 -- centavos local formatted = "" if billions > 0 then formatted = formatted .. billions .. " bilhões " end if millions > 0 then formatted = formatted .. millions .. " milhões " end if thousands > 0 then formatted = formatted .. thousands .. " mil " end if dollars > 0 then formatted = formatted .. dollars .. " dólares " end if cents > 0 then formatted = formatted .. cents .. " centavos" end if formatted == "" then formatted = "0 centavos" end return formatted end if storedMoney == -1 then doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Você não tem dinheiro armazenado.") else doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Você tem " .. formatMoney(storedMoney) .. " armazenado(s).") end return true end Action: <action itemid="22951" event="script" value="cofre.lua"/> Talk: <talkaction words="!checkmoney" separator=" " script="checkmoney.lua" /> Conclusão Este sistema foi projetado para proporcionar uma experiência mais rica e intuitiva ao gerenciamento de dinheiro dentro do jogo. Agradeço à PXG pela inspiração e espero que os jogadores aproveitem as novas funcionalidades adicionadas. Muito bom, agradecemos a contribuição. Mas por que usar o GPT pra gerar um texto só pra enviar o código kk? Citar Link para o comentário Compartilhar em outros sites Mais opções de compartilhamento...
Posts Recomendados
Participe da Conversa
Você pode postar agora e se cadastrar mais tarde. Cadastre-se Agora para publicar com Sua Conta.