xXMADEXx Posted March 5, 2013 Posted March 5, 2013 Hey, im making an arrest point system, that sets your wanted level based on your wanted points, and this is what i got: setTimer( function (player) for _, player in ipairs(getElementsByType("player")) do local getPoints = getElementData(player,'arrestPoints') if (getPoints>0) then setPlayerWantedLevel(player,1) elseif (getPoints>300) then setPlayerWantedLevel(player,2) elseif (getPoints>900) then setPlayerWantedLevel(player,3) elseif (getPoints>1500) then setPlayerWantedLevel(player,4) elseif (getPoints>2300) then setPlayerWantedLevel(player,5) elseif (getPoints>2750) then setPlayerWantedLevel(player,6) end end end, 1000, 0 ) The Error: [2013-03-05 10:45:28] ERROR: [ROG]Arrestsystem\server.lua:121: attempt to compare number with string
Cassandra Posted March 5, 2013 Posted March 5, 2013 setTimer( function (player) for _, player in ipairs(getElementsByType("player")) do local getPoints = tonumber(getElementData(player,'arrestPoints')) if (getPoints>0) then setPlayerWantedLevel(player,1) elseif (getPoints>300) then setPlayerWantedLevel(player,2) elseif (getPoints>900) then setPlayerWantedLevel(player,3) elseif (getPoints>1500) then setPlayerWantedLevel(player,4) elseif (getPoints>2300) then setPlayerWantedLevel(player,5) elseif (getPoints>2750) then setPlayerWantedLevel(player,6) end end end, 1000, 0 ) getElementData returns a string so you have to convert it to a number.
xXMADEXx Posted March 5, 2013 Author Posted March 5, 2013 Thank you for that, but now the player's wanted star will not go above 1, no matter how many arrest points they have.... \ function checkPlayerArrestPoints() for _, player in ipairs(getElementsByType("player")) do local getPoints = tonumber(getElementData(player,'arrestPoints')) if (getPoints<0) then setPlayerWantedLevel(player,0) elseif (getPoints>0) then setPlayerWantedLevel(player,1) elseif (getPoints>1000) then setPlayerWantedLevel(player,2) elseif (getPoints>4000) then setPlayerWantedLevel(player,3) elseif (getPoints>6000) then setPlayerWantedLevel(player,4) elseif (getPoints>8000) then setPlayerWantedLevel(player,5) elseif (getPoints>10000) then setPlayerWantedLevel(player,6) end end end setTimer(checkPlayerArrestPoints,500,0)
Cassandra Posted March 5, 2013 Posted March 5, 2013 Thank you for that, but now the player's wanted star will not go above 1, no matter how many arrest points they have....\ function checkPlayerArrestPoints() for _, player in ipairs(getElementsByType("player")) do local getPoints = tonumber(getElementData(player,'arrestPoints')) if (getPoints<0) then setPlayerWantedLevel(player,0) elseif (getPoints>0) then setPlayerWantedLevel(player,1) elseif (getPoints>1000) then setPlayerWantedLevel(player,2) elseif (getPoints>4000) then setPlayerWantedLevel(player,3) elseif (getPoints>6000) then setPlayerWantedLevel(player,4) elseif (getPoints>8000) then setPlayerWantedLevel(player,5) elseif (getPoints>10000) then setPlayerWantedLevel(player,6) end end end setTimer(checkPlayerArrestPoints,500,0) Because greater than 0 equals any number which is greater than 0. Even 100000000. You have to set it less than or equals to.
Anderl Posted March 5, 2013 Posted March 5, 2013 I recommend you modifying that whole code.. especially that timer.
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