Initial commit
This commit is contained in:
@@ -0,0 +1,752 @@
|
||||
--[[---------------------------------------------------------------------------------------------
|
||||
----------------------------------------------------------------------------------------------
|
||||
|
||||
LIFT SCRIPT
|
||||
Made By Sarish#8939 For Patoche#4702
|
||||
|
||||
Sarish#8939 :
|
||||
Discover all my creation on AURORA-RP : https://discord.gg/me9w4wS
|
||||
Feel free to use / modify / share this script but please credit me
|
||||
|
||||
|
||||
Patoche : bisou sur le pétou
|
||||
|
||||
|
||||
----------------------------------------------------------------------------------------------
|
||||
----------------------------------------------------------------------------------------------]]
|
||||
local isReady = false
|
||||
-- local prevframes, prevtime, curtime, curframes, fps, RateAdjsuter = 0, 0, 0, 0, 0, 0
|
||||
|
||||
function DisplayHelpText(text)
|
||||
BeginTextCommandDisplayHelp("STRING")
|
||||
AddTextComponentSubstringPlayerName(text)
|
||||
DisplayHelpTextFromStringLabel(0, 0, 1, -1)
|
||||
end
|
||||
|
||||
|
||||
|
||||
|
||||
local liftData = {
|
||||
["789456"] = {
|
||||
code = "789456",
|
||||
|
||||
InteriorId = 3330, --GetInteriorFromEntity(ped)
|
||||
|
||||
controlup = {x=-1074.7889404297,y=-252.78123474121,z=44.021064758301}, --(Inter de control murale pour appeler la cabine)
|
||||
controldown = {x=-1074.7200927734,y=-252.8878326416,z=37.763286590576},
|
||||
|
||||
up = {x=-1074.8277587891,y=-254.590279099609,z=42.99}, --(position cabine)
|
||||
down = {x=-1074.8277587891,y=-254.590279099609,z=36.73},
|
||||
|
||||
controlCabineUp = {x=-1075.8618164063,y=-254.42388916016,z=44.02}, --(Inter de control dans la cabine)
|
||||
controlCabineDown = {x=-1075.8618164063,y=-254.42388916016,z=37.734912872314},
|
||||
|
||||
downRoomId = -1711658181, --Gestion des portal (useless now)
|
||||
upRoomId = -266971274,
|
||||
|
||||
|
||||
Zelevate=42.99-36.73, --Hauteur d'élévation Zmax - Zmin (flemme de calculer)
|
||||
|
||||
isUp = true,
|
||||
|
||||
isInUse = false,
|
||||
|
||||
currentCoords = {x=-1074.8277587891,y=-254.590279099609,z=36.73}, --useless
|
||||
|
||||
elevateProps = "patoche_elevator", --Cabine props
|
||||
rotation = {a=0.0,b=0.0,c=0.0},
|
||||
elevateHeading = 27.649951934814, --Heading de l'ascenceur (World relative)
|
||||
elevateID = 0, -- ID du props spawn
|
||||
|
||||
|
||||
downDoorIsOpen = false,
|
||||
|
||||
doorDownL = "v_ilev_fib_doore_l",
|
||||
doorDownLCoords = {x=-1075.2545,y=-253.5753,z=36.7732},
|
||||
doorDownLOpenCoords = {x=-1074.701, y=-253.2831, z=36.7732},
|
||||
doorDownLHeading = 27.649951934814,
|
||||
doorDownLID = 0, -- ID du props spawn
|
||||
|
||||
doorDownR = "v_ilev_fib_doore_r",
|
||||
doorDownRCoords = {x=-1075.2634,y=-253.5800,z=36.7732},
|
||||
doorDownROpenCoords = {x=-1075.817, y=-253.8722, z=36.7732},
|
||||
doorDownRHeading = 27.649951934814,
|
||||
doorDownRID = 0, -- ID du props spawn
|
||||
|
||||
|
||||
|
||||
upDoorIsOpen = false,
|
||||
|
||||
doorUpL = "v_ilev_fib_doore_l",
|
||||
doorUpLCoords = {x=-1075.2545,y=-253.5753,z=43.025},
|
||||
doorUpLOpenCoords = {x=-1074.701, y=-253.2831, z=43.025},
|
||||
doorUpLHeading = 27.649951934814,
|
||||
doorUpLID = 0,-- ID du props spawn
|
||||
|
||||
doorUpR = "v_ilev_fib_doore_r",
|
||||
doorUpRCoords = {x=-1075.2634,y=-253.5800,z=43.025},
|
||||
doorUpROpenCoords = {x=-1075.817, y=-253.8722, z=43.025},
|
||||
doorUpRHeading = 27.649951934814,
|
||||
doorUpRID = 0,-- ID du props spawn
|
||||
|
||||
|
||||
cabineDoorIsOpen = false,
|
||||
|
||||
cabineDoorL = "v_ilev_fib_doore_l",
|
||||
cabineDoorLCoords = {x=-0.665,y=1.015,z=0.05}, --pos et h relative a la cabine
|
||||
cabineDoorLOpenCoords = {x=-1.365,y=1.015,z=0.025}, --1.025
|
||||
cabineDoorLHeading = 27.649951934814,
|
||||
cabineDoorLID = 0,-- ID du props spawn
|
||||
|
||||
cabineDoorR = "v_ilev_fib_doore_l",
|
||||
cabineDoorRCoords = {x=0.09,y=1.015,z=0.05}, --pos et h relative a la cabine
|
||||
cabineDoorROpenCoords = {x=0.79,y=1.015,z=0.025},
|
||||
cabineDoorRHeading = 27.649951934814,
|
||||
cabineDoorRID = 0,-- ID du props spawn
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
incircle = false
|
||||
Citizen.CreateThread(function()
|
||||
while true do
|
||||
Citizen.Wait(10)
|
||||
if isReady then
|
||||
local ped = PlayerPedId()
|
||||
local pedCoords = GetEntityCoords(ped)
|
||||
local pedDetailedCoords = {}
|
||||
pedDetailedCoords.x,pedDetailedCoords.y,pedDetailedCoords.z = table.unpack(pedCoords)
|
||||
for k,v in pairs(liftData) do
|
||||
if Vdist(pedCoords,v.controldown.x,v.controldown.y,v.controldown.z) < 30.0 or Vdist(pedCoords,v.controlup.x,v.controlup.y,v.controlup.z) < 30.0 then
|
||||
--DrawMarker(1, v.controldown.x,v.controldown.y,v.controldown.z-1.1, 0, 0, 0, 0, 0, 0, 0.7, 0.7, 0.2001, 0, 0, 155,165, 0, 0, 0,0)
|
||||
--DrawMarker(1, v.controlup.x,v.controlup.y,v.controlup.z-1.1, 0, 0, 0, 0, 0, 0, 0.7, 0.7, 0.2001, 0, 0, 155,165, 0, 0, 0,0)
|
||||
|
||||
if not v.isInUse then
|
||||
--DrawMarker(1, v.controlCabineDown.x,v.controlCabineDown.y,v.controlCabineDown.z-1.1, 0, 0, 0, 0, 0, 0, 0.7, 0.7, 0.2001, 0, 0, 155,165, 0, 0, 0,0)
|
||||
|
||||
--DrawMarker(1, v.controlCabineUp.x,v.controlCabineUp.y,v.controlCabineUp.z-1.1, 0, 0, 0, 0, 0, 0, 0.7, 0.7, 0.2001, 0, 0, 155,165, 0, 0, 0,0)
|
||||
|
||||
local ExistElevator = false
|
||||
if DoesEntityExist(v.elevateID) then
|
||||
ExistElevator = true
|
||||
SetEntityVisible(v.elevateID,true)
|
||||
end
|
||||
if not ExistElevator then
|
||||
if not v.isUp then
|
||||
localElevateId = GetClosestObjectOfType(v.down.x,v.down.y,v.down.z,3.0,GetHashKey(v.elevateProps),false,false,false)
|
||||
else
|
||||
localElevateId = GetClosestObjectOfType(v.up.x,v.up.y,v.up.z,3.0,GetHashKey(v.elevateProps),false,false,false)
|
||||
end
|
||||
|
||||
if localElevateId ~= 0 then
|
||||
v.elevateID = localElevateId
|
||||
end
|
||||
end
|
||||
|
||||
local ExistDownDoorL = false
|
||||
local ExistDownDoorR= false
|
||||
if DoesEntityExist(v.doorDownLID) then
|
||||
ExistDownDoorL = true
|
||||
SetEntityVisible(v.doorDownLID,true)
|
||||
end
|
||||
if DoesEntityExist(v.doorDownRID) then
|
||||
ExistDownDoorR = true
|
||||
SetEntityVisible(v.doorDownRID,true)
|
||||
end
|
||||
|
||||
if not downDoorIsOpen then
|
||||
if not ExistDownDoorL then
|
||||
localDownDoorL = GetClosestObjectOfType(v.doorDownLCoords.x,v.doorDownLCoords.y,v.doorDownLCoords.z,1.0,GetHashKey(v.doorDownL),false,false,false)
|
||||
if localDownDoorL ~= 0 then
|
||||
v.doorDownLID = localDownDoorL
|
||||
end
|
||||
end
|
||||
if not ExistDownDoorR then
|
||||
localDownDoorR = GetClosestObjectOfType(v.doorDownRCoords.x,v.doorDownRCoords.y,v.doorDownRCoords.z,1.0,GetHashKey(v.doorDownR),false,false,false)
|
||||
if localDownDoorR ~= 0 then
|
||||
v.doorDownRID = localDownDoorR
|
||||
end
|
||||
end
|
||||
else
|
||||
if not ExistDownDoorL then
|
||||
localDownDoorL = GetClosestObjectOfType(v.doorDownLOpenCoords.x,v.doorDownLOpenCoords.y,v.doorDownLOpenCoords.z,1.0,GetHashKey(v.doorDownL),false,false,false)
|
||||
if localDownDoorL ~= 0 then
|
||||
v.doorDownLID = localDownDoorL
|
||||
end
|
||||
end
|
||||
if not ExistDownDoorR then
|
||||
localDownDoorR = GetClosestObjectOfType(v.doorDownROpenCoords.x,v.doorDownROpenCoords.y,v.doorDownROpenCoords.z,1.0,GetHashKey(v.doorDownR),false,false,false)
|
||||
if localDownDoorR ~= 0 then
|
||||
v.doorDownRID = localDownDoorR
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
local ExistUpDoorL = false
|
||||
local ExistUpDoorR = false
|
||||
if DoesEntityExist(v.doorUpLID) then
|
||||
ExistUpDoorL = true
|
||||
SetEntityVisible(v.doorUpLID,true)
|
||||
end
|
||||
if DoesEntityExist(v.doorUpRID) then
|
||||
ExistUpDoorR = true
|
||||
SetEntityVisible(v.doorUpRID,true)
|
||||
end
|
||||
|
||||
if not upDoorIsOpen then
|
||||
if not ExistUpDoorL then
|
||||
localUpDoorL = GetClosestObjectOfType(v.doorUpLCoords.x,v.doorUpLCoords.y,v.doorUpLCoords.z,1.0,GetHashKey(v.doorUpL),false,false,false)
|
||||
if localUpDoorL ~= 0 then
|
||||
v.doorUpLID = localUpDoorL
|
||||
end
|
||||
end
|
||||
if not ExistUpDoorR then
|
||||
localUpDoorR = GetClosestObjectOfType(v.doorUpRCoords.x,v.doorUpRCoords.y,v.doorUpRCoords.z,1.0,GetHashKey(v.doorUpR),false,false,false)
|
||||
if localUpDoorR ~= 0 then
|
||||
v.doorUpRID = localUpDoorR
|
||||
end
|
||||
end
|
||||
else
|
||||
if not ExistUpDoorL then
|
||||
localUpDoorL = GetClosestObjectOfType(v.doorUpLOpenCoords.x,v.doorUpLOpenCoords.y,v.doorUpLOpenCoords.z,1.0,GetHashKey(v.doorUpL),false,false,false)
|
||||
if localUpDoorL ~= 0 then
|
||||
v.doorUpLID = localUpDoorL
|
||||
end
|
||||
end
|
||||
if not ExistUpDoorR then
|
||||
localUpDoorR = GetClosestObjectOfType(v.doorUpROpenCoords.x,v.doorUpROpenCoords.y,v.doorUpROpenCoords.z,1.0,GetHashKey(v.doorUpR),false,false,false)
|
||||
if localUpDoorR ~= 0 then
|
||||
v.doorUpRID = localUpDoorR
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
if v.elevateID == 0 then
|
||||
tempmodel = GetHashKey(v.elevateProps)
|
||||
RequestModel(tempmodel)
|
||||
while not HasModelLoaded(tempmodel) do
|
||||
RequestModel(tempmodel)
|
||||
Citizen.Wait(0)
|
||||
end
|
||||
|
||||
if not v.isUp then
|
||||
v.elevateID = CreateObject(tempmodel,v.down.x,v.down.y,v.down.z ,false,false,true)
|
||||
else
|
||||
v.elevateID = CreateObject(tempmodel,v.up.x,v.up.y,v.up.z ,false,false,true)
|
||||
end
|
||||
|
||||
v.cabineDoorLID=CreateObject(GetHashKey(v.cabineDoorL),v.up.x,v.up.y,v.up.z ,false,false,true)
|
||||
AttachEntityToEntity(v.cabineDoorLID,v.elevateID,0, v.cabineDoorLCoords.x,v.cabineDoorLCoords.y,v.cabineDoorLCoords.z, 0,0,0.0, false, false, true, false, 0, true)
|
||||
-- print("v.cabineDoorLID : "..tostring(v.cabineDoorLID).." "..tostring(GetEntityModel(v.cabineDoorLID)).." "..tostring(v.cabineDoorLCoords.x).." "..tostring(v.cabineDoorLCoords.y).." "..tostring(v.cabineDoorLCoords.z))
|
||||
v.cabineDoorRID=CreateObject(GetHashKey(v.cabineDoorR),v.up.x,v.up.y,v.up.z ,false,false,true)
|
||||
AttachEntityToEntity(v.cabineDoorRID,v.elevateID,0, v.cabineDoorRCoords.x,v.cabineDoorRCoords.y,v.cabineDoorRCoords.z, 0,0,0.0, false, false, true, false, 0, true)
|
||||
-- print("v.cabineDoorRID : "..tostring(v.cabineDoorRID))
|
||||
-- print("v.cabineDoorRID : "..tostring(v.cabineDoorRID).." "..tostring(GetEntityModel(v.cabineDoorRID)).." "..tostring(v.cabineDoorRCoords.x).." "..tostring(v.cabineDoorRCoords.y).." "..tostring(v.cabineDoorRCoords.z))
|
||||
FreezeEntityPosition(v.elevateID,true)
|
||||
SetEntityRotation(v.elevateID,v.rotation.a,v.rotation.b,v.rotation.c,0,false)
|
||||
SetEntityHeading(v.elevateID,v.elevateHeading)
|
||||
end
|
||||
|
||||
if v.doorDownLID == 0 then
|
||||
tempmodel = GetHashKey(v.doorDownL)
|
||||
RequestModel(tempmodel)
|
||||
while not HasModelLoaded(tempmodel) do
|
||||
RequestModel(tempmodel)
|
||||
Citizen.Wait(0)
|
||||
end
|
||||
|
||||
v.doorDownLID=CreateObject(tempmodel,v.doorDownLCoords.x,v.doorDownLCoords.y,v.doorDownLCoords.z ,false,false,true)
|
||||
FreezeEntityPosition(v.doorDownLID,true)
|
||||
--SetEntityRotation(v.doorDownLID,v.rotation.a,v.rotation.b,v.rotation.c,0,false)
|
||||
SetEntityHeading(v.doorDownLID,v.doorDownLHeading)
|
||||
end
|
||||
|
||||
if v.doorDownRID == 0 then
|
||||
tempmodel = GetHashKey(v.doorDownR)
|
||||
RequestModel(tempmodel)
|
||||
while not HasModelLoaded(tempmodel) do
|
||||
RequestModel(tempmodel)
|
||||
Citizen.Wait(0)
|
||||
end
|
||||
|
||||
v.doorDownRID=CreateObject(tempmodel,v.doorDownRCoords.x,v.doorDownRCoords.y,v.doorDownRCoords.z ,false,false,true)
|
||||
FreezeEntityPosition(v.doorDownRID,true)
|
||||
-- SetEntityRotation(v.elevateID,v.rotation.a,v.rotation.b,v.rotation.c,0,false)
|
||||
SetEntityHeading(v.doorDownRID,v.doorDownRHeading)
|
||||
end
|
||||
|
||||
if v.doorUpLID == 0 then
|
||||
tempmodel = GetHashKey(v.doorUpL)
|
||||
RequestModel(tempmodel)
|
||||
while not HasModelLoaded(tempmodel) do
|
||||
RequestModel(tempmodel)
|
||||
Citizen.Wait(0)
|
||||
end
|
||||
|
||||
v.doorUpLID=CreateObject(tempmodel,v.doorUpLCoords.x,v.doorUpLCoords.y,v.doorUpLCoords.z ,false,false,true)
|
||||
FreezeEntityPosition(v.doorUpLID,true)
|
||||
-- SetEntityRotation(v.doorUpLID,v.rotation.a,v.rotation.b,v.rotation.c,0,false)
|
||||
SetEntityHeading(v.doorUpLID,v.doorUpLHeading)
|
||||
end
|
||||
|
||||
if v.doorUpRID == 0 then
|
||||
tempmodel = GetHashKey(v.doorUpR)
|
||||
RequestModel(tempmodel)
|
||||
while not HasModelLoaded(tempmodel) do
|
||||
RequestModel(tempmodel)
|
||||
Citizen.Wait(0)
|
||||
end
|
||||
|
||||
v.doorUpRID=CreateObject(tempmodel,v.doorUpRCoords.x,v.doorUpRCoords.y,v.doorUpRCoords.z ,false,false,true)
|
||||
FreezeEntityPosition(v.doorUpRID,true)
|
||||
-- SetEntityRotation(v.elevateID,v.rotation.a,v.rotation.b,v.rotation.c,0,false)
|
||||
SetEntityHeading(v.doorUpRID,v.doorUpRHeading)
|
||||
end
|
||||
|
||||
|
||||
|
||||
if Vdist(pedCoords,v.controldown.x,v.controldown.y,v.controldown.z) < 1.0 then
|
||||
if (incircle == false) then
|
||||
DisplayHelpText("Appuyez sur ~INPUT_CONTEXT~ pour appeler l'ascenseur.")
|
||||
end
|
||||
incircle = true
|
||||
if IsControlJustReleased(1, 51) then
|
||||
TriggerServerEvent("lift:askDown",v.code)
|
||||
end
|
||||
|
||||
elseif Vdist(pedCoords,v.controlup.x,v.controlup.y,v.controlup.z) < 1.0 then
|
||||
if (incircle == false) then
|
||||
DisplayHelpText("Appuyez sur ~INPUT_CONTEXT~ pour appeler l'ascenseur.")
|
||||
end
|
||||
incircle = true
|
||||
if IsControlJustReleased(1, 51) then
|
||||
TriggerServerEvent("lift:askUp",v.code)
|
||||
end
|
||||
|
||||
elseif Vdist(pedCoords,v.controlCabineDown.x,v.controlCabineDown.y,v.controlCabineDown.z) < 0.7 and not v.isInUse then
|
||||
if (incircle == false) then
|
||||
DisplayHelpText("Appuyez sur ~INPUT_CONTEXT~ pour monter.")
|
||||
end
|
||||
incircle = true
|
||||
if IsControlJustReleased(1, 51) then
|
||||
TriggerServerEvent("lift:liftup",v.code,v.Zelevate)
|
||||
end
|
||||
elseif Vdist(pedCoords,v.controlCabineUp.x,v.controlCabineUp.y,v.controlCabineUp.z) < 0.7 and not v.isInUse then
|
||||
if (incircle == false) then
|
||||
DisplayHelpText("Appuyez sur ~INPUT_CONTEXT~ pour descendre.")
|
||||
end
|
||||
incircle = true
|
||||
if IsControlJustReleased(1, 51) then
|
||||
TriggerServerEvent("lift:liftdown",v.code,v.Zelevate)
|
||||
end
|
||||
else
|
||||
incircle = false
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end)
|
||||
|
||||
|
||||
RegisterNetEvent("lift:openCabinDoor")
|
||||
AddEventHandler('lift:openCabinDoor', function(code)
|
||||
code = "789456"
|
||||
local leftDoor = liftData[code].cabineDoorLID
|
||||
local rightDoor = liftData[code].cabineDoorRID
|
||||
local elevate = liftData[code].elevateID
|
||||
|
||||
if not liftData[code].cabineDoorIsOpen then
|
||||
liftData[code].cabineDoorIsOpen = true
|
||||
for i=0,139 do
|
||||
Wait(1)
|
||||
AttachEntityToEntity(rightDoor,elevate,0, liftData[code].cabineDoorRCoords.x+((i+1)*0.005),liftData[code].cabineDoorRCoords.y,liftData[code].cabineDoorRCoords.z, 0,0,0.0, false, false, true, false, 0, true)
|
||||
AttachEntityToEntity(leftDoor,elevate,0, liftData[code].cabineDoorLCoords.x+((i+1)*-0.005),liftData[code].cabineDoorLCoords.y,liftData[code].cabineDoorLCoords.z, 0,0,0.0, false, false, true, false, 0, true)
|
||||
end
|
||||
AttachEntityToEntity(rightDoor,elevate,0, liftData[code].cabineDoorROpenCoords.x,liftData[code].cabineDoorROpenCoords.y,liftData[code].cabineDoorROpenCoords.z, 0,0,0.0, false, false, true, false, 0, true)
|
||||
AttachEntityToEntity(leftDoor,elevate,0, liftData[code].cabineDoorLOpenCoords.x,liftData[code].cabineDoorLOpenCoords.y,liftData[code].cabineDoorLOpenCoords.z, 0,0,0.0, false, false, true, false, 0, true)
|
||||
end
|
||||
end)
|
||||
|
||||
RegisterNetEvent("lift:closeCabinDoor")
|
||||
AddEventHandler('lift:closeCabinDoor', function(code)
|
||||
code = "789456"
|
||||
local leftDoor = liftData[code].cabineDoorLID
|
||||
local rightDoor = liftData[code].cabineDoorRID
|
||||
local elevate = liftData[code].elevateID
|
||||
|
||||
if liftData[code].cabineDoorIsOpen then
|
||||
liftData[code].cabineDoorIsOpen = false
|
||||
for i=0,139 do
|
||||
Wait(1)
|
||||
AttachEntityToEntity(rightDoor,elevate,0, liftData[code].cabineDoorROpenCoords.x+((i+1)*-0.005),liftData[code].cabineDoorROpenCoords.y,liftData[code].cabineDoorROpenCoords.z, 0,0,0.0, false, false, true, false, 0, true)
|
||||
AttachEntityToEntity(leftDoor,elevate,0, liftData[code].cabineDoorLOpenCoords.x+((i+1)*0.005),liftData[code].cabineDoorLOpenCoords.y,liftData[code].cabineDoorLOpenCoords.z, 0,0,0.0, false, false, true, false, 0, true)
|
||||
end
|
||||
AttachEntityToEntity(rightDoor,elevate,0, liftData[code].cabineDoorRCoords.x,liftData[code].cabineDoorRCoords.y,liftData[code].cabineDoorRCoords.z, 0,0,0.0, false, false, true, false, 0, true)
|
||||
AttachEntityToEntity(leftDoor,elevate,0, liftData[code].cabineDoorLCoords.x,liftData[code].cabineDoorLCoords.y,liftData[code].cabineDoorLCoords.z, 0,0,0.0, false, false, true, false, 0, true)
|
||||
end
|
||||
end)
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
RegisterNetEvent("lift:openDoorDown")
|
||||
AddEventHandler('lift:openDoorDown', function(code)
|
||||
|
||||
-- DEBUG
|
||||
-- code = "789456"
|
||||
------------------
|
||||
local leftDoor = liftData[code].doorDownLID
|
||||
local rightDoor = liftData[code].doorDownRID
|
||||
|
||||
|
||||
if not liftData[code].downDoorIsOpen then
|
||||
liftData[code].downDoorIsOpen = true
|
||||
TriggerEvent("lift:openCabinDoor",code)
|
||||
for i=0,125 do
|
||||
Wait(1)
|
||||
SetEntityCoords(leftDoor,GetOffsetFromEntityInWorldCoords(leftDoor,0.005,0,0))
|
||||
SetEntityCoords(rightDoor,GetOffsetFromEntityInWorldCoords(rightDoor,-0.005,0,0))
|
||||
end
|
||||
SetEntityCoords(leftDoor,liftData[code].doorDownLOpenCoords.x,liftData[code].doorDownLOpenCoords.y,liftData[code].doorDownLOpenCoords.z)
|
||||
SetEntityCoords(rightDoor,liftData[code].doorDownROpenCoords.x,liftData[code].doorDownROpenCoords.y,liftData[code].doorDownROpenCoords.z)
|
||||
end
|
||||
end)
|
||||
|
||||
RegisterNetEvent("lift:closeDoorDown")
|
||||
AddEventHandler('lift:closeDoorDown', function(code)
|
||||
|
||||
--DEBUG
|
||||
-- code = "789456"
|
||||
------------------
|
||||
local leftDoor = liftData[code].doorDownLID
|
||||
local rightDoor = liftData[code].doorDownRID
|
||||
|
||||
|
||||
if liftData[code].downDoorIsOpen then
|
||||
TriggerEvent("lift:closeCabinDoor")
|
||||
liftData[code].downDoorIsOpen = false
|
||||
for i=0,125 do
|
||||
Wait(1)
|
||||
SetEntityCoords(leftDoor,GetOffsetFromEntityInWorldCoords(leftDoor,-0.005,0,0))
|
||||
SetEntityCoords(rightDoor,GetOffsetFromEntityInWorldCoords(rightDoor,0.005,0,0))
|
||||
end
|
||||
SetEntityCoords(leftDoor,liftData[code].doorDownLCoords.x,liftData[code].doorDownLCoords.y,liftData[code].doorDownLCoords.z)
|
||||
SetEntityCoords(rightDoor,liftData[code].doorDownRCoords.x,liftData[code].doorDownRCoords.y,liftData[code].doorDownRCoords.z)
|
||||
end
|
||||
end)
|
||||
|
||||
|
||||
RegisterNetEvent("lift:closeDoorDownIfnotBusy")
|
||||
AddEventHandler('lift:closeDoorDownIfnotBusy', function(code)
|
||||
|
||||
--DEBUG
|
||||
-- code = "789456"
|
||||
------------------
|
||||
if not liftData[code].isInUse then
|
||||
TriggerEvent("lift:closeCabinDoor")
|
||||
local leftDoor = liftData[code].doorDownLID
|
||||
local rightDoor = liftData[code].doorDownRID
|
||||
liftData[code].downDoorIsOpen = false
|
||||
|
||||
for i=0,125 do
|
||||
Wait(1)
|
||||
SetEntityCoords(leftDoor,GetOffsetFromEntityInWorldCoords(leftDoor,-0.005,0,0))
|
||||
SetEntityCoords(rightDoor,GetOffsetFromEntityInWorldCoords(rightDoor,0.005,0,0))
|
||||
end
|
||||
SetEntityCoords(leftDoor,liftData[code].doorDownLCoords.x,liftData[code].doorDownLCoords.y,liftData[code].doorDownLCoords.z)
|
||||
SetEntityCoords(rightDoor,liftData[code].doorDownRCoords.x,liftData[code].doorDownRCoords.y,liftData[code].doorDownRCoords.z)
|
||||
end
|
||||
end)
|
||||
|
||||
|
||||
RegisterNetEvent("lift:openDoorUp")
|
||||
AddEventHandler('lift:openDoorUp', function(code)
|
||||
|
||||
--DEBUG
|
||||
-- code = "789456"
|
||||
------------------
|
||||
local leftDoor = liftData[code].doorUpLID
|
||||
local rightDoor = liftData[code].doorUpRID
|
||||
|
||||
if not liftData[code].upDoorIsOpen then
|
||||
liftData[code].upDoorIsOpen = true
|
||||
TriggerEvent("lift:openCabinDoor",code)
|
||||
for i=0,125 do
|
||||
Wait(1)
|
||||
SetEntityCoords(leftDoor,GetOffsetFromEntityInWorldCoords(leftDoor,0.005,0,0))
|
||||
SetEntityCoords(rightDoor,GetOffsetFromEntityInWorldCoords(rightDoor,-0.005,0,0))
|
||||
end
|
||||
SetEntityCoords(leftDoor,liftData[code].doorUpLOpenCoords.x,liftData[code].doorUpLOpenCoords.y,liftData[code].doorUpLOpenCoords.z)
|
||||
SetEntityCoords(rightDoor,liftData[code].doorUpROpenCoords.x,liftData[code].doorUpROpenCoords.y,liftData[code].doorUpROpenCoords.z)
|
||||
end
|
||||
end)
|
||||
|
||||
RegisterNetEvent("lift:closeDoorUp")
|
||||
AddEventHandler('lift:closeDoorUp', function(code)
|
||||
|
||||
--DEBUG
|
||||
-- code = "789456"
|
||||
------------------
|
||||
local leftDoor = liftData[code].doorUpLID
|
||||
local rightDoor = liftData[code].doorUpRID
|
||||
|
||||
if liftData[code].upDoorIsOpen then
|
||||
TriggerEvent("lift:closeCabinDoor")
|
||||
liftData[code].upDoorIsOpen = false
|
||||
for i=0,125 do
|
||||
Wait(1)
|
||||
SetEntityCoords(leftDoor,GetOffsetFromEntityInWorldCoords(leftDoor,-0.005,0,0))
|
||||
SetEntityCoords(rightDoor,GetOffsetFromEntityInWorldCoords(rightDoor,0.005,0,0))
|
||||
end
|
||||
SetEntityCoords(leftDoor,liftData[code].doorUpLCoords.x,liftData[code].doorUpLCoords.y,liftData[code].doorUpLCoords.z)
|
||||
SetEntityCoords(rightDoor,liftData[code].doorUpRCoords.x,liftData[code].doorUpRCoords.y,liftData[code].doorUpRCoords.z)
|
||||
end
|
||||
end)
|
||||
|
||||
RegisterNetEvent("lift:closeDoorUpIfnotBusy")
|
||||
AddEventHandler('lift:closeDoorUpIfnotBusy', function(code)
|
||||
|
||||
--DEBUG
|
||||
-- code = "789456"
|
||||
------------------
|
||||
if not liftData[code].isInUse then
|
||||
TriggerEvent("lift:closeCabinDoor")
|
||||
local leftDoor = liftData[code].doorUpLID
|
||||
local rightDoor = liftData[code].doorUpRID
|
||||
liftData[code].upDoorIsOpen = false
|
||||
|
||||
for i=0,125 do
|
||||
Wait(1)
|
||||
SetEntityCoords(leftDoor,GetOffsetFromEntityInWorldCoords(leftDoor,-0.005,0,0))
|
||||
SetEntityCoords(rightDoor,GetOffsetFromEntityInWorldCoords(rightDoor,0.005,0,0))
|
||||
end
|
||||
SetEntityCoords(leftDoor,liftData[code].doorUpLCoords.x,liftData[code].doorUpLCoords.y,liftData[code].doorUpLCoords.z)
|
||||
SetEntityCoords(rightDoor,liftData[code].doorUpRCoords.x,liftData[code].doorUpRCoords.y,liftData[code].doorUpRCoords.z)
|
||||
end
|
||||
end)
|
||||
|
||||
|
||||
|
||||
----------LIFT
|
||||
|
||||
|
||||
RegisterNetEvent("lift:up")
|
||||
AddEventHandler('lift:up', function(code)
|
||||
|
||||
--DEBUG
|
||||
-- code = "789456"
|
||||
------------------
|
||||
local ascenseur = liftData[code].elevateID
|
||||
|
||||
newCoords = {}
|
||||
local elevateHeight = liftData[code].Zelevate
|
||||
local nbStep = elevateHeight * 50
|
||||
liftData[code].isUp = true
|
||||
liftData[code].isInUse = true
|
||||
for i=0,nbStep do
|
||||
Wait(1)
|
||||
newCoords.x,newCoords.y,newCoords.z = table.unpack(GetEntityCoords(ascenseur))
|
||||
SetEntityCoords(ascenseur,newCoords.x,newCoords.y,newCoords.z+0.02)
|
||||
end
|
||||
SetEntityCoords(ascenseur,liftData[code].up.x,liftData[code].up.y,liftData[code].up.z)
|
||||
liftData[code].isInUse = false
|
||||
end)
|
||||
|
||||
RegisterNetEvent("lift:StepUp")
|
||||
AddEventHandler('lift:StepUp', function(code)
|
||||
|
||||
--DEBUG
|
||||
-- code = "789456"
|
||||
------------------
|
||||
local ascenseur = liftData[code].elevateID
|
||||
|
||||
newCoords = {}
|
||||
local elevateHeight = liftData[code].Zelevate
|
||||
local nbStep = (elevateHeight * 100)/4
|
||||
-- liftData[code].isUp = true
|
||||
liftData[code].isInUse = true
|
||||
for i=0,nbStep do
|
||||
Wait(5)
|
||||
newCoords.x,newCoords.y,newCoords.z = table.unpack(GetEntityCoords(ascenseur))
|
||||
SetEntityCoords(ascenseur,newCoords.x,newCoords.y,newCoords.z+0.01)
|
||||
end
|
||||
-- liftData[code].isInUse = false
|
||||
end)
|
||||
|
||||
|
||||
RegisterNetEvent("lift:down")
|
||||
AddEventHandler('lift:down', function(code)
|
||||
|
||||
--DEBUG
|
||||
-- code = "789456"
|
||||
------------------
|
||||
local ascenseur = liftData[code].elevateID
|
||||
|
||||
newCoords = {}
|
||||
local elevateHeight = liftData[code].Zelevate
|
||||
local nbStep = elevateHeight * 50
|
||||
liftData[code].isUp = false
|
||||
liftData[code].isInUse = true
|
||||
|
||||
for i=0,nbStep do
|
||||
Wait(1)
|
||||
newCoords.x,newCoords.y,newCoords.z = table.unpack(GetEntityCoords(ascenseur))
|
||||
SetEntityCoords(ascenseur,newCoords.x,newCoords.y,newCoords.z-0.02)
|
||||
end
|
||||
SetEntityCoords(ascenseur,liftData[code].down.x,liftData[code].down.y,liftData[code].down.z+0.02)
|
||||
liftData[code].isInUse = false
|
||||
end)
|
||||
|
||||
RegisterNetEvent("lift:StepDown")
|
||||
AddEventHandler('lift:StepDown', function(code)
|
||||
|
||||
--DEBUG
|
||||
-- code = "789456"
|
||||
------------------
|
||||
local ascenseur = liftData[code].elevateID
|
||||
|
||||
newCoords = {}
|
||||
local elevateHeight = liftData[code].Zelevate
|
||||
local nbStep = (elevateHeight * 100)/4
|
||||
-- liftData[code].isUp = false
|
||||
liftData[code].isInUse = true
|
||||
|
||||
for i=0,nbStep do
|
||||
Wait(5)
|
||||
newCoords.x,newCoords.y,newCoords.z = table.unpack(GetEntityCoords(ascenseur))
|
||||
SetEntityCoords(ascenseur,newCoords.x,newCoords.y,newCoords.z-0.01)
|
||||
end
|
||||
-- SetEntityCoords(ascenseur,liftData[code].down.x,liftData[code].down.y,liftData[code].down.z+0.02)
|
||||
-- liftData[code].isInUse = false
|
||||
end)
|
||||
|
||||
|
||||
RegisterNetEvent("lift:upAndDoor")
|
||||
AddEventHandler('lift:upAndDoor', function(code)
|
||||
|
||||
--DEBUG
|
||||
-- code = "789456"
|
||||
------------------
|
||||
local ascenseur = liftData[code].elevateID
|
||||
-- print("RateAdjsuter : "..tostring(RateAdjsuter))
|
||||
newCoords = {}
|
||||
local elevateHeight = liftData[code].Zelevate
|
||||
local nbStep = elevateHeight * 50
|
||||
liftData[code].isUp = true
|
||||
liftData[code].isInUse = true
|
||||
for i=0,nbStep do
|
||||
Wait(1)
|
||||
newCoords.x,newCoords.y,newCoords.z = table.unpack(GetEntityCoords(ascenseur))
|
||||
SetEntityCoords(ascenseur,newCoords.x,newCoords.y,newCoords.z+0.02)
|
||||
end
|
||||
|
||||
SetEntityCoords(ascenseur,liftData[code].up.x,liftData[code].up.y,liftData[code].up.z)
|
||||
Wait(500)
|
||||
TriggerEvent("lift:openDoorUp",code)
|
||||
Wait(2500)
|
||||
liftData[code].isInUse = false
|
||||
end)
|
||||
|
||||
RegisterNetEvent("lift:StepUpAndDoor")
|
||||
AddEventHandler('lift:StepUpAndDoor', function(code)
|
||||
|
||||
--DEBUG
|
||||
-- code = "789456"
|
||||
------------------
|
||||
local ascenseur = liftData[code].elevateID
|
||||
-- print("RateAdjsuter : "..tostring(RateAdjsuter))
|
||||
newCoords = {}
|
||||
local elevateHeight = liftData[code].Zelevate
|
||||
local nbStep = (elevateHeight * 100)/4
|
||||
liftData[code].isUp = true
|
||||
liftData[code].isInUse = true
|
||||
for i=0,nbStep do
|
||||
Wait(5)
|
||||
newCoords.x,newCoords.y,newCoords.z = table.unpack(GetEntityCoords(ascenseur))
|
||||
SetEntityCoords(ascenseur,newCoords.x,newCoords.y,newCoords.z+0.01)
|
||||
end
|
||||
|
||||
SetEntityCoords(ascenseur,liftData[code].up.x,liftData[code].up.y,liftData[code].up.z)
|
||||
Wait(500)
|
||||
TriggerEvent("lift:openDoorUp",code)
|
||||
Wait(2500)
|
||||
liftData[code].isInUse = false
|
||||
end)
|
||||
|
||||
RegisterNetEvent("lift:downAndDoor")
|
||||
AddEventHandler('lift:downAndDoor', function(code)
|
||||
|
||||
--DEBUG
|
||||
-- code = "789456"
|
||||
------------------
|
||||
local ascenseur = liftData[code].elevateID
|
||||
|
||||
newCoords = {}
|
||||
local elevateHeight = liftData[code].Zelevate
|
||||
local nbStep = elevateHeight * 50
|
||||
liftData[code].isUp = false
|
||||
liftData[code].isInUse = true
|
||||
for i=0,nbStep do
|
||||
Wait(1)
|
||||
newCoords.x,newCoords.y,newCoords.z = table.unpack(GetEntityCoords(ascenseur))
|
||||
SetEntityCoords(ascenseur,newCoords.x,newCoords.y,newCoords.z-0.02)
|
||||
end
|
||||
SetEntityCoords(ascenseur,liftData[code].down.x,liftData[code].down.y,liftData[code].down.z)
|
||||
Wait(500)
|
||||
TriggerEvent("lift:openDoorDown",code)
|
||||
Wait(2500)
|
||||
liftData[code].isInUse = false
|
||||
end)
|
||||
|
||||
RegisterNetEvent("lift:StepDownAndDoor")
|
||||
AddEventHandler('lift:StepDownAndDoor', function(code)
|
||||
|
||||
--DEBUG
|
||||
-- code = "789456"
|
||||
------------------
|
||||
local ascenseur = liftData[code].elevateID
|
||||
|
||||
newCoords = {}
|
||||
local elevateHeight = liftData[code].Zelevate
|
||||
local nbStep = (elevateHeight * 100)/4
|
||||
liftData[code].isUp = false
|
||||
liftData[code].isInUse = true
|
||||
for i=0,nbStep do
|
||||
Wait(5)
|
||||
newCoords.x,newCoords.y,newCoords.z = table.unpack(GetEntityCoords(ascenseur))
|
||||
SetEntityCoords(ascenseur,newCoords.x,newCoords.y,newCoords.z-0.01)
|
||||
end
|
||||
SetEntityCoords(ascenseur,liftData[code].down.x,liftData[code].down.y,liftData[code].down.z)
|
||||
Wait(500)
|
||||
TriggerEvent("lift:openDoorDown",code)
|
||||
Wait(2500)
|
||||
liftData[code].isInUse = false
|
||||
end)
|
||||
|
||||
RegisterNetEvent("lift:sendStatus")
|
||||
AddEventHandler('lift:sendStatus', function(data)
|
||||
|
||||
for k,v in pairs(data) do
|
||||
for k2,v2 in pairs(liftData) do
|
||||
if k==k2 then
|
||||
-- print("k :"..tostring(k).." k2 :"..tostring(k2).." vUp : "..tostring(v.isUp))
|
||||
liftData[k].isUp = v.isUp
|
||||
end
|
||||
end
|
||||
end
|
||||
isReady = true
|
||||
end)
|
||||
|
||||
AddEventHandler('playerSpawned', function()
|
||||
TriggerServerEvent("lift:GetStatus")
|
||||
end)
|
||||
|
||||
TriggerServerEvent("lift:GetStatus")
|
||||
|
||||
Reference in New Issue
Block a user