Jump to content

Possible to setTimer for eventHandler?


FuriouZ

Recommended Posts

Posted (edited)

Hello again!

So, i have question that is possible to setTimer for eventHandler?

Well, i wan't to do that the player doesn't spawn immediately if he gets killed, there will be some timer like 5 seconds and then player spawns again. Yeah, i am not good at explaining :shock:

Here's something wrong, i don't really know how to do it

Debug says Bad adgument @ getPlayerTeam line 115

and Bad argument @ addEventHandler [Expected function at argument 3, got lua-timer]

(Widhout timer everything works fine)

--Server side

addEventHandler( "onPlayerWasted", getRootElement(), 
setTimer( 
function() 
    local gPlayerTeam = getPlayerTeam(source) --Line 115 
    local gFreeroam = getTeamFromName("Freeroam Arena") 
    local gStuntage = getTeamFromName("Stuntage Arena") 
    local gHay = getTeamFromName("Hay Arena") 
if gPlayerTeam and gFreeroam and gPlayerTeam == gFreeroam then 
fadeCameraEffect() 
    local freeroamX, freeroamY, freeroamZ, freeroamRot = unpack(freeroamSpawns[math.random(#freeroamSpawns)]) 
    spawnPlayer(source, freeroamX, freeroamY, freeroamZ, freeroamRot) 
-- 
-- 
elseif gPlayerTeam and gStuntage and gPlayerTeam == gStuntage then 
fadeCameraEffect() 
    local stuntageX, stuntageY, stuntageZ = unpack(stuntageSpawns[math.random(#stuntageSpawns)]) 
    spawnPlayer(source, stuntageX, stuntageY, stuntageZ) 
-- 
-- 
elseif gPlayerTeam and gHay and gPlayerTeam == gHay then 
fadeCameraEffect() 
    spawnPlayer(source, 6.75989, -3.06701, 3.11719, 0) 
-- 
-- 
end 
end, 1000, 1)) 

Edited by Guest
Posted
No, you can't do that.

But you can execute that whole code inside the function executed by the event handler to run with a timer.

What i should use then ?

Posted
addEventHandler ( "onPlayerWasted", getRootElement(), 
    function ( ) 
        setTimer ( 
            function ( player ) 
                if ( not isElement ( player ) ) then     
                    return 
                end 
  
                local gPlayerTeam = getPlayerTeam ( player ) --Line 115 
                local gFreeroam = getTeamFromName ( "Freeroam Arena" ) 
                local gStuntage = getTeamFromName ( "Stuntage Arena" ) 
                local gHay = getTeamFromName ( "Hay Arena" ) 
                if ( gPlayerTeam and gFreeroam and gPlayerTeam == gFreeroam ) then 
                    fadeCameraEffect ( ) 
                    local freeroamX, freeroamY, freeroamZ, freeroamRot = unpack ( freeroamSpawns [ math.random ( #freeroamSpawns ) ] ) 
                    spawnPlayer ( player, freeroamX, freeroamY, freeroamZ, freeroamRot ) 
                elseif ( gPlayerTeam and gStuntage and gPlayerTeam == gStuntage ) then 
                    fadeCameraEffect ( ) 
                    local stuntageX, stuntageY, stuntageZ = unpack ( stuntageSpawns [ math.random ( #stuntageSpawns ) ] ) 
                    spawnPlayer ( player, stuntageX, stuntageY, stuntageZ ) 
                elseif ( gPlayerTeam and gHay and gPlayerTeam == gHay ) then 
                    fadeCameraEffect ( ) 
                    spawnPlayer ( player, 6.75989, -3.06701, 3.11719, 0 ) 
                end 
            end 
            ,5000, 1, source 
        ) 
    end 
) 

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