Jump to content

help - looping function to get players


xXMADEXx

Recommended Posts

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 

Link to comment
  
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.

Link to comment

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) 

Link to comment
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.

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...