Jump to content

Need help !! getElementData


rublisk19

Recommended Posts

    function expcalculate ( source, command ) 
          setElementData(source, "EXP",tonumber(getElementData(source, "EXP"))+1) 
    end 
    setTimer(expcalculate, 20000,0) 

I get error :?: : Bad argument @ 'getElementData' [Expected element ar argument 1, got nil]

attempt to perform arithmetic on a nil value

If you can pls fix this script to make working ;] . I need this to get exp every 20sec!!

Link to comment

Where is the element? source ?

If you are in client side you can try

  
function expcalculate () 
          setElementData(getLocalPlayer(), "EXP",tonumber(getElementData(getLocalPlayer(), "EXP"))+1) 
end 
setTimer(expcalculate, 20000,0) 
  

And if you are in server side...

You must have an player

  
addEventHandler("onResourceStart", getResourceRootElement(getThisResource()), 
function() 
for i, player in ipairs(getElementsByType ( "player" )) do 
setTimer(expcalculate, 20000, 0, player) 
end 
end) 
  
function expcalculate(player) 
setElementData(player, "EXP",tonumber(getElementData(player, "EXP"))+1) 
end 
  

Link to comment
  
addEventHandler("onResourceStart", resourceRoot, 
function() 
setTimer(expcalculate, 20000, 0) 
end) 
  
function expcalculate() 
for i, player in ipairs(getElementByType("players")) do 
setElementData(player, "EXP",tonumber(getElementData(player, "EXP"))+1) 
end 
end 

Link to comment
  
addEventHandler("onResourceStart", getResourceRootElement(getThisResource()), 
function() 
for i, player in ipairs(getElementsByType ( "player" )) do 
setTimer(expcalculate, 20000, 0, player) 
end 
end) 
  
function expcalculate(player) 
setElementData(player, "EXP",tonumber(getElementData(player, "EXP"))+1) 
end 
  

Thanks :P:P:P:P:P:D:D:):):) Works good ;]

Link to comment
  
addEventHandler("onResourceStart", getResourceRootElement(getThisResource()), 
function() 
for i, player in ipairs(getElementsByType ( "player" )) do 
setTimer(expcalculate, 20000, 0, player) 
end 
end) 
  
function expcalculate(player) 
setElementData(player, "EXP",tonumber(getElementData(player, "EXP"))+1) 
end 
  

Thanks :P:P:P:P:P:D:D:):):) Works good ;]

does it work good if you rejoin to the server? lol

Link to comment
  
addEventHandler("onResourceStart", getResourceRootElement(getThisResource()), 
function() 
for i, player in ipairs(getElementsByType ( "player" )) do 
setTimer(expcalculate, 20000, 0, player) 
end 
end) 
  
function expcalculate(player) 
setElementData(player, "EXP",tonumber(getElementData(player, "EXP"))+1) 
end 
  

Thanks :P:P:P:P:P:D:D:):):) Works good ;]

does it work good if you rejoin to the server? lol

Yea, i don't test x)

Link to comment
local timers = {} 
  
addEventHandler("onResourceStart",resourceRoot, 
function() 
    for i, player in ipairs(getElementsByType ( "player" )) do 
        timers[player] = setTimer(expcalculate, 20000, 0, player) 
    end 
end) 
  
addEventHandler("onPlayerJoin",root, 
function () 
    timers[source] = setTimer(expcalculate, 20000, 0, source) 
end) 
  
addEventHandler("onPlayerQuit",root, 
function () 
    if isTimer(timers[source]) then 
         killTimer(timers[source]) 
    end 
end) 
  
function expcalculate(player) 
    if (not player and isTimer(timers[player])) then killTimer(timers[player]) timers[player] = nil end 
    if (not getElementData(player, "EXP")) then setElementData(player, "EXP", 0) end 
    setElementData(player, "EXP",tonumber(getElementData(player, "EXP"))+1) 
end 

Edited by Guest
Link to comment
function expcalculate() 
    for index, player in ipairs(getElementsByType("player")) do 
        if (not getElementData(player, "EXP")) then setElementData(player, "EXP", 0) end 
        setElementData(player, "EXP",tonumber(getElementData(player, "EXP"))+1) 
    end 
end 
setTimer(expcalculate,20000,0) 

Link to comment
function expcalculate() 
    for index, player in ipairs(getElementsByType("player")) do 
        if (not getElementData(player, "EXP")) then setElementData(player, "EXP", 0) end 
        setElementData(player, "EXP",tonumber(getElementData(player, "EXP"))+1) 
    end 
end 
setTimer(expcalculate,20000,0) 

Thanks man :D :kiss: :o:o:o:o

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