furruz Posted August 10, 2012 Share Posted August 10, 2012 (edited) 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 August 10, 2012 by Guest Link to comment
Castillo Posted August 10, 2012 Share Posted August 10, 2012 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
furruz Posted August 10, 2012 Author Share Posted August 10, 2012 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
Castillo Posted August 10, 2012 Share Posted August 10, 2012 for i, v in ipairs(getElementsByType("player")) do That is not required, rest seems to be fine. Link to comment
furruz Posted August 10, 2012 Author Share Posted August 10, 2012 i'm using Mta paradise system from Mabako. With exp_system, is it posible to use Character level but not account level? I have tried but can not make it work for now. thanks Link to comment
Castillo Posted August 10, 2012 Share Posted August 10, 2012 My resource works with MTA default account system. Link to comment
furruz Posted August 10, 2012 Author Share Posted August 10, 2012 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
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