Jump to content

[REL] exp_system + Stamina script


furruz

Recommended Posts

CLIENT

level = exports.exp_system:getPlayerLevel(localPlayer) 
maxstamina = 10 
      
    addEventHandler ( "onClientPlayerSpawn", getLocalPlayer(), 
    function () 
    if level == 1 then 
    maxstamina == 10 
    end 
    if level == 2 then 
    maxstamina == 20 
    end 
    if level == 3 then 
    maxstamina == 30 
    end 
    if level == 4 then 
    maxstamina == 40 
    end 
    if level == 5 then 
    maxstamina == 50 
    end 
    if level == 6 then 
    maxstamina == 60 
    end 
    if level == 7 then 
    maxstamina == 70 
    end 
    if level == 8 then 
    maxstamina == 80 
    end 
    if level == 9 then 
    maxstamina == 90 
    end 
    if level == 10 then 
    maxstamina == 100 
    end 
    if level >= 11 then 
    maxstamina == 110 
    end 
    setTimer(checkKey,700,0) 
    setTimer(updateStamina,1000,0) 
    end) 
     
    stamina = maxstamina 
      
    function checkKey() 
    if ( getControlState ( "sprint" ) ) and stamina ~= 0 then 
    stamina = stamina -1 
    end 
    if ( stamina == 0 ) then 
    setControlState( "sprint", false ) 
      end 
    end 
      
    function updateStamina() 
    if stamina ~= maxstamina and getControlState ( "sprint" ) == false then 
    stamina = stamina +1 
      end 
    end 

It is not working. Anybody has an idea bout?

Edited by Guest
Link to comment

getPlayerLevel is a server side function, you should use getElementData instead.

maxstamina = 10 
      
addEventHandler ( "onClientPlayerSpawn", getLocalPlayer(), 
    function ( ) 
        local level = tonumber ( getElementData ( localPlayer, "level" ) or 0 ) 
        maxstamina = ( level * 10 ) 
        setTimer ( checkKey, 700, 0 ) 
        setTimer ( updateStamina, 1000, 0 ) 
    end 
) 
    
stamina = maxstamina 
      
function checkKey ( ) 
    if ( getControlState ( "sprint" ) ) and ( stamina ~= 0 ) then 
        stamina = ( stamina - 1 ) 
    end 
    if ( stamina == 0 ) then 
        setControlState( "sprint", false ) 
    end 
end 
      
function updateStamina ( ) 
    if ( stamina ~= maxstamina and getControlState ( "sprint" ) == false ) then 
        stamina = ( stamina + 1 ) 
    end 
end 

Instead of all the 'if' checks for level, I'd this:

maxstamina = ( level * 10 ) 

Will do the same, but simplified.

Link to comment

Nice one! It is working right but i have seen that the "first sprint on spawn" is using 10 stamina.

Should it work if i change

maxstamina = 10 

to

maxstamina = ( level * 10 ) 

Will i have to move level definition out of its function?

Many thanks Castillo, you're almost making the server for me hahaha

PD: Can you say me if this script is right (i think it is working nice)

SERVER

function healthlevel () 
  
    --exp_system stat system 
                                 
                                for i, v in ipairs(getElementsByType("player")) do 
    local level = exports.exp_system:getPlayerLevel(source) 
                if level == 1 then 
                    setPedStat(source, 24, 500) 
                    setPedStat(source, 69, 10) 
                    setPedStat(source, 70, 50) 
                    setPedStat(source, 71, 25) 
                    setPedStat(source, 72, 25) 
                    setPedStat(source, 73, 25) 
                    setPedStat(source, 74, 25) 
                    setPedStat(source, 75, 20) 
                    setPedStat(source, 76, 50) 
                    setPedStat(source, 77, 0) 
                    setPedStat(source, 78, 0) 
                    setPedStat(source, 79, 0) 
                    outputChatBox("Eres nivel 1", source, 255, 255, 255, true) 
                end 
                if level == 2 then 
                    setPedStat(source, 24, 550) 
                    setPedStat(source, 69, 20) 
                    setPedStat(source, 70, 100) 
                    setPedStat(source, 71, 50) 
                    setPedStat(source, 72, 50) 
                    setPedStat(source, 73, 50) 
                    setPedStat(source, 74, 50) 
                    setPedStat(source, 75, 30) 
                    setPedStat(source, 76, 100) 
                    setPedStat(source, 77, 15) 
                    setPedStat(source, 78, 15) 
                    setPedStat(source, 79, 0) 
                    outputChatBox("Eres nivel 2", source, 255, 255, 255, true) 
                end 
                if level == 3 then 
                    setPedStat(source, 24, 600) 
                    setPedStat(source, 69, 40) 
                    setPedStat(source, 70, 500) 
                    setPedStat(source, 71, 200) 
                    setPedStat(source, 72, 100) 
                    setPedStat(source, 73, 100) 
                    setPedStat(source, 74, 100) 
                    setPedStat(source, 75, 40) 
                    setPedStat(source, 76, 200) 
                    setPedStat(source, 77, 25) 
                    setPedStat(source, 78, 25) 
                    setPedStat(source, 79, 0) 
                    outputChatBox("Eres nivel 3", source, 255, 255, 255, true) 
                    outputChatBox("Habilidad en pistolas mejorada!", source, 255, 255, 255, true) 
                end 
                if level == 4 then 
                    setPedStat(source, 24, 650) 
                    setPedStat(source, 69, 50) 
                    setPedStat(source, 70, 600) 
                    setPedStat(source, 71, 300) 
                    setPedStat(source, 72, 150) 
                    setPedStat(source, 73, 150) 
                    setPedStat(source, 74, 150) 
                    setPedStat(source, 75, 50) 
                    setPedStat(source, 76, 250) 
                    setPedStat(source, 77, 50) 
                    setPedStat(source, 78, 50) 
                    setPedStat(source, 79, 25) 
                    outputChatBox("Eres nivel 4", source, 255, 255, 255, true) 
                    outputChatBox("Habilidad en pistolas mejorada!", source, 255, 255, 255, true) 
                    outputChatBox("Habilidad en SMG mejorada!", source, 255, 255, 255, true) 
                end 
                if level == 5 then 
                    setPedStat(source, 24, 700) 
                    setPedStat(source, 69, 100) 
                    setPedStat(source, 70, 700) 
                    setPedStat(source, 71, 400) 
                    setPedStat(source, 72, 200) 
                    setPedStat(source, 73, 200) 
                    setPedStat(source, 74, 200) 
                    setPedStat(source, 75, 100) 
                    setPedStat(source, 76, 300) 
                    setPedStat(source, 77, 100) 
                    setPedStat(source, 78, 100) 
                    setPedStat(source, 79, 50) 
                    outputChatBox("Eres nivel 5", source, 255, 255, 255, true) 
                    outputChatBox("Habilidad en pistolas mejorada!", source, 255, 255, 255, true) 
                    outputChatBox("Habilidad en SMG mejorada!", source, 255, 255, 255, true) 
                    outputChatBox("Habilidad en escopetas mejorada!", source, 255, 255, 255, true) 
                end 
                if level == 6 then 
                    setPedStat(source, 24, 750) 
                    setPedStat(source, 69, 250) 
                    setPedStat(source, 70, 800) 
                    setPedStat(source, 71, 700) 
                    setPedStat(source, 72, 300) 
                    setPedStat(source, 73, 300) 
                    setPedStat(source, 74, 300) 
                    setPedStat(source, 75, 200) 
                    setPedStat(source, 76, 400) 
                    setPedStat(source, 77, 200) 
                    setPedStat(source, 78, 200) 
                    setPedStat(source, 79, 100) 
                    outputChatBox("Eres nivel 6", source, 255, 255, 255, true) 
                    outputChatBox("Habilidad en pistolas mejorada!", source, 255, 255, 255, true) 
                    outputChatBox("Habilidad en SMG mejorada!", source, 255, 255, 255, true) 
                    outputChatBox("Habilidad en escopetas mejorada!", source, 255, 255, 255, true) 
                    outputChatBox("Habilidad en rifles de asalto mejorada!", source, 255, 255, 255, true) 
                end 
                if level == 7 then 
                    setPedStat(source, 24, 800) 
                    setPedStat(source, 69, 999) 
                    setPedStat(source, 70, 999) 
                    setPedStat(source, 71, 999) 
                    setPedStat(source, 72, 400) 
                    setPedStat(source, 73, 400) 
                    setPedStat(source, 74, 400) 
                    setPedStat(source, 75, 300) 
                    setPedStat(source, 76, 500) 
                    setPedStat(source, 77, 300) 
                    setPedStat(source, 78, 300) 
                    setPedStat(source, 79, 200) 
                    outputChatBox("Eres nivel 7", source, 255, 255, 255, true) 
                    outputChatBox("Habilidad en pistolas perfeccionada!", source, 255, 255, 255, true) 
                    outputChatBox("Habilidad en SMG mejorada!", source, 255, 255, 255, true) 
                    outputChatBox("Habilidad en escopetas mejorada!", source, 255, 255, 255, true) 
                    outputChatBox("Habilidad en rifles de asalto mejorada!", source, 255, 255, 255, true) 
                end 
                if level == 8 then 
                    setPedStat(source, 24, 850) 
                    setPedStat(source, 69, 999) 
                    setPedStat(source, 70, 999) 
                    setPedStat(source, 71, 999) 
                    setPedStat(source, 72, 500) 
                    setPedStat(source, 73, 500) 
                    setPedStat(source, 74, 500) 
                    setPedStat(source, 75, 999) 
                    setPedStat(source, 76, 999) 
                    setPedStat(source, 77, 400) 
                    setPedStat(source, 78, 400) 
                    setPedStat(source, 79, 300) 
                    outputChatBox("Eres nivel 8", source, 255, 255, 255, true) 
                    outputChatBox("Habilidad en pistolas perfeccionada!", source, 255, 255, 255, true) 
                    outputChatBox("Habilidad en SMG perfeccionada!", source, 255, 255, 255, true) 
                    outputChatBox("Habilidad en escopetas mejorada!", source, 255, 255, 255, true) 
                    outputChatBox("Habilidad en rifles de asalto mejorada!", source, 255, 255, 255, true) 
                    outputChatBox("Habilidad en rifles de francotirador mejorada!", source, 255, 255, 255, true) 
                end 
                if level == 9 then 
                    setPedStat(source, 24, 900) 
                    setPedStat(source, 69, 999) 
                    setPedStat(source, 70, 999) 
                    setPedStat(source, 71, 999) 
                    setPedStat(source, 72, 999) 
                    setPedStat(source, 73, 999) 
                    setPedStat(source, 74, 999) 
                    setPedStat(source, 75, 999) 
                    setPedStat(source, 76, 999) 
                    setPedStat(source, 77, 500) 
                    setPedStat(source, 78, 500) 
                    setPedStat(source, 79, 500) 
                    outputChatBox("Eres nivel 9", source, 255, 255, 255, true) 
                    outputChatBox("Habilidad en pistolas perfeccionada!", source, 255, 255, 255, true) 
                    outputChatBox("Habilidad en SMG perfeccionada!", source, 255, 255, 255, true) 
                    outputChatBox("Habilidad en escopetas perfeccionada!", source, 255, 255, 255, true) 
                    outputChatBox("Habilidad en rifles de asalto mejorada!", source, 255, 255, 255, true) 
                    outputChatBox("Habilidad en rifles de francotirador mejorada!", source, 255, 255, 255, true) 
                end 
                if level == 10 then 
                    setPedStat(source, 24, 999) 
                    setPedStat(source, 69, 999) 
                    setPedStat(source, 70, 999) 
                    setPedStat(source, 71, 999) 
                    setPedStat(source, 72, 999) 
                    setPedStat(source, 73, 999) 
                    setPedStat(source, 74, 999) 
                    setPedStat(source, 75, 999) 
                    setPedStat(source, 76, 999) 
                    setPedStat(source, 77, 999) 
                    setPedStat(source, 78, 999) 
                    setPedStat(source, 79, 750) 
                    outputChatBox("Eres nivel 10", source, 255, 255, 255, true) 
                    outputChatBox("Habilidad en pistolas perfeccionada!", source, 255, 255, 255, true) 
                    outputChatBox("Habilidad en SMG perfeccionada!", source, 255, 255, 255, true) 
                    outputChatBox("Habilidad en escopetas perfeccionada!", source, 255, 255, 255, true) 
                    outputChatBox("Habilidad en rifles de asalto perfeccionada!", source, 255, 255, 255, true) 
                    outputChatBox("Habilidad en rifles de francotirador mejorada!", source, 255, 255, 255, true) 
                end 
                if level >= 11 then 
                    setPedStat(source, 24, 999) 
                    setPedStat(source, 69, 999) 
                    setPedStat(source, 70, 999) 
                    setPedStat(source, 71, 999) 
                    setPedStat(source, 72, 999) 
                    setPedStat(source, 73, 999) 
                    setPedStat(source, 74, 999) 
                    setPedStat(source, 75, 999) 
                    setPedStat(source, 76, 999) 
                    setPedStat(source, 77, 999) 
                    setPedStat(source, 78, 999) 
                    setPedStat(source, 79, 999) 
                    outputChatBox("Eres nivel 11", source, 255, 255, 255, true) 
                    outputChatBox("Habilidad en pistolas perfeccionada!", source, 255, 255, 255, true) 
                    outputChatBox("Habilidad en SMG perfeccionada!", source, 255, 255, 255, true) 
                    outputChatBox("Habilidad en escopetas perfeccionada!", source, 255, 255, 255, true) 
                    outputChatBox("Habilidad en rifles de asalto perfeccionada!", source, 255, 255, 255, true) 
                    outputChatBox("Habilidad en rifles de francotirador perfeccionada!", source, 255, 255, 255, true) 
                end 
    end 
     
end 
addEventHandler("onPlayerSpawn", getRootElement(), healthlevel) --we attach the function to this resource's root element 

Link to comment

final code por stamina system using exp_system (thnx to Castillo):

(CLIENT)

maxstamina = 10 
          
    addEventHandler ( "onClientPlayerSpawn", getLocalPlayer(), 
        function ( ) 
            local level = tonumber ( getElementData ( localPlayer, "level" ) or 0 ) 
            maxstamina = ( level * 10 ) 
            setTimer ( checkKey, 700, 0 ) 
            setTimer ( updateStamina, 1000, 0 ) 
        end 
    ) 
        
    stamina = maxstamina 
          
    function checkKey ( ) 
        if ( getControlState ( "sprint" ) ) and ( stamina ~= 0 ) then 
            stamina = ( stamina - 1 ) 
        end 
        if ( stamina == 0 ) then 
            setControlState( "sprint", false ) 
        end 
    end 
          
    function updateStamina ( ) 
        if ( stamina ~= maxstamina and getControlState ( "sprint" ) == false ) then 
            stamina = ( stamina + 1 ) 
        end 
    end 

How it works: When you spawn you're stamina is 10. So you have to sprint one time to make the script increase your stamina level to the max. The max stamina is determined by your level multiplied by 10. When you sprint your stamina decreases, when you stop sprint, stamina will increase automatically.

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