Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- local running = false -- if race is running
- addEvent("onClientRequestHunter", true)
- addEventHandler("onClientRequestHunter", getRootElement(),
- function(vehicleData)
- -- source is the player that requested respawn.
- -- spawn at the position where last saved.
- triggerClientEvent(source, 'onClientCall_race', source, "Spectate.stop", 'manual')
- triggerEvent('onClientRequestSpectate', source, false)
- spawnPlayer(source, vehicleData.posX, vehicleData.posY, vehicleData.posZ)
- local vehicle = exports.race:getPlayerVehicle(source)
- warpPedIntoVehicle(source, vehicle)
- triggerClientEvent(source, 'onClientCall_race', source, "Spectate.stop", 'manual')
- setElementData(source, "race.spectating", true)
- setElementData(source, "status1", "dead")
- setElementData(source, "status2", "")
- setElementData(source, "state", "huntering")
- setElementData(source, "race.finished", true)
- setCameraTarget(source, source)
- setElementData(vehicle, "race.collideworld", 1)
- setElementData(vehicle, "race.collideothers", 0)
- setElementData(source, "race.alpha", 255)
- setElementData(vehicle, "race.alpha", 255)
- setElementHealth(vehicle, vehicleData.health)
- setElementModel(vehicle, 481) -- fix motor sound.
- setElementModel(vehicle, tonumber(vehicleData.model))
- setElementPosition(vehicle, vehicleData.posX, vehicleData.posY, vehicleData.posZ)
- setElementRotation(vehicle, vehicleData.rotX, vehicleData.rotY, vehicleData.rotZ)
- if(vehicleData.nitro ~= nil)then
- addVehicleUpgrade(vehicle, tonumber(vehicleData.nitro))
- end
- setElementFrozen(vehicle, true)
- toggleAllControls(source, true)
- setVehicleLandingGearDown(vehicle, true)
- setTimer(delayedRespawn, 2000, 1, source, vehicle, vehicleData)
- end)
- function delayedRespawn(player, vehicle, vehicleData)
- triggerClientEvent(player, "clientUnfreezeOnReady", player, vehicle, vehicleData)
- end
- addEvent("onRaceStateChanging", true)
- addEventHandler("onRaceStateChanging", getRootElement(),
- function(newState, oldState)
- triggerClientEvent("onClientRaceStateChanging", getRootElement(), newState, oldState)
- if(newState == "Running")then
- running = true
- end
- if(newState == "PostFinish" or newState == "NoMap")then
- running = false
- local player = getElementsByType("player")
- for i = 1, #player do
- local replaying = getElementData(player[i], "Hunter.playing")
- if(replaying)then
- setElementData(source, "race.spectating", false)
- setElementData(source, "status1", "dead")
- setElementData(source, "status2", "")
- setElementData(source, "race.finished", false)
- end
- end
- end
- end)
- -- Add training mode before player has played once
- addEventHandler("onElementDataChange", getRootElement(),
- function(theName, oldValue)
- if(getElementType(source) == "player")then
- if(tostring(getElementData(source, "state")) == "waiting" and running)then
- --triggerClientEvent(source, "onClientRaceStateChanging", source, "Running", "GridCountdown")
- end
- end
- end)
- -- Kill when respawned and gets hunter.
- addEvent("onClientMapStarting", true)
- addEventHandler("onClientMapStarting",getRootElement(),mapLoad)
- end
- end
- end)
Add Comment
Please, Sign In to add comment