Guest User

Untitled

a guest
Jul 18th, 2018
90
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 3.07 KB | None | 0 0
  1. local running = false -- if race is running
  2.  
  3. addEvent("onClientRequestHunter", true)
  4. addEventHandler("onClientRequestHunter", getRootElement(),
  5. function(vehicleData)
  6.     -- source is the player that requested respawn.
  7.     -- spawn at the position where last saved.
  8.     triggerClientEvent(source, 'onClientCall_race', source, "Spectate.stop", 'manual')
  9.     triggerEvent('onClientRequestSpectate', source, false)
  10.     spawnPlayer(source, vehicleData.posX, vehicleData.posY, vehicleData.posZ)
  11.     local vehicle = exports.race:getPlayerVehicle(source)
  12.     warpPedIntoVehicle(source, vehicle)
  13.     triggerClientEvent(source, 'onClientCall_race', source, "Spectate.stop", 'manual')
  14.     setElementData(source, "race.spectating", true)
  15.     setElementData(source, "status1", "dead")
  16.     setElementData(source, "status2", "")
  17.     setElementData(source, "state", "huntering")
  18.     setElementData(source, "race.finished", true)
  19.     setCameraTarget(source, source)
  20.     setElementData(vehicle, "race.collideworld", 1)
  21.     setElementData(vehicle, "race.collideothers", 0)
  22.     setElementData(source, "race.alpha", 255)
  23.     setElementData(vehicle, "race.alpha", 255)
  24.     setElementHealth(vehicle, vehicleData.health)
  25.     setElementModel(vehicle, 481) -- fix motor sound.
  26.     setElementModel(vehicle, tonumber(vehicleData.model))
  27.     setElementPosition(vehicle, vehicleData.posX, vehicleData.posY, vehicleData.posZ)
  28.     setElementRotation(vehicle, vehicleData.rotX, vehicleData.rotY, vehicleData.rotZ)
  29.     if(vehicleData.nitro ~= nil)then
  30.         addVehicleUpgrade(vehicle, tonumber(vehicleData.nitro))
  31.     end
  32.     setElementFrozen(vehicle, true)
  33.     toggleAllControls(source, true)
  34.     setVehicleLandingGearDown(vehicle, true)
  35.     setTimer(delayedRespawn, 2000, 1, source, vehicle, vehicleData)
  36. end)
  37.  
  38. function delayedRespawn(player, vehicle, vehicleData)
  39.     triggerClientEvent(player, "clientUnfreezeOnReady", player, vehicle, vehicleData)
  40. end
  41.  
  42. addEvent("onRaceStateChanging", true)
  43. addEventHandler("onRaceStateChanging", getRootElement(),
  44. function(newState, oldState)
  45.     triggerClientEvent("onClientRaceStateChanging", getRootElement(), newState, oldState)
  46.     if(newState == "Running")then
  47.         running = true
  48.     end
  49.     if(newState == "PostFinish" or newState == "NoMap")then
  50.         running = false
  51.         local player = getElementsByType("player")
  52.         for i = 1, #player do
  53.             local replaying = getElementData(player[i], "Hunter.playing")
  54.             if(replaying)then
  55.                 setElementData(source, "race.spectating", false)
  56.                 setElementData(source, "status1", "dead")
  57.                 setElementData(source, "status2", "")
  58.                 setElementData(source, "race.finished", false)
  59.             end
  60.         end
  61.     end
  62. end)
  63.  
  64. -- Add training mode before player has played once
  65. addEventHandler("onElementDataChange", getRootElement(),
  66. function(theName, oldValue)
  67.     if(getElementType(source) == "player")then
  68.         if(tostring(getElementData(source, "state")) == "waiting" and running)then
  69.             --triggerClientEvent(source, "onClientRaceStateChanging", source, "Running", "GridCountdown")
  70.         end
  71.     end
  72. end)
  73.  
  74. -- Kill when respawned and gets hunter.
  75. addEvent("onClientMapStarting", true)
  76. addEventHandler("onClientMapStarting",getRootElement(),mapLoad)
  77.         end
  78.     end
  79. end)
Add Comment
Please, Sign In to add comment