Jump to content

[Help] WeaponStats


Recommended Posts

Posted

I've made this script to show the points and level of the weapon. but when i reach to the another level the label don't get update..

function WeaponLevels() 
if getPedStat ( localPlayer, 69 ) >= 100 then 
guiSetText (GUIEditor.label[3],"Level: 1") 
elseif getPedStat ( localPlayer, 69 ) >= 200 then 
guiSetText (GUIEditor.label[3],"Level: 2") 
elseif getPedStat ( localPlayer, 69 ) >= 300 then 
guiSetText (GUIEditor.label[3],"Level: 3") 
elseif getPedStat ( localPlayer, 69 ) >= 400 then 
guiSetText (GUIEditor.label[3],"Level: 4") 
elseif getPedStat ( localPlayer, 69 ) >= 500 then 
guiSetText (GUIEditor.label[3],"Level: 5") 
elseif getPedStat ( localPlayer, 69 ) >= 600 then 
guiSetText (GUIEditor.label[3],"Level: 6") 
elseif getPedStat ( localPlayer, 69 ) >= 700 then 
guiSetText (GUIEditor.label[3],"Level: 7") 
elseif getPedStat ( localPlayer, 69 ) >= 800 then 
guiSetText (GUIEditor.label[3],"Level: 8") 
elseif getPedStat ( localPlayer, 69 ) >= 900 then 
guiSetText (GUIEditor.label[3],"Level: 9") 
elseif getPedStat ( localPlayer, 69 ) >= 1000 then 
guiSetText (GUIEditor.label[3],"Level: 10") 
    end 
end 
addEventHandler( "onClientRender", root, WeaponLevels ) 
  

I mean about that...the label only write Level 1...if i reach to 200 point or more...the level don't set to "Level:2"

Posted

Because you are always checking if the number is equal to or higher to, so it'll always use the first one, which is equal to 100 or higher to 100.

Posted

Try this.

Levels = { 
    {"Level 0", 0}, 
    {"Level 1", 100}, 
    {"Level 2", 200}, 
    {"Level 3", 300}, 
    {"Level 4", 400}, 
    {"Level 5", 500}, 
    {"Level 6", 600}, 
    {"Level 7", 700}, 
    {"Level 8", 800}, 
    {"Level 9", 900}, 
    {"Level 10", 1000} 
} 
  
addEventHandler("onClientRender", root, 
function() 
    local skill = getPedStat(localPlayer, 69) 
    for i, o in ipairs(Levels) do 
        if skill >= o[2] then 
            Level = o[1] 
        end 
    end 
    guiSetText(GUIEditor.label[3], Level) 
end) 

Also it would be better to use timer instead of onClientRender.

Posted
Try this.
Levels = { 
    {"Level 0", 0}, 
    {"Level 1", 100}, 
    {"Level 2", 200}, 
    {"Level 3", 300}, 
    {"Level 4", 400}, 
    {"Level 5", 500}, 
    {"Level 6", 600}, 
    {"Level 7", 700}, 
    {"Level 8", 800}, 
    {"Level 9", 900}, 
    {"Level 10", 1000} 
} 
  
addEventHandler("onClientRender", root, 
function() 
    local skill = getPedStat(localPlayer, 69) 
    for i, o in ipairs(Levels) do 
        if skill >= o[2] then 
            Level = o[1] 
        end 
    end 
    guiSetText(GUIEditor.label[3], Level) 
end) 

Also it would be better to use timer instead of onClientRender.

Timer for what?

Posted
Try this.
Levels = { 
    {"Level 0", 0}, 
    {"Level 1", 100}, 
    {"Level 2", 200}, 
    {"Level 3", 300}, 
    {"Level 4", 400}, 
    {"Level 5", 500}, 
    {"Level 6", 600}, 
    {"Level 7", 700}, 
    {"Level 8", 800}, 
    {"Level 9", 900}, 
    {"Level 10", 1000} 
} 
  
addEventHandler("onClientRender", root, 
function() 
    local skill = getPedStat(localPlayer, 69) 
    for i, o in ipairs(Levels) do 
        if skill >= o[2] then 
            Level = o[1] 
        end 
    end 
    guiSetText(GUIEditor.label[3], Level) 
end) 

Also it would be better to use timer instead of onClientRender.

Whatever when i set Player Stat from Admin panel to 201 or even 101...the Level Stays 0..whatever when it be 100 or 200 the level changes.....:/ can you fix this?

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