function moneyToCurrency(value)
local ret = {c = 0, p = 0, g = 0}
ret.c = math.floor(value/10000)
ret.p = math.floor((value - ret.c * 10000)/100)
ret.g = (value - 100 * (ret.c * 100 + ret.p))
return ret
end
Exemplo de uso:
function onUse(cid, item, fromPosition, itemEx, toPosition) local tabela = moneyToCurrency(getPlayerMoney(cid)) local s = tabela.c .. " crystal ".. tabela.p .." platinum and ".. tabela.g .." gold." return doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, s) end
14:21 63 crystal 52 platinum and 84 gold.
A função pega o valor no parâmetro e o converte para três números inteiros que são inseridos em uma tabela (retornada pela função) com indexes c, p e g.
Quando você quiser formatar uma quantidade de dinheiro, basta fazer isso:
moneyToCurrency(10586)
Se eu quiser o valor de crystal coins correspondentes e aproximado, irei acessar o index c
moneyToCurrency(10586).c
Isso por exemplo, iria me mostrar o habitual 1 que equivale a 10000 de dinheiro. Acessar os outros dois indexes iriam me retornar 5 e 86, respectivamente


info
Grupo: Campones
Registrado: 06/08/11
Posts: 45
Reputação: 0
Galera,
Alguem teria ou poderia fazer uma funcao para tratamento dos valores, tipo:
toMoney( 1 ) = 1c
toMoney( 10 ) = 10c
toMoney( 100 ) = 1,00
toMoney( 101 ) = 1,01
toMoney( 110 ) = 1,10
toMoney( 199 ) = 1,99
toMoney( 1099 ) = 10,99
toMoney( 200100 ) = 2.001,00
vlw