Whizz Posted August 25, 2023 Share Posted August 25, 2023 Hello, I want the player to respawn after a certain time. Thank you for helping me. function respawn () local team = getPlayerTeam(source) if team == grove then local x = 268.868 local y = 2037.208 local z = 17.7 local groveskins = math.random(1, 4) spawnPlayer(source, x, y, z) fadeCamera(source, true) setCameraTarget(source, source) setPlayerTeam(source, grove) giveWeapon(source, 31, 500) outputChatBox("", source, 255, 255, 255) if groveskins == 1 then setElementModel(source, 101) end if groveskins == 2 then setElementModel(source, 102) end if groveskins == 3 then setElementModel(source, 103) end if groveskins == 4 then setElementModel(source, 107) end end if team == police then local x = 270.871 local y = 1937.740 local z = 17.7 local policeskins = math.random(1, 4) spawnPlayer(source, x, y, z) fadeCamera(source, true) setCameraTarget(source, source) setPlayerTeam(source, police) outputChatBox("", source, 255, 255, 255) giveWeapon(source, 31, 500) if policeskins == 1 then setElementModel(source, 100) end if policeskins == 2 then setElementModel(source, 104) end if policeskins == 3 then setElementModel(source, 105) end if policeskins == 4 then setElementModel(source, 106) end end end addEventHandler("onPlayerWasted", getRootElement(), respawn) Link to comment
DiSaMe Posted August 26, 2023 Share Posted August 26, 2023 (edited) If you need to execute the same code you have, but with a delay, then you can wrap it in a function that's inside a setTimer call, like this: function respawn() --[[ source variable won't exist after the event handler finishes so it won't be available inside the timer function, therefore we retain its value by creating a local variable "player" and assigning the value to it ]] local player = source setTimer(function() -- whatever code you need to execute end, 10000, 1) end addEventHandler("onPlayerWasted", getRootElement(), respawn) And because the source variable won't exist when the timer executes, you need to replace all occurrences with player. Edited August 26, 2023 by DiSaMe 1 Link to comment
Whizz Posted August 26, 2023 Author Share Posted August 26, 2023 I tried this code, but the player does not respawn after the specified time Link to comment
DiSaMe Posted August 26, 2023 Share Posted August 26, 2023 But does the player respawn immediately, with your code, or does it not work either? I don't see grove and police variables being defined anywhere, so if this is the full script, it's understandable why it doesn't work. You either need to store the teams in these variables (for example, you can use getTeamFromName) so one of them would compare equal to team variable, or check the team in some other way, like instead of comparing the team element, you can retrieve its name and compare that, like this: local team = getPlayerTeam(source) local teamName = getTeamName(team) if teamName == "Grove" then -- ... end if teamName == "Police" then -- ... end But then it depends on what exactly the names of the teams are, because they have to be exactly the same to compare equal. 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