of     1   

yahya01
#140886257Saturday, July 19, 2014 10:42 PM GMT

When elevator gets to top it won't open door? http://www.roblox.com/fix-pls-item?id=167254234
wubby301
#140886543Saturday, July 19, 2014 10:45 PM GMT

no code, no help. ~lolololoool
yahya01
#140886655Saturday, July 19, 2014 10:46 PM GMT

It has code, its an elevator, i think its an error.. please look at it.
wubby301
#140886793Saturday, July 19, 2014 10:48 PM GMT

...no it will give 1 tix, i not gonna do that. ~lolololoool
yahya01
#140886910Saturday, July 19, 2014 10:49 PM GMT

Its a model sir, please take and look at it in studio...
blox6137
#140891139Saturday, July 19, 2014 11:36 PM GMT

Just copy the script/scripts and paste it here. ppls donot leik to get da modelz.
yahya01
#140893797Sunday, July 20, 2014 12:04 AM GMT

but i don't know where the problem is, doesnt show any errors
UncleTaz
#140893929Sunday, July 20, 2014 12:05 AM GMT

Wth Go to the model, get the script, open it, copy it, and paste it here... How is that hard to understand...
yahya01
#140894180Sunday, July 20, 2014 12:08 AM GMT

Theres no error in scripts, it better too look at model and have understanding but here: FIRST SCRIPT: print("Teknikk Gen4 V2.1 Multi API") Floor = script.Parent.Floor Motor = script.Parent.Motor Car = script.Parent.Car IgnoreSensor = false DoorState = "Closed" DoorStateRear = "Closed" DoorSpeed = 0 DoorL = 43 DoorC = 0.05 DoorP = 0 DoorPR = 0 DoorTimer = 5 NudgeTimer = 30 DoorOpenTime = 0 DoorNudge = false DoorTimerReset = false DoorTimerResetRear = false ConfigMode = false EngineAPI = "B" -- DO NOT CHANGE TO CFRAME UNLESS YOU WANT IT MESSED UP EngineDynamicSpeed = false if EngineAPI == "C" then MotorStartSpeed = 0.15 MotorStopSpeed = 0.1 MotorSpeed = 0.2 LevelOffset = 2.5 elseif EngineAPI == "B" then BP = Car.Platform.BodyPosition BV = Car.Platform.BodyVelocity MotorStartSpeed = 0.05 MotorStopSpeed = 0.05 MotorSpeed = 7 -- Change this to adjust the Movement speed LevelOffset = 5 end local MoveDirection = "None" local TargetFloor = 0 local TotalFloors = 0 local CallQuene = {} local FireLock = false local Alarm = false local Moving = false local Busy = false local Locked = false local Fire = false local Light = true local OpenWhenIdle = false local Chime = true local FloorPassChime = true local ClassicLevel = false local CardLock = true local DoorSensors = true local DoorSensorHold = true local CardNumber = { [0]=0, [301]=3, [302]=3, [303]=3, [304]=3, [305]=3, [306]=3, [307]=3, [401]=4, [402]=4, [403]=4, [404]=4, [405]=4, [406]=4, [407]=4 } local UnlockedFloor = 9001 local LockedFloors = {} local LightLock = {"Player1","Heisteknikk"} local CarCF = {} local TCar = script.Parent.Car local TFloors = script.Parent.Floors local TFloorsG = script.Parent.Floors:GetChildren() local TCarG = script.Parent.Car:GetChildren() local TDoorL = script.Parent.Car.DoorLeft:GetChildren() local TDoorR = script.Parent.Car.DoorRight:GetChildren() local TDoorLR = script.Parent.Car.DoorLeftRear:GetChildren() local TDoorRR = script.Parent.Car.DoorRightRear:GetChildren() for i1=1,#TCarG do table.insert(CarCF,TCarG[i1]) end for i2=1,#TDoorL do table.insert(CarCF,TDoorL[i2]) end for i3=1,#TDoorR do table.insert(CarCF,TDoorR[i3]) end for i4=1,#TDoorLR do table.insert(CarCF,TDoorL[i4]) end for i5=1,#TDoorRR do table.insert(CarCF,TDoorR[i5]) end local BtnULit = "http://www.roblox.com/asset/?id=146686839" local BtnLit = "http://www.roblox.com/asset/?id=146686848" local IndDirUp = "http://www.roblox.com/asset/?id=66704336" local IndDirDown = "http://www.roblox.com/asset/?id=66704345" local IndDirULit = "http://www.roblox.com/asset/?id=66704228" local DirIndLit = "http://www.roblox.com/asset/?id=130007738" local DirIndULit = "http://www.roblox.com/asset/?id=130007740" function ProcessCall(xFloor, xDest) if Busy == false and xFloor ~= xDest then if xDest > xFloor then script.Parent.TFloor.Value = xDest Start("Up",xDest) end if xDest < xFloor then script.Parent.TFloor.Value = xDest Start("Down",xDest) end end end function Start(xDirection,xDest) Busy = true Car.Platform.Motor.Pitch = 0 Car.Platform.Motor:Play() if DoorState ~= "Closed" or DoorStateRear ~= "Closed" then repeat wait() print("Door 1: "..DoorState.."; Door 2: "..DoorStateRear) until DoorState == "Closed" and DoorStateRear == "Closed" end Moving = true if EngineAPI == "B" and EngineDynamicSpeed then print("Calculating Dynamic Speed...") local GetDist = (TFloors:FindFirstChild("Floor"..xDest).Level.Position.Y - Car.Platform.Position.Y) print("Calculated Speed") print(math.abs(GetDist/50*28)) MotorSpeed = math.abs(GetDist/50*28) end if EngineAPI == "B" then BP.P = 0 BP.D = 0 BV.P = 5000 Car.Platform.Anchored = false end coroutine.resume(coroutine.create(function() for i=0, 0.6, 0.05 do Car.Platform.Motor.Pitch = i wait(0.1) end end)) if xDirection == "Up" then script.Parent.Direction.Value = "U" MoveDirection = "Up" CallDirection = "Up" Motor.Value = 0.000001 script.StartMotor.Value = true if EngineAPI == "C" then for i = 0.02, MotorSpeed, 0.02 do Motor.Value = i wait(MotorStartSpeed) end end if EngineAPI == "B" then for i = 0, MotorSpeed, 1 do Motor.Value = i wait(MotorStartSpeed) end end end if xDirection == "Down" then script.Parent.Direction.Value = "D" MoveDirection = "Down" CallDirection = "Down" Motor.Value = -0.000001 script.StartMotor.Value = true if EngineAPI == "C" then for i = 0, MotorSpeed, 0.02 do Motor.Value = -i wait(MotorStartSpeed) end end if EngineAPI == "B" then for i = 0, MotorSpeed, 1 do Motor.Value = -i wait(MotorStartSpeed) end end end end function Stop(TF) local HaveAStop = false for i=1, #CallQuene do if CallQuene[i] == TF then HaveAStop = true end end if HaveAStop then script.Parent.Direction.Value = "N" Btn(TF,0) if EngineAPI == "C" then if MoveDirection == "Up" then for i = MotorSpeed, 0, -0.05 do Motor.Value = i wait(MotorStopSpeed) end end if MoveDirection == "Down" then for i = MotorSpeed, 0, -0.05 do Motor.Value = -i wait(MotorStopSpeed) end end end coroutine.resume(coroutine.create(function() for i=0.5, 0.1, -0.05 do Car.Platform.Motor.Pitch = i wait(0.1) end end)) if EngineAPI == "B" then local FYpos = TFloors:FindFirstChild("Floor"..TF).Level.Position.Y BP.position = Vector3.new(Car.Platform.BodyPosition.position.X,FYpos,Car.Platform.BodyPosition.position.Z) BP.P = 10000 BP.D = 4000 BV.P = 0 BV.velocity = Vector3.new(0,0,0) end local Dir = MoveDirection Quene(TF,"Remove") if Floor.Value == TotalFloors then MoveDirection = "Down" end if Floor.Value == 1 then MoveDirection = "Up" end Moving = false if ClassicLevel and EngineAPI == "C" then DoorRun(1) end repeat if EngineAPI == "C" then for i, v in ipairs(CarCF) do if v:IsA("Part") or v:IsA("WedgePart") or v:IsA("CornerWedgePart") then if v:FindFirstChild("Reverse")~=nil then if Dir == "Up" then v.CFrame = v.CFrame * CFrame.new(0, -0.01, 0) else v.CFrame = v.CFrame * CFrame.new(0, 0.01, 0) end else if Dir == "Up" then v.CFrame = v.CFrame * CFrame.new(0, 0.01, 0) else v.CFrame = v.CFrame * CFrame.new(0, -0.01, 0) end end elseif v:IsA("Model") then local z = v:GetChildren() for a, s in ipairs(z) do if v:IsA("Part") or v:IsA("WedgePart") or v:IsA("CornerWedgePart") then if v:FindFirstChild("Reverse")~=nil then if Dir == "Up" then s.CFrame = s.CFrame * CFrame.new(0, -0.01, 0) else s.CFrame = s.CFrame * CFrame.new(0, 0.01, 0) end else if Dir == "Up" then s.CFrame = s.CFrame * CFrame.new(0, 0.01, 0) else s.CFrame = s.CFrame * CFrame.new(0, -0.01, 0) end end end end end end end wait() until math.abs(TFloors:FindFirstChild("Floor"..TF).Level.Position.Y - Car.Platform.Position.Y) < 0.1 Car.Platform.Motor:Stop() wait(0.5) Motor.Value = 0 if EngineAPI == "B" then Car.Platform.Anchored = true wait(0.5) end TargetFloor = 0 script.Parent.TargetFloor.Value = 0 if not ClassicLevel or EngineAPI == "B" then DoorRun(1) end print("Waiting 5 before Reset") Busy = false wait(5) Quene(0,"Check") --local Number = nil --repeat Number = math.random(1,4) until Number ~= Floor.Value --script.Parent.ScriptCall.Value = Number end end function DoorRun(xm) if Debug then print("DoorRun("..xm..") executed") end if xm == 1 then if DoorState == "Closed" then coroutine.resume(coroutine.create(function() DoorOpen(Floor.Value,false) end)) end if DoorStateRear == "Closed" then coroutine.resume(coroutine.create(function() RearDoorOpen(Floor.Value,false) end)) -- REAR DOOR end end if xm == 2 then if DoorState == "Open" then coroutine.resume(coroutine.create(function() DoorClose(Floor.Value) end))-- MAIN DOOR end if DoorStateRear == "Open" then coroutine.resume(coroutine.create(function() RearDoorClose(Floor.Value) end)) -- REAR DOOR end end if xm == 3 then if DoorState == "Closing" then coroutine.resume(coroutine.create(function() DoorReOpen(Floor.Value,true) end))-- MAIN DOOR end if DoorStateRear == "Closing" then coroutine.resume(coroutine.create(function() RearDoorReOpen(Floor.Value,true) end))-- MAIN DOOR end end end function DoorOpen(F,ReOpen) if F ~= Floor.Value and Moving == true then return end -- IF NOT OF FLOOR DO NOT Open if DoorNudge == true then return end -- NO OPEN ON NUDGE if DoorState == "Closed" then -- open when closed and reopen if closing if TFloors:FindFirstChild("Floor"..F):FindFirstChild("DoorLeft") == nil then print("No Main Door detected") return end DoorState = "Opening" local DoorCarLeft = Car.DoorLeft:GetChildren() local DoorCarRight = Car.DoorRight:GetChildren() local DoorFloorLeft = TFloors:FindFirstChild("Floor"..F):FindFirstChild("DoorLeft"):GetChildren() local DoorFloorRight = TFloors:FindFirstChild("Floor"..F):FindFirstChild("DoorRight"):GetChildren() if EngineAPI == "B" then for C1 = 1, #DoorCarLeft do DoorCarLeft[C1].Anchored = true end for C2 = 1, #DoorCarRight do DoorCarRight[C2].Anchored = true end end for i=DoorP, DoorL do DoorP = DoorP + 1 for R=1, #DoorFloorRight do DoorFloorRight[R].CFrame = DoorFloorRight[R].CFrame * CFrame.new(DoorC, 0, 0) end for L=1, #DoorFloorLeft do DoorFloorLeft[L].CFrame = DoorFloorLeft[L].CFrame * CFrame.new(-DoorC, 0, 0) end for CR=1, #DoorCarRight do DoorCarRight[CR].CFrame = DoorCarRight[CR].CFrame * CFrame.new(DoorC, 0, 0) end for CL=1, #DoorCarLeft do DoorCarLeft[CL].CFrame = DoorCarLeft[CL].CFrame * CFrame.new(-DoorC, 0, 0) end wait(DoorSpeed) end if DoorState == "CancelReopen" then DoorState = "OkReopen" return end DoorState = "Open" SetCarDirInd(1) SetFloorDirInd(1) if ChimeAfterDoor then coroutine.resume(coroutine.create(function() DoChime() end)) end -- CREATE DOOR TIMER coroutine.resume(coroutine.create(function() local CTime = 0 repeat wait(1) CTime = CTime + 1 if DoorTimerReset == true then print("Timer reset due to sensor touched or Open clicked") CTime = 0 DoorTimerReset = false end until CTime > DoorTimer or DoorState ~= "Open" if CTime > DoorTimer then DoorClose(Floor.Value) elseif DoorState ~= "Open" then print("Door was closed before timer ended :)") end end)) DoorCheck() -- NUDGE TIMER end end function DoorReOpen(F) if F ~= Floor.Value and Moving == true then return end -- IF NOT OF FLOOR DO NOT Open if DoorNudge == true then return end -- NO OPEN ON NUDGE if DoorState == "Closing" and DoorNudge == false then -- open when closed and reopen if closing if TFloors:FindFirstChild("Floor"..F):FindFirstChild("DoorLeft") == nil then print("No Main Door detected") return end DoorState = "CancelReopen" repeat wait() until DoorState == "OkReopen" wait(0.2) DoorState = "Opening" local DoorCarLeft = Car.DoorLeft:GetChildren() local DoorCarRight = Car.DoorRight:GetChildren() local DoorFloorLeft = TFloors:FindFirstChild("Floor"..F):FindFirstChild("DoorLeft"):GetChildren() local DoorFloorRight = TFloors:FindFirstChild("Floor"..F):FindFirstChild("DoorRight"):GetChildren() if EngineAPI == "B" then for C1 = 1, #DoorCarLeft do DoorCarLeft[C1].Anchored = true end for C2 = 1, #DoorCarRight do DoorCarRight[C2].Anchored = true end end for i=DoorP, DoorL do DoorP = DoorP + 1 for R=1, #DoorFloorRight do DoorFloorRight[R].CFrame = DoorFloorRight[R].CFrame * CFrame.new(DoorC, 0, 0) end for L=1, #DoorFloorLeft do DoorFloorLeft[L].CFrame = DoorFloorLeft[L].CFrame * CFrame.new(-DoorC, 0, 0) end for CR=1, #DoorCarRight do DoorCarRight[CR].CFrame = DoorCarRight[CR].CFrame * CFrame.new(DoorC, 0, 0) end for CL=1, #DoorCarLeft do DoorCarLeft[CL].CFrame = DoorCarLeft[CL].CFrame * CFrame.new(-DoorC, 0, 0) end wait(DoorSpeed) end if DoorState == "CancelReopen" then DoorState = "OkReopen" print("Grr, need to reopen...") return end DoorState = "Open" SetCarDirInd(1) SetFloorDirInd(1) if ChimeAfterDoor then coroutine.resume(coroutine.create(function() DoChime() end)) end -- CREATE DOOR TIMER coroutine.resume(coroutine.create(function() local CTime = 0 repeat wait(1) CTime = CTime + 1 if DoorTimerReset == true or DoorHold == true then print("Timer reset due to sensor touched or Open clicked") CTime = 0 DoorTimerReset = false end until CTime > DoorTimer or DoorState ~= "Open" if CTime > DoorTimer then DoorClose(Floor.Value) elseif DoorState ~= "Open" then print("Door was closed before timer ended :)") end end)) DoorCheck() -- NUDGE TIMER end end function DoorClose(F,Nudge) if DoorHold == true then return end if F ~= Floor.Value and Moving == true then return end -- IF NOT OF FLOOR DO NOT Open if Floor.Value == 1 and FireLock then return end if DoorState == "Open" or DoorState ~= "Closed" and DoorState == "Opening" and Nudge == true then if TFloors:FindFirstChild("Floor"..F):FindFirstChild("DoorLeft") == nil then print("No Main Door detected") return end if Nudge == true then DoorNudge = true coroutine.resume(coroutine.create(function() while DoorState ~= "Closed" do Car.Platform.Chime:Play() wait(0.3) end end)) end repeat wait() until DoorState == "Open" SetCarDirInd(0) SetFloorDirInd(0) DoorState = "Closing" local DoorCarLeft = Car.DoorLeft:GetChildren() local DoorCarRight = Car.DoorRight:GetChildren() local DoorFloorLeft = TFloors:FindFirstChild("Floor"..F):FindFirstChild("DoorLeft"):GetChildren() local DoorFloorRight = TFloors:FindFirstChild("Floor"..F):FindFirstChild("DoorRight"):GetChildren() for i=0, DoorL do if DoorState == "CancelReopen" then DoorState = "OkReopen" return end DoorP = DoorP - 1 for R=1, #DoorFloorRight do DoorFloorRight[R].CFrame = DoorFloorRight[R].CFrame * CFrame.new(-DoorC, 0, 0) end for L=1, #DoorFloorLeft do DoorFloorLeft[L].CFrame = DoorFloorLeft[L].CFrame * CFrame.new(DoorC, 0, 0) end for CR=1, #DoorCarRight do DoorCarRight[CR].CFrame = DoorCarRight[CR].CFrame * CFrame.new(-DoorC, 0, 0) end for CL=1, #DoorCarLeft do DoorCarLeft[CL].CFrame = DoorCarLeft[CL].CFrame * CFrame.new(DoorC, 0, 0) end if Nudge == true then wait(0.1) else wait(DoorSpeed) end end if DoorState == "CancelReopen" then DoorState = "OkReopen" return end if DoorState == "Closing" then if Nudge == true then DoorNudge = false end if EngineAPI == "B" then for C1 = 1, #DoorCarLeft do DoorCarLeft[C1].Anchored = false end for C2 = 1, #DoorCarRight do DoorCarRight[C2].Anchored = false end end DoorState = "Closed" Quene(0,"Check") end end end function RearDoorOpen(F,ReOpen) if F ~= Floor.Value and Moving == true then return end -- IF NOT OF FLOOR DO NOT Open if DoorNudge == true then return end -- NO OPEN ON NUDGE if DoorStateRear == "Closed" then -- open when closed and reopen if closing if TFloors:FindFirstChild("Floor"..F):FindFirstChild("DoorLeftRear") == nil then print("No Rear Door detected") return end DoorStateRear = "Opening" local DoorCarLeftRear = Car.DoorLeftRear:GetChildren() local DoorCarRightRear = Car.DoorRightRear:GetChildren() local DoorFloorLeftRear = TFloors:FindFirstChild("Floor"..F):FindFirstChild("DoorLeftRear"):GetChildren() local DoorFloorRightRear = TFloors:FindFirstChild("Floor"..F):FindFirstChild("DoorRightRear"):GetChildren() if EngineAPI == "B" then for C1 = 1, #DoorCarLeftRear do DoorCarLeftRear[C1].Anchored = true end for C2 = 1, #DoorCarRightRear do DoorCarRightRear[C2].Anchored = true end end for i=DoorPR, DoorL do DoorPR = DoorPR + 1 for R=1, #DoorFloorRightRear do DoorFloorRightRear[R].CFrame = DoorFloorRightRear[R].CFrame * CFrame.new(DoorC, 0, 0) end for L=1, #DoorFloorLeftRear do DoorFloorLeftRear[L].CFrame = DoorFloorLeftRear[L].CFrame * CFrame.new(-DoorC, 0, 0) end for CR=1, #DoorCarRightRear do DoorCarRightRear[CR].CFrame = DoorCarRightRear[CR].CFrame * CFrame.new(DoorC, 0, 0) end for CL=1, #DoorCarLeftRear do DoorCarLeftRear[CL].CFrame = DoorCarLeftRear[CL].CFrame * CFrame.new(-DoorC, 0, 0) end wait(DoorSpeed) end if DoorStateRear == "CancelReopen" then DoorStateRear = "OkReopen" return end DoorStateRear = "Open" SetCarDirInd(1,true) SetFloorDirInd(1) if ChimeAfterDoor then coroutine.resume(coroutine.create(function() DoChime() end)) end -- CREATE DOOR TIMER coroutine.resume(coroutine.create(function() local CTimeRear = 0 repeat wait(1) CTimeRear = CTimeRear + 1 if DoorTimerRearReset == true then print("Timer reset due to sensor touched or Open clicked") CTimeRear = 0 DoorTimerRearReset = false end until CTimeRear > DoorTimer or DoorStateRear ~= "Open" if CTimeRear > DoorTimer then RearDoorClose(Floor.Value) elseif DoorStateRear ~= "Open" then print("Door was closed before timer ended :)") end end)) DoorCheck() -- NUDGE TIMER end end function RearDoorReOpen(F) if F ~= Floor.Value and Moving == true then return end -- IF NOT OF FLOOR DO NOT Open if DoorNudge == true then return end -- NO OPEN ON NUDGE if DoorStateRear == "Closing" and DoorNudge == false then -- open when closed and reopen if closing if TFloors:FindFirstChild("Floor"..F):FindFirstChild("DoorLeftRear") == nil then print("No Rear Door detected") return end DoorStateRear = "CancelReopen" repeat wait() until DoorStateRear == "OkReopen" wait(0.2) DoorStateRear = "Opening" local DoorCarLeftRear = Car.DoorLeftRear:GetChildren() local DoorCarRightRear = Car.DoorRightRear:GetChildren() local DoorFloorLeftRear = TFloors:FindFirstChild("Floor"..F):FindFirstChild("DoorLeftRear"):GetChildren() local DoorFloorRightRear = TFloors:FindFirstChild("Floor"..F):FindFirstChild("DoorRightRear"):GetChildren() if EngineAPI == "B" then for C1 = 1, #DoorCarLeftRear do DoorCarLeftRear[C1].Anchored = true end for C2 = 1, #DoorCarRightRear do DoorCarRightRear[C2].Anchored = true end end for i=DoorPR, DoorL do DoorPR = DoorPR + 1 for R=1, #DoorFloorRightRear do DoorFloorRightRear[R].CFrame = DoorFloorRightRear[R].CFrame * CFrame.new(DoorC, 0, 0) end for L=1, #DoorFloorLeftRear do DoorFloorLeftRear[L].CFrame = DoorFloorLeftRear[L].CFrame * CFrame.new(-DoorC, 0, 0) end for CR=1, #DoorCarRightRear do DoorCarRightRear[CR].CFrame = DoorCarRightRear[CR].CFrame * CFrame.new(DoorC, 0, 0) end for CL=1, #DoorCarLeftRear do DoorCarLeftRear[CL].CFrame = DoorCarLeftRear[CL].CFrame * CFrame.new(-DoorC, 0, 0) end wait(DoorSpeed) end if DoorStateRear == "CancelReopen" then DoorStateRear = "OkReopen" print("Grr, need to reopen...") return end DoorStateRear = "Open" SetCarDirInd(1,true) SetFloorDirInd(1) if ChimeAfterDoor then coroutine.resume(coroutine.create(function() DoChime() end)) end -- CREATE DOOR TIMER coroutine.resume(coroutine.create(function() local CTimeRear = 0 repeat wait(1) CTimeRear = CTimeRear + 1 if DoorTimerResetRear == true or DoorHold == true then print("Timer reset due to sensor touched or Open clicked") CTimeRear = 0 DoorTimerResetRear = false end until CTimeRear > DoorTimer or DoorStateRear ~= "Open" if CTimeRear > DoorTimer then RearDoorClose(Floor.Value) elseif DoorStateRear ~= "Open" then print("Door was closed before timer ended :)") end end)) DoorCheck() -- NUDGE TIMER end end function RearDoorClose(F,Nudge) if DoorHold == true then return end if F ~= Floor.Value and Moving == true then return end -- IF NOT OF FLOOR DO NOT Open if Floor.Value == 1 and FireLock then return end if DoorStateRear == "Open" or DoorStateRear ~= "Closed" and DoorStateRear == "Opening" and Nudge == true then if TFloors:FindFirstChild("Floor"..F):FindFirstChild("DoorLeftRear") == nil then print("No Rear Door detected") return end if Nudge == true then DoorNudge = true coroutine.resume(coroutine.create(function() while DoorStateRear ~= "Closed" do Car.Platform.Chime:Play() wait(0.3) end end)) end repeat wait() until DoorStateRear == "Open" SetCarDirInd(0,true) SetFloorDirInd(0) DoorStateRear = "Closing" local DoorCarLeftRear = Car.DoorLeftRear:GetChildren() local DoorCarRightRear = Car.DoorRightRear:GetChildren() local DoorFloorLeftRear = TFloors:FindFirstChild("Floor"..F):FindFirstChild("DoorLeftRear"):GetChildren() local DoorFloorRightRear = TFloors:FindFirstChild("Floor"..F):FindFirstChild("DoorRightRear"):GetChildren() for i=0, DoorL do if DoorStateRear == "CancelReopen" then DoorStateRear = "OkReopen" return end DoorPR = DoorPR - 1 for R=1, #DoorFloorRightRear do DoorFloorRightRear[R].CFrame = DoorFloorRightRear[R].CFrame * CFrame.new(-DoorC, 0, 0) end for L=1, #DoorFloorLeftRear do DoorFloorLeftRear[L].CFrame = DoorFloorLeftRear[L].CFrame * CFrame.new(DoorC, 0, 0) end for CR=1, #DoorCarRightRear do DoorCarRightRear[CR].CFrame = DoorCarRightRear[CR].CFrame * CFrame.new(-DoorC, 0, 0) end for CL=1, #DoorCarLeftRear do DoorCarLeftRear[CL].CFrame = DoorCarLeftRear[CL].CFrame * CFrame.new(DoorC, 0, 0) end if Nudge == true then wait(0.1) else wait(DoorSpeed) end end if DoorStateRear == "CancelReopen" then DoorStateRear = "OkReopen" return end if DoorStateRear == "Closing" then if Nudge == true then DoorNudge = false end if EngineAPI == "B" then for C1 = 1, #DoorCarLeftRear do DoorCarLeftRear[C1].Anchored = false end for C2 = 1, #DoorCarRightRear do DoorCarRightRear[C2].Anchored = false end end DoorStateRear = "Closed" Quene(0,"Check") end end end Running = false function DoorCheck() if Running then return end if FireLock then return end if DoorOpenTime == 0 then coroutine.resume(coroutine.create (function() Running = true while DoorOpenTime ~= NudgeTimer do if DoorState == "Closed" or FireLock or DoorHold then break end DoorOpenTime = DoorOpenTime + 1 print("Nudge timer: "..DoorOpenTime) wait(1) end if DoorState ~= "Closed" or DoorStateRear ~= "Closed" then coroutine.resume(coroutine.create(function() repeat wait() until DoorState == "Open" or DoorState == "Closed" if DoorState == "Closed" then return -- No takk elseif DoorState == "Open" then DoorClose(Floor.Value,true) end end)) DoorOpenTime = 0 Running = false end DoorOpenTime = 0 Running = false end)) end end if DoorSensors then Car.DoorSensor.Touched:connect(function (Player) if Player == nil then return end if Player.Parent == nil then return end if Player.Parent:FindFirstChild("Humanoid") then coroutine.resume(coroutine.create(function() if not Moving and DoorState == "Closing" then DoorTimerReset= true DoorRun(3) end end)) end end) if Car:FindFirstChild("DoorSensorRear") then Car.DoorSensorRear.Touched:connect(function (Player) if Player == nil then return end if Player.Parent == nil then return end if Player.Parent:FindFirstChild("Humanoid") then coroutine.resume(coroutine.create(function() if not Moving and DoorStateRear == "Closing" then DoorTimerResetRear = true DoorRun(3) end end)) end end) end end function Btn(xFloor,xMode,Type) local xCar = TCar:FindFirstChild("BTF"..xFloor) local xCall = TFloors:FindFirstChild("Floor"..xFloor):FindFirstChild("CallButton") local xCall2 = TFloors:FindFirstChild("Floor"..xFloor):FindFirstChild("CallButtonRear") --local xDual = script.Parent.Parent.Parent.HallButtons:FindFirstChild("b"..xFloor) if xMode == 1 then if xCar ~= nil and Type == "Car" then xCar.Texture.Texture = BtnLit end if xCall ~= nil and Type == "Call" then xCall.Texture.Texture = BtnLit end if xCall2 ~= nil and Type == "Call" then xCall2.Texture.Texture = BtnLit end end if xMode == 0 then if xCar ~= nil then xCar.Texture.Texture = BtnULit end if xCall ~= nil then xCall.Texture.Texture = BtnULit end if xCall2 ~= nil then xCall2.Texture.Texture = BtnULit end if xDual ~= nil then xDual.Texture.Texture = BtnULit end end end local Chime = TCar.Platform.Chime function SetCarDirInd(F,Rear) if Rear == true then if TCar:FindFirstChild("DoorIndUpRear") and TCar:FindFirstChild("DoorIndDownRear") then if F == 1 then if MoveDirection == "Up" then TCar.DoorIndUpRear.Decal.Texture = DirIndLit Chime.Pitch = 1 Chime:Play() elseif MoveDirection == "Down" then TCar.DoorIndDownRear.Decal.Texture = DirIndLit Chime.Pitch = 1 Chime:Play() wait(0.8) Chime.Pitch = 0.8 Chime:Play() elseif Floor.Value == TotalFloors then TCar.DoorIndDownRear.Decal.Texture = DirIndLit Chime.Pitch = 1 Chime:Play() wait(0.8) Chime.Pitch = 0.8 Chime:Play() elseif Floor.Value == 1 then TCar.DoorIndUpRear.Decal.Texture = DirIndLit Chime.Pitch = 1 Chime:Play() else TCar.DoorIndUpRear.Decal.Texture = DirIndLit TCar.DoorIndDownRear.Decal.Texture = DirIndLit Chime.Pitch = 1 Chime:Play() end end if F == 0 then TCar.DoorIndUpRear.Decal.Texture = DirIndULit TCar.DoorIndDownRear.Decal.Texture = DirIndULit end end else if TCar:FindFirstChild("DoorIndUp") and TCar:FindFirstChild("DoorIndDown") then if F == 1 then if MoveDirection == "Up" then TCar.DoorIndUp.Decal.Texture = DirIndLit Chime.Pitch = 1 Chime:Play() elseif MoveDirection == "Down" then TCar.DoorIndDown.Decal.Texture = DirIndLit Chime.Pitch = 1 Chime:Play() wait(0.8) Chime.Pitch = 0.8 Chime:Play() elseif Floor.Value == TotalFloors then TCar.DoorIndDown.Decal.Texture = DirIndLit Chime.Pitch = 1 Chime:Play() wait(0.8) Chime.Pitch = 0.8 Chime:Play() elseif Floor.Value == 1 then TCar.DoorIndUp.Decal.Texture = DirIndLit Chime.Pitch = 1 Chime:Play() else TCar.DoorIndUp.Decal.Texture = DirIndLit TCar.DoorIndDown.Decal.Texture = DirIndLit Chime.Pitch = 1 Chime:Play() end end if F == 0 then TCar.DoorIndUp.Decal.Texture = DirIndULit TCar.DoorIndDown.Decal.Texture = DirIndULit end end end end function SetFloorDirInd(F) if F == 1 then if MoveDirection == "Up" or Floor.Value == 1 then if TFloors:FindFirstChild("Floor"..Floor.Value):FindFirstChild("DirIndUp1") then TFloors:FindFirstChild("Floor"..Floor.Value):FindFirstChild("DirIndUp1").Decal.Texture = DirIndLit end if TFloors:FindFirstChild("Floor"..Floor.Value):FindFirstChild("DirIndUp2") then TFloors:FindFirstChild("Floor"..Floor.Value):FindFirstChild("DirIndUp2").Decal.Texture = DirIndLit end if TFloors:FindFirstChild("Floor"..Floor.Value):FindFirstChild("DirIndUp1Rear") then TFloors:FindFirstChild("Floor"..Floor.Value):FindFirstChild("DirIndUp1Rear").Decal.Texture = DirIndLit end if TFloors:FindFirstChild("Floor"..Floor.Value):FindFirstChild("DirIndUp2Rear") then TFloors:FindFirstChild("Floor"..Floor.Value):FindFirstChild("DirIndUp2Rear").Decal.Texture = DirIndLit end elseif MoveDirection == "Down" or Floor.Value == TotalFloors then if TFloors:FindFirstChild("Floor"..Floor.Value):FindFirstChild("DirIndDown1") then TFloors:FindFirstChild("Floor"..Floor.Value):FindFirstChild("DirIndDown1").Decal.Texture = DirIndLit end if TFloors:FindFirstChild("Floor"..Floor.Value):FindFirstChild("DirIndDown2") then TFloors:FindFirstChild("Floor"..Floor.Value):FindFirstChild("DirIndDown2").Decal.Texture = DirIndLit end if TFloors:FindFirstChild("Floor"..Floor.Value):FindFirstChild("DirIndDown1Rear") then TFloors:FindFirstChild("Floor"..Floor.Value):FindFirstChild("DirIndDown1Rear").Decal.Texture = DirIndLit end if TFloors:FindFirstChild("Floor"..Floor.Value):FindFirstChild("DirIndDown2Rear") then TFloors:FindFirstChild("Floor"..Floor.Value):FindFirstChild("DirIndDown2Rear").Decal.Texture = DirIndLit end else end end if F == 0 then if TFloors:FindFirstChild("Floor"..Floor.Value):FindFirstChild("DirIndUp1") then TFloors:FindFirstChild("Floor"..Floor.Value):FindFirstChild("DirIndUp1").Decal.Texture = DirIndULit end if TFloors:FindFirstChild("Floor"..Floor.Value):FindFirstChild("DirIndUp2") then TFloors:FindFirstChild("Floor"..Floor.Value):FindFirstChild("DirIndUp2").Decal.Texture = DirIndULit end if TFloors:FindFirstChild("Floor"..Floor.Value):FindFirstChild("DirIndDown1") then TFloors:FindFirstChild("Floor"..Floor.Value):FindFirstChild("DirIndDown1").Decal.Texture = DirIndULit end if TFloors:FindFirstChild("Floor"..Floor.Value):FindFirstChild("DirIndDown2") then TFloors:FindFirstChild("Floor"..Floor.Value):FindFirstChild("DirIndDown2").Decal.Texture = DirIndULit end if TFloors:FindFirstChild("Floor"..Floor.Value):FindFirstChild("DirIndUp1Rear") then TFloors:FindFirstChild("Floor"..Floor.Value):FindFirstChild("DirIndUp1Rear").Decal.Texture = DirIndULit end if TFloors:FindFirstChild("Floor"..Floor.Value):FindFirstChild("DirIndUp2Rear") then TFloors:FindFirstChild("Floor"..Floor.Value):FindFirstChild("DirIndUp2Rear").Decal.Texture = DirIndULit end if TFloors:FindFirstChild("Floor"..Floor.Value):FindFirstChild("DirIndDown1Rear") then TFloors:FindFirstChild("Floor"..Floor.Value):FindFirstChild("DirIndDown1Rear").Decal.Texture = DirIndULit end if TFloors:FindFirstChild("Floor"..Floor.Value):FindFirstChild("DirIndDown2Rear") then TFloors:FindFirstChild("Floor"..Floor.Value):FindFirstChild("DirIndDown2Rear").Decal.Texture = DirIndULit end end end function Quene(xFloor,Mode,isCall) if Mode == "Check" then for i = 1, #CallQuene do if CallQuene[i] ~= nil then ProcessCall(Floor.Value, CallQuene[i]) end end end if Mode == "Add" then if Fire then return end Btn(xFloor,1,isCall) local IgnoreCall = false local IsCalled = false if isCall == "Car" then if CardLock then for i = 1, #LockedFloors do if LockedFloors[i] == xFloor then if UnlockedFloor == LockedFloors[i] or UnlockedFloor == 0 then print("Ignoring lock") else print("Floor Locked...") IgnoreCall = true end end end end end for i = 1, #CallQuene do if CallQuene[i] == xFloor then print("Call exist, Not adding floor: "..CallQuene[i]) IgnoreCall = true IsCalled = true end end if xFloor == Floor.Value and not Busy and not Moving then DoorRun(1) wait(0.2) Btn(xFloor,0) end if not IgnoreCall and xFloor ~= Floor.Value and not Locked or not IgnoreCall and xFloor ~= Floor.Value and xFloor == 1 then table.insert(CallQuene,xFloor) print("Floor added, Value: "..xFloor) Btn(xFloor,1,isCall) if not Busy then Quene(0,"Check") end else if xFloor == Floor.Value and not Locked or IgnoreCall and IsCalled == false then wait(0.2) Btn(xFloor,0) end if Locked then wait(0.2) Btn(xFloor,0) end end end if Mode == "Remove" then for i = 1, #CallQuene do if CallQuene[i] == xFloor then print("Removed: "..CallQuene[i]) table.remove(CallQuene,i) end end Btn(xFloor,"Off") end end function DoAlarm() if not Alarm then Alarm = true TCar.Platform.Alarm.SoundId = "http://www.roblox.com/asset/?id=157771891" TCar.Platform.Alarm.Looped = true TCar.Platform.Alarm.Pitch = 2 wait(0.5) TCar.Platform.Alarm:Play() wait(5) TCar.Platform.Alarm.Looped = false TCar.Platform.Alarm:Stop() TCar.Platform.Alarm.SoundId = "http://www.roblox.com/asset/?id=12721064" TCar.Platform.Alarm.Looped = false wait(1) TCar.Platform.Alarm:Play() TCar.Platform.Alarm.Pitch = 1 wait(3) TCar.Platform.Alarm.SoundId = "http://www.roblox.com/asset/?id=12721071" TCar.Platform.Alarm.Looped = false TCar.Platform.Alarm.Pitch = 1 for i=1,3 do TCar.Platform.Alarm:Play() wait(2) end --[[ TCar.Platform.Alarm.SoundId = "http://www.roblox.com/asset/?id=142628192" TCar.Platform.Alarm.Looped = false TCar.Platform.Alarm.Pitch = 1 wait(0.5) TCar.Platform.Alarm:Play() wait(25) TCar.Platform.Alarm.SoundId = "http://www.roblox.com/asset/?id=130772180" TCar.Platform.Alarm.Looped = false TCar.Platform.Alarm.Pitch = 1 wait(0.5) TCar.Platform.Alarm:Play() wait(1) ]]-- TCar.Platform.Alarm.SoundId = "http://www.roblox.com/asset/?id=138254180" TCar.Platform.Alarm.Looped = false TCar.Platform.Alarm.Pitch = 1 wait(0.5) TCar.Platform.Alarm:Play() wait(3) TCar.Platform.Alarm.SoundId = "http://www.roblox.com/asset/?id=138187085" TCar.Platform.Alarm.Looped = false TCar.Platform.Alarm.Pitch = 1 wait(0.5) TCar.Platform.Alarm:Play() wait(1) Alarm = false end end x = script.Parent.Floors:GetChildren() cs = Car:GetChildren() if TCar:FindFirstChild("CardReader") ~= nil then TCar:FindFirstChild("CardReader").Touched:connect(function (Card) local Accepted = false if Card.Parent.Name ~= "ConfigKey" and Card.Parent:FindFirstChild("CardNumber") ~= nil and CardLock then for i,l in pairs(CardNumber) do if Card.Parent.CardNumber.Value == i then TCar.CardReader.BrickColor = BrickColor.new("Bright green") UnlockedFloor = l --CardLock = false wait(5) UnlockedFloor = 99999 --CardLock = true TCar.CardReader.BrickColor = BrickColor.new("New Yeller") Accepted = true end wait() end if not Accepted then TCar.CardReader.BrickColor = BrickColor.new("Really red") wait(1) TCar.CardReader.BrickColor = BrickColor.new("New Yeller") end end end) end for i = 1, #TCarG do if TCarG[i].Name:sub(1,2) == "BT" then TCarG[i].ClickDetector.MouseClick:connect(function() TCar.Platform.Beep:Play() end) end if TCarG[i].Name:sub(1,3) == "BTF" then TCarG[i].ClickDetector.MouseClick:connect(function() if ConfigMode then DoCfg(tonumber(TCarG[i].Name:sub(4))) end end) end if TCarG[i].Name:sub(1,4) == "BTDO" then local BO = false TCarG[i].ClickDetector.MouseClick:connect(function() if not ConfigMode then if not BO then Bo = true TCarG[i].Texture.Texture = BtnLit if not Moving and DoorState == "Closed" or DoorStateRear == "Closed" then DoorRun(1) end if DoorState == "Closing" or DoorStateRear == "Closing" then DoorRun(3) end wait(0.2) TCarG[i].Texture.Texture = BtnULit Bo = false end end end) end if TCarG[i].Name:sub(1,4) == "BTDC" then local BC = false TCarG[i].ClickDetector.MouseClick:connect(function() if not ConfigMode then if not BC then BC = true TCarG[i].Texture.Texture = BtnLit DoorRun(2) wait(0.2) TCarG[i].Texture.Texture = BtnULit BC = false end end end) end if TCarG[i].Name:sub(1,3) == "BTF" then TCarG[i].ClickDetector.MouseClick:connect(function() if not ConfigMode then Quene(tonumber(TCarG[i].Name:sub(4)),"Add","Car") end end) end if TCarG[i].Name:sub(1,4) == "BTAL" then TCarG[i].ClickDetector.MouseClick:connect(function() if not ConfigMode then DoAlarm() end end) end end for i = 1, #TFloorsG do TotalFloors = TotalFloors + 1 if TFloorsG[i]:FindFirstChild("CallButton") then TFloorsG[i].CallButton.ClickDetector.MouseClick:connect(function() if not ConfigMode then Quene(tonumber(TFloorsG[i].Name:sub(6)),"Add","Call") end end) TFloorsG[i].CallButton.Texture.Texture = BtnULit end if TFloorsG[i]:FindFirstChild("CallButtonRear") then TFloorsG[i].CallButtonRear.ClickDetector.MouseClick:connect(function() if not ConfigMode then Quene(tonumber(TFloorsG[i].Name:sub(6)),"Add","Call") end end) TFloorsG[i].CallButtonRear.Texture.Texture = BtnULit end end script.Parent.ScriptCall.Changed:connect(function () if script.Parent.ScriptCall.Value ~= 0 then Quene(script.Parent.ScriptCall.Value,"Add",true) script.Parent.ScriptCall.Value = 0 end end) script.Parent.FireMode.Changed:connect(function () if script.Parent.FireMode.Value == true then FireLock = true Locked = true wait(1) Quene(1,"Add","Call") else Fire = false FireLock = false Locked = false DoorRun(2) end end) Floor.Changed:connect(function() if FloorPassChime then Car.Platform.FloorPassChime:Play() end end) print("Floor served: "..TotalFloors) local Motor = script.Parent.Motor local Running = false Motor.Changed:connect(function() if EngineAPI == "C" then if not Running then Running = true if Motor.Value ~= 0 then repeat for i, v in ipairs(CarCF) do if v:IsA("Part") or v:IsA("WedgePart") or v:IsA("CornerWedgePart") then if v:FindFirstChild("Reverse")~=nil then v.CFrame = v.CFrame * CFrame.new(0, -Motor.Value, 0) else v.CFrame = v.CFrame * CFrame.new(0, Motor.Value, 0) end elseif v:IsA("Model") then local z = v:GetChildren() for a, s in ipairs(z) do if v:IsA("Part") or v:IsA("WedgePart") or v:IsA("CornerWedgePart") then if v:FindFirstChild("Reverse")~=nil then s.CFrame = s.CFrame * CFrame.new(0, -Motor.Value, 0) else s.CFrame = s.CFrame * CFrame.new(0, Motor.Value, 0) end end end end end wait() until Motor.Value == 0 end Running = false end end if EngineAPI == "B" then BV.velocity = Vector3.new(0,Motor.Value,0) end end) local Landing = false Motor.Changed:connect(function() if not Landing then Landing = true while Motor.Value ~= 0 do for i = 1, #TFloorsG do if math.abs(TFloorsG[i].Level.Position.Y - Car.Platform.Position.Y) < LevelOffset then if Floor.Value ~= tonumber(TFloorsG[i].Name:sub(6,7)) then Floor.Value = tonumber(TFloorsG[i].Name:sub(6,7)) Stop(tonumber(TFloorsG[i].Name:sub(6,7))) end end end wait() end Landing = false end end) if EngineAPI == "C" then for i,l in pairs(CarCF) do if l:IsA("Part") or l:IsA("WedgePart") or l:IsA("CornerWedgePart") then if l.Name ~= "Seat" then l.Anchored = true end end end end if EngineAPI == "B" then BP.position = Car.Platform.Position for i,l in pairs(CarCF) do if l:IsA("Part") or l:IsA("WedgePart") or l:IsA("CornerWedgePart") then l.Anchored = false end end Car.Platform.Anchored = true end ButtonTextures = { ["DO"]=144878365, ["DC"]=144878349, ["AL"]=144878970, ["S0"]=144877405, ["S1"]=144877410, ["S2"]=144877413, ["S3"]=144877418, ["S4"]=144877421, ["S5"]=144877426, ["S6"]=144877430, ["S7"]=144877436, ["S8"]=144877442, ["S9"]=144877449, ["L1"]=146946090, ["L2"]=146946097, ["L3"]=146946110, ["L4"]=146946116, ["L5"]=146946126, ["L6"]=146946135, ["L7"]=146946148, ["L8"]=146946189, ["L9"]=146946196, ["R0"]=146947263, ["R1"]=146947269, ["R2"]=146947282, ["R3"]=146947294, ["R4"]=146947304, ["R5"]=146947310, ["R6"]=146947315, ["R7"]=146947323, ["R8"]=146947333, ["R9"]=146947343 } ButtonTextures1 = { [0]=144877405, [1]=144877410, [2]=144877413, [3]=144877418, [4]=144877421, [5]=144877426, [6]=144877430, [7]=144877436, [8]=144877442, [9]=144877449 } for i = 1, #TCarG do if TCarG[i].Name:sub(1,4) == "BTAL" then TCarG[i].FloorNumberL.Texture = "http://www.roblox.com/asset/?id=0" TCarG[i].FloorNumberR.Texture = "http://www.roblox.com/asset/?id=" .. ButtonTextures["AL"] end if TCarG[i].Name:sub(1,4) == "BTDO" then TCarG[i].FloorNumberL.Texture = "http://www.roblox.com/asset/?id=0" TCarG[i].FloorNumberR.Texture = "http://www.roblox.com/asset/?id=" .. ButtonTextures["DO"] end if TCarG[i].Name:sub(1,4) == "BTDC" then TCarG[i].FloorNumberL.Texture = "http://www.roblox.com/asset/?id=0" TCarG[i].FloorNumberR.Texture = "http://www.roblox.com/asset/?id=" .. ButtonTextures["DC"] end if TCarG[i].Name:sub(1,3) == "BTF" then if tonumber(TCarG[i].Name:sub(4)) < 10 then TCarG[i].FloorNumberL.Texture = "http://www.roblox.com/asset/?id=0" TCarG[i].FloorNumberR.Texture = "http://www.roblox.com/asset/?id=" .. ButtonTextures["S"..TCarG[i].Name:sub(4)] end if tonumber(TCarG[i].Name:sub(4)) > 9 then TCarG[i].FloorNumberL.Texture = "http://www.roblox.com/asset/?id=" .. ButtonTextures["L"..TCarG[i].Name:sub(4,4)] TCarG[i].FloorNumberR.Texture = "http://www.roblox.com/asset/?id=" .. ButtonTextures["R"..TCarG[i].Name:sub(5,5)] end end if TCarG[i].Name:sub(1,2) == "BT" then if TCarG[i]:FindFirstChild("Texture") then TCarG[i].Texture.Texture = BtnULit end end end
UncleTaz
#140895222Sunday, July 20, 2014 12:19 AM GMT

HELL no...

    of     1