FelipeMallmann Posted September 13, 2015 Share Posted September 13, 2015 Eai galera, estou com um problema aqui que é o seguinte: Eu uso um sistema de banco postado aqui na comunidade do mta só que encontrei um problema nele, vou tentar explicar. O dinheiro no jogo é sempre um valor inteiro, ou seja, não há números quebrados nele, mas esse sistema de banco ele aceita depositar números quebrados. Se caso eu deposite 1.9$ no banco, ele só vai retirar da minha mão 1$, mas no banco vai ter 1.9$, e se ele fizer isso varias vezes, vai ganhando muito dinheiro. Minha duvida é como verificar se essa variável ammount é um numero inteiro ou se é um numero double. function performBankAction( ) local amount = nil if source == withdrawTab.button then amount = tonumber( guiGetText( withdrawTab.amount ) ) if amount == nil then showWarningMessage( "Voce deve colocar a quantia\nque deseja sacar!" ) elseif amount < 1 then showWarningMessage( "Voce nao pode colocar valores negativos!" ) else triggerServerEvent( "bank_withdrawMoney", g_localPlayer, g_localPlayer, amount ) end elseif source == depositTab.button then amount = tonumber( guiGetText( depositTab.amount ) ) if amount == nil then showWarningMessage( "Voce deve colocar a quantia\nque deseja depositar!" ) elseif amount < 1 then showWarningMessage( "Voce nao pode colocar valores negativos!" ) else triggerServerEvent( "bank_depositMoney", g_localPlayer, g_localPlayer, amount ) end elseif source == transferTab.button then local to_who = guiGetText( transferTab.to ) amount = tonumber( guiGetText( transferTab.amount ) ) if to_who == nil or to_who == false or to_who == "" then showWarningMessage( "Voce deve escrever o nome\ndo jogador para transferir\no dinheiro!" ) elseif amount == nil then showWarningMessage( "Voce deve colocar a quantia\nque deseja transferir!" ) elseif amount < 1 then showWarningMessage( "Voce nao pode colocar valores negativos!" ) else local money_receiver = getPlayerFromNick( to_who ) if money_receiver == g_localPlayer then showWarningMessage( "Voce nao pode transferir\npara voce mesmo!" ) elseif money_receiver ~= g_localPlayer then triggerServerEvent( "bank_transferMoney", g_localPlayer, g_localPlayer, money_receiver, amount ) else showWarningMessage( "Jogador \"".. to_who .."\"\nnao esta conectado!" ) end end end end Obrigado! Link to comment
n3wage Posted September 13, 2015 Share Posted September 13, 2015 Você pode usar math.floor para obter apenas o numero inteiro, Assim para checar se ele NÃO contem decimais você simplesmente faz a seguinte checagem: math.floor ( numero ) == numero Link to comment
FelipeMallmann Posted September 13, 2015 Author Share Posted September 13, 2015 Ae Muito obrigado! Eu nao verifiquei se ele é inteiro ou nao, mas sim quando entra no else que manda por parametros a função de realmente depositar dinheiro ele vai converter o dinheiro pra inteiro com o math.floor. Muito obrigado ! Link to comment
n3wage Posted September 13, 2015 Share Posted September 13, 2015 Ae Muito obrigado! Eu nao verifiquei se ele é inteiro ou nao, mas sim quando entra no else que manda por parametros a função de realmente depositar dinheiro ele vai converter o dinheiro pra inteiro com o math.floor. Muito obrigado ! De nada Link to comment
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now