Jump to content

[HELP] Loading 1 object at a time from ipairs


..:D&G:..

Recommended Posts

Hello guys, is there any way to have a timer and change/load an object every 2 seconds from ipairs? Because sometimes the server freezes when there are over 100+ vehicles or peds etc...

Example:

for i, v in ipairs(getElementsByType("vehicle")) do  
    setElementData(v, "data", 1) 
end 

For example, that code will send the data of all the vehicles from the server, but there are 500 vehicles (just as an example xD) but the data will change for all of them at once, is there anyway I can set the data for like 1 vehicle every 2 seconds or 5 vehicles every 2 seconds?

Thanks.

Link to comment

Sure:

local counter = 0 
  
setTimer ( function ( ) 
     local vehicles = getElementsByType ( "vehicle" ) 
     if vehicles[1] then 
          counter = #vehicles > counter and counter + 1 or 1 
          setElementData ( vehicles[counter], "data", 1 ) 
     end 
end, 2000, 0 ) 

Link to comment
local counter = 0 
local vehicletable = nil 
  
addCommandHandler ( "dothatthing", function ( ) 
     vehicletable = getElementsByType ( "vehicle" ) 
     counter = 0 
     if vehicletable[1] then 
          setTimer ( function ( ) 
               counter = counter + 1 
               if isElement ( vehicletable[counter] ) then 
                    setElementData ( vehicletable[counter], "data", 1 ) 
               end 
          end, 2000, #vehicletable ) 
     end 
end ) 

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