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 Link para o comentário https://tibiadevs.com/forums/topic/676-transforme-seu-dinheiro-em-riqueza-conhe%C3%A7a-o-novo-sistema-de-armazenamento/ 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? Link para o comentário https://tibiadevs.com/forums/topic/676-transforme-seu-dinheiro-em-riqueza-conhe%C3%A7a-o-novo-sistema-de-armazenamento/#findComment-3590 Compartilhar em outros sites Mais opções de compartilhamento...
Posts Recomendados
Crie uma conta ou entre para comentar
Você precisar ser um membro para fazer um comentário
Criar uma conta
Crie uma nova conta em nossa comunidade. É fácil!
Crie uma nova contaEntrar
Já tem uma conta? Faça o login.
Entrar Agora