TrapiS Posted October 25, 2017 Share Posted October 25, 2017 (edited) Sorry for my english, i am Brazilian. I need a help because i want to compare a string with a number, but is not possible, i would like to know if there is any possibility of comparing a string with a number. Or create a function that blocks all numbers smaller than 1, and greater than 100000. Here is the script: Total script lines: 738 this is the script part of line 235 to 378 rollTime = 3500 gameDelay = 4000 playerWinRoll = {} jogoDosDadosStarted = {} function jogoDosDados (source, commandName, amount) if (isObjectInACLGroup("user." .. getAccountName(getPlayerAccount(source)), aclGetGroup("Admin"))) then if (amount ~= "" and amount ~= nil) then if (jogoDosDadosA[source] == true) then if (jogoDosDadosStarted[source] == true) then outputChatBox("#FF3A64[ ! ] Error c642: #FFFFFFEste comando já está ativo, aguarde até este comando ficar disponivel novamente.", source, 255, 255, 255, true) else jogoDosDadosStarted[source] = true setTimer(function() jogoDosDadosStarted[source] = false end, gameDelay, 1) local pName = getPlayerName(source) local pMoney = getPlayerMoney(source) local nDados = math.random(1,6) local negativeN = 1 local muchN = 100000 if (pMoney > amount -1) then if (amount < negativeN) then outputChatBox("#FF3A64[ ! ] Error m435: #FFFFFFVocê não pode apostar uma quantia menor que 1.", source, 255, 255, 255, true) outputChatBox("#FF3A64[ ! ] AVISO! #FFFFFFTavez " .. pName .. " #FFFFFFesteja tentando bugar os dados.", root, 255, 255, 255, true) elseif (amount == muchN) then outputChatBox("#FF3A64[ ! ] Error m435: #FFFFFFVocê não pode apostar uma quantia maior que 100000.", source, 255, 255, 255, true) elseif (numberPar[source] == true) then if (nDados == 1) then outputChatBox("#00B2FF[ #FFFFFF! #00B2FF] #FFFFFFVocê girou os dados apostando em números pares.", source, 255, 255, 255, true) takePlayerMoney(source, amount) triggerClientEvent(source, "playDiceSound", source, diceRolling) setTimer(function() outputChatBox("#00B2FF[ #FFFFFF! #00B2FF] #FFFFFFVocê perdeu, número do dado: #00B2FF1#FFFFFF.", source, 255, 255, 255, true) triggerClientEvent(source, "playLoseSound", source, youLose) end, rollTime, 1) elseif (nDados == 2) then outputChatBox("#00B2FF[ #FFFFFF! #00B2FF] #FFFFFFVocê girou os dados apostando em números pares.", source, 255, 255, 255, true) takePlayerMoney(source, amount) triggerClientEvent(source, "playDiceSound", source, diceRolling) playerWinRoll[source] = true setTimer(function() outputChatBox("#00B2FF[ #FFFFFF! #00B2FF] #FFFFFFVocê ganhou, número do dado: #00B2FF2#FFFFFF.", source, 255, 255, 255, true) givePlayerMoney(source, amount *2) triggerClientEvent(source, "playWinSound", source, youWin) playerWinRoll[source] = false end, rollTime, 1) elseif (nDados == 3) then outputChatBox("#00B2FF[ #FFFFFF! #00B2FF] #FFFFFFVocê girou os dados apostando em números pares.", source, 255, 255, 255, true) takePlayerMoney(source, amount) triggerClientEvent(source, "playDiceSound", source, diceRolling) setTimer(function() outputChatBox("#00B2FF[ #FFFFFF! #00B2FF] #FFFFFFVocê perdeu, número do dado: #00B2FF3#FFFFFF.", source, 255, 255, 255, true) triggerClientEvent(source, "playLoseSound", source, youLose) end, rollTime, 1) elseif (nDados == 4) then outputChatBox("#00B2FF[ #FFFFFF! #00B2FF] #FFFFFFVocê girou os dados apostando em números pares.", source, 255, 255, 255, true) takePlayerMoney(source, amount) triggerClientEvent(source, "playDiceSound", source, diceRolling) playerWinRoll[source] = true setTimer(function() outputChatBox("#00B2FF[ #FFFFFF! #00B2FF] #FFFFFFVocê ganhou, número do dado: #00B2FF4#FFFFFF.", source, 255, 255, 255, true) givePlayerMoney(source, amount *2) triggerClientEvent(source, "playWinSound", source, youWin) playerWinRoll[source] = false end, rollTime, 1) elseif (nDados == 5) then outputChatBox("#00B2FF[ #FFFFFF! #00B2FF] #FFFFFFVocê girou os dados apostando em números pares.", source, 255, 255, 255, true) takePlayerMoney(source, amount) triggerClientEvent(source, "playDiceSound", source, diceRolling) setTimer(function() outputChatBox("#00B2FF[ #FFFFFF! #00B2FF] #FFFFFFVocê perdeu, número do dado: #00B2FF5#FFFFFF.", source, 255, 255, 255, true) triggerClientEvent(source, "playLoseSound", source, youLose) end, rollTime, 1) elseif (nDados == 6) then outputChatBox("#00B2FF[ #FFFFFF! #00B2FF] #FFFFFFVocê girou os dados apostando em números pares.", source, 255, 255, 255, true) takePlayerMoney(source, amount) triggerClientEvent(source, "playDiceSound", source, diceRolling) playerWinRoll[source] = true setTimer(function() outputChatBox("#00B2FF[ #FFFFFF! #00B2FF] #FFFFFFVocê ganhou, número do dado: #00B2FF6#FFFFFF.", source, 255, 255, 255, true) givePlayerMoney(source, amount *2) triggerClientEvent(source, "playWinSound", source, youWin) playerWinRoll[source] = false end, rollTime, 1) end elseif (numberImpar[source] == true) then if (nDados == 1) then outputChatBox("#00B2FF[ #FFFFFF! #00B2FF] #FFFFFFVocê girou os dados apostando em números impares.", source, 255, 255, 255, true) takePlayerMoney(source, amount) triggerClientEvent(source, "playDiceSound", source, diceRolling) playerWinRoll[source] = true setTimer(function() outputChatBox("#00B2FF[ #FFFFFF! #00B2FF] #FFFFFFVocê ganhou, número do dado: #00B2FF1#FFFFFF.", source, 255, 255, 255, true) givePlayerMoney(source, amount *2) triggerClientEvent(source, "playWinSound", source, youWin) playerWinRoll[source] = false end, rollTime, 1) elseif (nDados == 2) then outputChatBox("#00B2FF[ #FFFFFF! #00B2FF] #FFFFFFVocê girou os dados apostando em números impares.", source, 255, 255, 255, true) takePlayerMoney(source, amount) triggerClientEvent(source, "playDiceSound", source, diceRolling) setTimer(function() outputChatBox("#00B2FF[ #FFFFFF! #00B2FF] #FFFFFFVocê perdeu, número do dado: #00B2FF2#FFFFFF.", source, 255, 255, 255, true) triggerClientEvent(source, "playLoseSound", source, youLose) end, rollTime, 1) elseif (nDados == 3) then outputChatBox("#00B2FF[ #FFFFFF! #00B2FF] #FFFFFFVocê girou os dados apostando em números impares.", source, 255, 255, 255, true) takePlayerMoney(source, amount) triggerClientEvent(source, "playDiceSound", source, diceRolling) playerWinRoll[source] = true setTimer(function() outputChatBox("#00B2FF[ #FFFFFF! #00B2FF] #FFFFFFVocê ganhou, número do dado: #00B2FF3#FFFFFF.", source, 255, 255, 255, true) givePlayerMoney(source, amount *2) triggerClientEvent(source, "playWinSound", source, youWin) playerWinRoll[source] = false end, rollTime, 1) elseif (nDados == 4) then outputChatBox("#00B2FF[ #FFFFFF! #00B2FF] #FFFFFFVocê girou os dados apostando em números impares.", source, 255, 255, 255, true) takePlayerMoney(source, amount) triggerClientEvent(source, "playDiceSound", source, diceRolling) setTimer(function() outputChatBox("#00B2FF[ #FFFFFF! #00B2FF] #FFFFFFVocê perdeu, número do dado: #00B2FF4#FFFFFF.", source, 255, 255, 255, true) triggerClientEvent(source, "playLoseSound", source, youLose) end, rollTime, 1) elseif (nDados == 5) then outputChatBox("#00B2FF[ #FFFFFF! #00B2FF] #FFFFFFVocê girou os dados apostando em números impares.", source, 255, 255, 255, true) takePlayerMoney(source, amount) triggerClientEvent(source, "playDiceSound", source, diceRolling) playerWinRoll[source] = true setTimer(function() outputChatBox("#00B2FF[ #FFFFFF! #00B2FF] #FFFFFFVocê ganhou, número do dado: #00B2FF5#FFFFFF.", source, 255, 255, 255, true) givePlayerMoney(source, amount *2) triggerClientEvent(source, "playWinSound", source, youWin) playerWinRoll[source] = false end, rollTime, 1) elseif (nDados == 6) then outputChatBox("#00B2FF[ #FFFFFF! #00B2FF] #FFFFFFVocê girou os dados apostando em números impares.", source, 255, 255, 255, true) takePlayerMoney(source, amount) triggerClientEvent(source, "playDiceSound", source, diceRolling) setTimer(function() outputChatBox("#00B2FF[ #FFFFFF! #00B2FF] #FFFFFFVocê perdeu, número do dado: #00B2FF6#FFFFFF.", source, 255, 255, 255, true) triggerClientEvent(source, "playLoseSound", source, youLose) end, rollTime, 1) end this is the script part of line 241 to 260 if (amount ~= "" and amount ~= nil) then if (jogoDosDadosA[source] == true) then if (jogoDosDadosStarted[source] == true) then outputChatBox("#FF3A64[ ! ] Error c642: #FFFFFFEste comando já está ativo, aguarde até este comando ficar disponivel novamente.", source, 255, 255, 255, true) else jogoDosDadosStarted[source] = true setTimer(function() jogoDosDadosStarted[source] = false end, gameDelay, 1) local pName = getPlayerName(source) local pMoney = getPlayerMoney(source) local nDados = math.random(1,6) local negativeN = 1 local muchN = 100000 if (pMoney > amount -1) then if (amount < negativeN) then outputChatBox("#FF3A64[ ! ] Error m435: #FFFFFFVocê não pode apostar uma quantia menor que 1.", source, 255, 255, 255, true) outputChatBox("#FF3A64[ ! ] AVISO! #FFFFFFTavez " .. pName .. " #FFFFFFesteja tentando bugar os dados.", root, 255, 255, 255, true) elseif (amount == muchN) then outputChatBox("#FF3A64[ ! ] Error m435: #FFFFFFVocê não pode apostar uma quantia maior que 100000.", source, 255, 255, 255, true) Edited October 25, 2017 by TrapiS Link to comment
ShayF2 Posted October 25, 2017 Share Posted October 25, 2017 function compareStringToNumber(text) if text then local number = tonumber(text) if number then return number else return false end end end -- Then use it like so local comparedNumber = compareStringToNumber('250') --[[ comparedNumber is now 250, instead of '250' This will return false instead of nil so that no errors are produced. If you try compareStringToNumber('text') or compareStringToNumber('this is text') then it will return false You can also use this as a check, Like shown below. --]] local num = '5000' if compareStringToNumber(num) then outputChatBox(num..' is a number!') end 1 Link to comment
Captain Cody Posted October 25, 2017 Share Posted October 25, 2017 or... tonumber(number) or nil right below function jogoDosDados (source, commandName, amount) Link to comment
NanoBob Posted October 26, 2017 Share Posted October 26, 2017 On 25-10-2017 at 07:10, ShayF said: function compareStringToNumber(text) if text then local number = tonumber(text) if number then return number else return false end end end What's the point of that entire function? it's exactly the same as just calling tonumber() with the exception that tonumber returns nil when the string can't be parsed and your function returns false. 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