Jump to content

Is it possible to compare a string with number?


TrapiS

Recommended Posts

 

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 by TrapiS
Link to comment
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

 

  • Like 1
Link to comment
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

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...