OSDN Git Service

This commit was generated by cvs2svn to compensate for changes in r94,
authorryan <>
Thu, 27 Jan 2005 01:37:00 +0000 (01:37 +0000)
committerryan <>
Thu, 27 Jan 2005 01:37:00 +0000 (01:37 +0000)
which included commits to RCS files with non-trunk default branches.

CoreRoutines.bas
CoreRoutines2.bas [new file with mode: 0755]
ElevatorCode.bas
Form1.frm
Form2.frm
Form3.frm
Skyscraper.vbp
Skyscraper.vbw
readme.txt

index a3d07e8..98a1d6d 100755 (executable)
@@ -1,7 +1,8 @@
 Attribute VB_Name = "CoreRoutines"
-'Skycraper 0.91 Beta
+'Skycraper 0.92 Beta
 'Copyright (C) 2003 Ryan Thoryk
 'http://www.tliquest.net/skyscraper
+'http://sourceforge.net/projects/skyscraper
 'Contact - ryan@tliquest.net
 
 'This program is free software; you can redistribute it and/or
@@ -20,11 +21,13 @@ Attribute VB_Name = "CoreRoutines"
 
 '2/15/03 - Code amount - 79 pages
 '3/1/03 - Code amount - 129 pages
+'4/26/03 - Code amount - 280 pages
 
-'Building title - "Triton Center"
+'Building title - "The Triton Center"
 '
 Option Explicit
 
+
 Global TV As TVEngine
 Global Scene As TVScene
 Global Mesh As TVMesh
@@ -33,62 +36,37 @@ Global Landscape As TVMesh
 Global Room(138) As TVMesh
 Global Shafts1(138) As TVMesh
 Global Shafts2(138) As TVMesh
+Global Shafts3(138) As TVMesh
+Global Shafts4(138) As TVMesh
 Global ShaftsFloor(138) As TVMesh
-'Global Buttons(-1 To 138) As TVMesh
-Global Buttons1(-1 To 138) As TVMesh '-update from Buttons
-Global Buttons2(-1 To 138) As TVMesh '-update from Buttons
-Global Buttons3(-1 To 138) As TVMesh '-update from Buttons
-Global Buttons4(-1 To 138) As TVMesh '-update from Buttons
-Global Buttons5(-1 To 138) As TVMesh '-update from Buttons
-Global Buttons6(-1 To 138) As TVMesh '-update from Buttons
-Global Buttons7(-1 To 138) As TVMesh '-update from Buttons
-Global Buttons8(-1 To 138) As TVMesh '-update from Buttons
-Global Buttons9(-1 To 138) As TVMesh '-update from Buttons
-Global Buttons10(-1 To 138) As TVMesh '-update from Buttons
+Global Buttons(-1 To 144) As TVMesh
 'Global Elevator1 As TVMesh
-Global Elevator(10) As TVMesh '-update from Elevator1
+Global Elevator(40) As TVMesh '-update from Elevator1
 'Global FloorIndicator1 As TVMesh
-Global FloorIndicator(10) As TVMesh '-update from FloorIndicator1
+Global FloorIndicator(40) As TVMesh '-update from FloorIndicator1
 'Global Elevator1DoorL As TVMesh
 'Global Elevator1DoorR As TVMesh
-Global ElevatorInsDoorL(10) As TVMesh '-update from Elevator1DoorL
-Global ElevatorInsDoorR(10) As TVMesh '-update
+Global ElevatorInsDoorL(40) As TVMesh '-update from Elevator1DoorL
+Global ElevatorInsDoorR(40) As TVMesh '-update
 'Global ElevatorDoorL(-1 To 138) As TVMesh
 'Global ElevatorDoorR(-1 To 138) As TVMesh
-Global ElevatorDoor1L(-1 To 138) As TVMesh '-update from ElevatorDoorL
-Global ElevatorDoor1R(-1 To 138) As TVMesh '-update
-Global ElevatorDoor2L(-1 To 138) As TVMesh '-update
-Global ElevatorDoor2R(-1 To 138) As TVMesh '-update
-Global ElevatorDoor3L(-1 To 138) As TVMesh '-update
-Global ElevatorDoor3R(-1 To 138) As TVMesh '-update
-Global ElevatorDoor4L(-1 To 138) As TVMesh '-update
-Global ElevatorDoor4R(-1 To 138) As TVMesh '-update
-Global ElevatorDoor5L(-1 To 138) As TVMesh '-update
-Global ElevatorDoor5R(-1 To 138) As TVMesh '-update
-Global ElevatorDoor6L(-1 To 138) As TVMesh '-update
-Global ElevatorDoor6R(-1 To 138) As TVMesh '-update
-Global ElevatorDoor7L(-1 To 138) As TVMesh '-update
-Global ElevatorDoor7R(-1 To 138) As TVMesh '-update
-Global ElevatorDoor8L(-1 To 138) As TVMesh '-update
-Global ElevatorDoor8R(-1 To 138) As TVMesh '-update
-Global ElevatorDoor9L(-1 To 138) As TVMesh '-update
-Global ElevatorDoor9R(-1 To 138) As TVMesh '-update
-Global ElevatorDoor10L(-1 To 138) As TVMesh '-update
-Global ElevatorDoor10R(-1 To 138) As TVMesh '-update
+Global ElevatorDoorL(40) As TVMesh
+Global ElevatorDoorR(40) As TVMesh
 Global Stairs(138) As TVMesh
-Global CallButtons(10) As TVMesh
+Global CallButtons(40) As TVMesh
+Global StairDoor(-1 To 138) As TVMesh
 Global Light As TVLightEngine
 Global MatFactory As New TVMaterialFactory
 Global LightID As Integer
 Global LightD As D3DLIGHT8
 'Global Plaque As TVMesh
-Global Plaque(10) As TVMesh '-update
+Global Plaque(40) As TVMesh '-update
 
 Global SoundEngine As TVSoundEngine
 'Global ElevatorMusic As TVSoundWave3D
-Global ElevatorMusic(10) As TVSoundWave3D '-update
+Global ElevatorMusic(40) As TVSoundWave3D '-update
 'Global Elevator1Sounds As TVSoundWave3D
-Global ElevatorSounds(10) As TVSoundWave3D '-update from Elevator1Sounds
+Global ElevatorSounds(40) As TVSoundWave3D '-update from Elevator1Sounds
 Global Listener As TVListener
 Global ListenerDirection As D3DVECTOR
 'Global MousePositionX As Long
@@ -98,7 +76,7 @@ Global LineTest As D3DVECTOR
 Global LineTest2 As D3DVECTOR
 Global KeepAltitude As Integer
 'Global ElevatorSync As Boolean
-Global ElevatorSync(10) As Boolean '-update
+Global ElevatorSync(40) As Boolean '-update
 
 Global Atmos As New TVAtmosphere
 Global sngPositionX As Single
@@ -117,7 +95,7 @@ Global TextureFactory As TVTextureFactory
 Global linestart As D3DVECTOR
 Global lineend As D3DVECTOR
 'Global elevator1start As D3DVECTOR
-Global elevatorstart(10) As D3DVECTOR '-update from elevator1start
+Global elevatorstart(40) As D3DVECTOR '-update from elevator1start
 Global isRunning As Boolean
 Global Camera As TVCamera
 Global ColRes As TV_COLLISIONRESULT
@@ -126,43 +104,44 @@ Global i50 As Single
 Global i51 As Single
 Global i52 As Single
 Global i53 As Single
+Global i54 As Single
 Global j As Single
 Global j50 As Single
 'Global ElevatorEnable As Single
-Global ElevatorEnable(10) As Single '-update
+Global ElevatorEnable(40) As Single '-update
 'Global ElevatorDirection As Integer '1=up -1=down
-Global ElevatorDirection(10) As Integer '1=up -1=down UPDATE
-Global OpenElevatorLoc(10) As Single
-Global ElevatorCheck(10) As Integer
-Global ElevatorCheck2(10) As Integer
-Global ElevatorCheck3(10) As Integer
-Global ElevatorCheck4(10) As Integer
+Global ElevatorDirection(40) As Integer '1=up -1=down UPDATE
+Global OpenElevatorLoc(40) As Single
+Global ElevatorCheck(40) As Integer
+Global ElevatorCheck2(40) As Integer
+Global ElevatorCheck3(40) As Integer
+Global ElevatorCheck4(40) As Integer
 Global X As Integer
 Global CollisionResult As TVCollisionResult
 
 'Global GotoFloor As Single
-Global GotoFloor(10) As Single '-update
-Global CurrentFloor(10) As Integer
-Global CurrentFloorExact(10) As Single
-Global DistanceToTravel(10) As Single
-Global Destination(10) As Single
-Global OriginalLocation(10) As Single
-Global StoppingDistance(10) As Single
-Global FineTune(10) As Boolean
+Global GotoFloor(40) As Single '-update
+Global CurrentFloor(40) As Integer
+Global CurrentFloorExact(40) As Single
+Global DistanceToTravel(40) As Single
+Global Destination(40) As Single
+Global OriginalLocation(40) As Single
+Global StoppingDistance(40) As Single
+Global FineTune(40) As Boolean
 'Global OpenElevator As Integer '1=open -1=close
-Global OpenElevator(10) As Integer '1=open -1=close UPDATE
+Global OpenElevator(40) As Integer '1=open -1=close UPDATE
 'Global ElevatorFloor As Integer
-Global ElevatorFloor(10) As Integer 'update
+Global ElevatorFloor(40) As Integer 'update
 Global CameraFloor As Integer
 Global CameraFloorExact As Single
 Global PartialFloor As Single
 Global InStairwell As Boolean
 'Global FloorIndicator As String
-Global FloorIndicatorText(10) As String 'update
-Global ElevatorFloor2(10) As Integer
+Global FloorIndicatorText(40) As String 'update
+Global ElevatorFloor2(40) As Integer
 Global CameraFloor2 As Integer
-Global FloorIndicatorPic(10) As String
-Global FloorIndicatorPicOld(10) As String
+Global FloorIndicatorPic(40) As String
+Global FloorIndicatorPicOld(40) As String
 '3D Objects
 Global Objects(150 * 138) As TVMesh
 Global Buildings As TVMesh
@@ -187,734 +166,138 @@ Global IsFalling As Boolean
 Global lngOldTick As Long
 Global FallRate As Single
 Global CameraOriginalPos As Single
-Sub CheckCollisions()
- 'Main collision code
-LineTest = lineend
- If lineend.X > linestart.X Then LineTest.X = lineend.X + 2
- If lineend.X < linestart.X Then LineTest.X = lineend.X - 2
- If lineend.z > linestart.z Then LineTest.z = lineend.z + 2
- If lineend.z < linestart.z Then LineTest.z = lineend.z - 2
-    
-'Turn on collisions
-        Room(CameraFloor).SetCollisionEnable True
-        Buildings.SetCollisionEnable True
-        Landscape.SetCollisionEnable True
-        External.SetCollisionEnable True
-        Shafts1(CameraFloor).SetCollisionEnable True
-        Shafts2(CameraFloor).SetCollisionEnable True
-        ShaftsFloor(CameraFloor).SetCollisionEnable True
-        For i50 = 1 To 10
-        Elevator(i50).SetCollisionEnable True
-        ElevatorInsDoorL(i50).SetCollisionEnable True
-        ElevatorInsDoorR(i50).SetCollisionEnable True
-        Next i50
-        If CameraFloor = 1 Then
-        ElevatorDoor1L(-1).SetCollisionEnable True
-        ElevatorDoor1R(-1).SetCollisionEnable True
-        ElevatorDoor2L(-1).SetCollisionEnable True
-        ElevatorDoor2R(-1).SetCollisionEnable True
-        ElevatorDoor3L(-1).SetCollisionEnable True
-        ElevatorDoor3R(-1).SetCollisionEnable True
-        ElevatorDoor4L(-1).SetCollisionEnable True
-        ElevatorDoor4R(-1).SetCollisionEnable True
-        ElevatorDoor5L(-1).SetCollisionEnable True
-        ElevatorDoor5R(-1).SetCollisionEnable True
-        ElevatorDoor6L(-1).SetCollisionEnable True
-        ElevatorDoor6R(-1).SetCollisionEnable True
-        ElevatorDoor7L(-1).SetCollisionEnable True
-        ElevatorDoor7R(-1).SetCollisionEnable True
-        ElevatorDoor8L(-1).SetCollisionEnable True
-        ElevatorDoor8R(-1).SetCollisionEnable True
-        ElevatorDoor9L(-1).SetCollisionEnable True
-        ElevatorDoor9R(-1).SetCollisionEnable True
-        ElevatorDoor10L(-1).SetCollisionEnable True
-        ElevatorDoor10R(-1).SetCollisionEnable True
-        ElevatorDoor1L(0).SetCollisionEnable True
-        ElevatorDoor1R(0).SetCollisionEnable True
-        ElevatorDoor2L(0).SetCollisionEnable True
-        ElevatorDoor2R(0).SetCollisionEnable True
-        Else
-        ElevatorDoor1L(CameraFloor).SetCollisionEnable True
-        ElevatorDoor1R(CameraFloor).SetCollisionEnable True
-        ElevatorDoor2L(CameraFloor).SetCollisionEnable True
-        ElevatorDoor2R(CameraFloor).SetCollisionEnable True
-        ElevatorDoor3L(CameraFloor).SetCollisionEnable True
-        ElevatorDoor3R(CameraFloor).SetCollisionEnable True
-        ElevatorDoor4L(CameraFloor).SetCollisionEnable True
-        ElevatorDoor4R(CameraFloor).SetCollisionEnable True
-        ElevatorDoor5L(CameraFloor).SetCollisionEnable True
-        ElevatorDoor5R(CameraFloor).SetCollisionEnable True
-        ElevatorDoor6L(CameraFloor).SetCollisionEnable True
-        ElevatorDoor6R(CameraFloor).SetCollisionEnable True
-        ElevatorDoor7L(CameraFloor).SetCollisionEnable True
-        ElevatorDoor7R(CameraFloor).SetCollisionEnable True
-        ElevatorDoor8L(CameraFloor).SetCollisionEnable True
-        ElevatorDoor8R(CameraFloor).SetCollisionEnable True
-        ElevatorDoor9L(CameraFloor).SetCollisionEnable True
-        ElevatorDoor9R(CameraFloor).SetCollisionEnable True
-        ElevatorDoor10L(CameraFloor).SetCollisionEnable True
-        ElevatorDoor10R(CameraFloor).SetCollisionEnable True
-        End If
-        Stairs(CameraFloor).SetCollisionEnable True
-        
-        
-        
- 'Elevator Collision
- For i50 = 1 To 10
-    If Elevator(i50).Collision(linestart, LineTest, TV_TESTTYPE_ACCURATETESTING) = True Then Camera.SetPosition linestart.X, Camera.GetPosition.Y, linestart.z: GoTo CollisionEnd
-    If ElevatorInsDoorL(i50).Collision(linestart, LineTest, TV_TESTTYPE_ACCURATETESTING) = True Then Camera.SetPosition linestart.X, Camera.GetPosition.Y, linestart.z: GoTo CollisionEnd
-    If ElevatorInsDoorR(i50).Collision(linestart, LineTest, TV_TESTTYPE_ACCURATETESTING) = True Then Camera.SetPosition linestart.X, Camera.GetPosition.Y, linestart.z: GoTo CollisionEnd
-        
- Next i50
-    
- 'Collision code for all other objects
-    i50 = CameraFloor
-    If CameraFloor = 1 Then i50 = -1
-    If ElevatorDoor1L(i50).Collision(linestart, LineTest, TV_TESTTYPE_ACCURATETESTING) = True Then Camera.SetPosition linestart.X, Camera.GetPosition.Y, linestart.z: GoTo CollisionEnd
-    If ElevatorDoor1R(i50).Collision(linestart, LineTest, TV_TESTTYPE_ACCURATETESTING) = True Then Camera.SetPosition linestart.X, Camera.GetPosition.Y, linestart.z: GoTo CollisionEnd
-    If ElevatorDoor2L(i50).Collision(linestart, LineTest, TV_TESTTYPE_ACCURATETESTING) = True Then Camera.SetPosition linestart.X, Camera.GetPosition.Y, linestart.z: GoTo CollisionEnd
-    If ElevatorDoor2R(i50).Collision(linestart, LineTest, TV_TESTTYPE_ACCURATETESTING) = True Then Camera.SetPosition linestart.X, Camera.GetPosition.Y, linestart.z: GoTo CollisionEnd
-    If ElevatorDoor3L(i50).Collision(linestart, LineTest, TV_TESTTYPE_ACCURATETESTING) = True Then Camera.SetPosition linestart.X, Camera.GetPosition.Y, linestart.z: GoTo CollisionEnd
-    If ElevatorDoor3R(i50).Collision(linestart, LineTest, TV_TESTTYPE_ACCURATETESTING) = True Then Camera.SetPosition linestart.X, Camera.GetPosition.Y, linestart.z: GoTo CollisionEnd
-    If ElevatorDoor4L(i50).Collision(linestart, LineTest, TV_TESTTYPE_ACCURATETESTING) = True Then Camera.SetPosition linestart.X, Camera.GetPosition.Y, linestart.z: GoTo CollisionEnd
-    If ElevatorDoor4R(i50).Collision(linestart, LineTest, TV_TESTTYPE_ACCURATETESTING) = True Then Camera.SetPosition linestart.X, Camera.GetPosition.Y, linestart.z: GoTo CollisionEnd
-    If ElevatorDoor5L(i50).Collision(linestart, LineTest, TV_TESTTYPE_ACCURATETESTING) = True Then Camera.SetPosition linestart.X, Camera.GetPosition.Y, linestart.z: GoTo CollisionEnd
-    If ElevatorDoor5R(i50).Collision(linestart, LineTest, TV_TESTTYPE_ACCURATETESTING) = True Then Camera.SetPosition linestart.X, Camera.GetPosition.Y, linestart.z: GoTo CollisionEnd
-    If ElevatorDoor6L(i50).Collision(linestart, LineTest, TV_TESTTYPE_ACCURATETESTING) = True Then Camera.SetPosition linestart.X, Camera.GetPosition.Y, linestart.z: GoTo CollisionEnd
-    If ElevatorDoor6R(i50).Collision(linestart, LineTest, TV_TESTTYPE_ACCURATETESTING) = True Then Camera.SetPosition linestart.X, Camera.GetPosition.Y, linestart.z: GoTo CollisionEnd
-    If ElevatorDoor7L(i50).Collision(linestart, LineTest, TV_TESTTYPE_ACCURATETESTING) = True Then Camera.SetPosition linestart.X, Camera.GetPosition.Y, linestart.z: GoTo CollisionEnd
-    If ElevatorDoor7R(i50).Collision(linestart, LineTest, TV_TESTTYPE_ACCURATETESTING) = True Then Camera.SetPosition linestart.X, Camera.GetPosition.Y, linestart.z: GoTo CollisionEnd
-    If ElevatorDoor8L(i50).Collision(linestart, LineTest, TV_TESTTYPE_ACCURATETESTING) = True Then Camera.SetPosition linestart.X, Camera.GetPosition.Y, linestart.z: GoTo CollisionEnd
-    If ElevatorDoor8R(i50).Collision(linestart, LineTest, TV_TESTTYPE_ACCURATETESTING) = True Then Camera.SetPosition linestart.X, Camera.GetPosition.Y, linestart.z: GoTo CollisionEnd
-    If ElevatorDoor9L(i50).Collision(linestart, LineTest, TV_TESTTYPE_ACCURATETESTING) = True Then Camera.SetPosition linestart.X, Camera.GetPosition.Y, linestart.z: GoTo CollisionEnd
-    If ElevatorDoor9R(i50).Collision(linestart, LineTest, TV_TESTTYPE_ACCURATETESTING) = True Then Camera.SetPosition linestart.X, Camera.GetPosition.Y, linestart.z: GoTo CollisionEnd
-    If ElevatorDoor10L(i50).Collision(linestart, LineTest, TV_TESTTYPE_ACCURATETESTING) = True Then Camera.SetPosition linestart.X, Camera.GetPosition.Y, linestart.z: GoTo CollisionEnd
-    If ElevatorDoor10R(i50).Collision(linestart, LineTest, TV_TESTTYPE_ACCURATETESTING) = True Then Camera.SetPosition linestart.X, Camera.GetPosition.Y, linestart.z: GoTo CollisionEnd
-    If CameraFloor = 1 Then
-    If ElevatorDoor1L(0).Collision(linestart, LineTest, TV_TESTTYPE_ACCURATETESTING) = True Then Camera.SetPosition linestart.X, Camera.GetPosition.Y, linestart.z: GoTo CollisionEnd
-    If ElevatorDoor1R(0).Collision(linestart, LineTest, TV_TESTTYPE_ACCURATETESTING) = True Then Camera.SetPosition linestart.X, Camera.GetPosition.Y, linestart.z: GoTo CollisionEnd
-    If ElevatorDoor2L(0).Collision(linestart, LineTest, TV_TESTTYPE_ACCURATETESTING) = True Then Camera.SetPosition linestart.X, Camera.GetPosition.Y, linestart.z: GoTo CollisionEnd
-    If ElevatorDoor2R(0).Collision(linestart, LineTest, TV_TESTTYPE_ACCURATETESTING) = True Then Camera.SetPosition linestart.X, Camera.GetPosition.Y, linestart.z: GoTo CollisionEnd
-    End If
-    
-    
-    If External.Collision(linestart, LineTest, TV_TESTTYPE_ACCURATETESTING) = True Then Camera.SetPosition linestart.X, Camera.GetPosition.Y, linestart.z: GoTo CollisionEnd
-    If Room(CameraFloor).Collision(linestart, LineTest, TV_TESTTYPE_ACCURATETESTING) = True Then Camera.SetPosition linestart.X, Camera.GetPosition.Y, linestart.z: GoTo CollisionEnd
-    If Stairs(CameraFloor).Collision(linestart, LineTest, TV_TESTTYPE_ACCURATETESTING) = True Then Camera.SetPosition linestart.X, Camera.GetPosition.Y, linestart.z: GoTo CollisionEnd
-    If Buildings.Collision(linestart, LineTest, TV_TESTTYPE_ACCURATETESTING) = True Then Camera.SetPosition linestart.X, Camera.GetPosition.Y, linestart.z: GoTo CollisionEnd
-    If Landscape.Collision(linestart, LineTest, TV_TESTTYPE_ACCURATETESTING) = True Then Camera.SetPosition linestart.X, Camera.GetPosition.Y, linestart.z: GoTo CollisionEnd
-    If Shafts1(CameraFloor).IsMeshEnabled = True Then If Shafts1(CameraFloor).IsMeshEnabled = True Then If Shafts1(CameraFloor).Collision(linestart, LineTest, TV_TESTTYPE_ACCURATETESTING) = True Then Camera.SetPosition linestart.X, Camera.GetPosition.Y, linestart.z: GoTo CollisionEnd
-    If Shafts2(CameraFloor).IsMeshEnabled = True Then If Shafts2(CameraFloor).IsMeshEnabled = True Then If Shafts2(CameraFloor).Collision(linestart, LineTest, TV_TESTTYPE_ACCURATETESTING) = True Then Camera.SetPosition linestart.X, Camera.GetPosition.Y, linestart.z: GoTo CollisionEnd
-    If ShaftsFloor(CameraFloor).Collision(linestart, LineTest, TV_TESTTYPE_ACCURATETESTING) = True Then Camera.SetPosition linestart.X, Camera.GetPosition.Y, linestart.z: GoTo CollisionEnd
-    
-'On Error Resume Next
-'For i50 = 1 To 150
-'j50 = i50 + (150 * (CameraFloor - 1))
-'If Objects(j50).IsMeshEnabled = True Then
-'    Objects(j50).SetCollisionEnable True
-'    MsgBox (j50)
-'    If Objects(j50).Collision(linestart, LineTest, TV_TESTTYPE_ACCURATETESTING) = True Then Camera.SetPosition linestart.X, Camera.GetPosition.Y, linestart.z: GoTo CollisionEnd
-'    Objects(j50).SetCollisionEnable False
-'End If
-'Next i50
 
-CollisionEnd:
-
-'Turn off collisions
-        Room(CameraFloor).SetCollisionEnable False
-        External.SetCollisionEnable False
-        Buildings.SetCollisionEnable False
-        Landscape.SetCollisionEnable False
-        Shafts1(CameraFloor).SetCollisionEnable False
-        Shafts2(CameraFloor).SetCollisionEnable False
-        ShaftsFloor(CameraFloor).SetCollisionEnable False
-        For i50 = 1 To 10
-        Elevator(i50).SetCollisionEnable False
-        ElevatorInsDoorL(i50).SetCollisionEnable False
-        ElevatorInsDoorR(i50).SetCollisionEnable False
-        Next i50
-        If CameraFloor = 1 Then
-        ElevatorDoor1L(-1).SetCollisionEnable False
-        ElevatorDoor1R(-1).SetCollisionEnable False
-        ElevatorDoor2L(-1).SetCollisionEnable False
-        ElevatorDoor2R(-1).SetCollisionEnable False
-        ElevatorDoor3L(-1).SetCollisionEnable False
-        ElevatorDoor3R(-1).SetCollisionEnable False
-        ElevatorDoor4L(-1).SetCollisionEnable False
-        ElevatorDoor4R(-1).SetCollisionEnable False
-        ElevatorDoor5L(-1).SetCollisionEnable False
-        ElevatorDoor5R(-1).SetCollisionEnable False
-        ElevatorDoor6L(-1).SetCollisionEnable False
-        ElevatorDoor6R(-1).SetCollisionEnable False
-        ElevatorDoor7L(-1).SetCollisionEnable False
-        ElevatorDoor7R(-1).SetCollisionEnable False
-        ElevatorDoor8L(-1).SetCollisionEnable False
-        ElevatorDoor8R(-1).SetCollisionEnable False
-        ElevatorDoor9L(-1).SetCollisionEnable False
-        ElevatorDoor9R(-1).SetCollisionEnable False
-        ElevatorDoor10L(-1).SetCollisionEnable False
-        ElevatorDoor10R(-1).SetCollisionEnable False
-        ElevatorDoor1L(0).SetCollisionEnable False
-        ElevatorDoor1R(0).SetCollisionEnable False
-        ElevatorDoor2L(0).SetCollisionEnable False
-        ElevatorDoor2R(0).SetCollisionEnable False
-        Else
-        ElevatorDoor1L(CameraFloor).SetCollisionEnable False
-        ElevatorDoor1R(CameraFloor).SetCollisionEnable False
-        ElevatorDoor2L(CameraFloor).SetCollisionEnable False
-        ElevatorDoor2R(CameraFloor).SetCollisionEnable False
-        ElevatorDoor3L(CameraFloor).SetCollisionEnable False
-        ElevatorDoor3R(CameraFloor).SetCollisionEnable False
-        ElevatorDoor4L(CameraFloor).SetCollisionEnable False
-        ElevatorDoor4R(CameraFloor).SetCollisionEnable False
-        ElevatorDoor5L(CameraFloor).SetCollisionEnable False
-        ElevatorDoor5R(CameraFloor).SetCollisionEnable False
-        ElevatorDoor6L(CameraFloor).SetCollisionEnable False
-        ElevatorDoor6R(CameraFloor).SetCollisionEnable False
-        ElevatorDoor7L(CameraFloor).SetCollisionEnable False
-        ElevatorDoor7R(CameraFloor).SetCollisionEnable False
-        ElevatorDoor8L(CameraFloor).SetCollisionEnable False
-        ElevatorDoor8R(CameraFloor).SetCollisionEnable False
-        ElevatorDoor9L(CameraFloor).SetCollisionEnable False
-        ElevatorDoor9R(CameraFloor).SetCollisionEnable False
-        ElevatorDoor10L(CameraFloor).SetCollisionEnable False
-        ElevatorDoor10R(CameraFloor).SetCollisionEnable False
-        End If
-        Stairs(CameraFloor).SetCollisionEnable False
+Global ElevTemp(40) As Single
+Global ButtonsEnabled As Boolean
+Global FloorHeight As Integer
+Global ElevatorSpeed As Single
+Global ElevatorFineTuneSpeed As Single
+Global CallingStairDoors As Boolean
+
+Sub InitRealtime(FloorID As Integer)
+
+'Destroy meshes
+For i54 = 1 To 40
+CallButtons(i54).Enable False
+'ElevatorDoorL(i54).Enable False
+'ElevatorDoorR(i54).Enable False
+Scene.DestroyMesh CallButtons(i54)
+Scene.DestroyMesh ElevatorDoorL(i54)
+Scene.DestroyMesh ElevatorDoorR(i54)
+Set CallButtons(i54) = Nothing
+Set ElevatorDoorL(i54) = Nothing
+Set ElevatorDoorR(i54) = Nothing
+'Sleep 10
+Next i54
+
+'Sleep 100
+
+'Create blank meshes
+For i54 = 1 To 40
+Set ElevatorDoorL(i54) = New TVMesh
+Set ElevatorDoorR(i54) = New TVMesh
+Set CallButtons(i54) = New TVMesh
+Set ElevatorDoorL(i54) = Scene.CreateMeshBuilder("ElevatorDoorL" + Str$(i54))
+Set ElevatorDoorR(i54) = Scene.CreateMeshBuilder("ElevatorDoorR" + Str$(i54))
+Set CallButtons(i54) = Scene.CreateMeshBuilder("CallButtons" + Str$(i54))
+Next i54
+
+'Generate objects for floors
+
+
+If FloorID = 1 Then
+Call ProcessRealtime(FloorID, 5, 1, True, False, True, True, True, True, False, False, False, False, False, False)
+Call ProcessRealtime(FloorID, 5, 2, True, False, True, True, True, True, False, False, False, False, False, False)
+Call ProcessRealtime(FloorID, 1, 3, True, False, True, True, True, True, True, True, True, True, True, True)
+Call ProcessRealtime(FloorID, 1, 4, True, False, True, True, True, True, True, True, True, True, True, True)
+End If
 
-End Sub
+If FloorID = 2 Or FloorID = 39 Then
+Call ProcessRealtime(FloorID, 5, 1, True, False, True, False, False, False, False, False, False, False, False, False)
+Call ProcessRealtime(FloorID, 5, 2, True, False, True, False, False, False, False, False, False, False, False, False)
+Call ProcessRealtime(FloorID, 2, 3, True, False, False, False, False, False, False, False, False, False, False, False)
+Call ProcessRealtime(FloorID, 2, 4, True, False, True, True, True, True, True, True, True, True, True, True)
+End If
+If FloorID > 2 And FloorID < 39 Then
+Call ProcessRealtime(FloorID, 5, 1, True, False, False, False, False, False, False, False, False, False, False, False)
+Call ProcessRealtime(FloorID, 5, 2, True, False, True, False, False, False, False, False, False, False, False, False)
+Call ProcessRealtime(FloorID, 2, 3, True, False, False, False, False, False, False, False, False, False, False, False)
+Call ProcessRealtime(FloorID, 2, 4, True, False, True, True, True, True, True, True, True, True, True, True)
+End If
 
-Sub DrawElevatorWalls(FloorID As Integer, SectionNum As Integer, OpenShaft As Boolean, e1 As Boolean, e2 As Boolean, e3 As Boolean, e4 As Boolean, e5 As Boolean, e6 As Boolean, e7 As Boolean, e8 As Boolean, e9 As Boolean, e10 As Boolean)
-
-Dim q
-'sectionnum:
-'1 = lobby
-'2 = 2-39
-'3 = 40-79
-'4 = 80-117
-'5 = 118-134
-'6 = 135-136
-'7 = 137-138
-
-Dim TextureName As String
-Dim ShaftEnd As Single
-
-If SectionNum = 1 Then TextureName = "Wall2"
-If SectionNum > 1 And SectionNum < 7 Then TextureName = "Wall1"
-If SectionNum = 7 Then TextureName = "BrickTexture"
-
-q = FloorID
-If FloorID = 1 Then q = -1
-
-'Call Button Panels
-    If e1 = True Then CallButtons(1).AddWall GetTex("CallButtonsTex"), -12.49, -18, -12.49, -17, 1.5, 8.5 + (q * 25) + 25, 1, 1
-    If e1 = True And q = -1 Then CallButtons(1).AddWall GetTex("CallButtonsTex"), -12.49, -18, -12.49, -17, 1.5, 8.5 + (0 * 25) + 25, 1, 1
-    If e2 = True Then CallButtons(2).AddWall GetTex("CallButtonsTex"), 12.49, -29, 12.49, -28, 1.5, 8.5 + (q * 25) + 25, 1, 1
-    If e2 = True And q = -1 Then CallButtons(2).AddWall GetTex("CallButtonsTex"), 12.49, -29, 12.49, -28, 1.5, 8.5 + (0 * 25) + 25, 1, 1
-    If e3 = True Then CallButtons(3).AddWall GetTex("CallButtonsTex"), -12.49, -18 + (15 * 1), -12.49, -17 + (15 * 1), 1.5, 8.5 + (q * 25) + 25, 1, 1
-    If e4 = True Then CallButtons(4).AddWall GetTex("CallButtonsTex"), 12.49, -29 + (15 * 1), 12.49, -28 + (15 * 1), 1.5, 8.5 + (q * 25) + 25, 1, 1
-    If e5 = True Then CallButtons(5).AddWall GetTex("CallButtonsTex"), -12.49, -18 + (15 * 2), -12.49, -17 + (15 * 2), 1.5, 8.5 + (q * 25) + 25, 1, 1
-    If e6 = True Then CallButtons(6).AddWall GetTex("CallButtonsTex"), 12.49, -29 + (15 * 2), 12.49, -28 + (15 * 2), 1.5, 8.5 + (q * 25) + 25, 1, 1
-    If e7 = True Then CallButtons(7).AddWall GetTex("CallButtonsTex"), -12.49, -18 + (15 * 3), -12.49, -17 + (15 * 3), 1.5, 8.5 + (q * 25) + 25, 1, 1
-    If e8 = True Then CallButtons(8).AddWall GetTex("CallButtonsTex"), 12.49, -29 + (15 * 3), 12.49, -28 + (15 * 3), 1.5, 8.5 + (q * 25) + 25, 1, 1
-    If e9 = True Then CallButtons(9).AddWall GetTex("CallButtonsTex"), -12.49, -18 + (15 * 4), -12.49, -17 + (15 * 4), 1.5, 8.5 + (q * 25) + 25, 1, 1
-    If e10 = True Then CallButtons(10).AddWall GetTex("CallButtonsTex"), 12.49, -29 + (15 * 4), 12.49, -28 + (15 * 4), 1.5, 8.5 + (q * 25) + 25, 1, 1
+If FloorID = 40 Or FloorID = 79 Then
+Call ProcessRealtime(FloorID, 5, 1, True, False, True, False, False, False, False, False, False, False, False, False)
+Call ProcessRealtime(FloorID, 2, 3, False, False, True, True, True, True, True, True, True, True, True, True)
+End If
+If FloorID > 40 And FloorID < 79 Then
+Call ProcessRealtime(FloorID, 5, 1, True, False, False, False, False, False, False, False, False, False, False, False)
+Call ProcessRealtime(FloorID, 2, 3, False, False, True, True, True, True, True, True, True, True, True, True)
+End If
+If FloorID >= 40 And FloorID <= 51 Then
+Call ProcessRealtime(FloorID, 5, 2, True, False, True, False, False, False, False, False, False, False, False, False)
+End If
+If FloorID <= 79 And FloorID > 51 Then
+Call ProcessRealtime(FloorID, 5, 2, True, False, False, True, False, False, False, False, False, False, False, False)
+End If
+       
+If FloorID >= 82 And FloorID <= 98 Then
+Call ProcessRealtime(FloorID, 2, 1, True, False, False, False, False, False, False, False, False, False, False, False)
+Call ProcessRealtime(FloorID, 2, 2, True, False, False, True, False, False, True, True, True, True, True, True)
+End If
+If FloorID >= 102 And FloorID < 114 Then
+Call ProcessRealtime(FloorID, 2, 1, True, False, True, False, False, False, True, True, True, True, True, True)
+Call ProcessRealtime(FloorID, 2, 2, True, False, False, False, False, False, False, False, False, False, False, False)
+End If
+If FloorID = 81 Or FloorID = 99 Then
+Call ProcessRealtime(FloorID, 2, 1, True, False, False, False, False, False, False, False, False, False, False, False)
+Call ProcessRealtime(FloorID, 2, 2, True, False, False, True, False, False, True, True, True, True, True, True)
+End If
+If FloorID = 100 Then
+Call ProcessRealtime(FloorID, 2, 1, True, False, False, False, False, False, True, True, True, True, True, True)
+Call ProcessRealtime(FloorID, 2, 2, True, False, False, True, False, False, False, False, False, False, False, False)
+End If
+If FloorID = 114 Then
+Call ProcessRealtime(FloorID, 2, 1, True, False, True, False, False, False, True, True, True, True, True, True)
+Call ProcessRealtime(FloorID, 2, 2, True, False, False, False, False, False, False, False, False, False, False, False)
+End If
+If FloorID = 101 Then
+Call ProcessRealtime(FloorID, 2, 1, True, False, True, False, False, False, True, True, True, True, True, True)
+Call ProcessRealtime(FloorID, 2, 2, True, False, False, True, False, False, False, False, False, False, False, False)
+End If
  
-        'wall left of stairs
-        ShaftsFloor(FloorID).AddWall GetTex(TextureName), -12.5, -46.25, -12.5, -40.3, 19.5, (q * 25) + 25, (6 * 0.086), (19.5 * 0.08)
-        'wall between stairs and 1st elevator
-        If e1 = True Then
-            ShaftsFloor(FloorID).AddWall GetTex(TextureName), -12.5, -32.5, -12.5, -30, 19.5, (q * 25) + 25, (2.5 * 0.086), (19.5 * 0.08)
-            Shafts1(FloorID).AddWall GetTex("BrickTexture"), -12.5 - 0.05, -32.5, -12.5 - 0.05, -30.5, 19.5, (q * 25) + 25, (2.5 * 0.086), (19.5 * 0.08)
-        Else
-            ShaftsFloor(FloorID).AddWall GetTex(TextureName), -12.5, -32.5, -12.5, -16, 19.5, (q * 25) + 25, (16.5 * 0.086), (19.5 * 0.08)
-            Shafts1(FloorID).AddWall GetTex("BrickTexture"), -12.5 - 0.05, -32.5, -12.5 - 0.05, -16, 19.5, (q * 25) + 25, (2.5 * 0.086), (19.5 * 0.08)
-        End If
-        'wall on left, after 2nd elevator
-        If e2 = True Then
-            ShaftsFloor(FloorID).AddWall GetTex(TextureName), 12.5, -46.25, 12.5, -30, 19.5, (q * 25) + 25, (16.25 * 0.086), (19.5 * 0.08)
-            Shafts2(FloorID).AddWall GetTex("BrickTexture"), 12.5 + 0.05, -46.25, 12.5 + 0.05, -30, 19.5, (q * 25) + 25, (16.25 * 0.086), (19.5 * 0.08)
-        Else
-            If SectionNum < 7 Then
-            ShaftsFloor(FloorID).AddWall GetTex(TextureName), 12.5, -46.25, 12.5, -16, 19.5, (q * 25) + 25, (30 * 0.086), (19.5 * 0.08)
-            Shafts2(FloorID).AddWall GetTex("BrickTexture"), 12.5 + 0.05, -46.25, 12.5 + 0.05, -16, 19.5, (q * 25) + 25, (30 * 0.086), (19.5 * 0.08)
-            End If
-        End If
-        'wall between 1st and 3rd elevator
-        If e3 = True Then
-            ShaftsFloor(FloorID).AddWall GetTex(TextureName), -12.5, -16, -12.5, -15, 19.5, (q * 25) + 25, (1 * 0.086), (19.5 * 0.08)
-            Shafts1(FloorID).AddWall GetTex("BrickTexture"), -12.5 - 0.05, -16, -12.5 - 0.05, -15, 19.5, (q * 25) + 25, (1 * 0.086), (19.5 * 0.08)
-        Else
-            If SectionNum < 6 Then
-            ShaftsFloor(FloorID).AddWall GetTex(TextureName), -12.5, -16, -12.5, -1, 19.5, (q * 25) + 25, (15 * 0.086), (19.5 * 0.08)
-            Shafts1(FloorID).AddWall GetTex("BrickTexture"), -12.5 - 0.05, -16, -12.5 - 0.05, -1, 19.5, (q * 25) + 25, (15 * 0.086), (19.5 * 0.08)
-            End If
-        End If
-        'wall between 3rd and 5th elevator
-        If e5 = True Then
-            ShaftsFloor(FloorID).AddWall GetTex(TextureName), -12.5, -1, -12.5, 0, 19.5, (q * 25) + 25, (1 * 0.086), (19.5 * 0.08)
-            Shafts1(FloorID).AddWall GetTex("BrickTexture"), -12.5 - 0.05, -1, -12.5 - 0.05, 0, 19.5, (q * 25) + 25, (1 * 0.086), (19.5 * 0.08)
-        Else
-            If SectionNum < 5 Then
-            ShaftsFloor(FloorID).AddWall GetTex(TextureName), -12.5, -1, -12.5, 14, 19.5, (q * 25) + 25, (15 * 0.086), (19.5 * 0.08)
-            Shafts1(FloorID).AddWall GetTex(TextureName), -12.5 - 0.05, -1, -12.5 - 0.05, 14, 19.5, (q * 25) + 25, (15 * 0.086), (19.5 * 0.08)
-            End If
-        End If
-        'wall between 5th and 7th elevator
-        If e7 = True Then
-            ShaftsFloor(FloorID).AddWall GetTex(TextureName), -12.5, 14, -12.5, 15, 19.5, (q * 25) + 25, (1 * 0.086), (19.5 * 0.08)
-            Shafts1(FloorID).AddWall GetTex("BrickTexture"), -12.5 - 0.05, 14, -12.5 - 0.05, 15, 19.5, (q * 25) + 25, (1 * 0.086), (19.5 * 0.08)
-        Else
-            If SectionNum < 4 Then
-            ShaftsFloor(FloorID).AddWall GetTex(TextureName), -12.5, 14, -12.5, 29, 19.5, (q * 25) + 25, (15 * 0.086), (19.5 * 0.08)
-            Shafts1(FloorID).AddWall GetTex("BrickTexture"), -12.5 - 0.05, 14, -12.5 - 0.05, 29, 19.5, (q * 25) + 25, (15 * 0.086), (19.5 * 0.08)
-            End If
-        End If
-        'wall between 7th and 9th elevator
-        If e9 = True Then
-            ShaftsFloor(FloorID).AddWall GetTex(TextureName), -12.5, 29, -12.5, 30, 19.5, (q * 25) + 25, (1 * 0.086), (19.5 * 0.08)
-            Shafts1(FloorID).AddWall GetTex("BrickTexture"), -12.5 - 0.05, 29, -12.5 - 0.05, 30, 19.5, (q * 25) + 25, (1 * 0.086), (19.5 * 0.08)
-        Else
-            If SectionNum < 3 Then
-            ShaftsFloor(FloorID).AddWall GetTex(TextureName), -12.5, 29, -12.5, 44, 19.5, (q * 25) + 25, (15 * 0.086), (19.5 * 0.08)
-            Shafts1(FloorID).AddWall GetTex("BrickTexture"), -12.5 - 0.05, 29, -12.5 - 0.05, 44, 19.5, (q * 25) + 25, (15 * 0.086), (19.5 * 0.08)
-            End If
-        End If
-        'wall between 2nd and 4th elevator
-        If e4 = True Then
-            ShaftsFloor(FloorID).AddWall GetTex(TextureName), 12.5, -16, 12.5, -15, 19.5, (q * 25) + 25, (1 * 0.086), (19.5 * 0.08)
-            Shafts2(FloorID).AddWall GetTex("BrickTexture"), 12.5 + 0.05, -16, 12.5 + 0.05, -15, 19.5, (q * 25) + 25, (1 * 0.086), (19.5 * 0.08)
-        Else
-            If SectionNum < 6 Then
-            ShaftsFloor(FloorID).AddWall GetTex(TextureName), 12.5, -16, 12.5, -1, 19.5, (q * 25) + 25, (15 * 0.086), (19.5 * 0.08)
-            Shafts2(FloorID).AddWall GetTex("BrickTexture"), 12.5 + 0.05, -16, 12.5 + 0.05, -1, 19.5, (q * 25) + 25, (15 * 0.086), (19.5 * 0.08)
-            End If
-        End If
-        'wall between 4th and 6th elevator
-        If e6 = True Then
-            ShaftsFloor(FloorID).AddWall GetTex(TextureName), 12.5, -1, 12.5, 0, 19.5, (q * 25) + 25, (1 * 0.086), (19.5 * 0.08)
-            Shafts2(FloorID).AddWall GetTex("BrickTexture"), 12.5 + 0.05, -1, 12.5 + 0.05, 0, 19.5, (q * 25) + 25, (1 * 0.086), (19.5 * 0.08)
-        Else
-            If SectionNum < 5 Then
-            ShaftsFloor(FloorID).AddWall GetTex(TextureName), 12.5, -1, 12.5, 14, 19.5, (q * 25) + 25, (15 * 0.086), (19.5 * 0.08)
-            Shafts2(FloorID).AddWall GetTex("BrickTexture"), 12.5 + 0.05, -1, 12.5 + 0.05, 14, 19.5, (q * 25) + 25, (15 * 0.086), (19.5 * 0.08)
-            End If
-        End If
-        'wall between 6th and 8th elevator
-        If e8 = True Then
-            ShaftsFloor(FloorID).AddWall GetTex(TextureName), 12.5, 14, 12.5, 15, 19.5, (q * 25) + 25, (1 * 0.086), (19.5 * 0.08)
-            Shafts2(FloorID).AddWall GetTex("BrickTexture"), 12.5 + 0.05, 14, 12.5 + 0.05, 15, 19.5, (q * 25) + 25, (1 * 0.086), (19.5 * 0.08)
-        Else
-            If SectionNum < 4 Then
-            ShaftsFloor(FloorID).AddWall GetTex(TextureName), 12.5, 14, 12.5, 29, 19.5, (q * 25) + 25, (15 * 0.086), (19.5 * 0.08)
-            Shafts2(FloorID).AddWall GetTex("BrickTexture"), 12.5 + 0.05, 14, 12.5 + 0.05, 29, 19.5, (q * 25) + 25, (15 * 0.086), (19.5 * 0.08)
-            End If
-        End If
-        'wall between 8th and 10th elevator
-        If e10 = True Then
-            ShaftsFloor(FloorID).AddWall GetTex(TextureName), 12.5, 29, 12.5, 30, 19.5, (q * 25) + 25, (1 * 0.086), (19.5 * 0.08)
-            Shafts2(FloorID).AddWall GetTex("BrickTexture"), 12.5 + 0.05, 29, 12.5 + 0.05, 30, 19.5, (q * 25) + 25, (1 * 0.086), (19.5 * 0.08)
-        Else
-            If SectionNum < 3 Then
-            ShaftsFloor(FloorID).AddWall GetTex(TextureName), 12.5, 29, 12.5, 44, 19.5, (q * 25) + 25, (15 * 0.086), (19.5 * 0.08)
-            Shafts2(FloorID).AddWall GetTex("BrickTexture"), 12.5 + 0.05, 29, 12.5 + 0.05, 44, 19.5, (q * 25) + 25, (15 * 0.086), (19.5 * 0.08)
-            End If
-        End If
-        
-        'Mezzanine stuff
-        If FloorID = 1 Then
-            'right side
-            ShaftsFloor(FloorID).AddWall GetTex(TextureName), -12.5, -46.25, -12.5, -40.3, 19.5, 27, (6 * 0.086), (19.5 * 0.08)
-            ShaftsFloor(FloorID).AddWall GetTex(TextureName), -12.5, -32.5, -12.5, -30, 19.5, 27, (2.5 * 0.086), (19.5 * 0.08)
-            ShaftsFloor(FloorID).AddWall GetTex(TextureName), -12.5, -16, -12.5, 46.25, 19.5, 27, (62.25 * 0.086), (19.5 * 0.08)
-            ShaftsFloor(FloorID).AddWall GetTex(TextureName), -12.5, -46.25, -12.5, 46.25, 3.5, 27 + 19.5, (92.5 * 0.086), (19.5 * 0.08)
-            Shafts1(FloorID).AddWall GetTex("BrickTexture"), -12.5 - 0.05, -32.5, -12.5 - 0.05, -30.5, 19.5, 27, (2.5 * 0.086), (19.5 * 0.08)
-            Shafts1(FloorID).AddWall GetTex("BrickTexture"), -12.5 - 0.05, -16, -12.5 - 0.05, 46.25, 19.5, 27, (62.25 * 0.086), (19.5 * 0.08)
-            Shafts1(FloorID).AddWall GetTex("BrickTexture"), -12.5 - 0.05, -30.5, -12.5 - 0.05, 46.25, 3.5, 27 + 19.5, (76.25 * 0.086), (19.5 * 0.08)
-            'left side
-            ShaftsFloor(FloorID).AddWall GetTex(TextureName), 12.5, -46.25, 12.5, -30, 19.5, 27, (16.25 * 0.086), (19.5 * 0.08)
-            ShaftsFloor(FloorID).AddWall GetTex(TextureName), 12.5, -16, 12.5, 46.25, 19.5, 27, (62.25 * 0.086), (19.5 * 0.08)
-            ShaftsFloor(FloorID).AddWall GetTex(TextureName), 12.5, -46.25, 12.5, 46.25, 3.5, 27 + 19.5, (92.5 * 0.086), (19.5 * 0.08)
-            Shafts1(FloorID).AddWall GetTex("BrickTexture"), 12.5 + 0.05, -16, 12.5 + 0.05, 46.25, 19.5, 27, (62.25 * 0.086), (19.5 * 0.08)
-            Shafts1(FloorID).AddWall GetTex("BrickTexture"), 12.5 + 0.05, -46.25, 12.5 + 0.05, 46.25, 3.5, 27 + 19.5, (92.5 * 0.086), (19.5 * 0.08)
-        End If
-        
-        If SectionNum <= 2 Then ShaftEnd = 46.25
-        If SectionNum = 3 Then ShaftEnd = 30.83
-        If SectionNum = 4 Then ShaftEnd = 15.41
-        If SectionNum = 5 Then ShaftEnd = 0
-        If SectionNum >= 6 Then ShaftEnd = -15.42
-        
-        'this section places any shaft floors/ceilings that need to be made
-        If FloorID = 1 Then
-        Shafts1(FloorID).AddFloor GetTex("BrickTexture"), -12.5, -30, -32.5, 46.25, 0.05, (20 * 0.086), (46 * 0.08)
-        Shafts2(FloorID).AddFloor GetTex("BrickTexture"), 12.5, -30, 32.5, 46.25, 0.05, (20 * 0.086), (46 * 0.08)
-        End If
-        If FloorID = 39 Then
-        Shafts1(FloorID).AddFloor GetTex("BrickTexture"), -12.5, 30.83, -32.5, 46.25, (FloorID * 25) + 25 + 24.95, (20 * 0.086), (16 * 0.08)
-        Shafts2(FloorID).AddFloor GetTex("BrickTexture"), 12.5, 30.83, 32.5, 46.25, (FloorID * 25) + 25 + 24.95, (20 * 0.086), (16 * 0.08)
-        End If
-        If FloorID = 79 Then
-        Shafts1(FloorID).AddFloor GetTex("BrickTexture"), -12.5, 15.41, -32.5, 30.83, (FloorID * 25) + 25 + 24.95, (20 * 0.086), (16 * 0.08)
-        Shafts2(FloorID).AddFloor GetTex("BrickTexture"), 12.5, 15.41, 32.5, 30.83, (FloorID * 25) + 25 + 24.95, (20 * 0.086), (16 * 0.08)
-        End If
-        If FloorID = 117 Then
-        Shafts1(FloorID).AddFloor GetTex("BrickTexture"), -12.5, 0, -32.5, 15.41, (FloorID * 25) + 25 + 24.95, (20 * 0.086), (16 * 0.08)
-        Shafts2(FloorID).AddFloor GetTex("BrickTexture"), 12.5, 0, 32.5, 15.41, (FloorID * 25) + 25 + 24.95, (20 * 0.086), (16 * 0.08)
-        End If
-        If FloorID = 134 Then
-        Shafts1(FloorID).AddFloor GetTex("BrickTexture"), -12.5, -15.42, -32.5, 0, (FloorID * 25) + 25 + 24.95, (20 * 0.086), (16 * 0.08)
-        Shafts2(FloorID).AddFloor GetTex("BrickTexture"), 12.5, -15.42, 32.5, 0, (FloorID * 25) + 25 + 24.95, (20 * 0.086), (16 * 0.08)
-        End If
-        If FloorID = 138 Then
-        Shafts1(FloorID).AddFloor GetTex("BrickTexture"), -12.5, -30, -32.5, -15.42, (FloorID * 25) + 25 + 24.95, (20 * 0.086), (16 * 0.08)
-        'Shafts2(FloorID).AddFloor GetTex("BrickTexture"), 12.5, -30, 32.5, -15.42, (FloorID*25)+25+24.95, (20 * 0.086), (16 * 0.08)
-        End If
-        
-        'this section places the wall that extends to the end of the shaft, according to where the last elevator is
-        If SectionNum = 7 Then
-        ShaftsFloor(FloorID).AddWall GetTex(TextureName), -12.5, -16, -12.5, ShaftEnd, 19.5, (q * 25) + 25, ((16 + ShaftEnd) * 0.086), (19.5 * 0.08)
-        Shafts1(FloorID).AddWall GetTex("BrickTexture"), -12.5 - 0.05, -16, -12.5 - 0.05, ShaftEnd, 19.5, (q * 25) + 25, ((16 + ShaftEnd) * 0.086), (19.5 * 0.08)
-        End If
-        If SectionNum = 6 Then
-        ShaftsFloor(FloorID).AddWall GetTex(TextureName), -12.5, -16, -12.5, ShaftEnd, 19.5, (q * 25) + 25, ((16 + ShaftEnd) * 0.086), (19.5 * 0.08)
-        ShaftsFloor(FloorID).AddWall GetTex(TextureName), 12.5, -16, 12.5, ShaftEnd, 19.5, (q * 25) + 25, ((16 + ShaftEnd) * 0.086), (19.5 * 0.08)
-        Shafts1(FloorID).AddWall GetTex("BrickTexture"), -12.5 - 0.05, -16, -12.5 - 0.05, ShaftEnd, 19.5, (q * 25) + 25, ((16 + ShaftEnd) * 0.086), (19.5 * 0.08)
-        Shafts2(FloorID).AddWall GetTex("BrickTexture"), 12.5 + 0.05, -16, 12.5 + 0.05, ShaftEnd, 19.5, (q * 25) + 25, ((16 + ShaftEnd) * 0.086), (19.5 * 0.08)
-        End If
-        If SectionNum = 5 Then
-        ShaftsFloor(FloorID).AddWall GetTex(TextureName), -12.5, -1, -12.5, ShaftEnd, 19.5, (q * 25) + 25, ((12.5 + ShaftEnd) * 0.086), (19.5 * 0.08)
-        ShaftsFloor(FloorID).AddWall GetTex(TextureName), 12.5, -1, 12.5, ShaftEnd, 19.5, (q * 25) + 25, ((-12.5 + ShaftEnd) * 0.086), (19.5 * 0.08)
-        Shafts1(FloorID).AddWall GetTex("BrickTexture"), -12.5, -1, -12.5, ShaftEnd, 19.5, (q * 25) + 25, ((12.5 + ShaftEnd) * 0.086), (19.5 * 0.08)
-        Shafts2(FloorID).AddWall GetTex("BrickTexture"), 12.5, -1, 12.5, ShaftEnd, 19.5, (q * 25) + 25, ((-12.5 + ShaftEnd) * 0.086), (19.5 * 0.08)
-        End If
-        If SectionNum = 4 Then
-        ShaftsFloor(FloorID).AddWall GetTex(TextureName), -12.5, 14, -12.5, ShaftEnd, 19.5, (q * 25) + 25, ((-14 + ShaftEnd) * 0.086), (19.5 * 0.08)
-        ShaftsFloor(FloorID).AddWall GetTex(TextureName), 12.5, 14, 12.5, ShaftEnd, 19.5, (q * 25) + 25, ((-14 + ShaftEnd) * 0.086), (19.5 * 0.08)
-        Shafts1(FloorID).AddWall GetTex("BrickTexture"), -12.5 - 0.05, 14, -12.5 - 0.05, ShaftEnd, 19.5, (q * 25) + 25, ((-14 + ShaftEnd) * 0.086), (19.5 * 0.08)
-        Shafts2(FloorID).AddWall GetTex("BrickTexture"), 12.5 + 0.05, 14, 12.5 + 0.05, ShaftEnd, 19.5, (q * 25) + 25, ((-14 + ShaftEnd) * 0.086), (19.5 * 0.08)
-        End If
-        If SectionNum = 3 Then
-        ShaftsFloor(FloorID).AddWall GetTex(TextureName), -12.5, 29, -12.5, ShaftEnd, 19.5, (q * 25) + 25, ((-29 + ShaftEnd) * 0.086), (19.5 * 0.08)
-        ShaftsFloor(FloorID).AddWall GetTex(TextureName), 12.5, 29, 12.5, ShaftEnd, 19.5, (q * 25) + 25, ((-29 + ShaftEnd) * 0.086), (19.5 * 0.08)
-        Shafts1(FloorID).AddWall GetTex("BrickTexture"), -12.5 - 0.05, 29, -12.5 - 0.05, ShaftEnd, 19.5, (q * 25) + 25, ((-29 + ShaftEnd) * 0.086), (19.5 * 0.08)
-        Shafts2(FloorID).AddWall GetTex("BrickTexture"), 12.5 + 0.05, 29, 12.5 + 0.05, ShaftEnd, 19.5, (q * 25) + 25, ((-29 + ShaftEnd) * 0.086), (19.5 * 0.08)
-        End If
-        If SectionNum <= 2 Then
-        ShaftsFloor(FloorID).AddWall GetTex(TextureName), -12.5, 44, -12.5, ShaftEnd, 19.5, (q * 25) + 25, ((-44 + ShaftEnd) * 0.086), (19.5 * 0.08)
-        ShaftsFloor(FloorID).AddWall GetTex(TextureName), 12.5, 44, 12.5, ShaftEnd, 19.5, (q * 25) + 25, ((-44 + ShaftEnd) * 0.086), (19.5 * 0.08)
-        Shafts1(FloorID).AddWall GetTex("BrickTexture"), -12.5 - 0.05, 44, -12.5 - 0.05, ShaftEnd, 19.5, (q * 25) + 25, ((-44 + ShaftEnd) * 0.086), (19.5 * 0.08)
-        Shafts2(FloorID).AddWall GetTex("BrickTexture"), 12.5 + 0.05, 44, 12.5 + 0.05, ShaftEnd, 19.5, (q * 25) + 25, ((-44 + ShaftEnd) * 0.086), (19.5 * 0.08)
-        End If
-        
-        'walls above
-        If SectionNum <> 1 Then
-            ShaftsFloor(FloorID).AddWall GetTex(TextureName), -12.5, -46.25, -12.5, ShaftEnd, 5.5, 19.5 + (q * 25) + 25, ((46.25 + ShaftEnd) * 0.086), (5.5 * 0.08)
-            Shafts1(FloorID).AddWall GetTex("BrickTexture"), -12.5 - 0.05, -30.5, -12.5 - 0.05, ShaftEnd, 5.5, 19.5 + (q * 25) + 25, ((30 + ShaftEnd) * 0.086), (5.5 * 0.08)
-            If SectionNum <> 7 Then
-                ShaftsFloor(FloorID).AddWall GetTex(TextureName), 12.5, -46.25, 12.5, ShaftEnd, 5.5, 19.5 + (q * 25) + 25, ((46.25 + ShaftEnd) * 0.086), (5.5 * 0.08)
-                Shafts2(FloorID).AddWall GetTex("BrickTexture"), 12.5 + 0.05, -46.25, 12.5 + 0.05, ShaftEnd, 5.5, 19.5 + (q * 25) + 25, ((46.25 + ShaftEnd) * 0.086), (5.5 * 0.08)
-            End If
-        End If
-        If SectionNum = 1 Then
-            ShaftsFloor(FloorID).AddWall GetTex(TextureName), -12.5, -46.25, -12.5, 46.25, 7.5, 19.5 + (q * 25) + 25, 92.5 * 0.086, (7.5 * 0.08)
-            ShaftsFloor(FloorID).AddWall GetTex(TextureName), 12.5, -46.25, 12.5, 46.25, 7.5, 19.5 + (q * 25) + 25, 92.5 * 0.086, (7.5 * 0.08)
-            Shafts1(FloorID).AddWall GetTex("BrickTexture"), -12.5 - 0.05, -30.5, -12.5 - 0.05, 46.25, 7.5, 19.5 + (q * 25) + 25, 76.25 * 0.086, (7.5 * 0.08)
-            Shafts2(FloorID).AddWall GetTex("BrickTexture"), 12.5 + 0.05, -46.25, 12.5 + 0.05, 46.25, 7.5, 19.5 + (q * 25) + 25, 92.5 * 0.086, (7.5 * 0.08)
-        End If
-    'other parts
-    
-    If OpenShaft = True Then
-        ShaftsFloor(FloorID).AddWall GetTex(TextureName), 32.5, -46.25, 32.5, -43, 25, (q * 25) + 25, 3.25 * 0.086, 2
-        ShaftsFloor(FloorID).AddWall GetTex(TextureName), 32.5, -46.25, 32.5, -34, 10, (q * 25) + 25 + 15, 12.25 * 0.086, 10 * 0.08
-        ShaftsFloor(FloorID).AddWall GetTex(TextureName), 32.5, -46.25, 32.5, -34, 8, (q * 25) + 25, 12.25 * 0.086, 8 * 0.08
-        Shafts2(FloorID).AddWall GetTex("BrickTexture"), 32.5 - 0.05, -46.25, 32.5 - 0.05, -43, 25, (q * 25) + 25, 3.25 * 0.086, 2
-        Shafts2(FloorID).AddWall GetTex("BrickTexture"), 32.5 - 0.05, -46.25, 32.5 - 0.05, -34, 10, (q * 25) + 25 + 15, 12.25 * 0.086, 10 * 0.08
-        Shafts2(FloorID).AddWall GetTex("BrickTexture"), 32.5 - 0.05, -46.25, 32.5 - 0.05, -34, 8, (q * 25) + 25, 12.25 * 0.086, 8 * 0.08
-    End If
-    
-    If SectionNum <> 7 Then
-    ShaftsFloor(FloorID).AddWall GetTex(TextureName), 32.5, -46.25, 12.5, -46.25, 25, (q * 25) + 25, 20 * 0.086, 2
-    Shafts2(FloorID).AddWall GetTex("BrickTexture"), 32.5, -46.25 + 0.05, 12.5, -46.25 + 0.05, 25, (q * 25) + 25, 20 * 0.086, 2
-    End If
-    
-    ShaftsFloor(FloorID).AddWall GetTex(TextureName), -32.5, -46.25, -12.5, -46.25, 25, (q * 25) + 25, 20 * 0.086, 2
-    Shafts1(FloorID).AddWall GetTex("BrickTexture"), -32.5, -30 + 0.05, -12.5, -30 + 0.05, 25, (q * 25) + 25, 20 * 0.086, 2
-            
-            If SectionNum = 1 Then
-                ShaftsFloor(FloorID).AddWall GetTex(TextureName), 12.5, -46.25, 12.5, 46.25, 25, 50, 92.5 * 0.086, 2
-                ShaftsFloor(FloorID).AddWall GetTex(TextureName), -12.5, 46.25, -12.5, -46.25, 25, 50, 92.5 * 0.086, 2
-                ShaftsFloor(FloorID).AddWall GetTex(TextureName), 12.5, -46.25, 32.5, -46.25, 50, 25, 20 * 0.086, 4
-                ShaftsFloor(FloorID).AddWall GetTex(TextureName), 12.5, 46.25, 32.5, 46.25, 50, 25, 20 * 0.086, 4
-                ShaftsFloor(FloorID).AddWall GetTex(TextureName), 32.5, 46.25, 32.5, -46.25, 50, 25, 92.5 * 0.086, 4
-                ShaftsFloor(FloorID).AddWall GetTex(TextureName), -12.5, -46.25, -32.5, -46.25, 50, 25, 20 * 0.086, 4
-                ShaftsFloor(FloorID).AddWall GetTex(TextureName), -12.5, 46.25, -32.5, 46.25, 50, 25, 20 * 0.086, 4
-                ShaftsFloor(FloorID).AddWall GetTex(TextureName), -32.5, 46.25, -32.5, -46.25, 50, 25, 20 * 0.086, 4
-                Shafts2(FloorID).AddWall GetTex("BrickTexture"), 12.5 + 0.05, -46.25, 12.5 + 0.05, 46.25, 25, 50, 92.5 * 0.086, 2
-                Shafts1(FloorID).AddWall GetTex("BrickTexture"), -12.5 - 0.05, 46.25, -12.5 - 0.05, -30.5, 25, 50, 16.25 * 0.086, 2
-                Shafts2(FloorID).AddWall GetTex("BrickTexture"), 12.5, -46.25 + 0.05, 32.5, -46.25 + 0.05, 50, 25, 20 * 0.086, 4
-                Shafts2(FloorID).AddWall GetTex("BrickTexture"), 12.5, 46.25 - 0.05, 32.5, 46.25 - 0.05, 50, 25, 20 * 0.086, 4
-                Shafts2(FloorID).AddWall GetTex("BrickTexture"), 32.5 - 0.05, 46.25, 32.5 - 0.05, -46.25, 50, 25, 92.5 * 0.086, 4
-                Shafts1(FloorID).AddWall GetTex("BrickTexture"), -12.5, -30 + 0.05, -32.5, -30 + 0.05, 50, 25, 20 * 0.086, 2
-                Shafts1(FloorID).AddWall GetTex("BrickTexture"), -12.5, 46.25 - 0.05, -32.5, 46.25 - 0.05, 50, 25, 20 * 0.086, 4
-                Shafts1(FloorID).AddWall GetTex("BrickTexture"), -32.5 + 0.05, 46.25, -32.5 + 0.05, -30.5, 50, 25, 16.25 * 0.086, 4
-            End If
-                
-            'Main shaft area
-            If SectionNum <> 7 Then
-                ShaftsFloor(FloorID).AddWall GetTex(TextureName), 12.5, ShaftEnd, 32.5, ShaftEnd, 25, (q * 25) + 25, 20 * 0.086, 2
-                Shafts2(FloorID).AddWall GetTex("BrickTexture"), 12.5, ShaftEnd - 0.05, 32.5, ShaftEnd - 0.05, 25, (q * 25) + 25, 20 * 0.086, 2
-                If OpenShaft = False Then
-                ShaftsFloor(FloorID).AddWall GetTex(TextureName), 32.5, ShaftEnd, 32.5, -46.25, 25, (q * 25) + 25, (46.25 + ShaftEnd) * 0.086, 2
-                Shafts2(FloorID).AddWall GetTex("BrickTexture"), 32.5 - 0.05, ShaftEnd, 32.5 - 0.05, -46.25, 25, (q * 25) + 25, (46.25 + ShaftEnd) * 0.086, 2
-                End If
-                If OpenShaft = True Then
-                ShaftsFloor(FloorID).AddWall GetTex(TextureName), 32.5, ShaftEnd, 32.5, -34, 25, (q * 25) + 25, (34 + ShaftEnd) * 0.086, 2
-                Shafts2(FloorID).AddWall GetTex("BrickTexture"), 32.5 - 0.05, ShaftEnd, 32.5 - 0.05, -34, 25, (q * 25) + 25, (34 + ShaftEnd) * 0.086, 2
-                End If
-                ShaftsFloor(FloorID).AddWall GetTex(TextureName), -12.5, ShaftEnd, -32.5, ShaftEnd, 25, (q * 25) + 25, 20 * 0.086, 2
-                ShaftsFloor(FloorID).AddWall GetTex(TextureName), -32.5, ShaftEnd, -32.5, -46.25, 25, (q * 25) + 25, (46.25 + ShaftEnd) * 0.086, 2
-                Shafts1(FloorID).AddWall GetTex("BrickTexture"), -12.5, ShaftEnd - 0.05, -32.5, ShaftEnd - 0.05, 25, (q * 25) + 25, 20 * 0.086, 2
-                Shafts1(FloorID).AddWall GetTex("BrickTexture"), -32.5 + 0.05, ShaftEnd, -32.5 + 0.05, -30.5, 25, (q * 25) + 25, (30 + ShaftEnd) * 0.086, 2
-            End If
-            If SectionNum = 7 Then
-                ShaftsFloor(FloorID).AddWall GetTex(TextureName), -12.5, ShaftEnd, -32.5, ShaftEnd, 25, (q * 25) + 25, 20 * 0.086, 2
-                ShaftsFloor(FloorID).AddWall GetTex(TextureName), -32.5, ShaftEnd, -32.5, -46.25, 25, (q * 25) + 25, (46.25 + ShaftEnd) * 0.086, 2
-                Shafts1(FloorID).AddWall GetTex("BrickTexture"), -12.5, ShaftEnd - 0.05, -32.5, ShaftEnd - 0.05, 25, (q * 25) + 25, 20 * 0.086, 2
-                Shafts1(FloorID).AddWall GetTex("BrickTexture"), -32.5 + 0.05, ShaftEnd, -32.5 + 0.05, -30.5, 25, (q * 25) + 25, (30 + ShaftEnd) * 0.086, 2
-            End If
-            
-    'Exterior Doors
-    If q = -1 Then
-        If e1 = True Then ElevatorDoor1L(-1).AddWall GetTex("ElevDoors"), -12.55, -19.05, -12.55, -22.95, 19.6, 0, 1, 1
-        If e1 = True Then ElevatorDoor1R(-1).AddWall GetTex("ElevDoors"), -12.55, -23.05, -12.55, -27.05, 19.6, 0, 1, 1
-        If e1 = True Then Shafts1(1).AddWall GetTex("ElevDoors"), -12.55, -16, -12.55, -30, 19.6, 0, 1, 1
-        ElevatorDoor1L(0).AddWall GetTex("ElevDoors"), -12.55, -19.05, -12.55, -22.95, 19.6, 27, 1, 1
-        ElevatorDoor1R(0).AddWall GetTex("ElevDoors"), -12.55, -23.05, -12.55, -27.05, 19.6, 27, 1, 1
-        Shafts1(1).AddWall GetTex("ElevDoors"), -12.55, -16, -12.55, -30, 19.6, 27, 1, 1
-        If e2 = True Then ElevatorDoor2L(-1).AddWall GetTex("ElevDoors"), 12.55, -19.05, 12.55, -22.95, 19.6, 0, 1, 1
-        If e2 = True Then ElevatorDoor2R(-1).AddWall GetTex("ElevDoors"), 12.55, -23.05, 12.55, -27.05, 19.6, 0, 1, 1
-        If e2 = True Then Shafts2(1).AddWall GetTex("ElevDoors"), 12.55 + 0.05, -16, 12.55 + 0.05, -30, 19.6, 0, 1, 1
-        ElevatorDoor2L(0).AddWall GetTex("ElevDoors"), 12.55, -19.05, 12.55, -22.95, 19.6, 27, 1, 1
-        ElevatorDoor2R(0).AddWall GetTex("ElevDoors"), 12.55, -23.05, 12.55, -27.05, 19.6, 27, 1, 1
-        Shafts2(1).AddWall GetTex("ElevDoors"), 12.55, -16, 12.55, -30, 19.6, 27, 1, 1
-        If e3 = True Then ElevatorDoor3L(-1).AddWall GetTex("ElevDoors"), -12.55, -19.05 + (15 * 1), -12.55, -22.95 + (15 * 1), 19.6, 0, 1, 1
-        If e3 = True Then ElevatorDoor3R(-1).AddWall GetTex("ElevDoors"), -12.55, -23.05 + (15 * 1), -12.55, -27.05 + (15 * 1), 19.6, 0, 1, 1
-        If e3 = True Then Shafts1(1).AddWall GetTex("ElevDoors"), -12.55, -16 + (15 * 1), -12.55, -30 + (15 * 1), 19.6, 0, 1, 1
-        If e4 = True Then ElevatorDoor4L(-1).AddWall GetTex("ElevDoors"), 12.55, -19.05 + (15 * 1), 12.55, -22.95 + (15 * 1), 19.6, 0, 1, 1
-        If e4 = True Then ElevatorDoor4R(-1).AddWall GetTex("ElevDoors"), 12.55, -23.05 + (15 * 1), 12.55, -27.05 + (15 * 1), 19.6, 0, 1, 1
-        If e4 = True Then Shafts2(1).AddWall GetTex("ElevDoors"), 12.55, -16 + (15 * 1), 12.55, -30 + (15 * 1), 19.6, 0, 1, 1
-        If e5 = True Then ElevatorDoor5L(-1).AddWall GetTex("ElevDoors"), -12.55, -19.05 + (15 * 2), -12.55, -22.95 + (15 * 2), 19.6, 0, 1, 1
-        If e5 = True Then ElevatorDoor5R(-1).AddWall GetTex("ElevDoors"), -12.55, -23.05 + (15 * 2), -12.55, -27.05 + (15 * 2), 19.6, 0, 1, 1
-        If e5 = True Then Shafts1(1).AddWall GetTex("ElevDoors"), -12.55, -16 + (15 * 2), -12.55, -30 + (15 * 2), 19.6, 0, 1, 1
-        If e6 = True Then ElevatorDoor6L(-1).AddWall GetTex("ElevDoors"), 12.55, -19.05 + (15 * 2), 12.55, -22.95 + (15 * 2), 19.6, 0, 1, 1
-        If e6 = True Then ElevatorDoor6R(-1).AddWall GetTex("ElevDoors"), 12.55, -23.05 + (15 * 2), 12.55, -27.05 + (15 * 2), 19.6, 0, 1, 1
-        If e6 = True Then Shafts2(1).AddWall GetTex("ElevDoors"), 12.55, -16 + (15 * 2), 12.55, -30 + (15 * 2), 19.6, 0, 1, 1
-        If e7 = True Then ElevatorDoor7L(-1).AddWall GetTex("ElevDoors"), -12.55, -19.05 + (15 * 3), -12.55, -22.95 + (15 * 3), 19.6, 0, 1, 1
-        If e7 = True Then ElevatorDoor7R(-1).AddWall GetTex("ElevDoors"), -12.55, -23.05 + (15 * 3), -12.55, -27.05 + (15 * 3), 19.6, 0, 1, 1
-        If e7 = True Then Shafts1(1).AddWall GetTex("ElevDoors"), -12.55, -16 + (15 * 3), -12.55, -30 + (15 * 3), 19.6, 0, 1, 1
-        If e8 = True Then ElevatorDoor8L(-1).AddWall GetTex("ElevDoors"), 12.55, -19.05 + (15 * 3), 12.55, -22.95 + (15 * 3), 19.6, 0, 1, 1
-        If e8 = True Then ElevatorDoor8R(-1).AddWall GetTex("ElevDoors"), 12.55, -23.05 + (15 * 3), 12.55, -27.05 + (15 * 3), 19.6, 0, 1, 1
-        If e8 = True Then Shafts2(1).AddWall GetTex("ElevDoors"), 12.55, -16 + (15 * 3), 12.55, -30 + (15 * 3), 19.6, 0, 1, 1
-        If e9 = True Then ElevatorDoor9L(-1).AddWall GetTex("ElevDoors"), -12.55, -19.05 + (15 * 4), -12.55, -22.95 + (15 * 4), 19.6, 0, 1, 1
-        If e9 = True Then ElevatorDoor9R(-1).AddWall GetTex("ElevDoors"), -12.55, -23.05 + (15 * 4), -12.55, -27.05 + (15 * 4), 19.6, 0, 1, 1
-        If e9 = True Then Shafts1(1).AddWall GetTex("ElevDoors"), -12.55, -16 + (15 * 4), -12.55, -30 + (15 * 4), 19.6, 0, 1, 1
-        If e10 = True Then ElevatorDoor10L(-1).AddWall GetTex("ElevDoors"), 12.55, -19.05 + (15 * 4), 12.55, -22.95 + (15 * 4), 19.6, 0, 1, 1
-        If e10 = True Then ElevatorDoor10R(-1).AddWall GetTex("ElevDoors"), 12.55, -23.05 + (15 * 4), 12.55, -27.05 + (15 * 4), 19.6, 0, 1, 1
-        If e10 = True Then Shafts2(1).AddWall GetTex("ElevDoors"), 12.55, -16 + (15 * 4), 12.55, -30 + (15 * 4), 19.6, 0, 1, 1
-    
-        'elev 1
-        If e1 = True Then Room(1).AddWall GetTex("ElevExtPanels"), -12.5, -16, -12.5, -19, 19.6, 0, 0.5, 1
-        If e1 = True Then Room(1).AddWall GetTex("ElevExtPanels"), -12.5, -30, -12.5, -27, 19.6, 0, 0.5, 1
-        'elev 2
-        If e2 = True Then Room(1).AddWall GetTex("ElevExtPanels"), 12.5, -16, 12.5, -19, 19.6, 0, 0.5, 1
-        If e2 = True Then Room(1).AddWall GetTex("ElevExtPanels"), 12.5, -30, 12.5, -27, 19.6, 0, 0.5, 1
-        'elev 3
-        If e3 = True Then Room(1).AddWall GetTex("ElevExtPanels"), -12.5, -16 + (15 * 1), -12.5, -19 + (15 * 1), 19.6, 0, 0.5, 1
-        If e3 = True Then Room(1).AddWall GetTex("ElevExtPanels"), -12.5, -30 + (15 * 1), -12.5, -27 + (15 * 1), 19.6, 0, 0.5, 1
-        'elev 4
-        If e4 = True Then Room(1).AddWall GetTex("ElevExtPanels"), 12.5, -16 + (15 * 1), 12.5, -19 + (15 * 1), 19.6, 0, 0.5, 1
-        If e4 = True Then Room(1).AddWall GetTex("ElevExtPanels"), 12.5, -30 + (15 * 1), 12.5, -27 + (15 * 1), 19.6, 0, 0.5, 1
-        'elev 5
-        If e5 = True Then Room(1).AddWall GetTex("ElevExtPanels"), -12.5, -16 + (15 * 2), -12.5, -19 + (15 * 2), 19.6, 0, 0.5, 1
-        If e5 = True Then Room(1).AddWall GetTex("ElevExtPanels"), -12.5, -30 + (15 * 2), -12.5, -27 + (15 * 2), 19.6, 0, 0.5, 1
-        'elev 6
-        If e6 = True Then Room(1).AddWall GetTex("ElevExtPanels"), 12.5, -16 + (15 * 2), 12.5, -19 + (15 * 2), 19.6, 0, 0.5, 1
-        If e6 = True Then Room(1).AddWall GetTex("ElevExtPanels"), 12.5, -30 + (15 * 2), 12.5, -27 + (15 * 2), 19.6, 0, 0.5, 1
-        'elev 7
-        If e7 = True Then Room(1).AddWall GetTex("ElevExtPanels"), -12.5, -16 + (15 * 3), -12.5, -19 + (15 * 3), 19.6, 0, 0.5, 1
-        If e7 = True Then Room(1).AddWall GetTex("ElevExtPanels"), -12.5, -30 + (15 * 3), -12.5, -27 + (15 * 3), 19.6, 0, 0.5, 1
-        'elev 8
-        If e8 = True Then Room(1).AddWall GetTex("ElevExtPanels"), 12.5, -16 + (15 * 3), 12.5, -19 + (15 * 3), 19.6, 0, 0.5, 1
-        If e8 = True Then Room(1).AddWall GetTex("ElevExtPanels"), 12.5, -30 + (15 * 3), 12.5, -27 + (15 * 3), 19.6, 0, 0.5, 1
-        'elev 9
-        If e9 = True Then Room(1).AddWall GetTex("ElevExtPanels"), -12.5, -16 + (15 * 4), -12.5, -19 + (15 * 4), 19.6, 0, 0.5, 1
-        If e9 = True Then Room(1).AddWall GetTex("ElevExtPanels"), -12.5, -30 + (15 * 4), -12.5, -27 + (15 * 4), 19.6, 0, 0.5, 1
-        'elev 10
-        If e10 = True Then Room(1).AddWall GetTex("ElevExtPanels"), 12.5, -16 + (15 * 4), 12.5, -19 + (15 * 4), 19.6, 0, 0.5, 1
-        If e10 = True Then Room(1).AddWall GetTex("ElevExtPanels"), 12.5, -30 + (15 * 4), 12.5, -27 + (15 * 4), 19.6, 0, 0.5, 1
-    
-        'elev 1
-        Room(1).AddWall GetTex("ElevExtPanels"), -12.5, -16, -12.5, -19, 19.6, 27, 0.5, 1
-        Room(1).AddWall GetTex("ElevExtPanels"), -12.5, -30, -12.5, -27, 19.6, 27, 0.5, 1
-        'elev 2
-        Room(1).AddWall GetTex("ElevExtPanels"), 12.5, -16, 12.5, -19, 19.6, 27, 0.5, 1
-        Room(1).AddWall GetTex("ElevExtPanels"), 12.5, -30, 12.5, -27, 19.6, 27, 0.5, 1
+If FloorID >= 118 And FloorID <= 129 Then
+Call ProcessRealtime(FloorID, 2, 1, False, True, True, False, False, False, True, True, True, True, True, True)
 End If
-    
-    If e1 = True Then ElevatorDoor1L(FloorID).AddWall GetTex("ElevDoors"), -12.55, -19, -12.55, -23, 19.6, (q * 25) + 25, 1, 1
-    If e1 = True Then ElevatorDoor1R(FloorID).AddWall GetTex("ElevDoors"), -12.55, -23, -12.55, -27, 19.6, (q * 25) + 25, 1, 1
-    If e1 = True Then Shafts1(FloorID).AddWall GetTex("ElevDoors"), -12.55, -16, -12.55, -30, 19.6, (q * 25) + 25, 1, 1
-    If e1 = True Then Room(FloorID).AddWall GetTex("ElevExtPanels"), -12.5, -16, -12.5, -19, 19.6, (q * 25) + 25, 0.5, 1
-    If e1 = True Then Room(FloorID).AddWall GetTex("ElevExtPanels"), -12.5, -30, -12.5, -27, 19.6, (q * 25) + 25, 0.5, 1
-    
-    If e2 = True Then ElevatorDoor2L(FloorID).AddWall GetTex("ElevDoors"), 12.55, -19, 12.55, -23, 19.6, (q * 25) + 25, 1, 1
-    If e2 = True Then ElevatorDoor2R(FloorID).AddWall GetTex("ElevDoors"), 12.55, -23, 12.55, -27, 19.6, (q * 25) + 25, 1, 1
-    If e2 = True Then Shafts2(FloorID).AddWall GetTex("ElevDoors"), 12.55, -16, 12.55, -30, 19.6, (q * 25) + 25, 1, 1
-    'elev 2
-    If e2 = True Then Room(FloorID).AddWall GetTex("ElevExtPanels"), 12.5, -16, 12.5, -19, 19.6, (q * 25) + 25, 0.5, 1
-    If e2 = True Then Room(FloorID).AddWall GetTex("ElevExtPanels"), 12.5, -30, 12.5, -27, 19.6, (q * 25) + 25, 0.5, 1
-    
-    If e3 = True Then ElevatorDoor3L(FloorID).AddWall GetTex("ElevDoors"), -12.55, -19 + (15 * 1), -12.55, -23 + (15 * 1), 19.6, (q * 25) + 25, 1, 1
-    If e3 = True Then ElevatorDoor3R(FloorID).AddWall GetTex("ElevDoors"), -12.55, -23 + (15 * 1), -12.55, -27 + (15 * 1), 19.6, (q * 25) + 25, 1, 1
-    If e3 = True Then Shafts1(FloorID).AddWall GetTex("ElevDoors"), -12.55, -16 + (15 * 1), -12.55, -30 + (15 * 1), 19.6, (q * 25) + 25, 1, 1
-    If e4 = True Then ElevatorDoor4L(FloorID).AddWall GetTex("ElevDoors"), 12.55, -19 + (15 * 1), 12.55, -23 + (15 * 1), 19.6, (q * 25) + 25, 1, 1
-    If e4 = True Then ElevatorDoor4R(FloorID).AddWall GetTex("ElevDoors"), 12.55, -23 + (15 * 1), 12.55, -27 + (15 * 1), 19.6, (q * 25) + 25, 1, 1
-    If e4 = True Then Shafts2(FloorID).AddWall GetTex("ElevDoors"), 12.55, -16 + (15 * 1), 12.55, -30 + (15 * 1), 19.6, (q * 25) + 25, 1, 1
-    'elev 3
-    If e3 = True Then Room(FloorID).AddWall GetTex("ElevExtPanels"), -12.5, -16 + (15 * 1), -12.5, -19 + (15 * 1), 19.6, (q * 25) + 25, 0.5, 1
-    If e3 = True Then Room(FloorID).AddWall GetTex("ElevExtPanels"), -12.5, -30 + (15 * 1), -12.5, -27 + (15 * 1), 19.6, (q * 25) + 25, 0.5, 1
-    'elev 4
-    If e4 = True Then Room(FloorID).AddWall GetTex("ElevExtPanels"), 12.5, -16 + (15 * 1), 12.5, -19 + (15 * 1), 19.6, (q * 25) + 25, 0.5, 1
-    If e4 = True Then Room(FloorID).AddWall GetTex("ElevExtPanels"), 12.5, -30 + (15 * 1), 12.5, -27 + (15 * 1), 19.6, (q * 25) + 25, 0.5, 1
-    
-    If e5 = True Then ElevatorDoor5L(FloorID).AddWall GetTex("ElevDoors"), -12.55, -19 + (15 * 2), -12.55, -23 + (15 * 2), 19.6, (q * 25) + 25, 1, 1
-    If e5 = True Then ElevatorDoor5R(FloorID).AddWall GetTex("ElevDoors"), -12.55, -23 + (15 * 2), -12.55, -27 + (15 * 2), 19.6, (q * 25) + 25, 1, 1
-    If e5 = True Then Shafts1(FloorID).AddWall GetTex("ElevDoors"), -12.55, -16 + (15 * 2), -12.55, -30 + (15 * 2), 19.6, (q * 25) + 25, 1, 1
-    If e6 = True Then ElevatorDoor6L(FloorID).AddWall GetTex("ElevDoors"), 12.55, -19 + (15 * 2), 12.55, -23 + (15 * 2), 19.6, (q * 25) + 25, 1, 1
-    If e6 = True Then ElevatorDoor6R(FloorID).AddWall GetTex("ElevDoors"), 12.55, -23 + (15 * 2), 12.55, -27 + (15 * 2), 19.6, (q * 25) + 25, 1, 1
-    If e6 = True Then Shafts2(FloorID).AddWall GetTex("ElevDoors"), 12.55, -16 + (15 * 2), 12.55, -30 + (15 * 2), 19.6, (q * 25) + 25, 1, 1
-    'elev 5
-    If e5 = True Then Room(FloorID).AddWall GetTex("ElevExtPanels"), -12.5, -16 + (15 * 2), -12.5, -19 + (15 * 2), 19.6, (q * 25) + 25, 0.5, 1
-    If e5 = True Then Room(FloorID).AddWall GetTex("ElevExtPanels"), -12.5, -30 + (15 * 2), -12.5, -27 + (15 * 2), 19.6, (q * 25) + 25, 0.5, 1
-    'elev 6
-    If e6 = True Then Room(FloorID).AddWall GetTex("ElevExtPanels"), 12.5, -16 + (15 * 2), 12.5, -19 + (15 * 2), 19.6, (q * 25) + 25, 0.5, 1
-    If e6 = True Then Room(FloorID).AddWall GetTex("ElevExtPanels"), 12.5, -30 + (15 * 2), 12.5, -27 + (15 * 2), 19.6, (q * 25) + 25, 0.5, 1
-    
-    If e7 = True Then ElevatorDoor7L(FloorID).AddWall GetTex("ElevDoors"), -12.55, -19 + (15 * 3), -12.55, -23 + (15 * 3), 19.6, (q * 25) + 25, 1, 1
-    If e7 = True Then ElevatorDoor7R(FloorID).AddWall GetTex("ElevDoors"), -12.55, -23 + (15 * 3), -12.55, -27 + (15 * 3), 19.6, (q * 25) + 25, 1, 1
-    If e7 = True Then Shafts1(FloorID).AddWall GetTex("ElevDoors"), -12.55, -16 + (15 * 3), -12.55, -30 + (15 * 3), 19.6, (q * 25) + 25, 1, 1
-    If e8 = True Then ElevatorDoor8L(FloorID).AddWall GetTex("ElevDoors"), 12.55, -19 + (15 * 3), 12.55, -23 + (15 * 3), 19.6, (q * 25) + 25, 1, 1
-    If e8 = True Then ElevatorDoor8R(FloorID).AddWall GetTex("ElevDoors"), 12.55, -23 + (15 * 3), 12.55, -27 + (15 * 3), 19.6, (q * 25) + 25, 1, 1
-    If e8 = True Then Shafts2(FloorID).AddWall GetTex("ElevDoors"), 12.55, -16 + (15 * 3), 12.55, -30 + (15 * 3), 19.6, (q * 25) + 25, 1, 1
-    'elev 7
-    If e7 = True Then Room(FloorID).AddWall GetTex("ElevExtPanels"), -12.5, -16 + (15 * 3), -12.5, -19 + (15 * 3), 19.6, (q * 25) + 25, 0.5, 1
-    If e7 = True Then Room(FloorID).AddWall GetTex("ElevExtPanels"), -12.5, -30 + (15 * 3), -12.5, -27 + (15 * 3), 19.6, (q * 25) + 25, 0.5, 1
-    'elev 8
-    If e8 = True Then Room(FloorID).AddWall GetTex("ElevExtPanels"), 12.5, -16 + (15 * 3), 12.5, -19 + (15 * 3), 19.6, (q * 25) + 25, 0.5, 1
-    If e8 = True Then Room(FloorID).AddWall GetTex("ElevExtPanels"), 12.5, -30 + (15 * 3), 12.5, -27 + (15 * 3), 19.6, (q * 25) + 25, 0.5, 1
-    
-    If e9 = True Then ElevatorDoor9L(FloorID).AddWall GetTex("ElevDoors"), -12.55, -19 + (15 * 4), -12.55, -23 + (15 * 4), 19.6, (q * 25) + 25, 1, 1
-    If e9 = True Then ElevatorDoor9R(FloorID).AddWall GetTex("ElevDoors"), -12.55, -23 + (15 * 4), -12.55, -27 + (15 * 4), 19.6, (q * 25) + 25, 1, 1
-    If e9 = True Then Shafts1(FloorID).AddWall GetTex("ElevDoors"), -12.55, -16 + (15 * 4), -12.55, -30 + (15 * 4), 19.6, (q * 25) + 25, 1, 1
-    If e10 = True Then ElevatorDoor10L(FloorID).AddWall GetTex("ElevDoors"), 12.55, -19 + (15 * 4), 12.55, -23 + (15 * 4), 19.6, (q * 25) + 25, 1, 1
-    If e10 = True Then ElevatorDoor10R(FloorID).AddWall GetTex("ElevDoors"), 12.55, -23 + (15 * 4), 12.55, -27 + (15 * 4), 19.6, (q * 25) + 25, 1, 1
-    If e10 = True Then Shafts2(FloorID).AddWall GetTex("ElevDoors"), 12.55, -16 + (15 * 4), 12.55, -30 + (15 * 4), 19.6, (q * 25) + 25, 1, 1
-    'elev 9
-    If e9 = True Then Room(FloorID).AddWall GetTex("ElevExtPanels"), -12.5, -16 + (15 * 4), -12.5, -19 + (15 * 4), 19.6, (q * 25) + 25, 0.5, 1
-    If e9 = True Then Room(FloorID).AddWall GetTex("ElevExtPanels"), -12.5, -30 + (15 * 4), -12.5, -27 + (15 * 4), 19.6, (q * 25) + 25, 0.5, 1
-    'elev 10
-    If e10 = True Then Room(FloorID).AddWall GetTex("ElevExtPanels"), 12.5, -16 + (15 * 4), 12.5, -19 + (15 * 4), 19.6, (q * 25) + 25, 0.5, 1
-    If e10 = True Then Room(FloorID).AddWall GetTex("ElevExtPanels"), 12.5, -30 + (15 * 4), 12.5, -27 + (15 * 4), 19.6, (q * 25) + 25, 0.5, 1
-    
-    
-End Sub
-Sub Fall()
-'This detects if the user is above a hole or something (ready to fall)
-Room(CameraFloor).SetCollisionEnable True
-Shafts1(CameraFloor).SetCollisionEnable True
-Shafts2(CameraFloor).SetCollisionEnable True
-Buildings.SetCollisionEnable True
-Landscape.SetCollisionEnable True
-
-If Room(CameraFloor).Collision(Camera.GetPosition, Vector(Camera.GetPosition.X, Camera.GetPosition.Y - 12, Camera.GetPosition.z), TV_TESTTYPE_ACCURATETESTING) = False And _
-    Shafts1(CameraFloor).Collision(Camera.GetPosition, Vector(Camera.GetPosition.X, Camera.GetPosition.Y - 12, Camera.GetPosition.z), TV_TESTTYPE_ACCURATETESTING) = False And _
-    Shafts2(CameraFloor).Collision(Camera.GetPosition, Vector(Camera.GetPosition.X, Camera.GetPosition.Y - 12, Camera.GetPosition.z), TV_TESTTYPE_ACCURATETESTING) = False And _
-    Landscape.Collision(Camera.GetPosition, Vector(Camera.GetPosition.X, Camera.GetPosition.Y - 12, Camera.GetPosition.z), TV_TESTTYPE_ACCURATETESTING) = False And _
-    Buildings.Collision(Camera.GetPosition, Vector(Camera.GetPosition.X, Camera.GetPosition.Y - 12, Camera.GetPosition.z), TV_TESTTYPE_ACCURATETESTING) = False And InElevator = False And InStairwell = False Then IsFalling = True
-
-Room(CameraFloor).SetCollisionEnable False
-Shafts1(CameraFloor).SetCollisionEnable False
-Shafts2(CameraFloor).SetCollisionEnable False
-Buildings.SetCollisionEnable False
-Landscape.SetCollisionEnable False
-
-'*********************************
-If IsFalling = False Then Exit Sub
 
-'The gravity originally acted weird
-Dim TimeRate As Single
-Gravity = 5
-If FallRate = 0 Then
-lngOldTick = GetTickCount()
-CameraOriginalPos = Camera.GetPosition.Y
+If FloorID = 80 Then
+Call ProcessRealtime(FloorID, 2, 1, True, False, True, True, True, True, True, True, True, True, True, True)
+Call ProcessRealtime(FloorID, 2, 2, True, False, True, True, True, True, True, True, True, True, True, True)
 End If
 
-'MsgBox ((GetTickCount() / 1000) - (lngOldTick / 1000))
-
-'Basically this is Fallrate=Gravity*SecondsPassed
-TimeRate = ((GetTickCount() / 1000) - (lngOldTick / 1000))
-FallRate = (Gravity * TimeRate) ^ 1.8
-If FallRate = 0 Then FallRate = 0.1
-If TimeRate = 0 Then TimeRate = 0.1
-'MsgBox ("Gravity:" + Str$(Gravity) + " Time Passed:" + Str$((GetTickCount() / 1000) - (lngOldTick / 1000)))
-
-Camera.SetPosition Camera.GetPosition.X, CameraOriginalPos - FallRate, Camera.GetPosition.z
-
-Room(CameraFloor).SetCollisionEnable True
-Shafts1(CameraFloor).SetCollisionEnable True
-Shafts2(CameraFloor).SetCollisionEnable True
-Buildings.SetCollisionEnable True
-Landscape.SetCollisionEnable True
-
-If Room(CameraFloor).Collision(Camera.GetPosition, Vector(Camera.GetPosition.X, Camera.GetPosition.Y - (FallRate / TimeRate), Camera.GetPosition.z), TV_TESTTYPE_ACCURATETESTING) = True Then
-FallRate = 0
-IsFalling = False
-If CameraFloor > 1 Then Camera.SetPosition Camera.GetPosition.X, (CameraFloor * 25) + 25 + 10, Camera.GetPosition.z
-If CameraFloor = 1 Then Camera.SetPosition Camera.GetPosition.X, 10, Camera.GetPosition.z
+If FloorID = 115 Then
+Call ProcessRealtime(FloorID, 2, 1, True, False, True, False, False, False, False, False, False, False, False, False)
+Call ProcessRealtime(FloorID, 2, 2, True, False, True, True, False, False, False, False, False, False, False, False)
 End If
-If Shafts1(CameraFloor).Collision(Camera.GetPosition, Vector(Camera.GetPosition.X, Camera.GetPosition.Y - (FallRate / TimeRate), Camera.GetPosition.z), TV_TESTTYPE_ACCURATETESTING) = True Then
-FallRate = 0
-IsFalling = False
-If CameraFloor > 1 Then Camera.SetPosition Camera.GetPosition.X, (CameraFloor * 25) + 25 + 10, Camera.GetPosition.z
-If CameraFloor = 1 Then Camera.SetPosition Camera.GetPosition.X, 10, Camera.GetPosition.z
-End If
-If Shafts2(CameraFloor).Collision(Camera.GetPosition, Vector(Camera.GetPosition.X, Camera.GetPosition.Y - (FallRate / TimeRate), Camera.GetPosition.z), TV_TESTTYPE_ACCURATETESTING) = True Then
-FallRate = 0
-IsFalling = False
-If CameraFloor > 1 Then Camera.SetPosition Camera.GetPosition.X, (CameraFloor * 25) + 25 + 10, Camera.GetPosition.z
-If CameraFloor = 1 Then Camera.SetPosition Camera.GetPosition.X, 10, Camera.GetPosition.z
-End If
-If Buildings.Collision(Camera.GetPosition, Vector(Camera.GetPosition.X, Camera.GetPosition.Y - (FallRate / TimeRate), Camera.GetPosition.z), TV_TESTTYPE_ACCURATETESTING) = True Then
-FallRate = 0
-IsFalling = False
-If CameraFloor > 1 Then Camera.SetPosition Camera.GetPosition.X, (CameraFloor * 25) + 25 + 10, Camera.GetPosition.z
-If CameraFloor = 1 Then Camera.SetPosition Camera.GetPosition.X, 10, Camera.GetPosition.z
+
+If FloorID = 116 Then
+Call ProcessRealtime(FloorID, 2, 1, True, False, True, False, False, False, False, False, False, False, False, False)
+Call ProcessRealtime(FloorID, 2, 2, True, False, True, True, False, False, False, False, False, False, False, False)
 End If
-If Landscape.Collision(Camera.GetPosition, Vector(Camera.GetPosition.X, Camera.GetPosition.Y - (FallRate / TimeRate), Camera.GetPosition.z), TV_TESTTYPE_ACCURATETESTING) = True Then
-FallRate = 0
-IsFalling = False
-If CameraFloor > 1 Then Camera.SetPosition Camera.GetPosition.X, (CameraFloor * 25) + 25 + 10, Camera.GetPosition.z
-If CameraFloor = 1 Then Camera.SetPosition Camera.GetPosition.X, 10, Camera.GetPosition.z
+
+If FloorID = 117 Then
+Call ProcessRealtime(FloorID, 2, 1, True, False, True, False, False, False, False, False, False, False, False, False)
+Call ProcessRealtime(FloorID, 2, 2, True, False, True, True, False, False, False, False, False, False, False, False)
 End If
 
-Room(CameraFloor).SetCollisionEnable False
-Shafts1(CameraFloor).SetCollisionEnable False
-Shafts2(CameraFloor).SetCollisionEnable False
-Buildings.SetCollisionEnable False
-Landscape.SetCollisionEnable False
+If FloorID = 130 Then Call ProcessRealtime(FloorID, 5, 1, False, False, True, False, False, False, False, False, False, False, False, False)
+If FloorID = 131 Then Call ProcessRealtime(FloorID, 5, 1, False, False, True, False, False, False, False, False, False, False, False, False)
+If FloorID = 132 Then Call ProcessRealtime(FloorID, 5, 1, False, False, True, True, True, True, False, False, False, False, False, False)
+If FloorID = 133 Then Call ProcessRealtime(FloorID, 5, 1, False, False, True, False, False, False, False, False, False, False, False, False)
+If FloorID = 134 Then Call ProcessRealtime(FloorID, 5, 1, False, False, True, True, True, True, False, False, False, False, False, False)
+If FloorID = 135 Then Call ProcessRealtime(FloorID, 5, 1, False, False, True, True, True, True, False, False, False, False, False, False)
+If FloorID = 136 Then Call ProcessRealtime(FloorID, 5, 1, False, False, True, True, True, True, False, False, False, False, False, False)
+If FloorID = 137 Then Call ProcessRealtime(FloorID, 7, 1, False, False, True, False, False, False, False, False, False, False, False, False)
+If FloorID = 138 Then Call ProcessRealtime(FloorID, 7, 1, False, False, True, False, False, False, False, False, False, False, False, False)
 
 End Sub
 
@@ -931,46 +314,21 @@ Set Buildings = New TVMesh
 Set External = New TVMesh
 Set Landscape = New TVMesh
 For i = 1 To 138
+DoEvents
 Set Room(i) = New TVMesh
 Set Stairs(i) = New TVMesh
 Set ShaftsFloor(i) = New TVMesh
 Set Shafts1(i) = New TVMesh
 Set Shafts2(i) = New TVMesh
+Set Shafts3(i) = New TVMesh
+Set Shafts4(i) = New TVMesh
 Next i
+
 For i = -1 To 138
-Set ElevatorDoor1L(i) = New TVMesh
-Set ElevatorDoor1R(i) = New TVMesh
-Set ElevatorDoor2L(i) = New TVMesh
-Set ElevatorDoor2R(i) = New TVMesh
-Set ElevatorDoor3L(i) = New TVMesh
-Set ElevatorDoor3R(i) = New TVMesh
-Set ElevatorDoor4L(i) = New TVMesh
-Set ElevatorDoor4R(i) = New TVMesh
-Set ElevatorDoor5L(i) = New TVMesh
-Set ElevatorDoor5R(i) = New TVMesh
-Set ElevatorDoor6L(i) = New TVMesh
-Set ElevatorDoor6R(i) = New TVMesh
-Set ElevatorDoor7L(i) = New TVMesh
-Set ElevatorDoor7R(i) = New TVMesh
-Set ElevatorDoor8L(i) = New TVMesh
-Set ElevatorDoor8R(i) = New TVMesh
-Set ElevatorDoor9L(i) = New TVMesh
-Set ElevatorDoor9R(i) = New TVMesh
-Set ElevatorDoor10L(i) = New TVMesh
-Set ElevatorDoor10R(i) = New TVMesh
-Set Buttons1(i) = New TVMesh
-Set Buttons2(i) = New TVMesh
-Set Buttons3(i) = New TVMesh
-Set Buttons4(i) = New TVMesh
-Set Buttons5(i) = New TVMesh
-Set Buttons6(i) = New TVMesh
-Set Buttons7(i) = New TVMesh
-Set Buttons8(i) = New TVMesh
-Set Buttons9(i) = New TVMesh
-Set Buttons10(i) = New TVMesh
+Set StairDoor(i) = New TVMesh
 Next i
 
-For i = 1 To 10
+For i = 1 To 40
 Set Elevator(i) = New TVMesh
 Set FloorIndicator(i) = New TVMesh
 Set ElevatorInsDoorL(i) = New TVMesh
@@ -989,27 +347,24 @@ Set Light = New TVLightEngine
 
 If TV.ShowDriverDialog = False Then End
   
-Form1.Print " "
-Form1.Print "Skyscraper 0.91 Beta - Build" + Str$(App.Revision)
-Form1.Print "©2003 Ryan Thoryk"
-Form1.Print "Compiled on March 30, 2003"
-Form1.Print " "
-Form1.Print "Skyscraper comes with ABSOLUTELY NO WARRANTY. This is free"
-Form1.Print "software, and you are welcome to redistribute it under certain"
-Form1.Print "conditions. For details, see the file gpl.txt"
-Form1.Print "Build number counting has been done since version 0.7"
-Form1.Print " "
-   DoEvents
+Form1.Label1.Caption = "Skyscraper 0.92 Beta - Build" + Str$(App.Revision) + vbCrLf
+Form1.Label1.Caption = Form1.Label1.Caption + "©2003 Ryan Thoryk" + vbCrLf
+Form1.Label1.Caption = Form1.Label1.Caption + "Compiled on April 26, 2003" + vbCrLf + vbCrLf
+Form1.Label1.Caption = Form1.Label1.Caption + "Skyscraper comes with ABSOLUTELY NO WARRANTY. This is free" + vbCrLf
+Form1.Label1.Caption = Form1.Label1.Caption + "software, and you are welcome to redistribute it under certain" + vbCrLf
+Form1.Label1.Caption = Form1.Label1.Caption + "conditions. For details, see the file gpl.txt" + vbCrLf
+Form1.Label1.Caption = Form1.Label1.Caption + "Build number counting has been done since version 0.7" + vbCrLf
+
+DoEvents
    
 Sleep 2000
    '2. Initialize the engine with the selected mode
     TV.SetSearchDirectory App.Path
-Form1.Print "Initializing TrueVision3D..."
+Form1.Label2.Caption = "Initializing TrueVision3D..."
    'TV.Initialize Form1.hWnd
     TV.Init3DWindowedMode Form1.hWnd
     'TV.Init3DFullscreen 640, 480, 16
 
-Form1.Print "Creating Meshes..."
   Set Inp = New TVInputEngine
   TV.SetSearchDirectory App.Path
   TV.DisplayFPS = True
@@ -1024,46 +379,24 @@ Form1.Print "Creating Meshes..."
   Scene.LoadCursor "pointer.bmp", TV_COLORKEY_BLACK, 14, 16
   
   Set Mesh = Scene.CreateMeshBuilder("Mesh")
+  Form1.Label2.Caption = "Processing Meshes..."
   For i = 1 To 138
+  DoEvents
   Set Room(i) = Scene.CreateMeshBuilder("Room " + Str$(i))
   Set Stairs(i) = Scene.CreateMeshBuilder("Stairs " + Str$(i))
   Set ShaftsFloor(i) = Scene.CreateMeshBuilder("ShaftsFloor " + Str$(i))
   Set Shafts1(i) = Scene.CreateMeshBuilder("Shafts1 " + Str$(i))
   Set Shafts2(i) = Scene.CreateMeshBuilder("Shafts2 " + Str$(i))
+  Set Shafts3(i) = Scene.CreateMeshBuilder("Shafts3 " + Str$(i))
+  Set Shafts4(i) = Scene.CreateMeshBuilder("Shafts4 " + Str$(i))
   Next i
+  
   For i = -1 To 138
-  Set ElevatorDoor1L(i) = Scene.CreateMeshBuilder("ElevatorDoor1L " + Str$(i))
-  Set ElevatorDoor1R(i) = Scene.CreateMeshBuilder("ElevatorDoor1R " + Str$(i))
-  Set ElevatorDoor2L(i) = Scene.CreateMeshBuilder("ElevatorDoor2L " + Str$(i))
-  Set ElevatorDoor2R(i) = Scene.CreateMeshBuilder("ElevatorDoor2R " + Str$(i))
-  Set ElevatorDoor3L(i) = Scene.CreateMeshBuilder("ElevatorDoor3L " + Str$(i))
-  Set ElevatorDoor3R(i) = Scene.CreateMeshBuilder("ElevatorDoor3R " + Str$(i))
-  Set ElevatorDoor4L(i) = Scene.CreateMeshBuilder("ElevatorDoor4L " + Str$(i))
-  Set ElevatorDoor4R(i) = Scene.CreateMeshBuilder("ElevatorDoor4R " + Str$(i))
-  Set ElevatorDoor5L(i) = Scene.CreateMeshBuilder("ElevatorDoor5L " + Str$(i))
-  Set ElevatorDoor5R(i) = Scene.CreateMeshBuilder("ElevatorDoor5R " + Str$(i))
-  Set ElevatorDoor6L(i) = Scene.CreateMeshBuilder("ElevatorDoor6L " + Str$(i))
-  Set ElevatorDoor6R(i) = Scene.CreateMeshBuilder("ElevatorDoor6R " + Str$(i))
-  Set ElevatorDoor7L(i) = Scene.CreateMeshBuilder("ElevatorDoor7L " + Str$(i))
-  Set ElevatorDoor7R(i) = Scene.CreateMeshBuilder("ElevatorDoor7R " + Str$(i))
-  Set ElevatorDoor8L(i) = Scene.CreateMeshBuilder("ElevatorDoor8L " + Str$(i))
-  Set ElevatorDoor8R(i) = Scene.CreateMeshBuilder("ElevatorDoor8R " + Str$(i))
-  Set ElevatorDoor9L(i) = Scene.CreateMeshBuilder("ElevatorDoor9L " + Str$(i))
-  Set ElevatorDoor9R(i) = Scene.CreateMeshBuilder("ElevatorDoor9R " + Str$(i))
-  Set ElevatorDoor10L(i) = Scene.CreateMeshBuilder("ElevatorDoor10L " + Str$(i))
-  Set ElevatorDoor10R(i) = Scene.CreateMeshBuilder("ElevatorDoor10R " + Str$(i))
-  Set Buttons1(i) = Scene.CreateMeshBuilder("Buttons1 " + Str$(i))
-  Set Buttons2(i) = Scene.CreateMeshBuilder("Buttons2 " + Str$(i))
-  Set Buttons3(i) = Scene.CreateMeshBuilder("Buttons3 " + Str$(i))
-  Set Buttons4(i) = Scene.CreateMeshBuilder("Buttons4 " + Str$(i))
-  Set Buttons5(i) = Scene.CreateMeshBuilder("Buttons5 " + Str$(i))
-  Set Buttons6(i) = Scene.CreateMeshBuilder("Buttons6 " + Str$(i))
-  Set Buttons7(i) = Scene.CreateMeshBuilder("Buttons7 " + Str$(i))
-  Set Buttons8(i) = Scene.CreateMeshBuilder("Buttons8 " + Str$(i))
-  Set Buttons9(i) = Scene.CreateMeshBuilder("Buttons9 " + Str$(i))
-  Set Buttons10(i) = Scene.CreateMeshBuilder("Buttons10 " + Str$(i))
+    Set StairDoor(i) = Scene.CreateMeshBuilder("StairDoor " + Str$(i))
   Next i
-  For i = 1 To 10
+  
+  For i = 1 To 40
+  DoEvents
   Set Elevator(i) = Scene.CreateMeshBuilder("Elevator" + Str$(i))
   Set FloorIndicator(i) = Scene.CreateMeshBuilder("FloorIndicator" + Str$(i))
   Set ElevatorInsDoorL(i) = Scene.CreateMeshBuilder("ElevatorInsDoorL" + Str$(i))
@@ -1075,8 +408,9 @@ Form1.Print "Creating Meshes..."
   Set External = Scene.CreateMeshBuilder("External")
   Set Landscape = Scene.CreateMeshBuilder("Landscape")
     
-Form1.Print "Mesh Areas Created"
-  Scene.SetViewFrustum 90, 10000
+  DoEvents
+  Form1.Label2.Caption = "Loading Textures..."
+  Scene.SetViewFrustum 90, 200000
   'TextureFactory.LoadTexture "..\..\..\media\stone_wall.jpg", "Floor"
   
   TextureFactory.LoadTexture "brick1.jpg", "BrickTexture"
@@ -1125,28 +459,43 @@ Form1.Print "Mesh Areas Created"
   TextureFactory.LoadTexture "back.jpg", "SkyBack"
   TextureFactory.LoadTexture App.Path + "\objects\benedeti.jpg", "ColumnTex", , , TV_COLORKEY_NO
   TextureFactory.LoadTexture App.Path + "\data\plaque.jpg", "Plaque"
+  TextureFactory.LoadTexture App.Path + "\data\floorsign.jpg", "FloorSign"
+  TextureFactory.LoadTexture App.Path + "\data\floorsignballroom.jpg", "FloorSignBallroom"
+  TextureFactory.LoadTexture App.Path + "\data\floorsignbalcony.jpg", "FloorSignBalcony"
+  TextureFactory.LoadTexture App.Path + "\data\floorsignhotel.jpg", "FloorSignHotel"
+  TextureFactory.LoadTexture App.Path + "\data\floorsignlobby.jpg", "FloorSignLobby"
+  TextureFactory.LoadTexture App.Path + "\data\floorsignmaint.jpg", "FloorSignMaint"
+  TextureFactory.LoadTexture App.Path + "\data\floorsignmez.jpg", "FloorSignMez"
+  TextureFactory.LoadTexture App.Path + "\data\floorsignmechanical.jpg", "FloorSignMechanical"
+  TextureFactory.LoadTexture App.Path + "\data\floorsignobservatory.jpg", "FloorSignObservatory"
+  TextureFactory.LoadTexture App.Path + "\data\floorsignoffices.jpg", "FloorSignOffices"
+  TextureFactory.LoadTexture App.Path + "\data\floorsignpool.jpg", "FloorSignPool"
+  TextureFactory.LoadTexture App.Path + "\data\floorsignresidential.jpg", "FloorSignResidential"
+  TextureFactory.LoadTexture App.Path + "\data\floorsignroof.jpg", "FloorSignRoof"
+  TextureFactory.LoadTexture App.Path + "\data\floorsignskylobby.jpg", "FloorSignSkylobby"
   
   'loads all the floor indicator/button pictures
   TextureFactory.LoadTexture App.Path + "\data\floorindicators\L.jpg", "ButtonL"
   TextureFactory.LoadTexture App.Path + "\data\floorindicators\M.jpg", "ButtonM"
   TextureFactory.LoadTexture App.Path + "\data\floorindicators\R.jpg", "ButtonR"
-  For i = 2 To 137
+  TextureFactory.LoadTexture App.Path + "\data\floorindicators\open.jpg", "ButtonOpen"
+  TextureFactory.LoadTexture App.Path + "\data\floorindicators\close.jpg", "ButtonClose"
+  TextureFactory.LoadTexture App.Path + "\data\floorindicators\stop.jpg", "ButtonStop"
+  TextureFactory.LoadTexture App.Path + "\data\floorindicators\alarm.jpg", "ButtonAlarm"
+  TextureFactory.LoadTexture App.Path + "\data\floorindicators\cancel.jpg", "ButtonCancel"
+  For i = 2 To 138
+  DoEvents
   TextureFactory.LoadTexture App.Path + "\data\floorindicators\" + Mid$(Str$(i), 2) + ".jpg", "Button" + Mid$(Str$(i), 2)
   Next i
 
    
-Form1.Print "Textures Loaded"
-      
   'Sound System
     
     Call SoundEngine.Init(Form1.hWnd)
     
-Form1.Print "Sound Initialized"
-
     'Load the file into the classes.
     'ElevatorMusic.Load App.Path + "\elevmusic3.wav"
     'ElevatorMusic.Load App.Path + "\elevmusic2.wav"
-'Form1.Print "Music Loaded"
     'Set sound properties.
     'ElevatorMusic.Volume = -300
     'ElevatorMusic.maxDistance = 1000
@@ -1160,93 +509,230 @@ Form1.Print "Sound Initialized"
     'Call Listener.SetPosition(0, 0, 0)
     'Listener.rolloffFactor = 0.1
     'Listener.distanceFactor = 50
-Form1.Print "Loading 3D Objects..."
+DoEvents
+  
 End Sub
 
 
-Sub OptimizeMeshes()
-  Form1.Print "Optimizing Meshes.";
-  External.Optimize
-  Landscape.Optimize
-  For i = 1 To 138
-  Form1.Print ".";
-  Room(i).Optimize
-  Stairs(i).Optimize
-  ShaftsFloor(i).Optimize
-  Shafts1(i).Optimize
-  Shafts2(i).Optimize
-  Next i
-  Form1.Print "."
-  For i = -1 To 138
-  Form1.Print ".";
-  ElevatorDoor1L(i).Optimize
-  ElevatorDoor1R(i).Optimize
-  ElevatorDoor2L(i).Optimize
-  ElevatorDoor2R(i).Optimize
-  ElevatorDoor3L(i).Optimize
-  ElevatorDoor3R(i).Optimize
-  ElevatorDoor4L(i).Optimize
-  ElevatorDoor4R(i).Optimize
-  ElevatorDoor5L(i).Optimize
-  ElevatorDoor5R(i).Optimize
-  ElevatorDoor6L(i).Optimize
-  ElevatorDoor6R(i).Optimize
-  ElevatorDoor7L(i).Optimize
-  ElevatorDoor7R(i).Optimize
-  ElevatorDoor8L(i).Optimize
-  ElevatorDoor8R(i).Optimize
-  ElevatorDoor9L(i).Optimize
-  ElevatorDoor9R(i).Optimize
-  ElevatorDoor10L(i).Optimize
-  ElevatorDoor10R(i).Optimize
-  Buttons1(i).Optimize
-  Buttons2(i).Optimize
-  Buttons3(i).Optimize
-  Buttons4(i).Optimize
-  Buttons5(i).Optimize
-  Buttons6(i).Optimize
-  Buttons7(i).Optimize
-  Buttons8(i).Optimize
-  Buttons9(i).Optimize
-  Buttons10(i).Optimize
-  Next i
-  Form1.Print ".";
-  Form1.Print ".";
-  For i = 1 To 10
-  Elevator(i).Optimize
-  ElevatorInsDoorL(i).Optimize
-  ElevatorInsDoorR(i).Optimize
-  Plaque(i).Optimize
-  Form1.Print ".";
-  ElevatorInsDoorL(i).Optimize
-  Form1.Print ".";
+
+
+
+Sub CheckCollisions()
+ 'Main collision code
+LineTest = lineend
+ If lineend.X > linestart.X Then LineTest.X = lineend.X + 2
+ If lineend.X < linestart.X Then LineTest.X = lineend.X - 2
+ If lineend.z > linestart.z Then LineTest.z = lineend.z + 2
+ If lineend.z < linestart.z Then LineTest.z = lineend.z - 2
+    
+'Turn on collisions
+        Room(CameraFloor).SetCollisionEnable True
+        Buildings.SetCollisionEnable True
+        Landscape.SetCollisionEnable True
+        External.SetCollisionEnable True
+        Shafts1(CameraFloor).SetCollisionEnable True
+        Shafts2(CameraFloor).SetCollisionEnable True
+        ShaftsFloor(CameraFloor).SetCollisionEnable True
+        For i50 = 1 To 40
+        Elevator(i50).SetCollisionEnable True
+        ElevatorInsDoorL(i50).SetCollisionEnable True
+        ElevatorInsDoorR(i50).SetCollisionEnable True
+        ElevatorDoorL(i50).SetCollisionEnable True
+        ElevatorDoorR(i50).SetCollisionEnable True
+        Next i50
+        Stairs(CameraFloor).SetCollisionEnable True
+        
+        
+        
+ 'Elevator Collision
+ For i50 = 1 To 40
+    If Elevator(i50).Collision(linestart, LineTest, TV_TESTTYPE_ACCURATETESTING) = True Then Camera.SetPosition linestart.X, Camera.GetPosition.Y, linestart.z: GoTo CollisionEnd
+    If ElevatorInsDoorL(i50).Collision(linestart, LineTest, TV_TESTTYPE_ACCURATETESTING) = True Then Camera.SetPosition linestart.X, Camera.GetPosition.Y, linestart.z: GoTo CollisionEnd
+    If ElevatorInsDoorR(i50).Collision(linestart, LineTest, TV_TESTTYPE_ACCURATETESTING) = True Then Camera.SetPosition linestart.X, Camera.GetPosition.Y, linestart.z: GoTo CollisionEnd
+        
+ Next i50
+    
+ 'Collision code for all other objects
+    For i50 = 1 To 40
+    If ElevatorDoorL(i50).Collision(linestart, LineTest, TV_TESTTYPE_ACCURATETESTING) = True Then Camera.SetPosition linestart.X, Camera.GetPosition.Y, linestart.z: GoTo CollisionEnd
+    If ElevatorDoorR(i50).Collision(linestart, LineTest, TV_TESTTYPE_ACCURATETESTING) = True Then Camera.SetPosition linestart.X, Camera.GetPosition.Y, linestart.z: GoTo CollisionEnd
+    Next i50
+    
+    If External.Collision(linestart, LineTest, TV_TESTTYPE_ACCURATETESTING) = True Then Camera.SetPosition linestart.X, Camera.GetPosition.Y, linestart.z: GoTo CollisionEnd
+    If Room(CameraFloor).Collision(linestart, LineTest, TV_TESTTYPE_ACCURATETESTING) = True Then Camera.SetPosition linestart.X, Camera.GetPosition.Y, linestart.z: GoTo CollisionEnd
+    If Stairs(CameraFloor).Collision(linestart, LineTest, TV_TESTTYPE_ACCURATETESTING) = True Then Camera.SetPosition linestart.X, Camera.GetPosition.Y, linestart.z: GoTo CollisionEnd
+    If Buildings.Collision(linestart, LineTest, TV_TESTTYPE_ACCURATETESTING) = True Then Camera.SetPosition linestart.X, Camera.GetPosition.Y, linestart.z: GoTo CollisionEnd
+    If Landscape.Collision(linestart, LineTest, TV_TESTTYPE_ACCURATETESTING) = True Then Camera.SetPosition linestart.X, Camera.GetPosition.Y, linestart.z: GoTo CollisionEnd
+    If Shafts1(CameraFloor).IsMeshEnabled = True Then If Shafts1(CameraFloor).IsMeshEnabled = True Then If Shafts1(CameraFloor).Collision(linestart, LineTest, TV_TESTTYPE_ACCURATETESTING) = True Then Camera.SetPosition linestart.X, Camera.GetPosition.Y, linestart.z: GoTo CollisionEnd
+    If Shafts2(CameraFloor).IsMeshEnabled = True Then If Shafts2(CameraFloor).IsMeshEnabled = True Then If Shafts2(CameraFloor).Collision(linestart, LineTest, TV_TESTTYPE_ACCURATETESTING) = True Then Camera.SetPosition linestart.X, Camera.GetPosition.Y, linestart.z: GoTo CollisionEnd
+    If ShaftsFloor(CameraFloor).Collision(linestart, LineTest, TV_TESTTYPE_ACCURATETESTING) = True Then Camera.SetPosition linestart.X, Camera.GetPosition.Y, linestart.z: GoTo CollisionEnd
+    
+'On Error Resume Next
+'For i50 = 1 To 150
+'j50 = i50 + (150 * (CameraFloor - 1))
+'If Objects(j50).IsMeshEnabled = True Then
+'    Objects(j50).SetCollisionEnable True
+'    MsgBox (j50)
+'    If Objects(j50).Collision(linestart, LineTest, TV_TESTTYPE_ACCURATETESTING) = True Then Camera.SetPosition linestart.X, Camera.GetPosition.Y, linestart.z: GoTo CollisionEnd
+'    Objects(j50).SetCollisionEnable False
+'End If
+'Next i50
+
+CollisionEnd:
+
+'Turn off collisions
+        Room(CameraFloor).SetCollisionEnable False
+        External.SetCollisionEnable False
+        Buildings.SetCollisionEnable False
+        Landscape.SetCollisionEnable False
+        Shafts1(CameraFloor).SetCollisionEnable False
+        Shafts2(CameraFloor).SetCollisionEnable False
+        ShaftsFloor(CameraFloor).SetCollisionEnable False
+        For i50 = 1 To 40
+        Elevator(i50).SetCollisionEnable False
+        ElevatorInsDoorL(i50).SetCollisionEnable False
+        ElevatorInsDoorR(i50).SetCollisionEnable False
+        ElevatorDoorL(i50).SetCollisionEnable False
+        ElevatorDoorR(i50).SetCollisionEnable False
+        Next i50
+        Stairs(CameraFloor).SetCollisionEnable False
+
+End Sub
+
+
+
+Sub Fall()
+
+'This detects if the user is above a hole or something (ready to fall)
+Room(CameraFloor).SetCollisionEnable True
+Shafts1(CameraFloor).SetCollisionEnable True
+Shafts2(CameraFloor).SetCollisionEnable True
+Buildings.SetCollisionEnable True
+Landscape.SetCollisionEnable True
+
+If Room(CameraFloor).Collision(Camera.GetPosition, Vector(Camera.GetPosition.X, Camera.GetPosition.Y - 12, Camera.GetPosition.z), TV_TESTTYPE_ACCURATETESTING) = False And _
+    Shafts1(CameraFloor).Collision(Camera.GetPosition, Vector(Camera.GetPosition.X, Camera.GetPosition.Y - 12, Camera.GetPosition.z), TV_TESTTYPE_ACCURATETESTING) = False And _
+    Shafts2(CameraFloor).Collision(Camera.GetPosition, Vector(Camera.GetPosition.X, Camera.GetPosition.Y - 12, Camera.GetPosition.z), TV_TESTTYPE_ACCURATETESTING) = False And _
+    Landscape.Collision(Camera.GetPosition, Vector(Camera.GetPosition.X, Camera.GetPosition.Y - 12, Camera.GetPosition.z), TV_TESTTYPE_ACCURATETESTING) = False And _
+    Buildings.Collision(Camera.GetPosition, Vector(Camera.GetPosition.X, Camera.GetPosition.Y - 12, Camera.GetPosition.z), TV_TESTTYPE_ACCURATETESTING) = False And InElevator = False And InStairwell = False Then IsFalling = True
+
+Room(CameraFloor).SetCollisionEnable False
+Shafts1(CameraFloor).SetCollisionEnable False
+Shafts2(CameraFloor).SetCollisionEnable False
+Buildings.SetCollisionEnable False
+Landscape.SetCollisionEnable False
+
+'*********************************
+If IsFalling = False Then Exit Sub
+
+'The gravity originally acted weird
+Dim TimeRate As Single
+Gravity = 5
+If FallRate = 0 Then
+lngOldTick = GetTickCount()
+CameraOriginalPos = Camera.GetPosition.Y
+End If
+
+'MsgBox ((GetTickCount() / 1000) - (lngOldTick / 1000))
+
+'Basically this is Fallrate=Gravity*SecondsPassed
+TimeRate = ((GetTickCount() / 1000) - (lngOldTick / 1000))
+FallRate = (Gravity * TimeRate) ^ 1.8
+If FallRate = 0 Then FallRate = 0.1
+If TimeRate = 0 Then TimeRate = 0.1
+'MsgBox ("Gravity:" + Str$(Gravity) + " Time Passed:" + Str$((GetTickCount() / 1000) - (lngOldTick / 1000)))
+
+Camera.SetPosition Camera.GetPosition.X, CameraOriginalPos - FallRate, Camera.GetPosition.z
+
+Room(CameraFloor).SetCollisionEnable True
+Shafts1(CameraFloor).SetCollisionEnable True
+Shafts2(CameraFloor).SetCollisionEnable True
+Buildings.SetCollisionEnable True
+Landscape.SetCollisionEnable True
+
+If Room(CameraFloor).Collision(Camera.GetPosition, Vector(Camera.GetPosition.X, Camera.GetPosition.Y - (FallRate / TimeRate), Camera.GetPosition.z), TV_TESTTYPE_ACCURATETESTING) = True Then
+FallRate = 0
+IsFalling = False
+If CameraFloor > 1 Then Camera.SetPosition Camera.GetPosition.X, (CameraFloor * FloorHeight) + FloorHeight + 10, Camera.GetPosition.z
+If CameraFloor = 1 Then Camera.SetPosition Camera.GetPosition.X, 10, Camera.GetPosition.z
+End If
+If Shafts1(CameraFloor).Collision(Camera.GetPosition, Vector(Camera.GetPosition.X, Camera.GetPosition.Y - (FallRate / TimeRate), Camera.GetPosition.z), TV_TESTTYPE_ACCURATETESTING) = True Then
+FallRate = 0
+IsFalling = False
+If CameraFloor > 1 Then Camera.SetPosition Camera.GetPosition.X, (CameraFloor * FloorHeight) + FloorHeight + 10, Camera.GetPosition.z
+If CameraFloor = 1 Then Camera.SetPosition Camera.GetPosition.X, 10, Camera.GetPosition.z
+End If
+If Shafts2(CameraFloor).Collision(Camera.GetPosition, Vector(Camera.GetPosition.X, Camera.GetPosition.Y - (FallRate / TimeRate), Camera.GetPosition.z), TV_TESTTYPE_ACCURATETESTING) = True Then
+FallRate = 0
+IsFalling = False
+If CameraFloor > 1 Then Camera.SetPosition Camera.GetPosition.X, (CameraFloor * FloorHeight) + FloorHeight + 10, Camera.GetPosition.z
+If CameraFloor = 1 Then Camera.SetPosition Camera.GetPosition.X, 10, Camera.GetPosition.z
+End If
+If Buildings.Collision(Camera.GetPosition, Vector(Camera.GetPosition.X, Camera.GetPosition.Y - (FallRate / TimeRate), Camera.GetPosition.z), TV_TESTTYPE_ACCURATETESTING) = True Then
+FallRate = 0
+IsFalling = False
+If CameraFloor > 1 Then Camera.SetPosition Camera.GetPosition.X, (CameraFloor * FloorHeight) + FloorHeight + 10, Camera.GetPosition.z
+If CameraFloor = 1 Then Camera.SetPosition Camera.GetPosition.X, 10, Camera.GetPosition.z
+End If
+If Landscape.Collision(Camera.GetPosition, Vector(Camera.GetPosition.X, Camera.GetPosition.Y - (FallRate / TimeRate), Camera.GetPosition.z), TV_TESTTYPE_ACCURATETESTING) = True Then
+FallRate = 0
+IsFalling = False
+If CameraFloor > 1 Then Camera.SetPosition Camera.GetPosition.X, (CameraFloor * FloorHeight) + FloorHeight + 10, Camera.GetPosition.z
+If CameraFloor = 1 Then Camera.SetPosition Camera.GetPosition.X, 10, Camera.GetPosition.z
+End If
+
+Room(CameraFloor).SetCollisionEnable False
+Shafts1(CameraFloor).SetCollisionEnable False
+Shafts2(CameraFloor).SetCollisionEnable False
+Buildings.SetCollisionEnable False
+Landscape.SetCollisionEnable False
+
+End Sub
+
+Sub OptimizeMeshes()
+  External.Optimize
+  Landscape.Optimize
+  Buildings.Optimize
+  For i = 1 To 138
+  DoEvents
+  Form1.Label2.Caption = "Optimizing Meshes Part 1 (of 2)... " + Str$(Int((i / 138) * 100)) + "%"
+  Room(i).Optimize
+  Stairs(i).Optimize
+  ShaftsFloor(i).Optimize
+  Shafts1(i).Optimize
+  Shafts2(i).Optimize
+  Shafts3(i).Optimize
+  Shafts4(i).Optimize
+  Next i
+  For i = 1 To 40
+  DoEvents
+  Form1.Label2.Caption = "Optimizing Meshes Part 2 (of 2)... " + Str$(Int((i / 40) * 100)) + "%"
+  Elevator(i).Optimize
+  ElevatorInsDoorL(i).Optimize
   ElevatorInsDoorR(i).Optimize
+  Plaque(i).Optimize
   Next i
-  Form1.Print ".";
-  Buildings.Optimize
-  
-  Form1.Print "Done"
   
 End Sub
 
 Sub ProcessFloors()
 'Lobby
 Call ProcessLobby
-Form1.Print "Processing Floors 2 to 39...";
 Call Process2to39
-Form1.Print "Processing Floors 40 to 79";
 Call Process40to79
-Form1.Print "Processing Floors 80 to 117";
-Call Process80to117
-Form1.Print "Processing Floors 118 to 132";
-Call Process118to132
-Form1.Print "Processing Floors 133 to 138";
+Call Process81to114
+Call Process118to129
 Call ProcessOtherFloors
-Form1.Print "Initializing Lobby..."
+Call ProcessOtherFloors2
+Form1.Label2.Caption = "Initializing Lobby... "
+Call InitRealtime(1)
 Call InitObjectsForFloor(1)
  
-Form1.Print "Processing Outside..."
+Form1.Label2.Caption = "Processing Outside... "
 Call ProcessOutside
+Form1.Label2.Caption = "Processing Elevators... "
 Call ProcessMisc
 Call ProcessStairs
 Call OptimizeMeshes
@@ -1255,581 +741,717 @@ End Sub
 Sub ProcessLobby()
 
 
-Form1.Print "Processing Lobby..."
-    i = 1
-    Room(i).AddFloor GetTex("Marble4"), -160, -150, 160, 150, 0, 50, 31
+DoEvents
+Form1.Label2.Caption = "Processing Lobby..."
+      i = 1
+    Room(i).AddFloor GetTex("Marble4"), -160, -150, 160, 150, 0, (FloorHeight * 2), 31
     'Mezzanine Level
-    Room(i).AddFloor GetTex("Granite"), -80, -55, 80, -46.25, 27, 30, 1
-    Room(i).AddFloor GetTex("Granite"), -80, 46.25, 80, 55, 27, 30, 1
-    Room(i).AddFloor GetTex("Granite"), -80, -46.25, -32.5, 46.25, 27, 6, 10
-    Room(i).AddFloor GetTex("Granite"), 32.5, -46.25, 80, 46.25, 27, 6, 10
-    Room(i).AddFloor GetTex("Granite"), -12.5, -46.25, 12.5, 46.25, 27, 2, 10
-    
-    Room(i).AddFloor GetTex("Ceiling1"), -80, -55, 80, -46.25, 26.9, 30, 1
-    Room(i).AddFloor GetTex("Ceiling1"), -80, 46.25, 80, 55, 26.9, 30, 1
-    Room(i).AddFloor GetTex("Ceiling1"), -80, -46.25, -32.5, 46.25, 26.9, 11, 10
-    Room(i).AddFloor GetTex("Ceiling1"), 32.5, -46.25, 80, 46.25, 26.9, 11, 10
-    Room(i).AddFloor GetTex("Ceiling1"), -12.5, -46.25, 12.5, 46.25, 26.9, 2, 10
+    Room(i).AddFloor GetTex("Granite"), -90.5, -55, 90.5, -46.25, FloorHeight, ((90.5 * 2) * 0.086), ((55 - 46.25) * 0.08)
+    Room(i).AddFloor GetTex("Granite"), -90.5, 0, 90.5, 55, FloorHeight, ((90.5 * 2) * 0.086), (55 * 0.08)
+    Room(i).AddFloor GetTex("Granite"), -90.5, -46.25, -52.5, 0, FloorHeight, ((90.5 - 52.5) * 0.086), (46.25 * 0.08)
+    Room(i).AddFloor GetTex("Granite"), 52.5, -46.25, 90.5, 0, FloorHeight, ((90.5 - 52.5) * 0.086), (46.25 * 0.08)
+    Room(i).AddFloor GetTex("Granite"), -12.5, -46.25, 12.5, 0, FloorHeight, ((12.5 * 2) * 0.086), (46.25 * 0.08)
+    
+    Room(i).AddFloor GetTex("Ceiling1"), -90.5, -55, 90.5, -46.25, FloorHeight - 0.1, ((90.5 * 2) * 0.086), ((55 - 46.25) * 0.08)
+    Room(i).AddFloor GetTex("Ceiling1"), -90.5, 0, 90.5, 55, FloorHeight - 0.1, ((90.5 * 2) * 0.086), (55 * 0.08)
+    Room(i).AddFloor GetTex("Ceiling1"), -90.5, -46.25, -52.5, 0, FloorHeight - 0.1, ((90.5 - 52.5) * 0.086), (46.25 * 0.08)
+    Room(i).AddFloor GetTex("Ceiling1"), 52.5, -46.25, 90.5, 0, FloorHeight - 0.1, ((90.5 - 52.5) * 0.086), (46.25 * 0.08)
+    Room(i).AddFloor GetTex("Ceiling1"), -12.5, -46.25, 12.5, 0, FloorHeight - 0.1, ((12.5 * 2) * 0.086), (46.25 * 0.08)
     
     'End of Mezzanine
     
-    'External.AddWall GetTex("LobbyFront"), -160, -150, 160, -150, 75, 0, 3, 1
-    'External.AddWall GetTex("LobbyFront"), 160, -150, 160, 150, 75, 0, 3, 1
-    'External.AddWall GetTex("LobbyFront"), 160, 150, -160, 150, 75, 0, 3, 1
-    'External.AddWall GetTex("LobbyFront"), -160, 150, -160, -150, 75, 0, 3, 1
+    'External.AddWall GetTex("LobbyFront"), -160, -150, 160, -150, (FloorHeight * 3), 0, 3, 1
+    'External.AddWall GetTex("LobbyFront"), 160, -150, 160, 150, (FloorHeight * 3), 0, 3, 1
+    'External.AddWall GetTex("LobbyFront"), 160, 150, -160, 150, (FloorHeight * 3), 0, 3, 1
+    'External.AddWall GetTex("LobbyFront"), -160, 150, -160, -150, (FloorHeight * 3), 0, 3, 1
               
-    Room(i).AddWall GetTex("LobbyFront"), -160 + 0.1, -150 + 0.1, 160 - 0.1, -150 + 0.1, 75, 0, 3, 1
-    Room(i).AddWall GetTex("LobbyFront"), 160 - 0.1, -150 + 0.1, 160 - 0.1, 150 - 0.1, 75, 0, 3, 1
-    Room(i).AddWall GetTex("LobbyFront"), 160 - 0.1, 150 - 0.1, -160 + 0.1, 150 - 0.1, 75, 0, 3, 1
-    Room(i).AddWall GetTex("LobbyFront"), -160 + 0.1, 150 - 0.1, -160 + 0.1, -150 + 0.1, 75, 0, 3, 1
-                  
-    'Fake Stairway Doors for other floors
-    Room(i).AddWall GetTex("StairsDoor"), -12.8, -36.4 - 3.9, -12.8, -36.4 + 4.3, 19.5, 75, -1, 1
+    Room(i).AddWall GetTex("LobbyFront"), -160 + 0.1, -150 + 0.1, 160 - 0.1, -150 + 0.1, (FloorHeight * 3), 0, 3, 1
+    Room(i).AddWall GetTex("LobbyFront"), 160 - 0.1, -150 + 0.1, 160 - 0.1, 150 - 0.1, (FloorHeight * 3), 0, 3, 1
+    Room(i).AddWall GetTex("LobbyFront"), 160 - 0.1, 150 - 0.1, -160 + 0.1, 150 - 0.1, (FloorHeight * 3), 0, 3, 1
+    Room(i).AddWall GetTex("LobbyFront"), -160 + 0.1, 150 - 0.1, -160 + 0.1, -150 + 0.1, (FloorHeight * 3), 0, 3, 1
                   
     'always make sure this call is also in the ProcessFloors sub, but under the DrawElevatorShafts name
-    Call DrawElevatorWalls(Int(i), 1, False, True, True, True, True, True, True, True, True, True, True)
+    Call DrawElevatorWalls(Int(i), 5, 1, True, False, True, True, True, True, False, False, False, False, False, False)
+    Call DrawElevatorWalls(Int(i), 5, 2, True, False, True, True, True, True, False, False, False, False, False, False)
+    Call DrawElevatorWalls(Int(i), 1, 3, True, False, True, True, True, True, True, True, True, True, True, True)
+    Call DrawElevatorWalls(Int(i), 1, 4, True, False, True, True, True, True, True, True, True, True, True, True)
     
     'Stairwell Walls
-    Stairs(i).AddWall GetTex("Concrete"), -12.5 - 0.5, -46.25 + 0.1, -12.5 - 0.5, -40.3, 75, 0, ((46.25 - 40.3) * 0.086) * 4, 3 * 4
-    Stairs(i).AddWall GetTex("Concrete"), -12.5 - 0.5, -32.5, -12.5 - 0.5, -30, 75, 0, (2.5 * 0.086) * 4, 3 * 4
-    Stairs(i).AddWall GetTex("Concrete"), -32.5 + 0.1, -46.25 + 0.1, -32.5 + 0.1, -30 - 1, 75, 0, (16.25 * 0.086) * 4, 3 * 4
-    Stairs(i).AddWall GetTex("Concrete"), -12.5, -46.25 + 0.1, -32.5, -46.25 + 0.1, 75, 0, (20 * 0.086) * 4, 3 * 4
-    Stairs(i).AddWall GetTex("Concrete"), -12.5, -30 - 1, -32.5, -30 - 1, 75, 0, (20 * 0.086) * 4, 3 * 4
-    Stairs(i).AddWall GetTex("Concrete"), -12.5 - 6, -46.25 + 7.71, -12.5 - 16, -46.25 + 7.71, 75, 0, (10 * 0.086) * 4, 3 * 4
-    
-    Stairs(i).AddWall GetTex("Concrete"), -12.5 - 0.5, -40.3, -12.5 - 0.5, -30, 7.5, 19.5, (10.3 * 0.086) * 4, (7.5 * 0.086) * 4
-    Stairs(i).AddWall GetTex("Concrete"), -12.5 - 0.5, -40.3, -12.5 - 0.5, -30, 3.5, 19.5 + 27, (10.3 * 0.086) * 4, (3.5 * 0.086) * 4
-    Stairs(i).AddWall GetTex("Concrete"), -12.5 - 0.5, -40.3, -12.5 - 0.5, -30, 25, 50, (10.3 * 0.086) * 4, (25 * 0.086) * 2
-    
-
-    'More elevator shafts are being planned for the near future
-    'Service elevator shaft (North)
-    'Buildings.AddWall GetTex("Concrete"), -30, -130, -30, -110, (136 * 25) + 50, 0, 1, 138
-    'Buildings.AddWall GetTex("Concrete"), -50, -130, -50, -110, (136 * 25) + 50, 0, 1, 138
-    'Buildings.AddWall GetTex("Concrete"), -30, -110, -50, -110, (136 * 25) + 50, 0, 1, 138
-    'Buildings.AddWall GetTex("Concrete"), -30, -130, -50, -130, (136 * 25) + 50, 0, 1, 138
-    
-    'Service elevator shaft (South)
-    'Buildings.AddWall GetTex("Concrete"), -30, 130, -30, 110, (131 * 25) + 50, 0, 1, 133
-    'Buildings.AddWall GetTex("Concrete"), -50, 130, -50, 110, (131 * 25) + 50, 0, 1, 133
-    'Buildings.AddWall GetTex("Concrete"), -30, 110, -50, 110, (131 * 25) + 50, 0, 1, 133
-    'Buildings.AddWall GetTex("Concrete"), -30, 130, -50, 130, (131 * 25) + 50, 0, 1, 133
-    
-    'Stairwell shaft (North)
-    'Buildings.AddWall GetTex("Concrete"), 30, -130, 30, -110, (136 * 25) + 50, 0, 1, 138
-    'Buildings.AddWall GetTex("Concrete"), 50, -130, 50, -110, (136 * 25) + 50, 0, 1, 138
-    'Buildings.AddWall GetTex("Concrete"), 30, -110, 50, -110, (136 * 25) + 50, 0, 1, 138
-    'Buildings.AddWall GetTex("Concrete"), 30, -130, 50, -130, (136 * 25) + 50, 0, 1, 138
-    
-    'Stairwell shaft (South)
-    'Buildings.AddWall GetTex("Concrete"), 30, 130, 30, 110, (131 * 25) + 50, 0, 1, 133
-    'Buildings.AddWall GetTex("Concrete"), 50, 130, 50, 110, (131 * 25) + 50, 0, 1, 133
-    'Buildings.AddWall GetTex("Concrete"), 30, 110, 50, 110, (131 * 25) + 50, 0, 1, 133
-    'Buildings.AddWall GetTex("Concrete"), 30, 130, 50, 130, (131 * 25) + 50, 0, 1, 133
+    Stairs(i).AddWall GetTex("Concrete"), -12.5 - 0.5, -46.25 + 0.1, -12.5 - 0.5, -40.3, (FloorHeight * 3), 0, ((46.25 - 40.3) * 0.086), ((FloorHeight * 3) * 0.086)
+    Stairs(i).AddWall GetTex("Concrete"), -12.5 - 0.5, -32.5, -12.5 - 0.5, -30, (FloorHeight * 3), 0, (2.5 * 0.086), ((FloorHeight * 3) * 0.086)
+    Stairs(i).AddWall GetTex("Concrete"), -32.5 + 0.1, -46.25 + 0.1, -32.5 + 0.1, -30 - 1, (FloorHeight * 3), 0, (16.25 * 0.086), ((FloorHeight * 3) * 0.086)
+    Stairs(i).AddWall GetTex("Concrete"), -12.5, -46.25 + 0.1, -32.5, -46.25 + 0.1, (FloorHeight * 3), 0, (20 * 0.086), ((FloorHeight * 3) * 0.086)
+    Stairs(i).AddWall GetTex("Concrete"), -12.5, -30 - 1, -32.5, -30 - 1, (FloorHeight * 3), 0, (20 * 0.086), ((FloorHeight * 3) * 0.086)
+    Stairs(i).AddWall GetTex("Concrete"), -12.5 - 6, -46.25 + 7.71, -12.5 - 16, -46.25 + 7.71, (FloorHeight * 3), 0, (10 * 0.086), ((FloorHeight * 3) * 0.086)
     
-    'Ceiling
-    Room(i).AddFloor GetTex("Ceiling1"), -160, -150, 160, -46.25, (i * 25) + 49.5, 10, 5
-    Room(i).AddFloor GetTex("Ceiling1"), -160, 46.25, 160, 150, (i * 25) + 49.5, 10, 5
-    Room(i).AddFloor GetTex("Ceiling1"), -160, -46.25, -32.5, 46.25, (i * 25) + 49.5, 3, 5
-    Room(i).AddFloor GetTex("Ceiling1"), 32.5, -46.25, 160, 46.25, (i * 25) + 49.5, 3, 5
-    Room(i).AddFloor GetTex("Ceiling1"), -12.5, -46.25, 12.5, 46.25, (i * 25) + 49.5, 2, 5
+    Stairs(i).AddWall GetTex("Concrete"), -12.5 - 0.5, -40.3, -12.5 - 0.5, -30, (FloorHeight - 19.5), 19.5, (10.3 * 0.086), ((FloorHeight - 19.5) * 0.086)
+    Stairs(i).AddWall GetTex("Concrete"), -12.5 - 0.5, -40.3, -12.5 - 0.5, -30, (FloorHeight - 19.5), 19.5 + FloorHeight, (10.3 * 0.086), ((FloorHeight - 19.5) * 0.086)
+    Stairs(i).AddWall GetTex("Concrete"), -12.5 - 0.5, -40.3, -12.5 - 0.5, -30, FloorHeight, (FloorHeight * 2), (10.3 * 0.086), (FloorHeight * 0.086)
     
-        
+    'Ceiling
+    Room(i).AddFloor GetTex("Ceiling1"), -160, -150, 160, -46.25, (FloorHeight * 3) - 0.5, ((160 * 2) * 0.086), ((150 - 46.25) * 0.08)
+    Room(i).AddFloor GetTex("Ceiling1"), -160, 46.25, 160, 150, (FloorHeight * 3) - 0.5, ((160 * 2) * 0.086), ((150 - 46.25) * 0.08)
+    Room(i).AddFloor GetTex("Ceiling1"), -90.5, -46.25, -52.5, 46.25, (FloorHeight * 3) - 0.5, ((90.5 - 52.5) * 0.086), ((46.25 * 2) * 0.08)
+    Room(i).AddFloor GetTex("Ceiling1"), 52.5, -46.25, 90.5, 46.25, (FloorHeight * 3) - 0.5, ((90.5 - 52.5) * 0.086), ((46.25 * 2) * 0.08)
+    Room(i).AddFloor GetTex("Ceiling1"), -12.5, -46.25, 12.5, 0, (FloorHeight * 3) - 0.5, ((12.5 * 2) * 0.086), (46.25 * 0.08)
+    Room(i).AddFloor GetTex("Ceiling1"), -52.5, 0, 52.5, 46.25, (FloorHeight * 3) - 0.5, ((52.5 * 2) * 0.086), (46.25 * 0.08)
+    Room(i).AddFloor GetTex("Ceiling1"), -160, -46.25, -130.5, 46.25, (FloorHeight * 3) - 0.5, ((160 - 130.5) * 0.086), ((46.25 * 2) * 0.08)
+    Room(i).AddFloor GetTex("Ceiling1"), 160, -46.25, 130.5, 46.25, (FloorHeight * 3) - 0.5, ((160 - 130.5) * 0.086), ((46.25 * 2) * 0.08)
+            
 End Sub
 
 Sub Process2to39()
     
     'Floors 2 to 39
     For i = 2 To 39
-    Form1.Print ".";
-    'Mesh.AddFloor GetTex("Granite"), -160, -150, 160, 150, (I * 25) + 25, 10, 10
-    Room(i).AddFloor GetTex("Granite"), -160, -150, 160, -46.25, (i * 25) + 25, 30, 5
-    Room(i).AddFloor GetTex("Granite"), -160, 46.25, 160, 150, (i * 25) + 25, 30, 5
-    Room(i).AddFloor GetTex("Granite"), -160, -46.25, -32.5, 46.25, (i * 25) + 25, 11, 10
-    Room(i).AddFloor GetTex("Granite"), 32.5, -46.25, 160, 46.25, (i * 25) + 25, 11, 10
-    Room(i).AddFloor GetTex("Granite"), -12.5, -46.25, 12.5, 46.25, (i * 25) + 25, 2, 10
-    
-    Room(i).AddFloor GetTex("Marble3"), -160, -150, 160, -46.25, (i * 25) + 49.5, 30, 5
-    Room(i).AddFloor GetTex("Marble3"), -160, 46.25, 160, 150, (i * 25) + 49.5, 30, 5
-    Room(i).AddFloor GetTex("Marble3"), -160, -46.25, -32.5, 46.25, (i * 25) + 49.5, 11, 10
-    Room(i).AddFloor GetTex("Marble3"), 32.5, -46.25, 160, 46.25, (i * 25) + 49.5, 11, 10
-    Room(i).AddFloor GetTex("Marble3"), -12.5, -46.25, 12.5, 46.25, (i * 25) + 49.5, 2, 10
-    
-    'Fake Stairway Doors for other floors
-    Room(i).AddWall GetTex("StairsDoor"), -12.8, -36.4 - 3.9, -12.8, -36.4 + 4.3, 19.5, (i * 25) + 25 + 25, -1, 1
+    DoEvents
+    Form1.Label2.Caption = "Processing Floors 2 to 39... " + Str$(Int((i / 39) * 100)) + "%"
+    
+    'Floor
+    Room(i).AddFloor GetTex("Granite"), -160, -150, 160, -46.25, (i * FloorHeight) + FloorHeight, ((160 + 160) * 0.086), ((150 - 46.25) * 0.08)
+    Room(i).AddFloor GetTex("Granite"), -160, 46.25, 160, 150, (i * FloorHeight) + FloorHeight, ((160 + 160) * 0.086), ((150 - 46.25) * 0.08)
+    Room(i).AddFloor GetTex("Granite"), -90.5, -46.25, -52.5, 46.25, (i * FloorHeight) + FloorHeight, ((90.5 - 52.5) * 0.086), ((46.25 + 46.25) * 0.08)
+    Room(i).AddFloor GetTex("Granite"), 52.5, -46.25, 90.5, 46.25, (i * FloorHeight) + FloorHeight, ((90.5 + 52.5) * 0.086), ((46.25 + 46.25) * 0.08)
+    Room(i).AddFloor GetTex("Granite"), -12.5, -46.25, 12.5, 0, (i * FloorHeight) + FloorHeight, ((12.5 + 12.5) * 0.086), (46.25 * 0.08)
+    Room(i).AddFloor GetTex("Granite"), -52.5, 0, 52.5, 46.25, (i * FloorHeight) + FloorHeight, ((52.5 + 52.5) * 0.086), (46.25 * 0.08)
+    Room(i).AddFloor GetTex("Granite"), -160, -46.25, -130.5, 46.25, (i * FloorHeight) + FloorHeight, ((160 - 130.5) * 0.086), ((46.25 + 46.25) * 0.08)
+    Room(i).AddFloor GetTex("Granite"), 160, -46.25, 130.5, 46.25, (i * FloorHeight) + FloorHeight, ((160 - 130.5) * 0.086), ((46.25 + 46.25) * 0.08)
     
+    'Ceiling
+    Room(i).AddFloor GetTex("Marble3"), -160, -150, 160, -46.25, (i * FloorHeight) + (FloorHeight + 25) - 0.5, ((160 + 160) * 0.086), ((150 - 46.25) * 0.08)
+    Room(i).AddFloor GetTex("Marble3"), -160, 46.25, 160, 150, (i * FloorHeight) + (FloorHeight + 25) - 0.5, ((160 + 160) * 0.086), ((150 - 46.25) * 0.08)
+    Room(i).AddFloor GetTex("Marble3"), -90.5, -46.25, -52.5, 46.25, (i * FloorHeight) + (FloorHeight + 25) - 0.5, ((90.5 - 52.5) * 0.086), ((46.25 + 46.25) * 0.08)
+    Room(i).AddFloor GetTex("Marble3"), 52.5, -46.25, 90.5, 46.25, (i * FloorHeight) + (FloorHeight + 25) - 0.5, ((90.5 + 52.5) * 0.086), ((46.25 + 46.25) * 0.08)
+    Room(i).AddFloor GetTex("Marble3"), -12.5, -46.25, 12.5, 0, (i * FloorHeight) + (FloorHeight + 25) - 0.5, ((12.5 + 12.5) * 0.086), (46.25 * 0.08)
+    Room(i).AddFloor GetTex("Marble3"), -52.5, 0, 52.5, 46.25, (i * FloorHeight) + (FloorHeight + 25) - 0.5, ((52.5 + 52.5) * 0.086), (46.25 * 0.08)
+    Room(i).AddFloor GetTex("Marble3"), -160, -46.25, -130.5, 46.25, (i * FloorHeight) + (FloorHeight + 25) - 0.5, ((160 - 130.5) * 0.086), ((46.25 + 46.25) * 0.08)
+    Room(i).AddFloor GetTex("Marble3"), 160, -46.25, 130.5, 46.25, (i * FloorHeight) + (FloorHeight + 25) - 0.5, ((160 - 130.5) * 0.086), ((46.25 + 46.25) * 0.08)
+    
+    'Crawlspace bottom
+    Room(i).AddFloor GetTex("BrickTexture"), -160, -150, 160, -46.25, (i * FloorHeight) + (FloorHeight + 25), ((160 + 160) * 0.086), ((150 - 46.25) * 0.08)
+    Room(i).AddFloor GetTex("BrickTexture"), -160, 46.25, 160, 150, (i * FloorHeight) + (FloorHeight + 25), ((160 + 160) * 0.086), ((150 - 46.25) * 0.08)
+    Room(i).AddFloor GetTex("BrickTexture"), -90.5, -46.25, -52.5, 46.25, (i * FloorHeight) + (FloorHeight + 25), ((90.5 - 52.5) * 0.086), ((46.25 + 46.25) * 0.08)
+    Room(i).AddFloor GetTex("BrickTexture"), 52.5, -46.25, 90.5, 46.25, (i * FloorHeight) + (FloorHeight + 25), ((90.5 + 52.5) * 0.086), ((46.25 + 46.25) * 0.08)
+    Room(i).AddFloor GetTex("BrickTexture"), -12.5, -46.25, 12.5, 0, (i * FloorHeight) + (FloorHeight + 25), ((12.5 + 12.5) * 0.086), (46.25 * 0.08)
+    Room(i).AddFloor GetTex("BrickTexture"), -52.5, 0, 52.5, 46.25, (i * FloorHeight) + (FloorHeight + 25), ((52.5 + 52.5) * 0.086), (46.25 * 0.08)
+    Room(i).AddFloor GetTex("BrickTexture"), -160, -46.25, -130.5, 46.25, (i * FloorHeight) + (FloorHeight + 25), ((160 - 130.5) * 0.086), ((46.25 + 46.25) * 0.08)
+    Room(i).AddFloor GetTex("BrickTexture"), 160, -46.25, 130.5, 46.25, (i * FloorHeight) + (FloorHeight + 25), ((160 - 130.5) * 0.086), ((46.25 + 46.25) * 0.08)
+    
+    'Crawlspace top
+    Room(i).AddFloor GetTex("BrickTexture"), -160, -150, 160, -46.25, (i * FloorHeight) + (FloorHeight + 24.9) + (FloorHeight - 25), ((160 + 160) * 0.086), ((150 - 46.25) * 0.08)
+    Room(i).AddFloor GetTex("BrickTexture"), -160, 46.25, 160, 150, (i * FloorHeight) + (FloorHeight + 24.9) + (FloorHeight - 25), ((160 + 160) * 0.086), ((150 - 46.25) * 0.08)
+    Room(i).AddFloor GetTex("BrickTexture"), -90.5, -46.25, -52.5, 46.25, (i * FloorHeight) + (FloorHeight + 24.9) + (FloorHeight - 25), ((90.5 - 52.5) * 0.086), ((46.25 + 46.25) * 0.08)
+    Room(i).AddFloor GetTex("BrickTexture"), 52.5, -46.25, 90.5, 46.25, (i * FloorHeight) + (FloorHeight + 24.9) + (FloorHeight - 25), ((90.5 + 52.5) * 0.086), ((46.25 + 46.25) * 0.08)
+    Room(i).AddFloor GetTex("BrickTexture"), -12.5, -46.25, 12.5, 0, (i * FloorHeight) + (FloorHeight + 24.9) + (FloorHeight - 25), ((12.5 + 12.5) * 0.086), (46.25 * 0.08)
+    Room(i).AddFloor GetTex("BrickTexture"), -52.5, 0, 52.5, 46.25, (i * FloorHeight) + (FloorHeight + 24.9) + (FloorHeight - 25), ((52.5 + 52.5) * 0.086), (46.25 * 0.08)
+    Room(i).AddFloor GetTex("BrickTexture"), -160, -46.25, -130.5, 46.25, (i * FloorHeight) + (FloorHeight + 24.9) + (FloorHeight - 25), ((160 - 130.5) * 0.086), ((46.25 + 46.25) * 0.08)
+    Room(i).AddFloor GetTex("BrickTexture"), 160, -46.25, 130.5, 46.25, (i * FloorHeight) + (FloorHeight + 24.9) + (FloorHeight - 25), ((160 - 130.5) * 0.086), ((46.25 + 46.25) * 0.08)
+    
+    'Crawlspace walls
+    Room(i).AddWall GetTex("BrickTexture"), -160, -150, 160, -150, (FloorHeight - 25), (i * FloorHeight) + FloorHeight + 25, ((160 + 160) * 0.086), 1
+    Room(i).AddWall GetTex("BrickTexture"), 160, -150, 160, 150, (FloorHeight - 25), (i * FloorHeight) + FloorHeight + 25, ((160 + 160) * 0.086), 1
+    Room(i).AddWall GetTex("BrickTexture"), 160, 150, -160, 150, (FloorHeight - 25), (i * FloorHeight) + FloorHeight + 25, ((160 + 160) * 0.086), 1
+    Room(i).AddWall GetTex("BrickTexture"), -160, 150, -160, -150, (FloorHeight - 25), (i * FloorHeight) + FloorHeight + 25, ((160 + 160) * 0.086), 1
+
     'Stairwell Walls
-    Stairs(i).AddWall GetTex("Concrete"), -12.5 - 0.5, -46.25 + 0.1, -12.5 - 0.5, -40.3, 75, (i * 25) + 25, ((46.25 - 40.3) * 0.086) * 4, 3 * 4
-    Stairs(i).AddWall GetTex("Concrete"), -12.5 - 0.5, -32.5, -12.5 - 0.5, -30, 75, (i * 25) + 25, (2.5 * 0.086) * 4, 3 * 4
-    Stairs(i).AddWall GetTex("Concrete"), -32.5 + 0.1, -46.25 + 0.1, -32.5 + 0.1, -30 - 1, 75, (i * 25) + 25, (16.25 * 0.086) * 4, 3 * 4
-    Stairs(i).AddWall GetTex("Concrete"), -12.5, -46.25 + 0.1, -32.5, -46.25 + 0.1, 75, (i * 25) + 25, (20 * 0.086) * 4, 3 * 4
-    Stairs(i).AddWall GetTex("Concrete"), -12.5, -30 - 1, -32.5, -30 - 1, 75, (i * 25) + 25, (20 * 0.086) * 4, 3 * 4
-    Stairs(i).AddWall GetTex("Concrete"), -12.5 - 6, -46.25 + 7.71, -12.5 - 16, -46.25 + 7.71, 75, (i * 25) + 25, (10 * 0.086) * 4, 3 * 4
-    Stairs(i).AddWall GetTex("Concrete"), -12.5 - 0.5, -40.3, -12.5 - 0.5, -30, 5.5, 19.5 + (i * 25) + 25, (10.3 * 0.086) * 4, 0.2 * 4
-    
-    If i = 2 Or i = 39 Then Call DrawElevatorWalls(Int(i), 2, True, True, False, False, False, False, False, False, False, True, True)
-    If i <> 2 And i <> 39 Then Call DrawElevatorWalls(Int(i), 2, True, False, False, False, False, False, False, False, False, True, True)
+    Stairs(i).AddWall GetTex("Concrete"), -12.5 - 0.5, -46.25 + 0.1, -12.5 - 0.5, -40.3, (FloorHeight), (i * FloorHeight) + FloorHeight, ((46.25 - 40.3) * 0.086), ((FloorHeight) * 0.086)
+    Stairs(i).AddWall GetTex("Concrete"), -12.5 - 0.5, -32.5, -12.5 - 0.5, -30, (FloorHeight), (i * FloorHeight) + FloorHeight, (2.5 * 0.086), ((FloorHeight) * 0.086)
+    Stairs(i).AddWall GetTex("Concrete"), -32.5 + 0.1, -46.25 + 0.1, -32.5 + 0.1, -30 - 1, (FloorHeight), (i * FloorHeight) + FloorHeight, (16.25 * 0.086), ((FloorHeight) * 0.086)
+    Stairs(i).AddWall GetTex("Concrete"), -12.5, -46.25 + 0.1, -32.5, -46.25 + 0.1, (FloorHeight), (i * FloorHeight) + FloorHeight, (20 * 0.086), ((FloorHeight) * 0.086)
+    Stairs(i).AddWall GetTex("Concrete"), -12.5, -30 - 1, -32.5, -30 - 1, (FloorHeight), (i * FloorHeight) + FloorHeight, (20 * 0.086), ((FloorHeight) * 0.086)
+    Stairs(i).AddWall GetTex("Concrete"), -12.5 - 6, -46.25 + 7.71, -12.5 - 16, -46.25 + 7.71, (FloorHeight), (i * FloorHeight) + FloorHeight, (10 * 0.086), ((FloorHeight) * 0.086)
+    Stairs(i).AddWall GetTex("Concrete"), -12.5 - 0.5, -40.3, -12.5 - 0.5, -30, (FloorHeight - 19.5), 19.5 + (i * FloorHeight) + FloorHeight, (10.3 * 0.086), ((FloorHeight - 19.5) * 0.08)
+    
+    If i = 2 Or i = 39 Then
+    Call DrawElevatorWalls(Int(i), 5, 1, True, False, True, False, False, False, False, False, False, False, False, False)
+    Call DrawElevatorWalls(Int(i), 5, 2, True, False, True, False, False, False, False, False, False, False, False, False)
+    Call DrawElevatorWalls(Int(i), 2, 3, True, False, False, False, False, False, False, False, False, False, False, False)
+    Call DrawElevatorWalls(Int(i), 2, 4, True, False, True, True, True, True, True, True, True, True, True, True)
+    End If
+    If i <> 2 And i <> 39 Then
+    Call DrawElevatorWalls(Int(i), 5, 1, True, False, False, False, False, False, False, False, False, False, False, False)
+    Call DrawElevatorWalls(Int(i), 5, 2, True, False, True, False, False, False, False, False, False, False, False, False)
+    Call DrawElevatorWalls(Int(i), 2, 3, True, False, False, False, False, False, False, False, False, False, False, False)
+    Call DrawElevatorWalls(Int(i), 2, 4, True, False, True, True, True, True, True, True, True, True, True, True)
+    End If
     
     'Room(I) Walls
-    'Room(i).AddWall GetTex("Wall3"), -160, -71.3, 160, -71.3, 25, (i * 25) + 25, 9, 1
-    'Room(i).AddWall GetTex("Wall3"), -160, 46.3, -32.5, 46.3, 25, (i * 25) + 25, 9, 1
-    'Room(i).AddWall GetTex("Wall3"), 32.5, 46.3, 160, 46.3, 25, (i * 25) + 25, 2, 1
-    
-    'Room(i).AddWall GetTex("Wall3"), -160, -46.3, -32.5, -46.3, 25, (i * 25) + 25, 9, 1
-    'Room(i).AddWall GetTex("Wall3"), 32.5, -46.3, 160, -46.3, 25, (i * 25) + 25, 2, 1
-    
     'top walls
-    Room(i).AddWall GetTex("Wall3"), -160, -71.3, -110 - 3.9, -71.3, 19.5, (i * 25) + 25, ((160 - 110) * 0.086), 1
-    Room(i).AddWall GetTex("Wall3"), -110 + 3.9, -71.3, -45 - 3.9, -71.3, 19.5, (i * 25) + 25, ((110 - 45) * 0.086), 1
-    Room(i).AddWall GetTex("Wall3"), -45 + 3.9, -71.3, -20 - 3.9, -71.3, 19.5, (i * 25) + 25, ((45 - 20) * 0.086), 1
-    Room(i).AddWall GetTex("Wall3"), -20 + 3.9, -71.3, 45 - 3.9, -71.3, 19.5, (i * 25) + 25, ((45 + 20) * 0.086), 1
-    Room(i).AddWall GetTex("Wall3"), 45 + 3.9, -71.3, 110 - 3.9, -71.3, 19.5, (i * 25) + 25, ((110 - 45) * 0.086), 1
-    Room(i).AddWall GetTex("Wall3"), 110 + 3.9, -71.3, 160, -71.3, 19.5, (i * 25) + 25, ((160 - 110) * 0.086), 1
-    Room(i).AddWall GetTex("Wall3"), -160, -71.3, 160, -71.3, 5.5, (i * 25) + 25 + 19.5, ((160 * 2) * 0.086), (5.5 * 0.08)
+    Room(i).AddWall GetTex("Wall3"), -160, -71.3, -90.5, -71.3, 19.5, (i * FloorHeight) + FloorHeight, ((160 - 90.5) * 0.086), (19.5 * 0.08)
+    Room(i).AddWall GetTex("Wall3"), -70, -71.3, 70, -71.3, 19.5, (i * FloorHeight) + FloorHeight, ((70 + 70) * 0.086), (19.5 * 0.08)
+    Room(i).AddWall GetTex("Wall3"), 160, -71.3, 90.5, -71.3, 19.5, (i * FloorHeight) + FloorHeight, ((160 - 90.5) * 0.086), (19.5 * 0.08)
+    
+    Room(i).AddWall GetTex("Wall3"), -160, -71.3, -90.5, -71.3, 5.5, (i * FloorHeight) + FloorHeight + 19.5, ((160 - 90.5) * 0.086), (5.5 * 0.08)
+    Room(i).AddWall GetTex("Wall3"), -70, -71.3, 70, -71.3, 5.5, (i * FloorHeight) + FloorHeight + 19.5, ((70 + 70) * 0.086), (5.5 * 0.08)
+    Room(i).AddWall GetTex("Wall3"), 160, -71.3, 90.5, -71.3, 5.5, (i * FloorHeight) + FloorHeight + 19.5, ((160 - 90.5) * 0.086), (5.5 * 0.08)
     
     'bottom walls
-    Room(i).AddWall GetTex("Wall3"), -160, 71.3, -110 - 3.9, 71.3, 19.5, (i * 25) + 25, ((160 - 110) * 0.086), 1
-    Room(i).AddWall GetTex("Wall3"), -110 + 3.9, 71.3, -45 - 3.9, 71.3, 19.5, (i * 25) + 25, ((110 - 45) * 0.086), 1
-    Room(i).AddWall GetTex("Wall3"), -45 + 3.9, 71.3, 20 - 3.9, 71.3, 19.5, (i * 25) + 25, ((45 - 20) * 0.086), 1
-    Room(i).AddWall GetTex("Wall3"), 20 + 3.9, 71.3, 45 - 3.9, 71.3, 19.5, (i * 25) + 25, ((45 + 20) * 0.086), 1
-    Room(i).AddWall GetTex("Wall3"), 45 + 3.9, 71.3, 110 - 3.9, 71.3, 19.5, (i * 25) + 25, ((110 - 45) * 0.086), 1
-    Room(i).AddWall GetTex("Wall3"), 110 + 3.9, 71.3, 160, 71.3, 19.5, (i * 25) + 25, ((160 - 110) * 0.086), 1
-    Room(i).AddWall GetTex("Wall3"), -160, 71.3, 160, 71.3, 5.5, (i * 25) + 25 + 19.5, ((160 * 2) * 0.086), (5.5 * 0.08)
+    Room(i).AddWall GetTex("Wall3"), -160, 71.3, -90.5, 71.3, 19.5, (i * FloorHeight) + FloorHeight, ((160 - 90.5) * 0.086), (19.5 * 0.08)
+    Room(i).AddWall GetTex("Wall3"), -70, 71.3, 70, 71.3, 19.5, (i * FloorHeight) + FloorHeight, ((70 + 70) * 0.086), (19.5 * 0.08)
+    Room(i).AddWall GetTex("Wall3"), 160, 71.3, 90.5, 71.3, 19.5, (i * FloorHeight) + FloorHeight, ((160 - 90.5) * 0.086), (19.5 * 0.08)
+    
+    Room(i).AddWall GetTex("Wall3"), -160, 71.3, -90.5, 71.3, 5.5, (i * FloorHeight) + FloorHeight + 19.5, ((160 - 90.5) * 0.086), (5.5 * 0.08)
+    Room(i).AddWall GetTex("Wall3"), -70, 71.3, 70, 71.3, 5.5, (i * FloorHeight) + FloorHeight + 19.5, ((70 + 70) * 0.086), (5.5 * 0.08)
+    Room(i).AddWall GetTex("Wall3"), 160, 71.3, 90.5, 71.3, 5.5, (i * FloorHeight) + FloorHeight + 19.5, ((160 - 90.5) * 0.086), (5.5 * 0.08)
     
     'top middle walls
-    Room(i).AddWall GetTex("Wall3"), -160, -46.25, -108 - 3.9, -46.25, 19.5, (i * 25) + 25, ((160 - 108) * 0.086), (19.5 * 0.08)
-    Room(i).AddWall GetTex("Wall3"), -108 + 3.9, -46.25, -87 - 3.9, -46.25, 19.5, (i * 25) + 25, ((108 - 87) * 0.086), (19.5 * 0.08)
-    Room(i).AddWall GetTex("Wall3"), -87 + 3.9, -46.25, -32.5, -46.25, 19.5, (i * 25) + 25, ((87 - 32) * 0.086), (19.5 * 0.08)
-    Room(i).AddWall GetTex("Wall3"), 32.5, -46.25, 39 - 3.9, -46.25, 19.5, (i * 25) + 25, ((39 - 32) * 0.086), (19.5 * 0.08)
-    Room(i).AddWall GetTex("Wall3"), 39 + 3.9, -46.25, 87 - 3.9, -46.25, 19.5, (i * 25) + 25, ((87 - 39) * 0.086), (19.5 * 0.08)
-    Room(i).AddWall GetTex("Wall3"), 87 + 3.9, -46.25, 108 - 3.9, -46.25, 19.5, (i * 25) + 25, ((108 - 87) * 0.086), (19.5 * 0.08)
-    Room(i).AddWall GetTex("Wall3"), 108 + 3.9, -46.25, 160, -46.25, 19.5, (i * 25) + 25, ((160 - 108) * 0.086), (19.5 * 0.08)
-    Room(i).AddWall GetTex("Wall3"), -160, -46.25, -32.5, -46.25, 5.5, (i * 25) + 25 + 19.5, ((160 - 32.5) * 0.086), (5.5 * 0.08)
-    Room(i).AddWall GetTex("Wall3"), 32.5, -46.25, 160, -46.25, 5.5, (i * 25) + 25 + 19.5, ((160 - 32.5) * 0.086), (5.5 * 0.08)
-    'service room
-    Room(i).AddWall GetTex("Wall3"), 50, -46.25, 50, -20, 25, (i * 25) + 25, ((46.25 - 20) * 0.086), 1
-    Room(i).AddWall GetTex("Wall3"), 50, -20, 32.5, -20, 25, (i * 25) + 25, ((50 - 32.5) * 0.086), 1
+    Room(i).AddWall GetTex("Wall3"), -70, -46.25, -61.25 - 3.9, -46.25, 19.5, (i * FloorHeight) + FloorHeight, ((70 - 61.25 - 3.9) * 0.086), (19.5 * 0.08)
+    Room(i).AddWall GetTex("Wall3"), -61.25 + 3.9, -46.25, -52.5, -46.25, 19.5, (i * FloorHeight) + FloorHeight, ((61.25 - 3.9 - 52.5) * 0.086), (19.5 * 0.08)
+    Room(i).AddWall GetTex("Wall3"), 70, -46.25, 61.25 + 3.9, -46.25, 19.5, (i * FloorHeight) + FloorHeight, ((70 - 61.25 + 3.9) * 0.086), (19.5 * 0.08)
+    Room(i).AddWall GetTex("Wall3"), 61.25 - 3.9, -46.25, 52.5, -46.25, 19.5, (i * FloorHeight) + FloorHeight, ((61.25 - 3.9 - 52.5) * 0.086), (19.5 * 0.08)
+    
+    Room(i).AddWall GetTex("Wall3"), -70, -46.25, -52.5, -46.25, 5.5, (i * FloorHeight) + FloorHeight + 19.5, ((70 - 52.5) * 0.086), (5.5 * 0.08)
+    Room(i).AddWall GetTex("Wall3"), 52.5, -46.25, 70, -46.25, 5.5, (i * FloorHeight) + FloorHeight + 19.5, ((70 - 52.5) * 0.086), (5.5 * 0.08)
+    
+    'service rooms
+    Room(i).AddWall GetTex("Wall3"), 70, -46.25, 70, 46.25, 25, (i * FloorHeight) + FloorHeight, ((46.25 + 46.25) * 0.086), 1
+    Room(i).AddWall GetTex("Wall3"), 70, -15, 52.5, -15, 25, (i * FloorHeight) + FloorHeight, ((70 - 52.5) * 0.086), 1
+    
+    Room(i).AddWall GetTex("Wall3"), -70, -46.25, -70, 46.25, 25, (i * FloorHeight) + FloorHeight, ((46.25 + 46.25) * 0.086), 1
+    Room(i).AddWall GetTex("Wall3"), -70, -15, -52.5, -15, 25, (i * FloorHeight) + FloorHeight, ((70 - 52.5) * 0.086), 1
+    
+    'left hallway
+    Room(i).AddWall GetTex("Wall3"), 70, -150, 70, -130 - 3.9, 19.5, (i * FloorHeight) + FloorHeight, ((150 - 130 - 3.9) * 0.086), (19.5 * 0.08)
+    Room(i).AddWall GetTex("Wall3"), 70, -130 + 3.9, 70, -90 - 3.9, 19.5, (i * FloorHeight) + FloorHeight, ((130 - 90 - 3.9 - 3.9) * 0.086), (19.5 * 0.08)
+    Room(i).AddWall GetTex("Wall3"), 70, -90 + 3.9, 70, -71.3, 19.5, (i * FloorHeight) + FloorHeight, ((90 - 71.3 - 3.9) * 0.086), (19.5 * 0.08)
+    Room(i).AddWall GetTex("Wall3"), 90.5, -150, 90.5, -130 - 3.9, 19.5, (i * FloorHeight) + FloorHeight, ((150 - 130 - 3.9) * 0.086), (19.5 * 0.08)
+    Room(i).AddWall GetTex("Wall3"), 90.5, -130 + 3.9, 90.5, -90 - 3.9, 19.5, (i * FloorHeight) + FloorHeight, ((130 - 90 - 3.9 - 3.9) * 0.086), (19.5 * 0.08)
+    Room(i).AddWall GetTex("Wall3"), 90.5, -90 + 3.9, 90.5, -71.3, 19.5, (i * FloorHeight) + FloorHeight, ((90 - 71.3 - 3.9) * 0.086), (19.5 * 0.08)
+    Room(i).AddWall GetTex("Wall3"), 70, 150, 70, 130 + 3.9, 19.5, (i * FloorHeight) + FloorHeight, ((150 - 130 - 3.9) * 0.086), (19.5 * 0.08)
+    Room(i).AddWall GetTex("Wall3"), 70, 130 - 3.9, 70, 90 + 3.9, 19.5, (i * FloorHeight) + FloorHeight, ((130 - 90 - 3.9 - 3.9) * 0.086), (19.5 * 0.08)
+    Room(i).AddWall GetTex("Wall3"), 70, 90 - 3.9, 70, 71.3, 19.5, (i * FloorHeight) + FloorHeight, ((90 - 71.3 - 3.9) * 0.086), (19.5 * 0.08)
+    Room(i).AddWall GetTex("Wall3"), 90.5, 150, 90.5, 130 + 3.9, 19.5, (i * FloorHeight) + FloorHeight, ((150 - 130 - 3.9) * 0.086), (19.5 * 0.08)
+    Room(i).AddWall GetTex("Wall3"), 90.5, 130 - 3.9, 90.5, 90 + 3.9, 19.5, (i * FloorHeight) + FloorHeight, ((130 - 90 - 3.9 - 3.9) * 0.086), (19.5 * 0.08)
+    Room(i).AddWall GetTex("Wall3"), 90.5, 90 - 3.9, 90.5, 71.3, 19.5, (i * FloorHeight) + FloorHeight, ((90 - 71.3 - 3.9) * 0.086), (19.5 * 0.08)
+    
+    Room(i).AddWall GetTex("Wall3"), 70, -150, 70, -71.3, 5.5, (i * FloorHeight) + FloorHeight + 19.5, ((150 - 71.3) * 0.086), (5.5 * 0.08)
+    Room(i).AddWall GetTex("Wall3"), 90.5, -150, 90.5, -71.3, 5.5, (i * FloorHeight) + FloorHeight + 19.5, ((150 - 71.3) * 0.086), (5.5 * 0.08)
+    Room(i).AddWall GetTex("Wall3"), 70, 150, 70, 71.3, 5.5, (i * FloorHeight) + FloorHeight + 19.5, ((150 - 71.3) * 0.086), (5.5 * 0.08)
+    Room(i).AddWall GetTex("Wall3"), 90.5, 150, 90.5, 71.3, 5.5, (i * FloorHeight) + FloorHeight + 19.5, ((150 - 71.3) * 0.086), (5.5 * 0.08)
+    
+    'right hallway
+    Room(i).AddWall GetTex("Wall3"), -70, -150, -70, -130 - 3.9, 19.5, (i * FloorHeight) + FloorHeight, ((150 - 130 - 3.9) * 0.086), (19.5 * 0.08)
+    Room(i).AddWall GetTex("Wall3"), -70, -130 + 3.9, -70, -90 - 3.9, 19.5, (i * FloorHeight) + FloorHeight, ((130 - 90 - 3.9 - 3.9) * 0.086), (19.5 * 0.08)
+    Room(i).AddWall GetTex("Wall3"), -70, -90 + 3.9, -70, -71.3, 19.5, (i * FloorHeight) + FloorHeight, ((90 - 70 - 3.9) * 0.086), (19.5 * 0.08)
+    Room(i).AddWall GetTex("Wall3"), -90.5, -150, -90.5, -130 - 3.9, 19.5, (i * FloorHeight) + FloorHeight, ((150 - 130 - 3.9) * 0.086), (19.5 * 0.08)
+    Room(i).AddWall GetTex("Wall3"), -90.5, -130 + 3.9, -90.5, -90 - 3.9, 19.5, (i * FloorHeight) + FloorHeight, ((130 - 90 - 3.9 - 3.9) * 0.086), (19.5 * 0.08)
+    Room(i).AddWall GetTex("Wall3"), -90.5, -90 + 3.9, -90.5, -71.3, 19.5, (i * FloorHeight) + FloorHeight, ((90 - 71.3 - 3.9) * 0.086), (19.5 * 0.08)
+    Room(i).AddWall GetTex("Wall3"), -70, 150, -70, 130 + 3.9, 19.5, (i * FloorHeight) + FloorHeight, ((150 - 130 - 3.9) * 0.086), (19.5 * 0.08)
+    Room(i).AddWall GetTex("Wall3"), -70, 130 - 3.9, -70, 90 + 3.9, 19.5, (i * FloorHeight) + FloorHeight, ((130 - 90 - 3.9 - 3.9) * 0.086), (19.5 * 0.08)
+    Room(i).AddWall GetTex("Wall3"), -70, 90 - 3.9, -70, 71.3, 19.5, (i * FloorHeight) + FloorHeight, ((90 - 71.3 - 3.9) * 0.086), (19.5 * 0.08)
+    Room(i).AddWall GetTex("Wall3"), -90.5, 150, -90.5, 130 + 3.9, 19.5, (i * FloorHeight) + FloorHeight, ((150 - 130 - 3.9) * 0.086), (19.5 * 0.08)
+    Room(i).AddWall GetTex("Wall3"), -90.5, 130 - 3.9, -90.5, 90 + 3.9, 19.5, (i * FloorHeight) + FloorHeight, ((130 - 90 - 3.9 - 3.9) * 0.086), (19.5 * 0.08)
+    Room(i).AddWall GetTex("Wall3"), -90.5, 90 - 3.9, -90.5, 71.3, 19.5, (i * FloorHeight) + FloorHeight, ((90 - 71.3 - 3.9) * 0.086), (19.5 * 0.08)
+    
+    Room(i).AddWall GetTex("Wall3"), -70, -150, -70, -71.3, 5.5, (i * FloorHeight) + FloorHeight + 19.5, ((150 - 71.3) * 0.086), (5.5 * 0.08)
+    Room(i).AddWall GetTex("Wall3"), -90.5, -150, -90.5, -71.3, 5.5, (i * FloorHeight) + FloorHeight + 19.5, ((150 - 71.3) * 0.086), (5.5 * 0.08)
+    Room(i).AddWall GetTex("Wall3"), -70, 150, -70, 71.3, 5.5, (i * FloorHeight) + FloorHeight + 19.5, ((150 - 71.3) * 0.086), (5.5 * 0.08)
+    Room(i).AddWall GetTex("Wall3"), -90.5, 150, -90.5, 71.3, 5.5, (i * FloorHeight) + FloorHeight + 19.5, ((150 - 71.3) * 0.086), (5.5 * 0.08)
+    
+    'middle hallway extension
+    Room(i).AddWall GetTex("Wall3"), -12.5, 0, -12.5, 46.25, 25, (i * FloorHeight) + FloorHeight, (46.25 * 0.086), (19.5 * 0.08)
+    Room(i).AddWall GetTex("Wall3"), 12.5, 0, 12.5, 46.25, 25, (i * FloorHeight) + FloorHeight, (46.25 * 0.086), (19.5 * 0.08)
     
     'bottom middle walls
-    Room(i).AddWall GetTex("Wall3"), -160, 46.25, -108 - 3.9, 46.25, 19.5, (i * 25) + 25, ((160 - 108) * 0.086), (19.5 * 0.08)
-    Room(i).AddWall GetTex("Wall3"), -108 + 3.9, 46.25, -87 - 3.9, 46.25, 19.5, (i * 25) + 25, ((108 - 87) * 0.086), (19.5 * 0.08)
-    Room(i).AddWall GetTex("Wall3"), -87 + 3.9, 46.25, -32.5, 46.25, 19.5, (i * 25) + 25, ((87 - 32) * 0.086), (19.5 * 0.08)
-    Room(i).AddWall GetTex("Wall3"), 32.5, 46.25, 87 - 3.9, 46.25, 19.5, (i * 25) + 25, ((87 - 32) * 0.086), (19.5 * 0.08)
-    Room(i).AddWall GetTex("Wall3"), 87 + 3.9, 46.25, 108 - 3.9, 46.25, 19.5, (i * 25) + 25, ((108 - 87) * 0.086), (19.5 * 0.08)
-    Room(i).AddWall GetTex("Wall3"), 108 + 3.9, 46.25, 160, 46.25, 19.5, (i * 25) + 25, ((160 - 108) * 0.086), (19.5 * 0.08)
-    Room(i).AddWall GetTex("Wall3"), -160, 46.25, -32.5, 46.25, 5.5, (i * 25) + 25 + 19.5, ((160 - 32.5) * 0.086), (5.5 * 0.08)
-    Room(i).AddWall GetTex("Wall3"), 32.5, 46.25, 160, 46.25, 5.5, (i * 25) + 25 + 19.5, ((160 - 32.5) * 0.086), (5.5 * 0.08)
-    
-    Room(i).AddWall GetTex("Wall3"), -96, -71.3, -96, -150, 25, (i * 25) + 25, ((150 - 71.3) * 0.086), 1
-    Room(i).AddWall GetTex("Wall3"), -96, 71.3, -96, 150, 25, (i * 25) + 25, ((150 - 71.3) * 0.086), 1
-    
-    Room(i).AddWall GetTex("Wall3"), -32, -71.3, -32, -150, 25, (i * 25) + 25, ((150 - 71.3) * 0.086), 1
-    Room(i).AddWall GetTex("Wall3"), -32, 71.3, -32, 150, 25, (i * 25) + 25, ((150 - 71.3) * 0.086), 1
-    
-    Room(i).AddWall GetTex("Wall3"), 32, -71.3, 32, -150, 25, (i * 25) + 25, ((150 - 71.3) * 0.086), 1
-    Room(i).AddWall GetTex("Wall3"), 32, 71.3, 32, 150, 25, (i * 25) + 25, ((150 - 71.3) * 0.086), 1
+    Room(i).AddWall GetTex("Wall3"), -70, 46.25, -22.5 - 3.9, 46.25, 19.5, (i * FloorHeight) + FloorHeight, ((70 - 22.5 - 3.9) * 0.086), (19.5 * 0.08)
+    Room(i).AddWall GetTex("Wall3"), -22.5 + 3.9, 46.25, -12.5, 46.25, 19.5, (i * FloorHeight) + FloorHeight, ((22.5 - 12.5 - 3.9) * 0.086), (19.5 * 0.08)
+    Room(i).AddWall GetTex("Wall3"), 70, 46.25, 22.5 + 3.9, 46.25, 19.5, (i * FloorHeight) + FloorHeight, ((70 - 22.5 - 3.9) * 0.086), (19.5 * 0.08)
+    Room(i).AddWall GetTex("Wall3"), 22.5 - 3.9, 46.25, 12.5, 46.25, 19.5, (i * FloorHeight) + FloorHeight, ((22.5 - 12.5 - 3.9) * 0.086), (19.5 * 0.08)
     
-    Room(i).AddWall GetTex("Wall3"), 96, -71.3, 96, -150, 25, (i * 25) + 25, ((150 - 71.3) * 0.086), 1
-    Room(i).AddWall GetTex("Wall3"), 96, 71.3, 96, 150, 25, (i * 25) + 25, ((150 - 71.3) * 0.086), 1
+    Room(i).AddWall GetTex("Wall3"), -70, 46.25, -12.5, 46.25, 5.5, (i * FloorHeight) + FloorHeight + 19.5, ((70 - 12.5) * 0.086), (5.5 * 0.08)
+    Room(i).AddWall GetTex("Wall3"), 12.5, 46.25, 70, 46.25, 5.5, (i * FloorHeight) + FloorHeight + 19.5, ((70 - 12.5) * 0.086), (5.5 * 0.08)
     
-    Room(i).AddWall GetTex("Wall3"), 96, -46.3, 96, 46.3, 25, (i * 25) + 25, ((46.3 * 2) * 0.086), 1
-    Room(i).AddWall GetTex("Wall3"), -96, -46.3, -96, 46.3, 25, (i * 25) + 25, ((46.3 * 2) * 0.086), 1
+    'Rooms
+    Room(i).AddWall GetTex("Wall3"), -160, -110, -90.5, -110, 25, (i * FloorHeight) + FloorHeight, ((160 - 90.5) * 0.086), 1
+    Room(i).AddWall GetTex("Wall3"), -160, 110, -90.5, 110, 25, (i * FloorHeight) + FloorHeight, ((160 - 90.5) * 0.086), 1
+    Room(i).AddWall GetTex("Wall3"), -70, -110, 70, -110, 25, (i * FloorHeight) + FloorHeight, ((70 * 2) * 0.086), 1
+    Room(i).AddWall GetTex("Wall3"), -70, 110, 70, 110, 25, (i * FloorHeight) + FloorHeight, ((70 * 2) * 0.086), 1
+    Room(i).AddWall GetTex("Wall3"), 160, -110, 90.5, -110, 25, (i * FloorHeight) + FloorHeight, ((160 - 90.5) * 0.086), 1
+    Room(i).AddWall GetTex("Wall3"), 160, 110, 90.5, 110, 25, (i * FloorHeight) + FloorHeight, ((160 - 90.5) * 0.086), 1
     
-    Room(i).AddWall GetTex("Wall3"), -160, 0, -32, 0, 25, (i * 25) + 25, ((160 - 32) * 0.086), 1
-    Room(i).AddWall GetTex("Wall3"), 160, 0, 32, 0, 25, (i * 25) + 25, ((160 - 32) * 0.086), 1
+    Room(i).AddWall GetTex("Wall3"), 0, -71.3, 0, -150, 25, (i * FloorHeight) + FloorHeight, ((150 - 71.3) * 0.086), 1
+    Room(i).AddWall GetTex("Wall3"), 0, 71.3, 0, 150, 25, (i * FloorHeight) + FloorHeight, ((150 - 71.3) * 0.086), 1
     
     Next i
-Form1.Print "done"
-    'Landings
-    'External.AddFloor GetTex("BrickTexture"), -160, -150, -135, 150, (40 * 25) + 25, 10, 10
-    'External.AddFloor GetTex("BrickTexture"), 160, -150, 135, 150, (40 * 25) + 25, 10, 10
 
 End Sub
 Sub Process40to79()
     
     'Floors 40 to 79 (minus 14 feet on both sides where 20=8 feet)
     For i = 40 To 79
-    Form1.Print ".";
-    'Mesh.AddFloor GetTex("Granite"), -135, -150, 135, 150, (I * 25) + 25, 10, 10
-    Room(i).AddFloor GetTex("Granite"), -135, -150, 135, -46.25, (i * 25) + 25, 10, 3
-    Room(i).AddFloor GetTex("Granite"), -135, 30.83, 135, 150, (i * 25) + 25, 10, 3
-    Room(i).AddFloor GetTex("Granite"), -135, -46.25, -32.5, 30.83, (i * 25) + 25, 3, 3
-    Room(i).AddFloor GetTex("Granite"), 32.5, -46.25, 135, 30.83, (i * 25) + 25, 3, 3
-    Room(i).AddFloor GetTex("Granite"), -12.5, -46.25, 12.5, 30.83, (i * 25) + 25, 1, 3
-    
-    Room(i).AddFloor GetTex("Marble3"), -135, -150, 135, -46.25, (i * 25) + 49.5, 10, 3
-    Room(i).AddFloor GetTex("Marble3"), -135, 30.83, 135, 150, (i * 25) + 49.5, 10, 3
-    Room(i).AddFloor GetTex("Marble3"), -135, -46.25, -32.5, 30.83, (i * 25) + 49.5, 3, 3
-    Room(i).AddFloor GetTex("Marble3"), 32.5, -46.25, 135, 30.83, (i * 25) + 49.5, 3, 3
-    Room(i).AddFloor GetTex("Marble3"), -12.5, -46.25, 12.5, 30.83, (i * 25) + 49.5, 1, 3
-   
-    'Fake Stairway Doors for other floors
-    Room(i).AddWall GetTex("StairsDoor"), -12.8, -36.4 - 3.9, -12.8, -36.4 + 4.3, 19.5, (i * 25) + 25 + 25, -1, 1
+    DoEvents
+    Form1.Label2.Caption = "Processing Floors 40 to 79... " + Str$(Int(((i - 40) / (79 - 40)) * 100)) + "%"
+    
+    'Floor
+    Room(i).AddFloor GetTex("Granite"), -135, -150, 135, -46.25, (i * FloorHeight) + FloorHeight, ((135 * 2) * 0.086), ((150 - 46.25) * 0.08)
+    Room(i).AddFloor GetTex("Granite"), -135, 46.25, 135, 150, (i * FloorHeight) + FloorHeight, ((135 * 2) * 0.086), ((150 - 46.25) * 0.08)
+    Room(i).AddFloor GetTex("Granite"), -90.5, -46.25, -52.5, 46.25, (i * FloorHeight) + FloorHeight, ((90.5 - 52.5) * 0.086), ((46.25 * 2) * 0.08)
+    Room(i).AddFloor GetTex("Granite"), 52.5, -46.25, 90.5, 46.25, (i * FloorHeight) + FloorHeight, ((90.5 - 52.5) * 0.086), ((46.25 * 2) * 0.08)
+    Room(i).AddFloor GetTex("Granite"), -12.5, -46.25, 12.5, 0, (i * FloorHeight) + FloorHeight, ((12.5 * 2) * 0.086), (46.25 * 0.08)
+    Room(i).AddFloor GetTex("Granite"), -52.5, 0, 52.5, 46.25, (i * FloorHeight) + FloorHeight, ((52.5 * 2) * 0.086), (46.25 * 0.08)
+    Room(i).AddFloor GetTex("Granite"), -135, -46.25, -110.5, 46.25, (i * FloorHeight) + FloorHeight, ((135 - 110.5) * 0.086), ((46.25 * 2) * 0.08)
+    Room(i).AddFloor GetTex("Granite"), 135, -46.25, 110.5, 46.25, (i * FloorHeight) + FloorHeight, ((135 - 110.5) * 0.086), ((46.25 * 2) * 0.08)
     
+    'Ceiling
+    Room(i).AddFloor GetTex("Marble3"), -135, -150, 135, -46.25, (i * FloorHeight) + (FloorHeight + 25) - 0.5, ((135 * 2) * 0.086), ((150 - 46.25) * 0.08)
+    Room(i).AddFloor GetTex("Marble3"), -135, 46.25, 135, 150, (i * FloorHeight) + (FloorHeight + 25) - 0.5, ((135 * 2) * 0.086), ((150 - 46.25) * 0.08)
+    Room(i).AddFloor GetTex("Marble3"), -90.5, -46.25, -52.5, 46.25, (i * FloorHeight) + (FloorHeight + 25) - 0.5, ((90.5 - 52.5) * 0.086), ((46.25 * 2) * 0.08)
+    Room(i).AddFloor GetTex("Marble3"), 52.5, -46.25, 90.5, 46.25, (i * FloorHeight) + (FloorHeight + 25) - 0.5, ((90.5 - 52.5) * 0.086), ((46.25 * 2) * 0.08)
+    Room(i).AddFloor GetTex("Marble3"), -12.5, -46.25, 12.5, 0, (i * FloorHeight) + (FloorHeight + 25) - 0.5, ((12.5 * 2) * 0.086), (46.25 * 0.08)
+    Room(i).AddFloor GetTex("Marble3"), -52.5, 0, 52.5, 46.25, (i * FloorHeight) + (FloorHeight + 25) - 0.5, ((52.5 * 2) * 0.086), (46.25 * 0.08)
+    Room(i).AddFloor GetTex("Marble3"), -135, -46.25, -110.5, 46.25, (i * FloorHeight) + (FloorHeight + 25) - 0.5, ((135 - 110.5) * 0.086), ((46.25 * 2) * 0.08)
+    Room(i).AddFloor GetTex("Marble3"), 135, -46.25, 110.5, 46.25, (i * FloorHeight) + (FloorHeight + 25) - 0.5, ((135 - 110.5) * 0.086), ((46.25 * 2) * 0.08)
+    
+    'Crawlspace bottom
+    Room(i).AddFloor GetTex("BrickTexture"), -135, -150, 135, -46.25, (i * FloorHeight) + (FloorHeight + 25), ((135 * 2) * 0.086), ((150 - 46.25) * 0.08)
+    Room(i).AddFloor GetTex("BrickTexture"), -135, 46.25, 135, 150, (i * FloorHeight) + (FloorHeight + 25), ((135 * 2) * 0.086), ((150 - 46.25) * 0.08)
+    Room(i).AddFloor GetTex("BrickTexture"), -90.5, -46.25, -52.5, 46.25, (i * FloorHeight) + (FloorHeight + 25), ((90.5 - 52.5) * 0.086), ((46.25 * 2) * 0.08)
+    Room(i).AddFloor GetTex("BrickTexture"), 52.5, -46.25, 90.5, 46.25, (i * FloorHeight) + (FloorHeight + 25), ((90.5 - 52.5) * 0.086), ((46.25 * 2) * 0.08)
+    Room(i).AddFloor GetTex("BrickTexture"), -12.5, -46.25, 12.5, 0, (i * FloorHeight) + (FloorHeight + 25), ((12.5 * 2) * 0.086), ((46.25) * 0.08)
+    Room(i).AddFloor GetTex("BrickTexture"), -52.5, 0, 52.5, 46.25, (i * FloorHeight) + (FloorHeight + 25), ((52.5 * 2) * 0.086), (46.25 * 0.08)
+    Room(i).AddFloor GetTex("BrickTexture"), -135, -46.25, -110.5, 46.25, (i * FloorHeight) + (FloorHeight + 25), ((135 - 110.5) * 0.086), ((46.25 * 2) * 0.08)
+    Room(i).AddFloor GetTex("BrickTexture"), 135, -46.25, 110.5, 46.25, (i * FloorHeight) + (FloorHeight + 25), ((135 - 110.5) * 0.086), ((46.25 * 2) * 0.08)
+    
+    'Crawlspace top
+    Room(i).AddFloor GetTex("BrickTexture"), -135, -150, 135, -46.25, (i * FloorHeight) + (FloorHeight + 24.9) + (FloorHeight - 25), ((135 * 2) * 0.086), ((150 - 46.25) * 0.08)
+    Room(i).AddFloor GetTex("BrickTexture"), -135, 46.25, 135, 150, (i * FloorHeight) + (FloorHeight + 24.9) + (FloorHeight - 25), ((135 * 2) * 0.086), ((150 - 46.25) * 0.08)
+    Room(i).AddFloor GetTex("BrickTexture"), -90.5, -46.25, -52.5, 46.25, (i * FloorHeight) + (FloorHeight + 24.9) + (FloorHeight - 25), ((90.5 - 52.5) * 0.086), ((46.25 * 2) * 0.08)
+    Room(i).AddFloor GetTex("BrickTexture"), 52.5, -46.25, 90.5, 46.25, (i * FloorHeight) + (FloorHeight + 24.9) + (FloorHeight - 25), ((90.5 - 52.5) * 0.086), ((46.25 * 2) * 0.08)
+    Room(i).AddFloor GetTex("BrickTexture"), -12.5, -46.25, 12.5, 0, (i * FloorHeight) + (FloorHeight + 24.9) + (FloorHeight - 25), ((12.5 * 2) * 0.086), (46.25 * 0.08)
+    Room(i).AddFloor GetTex("BrickTexture"), -52.5, 0, 52.5, 46.25, (i * FloorHeight) + (FloorHeight + 24.9) + (FloorHeight - 25), ((52.5 * 2) * 0.086), (46.25 * 0.08)
+    Room(i).AddFloor GetTex("BrickTexture"), -135, -46.25, -110.5, 46.25, (i * FloorHeight) + (FloorHeight + 24.9) + (FloorHeight - 25), ((135 - 110.5) * 0.086), ((46.25 * 2) * 0.08)
+    Room(i).AddFloor GetTex("BrickTexture"), 135, -46.25, 110.5, 46.25, (i * FloorHeight) + (FloorHeight + 24.9) + (FloorHeight - 25), ((135 - 110.5) * 0.086), ((46.25 * 2) * 0.08)
+    
+    'Crawlspace walls
+    Room(i).AddWall GetTex("BrickTexture"), -135, -150, 135, -150, (FloorHeight - 25), (i * FloorHeight) + FloorHeight + 25, ((135 * 2) * 0.086), ((FloorHeight - 25) * 0.08)
+    Room(i).AddWall GetTex("BrickTexture"), 135, -150, 135, 150, (FloorHeight - 25), (i * FloorHeight) + FloorHeight + 25, ((150 * 2) * 0.086), ((FloorHeight - 25) * 0.08)
+    Room(i).AddWall GetTex("BrickTexture"), 135, 150, -135, 150, (FloorHeight - 25), (i * FloorHeight) + FloorHeight + 25, ((135 * 2) * 0.086), ((FloorHeight - 25) * 0.08)
+    Room(i).AddWall GetTex("BrickTexture"), -135, 150, -135, -150, (FloorHeight - 25), (i * FloorHeight) + FloorHeight + 25, ((150 * 2) * 0.086), ((FloorHeight - 25) * 0.08)
+
     'Stairwell Walls
-    Stairs(i).AddWall GetTex("Concrete"), -12.5 - 0.5, -46.25 + 0.1, -12.5 - 0.5, -40.3, 75, (i * 25) + 25, ((46.25 - 40.3) * 0.086) * 4, 3 * 4
-    Stairs(i).AddWall GetTex("Concrete"), -12.5 - 0.5, -32.5, -12.5 - 0.5, -30, 75, (i * 25) + 25, (2.5 * 0.086) * 4, 3 * 4
-    Stairs(i).AddWall GetTex("Concrete"), -32.5 + 0.1, -46.25 + 0.1, -32.5 + 0.1, -30 - 1, 75, (i * 25) + 25, (16.25 * 0.086) * 4, 3 * 4
-    Stairs(i).AddWall GetTex("Concrete"), -12.5, -46.25 + 0.1, -32.5, -46.25 + 0.1, 75, (i * 25) + 25, (20 * 0.086) * 4, 3 * 4
-    Stairs(i).AddWall GetTex("Concrete"), -12.5, -30 - 1, -32.5, -30 - 1, 75, (i * 25) + 25, (20 * 0.086) * 4, 3 * 4
-    Stairs(i).AddWall GetTex("Concrete"), -12.5 - 6, -46.25 + 7.71, -12.5 - 16, -46.25 + 7.71, 75, (i * 25) + 25, (10 * 0.086) * 4, 3 * 4
-    Stairs(i).AddWall GetTex("Concrete"), -12.5 - 0.5, -40.3, -12.5 - 0.5, -30, 5.5, 19.5 + (i * 25) + 25, (10.3 * 0.086) * 4, 0.2 * 4
-    
-    If i = 40 Or i = 65 Or i = 79 Then Call DrawElevatorWalls(Int(i), 3, True, True, False, False, False, False, False, True, True, False, False)
-    If i <> 40 And i <> 65 And i <> 79 Then Call DrawElevatorWalls(Int(i), 3, True, False, False, False, False, False, False, True, True, False, False)
-               
-    'Room(I) Walls
-    
-    'Top of upper hallway
-    Room(i).AddWall GetTex("Wall3"), -135, -71.3, 135, -71.3, 5.5, (i * 25) + 25 + 19.5, 9, 1
-    Room(i).AddWall GetTex("Wall3"), -135, -71.3, -90 - 3.9, -71.3, 19.5, (i * 25) + 25, 9, 1
-    Room(i).AddWall GetTex("Wall3"), -90 + 3.9, -71.3, -37 - 3.9, -71.3, 19.5, (i * 25) + 25, 9, 1
-    Room(i).AddWall GetTex("Wall3"), -37 + 3.9, -71.3, -20 - 3.9, -71.3, 19.5, (i * 25) + 25, 9, 1
-    Room(i).AddWall GetTex("Wall3"), -20 + 3.9, -71.3, 37 - 3.9, -71.3, 19.5, (i * 25) + 25, 9, 1
-    Room(i).AddWall GetTex("Wall3"), 37 + 3.9, -71.3, 90 - 3.9, -71.3, 19.5, (i * 25) + 25, 9, 1
-    Room(i).AddWall GetTex("Wall3"), 90 + 3.9, -71.3, 135, -71.3, 19.5, (i * 25) + 25, 9, 1
-    
-    'Bottom of lower hallway
-    Room(i).AddWall GetTex("Wall3"), -135, 55.83, 135, 55.83, 5.5, (i * 25) + 25 + 19.5, 2, 1
-    Room(i).AddWall GetTex("Wall3"), -135, 55.83, -90 - 3.9, 55.83, 19.5, (i * 25) + 25, 2, 1
-    Room(i).AddWall GetTex("Wall3"), -90 + 3.9, 55.83, -37 - 3.9, 55.83, 19.5, (i * 25) + 25, 2, 1
-    Room(i).AddWall GetTex("Wall3"), -37 + 3.9, 55.83, 20 - 3.9, 55.83, 19.5, (i * 25) + 25, 2, 1
-    Room(i).AddWall GetTex("Wall3"), 20 + 3.9, 55.83, 37 - 3.9, 55.83, 19.5, (i * 25) + 25, 2, 1
-    Room(i).AddWall GetTex("Wall3"), 37 + 3.9, 55.83, 90 - 3.9, 55.83, 19.5, (i * 25) + 25, 2, 1
-    Room(i).AddWall GetTex("Wall3"), 90 + 3.9, 55.83, 135, 55.83, 19.5, (i * 25) + 25, 2, 1
-    
-    'Top of lower hallway
-    Room(i).AddWall GetTex("Wall3"), -135, 30.83, -32.5, 30.83, 5.5, (i * 25) + 25 + 19.5, 9, 1
-    Room(i).AddWall GetTex("Wall3"), -135, 30.83, -90 - 3.9, 30.83, 19.5, (i * 25) + 25, 9, 1
-    Room(i).AddWall GetTex("Wall3"), -90 + 3.9, 30.83, -72 - 3.9, 30.83, 19.5, (i * 25) + 25, 9, 1
-    Room(i).AddWall GetTex("Wall3"), -72 + 3.9, 30.83, -32.5, 30.83, 19.5, (i * 25) + 25, 9, 1
-    Room(i).AddWall GetTex("Wall3"), 135, 30.83, 32.5, 30.83, 5.5, (i * 25) + 25 + 19.5, 9, 1
-    Room(i).AddWall GetTex("Wall3"), 135, 30.83, 90 + 3.9, 30.83, 19.5, (i * 25) + 25, 9, 1
-    Room(i).AddWall GetTex("Wall3"), 90 - 3.9, 30.83, 72 + 3.9, 30.83, 19.5, (i * 25) + 25, 9, 1
-    Room(i).AddWall GetTex("Wall3"), 72 - 3.9, 30.83, 32.5, 30.83, 19.5, (i * 25) + 25, 9, 1
-    
-    'Bottom of upper hallway
-    Room(i).AddWall GetTex("Wall3"), -135, -46.3, -32.5, -46.3, 5.5, (i * 25) + 25 + 19.5, 9, 1
-    Room(i).AddWall GetTex("Wall3"), -135, -46.3, -90 - 3.9, -46.3, 19.5, (i * 25) + 25, 9, 1
-    Room(i).AddWall GetTex("Wall3"), -90 + 3.9, -46.3, -72 - 3.9, -46.3, 19.5, (i * 25) + 25, 9, 1
-    Room(i).AddWall GetTex("Wall3"), -72 + 3.9, -46.3, -32.5, -46.3, 19.5, (i * 25) + 25, 9, 1
-    Room(i).AddWall GetTex("Wall3"), 135, -46.3, 32.5, -46.3, 5.5, (i * 25) + 25 + 19.5, 9, 1
-    Room(i).AddWall GetTex("Wall3"), 135, -46.3, 90 + 3.9, -46.3, 19.5, (i * 25) + 25, 9, 1
-    Room(i).AddWall GetTex("Wall3"), 90 - 3.9, -46.3, 72 + 3.9, -46.3, 19.5, (i * 25) + 25, 9, 1
-    Room(i).AddWall GetTex("Wall3"), 72 - 3.9, -46.3, 40 + 3.9, -46.3, 19.5, (i * 25) + 25, 9, 1
-    Room(i).AddWall GetTex("Wall3"), 40 - 3.9, -46.3, 32.5, -46.3, 19.5, (i * 25) + 25, 9, 1
-        
-    Room(i).AddWall GetTex("Wall3"), -81, -71.3, -81, -150, 25, (i * 25) + 25, 9, 1
-    Room(i).AddWall GetTex("Wall3"), -81, 55.83, -81, 150, 25, (i * 25) + 25, 2, 1
+    Stairs(i).AddWall GetTex("Concrete"), -12.5 - 0.5, -46.25 + 0.1, -12.5 - 0.5, -40.3, (FloorHeight), (i * FloorHeight) + FloorHeight, ((46.25 - 40.3) * 0.086), ((FloorHeight) * 0.086)
+    Stairs(i).AddWall GetTex("Concrete"), -12.5 - 0.5, -32.5, -12.5 - 0.5, -30, (FloorHeight), (i * FloorHeight) + FloorHeight, (2.5 * 0.086), ((FloorHeight) * 0.086)
+    Stairs(i).AddWall GetTex("Concrete"), -32.5 + 0.1, -46.25 + 0.1, -32.5 + 0.1, -30 - 1, (FloorHeight), (i * FloorHeight) + FloorHeight, (16.25 * 0.086), ((FloorHeight) * 0.086)
+    Stairs(i).AddWall GetTex("Concrete"), -12.5, -46.25 + 0.1, -32.5, -46.25 + 0.1, (FloorHeight), (i * FloorHeight) + FloorHeight, (20 * 0.086), ((FloorHeight) * 0.086)
+    Stairs(i).AddWall GetTex("Concrete"), -12.5, -30 - 1, -32.5, -30 - 1, (FloorHeight), (i * FloorHeight) + FloorHeight, (20 * 0.086), ((FloorHeight) * 0.086)
+    Stairs(i).AddWall GetTex("Concrete"), -12.5 - 6, -46.25 + 7.71, -12.5 - 16, -46.25 + 7.71, (FloorHeight), (i * FloorHeight) + FloorHeight, (10 * 0.086), ((FloorHeight) * 0.086)
+    Stairs(i).AddWall GetTex("Concrete"), -12.5 - 0.5, -40.3, -12.5 - 0.5, -30, (FloorHeight - 19.5), 19.5 + (i * FloorHeight) + FloorHeight, (10.3 * 0.086), ((FloorHeight - 19.5) * 0.08)
+    
+    If i = 40 Or i = 79 Then
+    Call DrawElevatorWalls(Int(i), 5, 1, True, False, True, False, False, False, False, False, False, False, False, False)
+    'Call DrawElevatorWalls(Int(i), 5, 2, True, False, False, False, False, False, False, False, False, False, False, False)
+    Call DrawElevatorWalls(Int(i), 2, 3, False, False, True, True, True, True, True, True, True, True, True, True)
+    End If
+    If i <> 40 And i <> 79 Then
+    Call DrawElevatorWalls(Int(i), 5, 1, True, False, False, False, False, False, False, False, False, False, False, False)
+    'Call DrawElevatorWalls(Int(i), 5, 2, True, False, False, False, False, False, False, False, False, False, False, False)
+    Call DrawElevatorWalls(Int(i), 2, 3, False, False, True, True, True, True, True, True, True, True, True, True)
+    End If
+    If i <= 51 Then
+    Call DrawElevatorWalls(Int(i), 5, 2, True, False, True, False, False, False, False, False, False, False, False, False)
+    End If
+    If i > 51 Then
+    Call DrawElevatorWalls(Int(i), 5, 2, True, False, False, True, False, False, False, False, False, False, False, False)
+    End If
     
-    Room(i).AddWall GetTex("Wall3"), -27, -71.3, -27, -150, 25, (i * 25) + 25, 9, 1
-    Room(i).AddWall GetTex("Wall3"), -27, 55.83, -27, 150, 25, (i * 25) + 25, 2, 1
+    'Room(I) Walls
     
-    Room(i).AddWall GetTex("Wall3"), 27, -71.3, 27, -150, 25, (i * 25) + 25, 9, 1
-    Room(i).AddWall GetTex("Wall3"), 27, 55.83, 27, 150, 25, (i * 25) + 25, 2, 1
+    'top walls
+    Room(i).AddWall GetTex("Wall3"), -135, -71.3, -90.5, -71.3, 19.5, (i * FloorHeight) + FloorHeight, ((135 - 90.5) * 0.086), (19.5 * 0.08)
+    Room(i).AddWall GetTex("Wall3"), -70, -71.3, 70, -71.3, 19.5, (i * FloorHeight) + FloorHeight, ((70 * 2) * 0.086), (19.5 * 0.08)
+    Room(i).AddWall GetTex("Wall3"), 135, -71.3, 90.5, -71.3, 19.5, (i * FloorHeight) + FloorHeight, ((135 - 90.5) * 0.086), (19.5 * 0.08)
     
-    Room(i).AddWall GetTex("Wall3"), 81, -71.3, 81, -150, 25, (i * 25) + 25, 9, 1
-    Room(i).AddWall GetTex("Wall3"), 81, 55.83, 81, 150, 25, (i * 25) + 25, 2, 1
+    Room(i).AddWall GetTex("Wall3"), -135, -71.3, -90.5, -71.3, 5.5, (i * FloorHeight) + FloorHeight + 19.5, ((135 - 90.5) * 0.086), (5.5 * 0.08)
+    Room(i).AddWall GetTex("Wall3"), -70, -71.3, 70, -71.3, 5.5, (i * FloorHeight) + FloorHeight + 19.5, ((70 * 2) * 0.086), (5.5 * 0.08)
+    Room(i).AddWall GetTex("Wall3"), 135, -71.3, 90.5, -71.3, 5.5, (i * FloorHeight) + FloorHeight + 19.5, ((135 - 90.5) * 0.086), (5.5 * 0.08)
     
-    Room(i).AddWall GetTex("Wall3"), 81, -46.3, 81, 30.83, 25, (i * 25) + 25, 9, 1
-    Room(i).AddWall GetTex("Wall3"), -81, -46.3, -81, 30.83, 25, (i * 25) + 25, 2, 1
+    'bottom walls
+    Room(i).AddWall GetTex("Wall3"), -135, 71.3, -90.5, 71.3, 19.5, (i * FloorHeight) + FloorHeight, ((135 - 90.5) * 0.086), (19.5 * 0.08)
+    Room(i).AddWall GetTex("Wall3"), -70, 71.3, 70, 71.3, 19.5, (i * FloorHeight) + FloorHeight, ((70 * 2) * 0.086), (19.5 * 0.08)
+    Room(i).AddWall GetTex("Wall3"), 135, 71.3, 90.5, 71.3, 19.5, (i * FloorHeight) + FloorHeight, ((135 - 90.5) * 0.086), (19.5 * 0.08)
+    
+    Room(i).AddWall GetTex("Wall3"), -135, 71.3, -90.5, 71.3, 5.5, (i * FloorHeight) + FloorHeight + 19.5, ((135 - 90.5) * 0.086), (5.5 * 0.08)
+    Room(i).AddWall GetTex("Wall3"), -70, 71.3, 70, 71.3, 5.5, (i * FloorHeight) + FloorHeight + 19.5, ((70 * 2) * 0.086), (5.5 * 0.08)
+    Room(i).AddWall GetTex("Wall3"), 135, 71.3, 90.5, 71.3, 5.5, (i * FloorHeight) + FloorHeight + 19.5, ((135 - 90.5) * 0.086), (5.5 * 0.08)
+    
+    Room(i).AddWall GetTex("Wall3"), -70, -46.25, -61.25 - 3.9, -46.25, 25, (i * FloorHeight) + FloorHeight, ((70 - 61.25 - 3.9) * 0.086), 1
+    Room(i).AddWall GetTex("Wall3"), -61.25 + 3.9, -46.25, -52.5, -46.25, 25, (i * FloorHeight) + FloorHeight, ((61.25 - 52.5 - 3.9) * 0.086), 1
+    Room(i).AddWall GetTex("Wall3"), 70, -46.25, 61.25 + 3.9, -46.25, 25, (i * FloorHeight) + FloorHeight, ((70 - 61.25 - 3.9) * 0.086), 1
+    Room(i).AddWall GetTex("Wall3"), 61.25 - 3.9, -46.25, 52.5, -46.25, 25, (i * FloorHeight) + FloorHeight, ((61.25 - 52.5) * 0.086), 1
+    
+    Room(i).AddWall GetTex("Wall3"), -70, -46.25, -52.5, -46.25, 5.5, (i * FloorHeight) + FloorHeight + 19.5, ((70 - 52.5) * 0.086), (5.5 * 0.08)
+    Room(i).AddWall GetTex("Wall3"), 52.5, -46.25, 70, -46.25, 5.5, (i * FloorHeight) + FloorHeight + 19.5, ((70 - 52.5) * 0.086), (5.5 * 0.08)
+    
+    'service rooms
+    Room(i).AddWall GetTex("Wall3"), 70, -46.25, 70, 46.25, 25, (i * FloorHeight) + FloorHeight, ((46.25 - 20) * 0.086), 1
+    Room(i).AddWall GetTex("Wall3"), 70, -15, 52.5, -15, 25, (i * FloorHeight) + FloorHeight, ((50 - 32.5) * 0.086), 1
+    
+    Room(i).AddWall GetTex("Wall3"), -70, -46.25, -70, 46.25, 25, (i * FloorHeight) + FloorHeight, ((46.25 * 2) * 0.086), 1
+    Room(i).AddWall GetTex("Wall3"), -70, -15, -52.5, -15, 25, (i * FloorHeight) + FloorHeight, ((70 - 52.5) * 0.086), 1
+    
+    'left hallway
+    Room(i).AddWall GetTex("Wall3"), 70, -150, 70, -130 - 3.9, 19.5, (i * FloorHeight) + FloorHeight, ((150 - 130 - 3.9) * 0.086), (19.5 * 0.08)
+    Room(i).AddWall GetTex("Wall3"), 70, -130 + 3.9, 70, -90 - 3.9, 19.5, (i * FloorHeight) + FloorHeight, ((130 - 3.9 - 90 - 3.9) * 0.086), (19.5 * 0.08)
+    Room(i).AddWall GetTex("Wall3"), 70, -90 + 3.9, 70, -71.3, 19.5, (i * FloorHeight) + FloorHeight, ((90 - 71.3 - 3.9) * 0.086), (19.5 * 0.08)
+    Room(i).AddWall GetTex("Wall3"), 90.5, -150, 90.5, -130 - 3.9, 19.5, (i * FloorHeight) + FloorHeight, ((150 - 130 - 3.9) * 0.086), (19.5 * 0.08)
+    Room(i).AddWall GetTex("Wall3"), 90.5, -130 + 3.9, 90.5, -90 - 3.9, 19.5, (i * FloorHeight) + FloorHeight, ((130 - 3.9 - 90 - 3.9) * 0.086), (19.5 * 0.08)
+    Room(i).AddWall GetTex("Wall3"), 90.5, -90 + 3.9, 90.5, -71.3, 19.5, (i * FloorHeight) + FloorHeight, ((90 - 71.3 - 3.9) * 0.086), (19.5 * 0.08)
+    Room(i).AddWall GetTex("Wall3"), 70, 150, 70, 130 + 3.9, 19.5, (i * FloorHeight) + FloorHeight, ((150 - 130 - 3.9) * 0.086), (19.5 * 0.08)
+    Room(i).AddWall GetTex("Wall3"), 70, 130 - 3.9, 70, 90 + 3.9, 19.5, (i * FloorHeight) + FloorHeight, ((130 - 90 - 3.9 - 3.9) * 0.086), (19.5 * 0.08)
+    Room(i).AddWall GetTex("Wall3"), 70, 90 - 3.9, 70, 71.3, 19.5, (i * FloorHeight) + FloorHeight, ((90 - 70 - 3.9) * 0.086), (19.5 * 0.08)
+    Room(i).AddWall GetTex("Wall3"), 90.5, 150, 90.5, 130 + 3.9, 19.5, (i * FloorHeight) + FloorHeight, ((150 - 130 - 3.9) * 0.086), (19.5 * 0.08)
+    Room(i).AddWall GetTex("Wall3"), 90.5, 130 - 3.9, 90.5, 90 + 3.9, 19.5, (i * FloorHeight) + FloorHeight, ((130 - 3.9 - 90 - 3.9) * 0.086), (19.5 * 0.08)
+    Room(i).AddWall GetTex("Wall3"), 90.5, 90 - 3.9, 90.5, 71.3, 19.5, (i * FloorHeight) + FloorHeight, ((90 - 71.3 - 3.9) * 0.086), (19.5 * 0.08)
+    
+    Room(i).AddWall GetTex("Wall3"), 70, -150, 70, -71.3, 5.5, (i * FloorHeight) + FloorHeight + 19.5, ((150 - 71.3) * 0.086), (5.5 * 0.08)
+    Room(i).AddWall GetTex("Wall3"), 90.5, -150, 90.5, -71.3, 5.5, (i * FloorHeight) + FloorHeight + 19.5, ((150 - 71.3) * 0.086), (5.5 * 0.08)
+    Room(i).AddWall GetTex("Wall3"), 70, 150, 70, 71.3, 5.5, (i * FloorHeight) + FloorHeight + 19.5, ((150 - 71.3) * 0.086), (5.5 * 0.08)
+    Room(i).AddWall GetTex("Wall3"), 90.5, 150, 90.5, 71.3, 5.5, (i * FloorHeight) + FloorHeight + 19.5, ((150 - 71.3) * 0.086), (5.5 * 0.08)
+    
+    'right hallway
+    Room(i).AddWall GetTex("Wall3"), -70, -150, -70, -130 - 3.9, 19.5, (i * FloorHeight) + FloorHeight, ((150 - 130 - 3.9) * 0.086), (19.5 * 0.08)
+    Room(i).AddWall GetTex("Wall3"), -70, -130 + 3.9, -70, -90 - 3.9, 19.5, (i * FloorHeight) + FloorHeight, ((130 - 90 - 3.9 - 3.9) * 0.086), (19.5 * 0.08)
+    Room(i).AddWall GetTex("Wall3"), -70, -90 + 3.9, -70, -71.3, 19.5, (i * FloorHeight) + FloorHeight, ((90 - 71.3 - 3.9) * 0.086), (19.5 * 0.08)
+    Room(i).AddWall GetTex("Wall3"), -90.5, -150, -90.5, -130 - 3.9, 19.5, (i * FloorHeight) + FloorHeight, ((150 - 130 - 3.9) * 0.086), (19.5 * 0.08)
+    Room(i).AddWall GetTex("Wall3"), -90.5, -130 + 3.9, -90.5, -90 - 3.9, 19.5, (i * FloorHeight) + FloorHeight, ((130 - 90 - 3.9 - 3.9) * 0.086), (19.5 * 0.08)
+    Room(i).AddWall GetTex("Wall3"), -90.5, -90 + 3.9, -90.5, -71.3, 19.5, (i * FloorHeight) + FloorHeight, ((90 - 71.3 - 3.9) * 0.086), (19.5 * 0.08)
+    Room(i).AddWall GetTex("Wall3"), -70, 150, -70, 130 + 3.9, 19.5, (i * FloorHeight) + FloorHeight, ((150 - 130 - 3.9) * 0.086), (19.5 * 0.08)
+    Room(i).AddWall GetTex("Wall3"), -70, 130 - 3.9, -70, 90 + 3.9, 19.5, (i * FloorHeight) + FloorHeight, ((130 - 90 - 3.9 - 3.9) * 0.086), (19.5 * 0.08)
+    Room(i).AddWall GetTex("Wall3"), -70, 90 - 3.9, -70, 71.3, 19.5, (i * FloorHeight) + FloorHeight, ((90 - 71.3 - 3.9) * 0.086), (19.5 * 0.08)
+    Room(i).AddWall GetTex("Wall3"), -90.5, 150, -90.5, 130 + 3.9, 19.5, (i * FloorHeight) + FloorHeight, ((150 - 130 - 3.9) * 0.086), (19.5 * 0.08)
+    Room(i).AddWall GetTex("Wall3"), -90.5, 130 - 3.9, -90.5, 90 + 3.9, 19.5, (i * FloorHeight) + FloorHeight, ((130 - 3.9 - 90 - 3.9) * 0.086), (19.5 * 0.08)
+    Room(i).AddWall GetTex("Wall3"), -90.5, 90 - 3.9, -90.5, 71.3, 19.5, (i * FloorHeight) + FloorHeight, ((90 - 71.3 - 3.9) * 0.086), (19.5 * 0.08)
+    
+    Room(i).AddWall GetTex("Wall3"), -70, -150, -70, -71.3, 5.5, (i * FloorHeight) + FloorHeight + 19.5, ((150 - 71.3) * 0.086), (5.5 * 0.08)
+    Room(i).AddWall GetTex("Wall3"), -90.5, -150, -90.5, -71.3, 5.5, (i * FloorHeight) + FloorHeight + 19.5, ((150 - 71.3) * 0.086), (5.5 * 0.08)
+    Room(i).AddWall GetTex("Wall3"), -70, 150, -70, 71.3, 5.5, (i * FloorHeight) + FloorHeight + 19.5, ((150 - 71.3) * 0.086), (5.5 * 0.08)
+    Room(i).AddWall GetTex("Wall3"), -90.5, 150, -90.5, 71.3, 5.5, (i * FloorHeight) + FloorHeight + 19.5, ((150 - 71.3) * 0.086), (5.5 * 0.08)
+    
+    'middle hallway extension
+    Room(i).AddWall GetTex("Wall3"), -12.5, 0, -12.5, 46.25, 25, (i * FloorHeight) + FloorHeight, (46.25 * 0.086), 1
+    Room(i).AddWall GetTex("Wall3"), 12.5, 0, 12.5, 46.25, 25, (i * FloorHeight) + FloorHeight, (46.25 * 0.086), 1
     
-    Room(i).AddWall GetTex("Wall3"), -135, 0, -32, 0, 25, (i * 25) + 25, 9, 1
-    Room(i).AddWall GetTex("Wall3"), 135, 0, 32, 0, 25, (i * 25) + 25, 2, 1
+    'bottom middle walls
+    Room(i).AddWall GetTex("Wall3"), -70, 46.25, -22.5 - 3.9, 46.25, 19.5, (i * FloorHeight) + FloorHeight, ((70 - 22.5 - 3.9) * 0.086), (19.5 * 0.08)
+    Room(i).AddWall GetTex("Wall3"), -22.5 + 3.9, 46.25, -12.5, 46.25, 19.5, (i * FloorHeight) + FloorHeight, ((22.5 - 3.9 - 12.5) * 0.086), (19.5 * 0.08)
+    Room(i).AddWall GetTex("Wall3"), 70, 46.25, 22.5 + 3.9, 46.25, 19.5, (i * FloorHeight) + FloorHeight, ((70 - 22.5 - 3.9) * 0.086), (19.5 * 0.08)
+    Room(i).AddWall GetTex("Wall3"), 22.5 - 3.9, 46.25, 12.5, 46.25, 19.5, (i * FloorHeight) + FloorHeight, ((22.5 - 3.9 - 12.5) * 0.086), (19.5 * 0.08)
     
-    'Room(i).AddWall GetTex("Wall3"), -135, -71.3, 135, -71.3, 25, (i * 25) + 25, 9, 1
+    Room(i).AddWall GetTex("Wall3"), -70, 46.25, -12.5, 46.25, 5.5, (i * FloorHeight) + FloorHeight + 19.5, ((70 - 12.5) * 0.086), (5.5 * 0.08)
+    Room(i).AddWall GetTex("Wall3"), 12.5, 46.25, 70, 46.25, 5.5, (i * FloorHeight) + FloorHeight + 19.5, ((70 - 12.5) * 0.086), (5.5 * 0.08)
     
-    'Lower room split wall
-    Room(i).AddWall GetTex("Wall3"), -135, 102, 135, 102, 5.5, (i * 25) + 25 + 19.5, 2, 1
-    Room(i).AddWall GetTex("Wall3"), -135, 102, -90 - 3.9, 102, 19.5, (i * 25) + 25, 2, 1
-    Room(i).AddWall GetTex("Wall3"), -90 + 3.9, 102, -37 - 3.9, 102, 19.5, (i * 25) + 25, 2, 1
-    Room(i).AddWall GetTex("Wall3"), -37 + 3.9, 102, 20 - 3.9, 102, 19.5, (i * 25) + 25, 2, 1
-    Room(i).AddWall GetTex("Wall3"), 20 + 3.9, 102, 37 - 3.9, 102, 19.5, (i * 25) + 25, 2, 1
-    Room(i).AddWall GetTex("Wall3"), 37 + 3.9, 102, 90 - 3.9, 102, 19.5, (i * 25) + 25, 2, 1
-    Room(i).AddWall GetTex("Wall3"), 90 + 3.9, 102, 135, 102, 19.5, (i * 25) + 25, 2, 1
+    'Rooms
+    Room(i).AddWall GetTex("Wall3"), -135, -110, -90.5, -110, 25, (i * FloorHeight) + FloorHeight, ((135 - 90.5) * 0.086), 1
+    Room(i).AddWall GetTex("Wall3"), -135, 110, -90.5, 110, 25, (i * FloorHeight) + FloorHeight, ((135 - 90.5) * 0.086), 1
+    Room(i).AddWall GetTex("Wall3"), -70, -110, 70, -110, 25, (i * FloorHeight) + FloorHeight, ((70 * 2) * 0.086), 1
+    Room(i).AddWall GetTex("Wall3"), -70, 110, 70, 110, 25, (i * FloorHeight) + FloorHeight, ((70 * 2) * 0.086), 1
+    Room(i).AddWall GetTex("Wall3"), 135, -110, 90.5, -110, 25, (i * FloorHeight) + FloorHeight, ((135 - 90.5) * 0.086), 1
+    Room(i).AddWall GetTex("Wall3"), 135, 110, 90.5, 110, 25, (i * FloorHeight) + FloorHeight, ((135 - 90.5) * 0.086), 1
     
-    'service room
-    Room(i).AddWall GetTex("Wall3"), 50, -46.25, 50, -20, 25, (i * 25) + 25, 4, 1
-    Room(i).AddWall GetTex("Wall3"), 50, -20, 32.5, -20, 25, (i * 25) + 25, 4, 1
+    Room(i).AddWall GetTex("Wall3"), 0, -71.3, 0, -150, 25, (i * FloorHeight) + FloorHeight, ((150 - 71.3) * 0.086), 1
+    Room(i).AddWall GetTex("Wall3"), 0, 71.3, 0, 150, 25, (i * FloorHeight) + FloorHeight, ((150 - 71.3) * 0.086), 1
     
     Next i
-Form1.Print "done"
-    
-    'External.AddFloor GetTex("BrickTexture"), -135, -150, -110, 150, (80 * 25) + 25, 10, 10
-    'External.AddFloor GetTex("BrickTexture"), 135, -150, 110, 150, (80 * 25) + 25, 10, 10
 
 End Sub
-Sub Process80to117()
-    
-    'Floors 80 to 117
-    For i = 80 To 117
-    Form1.Print ".";
-    'Mesh.AddFloor GetTex("Granite"), -110, -150, 110, 150, (I * 25) + 25, 10, 10
-    Room(i).AddFloor GetTex("Granite"), -110, -150, 110, -46.25, (i * 25) + 25, 10, 3
-    Room(i).AddFloor GetTex("Granite"), -110, 15.41, 110, 150, (i * 25) + 25, 10, 3
-    Room(i).AddFloor GetTex("Granite"), -110, -46.25, -32.5, 15.41, (i * 25) + 25, 3, 3
-    Room(i).AddFloor GetTex("Granite"), 32.5, -46.25, 110, 15.41, (i * 25) + 25, 3, 3
-    Room(i).AddFloor GetTex("Granite"), -12.5, -46.25, 12.5, 15.41, (i * 25) + 25, 1, 3
-    
-    Room(i).AddFloor GetTex("Marble3"), -110, -150, 110, -46.25, (i * 25) + 49.5, 10, 3
-    Room(i).AddFloor GetTex("Marble3"), -110, 15.41, 110, 150, (i * 25) + 49.5, 10, 3
-    Room(i).AddFloor GetTex("Marble3"), -110, -46.25, -32.5, 15.41, (i * 25) + 49.5, 3, 3
-    Room(i).AddFloor GetTex("Marble3"), 32.5, -46.25, 110, 15.41, (i * 25) + 49.5, 3, 3
-    Room(i).AddFloor GetTex("Marble3"), -12.5, -46.25, 12.5, 15.41, (i * 25) + 49.5, 1, 3
-    
-    'Fake Stairway Doors for other floors
-    Room(i).AddWall GetTex("StairsDoor"), -12.8, -36.4 - 3.9, -12.8, -36.4 + 4.3, 19.5, (i * 25) + 25 + 25, -1, 1
+Sub Process81to114()
+    
+    'Floors 81 to 114
+    For i = 81 To 114
+    DoEvents
+    Form1.Label2.Caption = "Processing Floors 81 to 114... " + Str$(Int(((i - 81) / (114 - 81)) * 100)) + "%"
+    
+    'Floor
+    Room(i).AddFloor GetTex("Granite"), -110, -150, 110, -46.25, (i * FloorHeight) + FloorHeight, ((110 * 2) * 0.086), ((150 - 46.25) * 0.08)
+    Room(i).AddFloor GetTex("Granite"), -110, 46.25, 110, 150, (i * FloorHeight) + FloorHeight, ((110 * 2) * 0.086), ((150 - 46.25) * 0.08)
+    Room(i).AddFloor GetTex("Granite"), -12.5, -46.25, 12.5, 46.25, (i * FloorHeight) + FloorHeight, ((12.5 * 2) * 0.086), ((46.25 * 2) * 0.08)
+    Room(i).AddFloor GetTex("Granite"), -110, -46.25, -52.5, 46.25, (i * FloorHeight) + FloorHeight, ((110 - 52.5) * 0.086), ((46.25 * 2) * 0.08)
+    Room(i).AddFloor GetTex("Granite"), 110, -46.25, 52.5, 46.25, (i * FloorHeight) + FloorHeight, ((110 - 52.5) * 0.086), ((46.25 * 2) * 0.08)
     
+    'Ceiling
+    Room(i).AddFloor GetTex("Marble3"), -110, -150, 110, -46.25, (i * FloorHeight) + (FloorHeight + 25) - 0.5, ((110 * 2) * 0.086), ((150 - 46.25) * 0.08)
+    Room(i).AddFloor GetTex("Marble3"), -110, 46.25, 110, 150, (i * FloorHeight) + (FloorHeight + 25) - 0.5, ((110 * 2) * 0.086), ((150 - 46.25) * 0.08)
+    Room(i).AddFloor GetTex("Marble3"), -12.5, -46.25, 12.5, 46.25, (i * FloorHeight) + (FloorHeight + 25) - 0.5, ((12.5 * 2) * 0.086), ((46.25 * 2) * 0.08)
+    Room(i).AddFloor GetTex("Marble3"), -110, -46.25, -52.5, 46.25, (i * FloorHeight) + (FloorHeight + 25) - 0.5, ((110 - 52.5) * 0.086), ((46.25 * 2) * 0.08)
+    Room(i).AddFloor GetTex("Marble3"), 110, -46.25, 52.5, 46.25, (i * FloorHeight) + (FloorHeight + 25) - 0.5, ((110 - 52.5) * 0.086), ((46.25 * 2) * 0.08)
+    
+    'Crawlspace bottom
+    Room(i).AddFloor GetTex("Granite"), -110, -150, 110, -46.25, (i * FloorHeight) + (FloorHeight + 25), ((110 * 2) * 0.086), ((150 - 46.25) * 0.08)
+    Room(i).AddFloor GetTex("Granite"), -110, 46.25, 110, 150, (i * FloorHeight) + (FloorHeight + 25), ((110 * 2) * 0.086), ((150 - 46.25) * 0.08)
+    Room(i).AddFloor GetTex("Granite"), -12.5, -46.25, 12.5, 46.25, (i * FloorHeight) + (FloorHeight + 25), ((12.5 * 2) * 0.086), ((46.25 * 2) * 0.08)
+    Room(i).AddFloor GetTex("Granite"), -110, -46.25, -52.5, 46.25, (i * FloorHeight) + (FloorHeight + 25), ((110 - 52.5) * 0.086), ((46.25 * 2) * 0.08)
+    Room(i).AddFloor GetTex("Granite"), 110, -46.25, 52.5, 46.25, (i * FloorHeight) + (FloorHeight + 25), ((110 - 52.5) * 0.086), ((46.25 * 2) * 0.08)
+    
+    'Crawlspace top
+    Room(i).AddFloor GetTex("BrickTexture"), -110, -150, 110, -46.25, (i * FloorHeight) + (FloorHeight + 24.9) + (FloorHeight - 25), ((110 * 2) * 0.086), ((150 - 46.25) * 0.08)
+    Room(i).AddFloor GetTex("BrickTexture"), -110, 46.25, 110, 150, (i * FloorHeight) + (FloorHeight + 24.9) + (FloorHeight - 25), ((110 * 2) * 0.086), ((150 - 46.25) * 0.08)
+    Room(i).AddFloor GetTex("BrickTexture"), -12.5, -46.25, 12.5, 46.25, (i * FloorHeight) + (FloorHeight + 24.9) + (FloorHeight - 25), ((12.5 * 2) * 0.086), ((46.25 * 2) * 0.08)
+    Room(i).AddFloor GetTex("BrickTexture"), -110, -46.25, -52.5, 46.25, (i * FloorHeight) + (FloorHeight + 24.9) + (FloorHeight - 25), ((110 - 52.5) * 0.086), ((46.25 * 2) * 0.08)
+    Room(i).AddFloor GetTex("BrickTexture"), 110, -46.25, 52.5, 46.25, (i * FloorHeight) + (FloorHeight + 24.9) + (FloorHeight - 25), ((110 - 52.5) * 0.086), ((46.25 * 2) * 0.08)
+    
+    'Crawlspace walls
+    Room(i).AddWall GetTex("BrickTexture"), -110, -150, 110, -150, (FloorHeight - 25), (i * FloorHeight) + FloorHeight + 25, ((110 * 2) * 0.086), ((FloorHeight - 25) * 0.08)
+    Room(i).AddWall GetTex("BrickTexture"), 110, -150, 110, 150, (FloorHeight - 25), (i * FloorHeight) + FloorHeight + 25, ((150 * 2) * 0.086), ((FloorHeight - 25) * 0.08)
+    Room(i).AddWall GetTex("BrickTexture"), 110, 150, -110, 150, (FloorHeight - 25), (i * FloorHeight) + FloorHeight + 25, ((110 * 2) * 0.086), ((FloorHeight - 25) * 0.08)
+    Room(i).AddWall GetTex("BrickTexture"), -110, 150, -110, -150, (FloorHeight - 25), (i * FloorHeight) + FloorHeight + 25, ((150 * 2) * 0.086), ((FloorHeight - 25) * 0.08)
+
     'Stairwell Walls
-    Stairs(i).AddWall GetTex("Concrete"), -12.5 - 0.5, -46.25 + 0.1, -12.5 - 0.5, -40.3, 75, (i * 25) + 25, ((46.25 - 40.3) * 0.086) * 4, 3 * 4
-    Stairs(i).AddWall GetTex("Concrete"), -12.5 - 0.5, -32.5, -12.5 - 0.5, -30, 75, (i * 25) + 25, (2.5 * 0.086) * 4, 3 * 4
-    Stairs(i).AddWall GetTex("Concrete"), -32.5 + 0.1, -46.25 + 0.1, -32.5 + 0.1, -30 - 1, 75, (i * 25) + 25, (16.25 * 0.086) * 4, 3 * 4
-    Stairs(i).AddWall GetTex("Concrete"), -12.5, -46.25 + 0.1, -32.5, -46.25 + 0.1, 75, (i * 25) + 25, (20 * 0.086) * 4, 3 * 4
-    Stairs(i).AddWall GetTex("Concrete"), -12.5, -30 - 1, -32.5, -30 - 1, 75, (i * 25) + 25, (20 * 0.086) * 4, 3 * 4
-    Stairs(i).AddWall GetTex("Concrete"), -12.5 - 6, -46.25 + 7.71, -12.5 - 16, -46.25 + 7.71, 75, (i * 25) + 25, (10 * 0.086) * 4, 3 * 4
-    Stairs(i).AddWall GetTex("Concrete"), -12.5 - 0.5, -40.3, -12.5 - 0.5, -30, 5.5, 19.5 + (i * 25) + 25, (10.3 * 0.086) * 4, 0.2 * 4
+    Stairs(i).AddWall GetTex("Concrete"), -12.5 - 0.5, -46.25 + 0.1, -12.5 - 0.5, -40.3, (FloorHeight), (i * FloorHeight) + FloorHeight, ((46.25 - 40.3) * 0.086), ((FloorHeight) * 0.086)
+    Stairs(i).AddWall GetTex("Concrete"), -12.5 - 0.5, -32.5, -12.5 - 0.5, -30, (FloorHeight), (i * FloorHeight) + FloorHeight, (2.5 * 0.086), ((FloorHeight) * 0.086)
+    Stairs(i).AddWall GetTex("Concrete"), -32.5 + 0.1, -46.25 + 0.1, -32.5 + 0.1, -30 - 1, (FloorHeight), (i * FloorHeight) + FloorHeight, (16.25 * 0.086), ((FloorHeight) * 0.086)
+    Stairs(i).AddWall GetTex("Concrete"), -12.5, -46.25 + 0.1, -32.5, -46.25 + 0.1, (FloorHeight), (i * FloorHeight) + FloorHeight, (20 * 0.086), ((FloorHeight) * 0.086)
+    Stairs(i).AddWall GetTex("Concrete"), -12.5, -30 - 1, -32.5, -30 - 1, (FloorHeight), (i * FloorHeight) + FloorHeight, (20 * 0.086), ((FloorHeight) * 0.086)
+    Stairs(i).AddWall GetTex("Concrete"), -12.5 - 6, -46.25 + 7.71, -12.5 - 16, -46.25 + 7.71, (FloorHeight), (i * FloorHeight) + FloorHeight, (10 * 0.086), ((FloorHeight) * 0.086)
+    Stairs(i).AddWall GetTex("Concrete"), -12.5 - 0.5, -40.3, -12.5 - 0.5, -30, (FloorHeight - 19.5), 19.5 + (i * FloorHeight) + FloorHeight, (10.3 * 0.086), ((FloorHeight - 19.5) * 0.08)
        
-    If i = 80 Then Call DrawElevatorWalls(Int(i), 4, True, True, True, True, True, True, True, False, False, False, False)
-    If i >= 81 And i <= 99 Then Call DrawElevatorWalls(Int(i), 4, True, True, False, False, False, True, True, False, False, False, False)
-    If i >= 100 And i <= 114 Then Call DrawElevatorWalls(Int(i), 4, True, True, False, True, True, False, False, False, False, False, False)
-    If i >= 115 And i <= 117 Then Call DrawElevatorWalls(Int(i), 4, True, True, False, False, False, False, False, False, False, False, False)
+    'If i = 80 Then
+    'Call DrawElevatorWalls(Int(i), 2, 1, True, False, True, True, True, True, True, True, True, True, True, True)
+    'Call DrawElevatorWalls(Int(i), 2, 2, True, False, True, True, True, True, True, True, True, True, True, True)
+    'End If
+    If i >= 82 And i <= 98 Then
+    Call DrawElevatorWalls(Int(i), 2, 1, True, False, False, False, False, False, False, False, False, False, False, False)
+    Call DrawElevatorWalls(Int(i), 2, 2, True, False, False, True, False, False, True, True, True, True, True, True)
+    End If
+    If i >= 102 And i < 114 Then
+    Call DrawElevatorWalls(Int(i), 2, 1, True, False, True, False, False, False, True, True, True, True, True, True)
+    Call DrawElevatorWalls(Int(i), 2, 2, True, False, False, False, False, False, False, False, False, False, False, False)
+    End If
+    If i = 81 Or i = 99 Then
+    Call DrawElevatorWalls(Int(i), 2, 1, True, False, False, False, False, False, False, False, False, False, False, False)
+    Call DrawElevatorWalls(Int(i), 2, 2, True, False, False, True, False, False, True, True, True, True, True, True)
+    End If
+    If i = 100 Then
+    Call DrawElevatorWalls(Int(i), 2, 1, True, False, False, False, False, False, True, True, True, True, True, True)
+    Call DrawElevatorWalls(Int(i), 2, 2, True, False, False, True, False, False, False, False, False, False, False, False)
+    End If
+    If i = 114 Then
+    Call DrawElevatorWalls(Int(i), 2, 1, True, False, True, False, False, False, True, True, True, True, True, True)
+    Call DrawElevatorWalls(Int(i), 2, 2, True, False, False, False, False, False, False, False, False, False, False, False)
+    End If
+    If i = 101 Then
+    Call DrawElevatorWalls(Int(i), 2, 1, True, False, True, False, False, False, True, True, True, True, True, True)
+    Call DrawElevatorWalls(Int(i), 2, 2, True, False, False, True, False, False, False, False, False, False, False, False)
+    End If
     
-    'Room(I) Walls
-    Room(i).AddWall GetTex("Wall3"), -50, -71.3, -12.5, -71.3, 25, (i * 25) + 25, 9, 1
-    Room(i).AddWall GetTex("Wall3"), 12.5, -71.3, 50, -71.3, 25, (i * 25) + 25, 2, 1
-    
-    'Room(i).AddWall GetTex("Wall3"), -50, 40, -12.5, 40, 25, (i * 25) + 25, 9, 1
-    'Room(i).AddWall GetTex("Wall3"), 12.5, 40, 50, 40, 25, (i * 25) + 25, 2, 1
-    
-    'Bottom Horizontal Hallway, 2 Top Walls
-    Room(i).AddWall GetTex("Wall3"), -70, 15.41, -32.5, 15.41, 5.5, (i * 25) + 25 + 19.5, 9, 1
-    Room(i).AddWall GetTex("Wall3"), -70, 15.41, -61 - 3.9, 15.41, 19.5, (i * 25) + 25, 9, 1
-    Room(i).AddWall GetTex("Wall3"), -61 + 3.9, 15.41, -32.5, 15.41, 19.5, (i * 25) + 25, 9, 1
-    Room(i).AddWall GetTex("Wall3"), 70, 15.41, 32.5, 15.41, 5.5, (i * 25) + 25 + 19.5, 9, 1
-    Room(i).AddWall GetTex("Wall3"), 70, 15.41, 61 + 3.9, 15.41, 19.5, (i * 25) + 25, 9, 1
-    Room(i).AddWall GetTex("Wall3"), 61 - 3.9, 15.41, 32.5, 15.41, 19.5, (i * 25) + 25, 9, 1
-    
-    'Top Horizontal Hallway, 2 Bottom Walls
-    Room(i).AddWall GetTex("Wall3"), -70, -46.3, -32.5, -46.3, 5.5, (i * 25) + 25 + 19.5, 9, 1
-    Room(i).AddWall GetTex("Wall3"), -70, -46.3, -61 - 3.9, -46.3, 19.5, (i * 25) + 25, 9, 1
-    Room(i).AddWall GetTex("Wall3"), -61 + 3.9, -46.3, -32.5, -46.3, 19.5, (i * 25) + 25, 9, 1
-    Room(i).AddWall GetTex("Wall3"), 70, -46.3, 32.5, -46.3, 5.5, (i * 25) + 25 + 19.5, 9, 1
-    Room(i).AddWall GetTex("Wall3"), 70, -46.3, 61 + 3.9, -46.3, 19.5, (i * 25) + 25, 9, 1
-    Room(i).AddWall GetTex("Wall3"), 61 - 3.9, -46.3, 39 + 3.9, -46.3, 19.5, (i * 25) + 25, 9, 1
-    Room(i).AddWall GetTex("Wall3"), 39 - 3.9, -46.3, 32.5, -46.3, 19.5, (i * 25) + 25, 9, 1
-        
     'Right Hallways, Right Wall
-    Room(i).AddWall GetTex("Wall3"), -70, -150, -70, 150, 5.5, (i * 25) + 25 + 19.5, 9, 1
-    Room(i).AddWall GetTex("Wall3"), -70, -150, -70, -118 - 3.9, 19.5, (i * 25) + 25, 9, 1
-    Room(i).AddWall GetTex("Wall3"), -70, -118 + 3.9, -70, -102 - 3.9, 19.5, (i * 25) + 25, 9, 1
-    Room(i).AddWall GetTex("Wall3"), -70, -102 + 3.9, -70, -60 - 3.9, 19.5, (i * 25) + 25, 9, 1
-    Room(i).AddWall GetTex("Wall3"), -70, -60 + 3.9, -70, 27 - 3.9, 19.5, (i * 25) + 25, 9, 1
-    Room(i).AddWall GetTex("Wall3"), -70, 27 + 3.9, -70, 66 - 3.9, 19.5, (i * 25) + 25, 9, 1
-    Room(i).AddWall GetTex("Wall3"), -70, 66 + 3.9, -70, 102 - 3.9, 19.5, (i * 25) + 25, 9, 1
-    Room(i).AddWall GetTex("Wall3"), -70, 102 + 3.9, -70, 116 - 3.9, 19.5, (i * 25) + 25, 9, 1
-    Room(i).AddWall GetTex("Wall3"), -70, 116 + 3.9, -70, 150, 19.5, (i * 25) + 25, 9, 1
+    Room(i).AddWall GetTex("Wall3"), -70, -150, -70, 150, 5.5, (i * FloorHeight) + FloorHeight + 19.5, ((150 * 2) * 0.086), (5.5 * 0.08)
+    Room(i).AddWall GetTex("Wall3"), -70, -150, -70, -118 - 3.9, 19.5, (i * FloorHeight) + FloorHeight, ((150 - 118 - 3.9) * 0.086), (19.5 * 0.08)
+    Room(i).AddWall GetTex("Wall3"), -70, -118 + 3.9, -70, -102 - 3.9, 19.5, (i * FloorHeight) + FloorHeight, ((118 - 102 - 3.9) * 0.086), (19.5 * 0.08)
+    Room(i).AddWall GetTex("Wall3"), -70, -102 + 3.9, -70, -60 - 3.9, 19.5, (i * FloorHeight) + FloorHeight, ((102 - 60 - 3.9 - 3.9) * 0.086), (19.5 * 0.08)
+    Room(i).AddWall GetTex("Wall3"), -70, -60 + 3.9, -70, 27 - 3.9, 19.5, (i * FloorHeight) + FloorHeight, ((60 - 27 - 3.9 - 3.9) * 0.086), (19.5 * 0.08)
+    Room(i).AddWall GetTex("Wall3"), -70, 27 + 3.9, -70, 66 - 3.9, 19.5, (i * FloorHeight) + FloorHeight, ((66 - 27 - 3.9 - 3.9) * 0.086), (19.5 * 0.08)
+    Room(i).AddWall GetTex("Wall3"), -70, 66 + 3.9, -70, 102 - 3.9, 19.5, (i * FloorHeight) + FloorHeight, ((102 - 66 - 3.9 - 3.9) * 0.086), (19.5 * 0.08)
+    Room(i).AddWall GetTex("Wall3"), -70, 102 + 3.9, -70, 116 - 3.9, 19.5, (i * FloorHeight) + FloorHeight, ((116 - 102 - 3.9 - 3.9) * 0.086), (19.5 * 0.08)
+    Room(i).AddWall GetTex("Wall3"), -70, 116 + 3.9, -70, 150, 19.5, (i * FloorHeight) + FloorHeight, ((150 - 116 - 3.9) * 0.086), (19.5 * 0.08)
     
     'Left Hallways, Left Wall
-    Room(i).AddWall GetTex("Wall3"), 70, -150, 70, 150, 5.5, (i * 25) + 25 + 19.5, 9, 1
-    Room(i).AddWall GetTex("Wall3"), 70, -150, 70, -118 - 3.9, 19.5, (i * 25) + 25, 9, 1
-    Room(i).AddWall GetTex("Wall3"), 70, -118 + 3.9, 70, -102 - 3.9, 19.5, (i * 25) + 25, 9, 1
-    Room(i).AddWall GetTex("Wall3"), 70, -102 + 3.9, 70, -60 - 3.9, 19.5, (i * 25) + 25, 9, 1
-    Room(i).AddWall GetTex("Wall3"), 70, -60 + 3.9, 70, 27 - 3.9, 19.5, (i * 25) + 25, 9, 1
-    Room(i).AddWall GetTex("Wall3"), 70, 27 + 3.9, 70, 66 - 3.9, 19.5, (i * 25) + 25, 9, 1
-    Room(i).AddWall GetTex("Wall3"), 70, 66 + 3.9, 70, 102 - 3.9, 19.5, (i * 25) + 25, 9, 1
-    Room(i).AddWall GetTex("Wall3"), 70, 102 + 3.9, 70, 116 - 3.9, 19.5, (i * 25) + 25, 9, 1
-    Room(i).AddWall GetTex("Wall3"), 70, 116 + 3.9, 70, 150, 19.5, (i * 25) + 25, 9, 1
+    Room(i).AddWall GetTex("Wall3"), 70, -150, 70, 150, 5.5, (i * FloorHeight) + FloorHeight + 19.5, ((150 * 2) * 0.086), (5.5 * 0.08)
+    Room(i).AddWall GetTex("Wall3"), 70, -150, 70, -118 - 3.9, 19.5, (i * FloorHeight) + FloorHeight, ((150 - 118 - 3.9) * 0.086), (19.5 * 0.08)
+    Room(i).AddWall GetTex("Wall3"), 70, -118 + 3.9, 70, -102 - 3.9, 19.5, (i * FloorHeight) + FloorHeight, ((118 - 102 - 3.9) * 0.086), (19.5 * 0.08)
+    Room(i).AddWall GetTex("Wall3"), 70, -102 + 3.9, 70, -60 - 3.9, 19.5, (i * FloorHeight) + FloorHeight, ((102 - 60 - 3.9 - 3.9) * 0.086), (19.5 * 0.08)
+    Room(i).AddWall GetTex("Wall3"), 70, -60 + 3.9, 70, 27 - 3.9, 19.5, (i * FloorHeight) + FloorHeight, ((60 - 27 - 3.9 - 3.9) * 0.086), (19.5 * 0.08)
+    Room(i).AddWall GetTex("Wall3"), 70, 27 + 3.9, 70, 66 - 3.9, 19.5, (i * FloorHeight) + FloorHeight, ((66 - 27 - 3.9 - 3.9) * 0.086), (19.5 * 0.08)
+    Room(i).AddWall GetTex("Wall3"), 70, 66 + 3.9, 70, 102 - 3.9, 19.5, (i * FloorHeight) + FloorHeight, ((102 - 66 - 3.9 - 3.9) * 0.086), (19.5 * 0.08)
+    Room(i).AddWall GetTex("Wall3"), 70, 102 + 3.9, 70, 116 - 3.9, 19.5, (i * FloorHeight) + FloorHeight, ((116 - 102 - 3.9 - 3.9) * 0.086), (19.5 * 0.08)
+    Room(i).AddWall GetTex("Wall3"), 70, 116 + 3.9, 70, 150, 19.5, (i * FloorHeight) + FloorHeight, ((150 - 116 - 3.9) * 0.086), (19.5 * 0.08)
     
     'center bottom hallway, right wall
-    Room(i).AddWall GetTex("Wall3"), -12.5, 150, -12.5, 40, 5.5, (i * 25) + 25 + 19.5, 9, 1
-    Room(i).AddWall GetTex("Wall3"), -12.5, 150, -12.5, 116 + 3.9, 19.5, (i * 25) + 25, 9, 1
-    Room(i).AddWall GetTex("Wall3"), -12.5, 116 - 3.9, -12.5, 102 + 3.9, 19.5, (i * 25) + 25, 9, 1
-    Room(i).AddWall GetTex("Wall3"), -12.5, 102 - 3.9, -12.5, 66 + 3.9, 19.5, (i * 25) + 25, 9, 1
-    Room(i).AddWall GetTex("Wall3"), -12.5, 66 - 3.9, -12.5, 40, 19.5, (i * 25) + 25, 9, 1
+    Room(i).AddWall GetTex("Wall3"), -12.5, 150, -12.5, 71.3, 5.5, (i * FloorHeight) + FloorHeight + 19.5, ((150 - 71.3) * 0.086), (5.5 * 0.08)
+    Room(i).AddWall GetTex("Wall3"), -12.5, 150, -12.5, 118 + 3.9, 19.5, (i * FloorHeight) + FloorHeight, ((150 - 118 - 3.9) * 0.086), (19.5 * 0.08)
+    Room(i).AddWall GetTex("Wall3"), -12.5, 118 - 3.9, -12.5, 102 + 3.9, 19.5, (i * FloorHeight) + FloorHeight, ((118 - 102 - 3.9 - 3.9) * 0.086), (19.5 * 0.08)
+    Room(i).AddWall GetTex("Wall3"), -12.5, 102 - 3.9, -12.5, 71.3, 19.5, (i * FloorHeight) + FloorHeight, ((102 - 71.3 - 3.9) * 0.086), (19.5 * 0.08)
     
     'center bottom hallway, left wall
-    Room(i).AddWall GetTex("Wall3"), 12.5, 150, 12.5, 40, 5.5, (i * 25) + 25 + 19.5, 9, 1
-    Room(i).AddWall GetTex("Wall3"), 12.5, 150, 12.5, 116 + 3.9, 19.5, (i * 25) + 25, 9, 1
-    Room(i).AddWall GetTex("Wall3"), 12.5, 116 - 3.9, 12.5, 102 + 3.9, 19.5, (i * 25) + 25, 9, 1
-    Room(i).AddWall GetTex("Wall3"), 12.5, 102 - 3.9, 12.5, 66 + 3.9, 19.5, (i * 25) + 25, 9, 1
-    Room(i).AddWall GetTex("Wall3"), 12.5, 66 - 3.9, 12.5, 40, 19.5, (i * 25) + 25, 9, 1
+    Room(i).AddWall GetTex("Wall3"), 12.5, 150, 12.5, 71.3, 5.5, (i * FloorHeight) + FloorHeight + 19.5, ((150 * 2) * 0.086), (5.5 * 0.08)
+    Room(i).AddWall GetTex("Wall3"), 12.5, 150, 12.5, 118 + 3.9, 19.5, (i * FloorHeight) + FloorHeight, ((150 - 118 - 3.9) * 0.086), (19.5 * 0.08)
+    Room(i).AddWall GetTex("Wall3"), 12.5, 118 - 3.9, 12.5, 102 + 3.9, 19.5, (i * FloorHeight) + FloorHeight, ((118 - 102 - 3.9 - 3.9) * 0.086), (19.5 * 0.08)
+    Room(i).AddWall GetTex("Wall3"), 12.5, 102 - 3.9, 12.5, 71.3, 19.5, (i * FloorHeight) + FloorHeight, ((102 - 71.3 - 3.9) * 0.086), (19.5 * 0.08)
     
     'center top hallway, right wall
-    Room(i).AddWall GetTex("Wall3"), -12.5, -150, -12.5, -71.3, 5.5, (i * 25) + 25 + 19.5, 9, 1
-    Room(i).AddWall GetTex("Wall3"), -12.5, -150, -12.5, -118 - 3.9, 19.5, (i * 25) + 25, 9, 1
-    Room(i).AddWall GetTex("Wall3"), -12.5, -118 + 3.9, -12.5, -102 - 3.9, 19.5, (i * 25) + 25, 9, 1
-    Room(i).AddWall GetTex("Wall3"), -12.5, -102 + 3.9, -12.5, -71.3, 19.5, (i * 25) + 25, 9, 1
+    Room(i).AddWall GetTex("Wall3"), -12.5, -150, -12.5, -71.3, 5.5, (i * FloorHeight) + FloorHeight + 19.5, ((150 - 71.3) * 0.086), (5.5 * 0.08)
+    Room(i).AddWall GetTex("Wall3"), -12.5, -150, -12.5, -118 - 3.9, 19.5, (i * FloorHeight) + FloorHeight, ((150 - 118 - 3.9) * 0.086), (19.5 * 0.08)
+    Room(i).AddWall GetTex("Wall3"), -12.5, -118 + 3.9, -12.5, -102 - 3.9, 19.5, (i * FloorHeight) + FloorHeight, ((118 - 102 - 3.9 - 3.9) * 0.086), (19.5 * 0.08)
+    Room(i).AddWall GetTex("Wall3"), -12.5, -102 + 3.9, -12.5, -71.3, 19.5, (i * FloorHeight) + FloorHeight, ((102 - 71.3 - 3.9) * 0.086), (19.5 * 0.08)
     
     'center top hallway, left wall
-    Room(i).AddWall GetTex("Wall3"), 12.5, -150, 12.5, -71.3, 5.5, (i * 25) + 25 + 19.5, 9, 1
-    Room(i).AddWall GetTex("Wall3"), 12.5, -150, 12.5, -118 - 3.9, 19.5, (i * 25) + 25, 9, 1
-    Room(i).AddWall GetTex("Wall3"), 12.5, -118 + 3.9, 12.5, -102 - 3.9, 19.5, (i * 25) + 25, 9, 1
-    Room(i).AddWall GetTex("Wall3"), 12.5, -102 + 3.9, 12.5, -71.3, 19.5, (i * 25) + 25, 9, 1
+    Room(i).AddWall GetTex("Wall3"), 12.5, -150, 12.5, -71.3, 5.5, (i * FloorHeight) + FloorHeight + 19.5, ((150 - 71.3) * 0.086), (5.5 * 0.08)
+    Room(i).AddWall GetTex("Wall3"), 12.5, -150, 12.5, -118 - 3.9, 19.5, (i * FloorHeight) + FloorHeight, ((150 - 118 - 3.9) * 0.086), (19.5 * 0.08)
+    Room(i).AddWall GetTex("Wall3"), 12.5, -118 + 3.9, 12.5, -102 - 3.9, 19.5, (i * FloorHeight) + FloorHeight, ((118 - 102 - 3.9 - 3.9) * 0.086), (19.5 * 0.08)
+    Room(i).AddWall GetTex("Wall3"), 12.5, -102 + 3.9, 12.5, -71.3, 19.5, (i * FloorHeight) + FloorHeight, ((102 - 71.3 - 3.9) * 0.086), (19.5 * 0.08)
     
     'Individual Rooms
-    Room(i).AddWall GetTex("Wall3"), -110, 110, -70, 110, 25, (i * 25) + 25, 9, 1
-    Room(i).AddWall GetTex("Wall3"), -50, 110, -12.5, 110, 25, (i * 25) + 25, 2, 1
-    Room(i).AddWall GetTex("Wall3"), 110, 110, 70, 110, 25, (i * 25) + 25, 9, 1
-    Room(i).AddWall GetTex("Wall3"), 50, 110, 12.5, 110, 25, (i * 25) + 25, 2, 1
+    Room(i).AddWall GetTex("Wall3"), -110, 110, -70, 110, 25, (i * FloorHeight) + FloorHeight, ((110 - 70) * 0.086), 1
+    Room(i).AddWall GetTex("Wall3"), -50, 110, -12.5, 110, 25, (i * FloorHeight) + FloorHeight, ((50 - 12.5) * 0.086), 1
+    Room(i).AddWall GetTex("Wall3"), 110, 110, 70, 110, 25, (i * FloorHeight) + FloorHeight, ((110 - 70) * 0.086), 1
+    Room(i).AddWall GetTex("Wall3"), 50, 110, 12.5, 110, 25, (i * FloorHeight) + FloorHeight, ((50 - 12.5) * 0.086), 1
+    
+    Room(i).AddWall GetTex("Wall3"), -110, 71.3, -70, 71.3, 25, (i * FloorHeight) + FloorHeight, ((110 - 70) * 0.086), 1
+    Room(i).AddWall GetTex("Wall3"), -50, 71.3, -12.5, 71.3, 25, (i * FloorHeight) + FloorHeight, ((50 - 12.5) * 0.086), 1
+    Room(i).AddWall GetTex("Wall3"), 110, 71.3, 70, 71.3, 25, (i * FloorHeight) + FloorHeight, ((110 - 70) * 0.086), 1
+    Room(i).AddWall GetTex("Wall3"), 12.5, 71.3, 50, 71.3, 25, (i * FloorHeight) + FloorHeight, ((50 - 12.5) * 0.086), 1
     
-    Room(i).AddWall GetTex("Wall3"), -110, 75, -70, 75, 25, (i * 25) + 25, 9, 1
-    Room(i).AddWall GetTex("Wall3"), -50, 75, -12.5, 75, 25, (i * 25) + 25, 2, 1
-    Room(i).AddWall GetTex("Wall3"), 110, 75, 70, 75, 25, (i * 25) + 25, 9, 1
-    Room(i).AddWall GetTex("Wall3"), 50, 75, 12.5, 75, 25, (i * 25) + 25, 2, 1
+    Room(i).AddWall GetTex("Wall3"), -110, -110, -70, -110, 25, (i * FloorHeight) + FloorHeight, ((110 - 70) * 0.086), 1
+    Room(i).AddWall GetTex("Wall3"), -50, -110, -12.5, -110, 25, (i * FloorHeight) + FloorHeight, ((50 - 12.5) * 0.086), 1
+    Room(i).AddWall GetTex("Wall3"), 110, -110, 70, -110, 25, (i * FloorHeight) + FloorHeight, ((110 - 70) * 0.086), 1
+    Room(i).AddWall GetTex("Wall3"), 50, -110, 12.5, -110, 25, (i * FloorHeight) + FloorHeight, ((50 - 12.5) * 0.086), 1
     
-    Room(i).AddWall GetTex("Wall3"), -110, 40, -70, 40, 25, (i * 25) + 25, 9, 1
-    Room(i).AddWall GetTex("Wall3"), -50, 40, -12.5, 40, 25, (i * 25) + 25, 2, 1
-    Room(i).AddWall GetTex("Wall3"), 110, 40, 70, 40, 25, (i * 25) + 25, 9, 1
-    Room(i).AddWall GetTex("Wall3"), 50, 40, 12.5, 40, 25, (i * 25) + 25, 2, 1
+    Room(i).AddWall GetTex("Wall3"), -110, -71.3, -70, -71.3, 25, (i * FloorHeight) + FloorHeight, ((110 - 70) * 0.086), 1
+    Room(i).AddWall GetTex("Wall3"), -50, -71.3, -12.5, -71.3, 25, (i * FloorHeight) + FloorHeight, ((50 - 12.5) * 0.086), 1
+    Room(i).AddWall GetTex("Wall3"), 110, -71.3, 70, -71.3, 25, (i * FloorHeight) + FloorHeight, ((110 - 70) * 0.086), 1
+    Room(i).AddWall GetTex("Wall3"), 12.5, -71.3, 50, -71.3, 25, (i * FloorHeight) + FloorHeight, ((50 - 12.5) * 0.086), 1
     
-    Room(i).AddWall GetTex("Wall3"), -110, -110, -70, -110, 25, (i * 25) + 25, 9, 1
-    Room(i).AddWall GetTex("Wall3"), -50, -110, -12.5, -110, 25, (i * 25) + 25, 2, 1
-    Room(i).AddWall GetTex("Wall3"), 110, -110, 70, -110, 25, (i * 25) + 25, 9, 1
-    Room(i).AddWall GetTex("Wall3"), 50, -110, 12.5, -110, 25, (i * 25) + 25, 2, 1
+    Room(i).AddWall GetTex("Wall3"), -110, 46.25, -70, 46.25, 25, (i * FloorHeight) + FloorHeight, ((110 - 70) * 0.086), 1
+    Room(i).AddWall GetTex("Wall3"), 110, 46.25, 70, 46.25, 25, (i * FloorHeight) + FloorHeight, ((110 - 70) * 0.086), 1
     
-    Room(i).AddWall GetTex("Wall3"), -110, -71.3, -70, -71.3, 25, (i * 25) + 25, 9, 1
-    Room(i).AddWall GetTex("Wall3"), 110, -71.3, 70, -71.3, 25, (i * 25) + 25, 2, 1
+    'Room(i).AddWall GetTex("Wall3"), -110, 20, -70, 20, 25, (i * FloorHeight) + FloorHeight, 9, 1
+    'Room(i).AddWall GetTex("Wall3"), 110, 20, 70, 20, 25, (i * FloorHeight) + FloorHeight, 2, 1
     
-    Room(i).AddWall GetTex("Wall3"), -110, -10, -32.5, -10, 25, (i * 25) + 25, 9, 1
-    Room(i).AddWall GetTex("Wall3"), 110, -10, 32.5, -10, 25, (i * 25) + 25, 2, 1
+    Room(i).AddWall GetTex("Wall3"), -110, -5, -70, -5, 25, (i * FloorHeight) + FloorHeight, ((110 - 70) * 0.086), 1
+    Room(i).AddWall GetTex("Wall3"), 110, -5, 70, -5, 25, (i * FloorHeight) + FloorHeight, ((110 - 70) * 0.086), 1
     
     'Left Bottom Hallway, Right Wall (no doors)
-    Room(i).AddWall GetTex("Wall3"), 50, 40, 50, 150, 25, (i * 25) + 25, 9, 1
+    Room(i).AddWall GetTex("Wall3"), 50, 71.3, 50, 150, 25, (i * FloorHeight) + FloorHeight, ((150 - 71.3) * 0.086), 1
     
     'Right Bottom Hallway, Left Wall (no doors)
-    Room(i).AddWall GetTex("Wall3"), -50, 40, -50, 150, 25, (i * 25) + 25, 2, 1
+    Room(i).AddWall GetTex("Wall3"), -50, 71.3, -50, 150, 25, (i * FloorHeight) + FloorHeight, ((150 - 71.3) * 0.086), 1
     
     'Left Top Hallway, Right Wall (no doors)
-    Room(i).AddWall GetTex("Wall3"), 50, -71.3, 50, -150, 25, (i * 25) + 25, 9, 1
+    Room(i).AddWall GetTex("Wall3"), 50, -71.3, 50, -150, 25, (i * FloorHeight) + FloorHeight, ((150 - 71.3) * 0.086), 1
     
     'Right Top Hallway, Left Wall (no doors)
-    Room(i).AddWall GetTex("Wall3"), -50, -71.3, -50, -150, 25, (i * 25) + 25, 2, 1
-    
-    'service room
-    Room(i).AddWall GetTex("Wall3"), 45, -46.25, 45, -25, 25, (i * 25) + 25, 4, 1
-    Room(i).AddWall GetTex("Wall3"), 45, -25, 32.5, -25, 25, (i * 25) + 25, 4, 1
-    
+    Room(i).AddWall GetTex("Wall3"), -50, -71.3, -50, -150, 25, (i * FloorHeight) + FloorHeight, ((150 - 71.3) * 0.086), 1
     
     Next i
-Form1.Print "done"
-    'External.AddFloor GetTex("BrickTexture"), -110, -150, -85, 150, (118 * 25) + 25, 10, 10
-    'External.AddFloor GetTex("BrickTexture"), 110, -150, 85, 150, (118 * 25) + 25, 10, 10
 
 End Sub
-Sub Process118to132()
-    
-    'Floors 118 to 132 (minus 10 feet)
-    For i = 118 To 132
-    Form1.Print ".";
-    'Mesh.AddFloor GetTex("Granite"), -85, -150, 85, 150, (I * 25) + 25, 10, 10
-    Room(i).AddFloor GetTex("Granite"), -85, -150, 85, -46.25, (i * 25) + 25, 10, 3
-    Room(i).AddFloor GetTex("Granite"), -85, 0, 85, 150, (i * 25) + 25, 10, 3
-    Room(i).AddFloor GetTex("Granite"), -85, -46.25, -32.5, 0, (i * 25) + 25, 3, 3
-    Room(i).AddFloor GetTex("Granite"), 32.5, -46.25, 85, 0, (i * 25) + 25, 3, 3
-    Room(i).AddFloor GetTex("Granite"), -12.5, -46.25, 12.5, 0, (i * 25) + 25, 1, 3
-    
-    Room(i).AddFloor GetTex("Marble3"), -85, -150, 85, -46.25, (i * 25) + 49.5, 10, 3
-    Room(i).AddFloor GetTex("Marble3"), -85, 0, 85, 150, (i * 25) + 49.5, 10, 3
-    Room(i).AddFloor GetTex("Marble3"), -85, -46.25, -32.5, 0, (i * 25) + 49.5, 3, 3
-    Room(i).AddFloor GetTex("Marble3"), 32.5, -46.25, 85, 0, (i * 25) + 49.5, 3, 3
-    Room(i).AddFloor GetTex("Marble3"), -12.5, -46.25, 12.5, 0, (i * 25) + 49.5, 1, 3
-     
-    'Fake Stairway Doors for other floors
-    Room(i).AddWall GetTex("StairsDoor"), -12.8, -36.4 - 3.9, -12.8, -36.4 + 4.3, 19.5, (i * 25) + 25 + 25, -1, 1
+Sub Process118to129()
+    
+    'Floors 118 to 129 (minus 10 feet)
+    For i = 118 To 129
+    DoEvents
+    Form1.Label2.Caption = "Processing Floors 118 to 129... " + Str$(Int(((i - 118) / (129 - 118)) * 100)) + "%"
+    
+    'Floor
+    Room(i).AddFloor GetTex("Granite"), -85, -150, 85, -46.25, (i * FloorHeight) + FloorHeight, ((85 * 2) * 0.086), ((150 - 46.25) * 0.08)
+    Room(i).AddFloor GetTex("Granite"), -85, 46.25, 85, 150, (i * FloorHeight) + FloorHeight, ((85 * 2) * 0.086), ((150 - 46.25) * 0.08)
+    Room(i).AddFloor GetTex("Granite"), -12.5, -46.25, 12.5, 46.25, (i * FloorHeight) + FloorHeight, ((12.5 * 2) * 0.086), ((46.25 * 2) * 0.08)
+    Room(i).AddFloor GetTex("Granite"), -85, -46.25, -32.5, 46.25, (i * FloorHeight) + FloorHeight, ((85 - 32.5) * 0.086), ((46.25 * 2) * 0.08)
+    Room(i).AddFloor GetTex("Granite"), 85, -46.25, 32.5, 46.25, (i * FloorHeight) + FloorHeight, ((85 - 32.5) * 0.086), ((46.25 * 2) * 0.08)
     
+    'Ceiling
+    Room(i).AddFloor GetTex("Marble3"), -85, -150, 85, -46.25, (i * FloorHeight) + (FloorHeight + 25) - 0.5, ((85 * 2) * 0.086), ((150 - 46.25) * 0.08)
+    Room(i).AddFloor GetTex("Marble3"), -85, 46.25, 85, 150, (i * FloorHeight) + (FloorHeight + 25) - 0.5, ((85 * 2) * 0.086), ((150 - 46.25) * 0.08)
+    Room(i).AddFloor GetTex("Marble3"), -12.5, -46.25, 12.5, 46.25, (i * FloorHeight) + (FloorHeight + 25) - 0.5, ((12.5 * 2) * 0.086), ((46.25 * 2) * 0.08)
+    Room(i).AddFloor GetTex("Marble3"), -85, -46.25, -32.5, 46.25, (i * FloorHeight) + (FloorHeight + 25) - 0.5, ((85 - 32.5) * 0.086), ((46.25 * 2) * 0.08)
+    Room(i).AddFloor GetTex("Marble3"), 85, -46.25, 32.5, 46.25, (i * FloorHeight) + (FloorHeight + 25) - 0.5, ((85 - 32.5) * 0.086), ((46.25 * 2) * 0.08)
+    
+    'Crawlspace bottom
+    Room(i).AddFloor GetTex("BrickTexture"), -85, -150, 85, -46.25, (i * FloorHeight) + (FloorHeight + 25), ((85 * 2) * 0.086), ((150 - 46.25) * 0.08)
+    Room(i).AddFloor GetTex("BrickTexture"), -85, 46.25, 85, 150, (i * FloorHeight) + (FloorHeight + 25), ((85 * 2) * 0.086), ((150 - 46.25) * 0.08)
+    Room(i).AddFloor GetTex("BrickTexture"), -12.5, -46.25, 12.5, 46.25, (i * FloorHeight) + (FloorHeight + 25), ((12.5 * 2) * 0.086), ((46.25 * 2) * 0.08)
+    Room(i).AddFloor GetTex("BrickTexture"), -85, -46.25, -32.5, 46.25, (i * FloorHeight) + (FloorHeight + 25), ((85 - 32.5) * 0.086), ((46.25 * 2) * 0.08)
+    Room(i).AddFloor GetTex("BrickTexture"), 85, -46.25, 32.5, 46.25, (i * FloorHeight) + (FloorHeight + 25), ((85 - 32.5) * 0.086), ((46.25 * 2) * 0.08)
+    
+    'Crawlspace top
+    Room(i).AddFloor GetTex("BrickTexture"), -85, -150, 85, -46.25, (i * FloorHeight) + (FloorHeight + 24.9) + (FloorHeight - 25), ((85 * 2) * 0.086), ((150 - 46.25) * 0.08)
+    Room(i).AddFloor GetTex("BrickTexture"), -85, 46.25, 85, 150, (i * FloorHeight) + (FloorHeight + 24.9) + (FloorHeight - 25), ((85 * 2) * 0.086), ((150 - 46.25) * 0.08)
+    Room(i).AddFloor GetTex("BrickTexture"), -12.5, -46.25, 12.5, 46.25, (i * FloorHeight) + (FloorHeight + 24.9) + (FloorHeight - 25), ((12.5 * 2) * 0.086), ((46.25 * 2) * 0.08)
+    Room(i).AddFloor GetTex("BrickTexture"), -85, -46.25, -32.5, 46.25, (i * FloorHeight) + (FloorHeight + 24.9) + (FloorHeight - 25), ((85 - 32.5) * 0.086), ((46.25 * 2) * 0.08)
+    Room(i).AddFloor GetTex("BrickTexture"), 85, -46.25, 32.5, 46.25, (i * FloorHeight) + (FloorHeight + 24.9) + (FloorHeight - 25), ((85 - 32.5) * 0.086), ((46.25 * 2) * 0.08)
+    
+    'Crawlspace walls
+    Room(i).AddWall GetTex("BrickTexture"), -85, -150, 85, -150, (FloorHeight - 25), (i * FloorHeight) + FloorHeight + 25, ((85 * 2) * 0.086), ((FloorHeight - 25) * 0.08)
+    Room(i).AddWall GetTex("BrickTexture"), 85, -150, 85, 150, (FloorHeight - 25), (i * FloorHeight) + FloorHeight + 25, ((150 * 2) * 0.086), ((FloorHeight - 25) * 0.08)
+    Room(i).AddWall GetTex("BrickTexture"), 85, 150, -85, 150, (FloorHeight - 25), (i * FloorHeight) + FloorHeight + 25, ((85 * 2) * 0.086), ((FloorHeight - 25) * 0.08)
+    Room(i).AddWall GetTex("BrickTexture"), -85, 150, -85, -150, (FloorHeight - 25), (i * FloorHeight) + FloorHeight + 25, ((150 * 2) * 0.086), ((FloorHeight - 25) * 0.08)
+
     'Stairwell Walls
-    Stairs(i).AddWall GetTex("Concrete"), -12.5 - 0.5, -46.25 + 0.1, -12.5 - 0.5, -40.3, 75, (i * 25) + 25, ((46.25 - 40.3) * 0.086) * 4, 3 * 4
-    Stairs(i).AddWall GetTex("Concrete"), -12.5 - 0.5, -32.5, -12.5 - 0.5, -30, 75, (i * 25) + 25, (2.5 * 0.086) * 4, 3 * 4
-    Stairs(i).AddWall GetTex("Concrete"), -32.5 + 0.1, -46.25 + 0.1, -32.5 + 0.1, -30 - 1, 75, (i * 25) + 25, (16.25 * 0.086) * 4, 3 * 4
-    Stairs(i).AddWall GetTex("Concrete"), -12.5, -46.25 + 0.1, -32.5, -46.25 + 0.1, 75, (i * 25) + 25, (20 * 0.086) * 4, 3 * 4
-    Stairs(i).AddWall GetTex("Concrete"), -12.5, -30 - 1, -32.5, -30 - 1, 75, (i * 25) + 25, (20 * 0.086) * 4, 3 * 4
-    Stairs(i).AddWall GetTex("Concrete"), -12.5 - 6, -46.25 + 7.71, -12.5 - 16, -46.25 + 7.71, 75, (i * 25) + 25, (10 * 0.086) * 4, 3 * 4
-    Stairs(i).AddWall GetTex("Concrete"), -12.5 - 0.5, -40.3, -12.5 - 0.5, -30, 5.5, 19.5 + (i * 25) + 25, (10.3 * 0.086) * 4, 0.2 * 4
+    Stairs(i).AddWall GetTex("Concrete"), -12.5 - 0.5, -46.25 + 0.1, -12.5 - 0.5, -40.3, (FloorHeight), (i * FloorHeight) + FloorHeight, ((46.25 - 40.3) * 0.086), ((FloorHeight) * 0.086)
+    Stairs(i).AddWall GetTex("Concrete"), -12.5 - 0.5, -32.5, -12.5 - 0.5, -30, (FloorHeight), (i * FloorHeight) + FloorHeight, (2.5 * 0.086), ((FloorHeight) * 0.086)
+    Stairs(i).AddWall GetTex("Concrete"), -32.5 + 0.1, -46.25 + 0.1, -32.5 + 0.1, -30 - 1, (FloorHeight), (i * FloorHeight) + FloorHeight, (16.25 * 0.086), ((FloorHeight) * 0.086)
+    Stairs(i).AddWall GetTex("Concrete"), -12.5, -46.25 + 0.1, -32.5, -46.25 + 0.1, (FloorHeight), (i * FloorHeight) + FloorHeight, (20 * 0.086), ((FloorHeight) * 0.086)
+    Stairs(i).AddWall GetTex("Concrete"), -12.5, -30 - 1, -32.5, -30 - 1, (FloorHeight), (i * FloorHeight) + FloorHeight, (20 * 0.086), ((FloorHeight) * 0.086)
+    Stairs(i).AddWall GetTex("Concrete"), -12.5 - 6, -46.25 + 7.71, -12.5 - 16, -46.25 + 7.71, (FloorHeight), (i * FloorHeight) + FloorHeight, (10 * 0.086), ((FloorHeight) * 0.086)
+    Stairs(i).AddWall GetTex("Concrete"), -12.5 - 0.5, -40.3, -12.5 - 0.5, -30, (FloorHeight - 19.5), 19.5 + (i * FloorHeight) + FloorHeight, (10.3 * 0.086), ((FloorHeight - 19.5) * 0.08)
         
-    If i = 118 Or i = 129 Then Call DrawElevatorWalls(Int(i), 5, True, True, False, True, True, False, False, False, False, False, False)
-    If i >= 119 And i <= 128 Then Call DrawElevatorWalls(Int(i), 5, True, False, False, True, True, False, False, False, False, False, False)
-    If i = 130 Or i = 131 Then Call DrawElevatorWalls(Int(i), 5, True, True, False, True, True, False, False, False, False, False, False)
-    If i = 132 Then Call DrawElevatorWalls(Int(i), 5, False, True, True, False, False, False, False, False, False, False, False)
+    'If i = 118 Or i = 129 Then
+    Call DrawElevatorWalls(Int(i), 2, 1, False, True, True, False, False, False, True, True, True, True, True, True)
+    'End If
+    'If i >= 119 And i <= 128 Then
+    'Call DrawElevatorWalls(Int(i), 2, 1, False, True, False, False, False, False, True, True, True, True, True, True)
+    'End If
     
     'Room(I) Walls
-    Room(i).AddWall GetTex("Wall3"), -50, -71.3, -12.5, -71.3, 25, (i * 25) + 25, 9, 1
-    Room(i).AddWall GetTex("Wall3"), 12.5, -71.3, 50, -71.3, 25, (i * 25) + 25, 2, 1
+    Room(i).AddWall GetTex("Wall3"), -60, -71.3, -12.5, -71.3, 25, (i * FloorHeight) + FloorHeight, ((60 - 12.5) * 0.086), 1
+    Room(i).AddWall GetTex("Wall3"), 12.5, -71.3, 60, -71.3, 25, (i * FloorHeight) + FloorHeight, ((60 - 12.5) * 0.086), 1
     
-    Room(i).AddWall GetTex("Wall3"), -50, 25, -12.5, 25, 25, (i * 25) + 25, 9, 1
-    Room(i).AddWall GetTex("Wall3"), 12.5, 25, 50, 25, 25, (i * 25) + 25, 2, 1
+    Room(i).AddWall GetTex("Wall3"), -60, 46.25, -32.5, 46.25, 25, (i * FloorHeight) + FloorHeight, ((60 - 32.5) * 0.086), 1
+    Room(i).AddWall GetTex("Wall3"), 32.5, 46.25, 60, 46.25, 25, (i * FloorHeight) + FloorHeight, ((60 - 32.5) * 0.086), 1
     
-    Room(i).AddWall GetTex("Wall3"), -50, 0, -32.5, 0, 25, (i * 25) + 25, 9, 1
-    Room(i).AddWall GetTex("Wall3"), 50, 0, 32.5, 0, 25, (i * 25) + 25, 2, 1
+    'Room(i).AddWall GetTex("Wall3"), -60, 0, -32.5, 0, 25, (i * FloorHeight) + FloorHeight, 9, 1
+    'Room(i).AddWall GetTex("Wall3"), 60, 0, 32.5, 0, 25, (i * FloorHeight) + FloorHeight, 2, 1
     
-    Room(i).AddWall GetTex("Wall3"), -50, -46.3, -32.5, -46.3, 25, (i * 25) + 25, 9, 1
+    Room(i).AddWall GetTex("Wall3"), -60, -46.3, -32.5, -46.3, 25, (i * FloorHeight) + FloorHeight, ((60 - 32.5) * 0.086), 1
     'This wall is cut for the service door
-    Room(i).AddWall GetTex("Wall3"), 50, -46.3, 32.5, -46.3, 5.5, (i * 25) + 25 + 19.5, 2, 1
-    Room(i).AddWall GetTex("Wall3"), 50, -46.3, 39 + 3.9, -46.3, 19.5, (i * 25) + 25, 2, 1
-    Room(i).AddWall GetTex("Wall3"), 39 - 3.9, -46.3, 32.5, -46.3, 19.5, (i * 25) + 25, 2, 1
+    Room(i).AddWall GetTex("Wall3"), 60, -46.3, 32.5, -46.3, 5.5, (i * FloorHeight) + FloorHeight + 19.5, ((60 - 32.5) * 0.086), 5.5 * 4
+    Room(i).AddWall GetTex("Wall3"), 60, -46.3, 39 + 3.9, -46.3, 19.5, (i * FloorHeight) + FloorHeight, ((60 - 39 - 3.9) * 0.086), 19.5 * 4
+    Room(i).AddWall GetTex("Wall3"), 39 - 3.9, -46.3, 32.5, -46.3, 19.5, (i * FloorHeight) + FloorHeight, ((39 - 32.5 - 3.9) * 0.086), 19.5 * 4
         
     'Top Horizontal Hallway End Walls
-    Room(i).AddWall GetTex("Wall3"), -50, -71.3, -50, -46.3, 5.5, (i * 25) + 25 + 19.5, 9, 1
-    Room(i).AddWall GetTex("Wall3"), -50, -71.3, -50, -60 - 3.9, 19.5, (i * 25) + 25, 9, 1
-    Room(i).AddWall GetTex("Wall3"), -50, -60 + 3.9, -50, -46.3, 19.5, (i * 25) + 25, 9, 1
-    Room(i).AddWall GetTex("Wall3"), 50, -71.3, 50, -46.3, 5.5, (i * 25) + 25 + 19.5, 9, 1
-    Room(i).AddWall GetTex("Wall3"), 50, -71.3, 50, -60 - 3.9, 19.5, (i * 25) + 25, 9, 1
-    Room(i).AddWall GetTex("Wall3"), 50, -60 + 3.9, 50, -46.3, 19.5, (i * 25) + 25, 9, 1
+    Room(i).AddWall GetTex("Wall3"), -60, -71.3, -60, -46.3, 5.5, (i * FloorHeight) + FloorHeight + 19.5, ((71.3 - 46.3) * 0.086), 5.5 * 4
+    Room(i).AddWall GetTex("Wall3"), -60, -71.3, -60, -60 - 3.9, 19.5, (i * FloorHeight) + FloorHeight, ((71.3 - 60 - 3.9) * 0.086), 19.5 * 4
+    Room(i).AddWall GetTex("Wall3"), -60, -60 + 3.9, -60, -46.3, 19.5, (i * FloorHeight) + FloorHeight, ((60 - 46.3 - 3.9) * 0.086), 19.5 * 4
+    Room(i).AddWall GetTex("Wall3"), 60, -71.3, 60, -46.3, 5.5, (i * FloorHeight) + FloorHeight + 19.5, ((71.3 - 46.3) * 0.086), 5.5 * 4
+    Room(i).AddWall GetTex("Wall3"), 60, -71.3, 60, -60 - 3.9, 19.5, (i * FloorHeight) + FloorHeight, ((71.3 - 60 - 3.9) * 0.086), 19.5 * 4
+    Room(i).AddWall GetTex("Wall3"), 60, -60 + 3.9, 60, -46.3, 19.5, (i * FloorHeight) + FloorHeight, ((60 - 46.3 - 3.9) * 0.086), 19.5 * 4
     
     'Bottom Horizontal Hallway End Walls
-    Room(i).AddWall GetTex("Wall3"), -50, 0, -50, 25, 5.5, (i * 25) + 25 + 19.5, 9, 1
-    Room(i).AddWall GetTex("Wall3"), -50, 0, -50, 13 - 3.9, 19.5, (i * 25) + 25, 9, 1
-    Room(i).AddWall GetTex("Wall3"), -50, 13 + 3.9, -50, 25, 19.5, (i * 25) + 25, 9, 1
-    Room(i).AddWall GetTex("Wall3"), 50, 0, 50, 25, 5.5, (i * 25) + 25 + 19.5, 9, 1
-    Room(i).AddWall GetTex("Wall3"), 50, 0, 50, 13 - 3.9, 19.5, (i * 25) + 25, 9, 1
-    Room(i).AddWall GetTex("Wall3"), 50, 13 + 3.9, 50, 25, 19.5, (i * 25) + 25, 9, 1
+    Room(i).AddWall GetTex("Wall3"), -60, 71.3, -60, 46.3, 5.5, (i * FloorHeight) + FloorHeight + 19.5, ((71.3 - 46.3) * 0.086), 5.5 * 4
+    Room(i).AddWall GetTex("Wall3"), -60, 71.3, -60, 60 + 3.9, 19.5, (i * FloorHeight) + FloorHeight, ((71.3 - 60 - 3.9) * 0.086), 19.5 * 4
+    Room(i).AddWall GetTex("Wall3"), -60, 60 - 3.9, -60, 46.3, 19.5, (i * FloorHeight) + FloorHeight, ((60 - 46.3 - 3.9) * 0.086), 19.5 * 4
+    Room(i).AddWall GetTex("Wall3"), 60, 71.3, 60, 46.3, 5.5, (i * FloorHeight) + FloorHeight + 19.5, ((71.3 - 46.3) * 0.086), 5.5 * 4
+    Room(i).AddWall GetTex("Wall3"), 60, 71.3, 60, 60 + 3.9, 19.5, (i * FloorHeight) + FloorHeight, ((71.3 - 60 - 3.9) * 0.086), 19.5 * 4
+    Room(i).AddWall GetTex("Wall3"), 60, 60 - 3.9, 60, 46.3, 19.5, (i * FloorHeight) + FloorHeight, ((60 - 46.3 - 3.9) * 0.086), 19.5 * 4
     
     'Bottom Hallway
-    Room(i).AddWall GetTex("Wall3"), -12.5, 150, -12.5, 25, 5.5, (i * 25) + 25 + 19.5, 9, 1
-    Room(i).AddWall GetTex("Wall3"), -12.5, 150, -12.5, 126 + 3.9, 19.5, (i * 25) + 25, 9, 1
-    Room(i).AddWall GetTex("Wall3"), -12.5, 126 - 3.9, -12.5, 115 + 3.9, 19.5, (i * 25) + 25, 9, 1
-    Room(i).AddWall GetTex("Wall3"), -12.5, 115 - 3.9, -12.5, 67 + 3.9, 19.5, (i * 25) + 25, 9, 1
-    Room(i).AddWall GetTex("Wall3"), -12.5, 67 - 3.9, -12.5, 54 + 3.9, 19.5, (i * 25) + 25, 9, 1
-    Room(i).AddWall GetTex("Wall3"), -12.5, 54 - 3.9, -12.5, 25, 19.5, (i * 25) + 25, 9, 1
-    Room(i).AddWall GetTex("Wall3"), 12.5, 150, 12.5, 25, 5.5, (i * 25) + 25 + 19.5, 9, 1
-    Room(i).AddWall GetTex("Wall3"), 12.5, 150, 12.5, 126 + 3.9, 19.5, (i * 25) + 25, 9, 1
-    Room(i).AddWall GetTex("Wall3"), 12.5, 126 - 3.9, 12.5, 115 + 3.9, 19.5, (i * 25) + 25, 9, 1
-    Room(i).AddWall GetTex("Wall3"), 12.5, 115 - 3.9, 12.5, 67 + 3.9, 19.5, (i * 25) + 25, 9, 1
-    Room(i).AddWall GetTex("Wall3"), 12.5, 67 - 3.9, 12.5, 54 + 3.9, 19.5, (i * 25) + 25, 9, 1
-    Room(i).AddWall GetTex("Wall3"), 12.5, 54 - 3.9, 12.5, 25, 19.5, (i * 25) + 25, 9, 1
+    Room(i).AddWall GetTex("Wall3"), -12.5, 150, -12.5, 71.3, 5.5, (i * FloorHeight) + FloorHeight + 19.5, ((150 - 71.3) * 0.086), 5.5 * 4
+    Room(i).AddWall GetTex("Wall3"), -12.5, 150, -12.5, 117 + 3.9, 19.5, (i * FloorHeight) + FloorHeight, ((150 - 117 - 3.9) * 0.086), 19.5 * 4
+    Room(i).AddWall GetTex("Wall3"), -12.5, 117 - 3.9, -12.5, 101 + 3.9, 19.5, (i * FloorHeight) + FloorHeight, ((117 - 101 - 3.9 - 3.9) * 0.086), 19.5 * 4
+    Room(i).AddWall GetTex("Wall3"), -12.5, 101 - 3.9, -12.5, 71.3, 19.5, (i * FloorHeight) + FloorHeight, ((101 - 71.3 - 3.9) * 0.086), 19.5 * 4
+    Room(i).AddWall GetTex("Wall3"), 12.5, 150, 12.5, 71.3, 5.5, (i * FloorHeight) + FloorHeight + 19.5, ((150 - 71.3) * 0.086), 5.5 * 4
+    Room(i).AddWall GetTex("Wall3"), 12.5, 150, 12.5, 117 + 3.9, 19.5, (i * FloorHeight) + FloorHeight, ((150 - 117 - 3.9) * 0.086), 19.5 * 4
+    Room(i).AddWall GetTex("Wall3"), 12.5, 117 - 3.9, 12.5, 101 + 3.9, 19.5, (i * FloorHeight) + FloorHeight, ((117 - 101 - 3.9 - 3.9) * 0.086), 19.5 * 4
+    Room(i).AddWall GetTex("Wall3"), 12.5, 101 - 3.9, 12.5, 71.3, 19.5, (i * FloorHeight) + FloorHeight, ((101 - 71.3 - 3.9) * 0.086), 19.5 * 4
     
     'Top Hallway
-    Room(i).AddWall GetTex("Wall3"), -12.5, -150, -12.5, -71.3, 5.5, (i * 25) + 25 + 19.5, 9, 1
-    Room(i).AddWall GetTex("Wall3"), -12.5, -150, -12.5, -117 - 3.9, 19.5, (i * 25) + 25, 9, 1
-    Room(i).AddWall GetTex("Wall3"), -12.5, -117 + 3.9, -12.5, -101 - 3.9, 19.5, (i * 25) + 25, 9, 1
-    Room(i).AddWall GetTex("Wall3"), -12.5, -101 + 3.9, -12.5, -71.3, 19.5, (i * 25) + 25, 9, 1
-    Room(i).AddWall GetTex("Wall3"), 12.5, -150, 12.5, -71.3, 5.5, (i * 25) + 25 + 19.5, 9, 1
-    Room(i).AddWall GetTex("Wall3"), 12.5, -150, 12.5, -117 - 3.9, 19.5, (i * 25) + 25, 9, 1
-    Room(i).AddWall GetTex("Wall3"), 12.5, -117 + 3.9, 12.5, -101 - 3.9, 19.5, (i * 25) + 25, 9, 1
-    Room(i).AddWall GetTex("Wall3"), 12.5, -101 + 3.9, 12.5, -71.3, 19.5, (i * 25) + 25, 9, 1
+    Room(i).AddWall GetTex("Wall3"), -12.5, -150, -12.5, -71.3, 5.5, (i * FloorHeight) + FloorHeight + 19.5, ((150 - 71.3) * 0.086), 5.5 * 4
+    Room(i).AddWall GetTex("Wall3"), -12.5, -150, -12.5, -117 - 3.9, 19.5, (i * FloorHeight) + FloorHeight, ((150 - 117 - 3.9) * 0.086), 19.5 * 4
+    Room(i).AddWall GetTex("Wall3"), -12.5, -117 + 3.9, -12.5, -101 - 3.9, 19.5, (i * FloorHeight) + FloorHeight, ((117 - 101 - 3.9 - 3.9) * 0.086), 19.5 * 4
+    Room(i).AddWall GetTex("Wall3"), -12.5, -101 + 3.9, -12.5, -71.3, 19.5, (i * FloorHeight) + FloorHeight, ((101 - 71.3 - 3.9) * 0.086), 19.5 * 4
+    Room(i).AddWall GetTex("Wall3"), 12.5, -150, 12.5, -71.3, 5.5, (i * FloorHeight) + FloorHeight + 19.5, ((150 - 71.3) * 0.086), 5.5 * 4
+    Room(i).AddWall GetTex("Wall3"), 12.5, -150, 12.5, -117 - 3.9, 19.5, (i * FloorHeight) + FloorHeight, ((150 - 117 - 3.9) * 0.086), 19.5 * 4
+    Room(i).AddWall GetTex("Wall3"), 12.5, -117 + 3.9, 12.5, -101 - 3.9, 19.5, (i * FloorHeight) + FloorHeight, ((117 - 101 - 3.9 - 3.9) * 0.086), 19.5 * 4
+    Room(i).AddWall GetTex("Wall3"), 12.5, -101 + 3.9, 12.5, -71.3, 19.5, (i * FloorHeight) + FloorHeight, ((101 - 71.3 - 3.9) * 0.086), 19.5 * 4
     
     'Individual Rooms
-    Room(i).AddWall GetTex("Wall3"), -85, 90, -12.5, 90, 25, (i * 25) + 25, 9, 1
-    Room(i).AddWall GetTex("Wall3"), 85, 90, 12.5, 90, 25, (i * 25) + 25, 2, 1
-    Room(i).AddWall GetTex("Wall3"), -85, 120, -12.5, 120, 25, (i * 25) + 25, 9, 1
-    Room(i).AddWall GetTex("Wall3"), 85, 120, 12.5, 120, 25, (i * 25) + 25, 2, 1
-    Room(i).AddWall GetTex("Wall3"), -85, 60, -12.5, 60, 25, (i * 25) + 25, 9, 1
-    Room(i).AddWall GetTex("Wall3"), 85, 60, 12.5, 60, 25, (i * 25) + 25, 2, 1
-    Room(i).AddWall GetTex("Wall3"), -85, 25, -50, 25, 25, (i * 25) + 25, 9, 1
-    Room(i).AddWall GetTex("Wall3"), 85, 25, 50, 25, 25, (i * 25) + 25, 2, 1
-    
-    Room(i).AddWall GetTex("Wall3"), -85, -110, -12.5, -110, 25, (i * 25) + 25, 9, 1
-    Room(i).AddWall GetTex("Wall3"), 85, -110, 12.5, -110, 25, (i * 25) + 25, 2, 1
-    Room(i).AddWall GetTex("Wall3"), -85, -71.3, -50, -71.3, 25, (i * 25) + 25, 9, 1
-    Room(i).AddWall GetTex("Wall3"), 85, -71.3, 50, -71.3, 25, (i * 25) + 25, 2, 1
-    
-    Room(i).AddWall GetTex("Wall3"), -85, -20, -32.5, -20, 25, (i * 25) + 25, 9, 1
-    Room(i).AddWall GetTex("Wall3"), 85, -20, 32.5, -20, 25, (i * 25) + 25, 2, 1
+    Room(i).AddWall GetTex("Wall3"), -85, 110, -12.5, 110, 25, (i * FloorHeight) + FloorHeight, ((85 - 12.5) * 0.086), 1
+    Room(i).AddWall GetTex("Wall3"), 85, 110, 12.5, 110, 25, (i * FloorHeight) + FloorHeight, ((85 - 12.5) * 0.086), 1
+    Room(i).AddWall GetTex("Wall3"), -85, 71.3, -12.5, 71.3, 25, (i * FloorHeight) + FloorHeight, ((85 - 12.5) * 0.086), 1
+    Room(i).AddWall GetTex("Wall3"), 85, 71.3, 12.5, 71.3, 25, (i * FloorHeight) + FloorHeight, ((85 - 12.5) * 0.086), 1
+    
+    Room(i).AddWall GetTex("Wall3"), -85, -110, -12.5, -110, 25, (i * FloorHeight) + FloorHeight, ((85 - 12.5) * 0.086), 1
+    Room(i).AddWall GetTex("Wall3"), 85, -110, 12.5, -110, 25, (i * FloorHeight) + FloorHeight, ((85 - 12.5) * 0.086), 1
+    Room(i).AddWall GetTex("Wall3"), -85, -71.3, -60, -71.3, 25, (i * FloorHeight) + FloorHeight, ((85 - 60) * 0.086), 1
+    Room(i).AddWall GetTex("Wall3"), 85, -71.3, 60, -71.3, 25, (i * FloorHeight) + FloorHeight, ((85 - 60) * 0.086), 1
+    
+    Room(i).AddWall GetTex("Wall3"), -85, 0, -32.5, 0, 25, (i * FloorHeight) + FloorHeight, ((85 - 32.5) * 0.086), 1
+    Room(i).AddWall GetTex("Wall3"), 85, 0, 32.5, 0, 25, (i * FloorHeight) + FloorHeight, ((85 - 32.5) * 0.086), 1
     
     'service room
-    Room(i).AddWall GetTex("Wall3"), 50, -46.25, 50, -20, 25, (i * 25) + 25, 4, 1
+    Room(i).AddWall GetTex("Wall3"), 50, -46.25, 50, -20, 25, (i * FloorHeight) + FloorHeight, ((46.25 - 20) * 0.086), 1
+    Room(i).AddWall GetTex("Wall3"), 50, -20, 32.5, -20, 25, (i * FloorHeight) + FloorHeight, ((50 - 32.5) * 0.086), 1
     
     Next i
-Form1.Print "done"
     
 End Sub
 
@@ -1847,1835 +1469,7 @@ Next i
 'objectindex + (150 * (currentfloor - 1 ))
 
 End Sub
-Sub InitObjectsForFloor(Floor As Integer)
-
-'If Test1 = False Then Exit Sub
-'Test1 = False
-'Exit Sub
-If Floor = 1 Then
-
-''Column 1
-'i = 1 + (150 * (Floor - 1))
-'Call Init_Objects(Floor, 1)
-'Objects(i).Load3DsMesh App.Path + "\objects\column.3ds", True
-'Objects(i).SetColor (RGBA(10, 10, 10, 1))
-'Objects(i).ScaleMesh 0.105, 0.105, 0.105
-'Objects(i).SetTexture GetTex("ColumnTex")
-'Objects(i).SetPosition -75, 13.5, 45
-''Objects(i).Optimize
-
-''Column 2
-'i = 2 + (150 * (Floor - 1))
-'Call Init_Objects(Floor, 2)
-'Objects(i).Load3DsMesh App.Path + "\objects\column.3ds", True
-'Objects(i).SetColor (RGBA(10, 10, 10, 1))
-'Objects(i).ScaleMesh 0.105, 0.105, 0.105
-'Objects(i).SetTexture GetTex("ColumnTex")
-'Objects(i).SetPosition -75, 13.5, 15
-''Objects(i).Optimize
-
-''Column 3
-'i = 3 + (150 * (Floor - 1))
-'Call Init_Objects(Floor, 3)
-'Objects(i).Load3DsMesh App.Path + "\objects\column.3ds", True
-'Objects(i).SetColor (RGBA(10, 10, 10, 1))
-'Objects(i).ScaleMesh 0.105, 0.105, 0.105
-'Objects(i).SetTexture GetTex("ColumnTex")
-'Objects(i).SetPosition -75, 13.5, -15
-''Objects(i).Optimize
-
-''Column 4
-'i = 4 + (150 * (Floor - 1))
-'Call Init_Objects(Floor, 4)
-'Objects(i).Load3DsMesh App.Path + "\objects\column.3ds", True
-'Objects(i).SetColor (RGBA(10, 10, 10, 1))
-'Objects(i).ScaleMesh 0.105, 0.105, 0.105
-'Objects(i).SetTexture GetTex("ColumnTex")
-'Objects(i).SetPosition -75, 13.5, -45
-''Objects(i).Optimize
-
-''Column 5
-'i = 5 + (150 * (Floor - 1))
-'Call Init_Objects(Floor, 5)
-'Objects(i).Load3DsMesh App.Path + "\objects\column.3ds", True
-'Objects(i).SetColor (RGBA(10, 10, 10, 1))
-'Objects(i).ScaleMesh 0.105, 0.105, 0.105
-'Objects(i).SetTexture GetTex("ColumnTex")
-'Objects(i).SetPosition 75, 13.5, 45
-''Objects(i).Optimize
-
-''Column 6
-'i = 6 + (150 * (Floor - 1))
-'Call Init_Objects(Floor, 6)
-'Objects(i).Load3DsMesh App.Path + "\objects\column.3ds", True
-'Objects(i).SetColor (RGBA(10, 10, 10, 1))
-'Objects(i).ScaleMesh 0.105, 0.105, 0.105
-'Objects(i).SetTexture GetTex("ColumnTex")
-'Objects(i).SetPosition 75, 13.5, 15
-''Objects(i).Optimize
-
-''Column 7
-'i = 7 + (150 * (Floor - 1))
-'Call Init_Objects(Floor, 7)
-'Objects(i).Load3DsMesh App.Path + "\objects\column.3ds", True
-'Objects(i).SetColor (RGBA(10, 10, 10, 1))
-'Objects(i).ScaleMesh 0.105, 0.105, 0.105
-'Objects(i).SetTexture GetTex("ColumnTex")
-'Objects(i).SetPosition 75, 13.5, -15
-''Objects(i).Optimize
-
-''Column 8
-'i = 8 + (150 * (Floor - 1))
-'Call Init_Objects(Floor, 8)
-'Objects(i).Load3DsMesh App.Path + "\objects\column.3ds", True
-'Objects(i).SetColor (RGBA(10, 10, 10, 1))
-'Objects(i).ScaleMesh 0.105, 0.105, 0.105
-'Objects(i).SetTexture GetTex("ColumnTex")
-'Objects(i).SetPosition 75, 13.5, -45
-''Objects(i).Optimize
-
-'Door 1
-i = 9 + (150 * (Floor - 1))
-Call Init_Objects(Floor, 9)
-Objects(i).AddWall GetTex("StairsDoor2"), -3.9, 0, 3.9, 0, 19.5, 0, 1, 1
-'Objects(i).SetColor (RGBA(10, 10, 10, 1))
-'Objects(i).ScaleMesh 0.45, 0.535, 0.535
-'Objects(i).SetTexture GetTex("Wood2")
-Objects(i).SetMeshName ("DoorB " + Str$(i))
-Objects(i).SetRotation 0, 1.56, 0
-Objects(i).SetPosition -12.8, 0, -36.4
-
-'Door 2
-i = 10 + (150 * (Floor - 1))
-Call Init_Objects(Floor, 10)
-Objects(i).AddWall GetTex("StairsDoor2"), -3.9, 0, 3.9, 0, 19.5, 0, 1, 1
-'Objects(i).SetColor (RGBA(10, 10, 10, 1))
-'Objects(i).ScaleMesh 0.45, 0.535, 0.535
-'Objects(i).SetTexture GetTex("Wood2")
-Objects(i).SetMeshName ("DoorB " + Str$(i))
-Objects(i).SetRotation 0, 1.56, 0
-Objects(i).SetPosition -12.8, 27, -36.4
 
-End If
-
-If Floor >= 2 And Floor <= 39 Then
-
-'Window 1
-i = 1 + (150 * (Floor - 1))
-Call Init_Objects(Floor, 1)
-Objects(i).Load3DsMesh App.Path + "\objects\window4.3ds", True
-Objects(i).SetColor (RGBA(10, 10, 10, 1))
-Objects(i).ScaleMesh 0.136, 0.136, 0.136
-Objects(i).SetTexture GetTex("Ceiling1")
-'Objects(i).SetPosition 154, 12.01 + ((Floor * 25) + 25), 149.5
-Objects(i).SetPosition 154, 12.01 + ((Floor * 25) + 25), 149.5
-'Objects(i).Optimize
-
-For j = 2 To 27
-'Windows 2 to 27
-i = j + (150 * (Floor - 1))
-Call Init_Objects(Floor, Int(j))
-Objects(i).Load3DsMesh App.Path + "\objects\window4.3ds", True
-Objects(i).SetColor (RGBA(10, 10, 10, 1))
-Objects(i).ScaleMesh 0.136, 0.136, 0.136
-Objects(i).SetTexture GetTex("Ceiling1")
-Objects(i).SetPosition 154 - ((j - 1) * 12) + ((j - 1) * 0.15), 12.01 + ((Floor * 25) + 25), 149.5
-'Objects(i).Optimize
-Next j
-
-'Window 28
-i = 28 + (150 * (Floor - 1))
-Call Init_Objects(Floor, 28)
-Objects(i).Load3DsMesh App.Path + "\objects\window4.3ds", True
-Objects(i).SetColor (RGBA(10, 10, 10, 1))
-Objects(i).ScaleMesh 0.136, 0.136, 0.136
-Objects(i).SetTexture GetTex("Ceiling1")
-'Objects(i).SetPosition 154, 12.01 + ((Floor * 25) + 25), -149.5
-Objects(i).SetPosition 154, 12.01 + ((Floor * 25) + 25), -149.5
-'Objects(i).Optimize
-
-For j = 29 To 54
-'Windows 29 to 54
-i = j + (150 * (Floor - 1))
-Call Init_Objects(Floor, Int(j))
-Objects(i).Load3DsMesh App.Path + "\objects\window4.3ds", True
-Objects(i).SetColor (RGBA(10, 10, 10, 1))
-Objects(i).ScaleMesh 0.136, 0.136, 0.136
-Objects(i).SetTexture GetTex("Ceiling1")
-Objects(i).SetPosition 154 - ((j - 28) * 12) + ((j - 28) * 0.15), 12.01 + ((Floor * 25) + 25), -149.5
-'Objects(i).Optimize
-Next j
-
-'Window 55
-i = 55 + (150 * (Floor - 1))
-Call Init_Objects(Floor, 55)
-Objects(i).Load3DsMesh App.Path + "\objects\window4.3ds", True
-Objects(i).SetColor (RGBA(10, 10, 10, 1))
-Objects(i).ScaleMesh 0.136, 0.136, 0.136
-Objects(i).SetTexture GetTex("Ceiling1")
-Objects(i).SetRotation 0, -1.58, 0
-'Objects(i).SetPosition 154, 12.01 + ((Floor * 25) + 25), -149.5
-Objects(i).SetPosition 159.5, 12.01 + ((Floor * 25) + 25), 143
-'Objects(i).Optimize
-
-'Windows 56 to 79
-For j = 56 To 79
-i = j + (150 * (Floor - 1))
-Call Init_Objects(Floor, Int(j))
-Objects(i).Load3DsMesh App.Path + "\objects\window4.3ds", True
-Objects(i).SetColor (RGBA(10, 10, 10, 1))
-Objects(i).ScaleMesh 0.136, 0.136, 0.136
-Objects(i).SetTexture GetTex("Ceiling1")
-Objects(i).SetRotation 0, -1.58, 0
-'Objects(i).SetPosition 154, 12.01 + ((Floor * 25) + 25), -149.5
-Objects(i).SetPosition 159.5, 12.01 + ((Floor * 25) + 25), 143 - ((j - 55) * 12) + ((j - 55) * 0.1)
-'Objects(i).Optimize
-Next j
-
-'Window 80
-i = 80 + (150 * (Floor - 1))
-Call Init_Objects(Floor, 80)
-Objects(i).Load3DsMesh App.Path + "\objects\window4.3ds", True
-Objects(i).SetColor (RGBA(10, 10, 10, 1))
-Objects(i).ScaleMesh 0.136, 0.136, 0.136
-Objects(i).SetTexture GetTex("Ceiling1")
-Objects(i).SetRotation 0, -1.58, 0
-'Objects(i).SetPosition 154, 12.01 + ((Floor * 25) + 25), -149.5
-Objects(i).SetPosition -159.5, 12.01 + ((Floor * 25) + 25), 143
-'Objects(i).Optimize
-
-'Windows 81 to 104
-For j = 81 To 104
-i = j + (150 * (Floor - 1))
-Call Init_Objects(Floor, Int(j))
-Objects(i).Load3DsMesh App.Path + "\objects\window4.3ds", True
-Objects(i).SetColor (RGBA(10, 10, 10, 1))
-Objects(i).ScaleMesh 0.136, 0.136, 0.136
-Objects(i).SetTexture GetTex("Ceiling1")
-Objects(i).SetRotation 0, -1.58, 0
-'Objects(i).SetPosition 154, 12.01 + ((Floor * 25) + 25), -149.5
-Objects(i).SetPosition -159.5, 12.01 + ((Floor * 25) + 25), 143 - ((j - 80) * 12) + ((j - 80) * 0.1)
-'Objects(i).Optimize
-Next j
-
-'Stairway Door
-i = 105 + (150 * (Floor - 1))
-Call Init_Objects(Floor, 105)
-Objects(i).AddWall GetTex("StairsDoor"), -3.9, 0, 3.9, 0, 19.5, 0, 1, 1
-'Objects(i).SetColor (RGBA(10, 10, 10, 1))
-'Objects(i).ScaleMesh 0.45, 0.535, 0.535
-'Objects(i).SetTexture GetTex("Wood2")
-Objects(i).SetMeshName ("DoorB " + Str$(i))
-Objects(i).SetRotation 0, 1.56, 0
-Objects(i).SetPosition -12.8, (Floor * 25) + 25, -36.4
-
-'Door - Room 01
-i = 106 + (150 * (Floor - 1))
-Call Init_Objects(Floor, 106)
-Objects(i).AddWall GetTex("Door2"), -3.9, 0, 3.9, 0, 19.5, 0, -1, 1
-'Objects(i).SetColor (RGBA(10, 10, 10, 1))
-'Objects(i).ScaleMesh 0.45, 0.535, 0.535
-'Objects(i).SetTexture GetTex("Wood2")
-'Objects(i).SetRotation 0, 1.56, 0
-Objects(i).SetMeshName ("DoorC " + Str$(i))
-Objects(i).SetPosition 110, (Floor * 25) + 25, -71.3
-
-'Door - Room 03
-i = 107 + (150 * (Floor - 1))
-Call Init_Objects(Floor, 107)
-Objects(i).AddWall GetTex("Door2"), -3.9, 0, 3.9, 0, 19.5, 0, -1, 1
-'Objects(i).SetColor (RGBA(10, 10, 10, 1))
-'Objects(i).ScaleMesh 0.45, 0.535, 0.535
-'Objects(i).SetTexture GetTex("Wood2")
-'Objects(i).SetRotation 0, 1.56, 0
-Objects(i).SetMeshName ("DoorC " + Str$(i))
-Objects(i).SetPosition 45, (Floor * 25) + 25, -71.3
-
-'Door - Room 05
-i = 108 + (150 * (Floor - 1))
-Call Init_Objects(Floor, 108)
-Objects(i).AddWall GetTex("Door2"), -3.9, 0, 3.9, 0, 19.5, 0, -1, 1
-'Objects(i).SetColor (RGBA(10, 10, 10, 1))
-'Objects(i).ScaleMesh 0.45, 0.535, 0.535
-'Objects(i).SetTexture GetTex("Wood2")
-'Objects(i).SetRotation 0, 1.56, 0
-Objects(i).SetMeshName ("DoorC " + Str$(i))
-Objects(i).SetPosition -20, (Floor * 25) + 25, -71.3
-
-'Door - Room 07
-i = 109 + (150 * (Floor - 1))
-Call Init_Objects(Floor, 109)
-Objects(i).AddWall GetTex("Door2"), -3.9, 0, 3.9, 0, 19.5, 0, -1, 1
-'Objects(i).SetColor (RGBA(10, 10, 10, 1))
-'Objects(i).ScaleMesh 0.45, 0.535, 0.535
-'Objects(i).SetTexture GetTex("Wood2")
-'Objects(i).SetRotation 0, 1.56, 0
-Objects(i).SetMeshName ("DoorC " + Str$(i))
-Objects(i).SetPosition -45, (Floor * 25) + 25, -71.3
-
-'Door - Room 09
-i = 110 + (150 * (Floor - 1))
-Call Init_Objects(Floor, 110)
-Objects(i).AddWall GetTex("Door2"), -3.9, 0, 3.9, 0, 19.5, 0, -1, 1
-'Objects(i).SetColor (RGBA(10, 10, 10, 1))
-'Objects(i).ScaleMesh 0.45, 0.535, 0.535
-'Objects(i).SetTexture GetTex("Wood2")
-'Objects(i).SetRotation 0, 1.56, 0
-Objects(i).SetMeshName ("DoorC " + Str$(i))
-Objects(i).SetPosition -110, (Floor * 25) + 25, -71.3
-
-'Door - Room 02
-i = 111 + (150 * (Floor - 1))
-Call Init_Objects(Floor, 111)
-Objects(i).AddWall GetTex("Door2"), -3.9, 0, 3.9, 0, 19.5, 0, 1, 1
-'Objects(i).SetColor (RGBA(10, 10, 10, 1))
-'Objects(i).ScaleMesh 0.45, 0.535, 0.535
-'Objects(i).SetTexture GetTex("Wood2")
-'Objects(i).SetRotation 0, 1.56, 0
-Objects(i).SetMeshName ("DoorA " + Str$(i))
-Objects(i).SetPosition 108, (Floor * 25) + 25, -46.25
-
-'Door - Room 08
-i = 112 + (150 * (Floor - 1))
-Call Init_Objects(Floor, 112)
-Objects(i).AddWall GetTex("Door2"), -3.9, 0, 3.9, 0, 19.5, 0, 1, 1
-'Objects(i).SetColor (RGBA(10, 10, 10, 1))
-'Objects(i).ScaleMesh 0.45, 0.535, 0.535
-'Objects(i).SetTexture GetTex("Wood2")
-'Objects(i).SetRotation 0, 1.56, 0
-Objects(i).SetMeshName ("DoorA " + Str$(i))
-Objects(i).SetPosition -108, (Floor * 25) + 25, -46.25
-
-'Door - Room 04
-i = 113 + (150 * (Floor - 1))
-Call Init_Objects(Floor, 113)
-Objects(i).AddWall GetTex("Door2"), -3.9, 0, 3.9, 0, 19.5, 0, 1, 1
-'Objects(i).SetColor (RGBA(10, 10, 10, 1))
-'Objects(i).ScaleMesh 0.45, 0.535, 0.535
-'Objects(i).SetTexture GetTex("Wood2")
-'Objects(i).SetRotation 0, 1.56, 0
-Objects(i).SetMeshName ("DoorA " + Str$(i))
-Objects(i).SetPosition 87, (Floor * 25) + 25, -46.25
-
-'Door - Room 06
-i = 114 + (150 * (Floor - 1))
-Call Init_Objects(Floor, 114)
-Objects(i).AddWall GetTex("Door2"), -3.9, 0, 3.9, 0, 19.5, 0, 1, 1
-'Objects(i).SetColor (RGBA(10, 10, 10, 1))
-'Objects(i).ScaleMesh 0.45, 0.535, 0.535
-'Objects(i).SetTexture GetTex("Wood2")
-'Objects(i).SetRotation 0, 1.56, 0
-Objects(i).SetMeshName ("DoorA " + Str$(i))
-Objects(i).SetPosition -87, (Floor * 25) + 25, -46.25
-
-'Service Door (shaft)
-i = 115 + (150 * (Floor - 1))
-Call Init_Objects(Floor, 115)
-Objects(i).AddWall GetTex("StairsDoor"), -3.9, 0, 3.9, 0, 19.5, 0, 1, 1
-'Objects(i).SetColor (RGBA(10, 10, 10, 1))
-'Objects(i).ScaleMesh 0.45, 0.535, 0.535
-'Objects(i).SetTexture GetTex("Wood2")
-'Objects(i).SetRotation 0, 1.56, 0
-Objects(i).SetMeshName ("DoorA " + Str$(i))
-Objects(i).SetPosition 39, (Floor * 25) + 25, -46.25
-
-'Door - Room 10
-i = 116 + (150 * (Floor - 1))
-Call Init_Objects(Floor, 116)
-Objects(i).AddWall GetTex("Door2"), -3.9, 0, 3.9, 0, 19.5, 0, 1, 1
-'Objects(i).SetColor (RGBA(10, 10, 10, 1))
-'Objects(i).ScaleMesh 0.45, 0.535, 0.535
-'Objects(i).SetTexture GetTex("Wood2")
-'Objects(i).SetRotation 0, 1.56, 0
-Objects(i).SetMeshName ("DoorA " + Str$(i))
-Objects(i).SetPosition 110, (Floor * 25) + 25, 71.3
-
-'Door - Room 12
-i = 117 + (150 * (Floor - 1))
-Call Init_Objects(Floor, 117)
-Objects(i).AddWall GetTex("Door2"), -3.9, 0, 3.9, 0, 19.5, 0, 1, 1
-'Objects(i).SetColor (RGBA(10, 10, 10, 1))
-'Objects(i).ScaleMesh 0.45, 0.535, 0.535
-'Objects(i).SetTexture GetTex("Wood2")
-'Objects(i).SetRotation 0, 1.56, 0
-Objects(i).SetMeshName ("DoorA " + Str$(i))
-Objects(i).SetPosition 45, (Floor * 25) + 25, 71.3
-
-'Door - Room 14
-i = 118 + (150 * (Floor - 1))
-Call Init_Objects(Floor, 118)
-Objects(i).AddWall GetTex("Door2"), -3.9, 0, 3.9, 0, 19.5, 0, 1, 1
-'Objects(i).SetColor (RGBA(10, 10, 10, 1))
-'Objects(i).ScaleMesh 0.45, 0.535, 0.535
-'Objects(i).SetTexture GetTex("Wood2")
-'Objects(i).SetRotation 0, 1.56, 0
-Objects(i).SetMeshName ("DoorA " + Str$(i))
-Objects(i).SetPosition 20, (Floor * 25) + 25, 71.3
-
-'Door - Room 16
-i = 119 + (150 * (Floor - 1))
-Call Init_Objects(Floor, 119)
-Objects(i).AddWall GetTex("Door2"), -3.9, 0, 3.9, 0, 19.5, 0, 1, 1
-'Objects(i).SetColor (RGBA(10, 10, 10, 1))
-'Objects(i).ScaleMesh 0.45, 0.535, 0.535
-'Objects(i).SetTexture GetTex("Wood2")
-'Objects(i).SetRotation 0, 1.56, 0
-Objects(i).SetMeshName ("DoorA " + Str$(i))
-Objects(i).SetPosition -45, (Floor * 25) + 25, 71.3
-
-'Door - Room 18
-i = 120 + (150 * (Floor - 1))
-Call Init_Objects(Floor, 120)
-Objects(i).AddWall GetTex("Door2"), -3.9, 0, 3.9, 0, 19.5, 0, 1, 1
-'Objects(i).SetColor (RGBA(10, 10, 10, 1))
-'Objects(i).ScaleMesh 0.45, 0.535, 0.535
-'Objects(i).SetTexture GetTex("Wood2")
-'Objects(i).SetRotation 0, 1.56, 0
-Objects(i).SetMeshName ("DoorA " + Str$(i))
-Objects(i).SetPosition -110, (Floor * 25) + 25, 71.3
-
-'Door - Room 11
-i = 121 + (150 * (Floor - 1))
-Call Init_Objects(Floor, 121)
-Objects(i).AddWall GetTex("Door2"), -3.9, 0, 3.9, 0, 19.5, 0, -1, 1
-'Objects(i).SetColor (RGBA(10, 10, 10, 1))
-'Objects(i).ScaleMesh 0.45, 0.535, 0.535
-'Objects(i).SetTexture GetTex("Wood2")
-'Objects(i).SetRotation 0, 1.56, 0
-Objects(i).SetMeshName ("DoorC " + Str$(i))
-Objects(i).SetPosition 108, (Floor * 25) + 25, 46.25
-
-'Door - Room 17
-i = 122 + (150 * (Floor - 1))
-Call Init_Objects(Floor, 122)
-Objects(i).AddWall GetTex("Door2"), -3.9, 0, 3.9, 0, 19.5, 0, -1, 1
-'Objects(i).SetColor (RGBA(10, 10, 10, 1))
-'Objects(i).ScaleMesh 0.45, 0.535, 0.535
-'Objects(i).SetTexture GetTex("Wood2")
-'Objects(i).SetRotation 0, 1.56, 0
-Objects(i).SetMeshName ("DoorC " + Str$(i))
-Objects(i).SetPosition -108, (Floor * 25) + 25, 46.25
-
-'Door - Room 13
-i = 123 + (150 * (Floor - 1))
-Call Init_Objects(Floor, 123)
-Objects(i).AddWall GetTex("Door2"), -3.9, 0, 3.9, 0, 19.5, 0, -1, 1
-'Objects(i).SetColor (RGBA(10, 10, 10, 1))
-'Objects(i).ScaleMesh 0.45, 0.535, 0.535
-'Objects(i).SetTexture GetTex("Wood2")
-'Objects(i).SetRotation 0, 1.56, 0
-Objects(i).SetMeshName ("DoorC " + Str$(i))
-Objects(i).SetPosition 87, (Floor * 25) + 25, 46.25
-
-'Door - Room 15
-i = 124 + (150 * (Floor - 1))
-Call Init_Objects(Floor, 124)
-Objects(i).AddWall GetTex("Door2"), -3.9, 0, 3.9, 0, 19.5, 0, -1, 1
-'Objects(i).SetColor (RGBA(10, 10, 10, 1))
-'Objects(i).ScaleMesh 0.45, 0.535, 0.535
-'Objects(i).SetTexture GetTex("Wood2")
-'Objects(i).SetRotation 0, 1.56, 0
-Objects(i).SetMeshName ("DoorC " + Str$(i))
-Objects(i).SetPosition -87, (Floor * 25) + 25, 46.25
-
-End If
-
-If Floor >= 40 And Floor <= 79 Then
-
-'Window 1
-i = 1 + (150 * (Floor - 1))
-Call Init_Objects(Floor, 1)
-Objects(i).Load3DsMesh App.Path + "\objects\window4.3ds", True
-Objects(i).SetColor (RGBA(10, 10, 10, 1))
-Objects(i).ScaleMesh 0.136, 0.136, 0.136
-Objects(i).SetTexture GetTex("Ceiling1")
-Objects(i).SetRotation 0, -1.58, 0
-'Objects(i).SetPosition 154, 12.01 + ((Floor * 25) + 25), -149.5
-Objects(i).SetPosition 134.5, 12.01 + ((Floor * 25) + 25), 143
-'Objects(i).Optimize
-
-'Windows 2 to 25
-For j = 2 To 25
-i = j + (150 * (Floor - 1))
-Call Init_Objects(Floor, Int(j))
-Objects(i).Load3DsMesh App.Path + "\objects\window4.3ds", True
-Objects(i).SetColor (RGBA(10, 10, 10, 1))
-Objects(i).ScaleMesh 0.136, 0.136, 0.136
-Objects(i).SetTexture GetTex("Ceiling1")
-Objects(i).SetRotation 0, -1.58, 0
-'Objects(i).SetPosition 154, 12.01 + ((Floor * 25) + 25), -149.5
-Objects(i).SetPosition 134.5, 12.01 + ((Floor * 25) + 25), 143 - ((j - 1) * 12) + ((j - 1) * 0.1)
-'Objects(i).Optimize
-Next j
-
-'Window 26
-i = 26 + (150 * (Floor - 1))
-Call Init_Objects(Floor, 26)
-Objects(i).Load3DsMesh App.Path + "\objects\window4.3ds", True
-Objects(i).SetColor (RGBA(10, 10, 10, 1))
-Objects(i).ScaleMesh 0.136, 0.136, 0.136
-Objects(i).SetTexture GetTex("Ceiling1")
-Objects(i).SetRotation 0, -1.58, 0
-'Objects(i).SetPosition 154, 12.01 + ((Floor * 25) + 25), -149.5
-Objects(i).SetPosition -134.5, 12.01 + ((Floor * 25) + 25), 143
-'Objects(i).Optimize
-
-'Windows 27 to 50
-For j = 27 To 50
-i = j + (150 * (Floor - 1))
-Call Init_Objects(Floor, Int(j))
-Objects(i).Load3DsMesh App.Path + "\objects\window4.3ds", True
-Objects(i).SetColor (RGBA(10, 10, 10, 1))
-Objects(i).ScaleMesh 0.136, 0.136, 0.136
-Objects(i).SetTexture GetTex("Ceiling1")
-Objects(i).SetRotation 0, -1.58, 0
-'Objects(i).SetPosition 154, 12.01 + ((Floor * 25) + 25), -149.5
-Objects(i).SetPosition -134.5, 12.01 + ((Floor * 25) + 25), 143 - ((j - 26) * 12) + ((j - 26) * 0.1)
-'Objects(i).Optimize
-Next j
-
-'Window 51
-i = 51 + (150 * (Floor - 1))
-Call Init_Objects(Floor, 51)
-Objects(i).Load3DsMesh App.Path + "\objects\window4.3ds", True
-Objects(i).SetColor (RGBA(10, 10, 10, 1))
-Objects(i).ScaleMesh 0.136, 0.136, 0.136
-Objects(i).SetTexture GetTex("Ceiling1")
-'Objects(i).SetPosition 154, 12.01 + ((Floor * 25) + 25), 149.5
-Objects(i).SetPosition 129, 12.01 + ((Floor * 25) + 25), 149.5
-'Objects(i).Optimize
-
-For j = 52 To 72
-'Windows 52 to 72
-i = j + (150 * (Floor - 1))
-Call Init_Objects(Floor, Int(j))
-Objects(i).Load3DsMesh App.Path + "\objects\window4.3ds", True
-Objects(i).SetColor (RGBA(10, 10, 10, 1))
-Objects(i).ScaleMesh 0.136, 0.136, 0.136
-Objects(i).SetTexture GetTex("Ceiling1")
-Objects(i).SetPosition 129 - ((j - 51) * 12) + ((j - 51) * 0.1), 12.01 + ((Floor * 25) + 25), 149.5
-'Objects(i).Optimize
-Next j
-
-'Window 73
-i = 73 + (150 * (Floor - 1))
-Call Init_Objects(Floor, 73)
-Objects(i).Load3DsMesh App.Path + "\objects\window4.3ds", True
-Objects(i).SetColor (RGBA(10, 10, 10, 1))
-Objects(i).ScaleMesh 0.136, 0.136, 0.136
-Objects(i).SetTexture GetTex("Ceiling1")
-'Objects(i).SetPosition 154, 12.01 + ((Floor * 25) + 25), 149.5
-Objects(i).SetPosition 129, 12.01 + ((Floor * 25) + 25), -149.5
-'Objects(i).Optimize
-
-For j = 74 To 94
-'Windows 74 to 94
-i = j + (150 * (Floor - 1))
-Call Init_Objects(Floor, Int(j))
-Objects(i).Load3DsMesh App.Path + "\objects\window4.3ds", True
-Objects(i).SetColor (RGBA(10, 10, 10, 1))
-Objects(i).ScaleMesh 0.136, 0.136, 0.136
-Objects(i).SetTexture GetTex("Ceiling1")
-Objects(i).SetPosition 129 - ((j - 73) * 12) + ((j - 73) * 0.1), 12.01 + ((Floor * 25) + 25), -149.5
-'Objects(i).Optimize
-Next j
-
-'Stairway Door
-i = 95 + (150 * (Floor - 1))
-Call Init_Objects(Floor, 95)
-Objects(i).AddWall GetTex("StairsDoor"), -3.9, 0, 3.9, 0, 19.5, 0, 1, 1
-'Objects(i).SetColor (RGBA(10, 10, 10, 1))
-'Objects(i).ScaleMesh 0.45, 0.535, 0.535
-'Objects(i).SetTexture GetTex("Wood2")
-Objects(i).SetMeshName ("DoorB " + Str$(i))
-Objects(i).SetRotation 0, 1.56, 0
-Objects(i).SetPosition -12.8, (Floor * 25) + 25, -36.4
-
-'Door 01
-i = 96 + (150 * (Floor - 1))
-Call Init_Objects(Floor, 96)
-Objects(i).AddWall GetTex("Door2"), -3.9, 0, 3.9, 0, 19.5, 0, -1, 1
-'Objects(i).SetColor (RGBA(10, 10, 10, 1))
-'Objects(i).ScaleMesh 0.45, 0.535, 0.535
-'Objects(i).SetTexture GetTex("Wood2")
-'Objects(i).SetRotation 0, 1.56, 0
-Objects(i).SetMeshName ("DoorC " + Str$(i))
-Objects(i).SetPosition 90, (Floor * 25) + 25, -71.3
-
-'Door 03
-i = 97 + (150 * (Floor - 1))
-Call Init_Objects(Floor, 97)
-Objects(i).AddWall GetTex("Door2"), -3.9, 0, 3.9, 0, 19.5, 0, -1, 1
-'Objects(i).SetColor (RGBA(10, 10, 10, 1))
-'Objects(i).ScaleMesh 0.45, 0.535, 0.535
-'Objects(i).SetTexture GetTex("Wood2")
-'Objects(i).SetRotation 0, 1.56, 0
-Objects(i).SetMeshName ("DoorC " + Str$(i))
-Objects(i).SetPosition 37, (Floor * 25) + 25, -71.3
-
-'Door 05
-i = 98 + (150 * (Floor - 1))
-Call Init_Objects(Floor, 98)
-Objects(i).AddWall GetTex("Door2"), -3.9, 0, 3.9, 0, 19.5, 0, -1, 1
-'Objects(i).SetColor (RGBA(10, 10, 10, 1))
-'Objects(i).ScaleMesh 0.45, 0.535, 0.535
-'Objects(i).SetTexture GetTex("Wood2")
-'Objects(i).SetRotation 0, 1.56, 0
-Objects(i).SetMeshName ("DoorC " + Str$(i))
-Objects(i).SetPosition -20, (Floor * 25) + 25, -71.3
-
-'Door 07
-i = 99 + (150 * (Floor - 1))
-Call Init_Objects(Floor, 99)
-Objects(i).AddWall GetTex("Door2"), -3.9, 0, 3.9, 0, 19.5, 0, -1, 1
-'Objects(i).SetColor (RGBA(10, 10, 10, 1))
-'Objects(i).ScaleMesh 0.45, 0.535, 0.535
-'Objects(i).SetTexture GetTex("Wood2")
-'Objects(i).SetRotation 0, 1.56, 0
-Objects(i).SetMeshName ("DoorC " + Str$(i))
-Objects(i).SetPosition -37, (Floor * 25) + 25, -71.3
-
-'Door 09
-i = 100 + (150 * (Floor - 1))
-Call Init_Objects(Floor, 100)
-Objects(i).AddWall GetTex("Door2"), -3.9, 0, 3.9, 0, 19.5, 0, -1, 1
-'Objects(i).SetColor (RGBA(10, 10, 10, 1))
-'Objects(i).ScaleMesh 0.45, 0.535, 0.535
-'Objects(i).SetTexture GetTex("Wood2")
-'Objects(i).SetRotation 0, 1.56, 0
-Objects(i).SetMeshName ("DoorC " + Str$(i))
-Objects(i).SetPosition -90, (Floor * 25) + 25, -71.3
-
-'Door 02
-i = 101 + (150 * (Floor - 1))
-Call Init_Objects(Floor, 101)
-Objects(i).AddWall GetTex("Door2"), -3.9, 0, 3.9, 0, 19.5, 0, 1, 1
-'Objects(i).SetColor (RGBA(10, 10, 10, 1))
-'Objects(i).ScaleMesh 0.45, 0.535, 0.535
-'Objects(i).SetTexture GetTex("Wood2")
-'Objects(i).SetRotation 0, 1.56, 0
-Objects(i).SetMeshName ("DoorA " + Str$(i))
-Objects(i).SetPosition 90, (Floor * 25) + 25, -46.25
-
-'Door 04
-i = 102 + (150 * (Floor - 1))
-Call Init_Objects(Floor, 102)
-Objects(i).AddWall GetTex("Door2"), -3.9, 0, 3.9, 0, 19.5, 0, 1, 1
-'Objects(i).SetColor (RGBA(10, 10, 10, 1))
-'Objects(i).ScaleMesh 0.45, 0.535, 0.535
-'Objects(i).SetTexture GetTex("Wood2")
-'Objects(i).SetRotation 0, 1.56, 0
-Objects(i).SetMeshName ("DoorA " + Str$(i))
-Objects(i).SetPosition 72, (Floor * 25) + 25, -46.25
-
-'Service Room
-i = 103 + (150 * (Floor - 1))
-Call Init_Objects(Floor, 103)
-Objects(i).AddWall GetTex("StairsDoor"), -3.9, 0, 3.9, 0, 19.5, 0, 1, 1
-'Objects(i).SetColor (RGBA(10, 10, 10, 1))
-'Objects(i).ScaleMesh 0.45, 0.535, 0.535
-'Objects(i).SetTexture GetTex("Wood2")
-'Objects(i).SetRotation 0, 1.56, 0
-Objects(i).SetMeshName ("DoorA " + Str$(i))
-Objects(i).SetPosition 40, (Floor * 25) + 25, -46.25
-
-'Door 06
-i = 104 + (150 * (Floor - 1))
-Call Init_Objects(Floor, 104)
-Objects(i).AddWall GetTex("Door2"), -3.9, 0, 3.9, 0, 19.5, 0, 1, 1
-'Objects(i).SetColor (RGBA(10, 10, 10, 1))
-'Objects(i).ScaleMesh 0.45, 0.535, 0.535
-'Objects(i).SetTexture GetTex("Wood2")
-'Objects(i).SetRotation 0, 1.56, 0
-Objects(i).SetMeshName ("DoorA " + Str$(i))
-Objects(i).SetPosition -72, (Floor * 25) + 25, -46.25
-
-'Door 08
-i = 105 + (150 * (Floor - 1))
-Call Init_Objects(Floor, 105)
-Objects(i).AddWall GetTex("Door2"), -3.9, 0, 3.9, 0, 19.5, 0, 1, 1
-'Objects(i).SetColor (RGBA(10, 10, 10, 1))
-'Objects(i).ScaleMesh 0.45, 0.535, 0.535
-'Objects(i).SetTexture GetTex("Wood2")
-'Objects(i).SetRotation 0, 1.56, 0
-Objects(i).SetMeshName ("DoorA " + Str$(i))
-Objects(i).SetPosition -90, (Floor * 25) + 25, -46.25
-
-'Door 10a
-i = 106 + (150 * (Floor - 1))
-Call Init_Objects(Floor, 106)
-Objects(i).AddWall GetTex("Door2"), -3.9, 0, 3.9, 0, 19.5, 0, 1, 1
-'Objects(i).SetColor (RGBA(10, 10, 10, 1))
-'Objects(i).ScaleMesh 0.45, 0.535, 0.535
-'Objects(i).SetTexture GetTex("Wood2")
-'Objects(i).SetRotation 0, 1.56, 0
-Objects(i).SetMeshName ("DoorA " + Str$(i))
-Objects(i).SetPosition 90, (Floor * 25) + 25, 55.83
-
-'Door 12a
-i = 107 + (150 * (Floor - 1))
-Call Init_Objects(Floor, 107)
-Objects(i).AddWall GetTex("Door2"), -3.9, 0, 3.9, 0, 19.5, 0, 1, 1
-'Objects(i).SetColor (RGBA(10, 10, 10, 1))
-'Objects(i).ScaleMesh 0.45, 0.535, 0.535
-'Objects(i).SetTexture GetTex("Wood2")
-'Objects(i).SetRotation 0, 1.56, 0
-Objects(i).SetMeshName ("DoorA " + Str$(i))
-Objects(i).SetPosition 37, (Floor * 25) + 25, 55.83
-
-'Door 14a
-i = 108 + (150 * (Floor - 1))
-Call Init_Objects(Floor, 108)
-Objects(i).AddWall GetTex("Door2"), -3.9, 0, 3.9, 0, 19.5, 0, 1, 1
-'Objects(i).SetColor (RGBA(10, 10, 10, 1))
-'Objects(i).ScaleMesh 0.45, 0.535, 0.535
-'Objects(i).SetTexture GetTex("Wood2")
-'Objects(i).SetRotation 0, 1.56, 0
-Objects(i).SetMeshName ("DoorA " + Str$(i))
-Objects(i).SetPosition 20, (Floor * 25) + 25, 55.83
-
-'Door 16a
-i = 109 + (150 * (Floor - 1))
-Call Init_Objects(Floor, 109)
-Objects(i).AddWall GetTex("Door2"), -3.9, 0, 3.9, 0, 19.5, 0, 1, 1
-'Objects(i).SetColor (RGBA(10, 10, 10, 1))
-'Objects(i).ScaleMesh 0.45, 0.535, 0.535
-'Objects(i).SetTexture GetTex("Wood2")
-'Objects(i).SetRotation 0, 1.56, 0
-Objects(i).SetMeshName ("DoorA " + Str$(i))
-Objects(i).SetPosition -37, (Floor * 25) + 25, 55.83
-
-'Door 18a
-i = 110 + (150 * (Floor - 1))
-Call Init_Objects(Floor, 110)
-Objects(i).AddWall GetTex("Door2"), -3.9, 0, 3.9, 0, 19.5, 0, 1, 1
-'Objects(i).SetColor (RGBA(10, 10, 10, 1))
-'Objects(i).ScaleMesh 0.45, 0.535, 0.535
-'Objects(i).SetTexture GetTex("Wood2")
-'Objects(i).SetRotation 0, 1.56, 0
-Objects(i).SetMeshName ("DoorA " + Str$(i))
-Objects(i).SetPosition -90, (Floor * 25) + 25, 55.83
-
-'Door 11
-i = 111 + (150 * (Floor - 1))
-Call Init_Objects(Floor, 111)
-Objects(i).AddWall GetTex("Door2"), -3.9, 0, 3.9, 0, 19.5, 0, -1, 1
-'Objects(i).SetColor (RGBA(10, 10, 10, 1))
-'Objects(i).ScaleMesh 0.45, 0.535, 0.535
-'Objects(i).SetTexture GetTex("Wood2")
-'Objects(i).SetRotation 0, 1.56, 0
-Objects(i).SetMeshName ("DoorC " + Str$(i))
-Objects(i).SetPosition 90, (Floor * 25) + 25, 30.83
-
-'Door 13
-i = 112 + (150 * (Floor - 1))
-Call Init_Objects(Floor, 112)
-Objects(i).AddWall GetTex("Door2"), -3.9, 0, 3.9, 0, 19.5, 0, -1, 1
-'Objects(i).SetColor (RGBA(10, 10, 10, 1))
-'Objects(i).ScaleMesh 0.45, 0.535, 0.535
-'Objects(i).SetTexture GetTex("Wood2")
-'Objects(i).SetRotation 0, 1.56, 0
-Objects(i).SetMeshName ("DoorC " + Str$(i))
-Objects(i).SetPosition 72, (Floor * 25) + 25, 30.83
-
-'Door 15
-i = 113 + (150 * (Floor - 1))
-Call Init_Objects(Floor, 113)
-Objects(i).AddWall GetTex("Door2"), -3.9, 0, 3.9, 0, 19.5, 0, -1, 1
-'Objects(i).SetColor (RGBA(10, 10, 10, 1))
-'Objects(i).ScaleMesh 0.45, 0.535, 0.535
-'Objects(i).SetTexture GetTex("Wood2")
-'Objects(i).SetRotation 0, 1.56, 0
-Objects(i).SetMeshName ("DoorC " + Str$(i))
-Objects(i).SetPosition -72, (Floor * 25) + 25, 30.83
-
-'Door 17
-i = 114 + (150 * (Floor - 1))
-Call Init_Objects(Floor, 114)
-Objects(i).AddWall GetTex("Door2"), -3.9, 0, 3.9, 0, 19.5, 0, -1, 1
-'Objects(i).SetColor (RGBA(10, 10, 10, 1))
-'Objects(i).ScaleMesh 0.45, 0.535, 0.535
-'Objects(i).SetTexture GetTex("Wood2")
-'Objects(i).SetRotation 0, 1.56, 0
-Objects(i).SetMeshName ("DoorC " + Str$(i))
-Objects(i).SetPosition -90, (Floor * 25) + 25, 30.83
-
-'Door 10b
-i = 115 + (150 * (Floor - 1))
-Call Init_Objects(Floor, 115)
-Objects(i).AddWall GetTex("Door2"), -3.9, 0, 3.9, 0, 19.5, 0, 1, 1
-'Objects(i).SetColor (RGBA(10, 10, 10, 1))
-'Objects(i).ScaleMesh 0.45, 0.535, 0.535
-'Objects(i).SetTexture GetTex("Wood2")
-'Objects(i).SetRotation 0, 1.56, 0
-Objects(i).SetMeshName ("DoorA " + Str$(i))
-Objects(i).SetPosition 90, (Floor * 25) + 25, 102
-
-'Door 12b
-i = 116 + (150 * (Floor - 1))
-Call Init_Objects(Floor, 116)
-Objects(i).AddWall GetTex("Door2"), -3.9, 0, 3.9, 0, 19.5, 0, 1, 1
-'Objects(i).SetColor (RGBA(10, 10, 10, 1))
-'Objects(i).ScaleMesh 0.45, 0.535, 0.535
-'Objects(i).SetTexture GetTex("Wood2")
-'Objects(i).SetRotation 0, 1.56, 0
-Objects(i).SetMeshName ("DoorA " + Str$(i))
-Objects(i).SetPosition 37, (Floor * 25) + 25, 102
-
-'Door 14b
-i = 117 + (150 * (Floor - 1))
-Call Init_Objects(Floor, 117)
-Objects(i).AddWall GetTex("Door2"), -3.9, 0, 3.9, 0, 19.5, 0, 1, 1
-'Objects(i).SetColor (RGBA(10, 10, 10, 1))
-'Objects(i).ScaleMesh 0.45, 0.535, 0.535
-'Objects(i).SetTexture GetTex("Wood2")
-'Objects(i).SetRotation 0, 1.56, 0
-Objects(i).SetMeshName ("DoorA " + Str$(i))
-Objects(i).SetPosition 20, (Floor * 25) + 25, 102
-
-'Door 16b
-i = 118 + (150 * (Floor - 1))
-Call Init_Objects(Floor, 118)
-Objects(i).AddWall GetTex("Door2"), -3.9, 0, 3.9, 0, 19.5, 0, 1, 1
-'Objects(i).SetColor (RGBA(10, 10, 10, 1))
-'Objects(i).ScaleMesh 0.45, 0.535, 0.535
-'Objects(i).SetTexture GetTex("Wood2")
-'Objects(i).SetRotation 0, 1.56, 0
-Objects(i).SetMeshName ("DoorA " + Str$(i))
-Objects(i).SetPosition -37, (Floor * 25) + 25, 102
-
-'Door 18b
-i = 119 + (150 * (Floor - 1))
-Call Init_Objects(Floor, 119)
-Objects(i).AddWall GetTex("Door2"), -3.9, 0, 3.9, 0, 19.5, 0, 1, 1
-'Objects(i).SetColor (RGBA(10, 10, 10, 1))
-'Objects(i).ScaleMesh 0.45, 0.535, 0.535
-'Objects(i).SetTexture GetTex("Wood2")
-'Objects(i).SetRotation 0, 1.56, 0
-Objects(i).SetMeshName ("DoorA " + Str$(i))
-Objects(i).SetPosition -90, (Floor * 25) + 25, 102
-
-
-
-End If
-
-If Floor >= 80 And Floor <= 117 Then
-
-'Window 1
-i = 1 + (150 * (Floor - 1))
-Call Init_Objects(Floor, 1)
-Objects(i).Load3DsMesh App.Path + "\objects\window4.3ds", True
-Objects(i).SetColor (RGBA(10, 10, 10, 1))
-Objects(i).ScaleMesh 0.136, 0.136, 0.136
-Objects(i).SetTexture GetTex("Ceiling1")
-Objects(i).SetRotation 0, -1.58, 0
-'Objects(i).SetPosition 154, 12.01 + ((Floor * 25) + 25), -149.5
-Objects(i).SetPosition 109.5, 12.01 + ((Floor * 25) + 25), 143
-'Objects(i).Optimize
-
-'Windows 2 to 25
-For j = 2 To 25
-i = j + (150 * (Floor - 1))
-Call Init_Objects(Floor, Int(j))
-Objects(i).Load3DsMesh App.Path + "\objects\window4.3ds", True
-Objects(i).SetColor (RGBA(10, 10, 10, 1))
-Objects(i).ScaleMesh 0.136, 0.136, 0.136
-Objects(i).SetTexture GetTex("Ceiling1")
-Objects(i).SetRotation 0, -1.58, 0
-'Objects(i).SetPosition 154, 12.01 + ((Floor * 25) + 25), -149.5
-Objects(i).SetPosition 109.5, 12.01 + ((Floor * 25) + 25), 143 - ((j - 1) * 12) + ((j - 1) * 0.1)
-'Objects(i).Optimize
-Next j
-
-'Window 26
-i = 26 + (150 * (Floor - 1))
-Call Init_Objects(Floor, 26)
-Objects(i).Load3DsMesh App.Path + "\objects\window4.3ds", True
-Objects(i).SetColor (RGBA(10, 10, 10, 1))
-Objects(i).ScaleMesh 0.136, 0.136, 0.136
-Objects(i).SetTexture GetTex("Ceiling1")
-Objects(i).SetRotation 0, -1.58, 0
-'Objects(i).SetPosition 154, 12.01 + ((Floor * 25) + 25), -149.5
-Objects(i).SetPosition -109.5, 12.01 + ((Floor * 25) + 25), 143
-'Objects(i).Optimize
-
-'Windows 27 to 50
-For j = 27 To 50
-i = j + (150 * (Floor - 1))
-Call Init_Objects(Floor, Int(j))
-Objects(i).Load3DsMesh App.Path + "\objects\window4.3ds", True
-Objects(i).SetColor (RGBA(10, 10, 10, 1))
-Objects(i).ScaleMesh 0.136, 0.136, 0.136
-Objects(i).SetTexture GetTex("Ceiling1")
-Objects(i).SetRotation 0, -1.58, 0
-'Objects(i).SetPosition 154, 12.01 + ((Floor * 25) + 25), -149.5
-Objects(i).SetPosition -109.5, 12.01 + ((Floor * 25) + 25), 143 - ((j - 26) * 12) + ((j - 26) * 0.1)
-'Objects(i).Optimize
-Next j
-
-'Window 51
-i = 51 + (150 * (Floor - 1))
-Call Init_Objects(Floor, 51)
-Objects(i).Load3DsMesh App.Path + "\objects\window4.3ds", True
-Objects(i).SetColor (RGBA(10, 10, 10, 1))
-Objects(i).ScaleMesh 0.136, 0.136, 0.136
-Objects(i).SetTexture GetTex("Ceiling1")
-'Objects(i).SetPosition 154, 12.01 + ((Floor * 25) + 25), 149.5
-Objects(i).SetPosition 103, 12.01 + ((Floor * 25) + 25), 149.5
-'Objects(i).Optimize
-
-For j = 52 To 68
-'Windows 52 to 68
-i = j + (150 * (Floor - 1))
-Call Init_Objects(Floor, Int(j))
-Objects(i).Load3DsMesh App.Path + "\objects\window4.3ds", True
-Objects(i).SetColor (RGBA(10, 10, 10, 1))
-Objects(i).ScaleMesh 0.136, 0.136, 0.136
-Objects(i).SetTexture GetTex("Ceiling1")
-Objects(i).SetPosition 103 - ((j - 51) * 12) + ((j - 51) * 0.15), 12.01 + ((Floor * 25) + 25), 149.5
-'Objects(i).Optimize
-Next j
-
-'Window 69
-i = 69 + (150 * (Floor - 1))
-Call Init_Objects(Floor, 69)
-Objects(i).Load3DsMesh App.Path + "\objects\window4.3ds", True
-Objects(i).SetColor (RGBA(10, 10, 10, 1))
-Objects(i).ScaleMesh 0.136, 0.136, 0.136
-Objects(i).SetTexture GetTex("Ceiling1")
-'Objects(i).SetPosition 154, 12.01 + ((Floor * 25) + 25), 149.5
-Objects(i).SetPosition 103, 12.01 + ((Floor * 25) + 25), -149.5
-'Objects(i).Optimize
-
-For j = 70 To 86
-'Windows 70 to 86
-i = j + (150 * (Floor - 1))
-Call Init_Objects(Floor, Int(j))
-Objects(i).Load3DsMesh App.Path + "\objects\window4.3ds", True
-Objects(i).SetColor (RGBA(10, 10, 10, 1))
-Objects(i).ScaleMesh 0.136, 0.136, 0.136
-Objects(i).SetTexture GetTex("Ceiling1")
-Objects(i).SetPosition 103 - ((j - 69) * 12) + ((j - 69) * 0.15), 12.01 + ((Floor * 25) + 25), -149.5
-'Objects(i).Optimize
-Next j
-
-'Stairway Door
-i = 87 + (150 * (Floor - 1))
-Call Init_Objects(Floor, 87)
-Objects(i).AddWall GetTex("StairsDoor"), -3.9, 0, 3.9, 0, 19.5, 0, 1, 1
-'Objects(i).SetColor (RGBA(10, 10, 10, 1))
-'Objects(i).ScaleMesh 0.45, 0.535, 0.535
-'Objects(i).SetTexture GetTex("Wood2")
-Objects(i).SetMeshName ("DoorB " + Str$(i))
-Objects(i).SetRotation 0, 1.56, 0
-Objects(i).SetPosition -12.8, (Floor * 25) + 25, -36.4
-
-End If
-
-If Floor >= 80 And Floor <= 115 Then
-
-'Door 06
-i = 88 + (150 * (Floor - 1))
-Call Init_Objects(Floor, 88)
-Objects(i).AddWall GetTex("Door1"), -3.9, 0, 3.9, 0, 19.5, 0, 1, 1
-'Objects(i).SetColor (RGBA(10, 10, 10, 1))
-'Objects(i).ScaleMesh 0.45, 0.535, 0.535
-'Objects(i).SetTexture GetTex("Wood2")
-Objects(i).SetMeshName ("DoorB " + Str$(i))
-Objects(i).SetRotation 0, 1.56, 0
-Objects(i).SetPosition 12.5, (Floor * 25) + 25, -102
-
-'Door 07
-i = 89 + (150 * (Floor - 1))
-Call Init_Objects(Floor, 89)
-Objects(i).AddWall GetTex("Door1"), -3.9, 0, 3.9, 0, 19.5, 0, -1, 1
-'Objects(i).SetColor (RGBA(10, 10, 10, 1))
-'Objects(i).ScaleMesh 0.45, 0.535, 0.535
-'Objects(i).SetTexture GetTex("Wood2")
-Objects(i).SetMeshName ("DoorD " + Str$(i))
-Objects(i).SetRotation 0, 1.56, 0
-Objects(i).SetPosition -12.5, (Floor * 25) + 25, -102
-
-'Door 05
-i = 90 + (150 * (Floor - 1))
-Call Init_Objects(Floor, 90)
-Objects(i).AddWall GetTex("Door1"), -3.9, 0, 3.9, 0, 19.5, 0, 1, 1
-'Objects(i).SetColor (RGBA(10, 10, 10, 1))
-'Objects(i).ScaleMesh 0.45, 0.535, 0.535
-'Objects(i).SetTexture GetTex("Wood2")
-Objects(i).SetMeshName ("DoorB " + Str$(i))
-Objects(i).SetRotation 0, 1.56, 0
-Objects(i).SetPosition 70, (Floor * 25) + 25, -102
-
-'Door 08
-i = 91 + (150 * (Floor - 1))
-Call Init_Objects(Floor, 91)
-Objects(i).AddWall GetTex("Door1"), -3.9, 0, 3.9, 0, 19.5, 0, -1, 1
-'Objects(i).SetColor (RGBA(10, 10, 10, 1))
-'Objects(i).ScaleMesh 0.45, 0.535, 0.535
-'Objects(i).SetTexture GetTex("Wood2")
-Objects(i).SetMeshName ("DoorD " + Str$(i))
-Objects(i).SetRotation 0, 1.56, 0
-Objects(i).SetPosition -70, (Floor * 25) + 25, -102
-
-'Door 02
-i = 92 + (150 * (Floor - 1))
-Call Init_Objects(Floor, 92)
-Objects(i).AddWall GetTex("Door1"), -3.9, 0, 3.9, 0, 19.5, 0, 1, 1
-'Objects(i).SetColor (RGBA(10, 10, 10, 1))
-'Objects(i).ScaleMesh 0.45, 0.535, 0.535
-'Objects(i).SetTexture GetTex("Wood2")
-Objects(i).SetMeshName ("DoorB " + Str$(i))
-Objects(i).SetRotation 0, 1.56, 0
-Objects(i).SetPosition 12.5, (Floor * 25) + 25, -118
-
-'Door 03
-i = 93 + (150 * (Floor - 1))
-Call Init_Objects(Floor, 93)
-Objects(i).AddWall GetTex("Door1"), -3.9, 0, 3.9, 0, 19.5, 0, -1, 1
-'Objects(i).SetColor (RGBA(10, 10, 10, 1))
-'Objects(i).ScaleMesh 0.45, 0.535, 0.535
-'Objects(i).SetTexture GetTex("Wood2")
-Objects(i).SetMeshName ("DoorD " + Str$(i))
-Objects(i).SetRotation 0, 1.56, 0
-Objects(i).SetPosition -12.5, (Floor * 25) + 25, -118
-
-'Door 01
-i = 94 + (150 * (Floor - 1))
-Call Init_Objects(Floor, 94)
-Objects(i).AddWall GetTex("Door1"), -3.9, 0, 3.9, 0, 19.5, 0, 1, 1
-'Objects(i).SetColor (RGBA(10, 10, 10, 1))
-'Objects(i).ScaleMesh 0.45, 0.535, 0.535
-'Objects(i).SetTexture GetTex("Wood2")
-Objects(i).SetMeshName ("DoorB " + Str$(i))
-Objects(i).SetRotation 0, 1.56, 0
-Objects(i).SetPosition 70, (Floor * 25) + 25, -118
-
-'Door 04
-i = 95 + (150 * (Floor - 1))
-Call Init_Objects(Floor, 95)
-Objects(i).AddWall GetTex("Door1"), -3.9, 0, 3.9, 0, 19.5, 0, -1, 1
-'Objects(i).SetColor (RGBA(10, 10, 10, 1))
-'Objects(i).ScaleMesh 0.45, 0.535, 0.535
-'Objects(i).SetTexture GetTex("Wood2")
-Objects(i).SetMeshName ("DoorD " + Str$(i))
-Objects(i).SetRotation 0, 1.56, 0
-Objects(i).SetPosition -70, (Floor * 25) + 25, -118
-
-'Door 09
-i = 96 + (150 * (Floor - 1))
-Call Init_Objects(Floor, 96)
-Objects(i).AddWall GetTex("Door1"), -3.9, 0, 3.9, 0, 19.5, 0, 1, 1
-'Objects(i).SetColor (RGBA(10, 10, 10, 1))
-'Objects(i).ScaleMesh 0.45, 0.535, 0.535
-'Objects(i).SetTexture GetTex("Wood2")
-Objects(i).SetMeshName ("DoorB " + Str$(i))
-Objects(i).SetRotation 0, 1.56, 0
-Objects(i).SetPosition 70, (Floor * 25) + 25, -60
-
-'Door 11
-i = 97 + (150 * (Floor - 1))
-Call Init_Objects(Floor, 97)
-Objects(i).AddWall GetTex("Door1"), -3.9, 0, 3.9, 0, 19.5, 0, -1, 1
-'Objects(i).SetColor (RGBA(10, 10, 10, 1))
-'Objects(i).ScaleMesh 0.45, 0.535, 0.535
-'Objects(i).SetTexture GetTex("Wood2")
-Objects(i).SetMeshName ("DoorD " + Str$(i))
-Objects(i).SetRotation 0, 1.56, 0
-Objects(i).SetPosition -70, (Floor * 25) + 25, -60
-
-'Service Door
-i = 98 + (150 * (Floor - 1))
-Call Init_Objects(Floor, 98)
-Objects(i).AddWall GetTex("StairsDoor"), -3.9, 0, 3.9, 0, 19.5, 0, 1, 1
-'Objects(i).SetColor (RGBA(10, 10, 10, 1))
-'Objects(i).ScaleMesh 0.45, 0.535, 0.535
-'Objects(i).SetTexture GetTex("Wood2")
-'Objects(i).SetRotation 0, 1.56, 0
-Objects(i).SetMeshName ("DoorA " + Str$(i))
-Objects(i).SetPosition 39, (Floor * 25) + 25, -46.25
-
-'Door 13
-i = 99 + (150 * (Floor - 1))
-Call Init_Objects(Floor, 99)
-Objects(i).AddWall GetTex("Door1"), -3.9, 0, 3.9, 0, 19.5, 0, 1, 1
-'Objects(i).SetColor (RGBA(10, 10, 10, 1))
-'Objects(i).ScaleMesh 0.45, 0.535, 0.535
-'Objects(i).SetTexture GetTex("Wood2")
-Objects(i).SetMeshName ("DoorB " + Str$(i))
-Objects(i).SetRotation 0, 1.56, 0
-Objects(i).SetPosition 70, (Floor * 25) + 25, 27
-
-'Door 16
-i = 100 + (150 * (Floor - 1))
-Call Init_Objects(Floor, 100)
-Objects(i).AddWall GetTex("Door1"), -3.9, 0, 3.9, 0, 19.5, 0, -1, 1
-'Objects(i).SetColor (RGBA(10, 10, 10, 1))
-'Objects(i).ScaleMesh 0.45, 0.535, 0.535
-'Objects(i).SetTexture GetTex("Wood2")
-Objects(i).SetMeshName ("DoorD " + Str$(i))
-Objects(i).SetRotation 0, 1.56, 0
-Objects(i).SetPosition -70, (Floor * 25) + 25, 27
-
-'Door 18
-i = 101 + (150 * (Floor - 1))
-Call Init_Objects(Floor, 101)
-Objects(i).AddWall GetTex("Door1"), -3.9, 0, 3.9, 0, 19.5, 0, 1, 1
-'Objects(i).SetColor (RGBA(10, 10, 10, 1))
-'Objects(i).ScaleMesh 0.45, 0.535, 0.535
-'Objects(i).SetTexture GetTex("Wood2")
-Objects(i).SetMeshName ("DoorB " + Str$(i))
-Objects(i).SetRotation 0, 1.56, 0
-Objects(i).SetPosition 12.5, (Floor * 25) + 25, 66
-
-'Door 19
-i = 102 + (150 * (Floor - 1))
-Call Init_Objects(Floor, 102)
-Objects(i).AddWall GetTex("Door1"), -3.9, 0, 3.9, 0, 19.5, 0, -1, 1
-'Objects(i).SetColor (RGBA(10, 10, 10, 1))
-'Objects(i).ScaleMesh 0.45, 0.535, 0.535
-'Objects(i).SetTexture GetTex("Wood2")
-Objects(i).SetMeshName ("DoorD " + Str$(i))
-Objects(i).SetRotation 0, 1.56, 0
-Objects(i).SetPosition -12.5, (Floor * 25) + 25, 66
-
-'Door 17
-i = 103 + (150 * (Floor - 1))
-Call Init_Objects(Floor, 103)
-Objects(i).AddWall GetTex("Door1"), -3.9, 0, 3.9, 0, 19.5, 0, 1, 1
-'Objects(i).SetColor (RGBA(10, 10, 10, 1))
-'Objects(i).ScaleMesh 0.45, 0.535, 0.535
-'Objects(i).SetTexture GetTex("Wood2")
-Objects(i).SetMeshName ("DoorB " + Str$(i))
-Objects(i).SetRotation 0, 1.56, 0
-Objects(i).SetPosition 70, (Floor * 25) + 25, 66
-
-'Door 20
-i = 104 + (150 * (Floor - 1))
-Call Init_Objects(Floor, 104)
-Objects(i).AddWall GetTex("Door1"), -3.9, 0, 3.9, 0, 19.5, 0, -1, 1
-'Objects(i).SetColor (RGBA(10, 10, 10, 1))
-'Objects(i).ScaleMesh 0.45, 0.535, 0.535
-'Objects(i).SetTexture GetTex("Wood2")
-Objects(i).SetMeshName ("DoorD " + Str$(i))
-Objects(i).SetRotation 0, 1.56, 0
-Objects(i).SetPosition -70, (Floor * 25) + 25, 66
-
-'Door 22
-i = 105 + (150 * (Floor - 1))
-Call Init_Objects(Floor, 105)
-Objects(i).AddWall GetTex("Door1"), -3.9, 0, 3.9, 0, 19.5, 0, 1, 1
-'Objects(i).SetColor (RGBA(10, 10, 10, 1))
-'Objects(i).ScaleMesh 0.45, 0.535, 0.535
-'Objects(i).SetTexture GetTex("Wood2")
-Objects(i).SetMeshName ("DoorB " + Str$(i))
-Objects(i).SetRotation 0, 1.56, 0
-Objects(i).SetPosition 12.5, (Floor * 25) + 25, 102
-
-'Door 23
-i = 106 + (150 * (Floor - 1))
-Call Init_Objects(Floor, 106)
-Objects(i).AddWall GetTex("Door1"), -3.9, 0, 3.9, 0, 19.5, 0, -1, 1
-'Objects(i).SetColor (RGBA(10, 10, 10, 1))
-'Objects(i).ScaleMesh 0.45, 0.535, 0.535
-'Objects(i).SetTexture GetTex("Wood2")
-Objects(i).SetMeshName ("DoorD " + Str$(i))
-Objects(i).SetRotation 0, 1.56, 0
-Objects(i).SetPosition -12.5, (Floor * 25) + 25, 102
-
-'Door 21
-i = 107 + (150 * (Floor - 1))
-Call Init_Objects(Floor, 107)
-Objects(i).AddWall GetTex("Door1"), -3.9, 0, 3.9, 0, 19.5, 0, 1, 1
-'Objects(i).SetColor (RGBA(10, 10, 10, 1))
-'Objects(i).ScaleMesh 0.45, 0.535, 0.535
-'Objects(i).SetTexture GetTex("Wood2")
-Objects(i).SetMeshName ("DoorB " + Str$(i))
-Objects(i).SetRotation 0, 1.56, 0
-Objects(i).SetPosition 70, (Floor * 25) + 25, 102
-
-'Door 24
-i = 108 + (150 * (Floor - 1))
-Call Init_Objects(Floor, 108)
-Objects(i).AddWall GetTex("Door1"), -3.9, 0, 3.9, 0, 19.5, 0, -1, 1
-'Objects(i).SetColor (RGBA(10, 10, 10, 1))
-'Objects(i).ScaleMesh 0.45, 0.535, 0.535
-'Objects(i).SetTexture GetTex("Wood2")
-Objects(i).SetMeshName ("DoorD " + Str$(i))
-Objects(i).SetRotation 0, 1.56, 0
-Objects(i).SetPosition -70, (Floor * 25) + 25, 102
-
-'Door 26
-i = 109 + (150 * (Floor - 1))
-Call Init_Objects(Floor, 109)
-Objects(i).AddWall GetTex("Door1"), -3.9, 0, 3.9, 0, 19.5, 0, 1, 1
-'Objects(i).SetColor (RGBA(10, 10, 10, 1))
-'Objects(i).ScaleMesh 0.45, 0.535, 0.535
-'Objects(i).SetTexture GetTex("Wood2")
-Objects(i).SetMeshName ("DoorB " + Str$(i))
-Objects(i).SetRotation 0, 1.56, 0
-Objects(i).SetPosition 12.5, (Floor * 25) + 25, 116
-
-'Door 27
-i = 110 + (150 * (Floor - 1))
-Call Init_Objects(Floor, 110)
-Objects(i).AddWall GetTex("Door1"), -3.9, 0, 3.9, 0, 19.5, 0, -1, 1
-'Objects(i).SetColor (RGBA(10, 10, 10, 1))
-'Objects(i).ScaleMesh 0.45, 0.535, 0.535
-'Objects(i).SetTexture GetTex("Wood2")
-Objects(i).SetMeshName ("DoorD " + Str$(i))
-Objects(i).SetRotation 0, 1.56, 0
-Objects(i).SetPosition -12.5, (Floor * 25) + 25, 116
-
-'Door 25
-i = 111 + (150 * (Floor - 1))
-Call Init_Objects(Floor, 111)
-Objects(i).AddWall GetTex("Door1"), -3.9, 0, 3.9, 0, 19.5, 0, 1, 1
-'Objects(i).SetColor (RGBA(10, 10, 10, 1))
-'Objects(i).ScaleMesh 0.45, 0.535, 0.535
-'Objects(i).SetTexture GetTex("Wood2")
-Objects(i).SetMeshName ("DoorB " + Str$(i))
-Objects(i).SetRotation 0, 1.56, 0
-Objects(i).SetPosition 70, (Floor * 25) + 25, 116
-
-'Door 28
-i = 112 + (150 * (Floor - 1))
-Call Init_Objects(Floor, 112)
-Objects(i).AddWall GetTex("Door1"), -3.9, 0, 3.9, 0, 19.5, 0, -1, 1
-'Objects(i).SetColor (RGBA(10, 10, 10, 1))
-'Objects(i).ScaleMesh 0.45, 0.535, 0.535
-'Objects(i).SetTexture GetTex("Wood2")
-Objects(i).SetMeshName ("DoorD " + Str$(i))
-Objects(i).SetRotation 0, 1.56, 0
-Objects(i).SetPosition -70, (Floor * 25) + 25, 116
-
-'Door 12
-i = 113 + (150 * (Floor - 1))
-Call Init_Objects(Floor, 113)
-Objects(i).AddWall GetTex("Door1"), -3.9, 0, 3.9, 0, 19.5, 0, 1, 1
-'Objects(i).SetColor (RGBA(10, 10, 10, 1))
-'Objects(i).ScaleMesh 0.45, 0.535, 0.535
-'Objects(i).SetTexture GetTex("Wood2")
-'Objects(i).SetRotation 0, 1.56, 0
-Objects(i).SetMeshName ("DoorA " + Str$(i))
-Objects(i).SetPosition -61, (Floor * 25) + 25, -46.25
-
-'Door 10
-i = 114 + (150 * (Floor - 1))
-Call Init_Objects(Floor, 114)
-Objects(i).AddWall GetTex("Door1"), -3.9, 0, 3.9, 0, 19.5, 0, 1, 1
-'Objects(i).SetColor (RGBA(10, 10, 10, 1))
-'Objects(i).ScaleMesh 0.45, 0.535, 0.535
-'Objects(i).SetTexture GetTex("Wood2")
-'Objects(i).SetRotation 0, 1.56, 0
-Objects(i).SetMeshName ("DoorA " + Str$(i))
-Objects(i).SetPosition 61, (Floor * 25) + 25, -46.25
-
-'Door 15
-i = 115 + (150 * (Floor - 1))
-Call Init_Objects(Floor, 115)
-Objects(i).AddWall GetTex("Door1"), -3.9, 0, 3.9, 0, 19.5, 0, -1, 1
-'Objects(i).SetColor (RGBA(10, 10, 10, 1))
-'Objects(i).ScaleMesh 0.45, 0.535, 0.535
-'Objects(i).SetTexture GetTex("Wood2")
-'Objects(i).SetRotation 0, 1.56, 0
-Objects(i).SetMeshName ("DoorC " + Str$(i))
-Objects(i).SetPosition -61, (Floor * 25) + 25, 15.41
-
-'Door 14
-i = 116 + (150 * (Floor - 1))
-Call Init_Objects(Floor, 116)
-Objects(i).AddWall GetTex("Door1"), -3.9, 0, 3.9, 0, 19.5, 0, -1, 1
-'Objects(i).SetColor (RGBA(10, 10, 10, 1))
-'Objects(i).ScaleMesh 0.45, 0.535, 0.535
-'Objects(i).SetTexture GetTex("Wood2")
-'Objects(i).SetRotation 0, 1.56, 0
-Objects(i).SetMeshName ("DoorC " + Str$(i))
-Objects(i).SetPosition 61, (Floor * 25) + 25, 15.41
-
-
-End If
-
-If Floor >= 118 And Floor <= 134 Then
-'Window 1
-i = 1 + (150 * (Floor - 1))
-Call Init_Objects(Floor, 1)
-Objects(i).Load3DsMesh App.Path + "\objects\window4.3ds", True
-Objects(i).SetColor (RGBA(10, 10, 10, 1))
-Objects(i).ScaleMesh 0.136, 0.136, 0.136
-Objects(i).SetTexture GetTex("Ceiling1")
-Objects(i).SetRotation 0, -1.58, 0
-'Objects(i).SetPosition 154, 12.01 + ((Floor * 25) + 25), -149.5
-Objects(i).SetPosition 84.5, 12.01 + ((Floor * 25) + 25), 143
-'Objects(i).Optimize
-
-'Windows 2 to 25
-For j = 2 To 25
-i = j + (150 * (Floor - 1))
-Call Init_Objects(Floor, Int(j))
-Objects(i).Load3DsMesh App.Path + "\objects\window4.3ds", True
-Objects(i).SetColor (RGBA(10, 10, 10, 1))
-Objects(i).ScaleMesh 0.136, 0.136, 0.136
-Objects(i).SetTexture GetTex("Ceiling1")
-Objects(i).SetRotation 0, -1.58, 0
-'Objects(i).SetPosition 154, 12.01 + ((Floor * 25) + 25), -149.5
-Objects(i).SetPosition 84.5, 12.01 + ((Floor * 25) + 25), 143 - ((j - 1) * 12) + ((j - 1) * 0.1)
-'Objects(i).Optimize
-Next j
-
-'Window 26
-i = 26 + (150 * (Floor - 1))
-Call Init_Objects(Floor, 26)
-Objects(i).Load3DsMesh App.Path + "\objects\window4.3ds", True
-Objects(i).SetColor (RGBA(10, 10, 10, 1))
-Objects(i).ScaleMesh 0.136, 0.136, 0.136
-Objects(i).SetTexture GetTex("Ceiling1")
-Objects(i).SetRotation 0, -1.58, 0
-'Objects(i).SetPosition 154, 12.01 + ((Floor * 25) + 25), -149.5
-Objects(i).SetPosition -84.5, 12.01 + ((Floor * 25) + 25), 143
-'Objects(i).Optimize
-
-'Windows 27 to 50
-For j = 27 To 50
-i = j + (150 * (Floor - 1))
-Call Init_Objects(Floor, Int(j))
-Objects(i).Load3DsMesh App.Path + "\objects\window4.3ds", True
-Objects(i).SetColor (RGBA(10, 10, 10, 1))
-Objects(i).ScaleMesh 0.136, 0.136, 0.136
-Objects(i).SetTexture GetTex("Ceiling1")
-Objects(i).SetRotation 0, -1.58, 0
-'Objects(i).SetPosition 154, 12.01 + ((Floor * 25) + 25), -149.5
-Objects(i).SetPosition -84.5, 12.01 + ((Floor * 25) + 25), 143 - ((j - 26) * 12) + ((j - 26) * 0.1)
-'Objects(i).Optimize
-Next j
-
-'Window 51
-i = 51 + (150 * (Floor - 1))
-Call Init_Objects(Floor, 51)
-Objects(i).Load3DsMesh App.Path + "\objects\window4.3ds", True
-Objects(i).SetColor (RGBA(10, 10, 10, 1))
-Objects(i).ScaleMesh 0.136, 0.136, 0.136
-Objects(i).SetTexture GetTex("Ceiling1")
-'Objects(i).SetPosition 154, 12.01 + ((Floor * 25) + 25), 149.5
-Objects(i).SetPosition 78, 12.01 + ((Floor * 25) + 25), 149.5
-'Objects(i).Optimize
-
-For j = 52 To 64
-'Windows 52 to 64
-i = j + (150 * (Floor - 1))
-Call Init_Objects(Floor, Int(j))
-Objects(i).Load3DsMesh App.Path + "\objects\window4.3ds", True
-Objects(i).SetColor (RGBA(10, 10, 10, 1))
-Objects(i).ScaleMesh 0.136, 0.136, 0.136
-Objects(i).SetTexture GetTex("Ceiling1")
-Objects(i).SetPosition 78 - ((j - 51) * 12) + ((j - 51) * 0.15), 12.01 + ((Floor * 25) + 25), 149.5
-'Objects(i).Optimize
-Next j
-
-'Window 65
-i = 65 + (150 * (Floor - 1))
-Call Init_Objects(Floor, 65)
-Objects(i).Load3DsMesh App.Path + "\objects\window4.3ds", True
-Objects(i).SetColor (RGBA(10, 10, 10, 1))
-Objects(i).ScaleMesh 0.136, 0.136, 0.136
-Objects(i).SetTexture GetTex("Ceiling1")
-'Objects(i).SetPosition 154, 12.01 + ((Floor * 25) + 25), 149.5
-Objects(i).SetPosition 78, 12.01 + ((Floor * 25) + 25), -149.5
-'Objects(i).Optimize
-
-For j = 66 To 78
-'Windows 66 to 78
-i = j + (150 * (Floor - 1))
-Call Init_Objects(Floor, Int(j))
-Objects(i).Load3DsMesh App.Path + "\objects\window4.3ds", True
-Objects(i).SetColor (RGBA(10, 10, 10, 1))
-Objects(i).ScaleMesh 0.136, 0.136, 0.136
-Objects(i).SetTexture GetTex("Ceiling1")
-Objects(i).SetPosition 78 - ((j - 65) * 12) + ((j - 65) * 0.15), 12.01 + ((Floor * 25) + 25), -149.5
-'Objects(i).Optimize
-Next j
-
-'Stairway Door
-i = 79 + (150 * (Floor - 1))
-Call Init_Objects(Floor, 79)
-Objects(i).AddWall GetTex("StairsDoor"), -3.9, 0, 3.9, 0, 19.5, 0, 1, 1
-'Objects(i).SetColor (RGBA(10, 10, 10, 1))
-'Objects(i).ScaleMesh 0.45, 0.535, 0.535
-'Objects(i).SetTexture GetTex("Wood2")
-Objects(i).SetMeshName ("DoorB " + Str$(i))
-Objects(i).SetRotation 0, 1.56, 0
-Objects(i).SetPosition -12.8, (Floor * 25) + 25, -36.4
-
-End If
-
-If Floor >= 118 And Floor <= 132 Then
-
-'Door 01
-i = 80 + (150 * (Floor - 1))
-Call Init_Objects(Floor, 80)
-Objects(i).AddWall GetTex("Door1"), -3.9, 0, 3.9, 0, 19.5, 0, 1, 1
-'Objects(i).SetColor (RGBA(10, 10, 10, 1))
-'Objects(i).ScaleMesh 0.45, 0.535, 0.535
-'Objects(i).SetTexture GetTex("Wood2")
-Objects(i).SetMeshName ("DoorB " + Str$(i))
-Objects(i).SetRotation 0, 1.56, 0
-Objects(i).SetPosition 12.5, (Floor * 25) + 25, -117
-
-'Door 02
-i = 81 + (150 * (Floor - 1))
-Call Init_Objects(Floor, 81)
-Objects(i).AddWall GetTex("Door1"), -3.9, 0, 3.9, 0, 19.5, 0, -1, 1
-'Objects(i).SetColor (RGBA(10, 10, 10, 1))
-'Objects(i).ScaleMesh 0.45, 0.535, 0.535
-'Objects(i).SetTexture GetTex("Wood2")
-Objects(i).SetMeshName ("DoorD " + Str$(i))
-Objects(i).SetRotation 0, 1.56, 0
-Objects(i).SetPosition -12.5, (Floor * 25) + 25, -117
-
-'Door 03
-i = 82 + (150 * (Floor - 1))
-Call Init_Objects(Floor, 82)
-Objects(i).AddWall GetTex("Door1"), -3.9, 0, 3.9, 0, 19.5, 0, 1, 1
-'Objects(i).SetColor (RGBA(10, 10, 10, 1))
-'Objects(i).ScaleMesh 0.45, 0.535, 0.535
-'Objects(i).SetTexture GetTex("Wood2")
-Objects(i).SetMeshName ("DoorB " + Str$(i))
-Objects(i).SetRotation 0, 1.56, 0
-Objects(i).SetPosition 12.5, (Floor * 25) + 25, -101
-
-'Door 04
-i = 83 + (150 * (Floor - 1))
-Call Init_Objects(Floor, 83)
-Objects(i).AddWall GetTex("Door1"), -3.9, 0, 3.9, 0, 19.5, 0, -1, 1
-'Objects(i).SetColor (RGBA(10, 10, 10, 1))
-'Objects(i).ScaleMesh 0.45, 0.535, 0.535
-'Objects(i).SetTexture GetTex("Wood2")
-Objects(i).SetMeshName ("DoorD " + Str$(i))
-Objects(i).SetRotation 0, 1.56, 0
-Objects(i).SetPosition -12.5, (Floor * 25) + 25, -101
-
-'Door 05
-i = 84 + (150 * (Floor - 1))
-Call Init_Objects(Floor, 84)
-Objects(i).AddWall GetTex("Door1"), -3.9, 0, 3.9, 0, 19.5, 0, 1, 1
-'Objects(i).SetColor (RGBA(10, 10, 10, 1))
-'Objects(i).ScaleMesh 0.45, 0.535, 0.535
-'Objects(i).SetTexture GetTex("Wood2")
-Objects(i).SetMeshName ("DoorB " + Str$(i))
-Objects(i).SetRotation 0, 1.56, 0
-Objects(i).SetPosition 50, (Floor * 25) + 25, -60
-
-'Door 06
-i = 85 + (150 * (Floor - 1))
-Call Init_Objects(Floor, 85)
-Objects(i).AddWall GetTex("Door1"), -3.9, 0, 3.9, 0, 19.5, 0, -1, 1
-'Objects(i).SetColor (RGBA(10, 10, 10, 1))
-'Objects(i).ScaleMesh 0.45, 0.535, 0.535
-'Objects(i).SetTexture GetTex("Wood2")
-Objects(i).SetMeshName ("DoorD " + Str$(i))
-Objects(i).SetRotation 0, 1.56, 0
-Objects(i).SetPosition -50, (Floor * 25) + 25, -60
-
-'Service Door
-i = 86 + (150 * (Floor - 1))
-Call Init_Objects(Floor, 86)
-Objects(i).AddWall GetTex("StairsDoor"), -3.9, 0, 3.9, 0, 19.5, 0, 1, 1
-'Objects(i).SetColor (RGBA(10, 10, 10, 1))
-'Objects(i).ScaleMesh 0.45, 0.535, 0.535
-'Objects(i).SetTexture GetTex("Wood2")
-'Objects(i).SetRotation 0, 1.56, 0
-Objects(i).SetMeshName ("DoorA " + Str$(i))
-Objects(i).SetPosition 39, (Floor * 25) + 25, -46.25
-
-'Door 07
-i = 87 + (150 * (Floor - 1))
-Call Init_Objects(Floor, 87)
-Objects(i).AddWall GetTex("Door1"), -3.9, 0, 3.9, 0, 19.5, 0, 1, 1
-'Objects(i).SetColor (RGBA(10, 10, 10, 1))
-'Objects(i).ScaleMesh 0.45, 0.535, 0.535
-'Objects(i).SetTexture GetTex("Wood2")
-Objects(i).SetMeshName ("DoorB " + Str$(i))
-Objects(i).SetRotation 0, 1.56, 0
-Objects(i).SetPosition 50, (Floor * 25) + 25, 13
-
-'Door 08
-i = 88 + (150 * (Floor - 1))
-Call Init_Objects(Floor, 88)
-Objects(i).AddWall GetTex("Door1"), -3.9, 0, 3.9, 0, 19.5, 0, -1, 1
-'Objects(i).SetColor (RGBA(10, 10, 10, 1))
-'Objects(i).ScaleMesh 0.45, 0.535, 0.535
-'Objects(i).SetTexture GetTex("Wood2")
-Objects(i).SetMeshName ("DoorD " + Str$(i))
-Objects(i).SetRotation 0, 1.56, 0
-Objects(i).SetPosition -50, (Floor * 25) + 25, 13
-
-'Door 09
-i = 89 + (150 * (Floor - 1))
-Call Init_Objects(Floor, 89)
-Objects(i).AddWall GetTex("Door1"), -3.9, 0, 3.9, 0, 19.5, 0, 1, 1
-'Objects(i).SetColor (RGBA(10, 10, 10, 1))
-'Objects(i).ScaleMesh 0.45, 0.535, 0.535
-'Objects(i).SetTexture GetTex("Wood2")
-Objects(i).SetMeshName ("DoorB " + Str$(i))
-Objects(i).SetRotation 0, 1.56, 0
-Objects(i).SetPosition 12.5, (Floor * 25) + 25, 54
-
-'Door 10
-i = 90 + (150 * (Floor - 1))
-Call Init_Objects(Floor, 90)
-Objects(i).AddWall GetTex("Door1"), -3.9, 0, 3.9, 0, 19.5, 0, -1, 1
-'Objects(i).SetColor (RGBA(10, 10, 10, 1))
-'Objects(i).ScaleMesh 0.45, 0.535, 0.535
-'Objects(i).SetTexture GetTex("Wood2")
-Objects(i).SetMeshName ("DoorD " + Str$(i))
-Objects(i).SetRotation 0, 1.56, 0
-Objects(i).SetPosition -12.5, (Floor * 25) + 25, 54
-
-'Door 11
-i = 91 + (150 * (Floor - 1))
-Call Init_Objects(Floor, 91)
-Objects(i).AddWall GetTex("Door1"), -3.9, 0, 3.9, 0, 19.5, 0, 1, 1
-'Objects(i).SetColor (RGBA(10, 10, 10, 1))
-'Objects(i).ScaleMesh 0.45, 0.535, 0.535
-'Objects(i).SetTexture GetTex("Wood2")
-Objects(i).SetMeshName ("DoorB " + Str$(i))
-Objects(i).SetRotation 0, 1.56, 0
-Objects(i).SetPosition 12.5, (Floor * 25) + 25, 67
-
-'Door 12
-i = 92 + (150 * (Floor - 1))
-Call Init_Objects(Floor, 92)
-Objects(i).AddWall GetTex("Door1"), -3.9, 0, 3.9, 0, 19.5, 0, -1, 1
-'Objects(i).SetColor (RGBA(10, 10, 10, 1))
-'Objects(i).ScaleMesh 0.45, 0.535, 0.535
-'Objects(i).SetTexture GetTex("Wood2")
-Objects(i).SetMeshName ("DoorD " + Str$(i))
-Objects(i).SetRotation 0, 1.56, 0
-Objects(i).SetPosition -12.5, (Floor * 25) + 25, 67
-
-'Door 13
-i = 93 + (150 * (Floor - 1))
-Call Init_Objects(Floor, 93)
-Objects(i).AddWall GetTex("Door1"), -3.9, 0, 3.9, 0, 19.5, 0, 1, 1
-'Objects(i).SetColor (RGBA(10, 10, 10, 1))
-'Objects(i).ScaleMesh 0.45, 0.535, 0.535
-'Objects(i).SetTexture GetTex("Wood2")
-Objects(i).SetMeshName ("DoorB " + Str$(i))
-Objects(i).SetRotation 0, 1.56, 0
-Objects(i).SetPosition 12.5, (Floor * 25) + 25, 115
-
-'Door 14
-i = 94 + (150 * (Floor - 1))
-Call Init_Objects(Floor, 94)
-Objects(i).AddWall GetTex("Door1"), -3.9, 0, 3.9, 0, 19.5, 0, -1, 1
-'Objects(i).SetColor (RGBA(10, 10, 10, 1))
-'Objects(i).ScaleMesh 0.45, 0.535, 0.535
-'Objects(i).SetTexture GetTex("Wood2")
-Objects(i).SetMeshName ("DoorD " + Str$(i))
-Objects(i).SetRotation 0, 1.56, 0
-Objects(i).SetPosition -12.5, (Floor * 25) + 25, 115
-
-'Door 15
-i = 95 + (150 * (Floor - 1))
-Call Init_Objects(Floor, 95)
-Objects(i).AddWall GetTex("Door1"), -3.9, 0, 3.9, 0, 19.5, 0, 1, 1
-'Objects(i).SetColor (RGBA(10, 10, 10, 1))
-'Objects(i).ScaleMesh 0.45, 0.535, 0.535
-'Objects(i).SetTexture GetTex("Wood2")
-Objects(i).SetMeshName ("DoorB " + Str$(i))
-Objects(i).SetRotation 0, 1.56, 0
-Objects(i).SetPosition 12.5, (Floor * 25) + 25, 126
-
-'Door 16
-i = 96 + (150 * (Floor - 1))
-Call Init_Objects(Floor, 96)
-Objects(i).AddWall GetTex("Door1"), -3.9, 0, 3.9, 0, 19.5, 0, -1, 1
-'Objects(i).SetColor (RGBA(10, 10, 10, 1))
-'Objects(i).ScaleMesh 0.45, 0.535, 0.535
-'Objects(i).SetTexture GetTex("Wood2")
-Objects(i).SetMeshName ("DoorD " + Str$(i))
-Objects(i).SetRotation 0, 1.56, 0
-Objects(i).SetPosition -12.5, (Floor * 25) + 25, 126
-
-
-End If
-
-If Floor = 133 Or Floor = 134 Then
-i = 79 + (150 * (Floor - 1))
-Call Init_Objects(Floor, 79)
-Objects(i).Load3DsMesh App.Path + "\objects\swimpool.3ds", True
-'Objects(i).SetMaterial 0
-'Objects(i).SetColor (RGBA(10, 10, 10, 1))
-Objects(i).SetRotation 0, -1.58, 0
-Objects(i).ScaleMesh 0.2, 0.2, 0.2
-'Objects(i).SetTexture GetTex("ColumnTex")
-Objects(i).SetPosition 0, 0 + ((134 * 25) + 25), 92
-'Objects(i).Optimize
-End If
-
-If Floor = 135 Or Floor = 136 Then
-Floor = 135
-'Window 1
-i = 1 + (150 * (Floor - 1))
-Call Init_Objects(Floor, 1)
-Objects(i).Load3DsMesh App.Path + "\objects\window4.3ds", True
-Objects(i).SetColor (RGBA(10, 10, 10, 1))
-Objects(i).ScaleMesh 0.136, 0.136, 0.136
-Objects(i).SetTexture GetTex("Ceiling1")
-Objects(i).SetRotation 0, -1.58, 0
-'Objects(i).SetPosition 154, 12.01 + ((Floor * 25) + 25), -149.5
-Objects(i).SetPosition 59.5, 12.01 + ((Floor * 25) + 25), 143
-'Objects(i).Optimize
-
-'Windows 2 to 25
-For j = 2 To 25
-i = j + (150 * (Floor - 1))
-Call Init_Objects(Floor, Int(j))
-Objects(i).Load3DsMesh App.Path + "\objects\window4.3ds", True
-Objects(i).SetColor (RGBA(10, 10, 10, 1))
-Objects(i).ScaleMesh 0.136, 0.136, 0.136
-Objects(i).SetTexture GetTex("Ceiling1")
-Objects(i).SetRotation 0, -1.58, 0
-'Objects(i).SetPosition 154, 12.01 + ((Floor * 25) + 25), -149.5
-Objects(i).SetPosition 59.5, 12.01 + ((Floor * 25) + 25), 143 - ((j - 1) * 12) + ((j - 1) * 0.1)
-'Objects(i).Optimize
-Next j
-
-'Window 26
-i = 26 + (150 * (Floor - 1))
-Call Init_Objects(Floor, 26)
-Objects(i).Load3DsMesh App.Path + "\objects\window4.3ds", True
-Objects(i).SetColor (RGBA(10, 10, 10, 1))
-Objects(i).ScaleMesh 0.136, 0.136, 0.136
-Objects(i).SetTexture GetTex("Ceiling1")
-Objects(i).SetRotation 0, -1.58, 0
-'Objects(i).SetPosition 154, 12.01 + ((Floor * 25) + 25), -149.5
-Objects(i).SetPosition -59.5, 12.01 + ((Floor * 25) + 25), 143
-'Objects(i).Optimize
-
-'Windows 27 to 50
-For j = 27 To 50
-i = j + (150 * (Floor - 1))
-Call Init_Objects(Floor, Int(j))
-Objects(i).Load3DsMesh App.Path + "\objects\window4.3ds", True
-Objects(i).SetColor (RGBA(10, 10, 10, 1))
-Objects(i).ScaleMesh 0.136, 0.136, 0.136
-Objects(i).SetTexture GetTex("Ceiling1")
-Objects(i).SetRotation 0, -1.58, 0
-'Objects(i).SetPosition 154, 12.01 + ((Floor * 25) + 25), -149.5
-Objects(i).SetPosition -59.5, 12.01 + ((Floor * 25) + 25), 143 - ((j - 26) * 12) + ((j - 26) * 0.1)
-'Objects(i).Optimize
-Next j
-
-'Window 51
-i = 51 + (150 * (Floor - 1))
-Call Init_Objects(Floor, 51)
-Objects(i).Load3DsMesh App.Path + "\objects\window4.3ds", True
-Objects(i).SetColor (RGBA(10, 10, 10, 1))
-Objects(i).ScaleMesh 0.136, 0.136, 0.136
-Objects(i).SetTexture GetTex("Ceiling1")
-'Objects(i).SetPosition 154, 12.01 + ((Floor * 25) + 25), 149.5
-Objects(i).SetPosition 53, 12.01 + ((Floor * 25) + 25), 149.5
-'Objects(i).Optimize
-
-For j = 52 To 60
-'Windows 52 to 60
-i = j + (150 * (Floor - 1))
-Call Init_Objects(Floor, Int(j))
-Objects(i).Load3DsMesh App.Path + "\objects\window4.3ds", True
-Objects(i).SetColor (RGBA(10, 10, 10, 1))
-Objects(i).ScaleMesh 0.136, 0.136, 0.136
-Objects(i).SetTexture GetTex("Ceiling1")
-Objects(i).SetPosition 53 - ((j - 51) * 12) + ((j - 51) * 0.15), 12.01 + ((Floor * 25) + 25), 149.5
-'Objects(i).Optimize
-Next j
-
-'Window 61
-i = 61 + (150 * (Floor - 1))
-Call Init_Objects(Floor, 61)
-Objects(i).Load3DsMesh App.Path + "\objects\window4.3ds", True
-Objects(i).SetColor (RGBA(10, 10, 10, 1))
-Objects(i).ScaleMesh 0.136, 0.136, 0.136
-Objects(i).SetTexture GetTex("Ceiling1")
-'Objects(i).SetPosition 154, 12.01 + ((Floor * 25) + 25), 149.5
-Objects(i).SetPosition 53, 12.01 + ((Floor * 25) + 25), -149.5
-'Objects(i).Optimize
-
-For j = 62 To 74
-'Windows 62 to 74
-i = j + (150 * (Floor - 1))
-Call Init_Objects(Floor, Int(j))
-Objects(i).Load3DsMesh App.Path + "\objects\window4.3ds", True
-Objects(i).SetColor (RGBA(10, 10, 10, 1))
-Objects(i).ScaleMesh 0.136, 0.136, 0.136
-Objects(i).SetTexture GetTex("Ceiling1")
-Objects(i).SetPosition 53 - ((j - 65) * 12) + ((j - 65) * 0.15), 12.01 + ((Floor * 25) + 25), -149.5
-'Objects(i).Optimize
-Next j
-
-'Stairway Door
-i = 75 + (150 * (Floor - 1))
-Call Init_Objects(Floor, 75)
-Objects(i).AddWall GetTex("StairsDoor"), -3.9, 0, 3.9, 0, 19.5, 0, 1, 1
-'Objects(i).SetColor (RGBA(10, 10, 10, 1))
-'Objects(i).ScaleMesh 0.45, 0.535, 0.535
-'Objects(i).SetTexture GetTex("Wood2")
-Objects(i).SetMeshName ("DoorB " + Str$(i))
-Objects(i).SetRotation 0, 1.56, 0
-Objects(i).SetPosition -12.8, (Floor * 25) + 25, -36.4
-
-'-----------------------------
-Floor = 136
-'Window 1
-i = 1 + (150 * (Floor - 1))
-Call Init_Objects(Floor, 1)
-Objects(i).Load3DsMesh App.Path + "\objects\window5.3ds", True
-Objects(i).SetColor (RGBA(10, 10, 10, 1))
-Objects(i).ScaleMesh 0.136, 0.136, 0.136
-Objects(i).SetTexture GetTex("Ceiling1")
-Objects(i).SetRotation 0, -1.58, 0
-'Objects(i).SetPosition 154, 12.01 + ((Floor * 25) + 25), -149.5
-Objects(i).SetPosition 59.5, 12.01 + ((Floor * 25) + 25), 143
-'Objects(i).Optimize
-
-'Windows 2 to 25
-For j = 2 To 25
-i = j + (150 * (Floor - 1))
-Call Init_Objects(Floor, Int(j))
-Objects(i).Load3DsMesh App.Path + "\objects\window5.3ds", True
-Objects(i).SetColor (RGBA(10, 10, 10, 1))
-Objects(i).ScaleMesh 0.136, 0.136, 0.136
-Objects(i).SetTexture GetTex("Ceiling1")
-Objects(i).SetRotation 0, -1.58, 0
-'Objects(i).SetPosition 154, 12.01 + ((Floor * 25) + 25), -149.5
-Objects(i).SetPosition 59.5, 12.01 + ((Floor * 25) + 25), 143 - ((j - 1) * 12) + ((j - 1) * 0.1)
-'Objects(i).Optimize
-Next j
-
-'Window 26
-i = 26 + (150 * (Floor - 1))
-Call Init_Objects(Floor, 26)
-Objects(i).Load3DsMesh App.Path + "\objects\window5.3ds", True
-Objects(i).SetColor (RGBA(10, 10, 10, 1))
-Objects(i).ScaleMesh 0.136, 0.136, 0.136
-Objects(i).SetTexture GetTex("Ceiling1")
-Objects(i).SetRotation 0, -1.58, 0
-'Objects(i).SetPosition 154, 12.01 + ((Floor * 25) + 25), -149.5
-Objects(i).SetPosition -59.5, 12.01 + ((Floor * 25) + 25), 143
-'Objects(i).Optimize
-
-'Windows 27 to 50
-For j = 27 To 50
-i = j + (150 * (Floor - 1))
-Call Init_Objects(Floor, Int(j))
-Objects(i).Load3DsMesh App.Path + "\objects\window5.3ds", True
-Objects(i).SetColor (RGBA(10, 10, 10, 1))
-Objects(i).ScaleMesh 0.136, 0.136, 0.136
-Objects(i).SetTexture GetTex("Ceiling1")
-Objects(i).SetRotation 0, -1.58, 0
-'Objects(i).SetPosition 154, 12.01 + ((Floor * 25) + 25), -149.5
-Objects(i).SetPosition -59.5, 12.01 + ((Floor * 25) + 25), 143 - ((j - 26) * 12) + ((j - 26) * 0.1)
-'Objects(i).Optimize
-Next j
-
-'Window 51
-i = 51 + (150 * (Floor - 1))
-Call Init_Objects(Floor, 51)
-Objects(i).Load3DsMesh App.Path + "\objects\window5.3ds", True
-Objects(i).SetColor (RGBA(10, 10, 10, 1))
-Objects(i).ScaleMesh 0.136, 0.136, 0.136
-Objects(i).SetTexture GetTex("Ceiling1")
-'Objects(i).SetPosition 154, 12.01 + ((Floor * 25) + 25), 149.5
-Objects(i).SetPosition 53, 12.01 + ((Floor * 25) + 25), 149.5
-'Objects(i).Optimize
-
-For j = 52 To 60
-'Windows 52 to 60
-i = j + (150 * (Floor - 1))
-Call Init_Objects(Floor, Int(j))
-Objects(i).Load3DsMesh App.Path + "\objects\window5.3ds", True
-Objects(i).SetColor (RGBA(10, 10, 10, 1))
-Objects(i).ScaleMesh 0.136, 0.136, 0.136
-Objects(i).SetTexture GetTex("Ceiling1")
-Objects(i).SetPosition 53 - ((j - 51) * 12) + ((j - 51) * 0.15), 12.01 + ((Floor * 25) + 25), 149.5
-'Objects(i).Optimize
-Next j
-
-'Window 61
-i = 61 + (150 * (Floor - 1))
-Call Init_Objects(Floor, 61)
-Objects(i).Load3DsMesh App.Path + "\objects\window5.3ds", True
-Objects(i).SetColor (RGBA(10, 10, 10, 1))
-Objects(i).ScaleMesh 0.136, 0.136, 0.136
-Objects(i).SetTexture GetTex("Ceiling1")
-'Objects(i).SetPosition 154, 12.01 + ((Floor * 25) + 25), 149.5
-Objects(i).SetPosition 53, 12.01 + ((Floor * 25) + 25), -149.5
-'Objects(i).Optimize
-
-For j = 62 To 74
-'Windows 62 to 74
-i = j + (150 * (Floor - 1))
-Call Init_Objects(Floor, Int(j))
-Objects(i).Load3DsMesh App.Path + "\objects\window5.3ds", True
-Objects(i).SetColor (RGBA(10, 10, 10, 1))
-Objects(i).ScaleMesh 0.136, 0.136, 0.136
-Objects(i).SetTexture GetTex("Ceiling1")
-Objects(i).SetPosition 53 - ((j - 65) * 12) + ((j - 65) * 0.15), 12.01 + ((Floor * 25) + 25), -149.5
-'Objects(i).Optimize
-Next j
-
-'Stairway Door
-i = 75 + (150 * (Floor - 1))
-Call Init_Objects(Floor, 75)
-Objects(i).AddWall GetTex("StairsDoor"), -3.9, 0, 3.9, 0, 19.5, 0, 1, 1
-'Objects(i).SetColor (RGBA(10, 10, 10, 1))
-'Objects(i).ScaleMesh 0.45, 0.535, 0.535
-'Objects(i).SetTexture GetTex("Wood2")
-Objects(i).SetMeshName ("DoorB " + Str$(i))
-Objects(i).SetRotation 0, 1.56, 0
-Objects(i).SetPosition -12.8, (Floor * 25) + 25, -36.4
-
-End If
-
-If Floor = 137 Then
-i = 1 + (150 * (Floor - 1))
-Call Init_Objects(Floor, 1)
-Objects(i).Load3DsMesh App.Path + "\objects\piping.3ds", True
-'Objects(i).SetColor (RGBA(10, 10, 10, 1))
-Objects(i).ScaleMesh 0.04, 0.04, 0.04
-'Objects(i).SetTexture GetTex("ColumnTex")
-Objects(i).SetPosition 0, 10 + ((Floor * 25) + 25), 60
-Objects(i).Optimize
-
-'Stairway Door
-i = 2 + (150 * (Floor - 1))
-Call Init_Objects(Floor, 2)
-Objects(i).AddWall GetTex("StairsDoor"), -3.9, 0, 3.9, 0, 19.5, 0, 1, 1
-'Objects(i).SetColor (RGBA(10, 10, 10, 1))
-'Objects(i).ScaleMesh 0.45, 0.535, 0.535
-'Objects(i).SetTexture GetTex("Wood2")
-Objects(i).SetMeshName ("DoorB " + Str$(i))
-Objects(i).SetRotation 0, 1.56, 0
-Objects(i).SetPosition -12.8, (Floor * 25) + 25, -36.4
-
-End If
-
-If Floor = 138 Then
-
-'Stairway Door
-i = 1 + (150 * (Floor - 1))
-Call Init_Objects(Floor, 1)
-Objects(i).AddWall GetTex("StairsDoor"), -3.9, 0, 3.9, 0, 19.5, 0, 1, 1
-'Objects(i).SetColor (RGBA(10, 10, 10, 1))
-'Objects(i).ScaleMesh 0.45, 0.535, 0.535
-'Objects(i).SetTexture GetTex("Wood2")
-Objects(i).SetMeshName ("DoorB " + Str$(i))
-Objects(i).SetRotation 0, 1.56, 0
-Objects(i).SetPosition -12.8, (Floor * 25) + 25, -36.4
-
-End If
-
-End Sub
 Sub Init_Objects(Floor As Integer, ObjectIndex As Integer)
 'currently, 150 objects per floor (150*138)
 i53 = ObjectIndex + (150 * (Floor - 1))
@@ -3687,245 +1481,264 @@ Set Objects(i53) = Scene.CreateMeshBuilder("Objects " + Str$(i53))
 End Sub
 
 Sub ProcessOtherFloors()
-i = 133
-    Form1.Print ".";
-    'Mesh.AddFloor GetTex("Granite"), -85, -150, 85, 150, (I * 25) + 25, 10, 10
-    Room(i).AddFloor GetTex("Granite"), -85, -150, 85, -46.25, (i * 25) + 25, 10, 3
-    Room(i).AddFloor GetTex("Granite"), -85, 0, 85, 150, (i * 25) + 25, 10, 3
-    Room(i).AddFloor GetTex("Granite"), -85, -46.25, -32.5, 0, (i * 25) + 25, 3, 3
-    Room(i).AddFloor GetTex("Granite"), 32.5, -46.25, 85, 0, (i * 25) + 25, 3, 3
-    Room(i).AddFloor GetTex("Granite"), -12.5, -46.25, 12.5, 0, (i * 25) + 25, 1, 3
-    
-    Room(i).AddFloor GetTex("Marble3"), -85, -150, 85, -46.25, (i * 25) + 49.5, 10, 3
-    Room(i).AddFloor GetTex("Marble3"), -85, 0, 85, 150, (i * 25) + 49.5, 10, 3
-    Room(i).AddFloor GetTex("Marble3"), -85, -46.25, -32.5, 0, (i * 25) + 49.5, 3, 3
-    Room(i).AddFloor GetTex("Marble3"), 32.5, -46.25, 85, 0, (i * 25) + 49.5, 3, 3
-    Room(i).AddFloor GetTex("Marble3"), -12.5, -46.25, 12.5, 0, (i * 25) + 49.5, 1, 3
-     
-    'Fake Stairway Doors for other floors
-    Room(i).AddWall GetTex("StairsDoor"), -12.8, -36.4 - 3.9, -12.8, -36.4 + 4.3, 19.5, (i * 25) + 25 + 25, -1, 1
-    
-    'Stairwell Walls
-    Stairs(i).AddWall GetTex("Concrete"), -12.5 - 0.5, -46.25 + 0.1, -12.5 - 0.5, -40.3, 75, (i * 25) + 25, ((46.25 - 40.3) * 0.086) * 4, 3 * 4
-    Stairs(i).AddWall GetTex("Concrete"), -12.5 - 0.5, -32.5, -12.5 - 0.5, -30, 75, (i * 25) + 25, (2.5 * 0.086) * 4, 3 * 4
-    Stairs(i).AddWall GetTex("Concrete"), -32.5 + 0.1, -46.25 + 0.1, -32.5 + 0.1, -30 - 1, 75, (i * 25) + 25, (16.25 * 0.086) * 4, 3 * 4
-    Stairs(i).AddWall GetTex("Concrete"), -12.5, -46.25 + 0.1, -32.5, -46.25 + 0.1, 75, (i * 25) + 25, (20 * 0.086) * 4, 3 * 4
-    Stairs(i).AddWall GetTex("Concrete"), -12.5, -30 - 1, -32.5, -30 - 1, 75, (i * 25) + 25, (20 * 0.086) * 4, 3 * 4
-    Stairs(i).AddWall GetTex("Concrete"), -12.5 - 6, -46.25 + 7.71, -12.5 - 16, -46.25 + 7.71, 75, (i * 25) + 25, (10 * 0.086) * 4, 3 * 4
-    Stairs(i).AddWall GetTex("Concrete"), -12.5 - 0.5, -40.3, -12.5 - 0.5, -30, 5.5, 19.5 + (i * 25) + 25, (10.3 * 0.086) * 4, 0.2 * 4
-    
-    Call DrawElevatorWalls(Int(i), 5, True, True, False, False, False, False, False, False, False, False, False)
-    
-    'Room(I) Walls
-    Room(i).AddWall GetTex("Wall3"), -50, -71.3, -12.5, -71.3, 25, (i * 25) + 25, 9, 1
-    Room(i).AddWall GetTex("Wall3"), 12.5, -71.3, 50, -71.3, 25, (i * 25) + 25, 2, 1
-    
-    'Room(i).AddWall GetTex("Wall3"), -50, 25, -12.5, 25, 25, (i * 25) + 25, 9, 1
-    'Room(i).AddWall GetTex("Wall3"), 12.5, 25, 50, 25, 25, (i * 25) + 25, 2, 1
-    
-    'Room(i).AddWall GetTex("Wall3"), -50, 0, -32.5, 0, 25, (i * 25) + 25, 9, 1
-    'Room(i).AddWall GetTex("Wall3"), 32.5, 0, 50, 0, 25, (i * 25) + 25, 2, 1
-    
-    Room(i).AddWall GetTex("Wall3"), -50, -46.3, -32.5, -46.3, 25, (i * 25) + 25, 9, 1
-    Room(i).AddWall GetTex("Wall3"), 32.5, -46.3, 50, -46.3, 25, (i * 25) + 25, 2, 1
-        
-    Room(i).AddWall GetTex("Wall3"), -50, -71.3, -50, -46.3, 25, (i * 25) + 25, 9, 1
-    Room(i).AddWall GetTex("Wall3"), 50, -71.3, 50, -46.3, 25, (i * 25) + 25, 2, 1
-    
-    'Room(i).AddWall GetTex("Wall3"), -50, 0, -50, 25, 25, (i * 25) + 25, 9, 1
-    'Room(i).AddWall GetTex("Wall3"), 50, 0, 50, 25, 25, (i * 25) + 25, 2, 1
-    
-    'Room(i).AddWall GetTex("Wall3"), -12.5, 150, -12.5, 25, 25, (i * 25) + 25, 9, 1
-    'Room(i).AddWall GetTex("Wall3"), 12.5, 150, 12.5, 25, 25, (i * 25) + 25, 2, 1
-    Room(i).AddWall GetTex("Wall3"), -12.5, -150, -12.5, -71.3, 25, (i * 25) + 25, 9, 1
-    Room(i).AddWall GetTex("Wall3"), 12.5, -150, 12.5, -71.3, 25, (i * 25) + 25, 2, 1
-    
-    'Individual Rooms
-    'Room(i).AddWall GetTex("Wall3"), -85, 90, -12.5, 90, 25, (i * 25) + 25, 9, 1
-    'Room(i).AddWall GetTex("Wall3"), 85, 90, 12.5, 90, 25, (i * 25) + 25, 2, 1
-    'Room(i).AddWall GetTex("Wall3"), -85, 120, -12.5, 120, 25, (i * 25) + 25, 9, 1
-    'Room(i).AddWall GetTex("Wall3"), 85, 120, 12.5, 120, 25, (i * 25) + 25, 2, 1
-    Room(i).AddWall GetTex("Wall3"), -85, 60, 85, 60, 25, (i * 25) + 25, 9, 1
-    'Room(i).AddWall GetTex("Wall3"), 85, 60, 12.5, 60, 25, (i * 25) + 25, 2, 1
-    'Room(i).AddWall GetTex("Wall3"), -85, 25, -50, 25, 25, (i * 25) + 25, 9, 1
-    'Room(i).AddWall GetTex("Wall3"), 85, 25, 50, 25, 25, (i * 25) + 25, 2, 1
-    
-    Room(i).AddWall GetTex("Wall3"), -85, -110, -12.5, -110, 25, (i * 25) + 25, 9, 1
-    Room(i).AddWall GetTex("Wall3"), 85, -110, 12.5, -110, 25, (i * 25) + 25, 2, 1
-    Room(i).AddWall GetTex("Wall3"), -85, -46.3, -50, -46.3, 25, (i * 25) + 25, 9, 1
-    Room(i).AddWall GetTex("Wall3"), 85, -46.3, 50, -46.3, 25, (i * 25) + 25, 2, 1
-    
-    Room(i).AddWall GetTex("Wall3"), -85, -10, -32.5, -10, 25, (i * 25) + 25, 9, 1
-    Room(i).AddWall GetTex("Wall3"), 85, -10, 32.5, -10, 25, (i * 25) + 25, 2, 1
-        
 
-    Form1.Print ".";
-    i = 134
-    'Mesh.AddFloor GetTex("Granite"), -85, -150, 85, 150, (I * 25) + 25, 10, 10
-    Room(i).AddFloor GetTex("Granite"), -85, -150, 85, -46.25, (i * 25) + 25, 10, 3
-    'Room(i).AddFloor GetTex("Granite"), -85, 0, 85, 150, (i * 25) + 25, 10, 3
-    Room(i).AddFloor GetTex("Granite"), -85, -46.25, -32.5, 0, (i * 25) + 25, 3, 3
-    Room(i).AddFloor GetTex("Granite"), 32.5, -46.25, 85, 0, (i * 25) + 25, 3, 3
-    Room(i).AddFloor GetTex("Granite"), -12.5, -46.25, 12.5, 0, (i * 25) + 25, 1, 3
+'Floor 80
+    i = 80
+    DoEvents
+    Form1.Label2.Caption = "Processing Floors 80, 115 to 117 and 130 to 138... " + Str$(Int(((i - 24) / (138 - 24)) * 100)) + "%"
     
-    'modified floor for pool
-    Room(i).AddFloor GetTex("Granite"), -50, 0, 50, 60, (i * 25) + 25, 10, 3
-    Room(i).AddFloor GetTex("Granite"), -85, 0, -50, 150, (i * 25) + 25, 10, 3
-    Room(i).AddFloor GetTex("Granite"), 50, 0, 85, 150, (i * 25) + 25, 10, 3
-    
-    Room(i).AddFloor GetTex("Marble3"), -85, -150, 85, -46.25, (i * 25) + 49.5, 10, 3
-    Room(i).AddFloor GetTex("Marble3"), -85, 0, 85, 150, (i * 25) + 49.5, 10, 3
-    Room(i).AddFloor GetTex("Marble3"), -85, -46.25, -32.5, 0, (i * 25) + 49.5, 3, 3
-    Room(i).AddFloor GetTex("Marble3"), 32.5, -46.25, 85, 0, (i * 25) + 49.5, 3, 3
-    Room(i).AddFloor GetTex("Marble3"), -12.5, -46.25, 12.5, 0, (i * 25) + 49.5, 1, 3
-     
-    'Fake Stairway Doors for other floors
-    Room(i).AddWall GetTex("StairsDoor"), -12.8, -36.4 - 3.9, -12.8, -36.4 + 4.3, 19.5, (i * 25) + 25 + 25, -1, 1
+    'Floor
+    Room(i).AddFloor GetTex("Granite"), -110, -150, 110, -46.25, (i * FloorHeight) + FloorHeight, ((110 * 2) * 0.086), ((150 - 46.25) * 0.08)
+    Room(i).AddFloor GetTex("Granite"), -110, 46.25, 110, 150, (i * FloorHeight) + FloorHeight, ((110 * 2) * 0.086), ((150 - 46.25) * 0.08)
+    Room(i).AddFloor GetTex("Granite"), -12.5, -46.25, 12.5, 46.25, (i * FloorHeight) + FloorHeight, ((12.5 * 2) * 0.086), ((46.25 * 2) * 0.08)
+    Room(i).AddFloor GetTex("Granite"), -110, -46.25, -52.5, 46.25, (i * FloorHeight) + FloorHeight, ((110 - 52.5) * 0.086), ((46.25 * 2) * 0.08)
+    Room(i).AddFloor GetTex("Granite"), 110, -46.25, 52.5, 46.25, (i * FloorHeight) + FloorHeight, ((110 - 52.5) * 0.086), ((46.25 * 2) * 0.08)
     
+    'Ceiling
+    Room(i).AddFloor GetTex("Marble3"), -110, -150, 110, -46.25, (i * FloorHeight) + (FloorHeight + 25) - 0.5, ((110 * 2) * 0.086), ((150 - 46.25) * 0.08)
+    Room(i).AddFloor GetTex("Marble3"), -110, 46.25, 110, 150, (i * FloorHeight) + (FloorHeight + 25) - 0.5, ((110 * 2) * 0.086), ((150 - 46.25) * 0.08)
+    Room(i).AddFloor GetTex("Marble3"), -12.5, -46.25, 12.5, 46.25, (i * FloorHeight) + (FloorHeight + 25) - 0.5, ((12.5 * 2) * 0.086), ((46.25 * 2) * 0.08)
+    Room(i).AddFloor GetTex("Marble3"), -110, -46.25, -52.5, 46.25, (i * FloorHeight) + (FloorHeight + 25) - 0.5, ((110 - 52.5) * 0.086), ((46.25 * 2) * 0.08)
+    Room(i).AddFloor GetTex("Marble3"), 110, -46.25, 52.5, 46.25, (i * FloorHeight) + (FloorHeight + 25) - 0.5, ((110 - 52.5) * 0.086), ((46.25 * 2) * 0.08)
+    
+    'Crawlspace bottom
+    Room(i).AddFloor GetTex("Granite"), -110, -150, 110, -46.25, (i * FloorHeight) + (FloorHeight + 25), ((110 * 2) * 0.086), ((150 - 46.25) * 0.08)
+    Room(i).AddFloor GetTex("Granite"), -110, 46.25, 110, 150, (i * FloorHeight) + (FloorHeight + 25), ((110 * 2) * 0.086), ((150 - 46.25) * 0.08)
+    Room(i).AddFloor GetTex("Granite"), -12.5, -46.25, 12.5, 46.25, (i * FloorHeight) + (FloorHeight + 25), ((12.5 * 2) * 0.086), ((46.25 * 2) * 0.08)
+    Room(i).AddFloor GetTex("Granite"), -110, -46.25, -52.5, 46.25, (i * FloorHeight) + (FloorHeight + 25), ((110 - 52.5) * 0.086), ((46.25 * 2) * 0.08)
+    Room(i).AddFloor GetTex("Granite"), 110, -46.25, 52.5, 46.25, (i * FloorHeight) + (FloorHeight + 25), ((110 - 52.5) * 0.086), ((46.25 * 2) * 0.08)
+    
+    'Crawlspace top
+    Room(i).AddFloor GetTex("BrickTexture"), -110, -150, 110, -46.25, (i * FloorHeight) + (FloorHeight + 24.9) + (FloorHeight - 25), ((110 * 2) * 0.086), ((150 - 46.25) * 0.08)
+    Room(i).AddFloor GetTex("BrickTexture"), -110, 46.25, 110, 150, (i * FloorHeight) + (FloorHeight + 24.9) + (FloorHeight - 25), ((110 * 2) * 0.086), ((150 - 46.25) * 0.08)
+    Room(i).AddFloor GetTex("BrickTexture"), -12.5, -46.25, 12.5, 46.25, (i * FloorHeight) + (FloorHeight + 24.9) + (FloorHeight - 25), ((12.5 * 2) * 0.086), ((46.25 * 2) * 0.08)
+    Room(i).AddFloor GetTex("BrickTexture"), -110, -46.25, -52.5, 46.25, (i * FloorHeight) + (FloorHeight + 24.9) + (FloorHeight - 25), ((110 - 52.5) * 0.086), ((46.25 * 2) * 0.08)
+    Room(i).AddFloor GetTex("BrickTexture"), 110, -46.25, 52.5, 46.25, (i * FloorHeight) + (FloorHeight + 24.9) + (FloorHeight - 25), ((110 - 52.5) * 0.086), ((46.25 * 2) * 0.08)
+    
+    'Crawlspace walls
+    Room(i).AddWall GetTex("BrickTexture"), -110, -150, 110, -150, (FloorHeight - 25), (i * FloorHeight) + FloorHeight + 25, ((110 * 2) * 0.086), ((FloorHeight - 25) * 0.08)
+    Room(i).AddWall GetTex("BrickTexture"), 110, -150, 110, 150, (FloorHeight - 25), (i * FloorHeight) + FloorHeight + 25, ((150 * 2) * 0.086), ((FloorHeight - 25) * 0.08)
+    Room(i).AddWall GetTex("BrickTexture"), 110, 150, -110, 150, (FloorHeight - 25), (i * FloorHeight) + FloorHeight + 25, ((110 * 2) * 0.086), ((FloorHeight - 25) * 0.08)
+    Room(i).AddWall GetTex("BrickTexture"), -110, 150, -110, -150, (FloorHeight - 25), (i * FloorHeight) + FloorHeight + 25, ((150 * 2) * 0.086), ((FloorHeight - 25) * 0.08)
+
     'Stairwell Walls
-    Stairs(i).AddWall GetTex("Concrete"), -12.5 - 0.5, -46.25 + 0.1, -12.5 - 0.5, -40.3, 75, (i * 25) + 25, ((46.25 - 40.3) * 0.086) * 4, 3 * 4
-    Stairs(i).AddWall GetTex("Concrete"), -12.5 - 0.5, -32.5, -12.5 - 0.5, -30, 75, (i * 25) + 25, (2.5 * 0.086) * 4, 3 * 4
-    Stairs(i).AddWall GetTex("Concrete"), -32.5 + 0.1, -46.25 + 0.1, -32.5 + 0.1, -30 - 1, 75, (i * 25) + 25, (16.25 * 0.086) * 4, 3 * 4
-    Stairs(i).AddWall GetTex("Concrete"), -12.5, -46.25 + 0.1, -32.5, -46.25 + 0.1, 75, (i * 25) + 25, (20 * 0.086) * 4, 3 * 4
-    Stairs(i).AddWall GetTex("Concrete"), -12.5, -30 - 1, -32.5, -30 - 1, 75, (i * 25) + 25, (20 * 0.086) * 4, 3 * 4
-    Stairs(i).AddWall GetTex("Concrete"), -12.5 - 6, -46.25 + 7.71, -12.5 - 16, -46.25 + 7.71, 75, (i * 25) + 25, (10 * 0.086) * 4, 3 * 4
-    Stairs(i).AddWall GetTex("Concrete"), -12.5 - 0.5, -40.3, -12.5 - 0.5, -30, 5.5, 19.5 + (i * 25) + 25, (10.3 * 0.086) * 4, 0.2 * 4
-    
-    Call DrawElevatorWalls(Int(i), 5, False, True, True, True, True, False, False, False, False, False, False)
+    Stairs(i).AddWall GetTex("Concrete"), -12.5 - 0.5, -46.25 + 0.1, -12.5 - 0.5, -40.3, (FloorHeight), (i * FloorHeight) + FloorHeight, ((46.25 - 40.3) * 0.086), ((FloorHeight) * 0.086)
+    Stairs(i).AddWall GetTex("Concrete"), -12.5 - 0.5, -32.5, -12.5 - 0.5, -30, (FloorHeight), (i * FloorHeight) + FloorHeight, (2.5 * 0.086), ((FloorHeight) * 0.086)
+    Stairs(i).AddWall GetTex("Concrete"), -32.5 + 0.1, -46.25 + 0.1, -32.5 + 0.1, -30 - 1, (FloorHeight), (i * FloorHeight) + FloorHeight, (16.25 * 0.086), ((FloorHeight) * 0.086)
+    Stairs(i).AddWall GetTex("Concrete"), -12.5, -46.25 + 0.1, -32.5, -46.25 + 0.1, (FloorHeight), (i * FloorHeight) + FloorHeight, (20 * 0.086), ((FloorHeight) * 0.086)
+    Stairs(i).AddWall GetTex("Concrete"), -12.5, -30 - 1, -32.5, -30 - 1, (FloorHeight), (i * FloorHeight) + FloorHeight, (20 * 0.086), ((FloorHeight) * 0.086)
+    Stairs(i).AddWall GetTex("Concrete"), -12.5 - 6, -46.25 + 7.71, -12.5 - 16, -46.25 + 7.71, (FloorHeight), (i * FloorHeight) + FloorHeight, (10 * 0.086), ((FloorHeight) * 0.086)
+    Stairs(i).AddWall GetTex("Concrete"), -12.5 - 0.5, -40.3, -12.5 - 0.5, -30, (FloorHeight - 19.5), 19.5 + (i * FloorHeight) + FloorHeight, (10.3 * 0.086), ((FloorHeight - 19.5) * 0.08)
        
-'Form1.Print "done"
-    'External.AddFloor GetTex("BrickTexture"), -85, -150, -60, 150, (135 * 25) + 25, 10, 10
-    'External.AddFloor GetTex("BrickTexture"), 85, -150, 60, 150, (135 * 25) + 25, 10, 10
-    
+    Call DrawElevatorWalls(Int(i), 2, 1, True, False, True, True, True, True, True, True, True, True, True, True)
+    Call DrawElevatorWalls(Int(i), 2, 2, True, False, True, True, True, True, True, True, True, True, True, True)
 
-'Form1.Print "Processing Floors 135 to 137";
-    'Floors 135 to 137 (minus 6 feet)
-    
-    'Floor 135
+
+'Floor 115
+    i = 115
+    DoEvents
+    Form1.Label2.Caption = "Processing Floors 80, 115 to 117 and 130 to 138... " + Str$(Int(((i - 24) / (138 - 24)) * 100)) + "%"
     
-    'For i = 135 To 137
-    Form1.Print ".";
-    i = 135
-    'Mesh.AddFloor GetTex("Granite"), -60, -150, 60, 150, (I * 25) + 25, 10, 10
-    Room(i).AddFloor GetTex("Granite"), -60, -150, 60, -46.25, (i * 25) + 25, 8, 3.8
-    Room(i).AddFloor GetTex("Granite"), -60, -15.42, 60, 150, (i * 25) + 25, 8, 8.6
-    Room(i).AddFloor GetTex("Granite"), -60, -46.25, -32.5, -15.42, (i * 25) + 25, 1.4, 2.4
-    Room(i).AddFloor GetTex("Granite"), 32.5, -46.25, 60, -15.42, (i * 25) + 25, 1.4, 2.4
-    Room(i).AddFloor GetTex("Granite"), -12.5, -46.25, 12.5, -15.42, (i * 25) + 25, 2, 2.4
-    
-    Room(i).AddFloor GetTex("Marble3"), -60, -150, 60, -46.25, (i * 25) + 49.5, 8, 3.8
-    Room(i).AddFloor GetTex("Marble3"), -60, -15.42, 60, 0, (i * 25) + 49.5, 8, 1
-    Room(i).AddFloor GetTex("Marble3"), -60, -46.25, -32.5, -15.42, (i * 25) + 49.5, 1.4, 2.4
-    Room(i).AddFloor GetTex("Marble3"), 32.5, -46.25, 60, -15.42, (i * 25) + 49.5, 1.4, 2.4
-    Room(i).AddFloor GetTex("Marble3"), -12.5, -46.25, 12.5, -15.42, (i * 25) + 49.5, 2, 2.4
-    
-    'Fake Stairway Doors for other floors
-    Room(i).AddWall GetTex("StairsDoor"), -12.8, -36.4 - 3.9, -12.8, -36.4 + 4.3, 19.5, (i * 25) + 25 + 25, -1, 1
+    'Floor
+    Room(i).AddFloor GetTex("Granite"), -110, -150, 110, -46.25, (i * FloorHeight) + FloorHeight, ((110 * 2) * 0.086), ((150 - 46.25) * 0.08)
+    Room(i).AddFloor GetTex("Granite"), -110, 46.25, 110, 150, (i * FloorHeight) + FloorHeight, ((110 * 2) * 0.086), ((150 - 46.25) * 0.08)
+    Room(i).AddFloor GetTex("Granite"), -12.5, -46.25, 12.5, 46.25, (i * FloorHeight) + FloorHeight, ((12.5 * 2) * 0.086), ((46.25 * 2) * 0.08)
+    Room(i).AddFloor GetTex("Granite"), -110, -46.25, -52.5, 46.25, (i * FloorHeight) + FloorHeight, ((110 - 52.5) * 0.086), ((46.25 * 2) * 0.08)
+    Room(i).AddFloor GetTex("Granite"), 110, -46.25, 52.5, 46.25, (i * FloorHeight) + FloorHeight, ((110 - 52.5) * 0.086), ((46.25 * 2) * 0.08)
     
-    'Stairwell Walls
-    Stairs(i).AddWall GetTex("Concrete"), -12.5 - 0.5, -46.25 + 0.1, -12.5 - 0.5, -40.3, 75, (i * 25) + 25, ((46.25 - 40.3) * 0.086) * 4, 3 * 4
-    Stairs(i).AddWall GetTex("Concrete"), -12.5 - 0.5, -32.5, -12.5 - 0.5, -30, 75, (i * 25) + 25, (2.5 * 0.086) * 4, 3 * 4
-    Stairs(i).AddWall GetTex("Concrete"), -32.5 + 0.1, -46.25 + 0.1, -32.5 + 0.1, -30 - 1, 75, (i * 25) + 25, (16.25 * 0.086) * 4, 3 * 4
-    Stairs(i).AddWall GetTex("Concrete"), -12.5, -46.25 + 0.1, -32.5, -46.25 + 0.1, 75, (i * 25) + 25, (20 * 0.086) * 4, 3 * 4
-    Stairs(i).AddWall GetTex("Concrete"), -12.5, -30 - 1, -32.5, -30 - 1, 75, (i * 25) + 25, (20 * 0.086) * 4, 3 * 4
-    Stairs(i).AddWall GetTex("Concrete"), -12.5 - 6, -46.25 + 7.71, -12.5 - 16, -46.25 + 7.71, 75, (i * 25) + 25, (10 * 0.086) * 4, 3 * 4
-    Stairs(i).AddWall GetTex("Concrete"), -12.5 - 0.5, -40.3, -12.5 - 0.5, -30, 5.5, 19.5 + (i * 25) + 25, (10.3 * 0.086) * 4, 0.2 * 4
-        
-    Call DrawElevatorWalls(Int(i), 6, False, True, True, False, False, False, False, False, False, False, False)
-         
+    'Ceiling
+    Room(i).AddFloor GetTex("Marble3"), -110, -150, 110, -46.25, (i * FloorHeight) + (FloorHeight + 25) - 0.5, ((110 * 2) * 0.086), ((150 - 46.25) * 0.08)
+    Room(i).AddFloor GetTex("Marble3"), -110, 46.25, 110, 150, (i * FloorHeight) + (FloorHeight + 25) - 0.5, ((110 * 2) * 0.086), ((150 - 46.25) * 0.08)
+    Room(i).AddFloor GetTex("Marble3"), -12.5, -46.25, 12.5, 46.25, (i * FloorHeight) + (FloorHeight + 25) - 0.5, ((12.5 * 2) * 0.086), ((46.25 * 2) * 0.08)
+    Room(i).AddFloor GetTex("Marble3"), -110, -46.25, -52.5, 46.25, (i * FloorHeight) + (FloorHeight + 25) - 0.5, ((110 - 52.5) * 0.086), ((46.25 * 2) * 0.08)
+    Room(i).AddFloor GetTex("Marble3"), 110, -46.25, 52.5, 46.25, (i * FloorHeight) + (FloorHeight + 25) - 0.5, ((110 - 52.5) * 0.086), ((46.25 * 2) * 0.08)
+    
+    'Crawlspace bottom
+    Room(i).AddFloor GetTex("Granite"), -110, -150, 110, -46.25, (i * FloorHeight) + (FloorHeight + 25), ((110 * 2) * 0.086), ((150 - 46.25) * 0.08)
+    Room(i).AddFloor GetTex("Granite"), -110, 46.25, 110, 150, (i * FloorHeight) + (FloorHeight + 25), ((110 * 2) * 0.086), ((150 - 46.25) * 0.08)
+    Room(i).AddFloor GetTex("Granite"), -12.5, -46.25, 12.5, 46.25, (i * FloorHeight) + (FloorHeight + 25), ((12.5 * 2) * 0.086), ((46.25 * 2) * 0.08)
+    Room(i).AddFloor GetTex("Granite"), -110, -46.25, -52.5, 46.25, (i * FloorHeight) + (FloorHeight + 25), ((110 - 52.5) * 0.086), ((46.25 * 2) * 0.08)
+    Room(i).AddFloor GetTex("Granite"), 110, -46.25, 52.5, 46.25, (i * FloorHeight) + (FloorHeight + 25), ((110 - 52.5) * 0.086), ((46.25 * 2) * 0.08)
+    
+    'Crawlspace top
+    Room(i).AddFloor GetTex("BrickTexture"), -110, -150, 110, -46.25, (i * FloorHeight) + (FloorHeight + 24.9) + (FloorHeight - 25), ((110 * 2) * 0.086), ((150 - 46.25) * 0.08)
+    Room(i).AddFloor GetTex("BrickTexture"), -110, 46.25, 110, 150, (i * FloorHeight) + (FloorHeight + 24.9) + (FloorHeight - 25), ((110 * 2) * 0.086), ((150 - 46.25) * 0.08)
+    Room(i).AddFloor GetTex("BrickTexture"), -12.5, -46.25, 12.5, 46.25, (i * FloorHeight) + (FloorHeight + 24.9) + (FloorHeight - 25), ((12.5 * 2) * 0.086), ((46.25 * 2) * 0.08)
+    Room(i).AddFloor GetTex("BrickTexture"), -110, -46.25, -52.5, 46.25, (i * FloorHeight) + (FloorHeight + 24.9) + (FloorHeight - 25), ((110 - 52.5) * 0.086), ((46.25 * 2) * 0.08)
+    Room(i).AddFloor GetTex("BrickTexture"), 110, -46.25, 52.5, 46.25, (i * FloorHeight) + (FloorHeight + 24.9) + (FloorHeight - 25), ((110 - 52.5) * 0.086), ((46.25 * 2) * 0.08)
+    
+    'Crawlspace walls
+    Room(i).AddWall GetTex("BrickTexture"), -110, -150, 110, -150, (FloorHeight - 25), (i * FloorHeight) + FloorHeight + 25, ((110 * 2) * 0.086), ((FloorHeight - 25) * 0.08)
+    Room(i).AddWall GetTex("BrickTexture"), 110, -150, 110, 150, (FloorHeight - 25), (i * FloorHeight) + FloorHeight + 25, ((150 * 2) * 0.086), ((FloorHeight - 25) * 0.08)
+    Room(i).AddWall GetTex("BrickTexture"), 110, 150, -110, 150, (FloorHeight - 25), (i * FloorHeight) + FloorHeight + 25, ((110 * 2) * 0.086), ((FloorHeight - 25) * 0.08)
+    Room(i).AddWall GetTex("BrickTexture"), -110, 150, -110, -150, (FloorHeight - 25), (i * FloorHeight) + FloorHeight + 25, ((150 * 2) * 0.086), ((FloorHeight - 25) * 0.08)
 
-    'Floor 136
-    Form1.Print ".";
-    i = 136
-    Room(i).AddFloor GetTex("Granite"), -60, -150, 60, -46.25, (i * 25) + 25, 8, 3.8
-    Room(i).AddFloor GetTex("Granite"), -60, -15.42, 60, 0, (i * 25) + 25, 8, 1
-    Room(i).AddFloor GetTex("Granite"), -60, -46.25, -32.5, -15.42, (i * 25) + 25, 1.4, 2.4
-    Room(i).AddFloor GetTex("Granite"), 32.5, -46.25, 60, -15.42, (i * 25) + 25, 1.4, 2.4
-    Room(i).AddFloor GetTex("Granite"), -12.5, -46.25, 12.5, -15.42, (i * 25) + 25, 2, 2.4
+    'Stairwell Walls
+    Stairs(i).AddWall GetTex("Concrete"), -12.5 - 0.5, -46.25 + 0.1, -12.5 - 0.5, -40.3, (FloorHeight), (i * FloorHeight) + FloorHeight, ((46.25 - 40.3) * 0.086), ((FloorHeight) * 0.086)
+    Stairs(i).AddWall GetTex("Concrete"), -12.5 - 0.5, -32.5, -12.5 - 0.5, -30, (FloorHeight), (i * FloorHeight) + FloorHeight, (2.5 * 0.086), ((FloorHeight) * 0.086)
+    Stairs(i).AddWall GetTex("Concrete"), -32.5 + 0.1, -46.25 + 0.1, -32.5 + 0.1, -30 - 1, (FloorHeight), (i * FloorHeight) + FloorHeight, (16.25 * 0.086), ((FloorHeight) * 0.086)
+    Stairs(i).AddWall GetTex("Concrete"), -12.5, -46.25 + 0.1, -32.5, -46.25 + 0.1, (FloorHeight), (i * FloorHeight) + FloorHeight, (20 * 0.086), ((FloorHeight) * 0.086)
+    Stairs(i).AddWall GetTex("Concrete"), -12.5, -30 - 1, -32.5, -30 - 1, (FloorHeight), (i * FloorHeight) + FloorHeight, (20 * 0.086), ((FloorHeight) * 0.086)
+    Stairs(i).AddWall GetTex("Concrete"), -12.5 - 6, -46.25 + 7.71, -12.5 - 16, -46.25 + 7.71, (FloorHeight), (i * FloorHeight) + FloorHeight, (10 * 0.086), ((FloorHeight) * 0.086)
+    Stairs(i).AddWall GetTex("Concrete"), -12.5 - 0.5, -40.3, -12.5 - 0.5, -30, (FloorHeight - 19.5), 19.5 + (i * FloorHeight) + FloorHeight, (10.3 * 0.086), ((FloorHeight - 19.5) * 0.08)
+       
+    Call DrawElevatorWalls(Int(i), 2, 1, True, False, True, False, False, False, False, False, False, False, False, False)
+    Call DrawElevatorWalls(Int(i), 2, 2, True, False, True, True, False, False, False, False, False, False, False, False)
+    
     
-    Room(i).AddFloor GetTex("Marble3"), -60, -150, 60, -46.25, (i * 25) + 49.5, 8, 3.8
-    Room(i).AddFloor GetTex("Marble3"), -60, -15.42, 60, 150, (i * 25) + 49.5, 8, 8.6
-    Room(i).AddFloor GetTex("Marble3"), -60, -46.25, -32.5, -15.42, (i * 25) + 49.5, 1.4, 2.4
-    Room(i).AddFloor GetTex("Marble3"), 32.5, -46.25, 60, -15.42, (i * 25) + 49.5, 1.4, 2.4
-    Room(i).AddFloor GetTex("Marble3"), -12.5, -46.25, 12.5, -15.42, (i * 25) + 49.5, 2, 2.4
+'Floor 116
+    i = 116
+    DoEvents
+    Form1.Label2.Caption = "Processing Floors 80, 115 to 117 and 130 to 138... " + Str$(Int(((i - 24) / (138 - 24)) * 100)) + "%"
     
-    'Fake Stairway Doors for other floors
-    Room(i).AddWall GetTex("StairsDoor"), -12.8, -36.4 - 3.9, -12.8, -36.4 + 4.3, 19.5, (i * 25) + 25 + 25, -1, 1
+    'Floor
+    Room(i).AddFloor GetTex("Granite"), -110, -150, 110, -46.25, (i * FloorHeight) + FloorHeight, ((110 * 2) * 0.086), ((150 - 46.25) * 0.08)
+    Room(i).AddFloor GetTex("Granite"), -110, 46.25, 110, 150, (i * FloorHeight) + FloorHeight, ((110 * 2) * 0.086), ((150 - 46.25) * 0.08)
+    Room(i).AddFloor GetTex("Granite"), -12.5, -46.25, 12.5, 46.25, (i * FloorHeight) + FloorHeight, ((12.5 * 2) * 0.086), ((46.25 * 2) * 0.08)
+    Room(i).AddFloor GetTex("Granite"), -110, -46.25, -52.5, 46.25, (i * FloorHeight) + FloorHeight, ((110 - 52.5) * 0.086), ((46.25 * 2) * 0.08)
+    Room(i).AddFloor GetTex("Granite"), 110, -46.25, 52.5, 46.25, (i * FloorHeight) + FloorHeight, ((110 - 52.5) * 0.086), ((46.25 * 2) * 0.08)
     
+    'Ceiling
+    Room(i).AddFloor GetTex("Marble3"), -110, -150, 110, -46.25, (i * FloorHeight) + (FloorHeight + 25) - 0.5, ((110 * 2) * 0.086), ((150 - 46.25) * 0.08)
+    Room(i).AddFloor GetTex("Marble3"), -110, 46.25, 110, 150, (i * FloorHeight) + (FloorHeight + 25) - 0.5, ((110 * 2) * 0.086), ((150 - 46.25) * 0.08)
+    Room(i).AddFloor GetTex("Marble3"), -12.5, -46.25, 12.5, 46.25, (i * FloorHeight) + (FloorHeight + 25) - 0.5, ((12.5 * 2) * 0.086), ((46.25 * 2) * 0.08)
+    Room(i).AddFloor GetTex("Marble3"), -110, -46.25, -52.5, 46.25, (i * FloorHeight) + (FloorHeight + 25) - 0.5, ((110 - 52.5) * 0.086), ((46.25 * 2) * 0.08)
+    Room(i).AddFloor GetTex("Marble3"), 110, -46.25, 52.5, 46.25, (i * FloorHeight) + (FloorHeight + 25) - 0.5, ((110 - 52.5) * 0.086), ((46.25 * 2) * 0.08)
+    
+    'Crawlspace bottom
+    Room(i).AddFloor GetTex("Granite"), -110, -150, 110, -46.25, (i * FloorHeight) + (FloorHeight + 25), ((110 * 2) * 0.086), ((150 - 46.25) * 0.08)
+    Room(i).AddFloor GetTex("Granite"), -110, 46.25, 110, 150, (i * FloorHeight) + (FloorHeight + 25), ((110 * 2) * 0.086), ((150 - 46.25) * 0.08)
+    Room(i).AddFloor GetTex("Granite"), -12.5, -46.25, 12.5, 46.25, (i * FloorHeight) + (FloorHeight + 25), ((12.5 * 2) * 0.086), ((46.25 * 2) * 0.08)
+    Room(i).AddFloor GetTex("Granite"), -110, -46.25, -52.5, 46.25, (i * FloorHeight) + (FloorHeight + 25), ((110 - 52.5) * 0.086), ((46.25 * 2) * 0.08)
+    Room(i).AddFloor GetTex("Granite"), 110, -46.25, 52.5, 46.25, (i * FloorHeight) + (FloorHeight + 25), ((110 - 52.5) * 0.086), ((46.25 * 2) * 0.08)
+    
+    'Crawlspace top
+    Room(i).AddFloor GetTex("BrickTexture"), -110, -150, 110, -46.25, (i * FloorHeight) + (FloorHeight + 24.9) + (FloorHeight - 25), ((110 * 2) * 0.086), ((150 - 46.25) * 0.08)
+    Room(i).AddFloor GetTex("BrickTexture"), -110, 46.25, 110, 150, (i * FloorHeight) + (FloorHeight + 24.9) + (FloorHeight - 25), ((110 * 2) * 0.086), ((150 - 46.25) * 0.08)
+    Room(i).AddFloor GetTex("BrickTexture"), -12.5, -46.25, 12.5, 46.25, (i * FloorHeight) + (FloorHeight + 24.9) + (FloorHeight - 25), ((12.5 * 2) * 0.086), ((46.25 * 2) * 0.08)
+    Room(i).AddFloor GetTex("BrickTexture"), -110, -46.25, -52.5, 46.25, (i * FloorHeight) + (FloorHeight + 24.9) + (FloorHeight - 25), ((110 - 52.5) * 0.086), ((46.25 * 2) * 0.08)
+    Room(i).AddFloor GetTex("BrickTexture"), 110, -46.25, 52.5, 46.25, (i * FloorHeight) + (FloorHeight + 24.9) + (FloorHeight - 25), ((110 - 52.5) * 0.086), ((46.25 * 2) * 0.08)
+    
+    'Crawlspace walls
+    Room(i).AddWall GetTex("BrickTexture"), -110, -150, 110, -150, (FloorHeight - 25), (i * FloorHeight) + FloorHeight + 25, ((110 * 2) * 0.086), ((FloorHeight - 25) * 0.08)
+    Room(i).AddWall GetTex("BrickTexture"), 110, -150, 110, 150, (FloorHeight - 25), (i * FloorHeight) + FloorHeight + 25, ((150 * 2) * 0.086), ((FloorHeight - 25) * 0.08)
+    Room(i).AddWall GetTex("BrickTexture"), 110, 150, -110, 150, (FloorHeight - 25), (i * FloorHeight) + FloorHeight + 25, ((110 * 2) * 0.086), ((FloorHeight - 25) * 0.08)
+    Room(i).AddWall GetTex("BrickTexture"), -110, 150, -110, -150, (FloorHeight - 25), (i * FloorHeight) + FloorHeight + 25, ((150 * 2) * 0.086), ((FloorHeight - 25) * 0.08)
+
     'Stairwell Walls
-    Stairs(i).AddWall GetTex("Concrete"), -12.5 - 0.5, -46.25 + 0.1, -12.5 - 0.5, -40.3, 75, (i * 25) + 25, ((46.25 - 40.3) * 0.086) * 4, 3 * 4
-    Stairs(i).AddWall GetTex("Concrete"), -12.5 - 0.5, -32.5, -12.5 - 0.5, -30, 75, (i * 25) + 25, (2.5 * 0.086) * 4, 3 * 4
-    Stairs(i).AddWall GetTex("Concrete"), -32.5 + 0.1, -46.25 + 0.1, -32.5 + 0.1, -30 - 1, 75, (i * 25) + 25, (16.25 * 0.086) * 4, 3 * 4
-    Stairs(i).AddWall GetTex("Concrete"), -12.5, -46.25 + 0.1, -32.5, -46.25 + 0.1, 75, (i * 25) + 25, (20 * 0.086) * 4, 3 * 4
-    Stairs(i).AddWall GetTex("Concrete"), -12.5, -30 - 1, -32.5, -30 - 1, 75, (i * 25) + 25, (20 * 0.086) * 4, 3 * 4
-    Stairs(i).AddWall GetTex("Concrete"), -12.5 - 6, -46.25 + 7.71, -12.5 - 16, -46.25 + 7.71, (i * 25) + 25, 0, (10 * 0.086) * 4, 3 * 4
-    Stairs(i).AddWall GetTex("Concrete"), -12.5 - 0.5, -40.3, -12.5 - 0.5, -30, 5.5, 19.5 + (i * 25) + 25, (10.3 * 0.086) * 4, 0.2 * 4
-        
-    Call DrawElevatorWalls(Int(i), 6, False, True, True, False, False, False, False, False, False, False, False)
-   
+    Stairs(i).AddWall GetTex("Concrete"), -12.5 - 0.5, -46.25 + 0.1, -12.5 - 0.5, -40.3, (FloorHeight), (i * FloorHeight) + FloorHeight, ((46.25 - 40.3) * 0.086), ((FloorHeight) * 0.086)
+    Stairs(i).AddWall GetTex("Concrete"), -12.5 - 0.5, -32.5, -12.5 - 0.5, -30, (FloorHeight), (i * FloorHeight) + FloorHeight, (2.5 * 0.086), ((FloorHeight) * 0.086)
+    Stairs(i).AddWall GetTex("Concrete"), -32.5 + 0.1, -46.25 + 0.1, -32.5 + 0.1, -30 - 1, (FloorHeight), (i * FloorHeight) + FloorHeight, (16.25 * 0.086), ((FloorHeight) * 0.086)
+    Stairs(i).AddWall GetTex("Concrete"), -12.5, -46.25 + 0.1, -32.5, -46.25 + 0.1, (FloorHeight), (i * FloorHeight) + FloorHeight, (20 * 0.086), ((FloorHeight) * 0.086)
+    Stairs(i).AddWall GetTex("Concrete"), -12.5, -30 - 1, -32.5, -30 - 1, (FloorHeight), (i * FloorHeight) + FloorHeight, (20 * 0.086), ((FloorHeight) * 0.086)
+    Stairs(i).AddWall GetTex("Concrete"), -12.5 - 6, -46.25 + 7.71, -12.5 - 16, -46.25 + 7.71, (FloorHeight), (i * FloorHeight) + FloorHeight, (10 * 0.086), ((FloorHeight) * 0.086)
+    Stairs(i).AddWall GetTex("Concrete"), -12.5 - 0.5, -40.3, -12.5 - 0.5, -30, (FloorHeight - 19.5), 19.5 + (i * FloorHeight) + FloorHeight, (10.3 * 0.086), ((FloorHeight - 19.5) * 0.08)
+       
+    Call DrawElevatorWalls(Int(i), 2, 1, True, False, True, False, False, False, False, False, False, False, False, False)
+    Call DrawElevatorWalls(Int(i), 2, 2, True, False, True, True, False, False, False, False, False, False, False, False)
+  
+'Floor 117
+    i = 117
+    DoEvents
+    Form1.Label2.Caption = "Processing Floors 80, 115 to 117 and 130 to 138... " + Str$(Int(((i - 24) / (138 - 24)) * 100)) + "%"
     
-    'Floor 137
-    Form1.Print ".";
-    i = 137
-    'Mesh.AddFloor GetTex("Granite"), -60, -150, 60, 150, (I * 25) + 25, 10, 10
-    Room(i).AddFloor GetTex("BrickTexture"), -60, -150, 60, -46.25, (i * 25) + 25, 8, 3.8
-    Room(i).AddFloor GetTex("BrickTexture"), -60, -15.42, 60, 150, (i * 25) + 25, 8, 8.6
-    Room(i).AddFloor GetTex("BrickTexture"), -60, -46.25, -32.5, -15.42, (i * 25) + 25, 1.4, 2.4
-    Room(i).AddFloor GetTex("BrickTexture"), 32.5, -46.25, 60, -15.42, (i * 25) + 25, 1.4, 2.4
-    Room(i).AddFloor GetTex("BrickTexture"), -12.5, -46.25, 12.5, -15.42, (i * 25) + 25, 2, 2.4
-    
-    Room(i).AddFloor GetTex("BrickTexture"), -60, -150, 60, -46.25, (i * 25) + 49.5, 8, 3.8
-    Room(i).AddFloor GetTex("BrickTexture"), -60, -15.42, 60, 150, (i * 25) + 49.5, 8, 8.6
-    Room(i).AddFloor GetTex("BrickTexture"), -60, -46.25, -32.5, -15.42, (i * 25) + 49.5, 1.4, 2.4
-    Room(i).AddFloor GetTex("BrickTexture"), 12.5, -46.25, 60, -15.42, (i * 25) + 49.5, 1.4, 2.4
-    Room(i).AddFloor GetTex("BrickTexture"), -12.5, -46.25, 12.5, -15.42, (i * 25) + 49.5, 2, 2.4
-    
-    Room(i).AddWall GetTex("BrickTexture"), -60 + 0.1, -150 + 0.1, 60 - 0.1, -150 + 0.1, 25, (i * 25) + 25, 3, 1
-    Room(i).AddWall GetTex("BrickTexture"), 60 - 0.1, -150 + 0.1, 60 - 0.1, 150 - 0.1, 25, (i * 25) + 25, 7, 1
-    Room(i).AddWall GetTex("BrickTexture"), 60 - 0.1, 150 - 0.1, -60 + 0.1, 150 - 0.1, 25, (i * 25) + 25, 3, 1
-    Room(i).AddWall GetTex("BrickTexture"), -60 + 0.1, 150 - 0.1, -60 + 0.1, -150 + 0.1, 25, (i * 25) + 25, 7, 1
-    
-    'Fake Stairway Doors for other floors
-    Room(i).AddWall GetTex("StairsDoor"), -12.8, -36.4 - 3.9, -12.8, -36.4 + 4.3, 19.5, (i * 25) + 25 + 25, -1, 1
+    'Floor
+    Room(i).AddFloor GetTex("Granite"), -110, -150, 110, -46.25, (i * FloorHeight) + FloorHeight, ((110 * 2) * 0.086), ((150 - 46.25) * 0.08)
+    Room(i).AddFloor GetTex("Granite"), -110, 46.25, 110, 150, (i * FloorHeight) + FloorHeight, ((110 * 2) * 0.086), ((150 - 46.25) * 0.08)
+    Room(i).AddFloor GetTex("Granite"), -12.5, -46.25, 12.5, 46.25, (i * FloorHeight) + FloorHeight, ((12.5 * 2) * 0.086), ((46.25 * 2) * 0.08)
+    Room(i).AddFloor GetTex("Granite"), -110, -46.25, -52.5, 46.25, (i * FloorHeight) + FloorHeight, ((110 - 52.5) * 0.086), ((46.25 * 2) * 0.08)
+    Room(i).AddFloor GetTex("Granite"), 110, -46.25, 52.5, 46.25, (i * FloorHeight) + FloorHeight, ((110 - 52.5) * 0.086), ((46.25 * 2) * 0.08)
     
-    'Stairwell Walls
-    Stairs(i).AddWall GetTex("Concrete"), -12.5 - 0.5, -46.25 + 0.1, -12.5 - 0.5, -40.3, 50, (i * 25) + 25, ((46.25 - 40.3) * 0.086) * 4, 3 * 4
-    Stairs(i).AddWall GetTex("Concrete"), -12.5 - 0.5, -32.5, -12.5 - 0.5, -30, 50, (i * 25) + 25, (2.5 * 0.086) * 4, 3 * 4
-    Stairs(i).AddWall GetTex("Concrete"), -32.5 + 0.1, -46.25 + 0.1, -32.5 + 0.1, -30 - 1, 50, (i * 25) + 25, (16.25 * 0.086) * 4, 3 * 4
-    Stairs(i).AddWall GetTex("Concrete"), -12.5, -46.25 + 0.1, -32.5, -46.25 + 0.1, 50, (i * 25) + 25, (20 * 0.086) * 4, 3 * 4
-    Stairs(i).AddWall GetTex("Concrete"), -12.5, -30 - 1, -32.5, -30 - 1, 50, (i * 25) + 25, (20 * 0.086) * 4, 3 * 4
-    Stairs(i).AddWall GetTex("Concrete"), -12.5 - 6, -46.25 + 7.71, -12.5 - 16, -46.25 + 7.71, 50, (i * 25) + 25, (10 * 0.086) * 4, 3 * 4
-    Stairs(i).AddWall GetTex("Concrete"), -12.5 - 0.5, -40.3, -12.5 - 0.5, -30, 5.5, 19.5 + (i * 25) + 25, (10.3 * 0.086) * 4, 0.2 * 4
-        
-    Call DrawElevatorWalls(Int(i), 7, False, True, False, False, False, False, False, False, False, False, False)
-        
-'Form1.Print "done"
+    'Ceiling
+    Room(i).AddFloor GetTex("Marble3"), -110, -150, 110, -46.25, (i * FloorHeight) + (FloorHeight + 25) - 0.5, ((110 * 2) * 0.086), ((150 - 46.25) * 0.08)
+    Room(i).AddFloor GetTex("Marble3"), -110, 46.25, 110, 150, (i * FloorHeight) + (FloorHeight + 25) - 0.5, ((110 * 2) * 0.086), ((150 - 46.25) * 0.08)
+    Room(i).AddFloor GetTex("Marble3"), -12.5, -46.25, 12.5, 46.25, (i * FloorHeight) + (FloorHeight + 25) - 0.5, ((12.5 * 2) * 0.086), ((46.25 * 2) * 0.08)
+    Room(i).AddFloor GetTex("Marble3"), -110, -46.25, -52.5, 46.25, (i * FloorHeight) + (FloorHeight + 25) - 0.5, ((110 - 52.5) * 0.086), ((46.25 * 2) * 0.08)
+    Room(i).AddFloor GetTex("Marble3"), 110, -46.25, 52.5, 46.25, (i * FloorHeight) + (FloorHeight + 25) - 0.5, ((110 - 52.5) * 0.086), ((46.25 * 2) * 0.08)
+    
+    'Crawlspace bottom
+    Room(i).AddFloor GetTex("Granite"), -110, -150, 110, -46.25, (i * FloorHeight) + (FloorHeight + 25), ((110 * 2) * 0.086), ((150 - 46.25) * 0.08)
+    Room(i).AddFloor GetTex("Granite"), -110, 46.25, 110, 150, (i * FloorHeight) + (FloorHeight + 25), ((110 * 2) * 0.086), ((150 - 46.25) * 0.08)
+    Room(i).AddFloor GetTex("Granite"), -12.5, -46.25, 12.5, 46.25, (i * FloorHeight) + (FloorHeight + 25), ((12.5 * 2) * 0.086), ((46.25 * 2) * 0.08)
+    Room(i).AddFloor GetTex("Granite"), -110, -46.25, -52.5, 46.25, (i * FloorHeight) + (FloorHeight + 25), ((110 - 52.5) * 0.086), ((46.25 * 2) * 0.08)
+    Room(i).AddFloor GetTex("Granite"), 110, -46.25, 52.5, 46.25, (i * FloorHeight) + (FloorHeight + 25), ((110 - 52.5) * 0.086), ((46.25 * 2) * 0.08)
+    
+    'Crawlspace top
+    Room(i).AddFloor GetTex("BrickTexture"), -110, -150, 110, -46.25, (i * FloorHeight) + (FloorHeight + 24.9) + (FloorHeight - 25), ((110 * 2) * 0.086), ((150 - 46.25) * 0.08)
+    Room(i).AddFloor GetTex("BrickTexture"), -110, 46.25, 110, 150, (i * FloorHeight) + (FloorHeight + 24.9) + (FloorHeight - 25), ((110 * 2) * 0.086), ((150 - 46.25) * 0.08)
+    Room(i).AddFloor GetTex("BrickTexture"), -12.5, -46.25, 12.5, 46.25, (i * FloorHeight) + (FloorHeight + 24.9) + (FloorHeight - 25), ((12.5 * 2) * 0.086), ((46.25 * 2) * 0.08)
+    Room(i).AddFloor GetTex("BrickTexture"), -110, -46.25, -52.5, 46.25, (i * FloorHeight) + (FloorHeight + 24.9) + (FloorHeight - 25), ((110 - 52.5) * 0.086), ((46.25 * 2) * 0.08)
+    Room(i).AddFloor GetTex("BrickTexture"), 110, -46.25, 52.5, 46.25, (i * FloorHeight) + (FloorHeight + 24.9) + (FloorHeight - 25), ((110 - 52.5) * 0.086), ((46.25 * 2) * 0.08)
+    
+    'Crawlspace walls
+    Room(i).AddWall GetTex("BrickTexture"), -110, -150, 110, -150, (FloorHeight - 25), (i * FloorHeight) + FloorHeight + 25, ((110 * 2) * 0.086), ((FloorHeight - 25) * 0.08)
+    Room(i).AddWall GetTex("BrickTexture"), 110, -150, 110, 150, (FloorHeight - 25), (i * FloorHeight) + FloorHeight + 25, ((150 * 2) * 0.086), ((FloorHeight - 25) * 0.08)
+    Room(i).AddWall GetTex("BrickTexture"), 110, 150, -110, 150, (FloorHeight - 25), (i * FloorHeight) + FloorHeight + 25, ((110 * 2) * 0.086), ((FloorHeight - 25) * 0.08)
+    Room(i).AddWall GetTex("BrickTexture"), -110, 150, -110, -150, (FloorHeight - 25), (i * FloorHeight) + FloorHeight + 25, ((150 * 2) * 0.086), ((FloorHeight - 25) * 0.08)
 
+    'Stairwell Walls
+    Stairs(i).AddWall GetTex("Concrete"), -12.5 - 0.5, -46.25 + 0.1, -12.5 - 0.5, -40.3, (FloorHeight), (i * FloorHeight) + FloorHeight, ((46.25 - 40.3) * 0.086), ((FloorHeight) * 0.086)
+    Stairs(i).AddWall GetTex("Concrete"), -12.5 - 0.5, -32.5, -12.5 - 0.5, -30, (FloorHeight), (i * FloorHeight) + FloorHeight, (2.5 * 0.086), ((FloorHeight) * 0.086)
+    Stairs(i).AddWall GetTex("Concrete"), -32.5 + 0.1, -46.25 + 0.1, -32.5 + 0.1, -30 - 1, (FloorHeight), (i * FloorHeight) + FloorHeight, (16.25 * 0.086), ((FloorHeight) * 0.086)
+    Stairs(i).AddWall GetTex("Concrete"), -12.5, -46.25 + 0.1, -32.5, -46.25 + 0.1, (FloorHeight), (i * FloorHeight) + FloorHeight, (20 * 0.086), ((FloorHeight) * 0.086)
+    Stairs(i).AddWall GetTex("Concrete"), -12.5, -30 - 1, -32.5, -30 - 1, (FloorHeight), (i * FloorHeight) + FloorHeight, (20 * 0.086), ((FloorHeight) * 0.086)
+    Stairs(i).AddWall GetTex("Concrete"), -12.5 - 6, -46.25 + 7.71, -12.5 - 16, -46.25 + 7.71, (FloorHeight), (i * FloorHeight) + FloorHeight, (10 * 0.086), ((FloorHeight) * 0.086)
+    Stairs(i).AddWall GetTex("Concrete"), -12.5 - 0.5, -40.3, -12.5 - 0.5, -30, (FloorHeight - 19.5), 19.5 + (i * FloorHeight) + FloorHeight, (10.3 * 0.086), ((FloorHeight - 19.5) * 0.08)
+       
+    Call DrawElevatorWalls(Int(i), 2, 1, True, False, True, False, False, False, False, False, False, False, False, False)
+    Call DrawElevatorWalls(Int(i), 2, 2, True, False, True, True, False, False, False, False, False, False, False, False)
+    
 
-'Roof Layout
-'Mesh.AddFloor GetTex("Granite"), -60, -150, 60, 150, (I * 25) + 25, 10, 10
-i = 138
-Form1.Print ".";
-    Room(i).AddFloor GetTex("BrickTexture"), -60, -150, 60, -46.25, (i * 25) + 25, 8, 3.8
-    Room(i).AddFloor GetTex("BrickTexture"), -60, -15.42, 60, 150, (i * 25) + 25, 8, 8.6
-    Room(i).AddFloor GetTex("BrickTexture"), -60, -46.25, -32.5, -15.42, (i * 25) + 25, 1.4, 2.4
-    Room(i).AddFloor GetTex("BrickTexture"), 12.5, -46.25, 60, -15.42, (i * 25) + 25, 1.4, 2.4
-    Room(i).AddFloor GetTex("BrickTexture"), -12.5, -46.25, 12.5, -15.42, (i * 25) + 25, 2, 2.4
+'Floor 130
+    i = 130
+    DoEvents
+    Form1.Label2.Caption = "Processing Floors 80, 115 to 117 and 130 to 138... " + Str$(Int(((i - 24) / (138 - 24)) * 100)) + "%"
     
-    Room(i).AddFloor GetTex("BrickTexture"), -32.5, -46.25, -12.5, -15.42, (i * 25) + 50.1, 2, 2.4
+    'Floor
+    Room(i).AddFloor GetTex("Granite"), -85, -150, 85, -46.25, (i * FloorHeight) + FloorHeight, ((85 * 2) * 0.086), ((150 - 46.25) * 0.08)
+    Room(i).AddFloor GetTex("Granite"), -85, 0, 85, 150, (i * FloorHeight) + FloorHeight, ((85 * 2) * 0.086), (150 * 0.08)
+    Room(i).AddFloor GetTex("Granite"), -12.5, -46.25, 12.5, 0, (i * FloorHeight) + FloorHeight, ((12.5 * 2) * 0.086), (46.25 * 0.08)
+    Room(i).AddFloor GetTex("Granite"), -85, -46.25, -32.5, 0, (i * FloorHeight) + FloorHeight, ((85 - 32.5) * 0.086), (46.25 * 0.08)
+    Room(i).AddFloor GetTex("Granite"), 85, -46.25, 32.5, 0, (i * FloorHeight) + FloorHeight, ((85 - 32.5) * 0.086), (46.25 * 0.08)
     
+    'Ceiling
+    Room(i).AddFloor GetTex("Marble3"), -85, -150, 85, -46.25, (i * FloorHeight) + (FloorHeight + 25) - 0.5, ((85 * 2) * 0.086), ((150 - 46.25) * 0.08)
+    Room(i).AddFloor GetTex("Marble3"), -85, 0, 85, 150, (i * FloorHeight) + (FloorHeight + 25) - 0.5, ((85 * 2) * 0.086), (150 * 0.08)
+    Room(i).AddFloor GetTex("Marble3"), -12.5, -46.25, 12.5, 0, (i * FloorHeight) + (FloorHeight + 25) - 0.5, ((12.5 * 2) * 0.086), (46.25 * 0.08)
+    Room(i).AddFloor GetTex("Marble3"), -85, -46.25, -32.5, 0, (i * FloorHeight) + (FloorHeight + 25) - 0.5, ((85 - 32.5) * 0.086), (46.25 * 0.08)
+    Room(i).AddFloor GetTex("Marble3"), 85, -46.25, 32.5, 0, (i * FloorHeight) + (FloorHeight + 25) - 0.5, ((85 - 32.5) * 0.086), (46.25 * 0.08)
+    
+    'Crawlspace Bottom
+    Room(i).AddFloor GetTex("Granite"), -85, -150, 85, -46.25, (i * FloorHeight) + (FloorHeight + 25), ((85 * 2) * 0.086), ((150 - 46.25) * 0.08)
+    Room(i).AddFloor GetTex("Granite"), -85, 0, 85, 150, (i * FloorHeight) + (FloorHeight + 25), ((85 * 2) * 0.086), (150 * 0.08)
+    Room(i).AddFloor GetTex("Granite"), -12.5, -46.25, 12.5, 0, (i * FloorHeight) + (FloorHeight + 25), ((12.5 * 2) * 0.086), (46.25 * 0.08)
+    Room(i).AddFloor GetTex("Granite"), -85, -46.25, -32.5, 0, (i * FloorHeight) + (FloorHeight + 25), ((85 - 32.5) * 0.086), (46.25 * 0.08)
+    Room(i).AddFloor GetTex("Granite"), 85, -46.25, 32.5, 0, (i * FloorHeight) + (FloorHeight + 25), ((85 - 32.5) * 0.086), (46.25 * 0.08)
+    
+    'Crawlspace Top
+    Room(i).AddFloor GetTex("Marble3"), -85, -150, 85, -46.25, (i * FloorHeight) + (FloorHeight + 24.9) + (FloorHeight - 25), ((85 * 2) * 0.086), ((150 - 46.25) * 0.08)
+    Room(i).AddFloor GetTex("Marble3"), -85, 0, 85, 150, (i * FloorHeight) + (FloorHeight + 24.9) + (FloorHeight - 25), ((85 * 2) * 0.086), (150 * 0.08)
+    Room(i).AddFloor GetTex("Marble3"), -12.5, -46.25, 12.5, 0, (i * FloorHeight) + (FloorHeight + 24.9) + (FloorHeight - 25), ((12.5 * 2) * 0.086), (46.25 * 0.08)
+    Room(i).AddFloor GetTex("Marble3"), -85, -46.25, -32.5, 0, (i * FloorHeight) + (FloorHeight + 24.9) + (FloorHeight - 25), ((85 - 32.5) * 0.086), (46.25 * 0.08)
+    Room(i).AddFloor GetTex("Marble3"), 85, -46.25, 32.5, 0, (i * FloorHeight) + (FloorHeight + 24.9) + (FloorHeight - 25), ((85 - 32.5) * 0.086), (46.25 * 0.08)
+    
+    'Crawlspace Walls
+    Room(i).AddWall GetTex("BrickTexture"), -85, -150, 85, -150, (FloorHeight - 25), (i * FloorHeight) + FloorHeight + 25, ((85 * 2) * 0.086), ((FloorHeight - 25) * 0.08)
+    Room(i).AddWall GetTex("BrickTexture"), 85, -150, 85, 150, (FloorHeight - 25), (i * FloorHeight) + FloorHeight + 25, ((150 * 2) * 0.086), ((FloorHeight - 25) * 0.08)
+    Room(i).AddWall GetTex("BrickTexture"), 85, 150, -85, 150, (FloorHeight - 25), (i * FloorHeight) + FloorHeight + 25, ((85 * 2) * 0.086), ((FloorHeight - 25) * 0.08)
+    Room(i).AddWall GetTex("BrickTexture"), -85, 150, -85, -150, (FloorHeight - 25), (i * FloorHeight) + FloorHeight + 25, ((150 * 2) * 0.086), ((FloorHeight - 25) * 0.08)
+
     'Stairwell Walls
-    Stairs(i).AddWall GetTex("Concrete"), -12.5 - 0.5, -46.25 + 0.1, -12.5 - 0.5, -40.3, 25, (i * 25) + 25, ((46.25 - 40.3) * 0.086) * 4, 3 * 4
-    Stairs(i).AddWall GetTex("Concrete"), -12.5 - 0.5, -32.5, -12.5 - 0.5, -30, 25, (i * 25) + 25, (2.5 * 0.086) * 4, 3 * 4
-    Stairs(i).AddWall GetTex("Concrete"), -32.5 + 0.1, -46.25 + 0.1, -32.5 + 0.1, -30 - 1, 25, (i * 25) + 25, (16.25 * 0.086) * 4, 3 * 4
-    Stairs(i).AddWall GetTex("Concrete"), -12.5, -46.25 + 0.1, -32.5, -46.25 + 0.1, 25, (i * 25) + 25, (20 * 0.086) * 4, 3 * 4
-    Stairs(i).AddWall GetTex("Concrete"), -12.5, -30 - 1, -32.5, -30 - 1, 25, (i * 25) + 25, (20 * 0.086) * 4, 3 * 4
-    Stairs(i).AddWall GetTex("Concrete"), -12.5 - 6, -46.25 + 7.71, -12.5 - 16, -46.25 + 7.71, 25, (i * 25) + 25, (10 * 0.086) * 4, 3 * 4
-    Stairs(i).AddWall GetTex("Concrete"), -12.5 - 0.5, -40.3, -12.5 - 0.5, -30, 5.5, 19.5 + (i * 25) + 25, (10.3 * 0.086) * 4, 0.2 * 4
+    Stairs(i).AddWall GetTex("Concrete"), -12.5 - 0.5, -46.25 + 0.1, -12.5 - 0.5, -40.3, (FloorHeight), (i * FloorHeight) + FloorHeight, ((46.25 - 40.3) * 0.086), ((FloorHeight) * 0.086)
+    Stairs(i).AddWall GetTex("Concrete"), -12.5 - 0.5, -32.5, -12.5 - 0.5, -30, (FloorHeight), (i * FloorHeight) + FloorHeight, (2.5 * 0.086), ((FloorHeight) * 0.086)
+    Stairs(i).AddWall GetTex("Concrete"), -32.5 + 0.1, -46.25 + 0.1, -32.5 + 0.1, -30 - 1, (FloorHeight), (i * FloorHeight) + FloorHeight, (16.25 * 0.086), ((FloorHeight) * 0.086)
+    Stairs(i).AddWall GetTex("Concrete"), -12.5, -46.25 + 0.1, -32.5, -46.25 + 0.1, (FloorHeight), (i * FloorHeight) + FloorHeight, (20 * 0.086), ((FloorHeight) * 0.086)
+    Stairs(i).AddWall GetTex("Concrete"), -12.5, -30 - 1, -32.5, -30 - 1, (FloorHeight), (i * FloorHeight) + FloorHeight, (20 * 0.086), ((FloorHeight) * 0.086)
+    Stairs(i).AddWall GetTex("Concrete"), -12.5 - 6, -46.25 + 7.71, -12.5 - 16, -46.25 + 7.71, (FloorHeight), (i * FloorHeight) + FloorHeight, (10 * 0.086), ((FloorHeight) * 0.086)
+    Stairs(i).AddWall GetTex("Concrete"), -12.5 - 0.5, -40.3, -12.5 - 0.5, -30, (FloorHeight - 19.5), 19.5 + (i * FloorHeight) + FloorHeight, (10.3 * 0.086), ((FloorHeight - 19.5) * 0.08)
+        
+    Call DrawElevatorWalls(Int(i), 5, 1, False, False, True, False, False, False, False, False, False, False, False, False)
     
-    Call DrawElevatorWalls(Int(i), 7, False, True, False, False, False, False, False, False, False, False, False)
-
-Form1.Print "done"
     
 End Sub
 
@@ -3953,920 +1766,8 @@ If CurrentIndex > 0 Then StringStart = i + 1 Else StringStart = i
 GetVarTemp = Mid$(TempString, StringStart, StringEnd - StringStart)
 GetVar = Val(GetVarTemp)
 
-End Function
-
-Sub DrawElevatorButtons()
-'Elevator Buttons
-    
-    'each panel can cover 60 floors
-    
-    
-'Elevator 1
-
-    Buttons1(135).AddWall GetTex("Button135"), -12.67, -27.85, -12.67, -27.55, 0.3, 12, -1, 1
-    'Buttons1(1).AddWall GetTex("Button1"), -12.67, -27.85 - 0.4, -12.67, -27.55 - 0.4, 0.3, 12, -1, 1
-    Buttons1(136).AddWall GetTex("Button136"), -12.67, -27.85 - 0.8, -12.67, -27.55 - 0.8, 0.3, 12, -1, 1
-    Buttons1(137).AddWall GetTex("Button137"), -12.67, -27.85 - 1.2, -12.67, -27.55 - 1.2, 0.3, 12, -1, 1
-    Buttons1(138).AddWall GetTex("ButtonR"), -12.67, -27.85 - 1.6, -12.67, -27.55 - 1.6, 0.3, 12, -1, 1
-    
-    Buttons1(130).AddWall GetTex("Button130"), -12.67, -27.85, -12.67, -27.55, 0.3, 12 - 0.5, -1, 1
-    Buttons1(131).AddWall GetTex("Button131"), -12.67, -27.85 - 0.4, -12.67, -27.55 - 0.4, 0.3, 12 - 0.5, -1, 1
-    Buttons1(132).AddWall GetTex("Button132"), -12.67, -27.85 - 0.8, -12.67, -27.55 - 0.8, 0.3, 12 - 0.5, -1, 1
-    Buttons1(133).AddWall GetTex("Button133"), -12.67, -27.85 - 1.2, -12.67, -27.55 - 1.2, 0.3, 12 - 0.5, -1, 1
-    Buttons1(134).AddWall GetTex("Button134"), -12.67, -27.85 - 1.6, -12.67, -27.55 - 1.6, 0.3, 12 - 0.5, -1, 1
-    
-    Buttons1(115).AddWall GetTex("Button115"), -12.67, -27.85, -12.67, -27.55, 0.3, 12 - 1, -1, 1
-    Buttons1(116).AddWall GetTex("Button116"), -12.67, -27.85 - 0.4, -12.67, -27.55 - 0.4, 0.3, 12 - 1, -1, 1
-    Buttons1(117).AddWall GetTex("Button117"), -12.67, -27.85 - 0.8, -12.67, -27.55 - 0.8, 0.3, 12 - 1, -1, 1
-    Buttons1(118).AddWall GetTex("Button118"), -12.67, -27.85 - 1.2, -12.67, -27.55 - 1.2, 0.3, 12 - 1, -1, 1
-    Buttons1(129).AddWall GetTex("Button129"), -12.67, -27.85 - 1.6, -12.67, -27.55 - 1.6, 0.3, 12 - 1, -1, 1
-    
-    Buttons1(110).AddWall GetTex("Button110"), -12.67, -27.85, -12.67, -27.55, 0.3, 12 - 1.5, -1, 1
-    Buttons1(111).AddWall GetTex("Button111"), -12.67, -27.85 - 0.4, -12.67, -27.55 - 0.4, 0.3, 12 - 1.5, -1, 1
-    Buttons1(112).AddWall GetTex("Button112"), -12.67, -27.85 - 0.8, -12.67, -27.55 - 0.8, 0.3, 12 - 1.5, -1, 1
-    Buttons1(113).AddWall GetTex("Button113"), -12.67, -27.85 - 1.2, -12.67, -27.55 - 1.2, 0.3, 12 - 1.5, -1, 1
-    Buttons1(114).AddWall GetTex("Button114"), -12.67, -27.85 - 1.6, -12.67, -27.55 - 1.6, 0.3, 12 - 1.5, -1, 1
-    
-    Buttons1(105).AddWall GetTex("Button105"), -12.67, -27.85, -12.67, -27.55, 0.3, 12 - 2, -1, 1
-    Buttons1(106).AddWall GetTex("Button106"), -12.67, -27.85 - 0.4, -12.67, -27.55 - 0.4, 0.3, 12 - 2, -1, 1
-    Buttons1(107).AddWall GetTex("Button107"), -12.67, -27.85 - 0.8, -12.67, -27.55 - 0.8, 0.3, 12 - 2, -1, 1
-    Buttons1(108).AddWall GetTex("Button108"), -12.67, -27.85 - 1.2, -12.67, -27.55 - 1.2, 0.3, 12 - 2, -1, 1
-    Buttons1(109).AddWall GetTex("Button109"), -12.67, -27.85 - 1.6, -12.67, -27.55 - 1.6, 0.3, 12 - 2, -1, 1
-    
-    Buttons1(100).AddWall GetTex("Button100"), -12.67, -27.85, -12.67, -27.55, 0.3, 12 - 2.5, -1, 1
-    Buttons1(101).AddWall GetTex("Button101"), -12.67, -27.85 - 0.4, -12.67, -27.55 - 0.4, 0.3, 12 - 2.5, -1, 1
-    Buttons1(102).AddWall GetTex("Button102"), -12.67, -27.85 - 0.8, -12.67, -27.55 - 0.8, 0.3, 12 - 2.5, -1, 1
-    Buttons1(103).AddWall GetTex("Button103"), -12.67, -27.85 - 1.2, -12.67, -27.55 - 1.2, 0.3, 12 - 2.5, -1, 1
-    Buttons1(104).AddWall GetTex("Button104"), -12.67, -27.85 - 1.6, -12.67, -27.55 - 1.6, 0.3, 12 - 2.5, -1, 1
-    
-    Buttons1(95).AddWall GetTex("Button95"), -12.67, -27.85, -12.67, -27.55, 0.3, 12 - 3, -1, 1
-    Buttons1(96).AddWall GetTex("Button96"), -12.67, -27.85 - 0.4, -12.67, -27.55 - 0.4, 0.3, 12 - 3, -1, 1
-    Buttons1(97).AddWall GetTex("Button97"), -12.67, -27.85 - 0.8, -12.67, -27.55 - 0.8, 0.3, 12 - 3, -1, 1
-    Buttons1(98).AddWall GetTex("Button98"), -12.67, -27.85 - 1.2, -12.67, -27.55 - 1.2, 0.3, 12 - 3, -1, 1
-    Buttons1(99).AddWall GetTex("Button99"), -12.67, -27.85 - 1.6, -12.67, -27.55 - 1.6, 0.3, 12 - 3, -1, 1
-    
-    Buttons1(90).AddWall GetTex("Button90"), -12.67, -27.85, -12.67, -27.55, 0.3, 12 - 3.5, -1, 1
-    Buttons1(91).AddWall GetTex("Button91"), -12.67, -27.85 - 0.4, -12.67, -27.55 - 0.4, 0.3, 12 - 3.5, -1, 1
-    Buttons1(92).AddWall GetTex("Button92"), -12.67, -27.85 - 0.8, -12.67, -27.55 - 0.8, 0.3, 12 - 3.5, -1, 1
-    Buttons1(93).AddWall GetTex("Button93"), -12.67, -27.85 - 1.2, -12.67, -27.55 - 1.2, 0.3, 12 - 3.5, -1, 1
-    Buttons1(94).AddWall GetTex("Button94"), -12.67, -27.85 - 1.6, -12.67, -27.55 - 1.6, 0.3, 12 - 3.5, -1, 1
-    
-    Buttons1(85).AddWall GetTex("Button85"), -12.67, -27.85, -12.67, -27.55, 0.3, 12 - 4, -1, 1
-    Buttons1(86).AddWall GetTex("Button86"), -12.67, -27.85 - 0.4, -12.67, -27.55 - 0.4, 0.3, 12 - 4, -1, 1
-    Buttons1(87).AddWall GetTex("Button87"), -12.67, -27.85 - 0.8, -12.67, -27.55 - 0.8, 0.3, 12 - 4, -1, 1
-    Buttons1(88).AddWall GetTex("Button88"), -12.67, -27.85 - 1.2, -12.67, -27.55 - 1.2, 0.3, 12 - 4, -1, 1
-    Buttons1(89).AddWall GetTex("Button89"), -12.67, -27.85 - 1.6, -12.67, -27.55 - 1.6, 0.3, 12 - 4, -1, 1
-    
-    Buttons1(80).AddWall GetTex("Button80"), -12.67, -27.85, -12.67, -27.55, 0.3, 12 - 4.5, -1, 1
-    Buttons1(81).AddWall GetTex("Button81"), -12.67, -27.85 - 0.4, -12.67, -27.55 - 0.4, 0.3, 12 - 4.5, -1, 1
-    Buttons1(82).AddWall GetTex("Button82"), -12.67, -27.85 - 0.8, -12.67, -27.55 - 0.8, 0.3, 12 - 4.5, -1, 1
-    Buttons1(83).AddWall GetTex("Button83"), -12.67, -27.85 - 1.2, -12.67, -27.55 - 1.2, 0.3, 12 - 4.5, -1, 1
-    Buttons1(84).AddWall GetTex("Button84"), -12.67, -27.85 - 1.6, -12.67, -27.55 - 1.6, 0.3, 12 - 4.5, -1, 1
-    
-    Buttons1(2).AddWall GetTex("Button2"), -12.67, -27.85, -12.67, -27.55, 0.3, 12 - 5, -1, 1
-    Buttons1(39).AddWall GetTex("Button39"), -12.67, -27.85 - 0.4, -12.67, -27.55 - 0.4, 0.3, 12 - 5, -1, 1
-    Buttons1(40).AddWall GetTex("Button40"), -12.67, -27.85 - 0.8, -12.67, -27.55 - 0.8, 0.3, 12 - 5, -1, 1
-    Buttons1(65).AddWall GetTex("Button65"), -12.67, -27.85 - 1.2, -12.67, -27.55 - 1.2, 0.3, 12 - 5, -1, 1
-    Buttons1(79).AddWall GetTex("Button79"), -12.67, -27.85 - 1.6, -12.67, -27.55 - 1.6, 0.3, 12 - 5, -1, 1
-    
-    Buttons1(-1).AddWall GetTex("ButtonL"), -12.67, -27.85, -12.67, -27.55, 0.3, 12 - 5.5, -1, 1
-    'Buttons1(1).AddWall GetTex("Button1"), -12.67, -27.85 - 0.4, -12.67, -27.55 - 0.4, 0.3, 12 - 5.5, -1, 1
-    'Buttons1(1).AddWall GetTex("Button1"), -12.67, -27.85 - 0.8, -12.67, -27.55 - 0.8, 0.3, 12 - 5.5, -1, 1
-    'Buttons1(1).AddWall GetTex("Button1"), -12.67, -27.85 - 1.2, -12.67, -27.55 - 1.2, 0.3, 12 - 5.5, -1, 1
-    Buttons1(0).AddWall GetTex("ButtonM"), -12.67, -27.85 - 1.6, -12.67, -27.55 - 1.6, 0.3, 12 - 5.5, -1, 1
-
-'Elevator 2
-
-    'Buttons2(135).AddWall GetTex("Button135"), 12.67, -18.45, 12.67, -18.15, 0.3, 12, 1, 1
-    'Buttons2(1).AddWall GetTex("Button1"), 12.67, -18.45 + 0.4, 12.67, -18.15 + 0.4, 0.3, 12, 1, 1
-    'Buttons2(136).AddWall GetTex("Button136"), 12.67, -18.45 + 0.8, 12.67, -18.15 + 0.8, 0.3, 12, 1, 1
-    'Buttons2(137).AddWall GetTex("Button137"), 12.67, -18.45 + 1.2, 12.67, -18.15 + 1.2, 0.3, 12, 1, 1
-    'Buttons2(138).AddWall GetTex("ButtonR"), 12.67, -18.45 + 1.6, 12.67, -18.15 + 1.6, 0.3, 12, 1, 1
-    
-    'Buttons2(130).AddWall GetTex("Button130"), 12.67, -18.45, 12.67, -18.15, 0.3, 12 - 0.5, 1, 1
-    'Buttons2(131).AddWall GetTex("Button131"), 12.67, -18.45 + 0.4, 12.67, -18.15 + 0.4, 0.3, 12 - 0.5, 1, 1
-    'Buttons2(135).AddWall GetTex("Button135"), 12.67, -18.45 + 0.8, 12.67, -18.15 + 0.8, 0.3, 12 - 0.5, 1, 1
-    'Buttons2(133).AddWall GetTex("Button133"), 12.67, -18.45 + 1.2, 12.67, -18.15 + 1.2, 0.3, 12 - 0.5, 1, 1
-    'Buttons2(134).AddWall GetTex("Button134"), 12.67, -18.45 + 1.6, 12.67, -18.15 + 1.6, 0.3, 12 - 0.5, 1, 1
-    
-    'Buttons2(115).AddWall GetTex("Button115"), 12.67, -18.45, 12.67, -18.15, 0.3, 12 - 1, 1, 1
-    'Buttons2(116).AddWall GetTex("Button116"), 12.67, -18.45 + 0.4, 12.67, -18.15 + 0.4, 0.3, 12 - 1, 1, 1
-    Buttons2(136).AddWall GetTex("Button136"), 12.67, -18.45 + 0.8, 12.67, -18.15 + 0.8, 0.3, 12 - 1, 1, 1
-    'Buttons2(118).AddWall GetTex("Button118"), 12.67, -18.45 + 1.2, 12.67, -18.15 + 1.2, 0.3, 12 - 1, 1, 1
-    'Buttons2(129).AddWall GetTex("Button129"), 12.67, -18.45 + 1.6, 12.67, -18.15 + 1.6, 0.3, 12 - 1, 1, 1
-    
-    'Buttons2(110).AddWall GetTex("Button110"), 12.67, -18.45, 12.67, -18.15, 0.3, 12 - 1.5, 1, 1
-    'Buttons2(111).AddWall GetTex("Button111"), 12.67, -18.45 + 0.4, 12.67, -18.15 + 0.4, 0.3, 12 - 1.5, 1, 1
-    Buttons2(135).AddWall GetTex("Button135"), 12.67, -18.45 + 0.8, 12.67, -18.15 + 0.8, 0.3, 12 - 1.5, 1, 1
-    'Buttons2(113).AddWall GetTex("Button113"), 12.67, -18.45 + 1.2, 12.67, -18.15 + 1.2, 0.3, 12 - 1.5, 1, 1
-    'Buttons2(114).AddWall GetTex("Button114"), 12.67, -18.45 + 1.6, 12.67, -18.15 + 1.6, 0.3, 12 - 1.5, 1, 1
-    
-    'Buttons2(105).AddWall GetTex("Button105"), 12.67, -18.45, 12.67, -18.15, 0.3, 12 - 2, 1, 1
-    'Buttons2(106).AddWall GetTex("Button106"), 12.67, -18.45 + 0.4, 12.67, -18.15 + 0.4, 0.3, 12 - 2, 1, 1
-    Buttons2(134).AddWall GetTex("Button134"), 12.67, -18.45 + 0.8, 12.67, -18.15 + 0.8, 0.3, 12 - 2, 1, 1
-    'Buttons2(108).AddWall GetTex("Button108"), 12.67, -18.45 + 1.2, 12.67, -18.15 + 1.2, 0.3, 12 - 2, 1, 1
-    'Buttons2(109).AddWall GetTex("Button109"), 12.67, -18.45 + 1.6, 12.67, -18.15 + 1.6, 0.3, 12 - 2, 1, 1
-    
-    'Buttons2(100).AddWall GetTex("Button100"), 12.67, -18.45, 12.67, -18.15, 0.3, 12 - 2.5, 1, 1
-    'Buttons2(101).AddWall GetTex("Button101"), 12.67, -18.45 + 0.4, 12.67, -18.15 + 0.4, 0.3, 12 - 2.5, 1, 1
-    Buttons2(132).AddWall GetTex("Button132"), 12.67, -18.45 + 0.8, 12.67, -18.15 + 0.8, 0.3, 12 - 2.5, 1, 1
-    'Buttons2(103).AddWall GetTex("Button103"), 12.67, -18.45 + 1.2, 12.67, -18.15 + 1.2, 0.3, 12 - 2.5, 1, 1
-    'Buttons2(104).AddWall GetTex("Button104"), 12.67, -18.45 + 1.6, 12.67, -18.15 + 1.6, 0.3, 12 - 2.5, 1, 1
-    
-    'Buttons2(95).AddWall GetTex("Button95"), 12.67, -18.45, 12.67, -18.15, 0.3, 12 - 3, 1, 1
-    'Buttons2(96).AddWall GetTex("Button96"), 12.67, -18.45 + 0.4, 12.67, -18.15 + 0.4, 0.3, 12 - 3, 1, 1
-    Buttons2(80).AddWall GetTex("Button80"), 12.67, -18.45 + 0.8, 12.67, -18.15 + 0.8, 0.3, 12 - 3, 1, 1
-    'Buttons2(98).AddWall GetTex("Button98"), 12.67, -18.45 + 1.2, 12.67, -18.15 + 1.2, 0.3, 12 - 3, 1, 1
-    'Buttons2(99).AddWall GetTex("Button99"), 12.67, -18.45 + 1.6, 12.67, -18.15 + 1.6, 0.3, 12 - 3, 1, 1
-    
-    'Buttons2(90).AddWall GetTex("Button90"), 12.67, -18.45, 12.67, -18.15, 0.3, 12 - 3.5, 1, 1
-    'Buttons2(91).AddWall GetTex("Button91"), 12.67, -18.45 + 0.4, 12.67, -18.15 + 0.4, 0.3, 12 - 3.5, 1, 1
-    Buttons2(0).AddWall GetTex("ButtonM"), 12.67, -18.45 + 0.8, 12.67, -18.15 + 0.8, 0.3, 12 - 3.5, 1, 1
-    'Buttons2(93).AddWall GetTex("Button93"), 12.67, -18.45 + 1.2, 12.67, -18.15 + 1.2, 0.3, 12 - 3.5, 1, 1
-    'Buttons2(94).AddWall GetTex("Button94"), 12.67, -18.45 + 1.6, 12.67, -18.15 + 1.6, 0.3, 12 - 3.5, 1, 1
-    
-    'Buttons2(85).AddWall GetTex("Button85"), 12.67, -18.45, 12.67, -18.15, 0.3, 12 - 4, 1, 1
-    'Buttons2(86).AddWall GetTex("Button86"), 12.67, -18.45 + 0.4, 12.67, -18.15 + 0.4, 0.3, 12 - 4, 1, 1
-    Buttons2(-1).AddWall GetTex("ButtonL"), 12.67, -18.45 + 0.8, 12.67, -18.15 + 0.8, 0.3, 12 - 4, 1, 1
-    'Buttons2(88).AddWall GetTex("Button88"), 12.67, -18.45 + 1.2, 12.67, -18.15 + 1.2, 0.3, 12 - 4, 1, 1
-    'Buttons2(89).AddWall GetTex("Button89"), 12.67, -18.45 + 1.6, 12.67, -18.15 + 1.6, 0.3, 12 - 4, 1, 1
-    
-    'Buttons2(80).AddWall GetTex("Button80"), 12.67, -18.45, 12.67, -18.15, 0.3, 12 - 4.5, 1, 1
-    'Buttons2(81).AddWall GetTex("Button81"), 12.67, -18.45 + 0.4, 12.67, -18.15 + 0.4, 0.3, 12 - 4.5, 1, 1
-    'Buttons2(0).AddWall GetTex("ButtonM"), 12.67, -18.45 + 0.8, 12.67, -18.15 + 0.8, 0.3, 12 - 4.5, 1, 1
-    'Buttons2(83).AddWall GetTex("Button83"), 12.67, -18.45 + 1.2, 12.67, -18.15 + 1.2, 0.3, 12 - 4.5, 1, 1
-    'Buttons2(84).AddWall GetTex("Button84"), 12.67, -18.45 + 1.6, 12.67, -18.15 + 1.6, 0.3, 12 - 4.5, 1, 1
-    
-    'Buttons2(2).AddWall GetTex("Button2"), 12.67, -18.45, 12.67, -18.15, 0.3, 12 - 5, 1, 1
-    'Buttons2(39).AddWall GetTex("Button39"), 12.67, -18.45 + 0.4, 12.67, -18.15 + 0.4, 0.3, 12 - 5, 1, 1
-    'Buttons2(40).AddWall GetTex("Button40"), 12.67, -18.45 + 0.8, 12.67, -18.15 + 0.8, 0.3, 12 - 5, 1, 1
-    'Buttons2(65).AddWall GetTex("Button65"), 12.67, -18.45 + 1.2, 12.67, -18.15 + 1.2, 0.3, 12 - 5, 1, 1
-    'Buttons2(79).AddWall GetTex("Button79"), 12.67, -18.45 + 1.6, 12.67, -18.15 + 1.6, 0.3, 12 - 5, 1, 1
-    
-    'Buttons2(-1).AddWall GetTex("ButtonL"), 12.67, -18.45, 12.67, -18.15, 0.3, 12 - 5.5, 1, 1
-    'Buttons2(1).AddWall GetTex("Button1"), 12.67, -18.45 + 0.4, 12.67, -18.15 + 0.4, 0.3, 12 - 5.5, 1, 1
-    'Buttons2(-1).AddWall GetTex("ButtonL"), 12.67, -18.45 + 0.8, 12.67, -18.15 + 0.8, 0.3, 12 - 5.5, 1, 1
-    'Buttons2(1).AddWall GetTex("Button1"), 12.67, -18.45 + 1.2, 12.67, -18.15 + 1.2, 0.3, 12 - 5.5, 1, 1
-    'Buttons2(0).AddWall GetTex("ButtonM"), 12.67, -18.45 + 1.6, 12.67, -18.15 + 1.6, 0.3, 12 - 5.5, 1, 1
-
-'Elevator 3
-
-    'Buttons3(135).AddWall GetTex("Button135"), -12.67, -27.85 + (15*1), -12.67, -27.55 + (15*1), 0.3, 12, -1, 1
-    'Buttons3(1).AddWall GetTex("Button1"), -12.67, -27.85 + (15*1) - 0.4, -12.67, -27.55 + (15*1) - 0.4, 0.3, 12, -1, 1
-    'Buttons3(134).AddWall GetTex("Button134"), -12.67, -27.85 + (15 * 1) - 0.8, -12.67, -27.55 + (15 * 1) - 0.8, 0.3, 12, -1, 1
-    'Buttons3(137).AddWall GetTex("Button137"), -12.67, -27.85 + (15*1) - 1.2, -12.67, -27.55 + (15*1) - 1.2, 0.3, 12, -1, 1
-    'Buttons3(138).AddWall GetTex("ButtonR"), -12.67, -27.85 + (15*1) - 1.6, -12.67, -27.55 + (15*1) - 1.6, 0.3, 12, -1, 1
-    
-    'Buttons3(128).AddWall GetTex("Button128"), -12.67, -27.85 + (15 * 1), -12.67, -27.55 + (15 * 1), 0.3, 12 - 0.5, -1, 1
-    Buttons3(128).AddWall GetTex("Button128"), -12.67, -27.85 + (15 * 1) - 0.4, -12.67, -27.55 + (15 * 1) - 0.4, 0.3, 12 - 0.5, -1, 1
-    Buttons3(129).AddWall GetTex("Button129"), -12.67, -27.85 + (15 * 1) - 0.8, -12.67, -27.55 + (15 * 1) - 0.8, 0.3, 12 - 0.5, -1, 1
-    Buttons3(134).AddWall GetTex("Button134"), -12.67, -27.85 + (15 * 1) - 1.2, -12.67, -27.55 + (15 * 1) - 1.2, 0.3, 12 - 0.5, -1, 1
-    'Buttons3(134).AddWall GetTex("Button134"), -12.67, -27.85 + (15 * 1) - 1.6, -12.67, -27.55 + (15 * 1) - 1.6, 0.3, 12 - 0.5, -1, 1
-    
-    'Buttons3(123).AddWall GetTex("Button123"), -12.67, -27.85 + (15 * 1), -12.67, -27.55 + (15 * 1), 0.3, 12 - 1, -1, 1
-    Buttons3(125).AddWall GetTex("Button125"), -12.67, -27.85 + (15 * 1) - 0.4, -12.67, -27.55 + (15 * 1) - 0.4, 0.3, 12 - 1, -1, 1
-    Buttons3(126).AddWall GetTex("Button126"), -12.67, -27.85 + (15 * 1) - 0.8, -12.67, -27.55 + (15 * 1) - 0.8, 0.3, 12 - 1, -1, 1
-    Buttons3(127).AddWall GetTex("Button127"), -12.67, -27.85 + (15 * 1) - 1.2, -12.67, -27.55 + (15 * 1) - 1.2, 0.3, 12 - 1, -1, 1
-    'Buttons3(127).AddWall GetTex("Button127"), -12.67, -27.85 + (15 * 1) - 1.6, -12.67, -27.55 + (15 * 1) - 1.6, 0.3, 12 - 1, -1, 1
-    
-    'Buttons3(118).AddWall GetTex("Button118"), -12.67, -27.85 + (15 * 1), -12.67, -27.55 + (15 * 1), 0.3, 12 - 1.5, -1, 1
-    Buttons3(122).AddWall GetTex("Button122"), -12.67, -27.85 + (15 * 1) - 0.4, -12.67, -27.55 + (15 * 1) - 0.4, 0.3, 12 - 1.5, -1, 1
-    Buttons3(123).AddWall GetTex("Button123"), -12.67, -27.85 + (15 * 1) - 0.8, -12.67, -27.55 + (15 * 1) - 0.8, 0.3, 12 - 1.5, -1, 1
-    Buttons3(124).AddWall GetTex("Button124"), -12.67, -27.85 + (15 * 1) - 1.2, -12.67, -27.55 + (15 * 1) - 1.2, 0.3, 12 - 1.5, -1, 1
-    'Buttons3(122).AddWall GetTex("Button122"), -12.67, -27.85 + (15 * 1) - 1.6, -12.67, -27.55 + (15 * 1) - 1.6, 0.3, 12 - 1.5, -1, 1
-    
-    'Buttons3(105).AddWall GetTex("Button105"), -12.67, -27.85 + (15*1), -12.67, -27.55 + (15*1), 0.3, 12 - 2, -1, 1
-    Buttons3(119).AddWall GetTex("Button119"), -12.67, -27.85 + (15 * 1) - 0.4, -12.67, -27.55 + (15 * 1) - 0.4, 0.3, 12 - 2, -1, 1
-    Buttons3(120).AddWall GetTex("Button120"), -12.67, -27.85 + (15 * 1) - 0.8, -12.67, -27.55 + (15 * 1) - 0.8, 0.3, 12 - 2, -1, 1
-    Buttons3(121).AddWall GetTex("Button121"), -12.67, -27.85 + (15 * 1) - 1.2, -12.67, -27.55 + (15 * 1) - 1.2, 0.3, 12 - 2, -1, 1
-    'Buttons3(109).AddWall GetTex("Button109"), -12.67, -27.85 + (15*1) - 1.6, -12.67, -27.55 + (15*1) - 1.6, 0.3, 12 - 2, -1, 1
-    
-    'Buttons3(110).AddWall GetTex("Button110"), -12.67, -27.85 + (15 * 1), -12.67, -27.55 + (15 * 1), 0.3, 12 - 2.5, -1, 1
-    Buttons3(113).AddWall GetTex("Button113"), -12.67, -27.85 + (15 * 1) - 0.4, -12.67, -27.55 + (15 * 1) - 0.4, 0.3, 12 - 2.5, -1, 1
-    Buttons3(114).AddWall GetTex("Button114"), -12.67, -27.85 + (15 * 1) - 0.8, -12.67, -27.55 + (15 * 1) - 0.8, 0.3, 12 - 2.5, -1, 1
-    Buttons3(118).AddWall GetTex("Button118"), -12.67, -27.85 + (15 * 1) - 1.2, -12.67, -27.55 + (15 * 1) - 1.2, 0.3, 12 - 2.5, -1, 1
-    'Buttons3(114).AddWall GetTex("Button114"), -12.67, -27.85 + (15 * 1) - 1.6, -12.67, -27.55 + (15 * 1) - 1.6, 0.3, 12 - 2.5, -1, 1
-    
-    'Buttons3(105).AddWall GetTex("Button105"), -12.67, -27.85 + (15 * 1), -12.67, -27.55 + (15 * 1), 0.3, 12 - 3, -1, 1
-    Buttons3(110).AddWall GetTex("Button110"), -12.67, -27.85 + (15 * 1) - 0.4, -12.67, -27.55 + (15 * 1) - 0.4, 0.3, 12 - 3, -1, 1
-    Buttons3(111).AddWall GetTex("Button111"), -12.67, -27.85 + (15 * 1) - 0.8, -12.67, -27.55 + (15 * 1) - 0.8, 0.3, 12 - 3, -1, 1
-    Buttons3(112).AddWall GetTex("Button112"), -12.67, -27.85 + (15 * 1) - 1.2, -12.67, -27.55 + (15 * 1) - 1.2, 0.3, 12 - 3, -1, 1
-    'Buttons3(109).AddWall GetTex("Button109"), -12.67, -27.85 + (15 * 1) - 1.6, -12.67, -27.55 + (15 * 1) - 1.6, 0.3, 12 - 3, -1, 1
-    
-    'Buttons3(100).AddWall GetTex("Button100"), -12.67, -27.85 + (15 * 1), -12.67, -27.55 + (15 * 1), 0.3, 12 - 3.5, -1, 1
-    Buttons3(107).AddWall GetTex("Button107"), -12.67, -27.85 + (15 * 1) - 0.4, -12.67, -27.55 + (15 * 1) - 0.4, 0.3, 12 - 3.5, -1, 1
-    Buttons3(108).AddWall GetTex("Button108"), -12.67, -27.85 + (15 * 1) - 0.8, -12.67, -27.55 + (15 * 1) - 0.8, 0.3, 12 - 3.5, -1, 1
-    Buttons3(109).AddWall GetTex("Button109"), -12.67, -27.85 + (15 * 1) - 1.2, -12.67, -27.55 + (15 * 1) - 1.2, 0.3, 12 - 3.5, -1, 1
-    'Buttons3(104).AddWall GetTex("Button104"), -12.67, -27.85 + (15 * 1) - 1.6, -12.67, -27.55 + (15 * 1) - 1.6, 0.3, 12 - 3.5, -1, 1
-    
-    'Buttons3(105).AddWall GetTex("Button105"), -12.67, -27.85 + (15*1), -12.67, -27.55 + (15*1), 0.3, 12 - 4, -1, 1
-    Buttons3(104).AddWall GetTex("Button104"), -12.67, -27.85 + (15 * 1) - 0.4, -12.67, -27.55 + (15 * 1) - 0.4, 0.3, 12 - 4, -1, 1
-    Buttons3(105).AddWall GetTex("Button105"), -12.67, -27.85 + (15 * 1) - 0.8, -12.67, -27.55 + (15 * 1) - 0.8, 0.3, 12 - 4, -1, 1
-    Buttons3(106).AddWall GetTex("Button106"), -12.67, -27.85 + (15 * 1) - 1.2, -12.67, -27.55 + (15 * 1) - 1.2, 0.3, 12 - 4, -1, 1
-    'Buttons3(109).AddWall GetTex("Button109"), -12.67, -27.85 + (15*1) - 1.6, -12.67, -27.55 + (15*1) - 1.6, 0.3, 12 - 4, -1, 1
-    
-    'Buttons3(100).AddWall GetTex("Button100"), -12.67, -27.85 + (15*1), -12.67, -27.55 + (15*1), 0.3, 12 - 4.5, -1, 1
-    Buttons3(101).AddWall GetTex("Button101"), -12.67, -27.85 + (15 * 1) - 0.4, -12.67, -27.55 + (15 * 1) - 0.4, 0.3, 12 - 4.5, -1, 1
-    Buttons3(102).AddWall GetTex("Button102"), -12.67, -27.85 + (15 * 1) - 0.8, -12.67, -27.55 + (15 * 1) - 0.8, 0.3, 12 - 4.5, -1, 1
-    Buttons3(103).AddWall GetTex("Button103"), -12.67, -27.85 + (15 * 1) - 1.2, -12.67, -27.55 + (15 * 1) - 1.2, 0.3, 12 - 4.5, -1, 1
-    'Buttons3(104).AddWall GetTex("Button104"), -12.67, -27.85 + (15*1) - 1.6, -12.67, -27.55 + (15*1) - 1.6, 0.3, 12 - 4.5, -1, 1
-    
-    'Buttons3(-1).AddWall GetTex("ButtonL"), -12.67, -27.85 + (15*1), -12.67, -27.55 + (15*1), 0.3, 12 - 5, -1, 1
-    Buttons3(-1).AddWall GetTex("ButtonL"), -12.67, -27.85 + (15 * 1) - 0.4, -12.67, -27.55 + (15 * 1) - 0.4, 0.3, 12 - 5, -1, 1
-    Buttons3(80).AddWall GetTex("Button80"), -12.67, -27.85 + (15 * 1) - 0.8, -12.67, -27.55 + (15 * 1) - 0.8, 0.3, 12 - 5, -1, 1
-    Buttons3(100).AddWall GetTex("Button100"), -12.67, -27.85 + (15 * 1) - 1.2, -12.67, -27.55 + (15 * 1) - 1.2, 0.3, 12 - 5, -1, 1
-    'Buttons3(0).AddWall GetTex("ButtonM"), -12.67, -27.85 + (15*1) - 1.6, -12.67, -27.55 + (15*1) - 1.6, 0.3, 12 - 5, -1, 1
-    
-    'Buttons3(-1).AddWall GetTex("ButtonL"), -12.67, -27.85 + (15*1), -12.67, -27.55 + (15*1), 0.3, 12 - 5.5, -1, 1
-    'Buttons3(1).AddWall GetTex("Button1"), -12.67, -27.85 + (15*1) - 0.4, -12.67, -27.55 + (15*1) - 0.4, 0.3, 12 - 5.5, -1, 1
-    'Buttons3(-1).AddWall GetTex("ButtonL"), -12.67, -27.85 + (15*1) - 0.8, -12.67, -27.55 + (15*1) - 0.8, 0.3, 12 - 5.5, -1, 1
-    'Buttons3(1).AddWall GetTex("Button1"), -12.67, -27.85 + (15*1) - 1.2, -12.67, -27.55 + (15*1) - 1.2, 0.3, 12 - 5.5, -1, 1
-    'Buttons3(0).AddWall GetTex("ButtonM"), -12.67, -27.85 + (15*1) - 1.6, -12.67, -27.55 + (15*1) - 1.6, 0.3, 12 - 5.5, -1, 1
-
-'Elevator 4
-
-    'Buttons4(135).AddWall GetTex("Button135"), 12.67, -18.45 + (15*1), 12.67, -18.15 + (15*1), 0.3, 12, 1, 1
-    'Buttons4(1).AddWall GetTex("Button1"), 12.67, -18.45 + (15*1) + 0.4, 12.67, -18.15 + (15*1) + 0.4, 0.3, 12, 1, 1
-    'Buttons4(134).AddWall GetTex("Button134"), 12.67, -18.45 + (15 * 1) + 0.8, 12.67, -18.15 + (15 * 1) + 0.8, 0.3, 12, 1, 1
-    'Buttons4(137).AddWall GetTex("Button137"), 12.67, -18.45 + (15*1) + 1.2, 12.67, -18.15 + (15*1) + 1.2, 0.3, 12, 1, 1
-    'Buttons4(138).AddWall GetTex("ButtonR"), 12.67, -18.45 + (15*1) + 1.6, 12.67, -18.15 + (15*1) + 1.6, 0.3, 12, 1, 1
-    
-    'Buttons4(128).AddWall GetTex("Button128"), 12.67, -18.45 + (15 * 1), 12.67, -18.15 + (15 * 1), 0.3, 12 - 0.5, 1, 1
-    Buttons4(128).AddWall GetTex("Button128"), 12.67, -18.45 + (15 * 1) + 0.4, 12.67, -18.15 + (15 * 1) + 0.4, 0.3, 12 - 0.5, 1, 1
-    Buttons4(129).AddWall GetTex("Button129"), 12.67, -18.45 + (15 * 1) + 0.8, 12.67, -18.15 + (15 * 1) + 0.8, 0.3, 12 - 0.5, 1, 1
-    Buttons4(134).AddWall GetTex("Button134"), 12.67, -18.45 + (15 * 1) + 1.2, 12.67, -18.15 + (15 * 1) + 1.2, 0.3, 12 - 0.5, 1, 1
-    'Buttons4(134).AddWall GetTex("Button134"), 12.67, -18.45 + (15 * 1) + 1.6, 12.67, -18.15 + (15 * 1) + 1.6, 0.3, 12 - 0.5, 1, 1
-    
-    'Buttons4(123).AddWall GetTex("Button123"), 12.67, -18.45 + (15 * 1), 12.67, -18.15 + (15 * 1), 0.3, 12 - 1, 1, 1
-    Buttons4(125).AddWall GetTex("Button125"), 12.67, -18.45 + (15 * 1) + 0.4, 12.67, -18.15 + (15 * 1) + 0.4, 0.3, 12 - 1, 1, 1
-    Buttons4(126).AddWall GetTex("Button126"), 12.67, -18.45 + (15 * 1) + 0.8, 12.67, -18.15 + (15 * 1) + 0.8, 0.3, 12 - 1, 1, 1
-    Buttons4(127).AddWall GetTex("Button127"), 12.67, -18.45 + (15 * 1) + 1.2, 12.67, -18.15 + (15 * 1) + 1.2, 0.3, 12 - 1, 1, 1
-    'Buttons4(127).AddWall GetTex("Button127"), 12.67, -18.45 + (15 * 1) + 1.6, 12.67, -18.15 + (15 * 1) + 1.6, 0.3, 12 - 1, 1, 1
-    
-    'Buttons4(118).AddWall GetTex("Button118"), 12.67, -18.45 + (15 * 1), 12.67, -18.15 + (15 * 1), 0.3, 12 - 1.5, 1, 1
-    Buttons4(122).AddWall GetTex("Button122"), 12.67, -18.45 + (15 * 1) + 0.4, 12.67, -18.15 + (15 * 1) + 0.4, 0.3, 12 - 1.5, 1, 1
-    Buttons4(123).AddWall GetTex("Button123"), 12.67, -18.45 + (15 * 1) + 0.8, 12.67, -18.15 + (15 * 1) + 0.8, 0.3, 12 - 1.5, 1, 1
-    Buttons4(124).AddWall GetTex("Button124"), 12.67, -18.45 + (15 * 1) + 1.2, 12.67, -18.15 + (15 * 1) + 1.2, 0.3, 12 - 1.5, 1, 1
-    'Buttons4(122).AddWall GetTex("Button122"), 12.67, -18.45 + (15 * 1) + 1.6, 12.67, -18.15 + (15 * 1) + 1.6, 0.3, 12 - 1.5, 1, 1
-    
-    'Buttons4(105).AddWall GetTex("Button105"), 12.67, -18.45 + (15 * 1), 12.67, -18.15 + (15 * 1), 0.3, 12 - 2, 1, 1
-    Buttons4(119).AddWall GetTex("Button119"), 12.67, -18.45 + (15 * 1) + 0.4, 12.67, -18.15 + (15 * 1) + 0.4, 0.3, 12 - 2, 1, 1
-    Buttons4(120).AddWall GetTex("Button120"), 12.67, -18.45 + (15 * 1) + 0.8, 12.67, -18.15 + (15 * 1) + 0.8, 0.3, 12 - 2, 1, 1
-    Buttons4(121).AddWall GetTex("Button121"), 12.67, -18.45 + (15 * 1) + 1.2, 12.67, -18.15 + (15 * 1) + 1.2, 0.3, 12 - 2, 1, 1
-    'Buttons4(109).AddWall GetTex("Button109"), 12.67, -18.45 + (15 * 1) + 1.6, 12.67, -18.15 + (15 * 1) + 1.6, 0.3, 12 - 2, 1, 1
-    
-    'Buttons4(110).AddWall GetTex("Button110"), 12.67, -18.45 + (15 * 1), 12.67, -18.15 + (15 * 1), 0.3, 12 - 2.5, 1, 1
-    Buttons4(113).AddWall GetTex("Button113"), 12.67, -18.45 + (15 * 1) + 0.4, 12.67, -18.15 + (15 * 1) + 0.4, 0.3, 12 - 2.5, 1, 1
-    Buttons4(114).AddWall GetTex("Button114"), 12.67, -18.45 + (15 * 1) + 0.8, 12.67, -18.15 + (15 * 1) + 0.8, 0.3, 12 - 2.5, 1, 1
-    Buttons4(118).AddWall GetTex("Button118"), 12.67, -18.45 + (15 * 1) + 1.2, 12.67, -18.15 + (15 * 1) + 1.2, 0.3, 12 - 2.5, 1, 1
-    'Buttons4(114).AddWall GetTex("Button114"), 12.67, -18.45 + (15 * 1) + 1.6, 12.67, -18.15 + (15 * 1) + 1.6, 0.3, 12 - 2.5, 1, 1
-    
-    'Buttons4(105).AddWall GetTex("Button105"), 12.67, -18.45 + (15 * 1), 12.67, -18.15 + (15 * 1), 0.3, 12 - 3, 1, 1
-    Buttons4(110).AddWall GetTex("Button110"), 12.67, -18.45 + (15 * 1) + 0.4, 12.67, -18.15 + (15 * 1) + 0.4, 0.3, 12 - 3, 1, 1
-    Buttons4(111).AddWall GetTex("Button111"), 12.67, -18.45 + (15 * 1) + 0.8, 12.67, -18.15 + (15 * 1) + 0.8, 0.3, 12 - 3, 1, 1
-    Buttons4(112).AddWall GetTex("Button112"), 12.67, -18.45 + (15 * 1) + 1.2, 12.67, -18.15 + (15 * 1) + 1.2, 0.3, 12 - 3, 1, 1
-    'Buttons4(109).AddWall GetTex("Button109"), 12.67, -18.45 + (15 * 1) + 1.6, 12.67, -18.15 + (15 * 1) + 1.6, 0.3, 12 - 3, 1, 1
-    
-    'Buttons4(100).AddWall GetTex("Button100"), 12.67, -18.45 + (15 * 1), 12.67, -18.15 + (15 * 1), 0.3, 12 - 3.5, 1, 1
-    Buttons4(107).AddWall GetTex("Button107"), 12.67, -18.45 + (15 * 1) + 0.4, 12.67, -18.15 + (15 * 1) + 0.4, 0.3, 12 - 3.5, 1, 1
-    Buttons4(108).AddWall GetTex("Button108"), 12.67, -18.45 + (15 * 1) + 0.8, 12.67, -18.15 + (15 * 1) + 0.8, 0.3, 12 - 3.5, 1, 1
-    Buttons4(109).AddWall GetTex("Button109"), 12.67, -18.45 + (15 * 1) + 1.2, 12.67, -18.15 + (15 * 1) + 1.2, 0.3, 12 - 3.5, 1, 1
-    'Buttons4(104).AddWall GetTex("Button104"), 12.67, -18.45 + (15 * 1) + 1.6, 12.67, -18.15 + (15 * 1) + 1.6, 0.3, 12 - 3.5, 1, 1
-    
-    'Buttons4(85).AddWall GetTex("Button85"), 12.67, -18.45 + (15*1), 12.67, -18.15 + (15*1), 0.3, 12 - 4, 1, 1
-    Buttons4(104).AddWall GetTex("Button104"), 12.67, -18.45 + (15 * 1) + 0.4, 12.67, -18.15 + (15 * 1) + 0.4, 0.3, 12 - 4, 1, 1
-    Buttons4(105).AddWall GetTex("Button105"), 12.67, -18.45 + (15 * 1) + 0.8, 12.67, -18.15 + (15 * 1) + 0.8, 0.3, 12 - 4, 1, 1
-    Buttons4(106).AddWall GetTex("Button106"), 12.67, -18.45 + (15 * 1) + 1.2, 12.67, -18.15 + (15 * 1) + 1.2, 0.3, 12 - 4, 1, 1
-    'Buttons4(89).AddWall GetTex("Button89"), 12.67, -18.45 + (15*1) + 1.6, 12.67, -18.15 + (15*1) + 1.6, 0.3, 12 - 4, 1, 1
-    
-    'Buttons4(80).AddWall GetTex("Button80"), 12.67, -18.45 + (15*1), 12.67, -18.15 + (15*1), 0.3, 12 - 4.5, 1, 1
-    Buttons4(101).AddWall GetTex("Button101"), 12.67, -18.45 + (15 * 1) + 0.4, 12.67, -18.15 + (15 * 1) + 0.4, 0.3, 12 - 4.5, 1, 1
-    Buttons4(102).AddWall GetTex("Button102"), 12.67, -18.45 + (15 * 1) + 0.8, 12.67, -18.15 + (15 * 1) + 0.8, 0.3, 12 - 4.5, 1, 1
-    Buttons4(103).AddWall GetTex("Button103"), 12.67, -18.45 + (15 * 1) + 1.2, 12.67, -18.15 + (15 * 1) + 1.2, 0.3, 12 - 4.5, 1, 1
-    'Buttons4(84).AddWall GetTex("Button84"), 12.67, -18.45 + (15*1) + 1.6, 12.67, -18.15 + (15*1) + 1.6, 0.3, 12 - 4.5, 1, 1
-    
-    'Buttons4(2).AddWall GetTex("Button2"), 12.67, -18.45 + (15*1), 12.67, -18.15 + (15*1), 0.3, 12 - 5, 1, 1
-    Buttons4(-1).AddWall GetTex("ButtonL"), 12.67, -18.45 + (15 * 1) + 0.4, 12.67, -18.15 + (15 * 1) + 0.4, 0.3, 12 - 5, 1, 1
-    Buttons4(80).AddWall GetTex("Button80"), 12.67, -18.45 + (15 * 1) + 0.8, 12.67, -18.15 + (15 * 1) + 0.8, 0.3, 12 - 5, 1, 1
-    Buttons4(100).AddWall GetTex("Button100"), 12.67, -18.45 + (15 * 1) + 1.2, 12.67, -18.15 + (15 * 1) + 1.2, 0.3, 12 - 5, 1, 1
-    'Buttons4(79).AddWall GetTex("Button79"), 12.67, -18.45 + (15*1) + 1.6, 12.67, -18.15 + (15*1) + 1.6, 0.3, 12 - 5, 1, 1
-    
-    'Buttons4(-1).AddWall GetTex("ButtonL"), 12.67, -18.45 + (15*1), 12.67, -18.15 + (15*1), 0.3, 12 - 5.5, 1, 1
-    'Buttons4(1).AddWall GetTex("Button1"), 12.67, -18.45 + (15*1) + 0.4, 12.67, -18.15 + (15*1) + 0.4, 0.3, 12 - 5.5, 1, 1
-    'Buttons4(1).AddWall GetTex("Button1"), 12.67, -18.45 + (15*1) + 0.8, 12.67, -18.15 + (15*1) + 0.8, 0.3, 12 - 5.5, 1, 1
-    'Buttons4(1).AddWall GetTex("Button1"), 12.67, -18.45 + (15*1) + 1.2, 12.67, -18.15 + (15*1) + 1.2, 0.3, 12 - 5.5, 1, 1
-    'Buttons4(0).AddWall GetTex("ButtonM"), 12.67, -18.45 + (15*1) + 1.6, 12.67, -18.15 + (15*1) + 1.6, 0.3, 12 - 5.5, 1, 1
-
-'Elevator 5
-
-    'Buttons5(96).AddWall GetTex("Button96"), -12.67, -27.85 + (15 * 2), -12.67, -27.55 + (15 * 2), 0.3, 12, -1, 1
-    'Buttons5(97).AddWall GetTex("Button97"), -12.67, -27.85 + (15 * 2) - 0.4, -12.67, -27.55 + (15 * 2) - 0.4, 0.3, 12, -1, 1
-    'Buttons5(98).AddWall GetTex("Button98"), -12.67, -27.85 + (15 * 2) - 0.8, -12.67, -27.55 + (15 * 2) - 0.8, 0.3, 12, -1, 1
-    'Buttons5(99).AddWall GetTex("Button99"), -12.67, -27.85 + (15 * 2) - 1.2, -12.67, -27.55 + (15 * 2) - 1.2, 0.3, 12, -1, 1
-    'Buttons5(134).AddWall GetTex("Button134"), -12.67, -27.85 + (15 * 2) - 1.6, -12.67, -27.55 + (15 * 2) - 1.6, 0.3, 12, -1, 1
-    
-    'Buttons5(130).AddWall GetTex("Button130"), -12.67, -27.85 + (15*2), -12.67, -27.55 + (15*2), 0.3, 12 - 0.5, -1, 1
-    'Buttons5(98).AddWall GetTex("Button98"), -12.67, -27.85 + (15 * 2) - 0.4, -12.67, -27.55 + (15 * 2) - 0.4, 0.3, 12 - 0.5, -1, 1
-    'Buttons5(99).AddWall GetTex("Button99"), -12.67, -27.85 + (15 * 2) - 0.8, -12.67, -27.55 + (15 * 2) - 0.8, 0.3, 12 - 0.5, -1, 1
-    'Buttons5(134).AddWall GetTex("Button134"), -12.67, -27.85 + (15 * 2) - 1.2, -12.67, -27.55 + (15 * 2) - 1.2, 0.3, 12 - 0.5, -1, 1
-    'Buttons5(134).AddWall GetTex("Button134"), -12.67, -27.85 + (15*2) - 1.6, -12.67, -27.55 + (15*2) - 1.6, 0.3, 12 - 0.5, -1, 1
-    
-    'Buttons5(91).AddWall GetTex("Button91"), -12.67, -27.85 + (15 * 2), -12.67, -27.55 + (15 * 2), 0.3, 12 - 1, -1, 1
-    Buttons5(98).AddWall GetTex("Button98"), -12.67, -27.85 + (15 * 2) - 0.4, -12.67, -27.55 + (15 * 2) - 0.4, 0.3, 12 - 1, -1, 1
-    'Buttons5(99).AddWall GetTex("Button99"), -12.67, -27.85 + (15 * 2) - 0.8, -12.67, -27.55 + (15 * 2) - 0.8, 0.3, 12 - 1, -1, 1
-    Buttons5(99).AddWall GetTex("Button99"), -12.67, -27.85 + (15 * 2) - 1.2, -12.67, -27.55 + (15 * 2) - 1.2, 0.3, 12 - 1, -1, 1
-    'Buttons5(95).AddWall GetTex("Button95"), -12.67, -27.85 + (15 * 2) - 1.6, -12.67, -27.55 + (15 * 2) - 1.6, 0.3, 12 - 1, -1, 1
-    
-    'Buttons5(96).AddWall GetTex("Button96"), -12.67, -27.85 + (15 * 2), -12.67, -27.55 + (15 * 2), 0.3, 12 - 1.5, -1, 1
-    Buttons5(95).AddWall GetTex("Button95"), -12.67, -27.85 + (15 * 2) - 0.4, -12.67, -27.55 + (15 * 2) - 0.4, 0.3, 12 - 1.5, -1, 1
-    Buttons5(96).AddWall GetTex("Button96"), -12.67, -27.85 + (15 * 2) - 0.8, -12.67, -27.55 + (15 * 2) - 0.8, 0.3, 12 - 1.5, -1, 1
-    Buttons5(97).AddWall GetTex("Button97"), -12.67, -27.85 + (15 * 2) - 1.2, -12.67, -27.55 + (15 * 2) - 1.2, 0.3, 12 - 1.5, -1, 1
-    'Buttons5(134).AddWall GetTex("Button134"), -12.67, -27.85 + (15 * 2) - 1.6, -12.67, -27.55 + (15 * 2) - 1.6, 0.3, 12 - 1.5, -1, 1
-    
-    'Buttons5(91).AddWall GetTex("Button91"), -12.67, -27.85 + (15 * 2), -12.67, -27.55 + (15 * 2), 0.3, 12 - 2, -1, 1
-    Buttons5(92).AddWall GetTex("Button92"), -12.67, -27.85 + (15 * 2) - 0.4, -12.67, -27.55 + (15 * 2) - 0.4, 0.3, 12 - 2, -1, 1
-    Buttons5(93).AddWall GetTex("Button93"), -12.67, -27.85 + (15 * 2) - 0.8, -12.67, -27.55 + (15 * 2) - 0.8, 0.3, 12 - 2, -1, 1
-    Buttons5(94).AddWall GetTex("Button94"), -12.67, -27.85 + (15 * 2) - 1.2, -12.67, -27.55 + (15 * 2) - 1.2, 0.3, 12 - 2, -1, 1
-    'Buttons5(95).AddWall GetTex("Button95"), -12.67, -27.85 + (15 * 2) - 1.6, -12.67, -27.55 + (15 * 2) - 1.6, 0.3, 12 - 2, -1, 1
-    
-    'Buttons5(86).AddWall GetTex("Button86"), -12.67, -27.85 + (15 * 2), -12.67, -27.55 + (15 * 2), 0.3, 12 - 2.5, -1, 1
-    Buttons5(89).AddWall GetTex("Button89"), -12.67, -27.85 + (15 * 2) - 0.4, -12.67, -27.55 + (15 * 2) - 0.4, 0.3, 12 - 2.5, -1, 1
-    Buttons5(90).AddWall GetTex("Button90"), -12.67, -27.85 + (15 * 2) - 0.8, -12.67, -27.55 + (15 * 2) - 0.8, 0.3, 12 - 2.5, -1, 1
-    Buttons5(91).AddWall GetTex("Button91"), -12.67, -27.85 + (15 * 2) - 1.2, -12.67, -27.55 + (15 * 2) - 1.2, 0.3, 12 - 2.5, -1, 1
-    'Buttons5(90).AddWall GetTex("Button90"), -12.67, -27.85 + (15 * 2) - 1.6, -12.67, -27.55 + (15 * 2) - 1.6, 0.3, 12 - 2.5, -1, 1
-    
-    'Buttons5(81).AddWall GetTex("Button81"), -12.67, -27.85 + (15 * 2), -12.67, -27.55 + (15 * 2), 0.3, 12 - 3, -1, 1
-    Buttons5(86).AddWall GetTex("Button86"), -12.67, -27.85 + (15 * 2) - 0.4, -12.67, -27.55 + (15 * 2) - 0.4, 0.3, 12 - 3, -1, 1
-    Buttons5(87).AddWall GetTex("Button87"), -12.67, -27.85 + (15 * 2) - 0.8, -12.67, -27.55 + (15 * 2) - 0.8, 0.3, 12 - 3, -1, 1
-    Buttons5(88).AddWall GetTex("Button88"), -12.67, -27.85 + (15 * 2) - 1.2, -12.67, -27.55 + (15 * 2) - 1.2, 0.3, 12 - 3, -1, 1
-    'Buttons5(85).AddWall GetTex("Button85"), -12.67, -27.85 + (15 * 2) - 1.6, -12.67, -27.55 + (15 * 2) - 1.6, 0.3, 12 - 3, -1, 1
-    
-    'Buttons5(90).AddWall GetTex("Button90"), -12.67, -27.85 + (15*2), -12.67, -27.55 + (15*2), 0.3, 12 - 3.5, -1, 1
-    Buttons5(83).AddWall GetTex("Button83"), -12.67, -27.85 + (15 * 2) - 0.4, -12.67, -27.55 + (15 * 2) - 0.4, 0.3, 12 - 3.5, -1, 1
-    Buttons5(84).AddWall GetTex("Button84"), -12.67, -27.85 + (15 * 2) - 0.8, -12.67, -27.55 + (15 * 2) - 0.8, 0.3, 12 - 3.5, -1, 1
-    Buttons5(85).AddWall GetTex("Button85"), -12.67, -27.85 + (15 * 2) - 1.2, -12.67, -27.55 + (15 * 2) - 1.2, 0.3, 12 - 3.5, -1, 1
-    'Buttons5(94).AddWall GetTex("Button94"), -12.67, -27.85 + (15*2) - 1.6, -12.67, -27.55 + (15*2) - 1.6, 0.3, 12 - 3.5, -1, 1
-    
-    'Buttons5(81).AddWall GetTex("Button85"), -12.67, -27.85 + (15*2), -12.67, -27.55 + (15*2), 0.3, 12 - 4, -1, 1
-    Buttons5(80).AddWall GetTex("Button80"), -12.67, -27.85 + (15 * 2) - 0.4, -12.67, -27.55 + (15 * 2) - 0.4, 0.3, 12 - 4, -1, 1
-    Buttons5(81).AddWall GetTex("Button81"), -12.67, -27.85 + (15 * 2) - 0.8, -12.67, -27.55 + (15 * 2) - 0.8, 0.3, 12 - 4, -1, 1
-    Buttons5(82).AddWall GetTex("Button82"), -12.67, -27.85 + (15 * 2) - 1.2, -12.67, -27.55 + (15 * 2) - 1.2, 0.3, 12 - 4, -1, 1
-    'Buttons5(89).AddWall GetTex("Button89"), -12.67, -27.85 + (15*2) - 1.6, -12.67, -27.55 + (15*2) - 1.6, 0.3, 12 - 4, -1, 1
-    
-    'Buttons5(80).AddWall GetTex("Button80"), -12.67, -27.85 + (15*2), -12.67, -27.55 + (15*2), 0.3, 12 - 4.5, -1, 1
-    'Buttons5(80).AddWall GetTex("Button80"), -12.67, -27.85 + (15 * 2) - 0.4, -12.67, -27.55 + (15 * 2) - 0.4, 0.3, 12 - 4.5, -1, 1
-    Buttons5(-1).AddWall GetTex("ButtonL"), -12.67, -27.85 + (15 * 2) - 0.8, -12.67, -27.55 + (15 * 2) - 0.8, 0.3, 12 - 4.5, -1, 1
-    'Buttons5(82).AddWall GetTex("Button82"), -12.67, -27.85 + (15 * 2) - 1.2, -12.67, -27.55 + (15 * 2) - 1.2, 0.3, 12 - 4.5, -1, 1
-    'Buttons5(84).AddWall GetTex("Button84"), -12.67, -27.85 + (15*2) - 1.6, -12.67, -27.55 + (15*2) - 1.6, 0.3, 12 - 4.5, -1, 1
-    
-    'Buttons5(2).AddWall GetTex("Button2"), -12.67, -27.85 + (15*2), -12.67, -27.55 + (15*2), 0.3, 12 - 5, -1, 1
-    'Buttons5(39).AddWall GetTex("Button39"), -12.67, -27.85 + (15*2) - 0.4, -12.67, -27.55 + (15*2) - 0.4, 0.3, 12 - 5, -1, 1
-    'Buttons5(-1).AddWall GetTex("ButtonL"), -12.67, -27.85 + (15 * 2) - 0.8, -12.67, -27.55 + (15 * 2) - 0.8, 0.3, 12 - 5, -1, 1
-    'Buttons5(65).AddWall GetTex("Button65"), -12.67, -27.85 + (15*2) - 1.2, -12.67, -27.55 + (15*2) - 1.2, 0.3, 12 - 5, -1, 1
-    'Buttons5(79).AddWall GetTex("Button79"), -12.67, -27.85 + (15*2) - 1.6, -12.67, -27.55 + (15*2) - 1.6, 0.3, 12 - 5, -1, 1
-    
-    'Buttons5(-1).AddWall GetTex("ButtonL"), -12.67, -27.85 + (15*2), -12.67, -27.55 + (15*2), 0.3, 12 - 5.5, -1, 1
-    'Buttons5(1).AddWall GetTex("Button1"), -12.67, -27.85 + (15*2) - 0.4, -12.67, -27.55 + (15*2) - 0.4, 0.3, 12 - 5.5, -1, 1
-    'Buttons5(1).AddWall GetTex("Button1"), -12.67, -27.85 + (15*2) - 0.8, -12.67, -27.55 + (15*2) - 0.8, 0.3, 12 - 5.5, -1, 1
-    'Buttons5(1).AddWall GetTex("Button1"), -12.67, -27.85 + (15*2) - 1.2, -12.67, -27.55 + (15*2) - 1.2, 0.3, 12 - 5.5, -1, 1
-    'Buttons5(0).AddWall GetTex("ButtonM"), -12.67, -27.85 + (15*2) - 1.6, -12.67, -27.55 + (15*2) - 1.6, 0.3, 12 - 5.5, -1, 1
-
-'Elevator 6
-
-    'Buttons6(96).AddWall GetTex("Button96"), 12.67, -18.45 + (15 * 2), 12.67, -18.15 + (15 * 2), 0.3, 12, 1, 1
-    'Buttons6(97).AddWall GetTex("Button97"), 12.67, -18.45 + (15 * 2) + 0.4, 12.67, -18.15 + (15 * 2) + 0.4, 0.3, 12, 1, 1
-    'Buttons6(98).AddWall GetTex("Button98"), 12.67, -18.45 + (15 * 2) + 0.8, 12.67, -18.15 + (15 * 2) + 0.8, 0.3, 12, 1, 1
-    'Buttons6(99).AddWall GetTex("Button99"), 12.67, -18.45 + (15 * 2) + 1.2, 12.67, -18.15 + (15 * 2) + 1.2, 0.3, 12, 1, 1
-    'Buttons6(134).AddWall GetTex("Button134"), 12.67, -18.45 + (15 * 2) + 1.6, 12.67, -18.15 + (15 * 2) + 1.6, 0.3, 12, 1, 1
-    
-    'Buttons6(130).AddWall GetTex("Button130"), 12.67, -18.45 + (15*2), 12.67, -18.15 + (15*2), 0.3, 12 - 0.5, 1, 1
-    'Buttons6(131).AddWall GetTex("Button131"), 12.67, -18.45 + (15*2) + 0.4, 12.67, -18.15 + (15*2) + 0.4, 0.3, 12 - 0.5, 1, 1
-    'Buttons6(132).AddWall GetTex("Button132"), 12.67, -18.45 + (15*2) + 0.8, 12.67, -18.15 + (15*2) + 0.8, 0.3, 12 - 0.5, 1, 1
-    'Buttons6(133).AddWall GetTex("Button133"), 12.67, -18.45 + (15*2) + 1.2, 12.67, -18.15 + (15*2) + 1.2, 0.3, 12 - 0.5, 1, 1
-    'Buttons6(134).AddWall GetTex("Button134"), 12.67, -18.45 + (15*2) + 1.6, 12.67, -18.15 + (15*2) + 1.6, 0.3, 12 - 0.5, 1, 1
-    
-    'Buttons6(91).AddWall GetTex("Button91"), 12.67, -18.45 + (15 * 2), 12.67, -18.15 + (15 * 2), 0.3, 12 - 1, 1, 1
-    Buttons6(98).AddWall GetTex("Button98"), 12.67, -18.45 + (15 * 2) + 0.4, 12.67, -18.15 + (15 * 2) + 0.4, 0.3, 12 - 1, 1, 1
-    'Buttons6(99).AddWall GetTex("Button99"), 12.67, -18.45 + (15 * 2) + 0.8, 12.67, -18.15 + (15 * 2) + 0.8, 0.3, 12 - 1, 1, 1
-    Buttons6(99).AddWall GetTex("Button99"), 12.67, -18.45 + (15 * 2) + 1.2, 12.67, -18.15 + (15 * 2) + 1.2, 0.3, 12 - 1, 1, 1
-    'Buttons6(95).AddWall GetTex("Button95"), 12.67, -18.45 + (15 * 2) + 1.6, 12.67, -18.15 + (15 * 2) + 1.6, 0.3, 12 - 1, 1, 1
-    
-    'Buttons6(96).AddWall GetTex("Button96"), 12.67, -18.45 + (15 * 2), 12.67, -18.15 + (15 * 2), 0.3, 12 - 1.5, 1, 1
-    Buttons6(95).AddWall GetTex("Button95"), 12.67, -18.45 + (15 * 2) + 0.4, 12.67, -18.15 + (15 * 2) + 0.4, 0.3, 12 - 1.5, 1, 1
-    Buttons6(96).AddWall GetTex("Button96"), 12.67, -18.45 + (15 * 2) + 0.8, 12.67, -18.15 + (15 * 2) + 0.8, 0.3, 12 - 1.5, 1, 1
-    Buttons6(97).AddWall GetTex("Button97"), 12.67, -18.45 + (15 * 2) + 1.2, 12.67, -18.15 + (15 * 2) + 1.2, 0.3, 12 - 1.5, 1, 1
-    'Buttons6(134).AddWall GetTex("Button134"), 12.67, -18.45 + (15 * 2) + 1.6, 12.67, -18.15 + (15 * 2) + 1.6, 0.3, 12 - 1.5, 1, 1
-    
-    'Buttons6(91).AddWall GetTex("Button91"), 12.67, -18.45 + (15 * 2), 12.67, -18.15 + (15 * 2), 0.3, 12 - 2, 1, 1
-    Buttons6(92).AddWall GetTex("Button92"), 12.67, -18.45 + (15 * 2) + 0.4, 12.67, -18.15 + (15 * 2) + 0.4, 0.3, 12 - 2, 1, 1
-    Buttons6(93).AddWall GetTex("Button93"), 12.67, -18.45 + (15 * 2) + 0.8, 12.67, -18.15 + (15 * 2) + 0.8, 0.3, 12 - 2, 1, 1
-    Buttons6(94).AddWall GetTex("Button94"), 12.67, -18.45 + (15 * 2) + 1.2, 12.67, -18.15 + (15 * 2) + 1.2, 0.3, 12 - 2, 1, 1
-    'Buttons6(95).AddWall GetTex("Button95"), 12.67, -18.45 + (15 * 2) + 1.6, 12.67, -18.15 + (15 * 2) + 1.6, 0.3, 12 - 2, 1, 1
-    
-    'Buttons6(86).AddWall GetTex("Button86"), 12.67, -18.45 + (15 * 2), 12.67, -18.15 + (15 * 2), 0.3, 12 - 2.5, 1, 1
-    Buttons6(89).AddWall GetTex("Button89"), 12.67, -18.45 + (15 * 2) + 0.4, 12.67, -18.15 + (15 * 2) + 0.4, 0.3, 12 - 2.5, 1, 1
-    Buttons6(90).AddWall GetTex("Button90"), 12.67, -18.45 + (15 * 2) + 0.8, 12.67, -18.15 + (15 * 2) + 0.8, 0.3, 12 - 2.5, 1, 1
-    Buttons6(91).AddWall GetTex("Button91"), 12.67, -18.45 + (15 * 2) + 1.2, 12.67, -18.15 + (15 * 2) + 1.2, 0.3, 12 - 2.5, 1, 1
-    'Buttons6(90).AddWall GetTex("Button90"), 12.67, -18.45 + (15 * 2) + 1.6, 12.67, -18.15 + (15 * 2) + 1.6, 0.3, 12 - 2.5, 1, 1
-    
-    'Buttons6(81).AddWall GetTex("Button81"), 12.67, -18.45 + (15 * 2), 12.67, -18.15 + (15 * 2), 0.3, 12 - 3, 1, 1
-    Buttons6(86).AddWall GetTex("Button86"), 12.67, -18.45 + (15 * 2) + 0.4, 12.67, -18.15 + (15 * 2) + 0.4, 0.3, 12 - 3, 1, 1
-    Buttons6(87).AddWall GetTex("Button87"), 12.67, -18.45 + (15 * 2) + 0.8, 12.67, -18.15 + (15 * 2) + 0.8, 0.3, 12 - 3, 1, 1
-    Buttons6(88).AddWall GetTex("Button88"), 12.67, -18.45 + (15 * 2) + 1.2, 12.67, -18.15 + (15 * 2) + 1.2, 0.3, 12 - 3, 1, 1
-    'Buttons6(85).AddWall GetTex("Button85"), 12.67, -18.45 + (15 * 2) + 1.6, 12.67, -18.15 + (15 * 2) + 1.6, 0.3, 12 - 3, 1, 1
-    
-    'Buttons6(90).AddWall GetTex("Button90"), 12.67, -18.45 + (15*2), 12.67, -18.15 + (15*2), 0.3, 12 - 3.5, 1, 1
-    Buttons6(83).AddWall GetTex("Button83"), 12.67, -18.45 + (15 * 2) + 0.4, 12.67, -18.15 + (15 * 2) + 0.4, 0.3, 12 - 3.5, 1, 1
-    Buttons6(84).AddWall GetTex("Button84"), 12.67, -18.45 + (15 * 2) + 0.8, 12.67, -18.15 + (15 * 2) + 0.8, 0.3, 12 - 3.5, 1, 1
-    Buttons6(85).AddWall GetTex("Button85"), 12.67, -18.45 + (15 * 2) + 1.2, 12.67, -18.15 + (15 * 2) + 1.2, 0.3, 12 - 3.5, 1, 1
-    'Buttons6(94).AddWall GetTex("Button94"), 12.67, -18.45 + (15*2) + 1.6, 12.67, -18.15 + (15*2) + 1.6, 0.3, 12 - 3.5, 1, 1
-    
-    'Buttons6(85).AddWall GetTex("Button85"), 12.67, -18.45 + (15*2), 12.67, -18.15 + (15*2), 0.3, 12 - 4, 1, 1
-    Buttons6(80).AddWall GetTex("Button80"), 12.67, -18.45 + (15 * 2) + 0.4, 12.67, -18.15 + (15 * 2) + 0.4, 0.3, 12 - 4, 1, 1
-    Buttons6(81).AddWall GetTex("Button81"), 12.67, -18.45 + (15 * 2) + 0.8, 12.67, -18.15 + (15 * 2) + 0.8, 0.3, 12 - 4, 1, 1
-    Buttons6(82).AddWall GetTex("Button82"), 12.67, -18.45 + (15 * 2) + 1.2, 12.67, -18.15 + (15 * 2) + 1.2, 0.3, 12 - 4, 1, 1
-    'Buttons6(89).AddWall GetTex("Button89"), 12.67, -18.45 + (15*2) + 1.6, 12.67, -18.15 + (15*2) + 1.6, 0.3, 12 - 4, 1, 1
-    
-    'Buttons6(80).AddWall GetTex("Button80"), 12.67, -18.45 + (15*2), 12.67, -18.15 + (15*2), 0.3, 12 - 4.5, 1, 1
-    'Buttons6(80).AddWall GetTex("Button80"), 12.67, -18.45 + (15 * 2) + 0.4, 12.67, -18.15 + (15 * 2) + 0.4, 0.3, 12 - 4.5, 1, 1
-    Buttons6(-1).AddWall GetTex("ButtonL"), 12.67, -18.45 + (15 * 2) + 0.8, 12.67, -18.15 + (15 * 2) + 0.8, 0.3, 12 - 4.5, 1, 1
-    'Buttons6(82).AddWall GetTex("Button82"), 12.67, -18.45 + (15 * 2) + 1.2, 12.67, -18.15 + (15 * 2) + 1.2, 0.3, 12 - 4.5, 1, 1
-    'Buttons6(84).AddWall GetTex("Button84"), 12.67, -18.45 + (15*2) + 1.6, 12.67, -18.15 + (15*2) + 1.6, 0.3, 12 - 4.5, 1, 1
-    
-    'Buttons6(2).AddWall GetTex("Button2"), 12.67, -18.45 + (15*2), 12.67, -18.15 + (15*2), 0.3, 12 - 5, 1, 1
-    'Buttons6(39).AddWall GetTex("Button39"), 12.67, -18.45 + (15*2) + 0.4, 12.67, -18.15 + (15*2) + 0.4, 0.3, 12 - 5, 1, 1
-    'Buttons6(-1).AddWall GetTex("ButtonL"), 12.67, -18.45 + (15 * 2) + 0.8, 12.67, -18.15 + (15 * 2) + 0.8, 0.3, 12 - 5, 1, 1
-    'Buttons6(65).AddWall GetTex("Button65"), 12.67, -18.45 + (15*2) + 1.2, 12.67, -18.15 + (15*2) + 1.2, 0.3, 12 - 5, 1, 1
-    'Buttons6(79).AddWall GetTex("Button79"), 12.67, -18.45 + (15*2) + 1.6, 12.67, -18.15 + (15*2) + 1.6, 0.3, 12 - 5, 1, 1
-    
-    'Buttons6(-1).AddWall GetTex("ButtonL"), 12.67, -18.45 + (15*2), 12.67, -18.15 + (15*2), 0.3, 12 - 5.5, 1, 1
-    'Buttons6(1).AddWall GetTex("Button1"), 12.67, -18.45 + (15*2) + 0.4, 12.67, -18.15 + (15*2) + 0.4, 0.3, 12 - 5.5, 1, 1
-    'Buttons6(1).AddWall GetTex("Button1"), 12.67, -18.45 + (15*2) + 0.8, 12.67, -18.15 + (15*2) + 0.8, 0.3, 12 - 5.5, 1, 1
-    'Buttons6(1).AddWall GetTex("Button1"), 12.67, -18.45 + (15*2) + 1.2, 12.67, -18.15 + (15*2) + 1.2, 0.3, 12 - 5.5, 1, 1
-    'Buttons6(0).AddWall GetTex("ButtonM"), 12.67, -18.45 + (15*2) + 1.6, 12.67, -18.15 + (15*2) + 1.6, 0.3, 12 - 5.5, 1, 1
-
-'Elevator 7
-
-    'Buttons7(135).AddWall GetTex("Button135"), -12.67, -27.85 + (15*3), -12.67, -27.55 + (15*3), 0.3, 12, -1, 1
-    'Buttons7(1).AddWall GetTex("Button1"), -12.67, -27.85 + (15*3) - 0.4, -12.67, -27.55 + (15*3) - 0.4, 0.3, 12, -1, 1
-    'Buttons7(136).AddWall GetTex("Button136"), -12.67, -27.85 + (15*3) - 0.8, -12.67, -27.55 + (15*3) - 0.8, 0.3, 12, -1, 1
-    'Buttons7(137).AddWall GetTex("Button137"), -12.67, -27.85 + (15*3) - 1.2, -12.67, -27.55 + (15*3) - 1.2, 0.3, 12, -1, 1
-    'Buttons7(138).AddWall GetTex("ButtonR"), -12.67, -27.85 + (15*3) - 1.6, -12.67, -27.55 + (15*3) - 1.6, 0.3, 12, -1, 1
-    
-    Buttons7(75).AddWall GetTex("Button75"), -12.67, -27.85 + (15 * 3), -12.67, -27.55 + (15 * 3), 0.3, 12 - 0.5, -1, 1
-    Buttons7(76).AddWall GetTex("Button76"), -12.67, -27.85 + (15 * 3) - 0.4, -12.67, -27.55 + (15 * 3) - 0.4, 0.3, 12 - 0.5, -1, 1
-    Buttons7(77).AddWall GetTex("Button77"), -12.67, -27.85 + (15 * 3) - 0.8, -12.67, -27.55 + (15 * 3) - 0.8, 0.3, 12 - 0.5, -1, 1
-    Buttons7(78).AddWall GetTex("Button78"), -12.67, -27.85 + (15 * 3) - 1.2, -12.67, -27.55 + (15 * 3) - 1.2, 0.3, 12 - 0.5, -1, 1
-    Buttons7(79).AddWall GetTex("Button79"), -12.67, -27.85 + (15 * 3) - 1.6, -12.67, -27.55 + (15 * 3) - 1.6, 0.3, 12 - 0.5, -1, 1
-    
-    Buttons7(70).AddWall GetTex("Button70"), -12.67, -27.85 + (15 * 3), -12.67, -27.55 + (15 * 3), 0.3, 12 - 1, -1, 1
-    Buttons7(71).AddWall GetTex("Button71"), -12.67, -27.85 + (15 * 3) - 0.4, -12.67, -27.55 + (15 * 3) - 0.4, 0.3, 12 - 1, -1, 1
-    Buttons7(72).AddWall GetTex("Button72"), -12.67, -27.85 + (15 * 3) - 0.8, -12.67, -27.55 + (15 * 3) - 0.8, 0.3, 12 - 1, -1, 1
-    Buttons7(73).AddWall GetTex("Button73"), -12.67, -27.85 + (15 * 3) - 1.2, -12.67, -27.55 + (15 * 3) - 1.2, 0.3, 12 - 1, -1, 1
-    Buttons7(74).AddWall GetTex("Button74"), -12.67, -27.85 + (15 * 3) - 1.6, -12.67, -27.55 + (15 * 3) - 1.6, 0.3, 12 - 1, -1, 1
-    
-    Buttons7(65).AddWall GetTex("Button65"), -12.67, -27.85 + (15 * 3), -12.67, -27.55 + (15 * 3), 0.3, 12 - 1.5, -1, 1
-    Buttons7(66).AddWall GetTex("Button66"), -12.67, -27.85 + (15 * 3) - 0.4, -12.67, -27.55 + (15 * 3) - 0.4, 0.3, 12 - 1.5, -1, 1
-    Buttons7(67).AddWall GetTex("Button67"), -12.67, -27.85 + (15 * 3) - 0.8, -12.67, -27.55 + (15 * 3) - 0.8, 0.3, 12 - 1.5, -1, 1
-    Buttons7(68).AddWall GetTex("Button68"), -12.67, -27.85 + (15 * 3) - 1.2, -12.67, -27.55 + (15 * 3) - 1.2, 0.3, 12 - 1.5, -1, 1
-    Buttons7(69).AddWall GetTex("Button69"), -12.67, -27.85 + (15 * 3) - 1.6, -12.67, -27.55 + (15 * 3) - 1.6, 0.3, 12 - 1.5, -1, 1
-    
-    Buttons7(60).AddWall GetTex("Button60"), -12.67, -27.85 + (15 * 3), -12.67, -27.55 + (15 * 3), 0.3, 12 - 2, -1, 1
-    Buttons7(61).AddWall GetTex("Button61"), -12.67, -27.85 + (15 * 3) - 0.4, -12.67, -27.55 + (15 * 3) - 0.4, 0.3, 12 - 2, -1, 1
-    Buttons7(62).AddWall GetTex("Button62"), -12.67, -27.85 + (15 * 3) - 0.8, -12.67, -27.55 + (15 * 3) - 0.8, 0.3, 12 - 2, -1, 1
-    Buttons7(63).AddWall GetTex("Button63"), -12.67, -27.85 + (15 * 3) - 1.2, -12.67, -27.55 + (15 * 3) - 1.2, 0.3, 12 - 2, -1, 1
-    Buttons7(64).AddWall GetTex("Button64"), -12.67, -27.85 + (15 * 3) - 1.6, -12.67, -27.55 + (15 * 3) - 1.6, 0.3, 12 - 2, -1, 1
-    
-    Buttons7(55).AddWall GetTex("Button55"), -12.67, -27.85 + (15 * 3), -12.67, -27.55 + (15 * 3), 0.3, 12 - 2.5, -1, 1
-    Buttons7(56).AddWall GetTex("Button56"), -12.67, -27.85 + (15 * 3) - 0.4, -12.67, -27.55 + (15 * 3) - 0.4, 0.3, 12 - 2.5, -1, 1
-    Buttons7(57).AddWall GetTex("Button57"), -12.67, -27.85 + (15 * 3) - 0.8, -12.67, -27.55 + (15 * 3) - 0.8, 0.3, 12 - 2.5, -1, 1
-    Buttons7(58).AddWall GetTex("Button58"), -12.67, -27.85 + (15 * 3) - 1.2, -12.67, -27.55 + (15 * 3) - 1.2, 0.3, 12 - 2.5, -1, 1
-    Buttons7(59).AddWall GetTex("Button59"), -12.67, -27.85 + (15 * 3) - 1.6, -12.67, -27.55 + (15 * 3) - 1.6, 0.3, 12 - 2.5, -1, 1
-    
-    Buttons7(50).AddWall GetTex("Button50"), -12.67, -27.85 + (15 * 3), -12.67, -27.55 + (15 * 3), 0.3, 12 - 3, -1, 1
-    Buttons7(51).AddWall GetTex("Button51"), -12.67, -27.85 + (15 * 3) - 0.4, -12.67, -27.55 + (15 * 3) - 0.4, 0.3, 12 - 3, -1, 1
-    Buttons7(52).AddWall GetTex("Button52"), -12.67, -27.85 + (15 * 3) - 0.8, -12.67, -27.55 + (15 * 3) - 0.8, 0.3, 12 - 3, -1, 1
-    Buttons7(53).AddWall GetTex("Button53"), -12.67, -27.85 + (15 * 3) - 1.2, -12.67, -27.55 + (15 * 3) - 1.2, 0.3, 12 - 3, -1, 1
-    Buttons7(54).AddWall GetTex("Button54"), -12.67, -27.85 + (15 * 3) - 1.6, -12.67, -27.55 + (15 * 3) - 1.6, 0.3, 12 - 3, -1, 1
-    
-    Buttons7(45).AddWall GetTex("Button45"), -12.67, -27.85 + (15 * 3), -12.67, -27.55 + (15 * 3), 0.3, 12 - 3.5, -1, 1
-    Buttons7(46).AddWall GetTex("Button46"), -12.67, -27.85 + (15 * 3) - 0.4, -12.67, -27.55 + (15 * 3) - 0.4, 0.3, 12 - 3.5, -1, 1
-    Buttons7(47).AddWall GetTex("Button47"), -12.67, -27.85 + (15 * 3) - 0.8, -12.67, -27.55 + (15 * 3) - 0.8, 0.3, 12 - 3.5, -1, 1
-    Buttons7(48).AddWall GetTex("Button48"), -12.67, -27.85 + (15 * 3) - 1.2, -12.67, -27.55 + (15 * 3) - 1.2, 0.3, 12 - 3.5, -1, 1
-    Buttons7(49).AddWall GetTex("Button49"), -12.67, -27.85 + (15 * 3) - 1.6, -12.67, -27.55 + (15 * 3) - 1.6, 0.3, 12 - 3.5, -1, 1
-    
-    Buttons7(40).AddWall GetTex("Button40"), -12.67, -27.85 + (15 * 3), -12.67, -27.55 + (15 * 3), 0.3, 12 - 4, -1, 1
-    Buttons7(41).AddWall GetTex("Button41"), -12.67, -27.85 + (15 * 3) - 0.4, -12.67, -27.55 + (15 * 3) - 0.4, 0.3, 12 - 4, -1, 1
-    Buttons7(42).AddWall GetTex("Button42"), -12.67, -27.85 + (15 * 3) - 0.8, -12.67, -27.55 + (15 * 3) - 0.8, 0.3, 12 - 4, -1, 1
-    Buttons7(43).AddWall GetTex("Button43"), -12.67, -27.85 + (15 * 3) - 1.2, -12.67, -27.55 + (15 * 3) - 1.2, 0.3, 12 - 4, -1, 1
-    Buttons7(44).AddWall GetTex("Button44"), -12.67, -27.85 + (15 * 3) - 1.6, -12.67, -27.55 + (15 * 3) - 1.6, 0.3, 12 - 4, -1, 1
-    
-    'Buttons7(-1).AddWall GetTex("ButtonL"), -12.67, -27.85 + (15 * 3), -12.67, -27.55 + (15 * 3), 0.3, 12 - 4.5, -1, 1
-    'Buttons7(41).AddWall GetTex("Button41"), -12.67, -27.85 + (15*3) - 0.4, -12.67, -27.55 + (15*3) - 0.4, 0.3, 12 - 4.5, -1, 1
-    Buttons7(-1).AddWall GetTex("ButtonL"), -12.67, -27.85 + (15 * 3) - 0.8, -12.67, -27.55 + (15 * 3) - 0.8, 0.3, 12 - 4.5, -1, 1
-    'Buttons7(43).AddWall GetTex("Button43"), -12.67, -27.85 + (15*3) - 1.2, -12.67, -27.55 + (15*3) - 1.2, 0.3, 12 - 4.5, -1, 1
-    'Buttons7(44).AddWall GetTex("Button44"), -12.67, -27.85 + (15*3) - 1.6, -12.67, -27.55 + (15*3) - 1.6, 0.3, 12 - 4.5, -1, 1
-    
-    'Buttons7(2).AddWall GetTex("Button2"), -12.67, -27.85 + (15*3), -12.67, -27.55 + (15*3), 0.3, 12 - 5, -1, 1
-    'Buttons7(39).AddWall GetTex("Button39"), -12.67, -27.85 + (15*3) - 0.4, -12.67, -27.55 + (15*3) - 0.4, 0.3, 12 - 5, -1, 1
-    'Buttons7(-1).AddWall GetTex("ButtonL"), -12.67, -27.85 + (15 * 3) - 0.8, -12.67, -27.55 + (15 * 3) - 0.8, 0.3, 12 - 5, -1, 1
-    'Buttons7(65).AddWall GetTex("Button65"), -12.67, -27.85 + (15*3) - 1.2, -12.67, -27.55 + (15*3) - 1.2, 0.3, 12 - 5, -1, 1
-    'Buttons7(79).AddWall GetTex("Button79"), -12.67, -27.85 + (15*3) - 1.6, -12.67, -27.55 + (15*3) - 1.6, 0.3, 12 - 5, -1, 1
-    
-    'Buttons7(-1).AddWall GetTex("ButtonL"), -12.67, -27.85 + (15*3), -12.67, -27.55 + (15*3), 0.3, 12 - 5.5, -1, 1
-    'Buttons7(1).AddWall GetTex("Button1"), -12.67, -27.85 + (15*3) - 0.4, -12.67, -27.55 + (15*3) - 0.4, 0.3, 12 - 5.5, -1, 1
-    'Buttons7(-1).AddWall GetTex("ButtonL"), -12.67, -27.85 + (15*3) - 0.8, -12.67, -27.55 + (15*3) - 0.8, 0.3, 12 - 5.5, -1, 1
-    'Buttons7(1).AddWall GetTex("Button1"), -12.67, -27.85 + (15*3) - 1.2, -12.67, -27.55 + (15*3) - 1.2, 0.3, 12 - 5.5, -1, 1
-    'Buttons7(0).AddWall GetTex("ButtonM"), -12.67, -27.85 + (15*3) - 1.6, -12.67, -27.55 + (15*3) - 1.6, 0.3, 12 - 5.5, -1, 1
-
-'Elevator 8
-
-    'Buttons8(135).AddWall GetTex("Button135"), 12.67, -18.45 + (15*3), 12.67, -18.15 + (15*3), 0.3, 12, 1, 1
-    'Buttons8(1).AddWall GetTex("Button1"), 12.67, -18.45 + (15*3) + 0.4, 12.67, -18.15 + (15*3) + 0.4, 0.3, 12, 1, 1
-    'Buttons8(136).AddWall GetTex("Button136"), 12.67, -18.45 + (15*3) + 0.8, 12.67, -18.15 + (15*3) + 0.8, 0.3, 12, 1, 1
-    'Buttons8(137).AddWall GetTex("Button137"), 12.67, -18.45 + (15*3) + 1.2, 12.67, -18.15 + (15*3) + 1.2, 0.3, 12, 1, 1
-    'Buttons8(138).AddWall GetTex("ButtonR"), 12.67, -18.45 + (15*3) + 1.6, 12.67, -18.15 + (15*3) + 1.6, 0.3, 12, 1, 1
-    
-    Buttons8(75).AddWall GetTex("Button75"), 12.67, -18.45 + (15 * 3), 12.67, -18.15 + (15 * 3), 0.3, 12 - 0.5, 1, 1
-    Buttons8(76).AddWall GetTex("Button76"), 12.67, -18.45 + (15 * 3) + 0.4, 12.67, -18.15 + (15 * 3) + 0.4, 0.3, 12 - 0.5, 1, 1
-    Buttons8(77).AddWall GetTex("Button77"), 12.67, -18.45 + (15 * 3) + 0.8, 12.67, -18.15 + (15 * 3) + 0.8, 0.3, 12 - 0.5, 1, 1
-    Buttons8(78).AddWall GetTex("Button78"), 12.67, -18.45 + (15 * 3) + 1.2, 12.67, -18.15 + (15 * 3) + 1.2, 0.3, 12 - 0.5, 1, 1
-    Buttons8(79).AddWall GetTex("Button79"), 12.67, -18.45 + (15 * 3) + 1.6, 12.67, -18.15 + (15 * 3) + 1.6, 0.3, 12 - 0.5, 1, 1
-    
-    Buttons8(70).AddWall GetTex("Button70"), 12.67, -18.45 + (15 * 3), 12.67, -18.15 + (15 * 3), 0.3, 12 - 1, 1, 1
-    Buttons8(71).AddWall GetTex("Button71"), 12.67, -18.45 + (15 * 3) + 0.4, 12.67, -18.15 + (15 * 3) + 0.4, 0.3, 12 - 1, 1, 1
-    Buttons8(72).AddWall GetTex("Button72"), 12.67, -18.45 + (15 * 3) + 0.8, 12.67, -18.15 + (15 * 3) + 0.8, 0.3, 12 - 1, 1, 1
-    Buttons8(73).AddWall GetTex("Button73"), 12.67, -18.45 + (15 * 3) + 1.2, 12.67, -18.15 + (15 * 3) + 1.2, 0.3, 12 - 1, 1, 1
-    Buttons8(74).AddWall GetTex("Button74"), 12.67, -18.45 + (15 * 3) + 1.6, 12.67, -18.15 + (15 * 3) + 1.6, 0.3, 12 - 1, 1, 1
-    
-    Buttons8(65).AddWall GetTex("Button65"), 12.67, -18.45 + (15 * 3), 12.67, -18.15 + (15 * 3), 0.3, 12 - 1.5, 1, 1
-    Buttons8(66).AddWall GetTex("Button66"), 12.67, -18.45 + (15 * 3) + 0.4, 12.67, -18.15 + (15 * 3) + 0.4, 0.3, 12 - 1.5, 1, 1
-    Buttons8(67).AddWall GetTex("Button67"), 12.67, -18.45 + (15 * 3) + 0.8, 12.67, -18.15 + (15 * 3) + 0.8, 0.3, 12 - 1.5, 1, 1
-    Buttons8(68).AddWall GetTex("Button68"), 12.67, -18.45 + (15 * 3) + 1.2, 12.67, -18.15 + (15 * 3) + 1.2, 0.3, 12 - 1.5, 1, 1
-    Buttons8(69).AddWall GetTex("Button69"), 12.67, -18.45 + (15 * 3) + 1.6, 12.67, -18.15 + (15 * 3) + 1.6, 0.3, 12 - 1.5, 1, 1
-    
-    Buttons8(60).AddWall GetTex("Button60"), 12.67, -18.45 + (15 * 3), 12.67, -18.15 + (15 * 3), 0.3, 12 - 2, 1, 1
-    Buttons8(61).AddWall GetTex("Button61"), 12.67, -18.45 + (15 * 3) + 0.4, 12.67, -18.15 + (15 * 3) + 0.4, 0.3, 12 - 2, 1, 1
-    Buttons8(62).AddWall GetTex("Button62"), 12.67, -18.45 + (15 * 3) + 0.8, 12.67, -18.15 + (15 * 3) + 0.8, 0.3, 12 - 2, 1, 1
-    Buttons8(63).AddWall GetTex("Button63"), 12.67, -18.45 + (15 * 3) + 1.2, 12.67, -18.15 + (15 * 3) + 1.2, 0.3, 12 - 2, 1, 1
-    Buttons8(64).AddWall GetTex("Button64"), 12.67, -18.45 + (15 * 3) + 1.6, 12.67, -18.15 + (15 * 3) + 1.6, 0.3, 12 - 2, 1, 1
-    
-    Buttons8(55).AddWall GetTex("Button55"), 12.67, -18.45 + (15 * 3), 12.67, -18.15 + (15 * 3), 0.3, 12 - 2.5, 1, 1
-    Buttons8(56).AddWall GetTex("Button56"), 12.67, -18.45 + (15 * 3) + 0.4, 12.67, -18.15 + (15 * 3) + 0.4, 0.3, 12 - 2.5, 1, 1
-    Buttons8(57).AddWall GetTex("Button57"), 12.67, -18.45 + (15 * 3) + 0.8, 12.67, -18.15 + (15 * 3) + 0.8, 0.3, 12 - 2.5, 1, 1
-    Buttons8(58).AddWall GetTex("Button58"), 12.67, -18.45 + (15 * 3) + 1.2, 12.67, -18.15 + (15 * 3) + 1.2, 0.3, 12 - 2.5, 1, 1
-    Buttons8(59).AddWall GetTex("Button59"), 12.67, -18.45 + (15 * 3) + 1.6, 12.67, -18.15 + (15 * 3) + 1.6, 0.3, 12 - 2.5, 1, 1
-    
-    Buttons8(50).AddWall GetTex("Button50"), 12.67, -18.45 + (15 * 3), 12.67, -18.15 + (15 * 3), 0.3, 12 - 3, 1, 1
-    Buttons8(51).AddWall GetTex("Button51"), 12.67, -18.45 + (15 * 3) + 0.4, 12.67, -18.15 + (15 * 3) + 0.4, 0.3, 12 - 3, 1, 1
-    Buttons8(52).AddWall GetTex("Button52"), 12.67, -18.45 + (15 * 3) + 0.8, 12.67, -18.15 + (15 * 3) + 0.8, 0.3, 12 - 3, 1, 1
-    Buttons8(53).AddWall GetTex("Button53"), 12.67, -18.45 + (15 * 3) + 1.2, 12.67, -18.15 + (15 * 3) + 1.2, 0.3, 12 - 3, 1, 1
-    Buttons8(54).AddWall GetTex("Button54"), 12.67, -18.45 + (15 * 3) + 1.6, 12.67, -18.15 + (15 * 3) + 1.6, 0.3, 12 - 3, 1, 1
-    
-    Buttons8(45).AddWall GetTex("Button45"), 12.67, -18.45 + (15 * 3), 12.67, -18.15 + (15 * 3), 0.3, 12 - 3.5, 1, 1
-    Buttons8(46).AddWall GetTex("Button46"), 12.67, -18.45 + (15 * 3) + 0.4, 12.67, -18.15 + (15 * 3) + 0.4, 0.3, 12 - 3.5, 1, 1
-    Buttons8(47).AddWall GetTex("Button47"), 12.67, -18.45 + (15 * 3) + 0.8, 12.67, -18.15 + (15 * 3) + 0.8, 0.3, 12 - 3.5, 1, 1
-    Buttons8(48).AddWall GetTex("Button48"), 12.67, -18.45 + (15 * 3) + 1.2, 12.67, -18.15 + (15 * 3) + 1.2, 0.3, 12 - 3.5, 1, 1
-    Buttons8(49).AddWall GetTex("Button49"), 12.67, -18.45 + (15 * 3) + 1.6, 12.67, -18.15 + (15 * 3) + 1.6, 0.3, 12 - 3.5, 1, 1
-    
-    Buttons8(40).AddWall GetTex("Button40"), 12.67, -18.45 + (15 * 3), 12.67, -18.15 + (15 * 3), 0.3, 12 - 4, 1, 1
-    Buttons8(41).AddWall GetTex("Button41"), 12.67, -18.45 + (15 * 3) + 0.4, 12.67, -18.15 + (15 * 3) + 0.4, 0.3, 12 - 4, 1, 1
-    Buttons8(42).AddWall GetTex("Button42"), 12.67, -18.45 + (15 * 3) + 0.8, 12.67, -18.15 + (15 * 3) + 0.8, 0.3, 12 - 4, 1, 1
-    Buttons8(43).AddWall GetTex("Button43"), 12.67, -18.45 + (15 * 3) + 1.2, 12.67, -18.15 + (15 * 3) + 1.2, 0.3, 12 - 4, 1, 1
-    Buttons8(44).AddWall GetTex("Button44"), 12.67, -18.45 + (15 * 3) + 1.6, 12.67, -18.15 + (15 * 3) + 1.6, 0.3, 12 - 4, 1, 1
-    
-    'Buttons8(-1).AddWall GetTex("ButtonL"), 12.67, -18.45 + (15 * 3), 12.67, -18.15 + (15 * 3), 0.3, 12 - 4.5, 1, 1
-    'Buttons8(81).AddWall GetTex("Button81"), 12.67, -18.45 + (15*3) + 0.4, 12.67, -18.15 + (15*3) + 0.4, 0.3, 12 - 4.5, 1, 1
-    Buttons8(-1).AddWall GetTex("ButtonL"), 12.67, -18.45 + (15 * 3) + 0.8, 12.67, -18.15 + (15 * 3) + 0.8, 0.3, 12 - 4.5, 1, 1
-    'Buttons8(83).AddWall GetTex("Button83"), 12.67, -18.45 + (15*3) + 1.2, 12.67, -18.15 + (15*3) + 1.2, 0.3, 12 - 4.5, 1, 1
-    'Buttons8(84).AddWall GetTex("Button84"), 12.67, -18.45 + (15*3) + 1.6, 12.67, -18.15 + (15*3) + 1.6, 0.3, 12 - 4.5, 1, 1
-    
-    'Buttons8(2).AddWall GetTex("Button2"), 12.67, -18.45 + (15*3), 12.67, -18.15 + (15*3), 0.3, 12 - 5, 1, 1
-    'Buttons8(39).AddWall GetTex("Button39"), 12.67, -18.45 + (15*3) + 0.4, 12.67, -18.15 + (15*3) + 0.4, 0.3, 12 - 5, 1, 1
-    'Buttons8(-1).AddWall GetTex("ButtonL"), 12.67, -18.45 + (15 * 3) + 0.8, 12.67, -18.15 + (15 * 3) + 0.8, 0.3, 12 - 5, 1, 1
-    'Buttons8(65).AddWall GetTex("Button65"), 12.67, -18.45 + (15*3) + 1.2, 12.67, -18.15 + (15*3) + 1.2, 0.3, 12 - 5, 1, 1
-    'Buttons8(79).AddWall GetTex("Button79"), 12.67, -18.45 + (15*3) + 1.6, 12.67, -18.15 + (15*3) + 1.6, 0.3, 12 - 5, 1, 1
-    
-    'Buttons8(-1).AddWall GetTex("ButtonL"), 12.67, -18.45 + (15*3), 12.67, -18.15 + (15*3), 0.3, 12 - 5.5, 1, 1
-    'Buttons8(1).AddWall GetTex("Button1"), 12.67, -18.45 + (15*3) + 0.4, 12.67, -18.15 + (15*3) + 0.4, 0.3, 12 - 5.5, 1, 1
-    'Buttons8(1).AddWall GetTex("Button1"), 12.67, -18.45 + (15*3) + 0.8, 12.67, -18.15 + (15*3) + 0.8, 0.3, 12 - 5.5, 1, 1
-    'Buttons8(1).AddWall GetTex("Button1"), 12.67, -18.45 + (15*3) + 1.2, 12.67, -18.15 + (15*3) + 1.2, 0.3, 12 - 5.5, 1, 1
-    'Buttons8(0).AddWall GetTex("ButtonM"), 12.67, -18.45 + (15*3) + 1.6, 12.67, -18.15 + (15*3) + 1.6, 0.3, 12 - 5.5, 1, 1
-
-'Elevator 9
-
-    'Buttons9(135).AddWall GetTex("Button135"), -12.67, -27.85 + (15*4), -12.67, -27.55 + (15*4), 0.3, 12, -1, 1
-    'Buttons9(1).AddWall GetTex("Button1"), -12.67, -27.85 + (15*4) - 0.4, -12.67, -27.55 + (15*4) - 0.4, 0.3, 12, -1, 1
-    'Buttons9(136).AddWall GetTex("Button136"), -12.67, -27.85 + (15*4) - 0.8, -12.67, -27.55 + (15*4) - 0.8, 0.3, 12, -1, 1
-    'Buttons9(137).AddWall GetTex("Button137"), -12.67, -27.85 + (15*4) - 1.2, -12.67, -27.55 + (15*4) - 1.2, 0.3, 12, -1, 1
-    'Buttons9(138).AddWall GetTex("ButtonR"), -12.67, -27.85 + (15*4) - 1.6, -12.67, -27.55 + (15*4) - 1.6, 0.3, 12, -1, 1
-    
-    'Buttons9(37).AddWall GetTex("Button37"), -12.67, -27.85 + (15 * 4), -12.67, -27.55 + (15 * 4), 0.3, 12 - 0.5, -1, 1
-    Buttons9(37).AddWall GetTex("Button37"), -12.67, -27.85 + (15 * 4) - 0.4, -12.67, -27.55 + (15 * 4) - 0.4, 0.3, 12 - 0.5, -1, 1
-    Buttons9(38).AddWall GetTex("Button38"), -12.67, -27.85 + (15 * 4) - 0.8, -12.67, -27.55 + (15 * 4) - 0.8, 0.3, 12 - 0.5, -1, 1
-    Buttons9(39).AddWall GetTex("Button39"), -12.67, -27.85 + (15 * 4) - 1.2, -12.67, -27.55 + (15 * 4) - 1.2, 0.3, 12 - 0.5, -1, 1
-    'Buttons9(39).AddWall GetTex("Button39"), -12.67, -27.85 + (15 * 4) - 1.6, -12.67, -27.55 + (15 * 4) - 1.6, 0.3, 12 - 0.5, -1, 1
-    
-    Buttons9(32).AddWall GetTex("Button32"), -12.67, -27.85 + (15 * 4), -12.67, -27.55 + (15 * 4), 0.3, 12 - 1, -1, 1
-    Buttons9(33).AddWall GetTex("Button33"), -12.67, -27.85 + (15 * 4) - 0.4, -12.67, -27.55 + (15 * 4) - 0.4, 0.3, 12 - 1, -1, 1
-    Buttons9(34).AddWall GetTex("Button34"), -12.67, -27.85 + (15 * 4) - 0.8, -12.67, -27.55 + (15 * 4) - 0.8, 0.3, 12 - 1, -1, 1
-    Buttons9(35).AddWall GetTex("Button35"), -12.67, -27.85 + (15 * 4) - 1.2, -12.67, -27.55 + (15 * 4) - 1.2, 0.3, 12 - 1, -1, 1
-    Buttons9(36).AddWall GetTex("Button36"), -12.67, -27.85 + (15 * 4) - 1.6, -12.67, -27.55 + (15 * 4) - 1.6, 0.3, 12 - 1, -1, 1
-    
-    Buttons9(27).AddWall GetTex("Button27"), -12.67, -27.85 + (15 * 4), -12.67, -27.55 + (15 * 4), 0.3, 12 - 1.5, -1, 1
-    Buttons9(28).AddWall GetTex("Button28"), -12.67, -27.85 + (15 * 4) - 0.4, -12.67, -27.55 + (15 * 4) - 0.4, 0.3, 12 - 1.5, -1, 1
-    Buttons9(29).AddWall GetTex("Button29"), -12.67, -27.85 + (15 * 4) - 0.8, -12.67, -27.55 + (15 * 4) - 0.8, 0.3, 12 - 1.5, -1, 1
-    Buttons9(30).AddWall GetTex("Button30"), -12.67, -27.85 + (15 * 4) - 1.2, -12.67, -27.55 + (15 * 4) - 1.2, 0.3, 12 - 1.5, -1, 1
-    Buttons9(31).AddWall GetTex("Button31"), -12.67, -27.85 + (15 * 4) - 1.6, -12.67, -27.55 + (15 * 4) - 1.6, 0.3, 12 - 1.5, -1, 1
-    
-    Buttons9(22).AddWall GetTex("Button22"), -12.67, -27.85 + (15 * 4), -12.67, -27.55 + (15 * 4), 0.3, 12 - 2, -1, 1
-    Buttons9(23).AddWall GetTex("Button23"), -12.67, -27.85 + (15 * 4) - 0.4, -12.67, -27.55 + (15 * 4) - 0.4, 0.3, 12 - 2, -1, 1
-    Buttons9(24).AddWall GetTex("Button24"), -12.67, -27.85 + (15 * 4) - 0.8, -12.67, -27.55 + (15 * 4) - 0.8, 0.3, 12 - 2, -1, 1
-    Buttons9(25).AddWall GetTex("Button25"), -12.67, -27.85 + (15 * 4) - 1.2, -12.67, -27.55 + (15 * 4) - 1.2, 0.3, 12 - 2, -1, 1
-    Buttons9(26).AddWall GetTex("Button26"), -12.67, -27.85 + (15 * 4) - 1.6, -12.67, -27.55 + (15 * 4) - 1.6, 0.3, 12 - 2, -1, 1
-    
-    Buttons9(17).AddWall GetTex("Button17"), -12.67, -27.85 + (15 * 4), -12.67, -27.55 + (15 * 4), 0.3, 12 - 2.5, -1, 1
-    Buttons9(18).AddWall GetTex("Button18"), -12.67, -27.85 + (15 * 4) - 0.4, -12.67, -27.55 + (15 * 4) - 0.4, 0.3, 12 - 2.5, -1, 1
-    Buttons9(19).AddWall GetTex("Button19"), -12.67, -27.85 + (15 * 4) - 0.8, -12.67, -27.55 + (15 * 4) - 0.8, 0.3, 12 - 2.5, -1, 1
-    Buttons9(20).AddWall GetTex("Button20"), -12.67, -27.85 + (15 * 4) - 1.2, -12.67, -27.55 + (15 * 4) - 1.2, 0.3, 12 - 2.5, -1, 1
-    Buttons9(21).AddWall GetTex("Button21"), -12.67, -27.85 + (15 * 4) - 1.6, -12.67, -27.55 + (15 * 4) - 1.6, 0.3, 12 - 2.5, -1, 1
-    
-    Buttons9(12).AddWall GetTex("Button12"), -12.67, -27.85 + (15 * 4), -12.67, -27.55 + (15 * 4), 0.3, 12 - 3, -1, 1
-    Buttons9(13).AddWall GetTex("Button13"), -12.67, -27.85 + (15 * 4) - 0.4, -12.67, -27.55 + (15 * 4) - 0.4, 0.3, 12 - 3, -1, 1
-    Buttons9(14).AddWall GetTex("Button14"), -12.67, -27.85 + (15 * 4) - 0.8, -12.67, -27.55 + (15 * 4) - 0.8, 0.3, 12 - 3, -1, 1
-    Buttons9(15).AddWall GetTex("Button15"), -12.67, -27.85 + (15 * 4) - 1.2, -12.67, -27.55 + (15 * 4) - 1.2, 0.3, 12 - 3, -1, 1
-    Buttons9(16).AddWall GetTex("Button16"), -12.67, -27.85 + (15 * 4) - 1.6, -12.67, -27.55 + (15 * 4) - 1.6, 0.3, 12 - 3, -1, 1
-    
-    Buttons9(7).AddWall GetTex("Button7"), -12.67, -27.85 + (15 * 4), -12.67, -27.55 + (15 * 4), 0.3, 12 - 3.5, -1, 1
-    Buttons9(8).AddWall GetTex("Button8"), -12.67, -27.85 + (15 * 4) - 0.4, -12.67, -27.55 + (15 * 4) - 0.4, 0.3, 12 - 3.5, -1, 1
-    Buttons9(9).AddWall GetTex("Button9"), -12.67, -27.85 + (15 * 4) - 0.8, -12.67, -27.55 + (15 * 4) - 0.8, 0.3, 12 - 3.5, -1, 1
-    Buttons9(10).AddWall GetTex("Button10"), -12.67, -27.85 + (15 * 4) - 1.2, -12.67, -27.55 + (15 * 4) - 1.2, 0.3, 12 - 3.5, -1, 1
-    Buttons9(11).AddWall GetTex("Button11"), -12.67, -27.85 + (15 * 4) - 1.6, -12.67, -27.55 + (15 * 4) - 1.6, 0.3, 12 - 3.5, -1, 1
-    
-    Buttons9(2).AddWall GetTex("Button2"), -12.67, -27.85 + (15 * 4), -12.67, -27.55 + (15 * 4), 0.3, 12 - 4, -1, 1
-    Buttons9(3).AddWall GetTex("Button3"), -12.67, -27.85 + (15 * 4) - 0.4, -12.67, -27.55 + (15 * 4) - 0.4, 0.3, 12 - 4, -1, 1
-    Buttons9(4).AddWall GetTex("Button4"), -12.67, -27.85 + (15 * 4) - 0.8, -12.67, -27.55 + (15 * 4) - 0.8, 0.3, 12 - 4, -1, 1
-    Buttons9(5).AddWall GetTex("Button5"), -12.67, -27.85 + (15 * 4) - 1.2, -12.67, -27.55 + (15 * 4) - 1.2, 0.3, 12 - 4, -1, 1
-    Buttons9(6).AddWall GetTex("Button6"), -12.67, -27.85 + (15 * 4) - 1.6, -12.67, -27.55 + (15 * 4) - 1.6, 0.3, 12 - 4, -1, 1
-    
-    'Buttons9(-1).AddWall GetTex("ButtonL"), -12.67, -27.85 + (15 * 4), -12.67, -27.55 + (15 * 4), 0.3, 12 - 4.5, -1, 1
-    'Buttons9(81).AddWall GetTex("Button81"), -12.67, -27.85 + (15*4) - 0.4, -12.67, -27.55 + (15*4) - 0.4, 0.3, 12 - 4.5, -1, 1
-    Buttons9(-1).AddWall GetTex("ButtonL"), -12.67, -27.85 + (15 * 4) - 0.8, -12.67, -27.55 + (15 * 4) - 0.8, 0.3, 12 - 4.5, -1, 1
-    'Buttons9(83).AddWall GetTex("Button83"), -12.67, -27.85 + (15*4) - 1.2, -12.67, -27.55 + (15*4) - 1.2, 0.3, 12 - 4.5, -1, 1
-    'Buttons9(84).AddWall GetTex("Button84"), -12.67, -27.85 + (15*4) - 1.6, -12.67, -27.55 + (15*4) - 1.6, 0.3, 12 - 4.5, -1, 1
-    
-    'Buttons9(2).AddWall GetTex("Button2"), -12.67, -27.85 + (15*4), -12.67, -27.55 + (15*4), 0.3, 12 - 5, -1, 1
-    'Buttons9(39).AddWall GetTex("Button39"), -12.67, -27.85 + (15*4) - 0.4, -12.67, -27.55 + (15*4) - 0.4, 0.3, 12 - 5, -1, 1
-    'Buttons9(-1).AddWall GetTex("ButtonL"), -12.67, -27.85 + (15 * 4) - 0.8, -12.67, -27.55 + (15 * 4) - 0.8, 0.3, 12 - 5, -1, 1
-    'Buttons9(65).AddWall GetTex("Button65"), -12.67, -27.85 + (15*4) - 1.2, -12.67, -27.55 + (15*4) - 1.2, 0.3, 12 - 5, -1, 1
-    'Buttons9(79).AddWall GetTex("Button79"), -12.67, -27.85 + (15*4) - 1.6, -12.67, -27.55 + (15*4) - 1.6, 0.3, 12 - 5, -1, 1
-    
-    'Buttons9(-1).AddWall GetTex("ButtonL"), -12.67, -27.85 + (15*4), -12.67, -27.55 + (15*4), 0.3, 12 - 5.5, -1, 1
-    'Buttons9(1).AddWall GetTex("Button1"), -12.67, -27.85 + (15*4) - 0.4, -12.67, -27.55 + (15*4) - 0.4, 0.3, 12 - 5.5, -1, 1
-    'Buttons9(1).AddWall GetTex("Button1"), -12.67, -27.85 + (15*4) - 0.8, -12.67, -27.55 + (15*4) - 0.8, 0.3, 12 - 5.5, -1, 1
-    'Buttons9(1).AddWall GetTex("Button1"), -12.67, -27.85 + (15*4) - 1.2, -12.67, -27.55 + (15*4) - 1.2, 0.3, 12 - 5.5, -1, 1
-    'Buttons9(0).AddWall GetTex("ButtonM"), -12.67, -27.85 + (15*4) - 1.6, -12.67, -27.55 + (15*4) - 1.6, 0.3, 12 - 5.5, -1, 1
-
-'Elevator 10
-
-    'Buttons10(135).AddWall GetTex("Button135"), 12.67, -18.45 + (15*4), 12.67, -18.15 + (15*4), 0.3, 12, 1, 1
-    'Buttons10(1).AddWall GetTex("Button1"), 12.67, -18.45 + (15*4) + 0.4, 12.67, -18.15 + (15*4) + 0.4, 0.3, 12, 1, 1
-    'Buttons10(136).AddWall GetTex("Button136"), 12.67, -18.45 + (15*4) + 0.8, 12.67, -18.15 + (15*4) + 0.8, 0.3, 12, 1, 1
-    'Buttons10(137).AddWall GetTex("Button137"), 12.67, -18.45 + (15*4) + 1.2, 12.67, -18.15 + (15*4) + 1.2, 0.3, 12, 1, 1
-    'Buttons10(138).AddWall GetTex("ButtonR"), 12.67, -18.45 + (15*4) + 1.6, 12.67, -18.15 + (15*4) + 1.6, 0.3, 12, 1, 1
-    
-    'Buttons10(37).AddWall GetTex("Button37"), 12.67, -18.45 + (15 * 4), 12.67, -18.15 + (15 * 4), 0.3, 12 - 0.5, 1, 1
-    Buttons10(37).AddWall GetTex("Button37"), 12.67, -18.45 + (15 * 4) + 0.4, 12.67, -18.15 + (15 * 4) + 0.4, 0.3, 12 - 0.5, 1, 1
-    Buttons10(38).AddWall GetTex("Button38"), 12.67, -18.45 + (15 * 4) + 0.8, 12.67, -18.15 + (15 * 4) + 0.8, 0.3, 12 - 0.5, 1, 1
-    Buttons10(39).AddWall GetTex("Button39"), 12.67, -18.45 + (15 * 4) + 1.2, 12.67, -18.15 + (15 * 4) + 1.2, 0.3, 12 - 0.5, 1, 1
-    'Buttons10(39).AddWall GetTex("Button39"), 12.67, -18.45 + (15 * 4) + 1.6, 12.67, -18.15 + (15 * 4) + 1.6, 0.3, 12 - 0.5, 1, 1
-    
-    Buttons10(32).AddWall GetTex("Button32"), 12.67, -18.45 + (15 * 4), 12.67, -18.15 + (15 * 4), 0.3, 12 - 1, 1, 1
-    Buttons10(33).AddWall GetTex("Button33"), 12.67, -18.45 + (15 * 4) + 0.4, 12.67, -18.15 + (15 * 4) + 0.4, 0.3, 12 - 1, 1, 1
-    Buttons10(34).AddWall GetTex("Button34"), 12.67, -18.45 + (15 * 4) + 0.8, 12.67, -18.15 + (15 * 4) + 0.8, 0.3, 12 - 1, 1, 1
-    Buttons10(35).AddWall GetTex("Button35"), 12.67, -18.45 + (15 * 4) + 1.2, 12.67, -18.15 + (15 * 4) + 1.2, 0.3, 12 - 1, 1, 1
-    Buttons10(36).AddWall GetTex("Button36"), 12.67, -18.45 + (15 * 4) + 1.6, 12.67, -18.15 + (15 * 4) + 1.6, 0.3, 12 - 1, 1, 1
-    
-    Buttons10(27).AddWall GetTex("Button27"), 12.67, -18.45 + (15 * 4), 12.67, -18.15 + (15 * 4), 0.3, 12 - 1.5, 1, 1
-    Buttons10(28).AddWall GetTex("Button28"), 12.67, -18.45 + (15 * 4) + 0.4, 12.67, -18.15 + (15 * 4) + 0.4, 0.3, 12 - 1.5, 1, 1
-    Buttons10(29).AddWall GetTex("Button29"), 12.67, -18.45 + (15 * 4) + 0.8, 12.67, -18.15 + (15 * 4) + 0.8, 0.3, 12 - 1.5, 1, 1
-    Buttons10(30).AddWall GetTex("Button30"), 12.67, -18.45 + (15 * 4) + 1.2, 12.67, -18.15 + (15 * 4) + 1.2, 0.3, 12 - 1.5, 1, 1
-    Buttons10(31).AddWall GetTex("Button31"), 12.67, -18.45 + (15 * 4) + 1.6, 12.67, -18.15 + (15 * 4) + 1.6, 0.3, 12 - 1.5, 1, 1
-    
-    Buttons10(22).AddWall GetTex("Button22"), 12.67, -18.45 + (15 * 4), 12.67, -18.15 + (15 * 4), 0.3, 12 - 2, 1, 1
-    Buttons10(23).AddWall GetTex("Button23"), 12.67, -18.45 + (15 * 4) + 0.4, 12.67, -18.15 + (15 * 4) + 0.4, 0.3, 12 - 2, 1, 1
-    Buttons10(24).AddWall GetTex("Button24"), 12.67, -18.45 + (15 * 4) + 0.8, 12.67, -18.15 + (15 * 4) + 0.8, 0.3, 12 - 2, 1, 1
-    Buttons10(25).AddWall GetTex("Button25"), 12.67, -18.45 + (15 * 4) + 1.2, 12.67, -18.15 + (15 * 4) + 1.2, 0.3, 12 - 2, 1, 1
-    Buttons10(26).AddWall GetTex("Button26"), 12.67, -18.45 + (15 * 4) + 1.6, 12.67, -18.15 + (15 * 4) + 1.6, 0.3, 12 - 2, 1, 1
-    
-    Buttons10(17).AddWall GetTex("Button17"), 12.67, -18.45 + (15 * 4), 12.67, -18.15 + (15 * 4), 0.3, 12 - 2.5, 1, 1
-    Buttons10(18).AddWall GetTex("Button18"), 12.67, -18.45 + (15 * 4) + 0.4, 12.67, -18.15 + (15 * 4) + 0.4, 0.3, 12 - 2.5, 1, 1
-    Buttons10(19).AddWall GetTex("Button19"), 12.67, -18.45 + (15 * 4) + 0.8, 12.67, -18.15 + (15 * 4) + 0.8, 0.3, 12 - 2.5, 1, 1
-    Buttons10(20).AddWall GetTex("Button20"), 12.67, -18.45 + (15 * 4) + 1.2, 12.67, -18.15 + (15 * 4) + 1.2, 0.3, 12 - 2.5, 1, 1
-    Buttons10(21).AddWall GetTex("Button21"), 12.67, -18.45 + (15 * 4) + 1.6, 12.67, -18.15 + (15 * 4) + 1.6, 0.3, 12 - 2.5, 1, 1
-    
-    Buttons10(12).AddWall GetTex("Button12"), 12.67, -18.45 + (15 * 4), 12.67, -18.15 + (15 * 4), 0.3, 12 - 3, 1, 1
-    Buttons10(13).AddWall GetTex("Button13"), 12.67, -18.45 + (15 * 4) + 0.4, 12.67, -18.15 + (15 * 4) + 0.4, 0.3, 12 - 3, 1, 1
-    Buttons10(14).AddWall GetTex("Button14"), 12.67, -18.45 + (15 * 4) + 0.8, 12.67, -18.15 + (15 * 4) + 0.8, 0.3, 12 - 3, 1, 1
-    Buttons10(15).AddWall GetTex("Button15"), 12.67, -18.45 + (15 * 4) + 1.2, 12.67, -18.15 + (15 * 4) + 1.2, 0.3, 12 - 3, 1, 1
-    Buttons10(16).AddWall GetTex("Button16"), 12.67, -18.45 + (15 * 4) + 1.6, 12.67, -18.15 + (15 * 4) + 1.6, 0.3, 12 - 3, 1, 1
-    
-    Buttons10(7).AddWall GetTex("Button7"), 12.67, -18.45 + (15 * 4), 12.67, -18.15 + (15 * 4), 0.3, 12 - 3.5, 1, 1
-    Buttons10(8).AddWall GetTex("Button8"), 12.67, -18.45 + (15 * 4) + 0.4, 12.67, -18.15 + (15 * 4) + 0.4, 0.3, 12 - 3.5, 1, 1
-    Buttons10(9).AddWall GetTex("Button9"), 12.67, -18.45 + (15 * 4) + 0.8, 12.67, -18.15 + (15 * 4) + 0.8, 0.3, 12 - 3.5, 1, 1
-    Buttons10(10).AddWall GetTex("Button10"), 12.67, -18.45 + (15 * 4) + 1.2, 12.67, -18.15 + (15 * 4) + 1.2, 0.3, 12 - 3.5, 1, 1
-    Buttons10(11).AddWall GetTex("Button11"), 12.67, -18.45 + (15 * 4) + 1.6, 12.67, -18.15 + (15 * 4) + 1.6, 0.3, 12 - 3.5, 1, 1
-    
-    Buttons10(2).AddWall GetTex("Button2"), 12.67, -18.45 + (15 * 4), 12.67, -18.15 + (15 * 4), 0.3, 12 - 4, 1, 1
-    Buttons10(3).AddWall GetTex("Button3"), 12.67, -18.45 + (15 * 4) + 0.4, 12.67, -18.15 + (15 * 4) + 0.4, 0.3, 12 - 4, 1, 1
-    Buttons10(4).AddWall GetTex("Button4"), 12.67, -18.45 + (15 * 4) + 0.8, 12.67, -18.15 + (15 * 4) + 0.8, 0.3, 12 - 4, 1, 1
-    Buttons10(5).AddWall GetTex("Button5"), 12.67, -18.45 + (15 * 4) + 1.2, 12.67, -18.15 + (15 * 4) + 1.2, 0.3, 12 - 4, 1, 1
-    Buttons10(6).AddWall GetTex("Button6"), 12.67, -18.45 + (15 * 4) + 1.6, 12.67, -18.15 + (15 * 4) + 1.6, 0.3, 12 - 4, 1, 1
-    
-    'Buttons10(-1).AddWall GetTex("ButtonL"), 12.67, -18.45 + (15 * 4), 12.67, -18.15 + (15 * 4), 0.3, 12 - 4.5, 1, 1
-    'Buttons10(81).AddWall GetTex("Button81"), 12.67, -18.45 + (15*4) + 0.4, 12.67, -18.15 + (15*4) + 0.4, 0.3, 12 - 4.5, 1, 1
-    Buttons10(-1).AddWall GetTex("ButtonL"), 12.67, -18.45 + (15 * 4) + 0.8, 12.67, -18.15 + (15 * 4) + 0.8, 0.3, 12 - 4.5, 1, 1
-    'Buttons10(83).AddWall GetTex("Button83"), 12.67, -18.45 + (15*4) + 1.2, 12.67, -18.15 + (15*4) + 1.2, 0.3, 12 - 4.5, 1, 1
-    'Buttons10(84).AddWall GetTex("Button84"), 12.67, -18.45 + (15*4) + 1.6, 12.67, -18.15 + (15*4) + 1.6, 0.3, 12 - 4.5, 1, 1
-    
-    'Buttons10(2).AddWall GetTex("Button2"), 12.67, -18.45 + (15*4), 12.67, -18.15 + (15*4), 0.3, 12 - 5, 1, 1
-    'Buttons10(39).AddWall GetTex("Button39"), 12.67, -18.45 + (15*4) + 0.4, 12.67, -18.15 + (15*4) + 0.4, 0.3, 12 - 5, 1, 1
-    'Buttons10(-1).AddWall GetTex("ButtonL"), 12.67, -18.45 + (15 * 4) + 0.8, 12.67, -18.15 + (15 * 4) + 0.8, 0.3, 12 - 5, 1, 1
-    'Buttons10(65).AddWall GetTex("Button65"), 12.67, -18.45 + (15*4) + 1.2, 12.67, -18.15 + (15*4) + 1.2, 0.3, 12 - 5, 1, 1
-    'Buttons10(79).AddWall GetTex("Button79"), 12.67, -18.45 + (15*4) + 1.6, 12.67, -18.15 + (15*4) + 1.6, 0.3, 12 - 5, 1, 1
-    
-    'Buttons10(-1).AddWall GetTex("ButtonL"), 12.67, -18.45 + (15*4), 12.67, -18.15 + (15*4), 0.3, 12 - 5.5, 1, 1
-    'Buttons10(1).AddWall GetTex("Button1"), 12.67, -18.45 + (15*4) + 0.4, 12.67, -18.15 + (15*4) + 0.4, 0.3, 12 - 5.5, 1, 1
-    'Buttons10(1).AddWall GetTex("Button1"), 12.67, -18.45 + (15*4) + 0.8, 12.67, -18.15 + (15*4) + 0.8, 0.3, 12 - 5.5, 1, 1
-    'Buttons10(1).AddWall GetTex("Button1"), 12.67, -18.45 + (15*4) + 1.2, 12.67, -18.15 + (15*4) + 1.2, 0.3, 12 - 5.5, 1, 1
-    'Buttons10(0).AddWall GetTex("ButtonM"), 12.67, -18.45 + (15*4) + 1.6, 12.67, -18.15 + (15*4) + 1.6, 0.3, 12 - 5.5, 1, 1
-
-   
-End Sub
-
-Sub CheckElevatorButtons()
-'collision routine for checking if an elevator button is pressed
-
-If CollisionResult.GetCollisionMesh.GetMeshName = Buttons1(-1).GetMeshName Then
-    Buttons1(-1).SetColor RGBA(1, 1, 0, 1)
-    ElevatorSync(1) = True
-    OpenElevator(1) = -1
-    GotoFloor(1) = -1
-End If
-
-If CollisionResult.GetCollisionMesh.GetMeshName = Buttons2(-1).GetMeshName Then
-    Buttons2(-1).SetColor RGBA(1, 1, 0, 1)
-    ElevatorSync(2) = True
-    OpenElevator(2) = -1
-    GotoFloor(2) = -1
-End If
-
-If CollisionResult.GetCollisionMesh.GetMeshName = Buttons3(-1).GetMeshName Then
-    Buttons3(-1).SetColor RGBA(1, 1, 0, 1)
-    ElevatorSync(3) = True
-    OpenElevator(3) = -1
-    GotoFloor(3) = -1
-End If
-
-If CollisionResult.GetCollisionMesh.GetMeshName = Buttons4(-1).GetMeshName Then
-    Buttons4(-1).SetColor RGBA(1, 1, 0, 1)
-    ElevatorSync(4) = True
-    OpenElevator(4) = -1
-    GotoFloor(4) = -1
-End If
-
-If CollisionResult.GetCollisionMesh.GetMeshName = Buttons5(-1).GetMeshName Then
-    Buttons5(-1).SetColor RGBA(1, 1, 0, 1)
-    ElevatorSync(5) = True
-    OpenElevator(5) = -1
-    GotoFloor(5) = -1
-End If
-
-If CollisionResult.GetCollisionMesh.GetMeshName = Buttons6(-1).GetMeshName Then
-    Buttons6(-1).SetColor RGBA(1, 1, 0, 1)
-    ElevatorSync(6) = True
-    OpenElevator(6) = -1
-    GotoFloor(6) = -1
-End If
-
-If CollisionResult.GetCollisionMesh.GetMeshName = Buttons7(-1).GetMeshName Then
-    Buttons7(-1).SetColor RGBA(1, 1, 0, 1)
-    ElevatorSync(7) = True
-    OpenElevator(7) = -1
-    GotoFloor(7) = -1
-End If
-
-If CollisionResult.GetCollisionMesh.GetMeshName = Buttons8(-1).GetMeshName Then
-    Buttons8(-1).SetColor RGBA(1, 1, 0, 1)
-    ElevatorSync(8) = True
-    OpenElevator(8) = -1
-    GotoFloor(8) = -1
-End If
-
-If CollisionResult.GetCollisionMesh.GetMeshName = Buttons9(-1).GetMeshName Then
-    Buttons9(-1).SetColor RGBA(1, 1, 0, 1)
-    ElevatorSync(9) = True
-    OpenElevator(9) = -1
-    GotoFloor(9) = -1
-End If
-
-If CollisionResult.GetCollisionMesh.GetMeshName = Buttons10(-1).GetMeshName Then
-    Buttons10(-1).SetColor RGBA(1, 1, 0, 1)
-    ElevatorSync(10) = True
-    OpenElevator(10) = -1
-    GotoFloor(10) = -1
-End If
-
-'*******************************
-If CollisionResult.GetCollisionMesh.GetMeshName = Buttons1(0).GetMeshName Then
-    Buttons1(0).SetColor RGBA(1, 1, 0, 1)
-    ElevatorSync(1) = True
-    OpenElevator(1) = -1
-    GotoFloor(1) = 0.1
-End If
-
-If CollisionResult.GetCollisionMesh.GetMeshName = Buttons2(0).GetMeshName Then
-    Buttons2(0).SetColor RGBA(1, 1, 0, 1)
-    ElevatorSync(2) = True
-    OpenElevator(2) = -1
-    GotoFloor(2) = 0.1
-End If
-
-'*************************************
-
-For i52 = 2 To 138
-If CollisionResult.GetCollisionMesh.GetMeshName = Buttons1(i52).GetMeshName Then
-    Buttons1(i52).SetColor RGBA(1, 1, 0, 1)
-    ElevatorSync(ElevatorNumber) = True
-    OpenElevator(ElevatorNumber) = -1
-    GotoFloor(ElevatorNumber) = i52
-End If
-
-If CollisionResult.GetCollisionMesh.GetMeshName = Buttons2(i52).GetMeshName Then
-    Buttons2(i52).SetColor RGBA(1, 1, 0, 1)
-    ElevatorSync(2) = True
-    OpenElevator(2) = -1
-    GotoFloor(2) = i52
-End If
-
-If CollisionResult.GetCollisionMesh.GetMeshName = Buttons3(i52).GetMeshName Then
-    Buttons3(i52).SetColor RGBA(1, 1, 0, 1)
-    ElevatorSync(3) = True
-    OpenElevator(3) = -1
-    GotoFloor(3) = i52
-End If
-
-If CollisionResult.GetCollisionMesh.GetMeshName = Buttons4(i52).GetMeshName Then
-    Buttons4(i52).SetColor RGBA(1, 1, 0, 1)
-    ElevatorSync(4) = True
-    OpenElevator(4) = -1
-    GotoFloor(4) = i52
-End If
-
-If CollisionResult.GetCollisionMesh.GetMeshName = Buttons5(i52).GetMeshName Then
-    Buttons5(i52).SetColor RGBA(1, 1, 0, 1)
-    ElevatorSync(5) = True
-    OpenElevator(5) = -1
-    GotoFloor(5) = i52
-End If
-
-If CollisionResult.GetCollisionMesh.GetMeshName = Buttons6(i52).GetMeshName Then
-    Buttons6(i52).SetColor RGBA(1, 1, 0, 1)
-    ElevatorSync(6) = True
-    OpenElevator(6) = -1
-    GotoFloor(6) = i52
-End If
-
-If CollisionResult.GetCollisionMesh.GetMeshName = Buttons7(i52).GetMeshName Then
-    Buttons7(i52).SetColor RGBA(1, 1, 0, 1)
-    ElevatorSync(7) = True
-    OpenElevator(7) = -1
-    GotoFloor(7) = i52
-End If
-
-If CollisionResult.GetCollisionMesh.GetMeshName = Buttons8(i52).GetMeshName Then
-    Buttons8(i52).SetColor RGBA(1, 1, 0, 1)
-    ElevatorSync(8) = True
-    OpenElevator(8) = -1
-    GotoFloor(8) = i52
-End If
-
-If CollisionResult.GetCollisionMesh.GetMeshName = Buttons9(i52).GetMeshName Then
-    Buttons9(i52).SetColor RGBA(1, 1, 0, 1)
-    ElevatorSync(9) = True
-    OpenElevator(9) = -1
-    GotoFloor(9) = i52
-End If
-
-If CollisionResult.GetCollisionMesh.GetMeshName = Buttons10(i52).GetMeshName Then
-    Buttons10(i52).SetColor RGBA(1, 1, 0, 1)
-    ElevatorSync(10) = True
-    OpenElevator(10) = -1
-    GotoFloor(10) = i52
-End If
+End Function
 
-Next i52
-End Sub
 
 Sub OpenDoor()
 OpeningDoor = OpeningDoor + 1
@@ -4893,6 +1794,43 @@ If OpeningDoor = 17 Then
 End If
 End Sub
 
+Sub OpenStairDoor()
+OpeningDoor = OpeningDoor + 1
+CallingStairDoors = True
+
+'DoorRotated values:
+'0 is horizontal, opens downward
+'1 is vertical, opens to the left
+'2 is horizontal, opens upward
+'3 is vertical, opens to the right
+On Error Resume Next
+
+If Room(CameraFloor).IsMeshEnabled = False Then
+Room(CameraFloor).Enable True
+      For i51 = 1 To 40
+      ElevatorDoorL(i51).Enable True
+      ElevatorDoorL(i51).Enable True
+      Next i51
+      ShaftsFloor(CameraFloor).Enable True
+      For i51 = 1 To 40
+      CallButtons(i51).Enable True
+      Next i51
+      Stairs(CameraFloor).Enable True
+      Atmos.SkyBox_Enable True
+      Call InitRealtime(CameraFloor)
+      InitObjectsForFloor (CameraFloor)
+End If
+
+StairDoor(DoorNumber).RotateY (OpeningDoor / 110)
+StairDoor(DoorNumber).SetPosition StairDoor(DoorNumber).GetPosition.X + (OpeningDoor / 38), StairDoor(DoorNumber).GetPosition.Y, StairDoor(DoorNumber).GetPosition.z - (OpeningDoor / 48)
+
+If OpeningDoor = 17 Then
+    CallingStairDoors = False
+    OpeningDoor = 0
+    StairDoor(DoorNumber).SetMeshName ("DoorSBO " + Str$(DoorNumber))
+End If
+End Sub
+
 Sub CloseDoor()
 ClosingDoor = ClosingDoor - 1
 On Error Resume Next
@@ -4909,6 +1847,378 @@ If ClosingDoor = 0 And DoorRotated = 3 Then Objects(DoorNumber).SetMeshName ("Do
 
 End Sub
 
+Sub CloseStairDoor()
+ClosingDoor = ClosingDoor - 1
+CallingStairDoors = True
+On Error Resume Next
+StairDoor(DoorNumber).RotateY -(ClosingDoor / 110)
+StairDoor(DoorNumber).SetPosition StairDoor(DoorNumber).GetPosition.X - (ClosingDoor / 38), StairDoor(DoorNumber).GetPosition.Y, StairDoor(DoorNumber).GetPosition.z + (ClosingDoor / 48)
+
+If ClosingDoor = 0 Then
+StairDoor(DoorNumber).SetMeshName ("DoorB " + Str$(DoorNumber))
+CallingStairDoors = False
+End If
+
+End Sub
+
+
+Sub ProcessOtherFloors2()
+
+'Floor 131
+    i = 131
+    DoEvents
+    Form1.Label2.Caption = "Processing Floors 80, 115 to 117 and 130 to 138... " + Str$(Int(((i - 24) / (138 - 24)) * 100)) + "%"
+    
+    'Floor
+    Room(i).AddFloor GetTex("Granite"), -85, -150, 85, -46.25, (i * FloorHeight) + FloorHeight, ((85 * 2) * 0.086), ((150 - 46.25) * 0.08)
+    Room(i).AddFloor GetTex("Granite"), -85, 0, 85, 150, (i * FloorHeight) + FloorHeight, ((85 * 2) * 0.086), (150 * 0.08)
+    Room(i).AddFloor GetTex("Granite"), -12.5, -46.25, 12.5, 0, (i * FloorHeight) + FloorHeight, ((12.5 * 2) * 0.086), (46.25 * 0.08)
+    Room(i).AddFloor GetTex("Granite"), -85, -46.25, -32.5, 0, (i * FloorHeight) + FloorHeight, ((85 - 32.5) * 0.086), (46.25 * 0.08)
+    Room(i).AddFloor GetTex("Granite"), 85, -46.25, 32.5, 0, (i * FloorHeight) + FloorHeight, ((85 - 32.5) * 0.086), (46.25 * 0.08)
+    
+    'Ceiling
+    Room(i).AddFloor GetTex("Marble3"), -85, -150, 85, -46.25, (i * FloorHeight) + (FloorHeight + 25) - 0.5, ((85 * 2) * 0.086), ((150 - 46.25) * 0.08)
+    Room(i).AddFloor GetTex("Marble3"), -85, 0, 85, 150, (i * FloorHeight) + (FloorHeight + 25) - 0.5, ((85 * 2) * 0.086), (150 * 0.08)
+    Room(i).AddFloor GetTex("Marble3"), -12.5, -46.25, 12.5, 0, (i * FloorHeight) + (FloorHeight + 25) - 0.5, ((12.5 * 2) * 0.086), (46.25 * 0.08)
+    Room(i).AddFloor GetTex("Marble3"), -85, -46.25, -32.5, 0, (i * FloorHeight) + (FloorHeight + 25) - 0.5, ((85 - 32.5) * 0.086), (46.25 * 0.08)
+    Room(i).AddFloor GetTex("Marble3"), 85, -46.25, 32.5, 0, (i * FloorHeight) + (FloorHeight + 25) - 0.5, ((85 - 32.5) * 0.086), (46.25 * 0.08)
+    
+    'Crawlspace Bottom
+    Room(i).AddFloor GetTex("Granite"), -85, -150, 85, -46.25, (i * FloorHeight) + (FloorHeight + 25), ((85 * 2) * 0.086), ((150 - 46.25) * 0.08)
+    Room(i).AddFloor GetTex("Granite"), -85, 0, 85, 150, (i * FloorHeight) + (FloorHeight + 25), ((85 * 2) * 0.086), (150 * 0.08)
+    Room(i).AddFloor GetTex("Granite"), -12.5, -46.25, 12.5, 0, (i * FloorHeight) + (FloorHeight + 25), ((12.5 * 2) * 0.086), (46.25 * 0.08)
+    Room(i).AddFloor GetTex("Granite"), -85, -46.25, -32.5, 0, (i * FloorHeight) + (FloorHeight + 25), ((85 - 32.5) * 0.086), (46.25 * 0.08)
+    Room(i).AddFloor GetTex("Granite"), 85, -46.25, 32.5, 0, (i * FloorHeight) + (FloorHeight + 25), ((85 - 32.5) * 0.086), (46.25 * 0.08)
+    
+    'Crawlspace Top
+    Room(i).AddFloor GetTex("Marble3"), -85, -150, 85, -46.25, (i * FloorHeight) + (FloorHeight + 24.9) + (FloorHeight - 25), ((85 * 2) * 0.086), ((150 - 46.25) * 0.08)
+    Room(i).AddFloor GetTex("Marble3"), -85, 0, 85, 150, (i * FloorHeight) + (FloorHeight + 24.9) + (FloorHeight - 25), ((85 * 2) * 0.086), (150 * 0.08)
+    Room(i).AddFloor GetTex("Marble3"), -12.5, -46.25, 12.5, 0, (i * FloorHeight) + (FloorHeight + 24.9) + (FloorHeight - 25), ((12.5 * 2) * 0.086), (46.25 * 0.08)
+    Room(i).AddFloor GetTex("Marble3"), -85, -46.25, -32.5, 0, (i * FloorHeight) + (FloorHeight + 24.9) + (FloorHeight - 25), ((85 - 32.5) * 0.086), (46.25 * 0.08)
+    Room(i).AddFloor GetTex("Marble3"), 85, -46.25, 32.5, 0, (i * FloorHeight) + (FloorHeight + 24.9) + (FloorHeight - 25), ((85 - 32.5) * 0.086), (46.25 * 0.08)
+    
+    'Crawlspace Walls
+    Room(i).AddWall GetTex("BrickTexture"), -85, -150, 85, -150, (FloorHeight - 25), (i * FloorHeight) + FloorHeight + 25, ((85 * 2) * 0.086), ((FloorHeight - 25) * 0.08)
+    Room(i).AddWall GetTex("BrickTexture"), 85, -150, 85, 150, (FloorHeight - 25), (i * FloorHeight) + FloorHeight + 25, ((150 * 2) * 0.086), ((FloorHeight - 25) * 0.08)
+    Room(i).AddWall GetTex("BrickTexture"), 85, 150, -85, 150, (FloorHeight - 25), (i * FloorHeight) + FloorHeight + 25, ((85 * 2) * 0.086), ((FloorHeight - 25) * 0.08)
+    Room(i).AddWall GetTex("BrickTexture"), -85, 150, -85, -150, (FloorHeight - 25), (i * FloorHeight) + FloorHeight + 25, ((150 * 2) * 0.086), ((FloorHeight - 25) * 0.08)
+
+    'Stairwell Walls
+    Stairs(i).AddWall GetTex("Concrete"), -12.5 - 0.5, -46.25 + 0.1, -12.5 - 0.5, -40.3, (FloorHeight), (i * FloorHeight) + FloorHeight, ((46.25 - 40.3) * 0.086), ((FloorHeight) * 0.086)
+    Stairs(i).AddWall GetTex("Concrete"), -12.5 - 0.5, -32.5, -12.5 - 0.5, -30, (FloorHeight), (i * FloorHeight) + FloorHeight, (2.5 * 0.086), ((FloorHeight) * 0.086)
+    Stairs(i).AddWall GetTex("Concrete"), -32.5 + 0.1, -46.25 + 0.1, -32.5 + 0.1, -30 - 1, (FloorHeight), (i * FloorHeight) + FloorHeight, (16.25 * 0.086), ((FloorHeight) * 0.086)
+    Stairs(i).AddWall GetTex("Concrete"), -12.5, -46.25 + 0.1, -32.5, -46.25 + 0.1, (FloorHeight), (i * FloorHeight) + FloorHeight, (20 * 0.086), ((FloorHeight) * 0.086)
+    Stairs(i).AddWall GetTex("Concrete"), -12.5, -30 - 1, -32.5, -30 - 1, (FloorHeight), (i * FloorHeight) + FloorHeight, (20 * 0.086), ((FloorHeight) * 0.086)
+    Stairs(i).AddWall GetTex("Concrete"), -12.5 - 6, -46.25 + 7.71, -12.5 - 16, -46.25 + 7.71, (FloorHeight), (i * FloorHeight) + FloorHeight, (10 * 0.086), ((FloorHeight) * 0.086)
+    Stairs(i).AddWall GetTex("Concrete"), -12.5 - 0.5, -40.3, -12.5 - 0.5, -30, (FloorHeight - 19.5), 19.5 + (i * FloorHeight) + FloorHeight, (10.3 * 0.086), ((FloorHeight - 19.5) * 0.08)
+        
+    Call DrawElevatorWalls(Int(i), 5, 1, False, False, True, False, False, False, False, False, False, False, False, False)
+    
+    
+'Floor 132
+    i = 132
+    DoEvents
+    Form1.Label2.Caption = "Processing Floors 80, 115 to 117 and 130 to 138... " + Str$(Int(((i - 24) / (138 - 24)) * 100)) + "%"
+    
+    'Floor
+    Room(i).AddFloor GetTex("Granite"), -85, -150, 85, -46.25, (i * FloorHeight) + FloorHeight, ((85 * 2) * 0.086), ((150 - 46.25) * 0.08)
+    Room(i).AddFloor GetTex("Granite"), -85, 0, 85, 150, (i * FloorHeight) + FloorHeight, ((85 * 2) * 0.086), (150 * 0.08)
+    Room(i).AddFloor GetTex("Granite"), -12.5, -46.25, 12.5, 0, (i * FloorHeight) + FloorHeight, ((12.5 * 2) * 0.086), (46.25 * 0.08)
+    Room(i).AddFloor GetTex("Granite"), -85, -46.25, -32.5, 0, (i * FloorHeight) + FloorHeight, ((85 - 32.5) * 0.086), (46.25 * 0.08)
+    Room(i).AddFloor GetTex("Granite"), 85, -46.25, 32.5, 0, (i * FloorHeight) + FloorHeight, ((85 - 32.5) * 0.086), (46.25 * 0.08)
+    
+    'Ceiling
+    Room(i).AddFloor GetTex("Marble3"), -85, -150, 85, -46.25, (i * FloorHeight) + (FloorHeight + 25) - 0.5, ((85 * 2) * 0.086), ((150 - 46.25) * 0.08)
+    Room(i).AddFloor GetTex("Marble3"), -85, 0, 85, 150, (i * FloorHeight) + (FloorHeight + 25) - 0.5, ((85 * 2) * 0.086), (150 * 0.08)
+    Room(i).AddFloor GetTex("Marble3"), -12.5, -46.25, 12.5, 0, (i * FloorHeight) + (FloorHeight + 25) - 0.5, ((12.5 * 2) * 0.086), (46.25 * 0.08)
+    Room(i).AddFloor GetTex("Marble3"), -85, -46.25, -32.5, 0, (i * FloorHeight) + (FloorHeight + 25) - 0.5, ((85 - 32.5) * 0.086), (46.25 * 0.08)
+    Room(i).AddFloor GetTex("Marble3"), 85, -46.25, 32.5, 0, (i * FloorHeight) + (FloorHeight + 25) - 0.5, ((85 - 32.5) * 0.086), (46.25 * 0.08)
+    
+    'Crawlspace Bottom
+    Room(i).AddFloor GetTex("Granite"), -85, -150, 85, -46.25, (i * FloorHeight) + (FloorHeight + 25), ((85 * 2) * 0.086), ((150 - 46.25) * 0.08)
+    Room(i).AddFloor GetTex("Granite"), -85, 0, 85, 150, (i * FloorHeight) + (FloorHeight + 25), ((85 * 2) * 0.086), (150 * 0.08)
+    Room(i).AddFloor GetTex("Granite"), -12.5, -46.25, 12.5, 0, (i * FloorHeight) + (FloorHeight + 25), ((12.5 * 2) * 0.086), (46.25 * 0.08)
+    Room(i).AddFloor GetTex("Granite"), -85, -46.25, -32.5, 0, (i * FloorHeight) + (FloorHeight + 25), ((85 - 32.5) * 0.086), (46.25 * 0.08)
+    Room(i).AddFloor GetTex("Granite"), 85, -46.25, 32.5, 0, (i * FloorHeight) + (FloorHeight + 25), ((85 - 32.5) * 0.086), (46.25 * 0.08)
+    
+    'Crawlspace Top
+    Room(i).AddFloor GetTex("Marble3"), -85, -150, 85, -46.25, (i * FloorHeight) + (FloorHeight + 24.9) + (FloorHeight - 25), ((85 * 2) * 0.086), ((150 - 46.25) * 0.08)
+    Room(i).AddFloor GetTex("Marble3"), -85, 0, 85, 150, (i * FloorHeight) + (FloorHeight + 24.9) + (FloorHeight - 25), ((85 * 2) * 0.086), (150 * 0.08)
+    Room(i).AddFloor GetTex("Marble3"), -12.5, -46.25, 12.5, 0, (i * FloorHeight) + (FloorHeight + 24.9) + (FloorHeight - 25), ((12.5 * 2) * 0.086), (46.25 * 0.08)
+    Room(i).AddFloor GetTex("Marble3"), -85, -46.25, -32.5, 0, (i * FloorHeight) + (FloorHeight + 24.9) + (FloorHeight - 25), ((85 - 32.5) * 0.086), (46.25 * 0.08)
+    Room(i).AddFloor GetTex("Marble3"), 85, -46.25, 32.5, 0, (i * FloorHeight) + (FloorHeight + 24.9) + (FloorHeight - 25), ((85 - 32.5) * 0.086), (46.25 * 0.08)
+    
+    'Crawlspace Walls
+    Room(i).AddWall GetTex("BrickTexture"), -85, -150, 85, -150, (FloorHeight - 25), (i * FloorHeight) + FloorHeight + 25, ((85 * 2) * 0.086), ((FloorHeight - 25) * 0.08)
+    Room(i).AddWall GetTex("BrickTexture"), 85, -150, 85, 150, (FloorHeight - 25), (i * FloorHeight) + FloorHeight + 25, ((150 * 2) * 0.086), ((FloorHeight - 25) * 0.08)
+    Room(i).AddWall GetTex("BrickTexture"), 85, 150, -85, 150, (FloorHeight - 25), (i * FloorHeight) + FloorHeight + 25, ((85 * 2) * 0.086), ((FloorHeight - 25) * 0.08)
+    Room(i).AddWall GetTex("BrickTexture"), -85, 150, -85, -150, (FloorHeight - 25), (i * FloorHeight) + FloorHeight + 25, ((150 * 2) * 0.086), ((FloorHeight - 25) * 0.08)
+    'Stairwell Walls
+    Stairs(i).AddWall GetTex("Concrete"), -12.5 - 0.5, -46.25 + 0.1, -12.5 - 0.5, -40.3, (FloorHeight), (i * FloorHeight) + FloorHeight, ((46.25 - 40.3) * 0.086), ((FloorHeight) * 0.086)
+    Stairs(i).AddWall GetTex("Concrete"), -12.5 - 0.5, -32.5, -12.5 - 0.5, -30, (FloorHeight), (i * FloorHeight) + FloorHeight, (2.5 * 0.086), ((FloorHeight) * 0.086)
+    Stairs(i).AddWall GetTex("Concrete"), -32.5 + 0.1, -46.25 + 0.1, -32.5 + 0.1, -30 - 1, (FloorHeight), (i * FloorHeight) + FloorHeight, (16.25 * 0.086), ((FloorHeight) * 0.086)
+    Stairs(i).AddWall GetTex("Concrete"), -12.5, -46.25 + 0.1, -32.5, -46.25 + 0.1, (FloorHeight), (i * FloorHeight) + FloorHeight, (20 * 0.086), ((FloorHeight) * 0.086)
+    Stairs(i).AddWall GetTex("Concrete"), -12.5, -30 - 1, -32.5, -30 - 1, (FloorHeight), (i * FloorHeight) + FloorHeight, (20 * 0.086), ((FloorHeight) * 0.086)
+    Stairs(i).AddWall GetTex("Concrete"), -12.5 - 6, -46.25 + 7.71, -12.5 - 16, -46.25 + 7.71, (FloorHeight), (i * FloorHeight) + FloorHeight, (10 * 0.086), ((FloorHeight) * 0.086)
+    Stairs(i).AddWall GetTex("Concrete"), -12.5 - 0.5, -40.3, -12.5 - 0.5, -30, (FloorHeight - 19.5), 19.5 + (i * FloorHeight) + FloorHeight, (10.3 * 0.086), ((FloorHeight - 19.5) * 0.08)
+        
+    Call DrawElevatorWalls(Int(i), 5, 1, False, False, True, True, True, True, False, False, False, False, False, False)
+    
+    
+'Floor 133
+    i = 133
+    DoEvents
+    Form1.Label2.Caption = "Processing Floors 80, 115 to 117 and 130 to 138... " + Str$(Int(((i - 24) / (138 - 24)) * 100)) + "%"
+    
+    'Floor
+    Room(i).AddFloor GetTex("Granite"), -85, -150, 85, -46.25, (i * FloorHeight) + FloorHeight, ((85 * 2) * 0.086), ((150 - 46.25) * 0.08)
+    Room(i).AddFloor GetTex("Granite"), -85, 0, 85, 150, (i * FloorHeight) + FloorHeight, ((85 * 2) * 0.086), (150 * 0.08)
+    Room(i).AddFloor GetTex("Granite"), -12.5, -46.25, 12.5, 0, (i * FloorHeight) + FloorHeight, ((12.5 * 2) * 0.086), (46.25 * 0.08)
+    Room(i).AddFloor GetTex("Granite"), -85, -46.25, -32.5, 0, (i * FloorHeight) + FloorHeight, ((85 - 32.5) * 0.086), (46.25 * 0.08)
+    Room(i).AddFloor GetTex("Granite"), 85, -46.25, 32.5, 0, (i * FloorHeight) + FloorHeight, ((85 - 32.5) * 0.086), (46.25 * 0.08)
+    
+    'Ceiling
+    Room(i).AddFloor GetTex("Marble3"), -85, -150, 85, -46.25, (i * FloorHeight) + (FloorHeight + 25) - 0.5, ((85 * 2) * 0.086), ((150 - 46.25) * 0.08)
+    Room(i).AddFloor GetTex("Marble3"), -85, 0, 85, 150, (i * FloorHeight) + (FloorHeight + 25) - 0.5, ((85 * 2) * 0.086), (150 * 0.08)
+    Room(i).AddFloor GetTex("Marble3"), -12.5, -46.25, 12.5, 0, (i * FloorHeight) + (FloorHeight + 25) - 0.5, ((12.5 * 2) * 0.086), (46.25 * 0.08)
+    Room(i).AddFloor GetTex("Marble3"), -85, -46.25, -32.5, 0, (i * FloorHeight) + (FloorHeight + 25) - 0.5, ((85 - 32.5) * 0.086), (46.25 * 0.08)
+    Room(i).AddFloor GetTex("Marble3"), 85, -46.25, 32.5, 0, (i * FloorHeight) + (FloorHeight + 25) - 0.5, ((85 - 32.5) * 0.086), (46.25 * 0.08)
+    
+    'Crawlspace Bottom
+    Room(i).AddFloor GetTex("Granite"), -85, -150, 85, -46.25, (i * FloorHeight) + (FloorHeight + 25), ((85 * 2) * 0.086), ((150 - 46.25) * 0.08)
+    Room(i).AddFloor GetTex("Granite"), -85, 0, 85, 150, (i * FloorHeight) + (FloorHeight + 25), ((85 * 2) * 0.086), (150 * 0.08)
+    Room(i).AddFloor GetTex("Granite"), -12.5, -46.25, 12.5, 0, (i * FloorHeight) + (FloorHeight + 25), ((12.5 * 2) * 0.086), (46.25 * 0.08)
+    Room(i).AddFloor GetTex("Granite"), -85, -46.25, -32.5, 0, (i * FloorHeight) + (FloorHeight + 25), ((85 - 32.5) * 0.086), (46.25 * 0.08)
+    Room(i).AddFloor GetTex("Granite"), 85, -46.25, 32.5, 0, (i * FloorHeight) + (FloorHeight + 25), ((85 - 32.5) * 0.086), (46.25 * 0.08)
+    
+    'Crawlspace Top
+    Room(i).AddFloor GetTex("Marble3"), -85, -150, 85, -46.25, (i * FloorHeight) + (FloorHeight + 24.9) + (FloorHeight - 25), ((85 * 2) * 0.086), ((150 - 46.25) * 0.08)
+    Room(i).AddFloor GetTex("Marble3"), -85, 0, 85, 150, (i * FloorHeight) + (FloorHeight + 24.9) + (FloorHeight - 25), ((85 * 2) * 0.086), (150 * 0.08)
+    Room(i).AddFloor GetTex("Marble3"), -12.5, -46.25, 12.5, 0, (i * FloorHeight) + (FloorHeight + 24.9) + (FloorHeight - 25), ((12.5 * 2) * 0.086), (46.25 * 0.08)
+    Room(i).AddFloor GetTex("Marble3"), -85, -46.25, -32.5, 0, (i * FloorHeight) + (FloorHeight + 24.9) + (FloorHeight - 25), ((85 - 32.5) * 0.086), (46.25 * 0.08)
+    Room(i).AddFloor GetTex("Marble3"), 85, -46.25, 32.5, 0, (i * FloorHeight) + (FloorHeight + 24.9) + (FloorHeight - 25), ((85 - 32.5) * 0.086), (46.25 * 0.08)
+    
+    'Crawlspace Walls
+    Room(i).AddWall GetTex("BrickTexture"), -85, -150, 85, -150, (FloorHeight - 25), (i * FloorHeight) + FloorHeight + 25, ((85 * 2) * 0.086), ((FloorHeight - 25) * 0.08)
+    Room(i).AddWall GetTex("BrickTexture"), 85, -150, 85, 150, (FloorHeight - 25), (i * FloorHeight) + FloorHeight + 25, ((150 * 2) * 0.086), ((FloorHeight - 25) * 0.08)
+    Room(i).AddWall GetTex("BrickTexture"), 85, 150, -85, 150, (FloorHeight - 25), (i * FloorHeight) + FloorHeight + 25, ((85 * 2) * 0.086), ((FloorHeight - 25) * 0.08)
+    Room(i).AddWall GetTex("BrickTexture"), -85, 150, -85, -150, (FloorHeight - 25), (i * FloorHeight) + FloorHeight + 25, ((150 * 2) * 0.086), ((FloorHeight - 25) * 0.08)
+    'Stairwell Walls
+    Stairs(i).AddWall GetTex("Concrete"), -12.5 - 0.5, -46.25 + 0.1, -12.5 - 0.5, -40.3, (FloorHeight), (i * FloorHeight) + FloorHeight, ((46.25 - 40.3) * 0.086), ((FloorHeight) * 0.086)
+    Stairs(i).AddWall GetTex("Concrete"), -12.5 - 0.5, -32.5, -12.5 - 0.5, -30, (FloorHeight), (i * FloorHeight) + FloorHeight, (2.5 * 0.086), ((FloorHeight) * 0.086)
+    Stairs(i).AddWall GetTex("Concrete"), -32.5 + 0.1, -46.25 + 0.1, -32.5 + 0.1, -30 - 1, (FloorHeight), (i * FloorHeight) + FloorHeight, (16.25 * 0.086), ((FloorHeight) * 0.086)
+    Stairs(i).AddWall GetTex("Concrete"), -12.5, -46.25 + 0.1, -32.5, -46.25 + 0.1, (FloorHeight), (i * FloorHeight) + FloorHeight, (20 * 0.086), ((FloorHeight) * 0.086)
+    Stairs(i).AddWall GetTex("Concrete"), -12.5, -30 - 1, -32.5, -30 - 1, (FloorHeight), (i * FloorHeight) + FloorHeight, (20 * 0.086), ((FloorHeight) * 0.086)
+    Stairs(i).AddWall GetTex("Concrete"), -12.5 - 6, -46.25 + 7.71, -12.5 - 16, -46.25 + 7.71, (FloorHeight), (i * FloorHeight) + FloorHeight, (10 * 0.086), ((FloorHeight) * 0.086)
+    Stairs(i).AddWall GetTex("Concrete"), -12.5 - 0.5, -40.3, -12.5 - 0.5, -30, (FloorHeight - 19.5), 19.5 + (i * FloorHeight) + FloorHeight, (10.3 * 0.086), ((FloorHeight - 19.5) * 0.08)
+    
+    Call DrawElevatorWalls(Int(i), 5, 1, False, False, True, False, False, False, False, False, False, False, False, False)
+    
+    'Room(I) Walls
+    Room(i).AddWall GetTex("Wall3"), -85, 60, 85, 60, 25, (i * FloorHeight) + FloorHeight, 9, 1
+        
+
+'Floor 134
+    i = 134
+    DoEvents
+    Form1.Label2.Caption = "Processing Floors 80, 115 to 117 and 130 to 138... " + Str$(Int(((i - 24) / (138 - 24)) * 100)) + "%"
+    
+    Room(i).AddFloor GetTex("Granite"), -85, -150, 85, -46.25, (i * FloorHeight) + FloorHeight, 10, 3
+    Room(i).AddFloor GetTex("Granite"), -85, -46.25, -32.5, 0, (i * FloorHeight) + FloorHeight, 3, 3
+    Room(i).AddFloor GetTex("Granite"), 32.5, -46.25, 85, 0, (i * FloorHeight) + FloorHeight, 3, 3
+    Room(i).AddFloor GetTex("Granite"), -12.5, -46.25, 12.5, 0, (i * FloorHeight) + FloorHeight, 1, 3
+    
+    'modified floor for pool
+    Room(i).AddFloor GetTex("Granite"), -50, 0, 50, 60, (i * FloorHeight) + FloorHeight, 10, 3
+    Room(i).AddFloor GetTex("Granite"), -85, 0, -50, 150, (i * FloorHeight) + FloorHeight, 10, 3
+    Room(i).AddFloor GetTex("Granite"), 50, 0, 85, 150, (i * FloorHeight) + FloorHeight, 10, 3
+    
+    Room(i).AddFloor GetTex("Marble3"), -85, -150, 85, -46.25, (i * FloorHeight) + (FloorHeight + 25) - 0.5, 10, 3
+    Room(i).AddFloor GetTex("Marble3"), -85, 0, 85, 150, (i * FloorHeight) + (FloorHeight + 25) - 0.5, 10, 3
+    Room(i).AddFloor GetTex("Marble3"), -85, -46.25, -32.5, 0, (i * FloorHeight) + (FloorHeight + 25) - 0.5, 3, 3
+    Room(i).AddFloor GetTex("Marble3"), 32.5, -46.25, 85, 0, (i * FloorHeight) + (FloorHeight + 25) - 0.5, 3, 3
+    Room(i).AddFloor GetTex("Marble3"), -12.5, -46.25, 12.5, 0, (i * FloorHeight) + (FloorHeight + 25) - 0.5, 1, 3
+     
+    'Stairwell Walls
+    Stairs(i).AddWall GetTex("Concrete"), -12.5 - 0.5, -46.25 + 0.1, -12.5 - 0.5, -40.3, (FloorHeight), (i * FloorHeight) + FloorHeight, ((46.25 - 40.3) * 0.086), ((FloorHeight) * 0.086)
+    Stairs(i).AddWall GetTex("Concrete"), -12.5 - 0.5, -32.5, -12.5 - 0.5, -30, (FloorHeight), (i * FloorHeight) + FloorHeight, (2.5 * 0.086), ((FloorHeight) * 0.086)
+    Stairs(i).AddWall GetTex("Concrete"), -32.5 + 0.1, -46.25 + 0.1, -32.5 + 0.1, -30 - 1, (FloorHeight), (i * FloorHeight) + FloorHeight, (16.25 * 0.086), ((FloorHeight) * 0.086)
+    Stairs(i).AddWall GetTex("Concrete"), -12.5, -46.25 + 0.1, -32.5, -46.25 + 0.1, (FloorHeight), (i * FloorHeight) + FloorHeight, (20 * 0.086), ((FloorHeight) * 0.086)
+    Stairs(i).AddWall GetTex("Concrete"), -12.5, -30 - 1, -32.5, -30 - 1, (FloorHeight), (i * FloorHeight) + FloorHeight, (20 * 0.086), ((FloorHeight) * 0.086)
+    Stairs(i).AddWall GetTex("Concrete"), -12.5 - 6, -46.25 + 7.71, -12.5 - 16, -46.25 + 7.71, (FloorHeight), (i * FloorHeight) + FloorHeight, (10 * 0.086), ((FloorHeight) * 0.086)
+    Stairs(i).AddWall GetTex("Concrete"), -12.5 - 0.5, -40.3, -12.5 - 0.5, -30, (FloorHeight - 19.5), 19.5 + (i * FloorHeight) + FloorHeight, (10.3 * 0.086), ((FloorHeight - 19.5) * 0.08)
+    
+    Call DrawElevatorWalls(Int(i), 5, 1, False, False, True, True, True, True, False, False, False, False, False, False)
+       
+
+'Floor 135
+    i = 135
+    DoEvents
+    Form1.Label2.Caption = "Processing Floors 80, 115 to 117 and 130 to 138... " + Str$(Int(((i - 24) / (138 - 24)) * 100)) + "%"
+    
+    'Floor
+    Room(i).AddFloor GetTex("Granite"), -60, -150, 60, -46.25, (i * FloorHeight) + FloorHeight, ((60 * 2) * 0.086), ((150 - 46.25) * 0.08)
+    Room(i).AddFloor GetTex("Granite"), -60, 0, 60, 150, (i * FloorHeight) + FloorHeight, ((60 * 2) * 0.086), (150 * 0.08)
+    Room(i).AddFloor GetTex("Granite"), -12.5, -46.25, 12.5, 0, (i * FloorHeight) + FloorHeight, ((12.5 * 2) * 0.086), (46.25 * 0.08)
+    Room(i).AddFloor GetTex("Granite"), -60, -46.25, -32.5, 0, (i * FloorHeight) + FloorHeight, ((60 - 32.5) * 0.086), (46.25 * 0.08)
+    Room(i).AddFloor GetTex("Granite"), 60, -46.25, 32.5, 0, (i * FloorHeight) + FloorHeight, ((60 - 32.5) * 0.086), (46.25 * 0.08)
+    
+    'Ceiling
+    Room(i).AddFloor GetTex("Marble3"), -60, -150, 60, -46.25, (i * FloorHeight) + (FloorHeight * 2) - 0.5, ((60 * 2) * 0.086), ((150 - 46.25) * 0.08)
+    Room(i).AddFloor GetTex("Marble3"), -60, 0, 60, 15, (i * FloorHeight) + (FloorHeight * 2) - 0.5, ((60 * 2) * 0.086), (15 * 0.08)
+    Room(i).AddFloor GetTex("Marble3"), -12.5, -46.25, 12.5, 0, (i * FloorHeight) + (FloorHeight * 2) - 0.5, ((12.5 * 2) * 0.086), (46.25 * 0.08)
+    Room(i).AddFloor GetTex("Marble3"), -60, -46.25, -32.5, 0, (i * FloorHeight) + (FloorHeight * 2) - 0.5, ((60 - 32.5) * 0.086), (46.25 * 0.08)
+    Room(i).AddFloor GetTex("Marble3"), 60, -46.25, 32.5, 0, (i * FloorHeight) + (FloorHeight * 2) - 0.5, ((60 - 32.5) * 0.086), (46.25 * 0.08)
+    
+    'Stairwell Walls
+    Stairs(i).AddWall GetTex("Concrete"), -12.5 - 0.5, -46.25 + 0.1, -12.5 - 0.5, -40.3, (FloorHeight), (i * FloorHeight) + FloorHeight, ((46.25 - 40.3) * 0.086), ((FloorHeight) * 0.086)
+    Stairs(i).AddWall GetTex("Concrete"), -12.5 - 0.5, -32.5, -12.5 - 0.5, -30, (FloorHeight), (i * FloorHeight) + FloorHeight, (2.5 * 0.086), ((FloorHeight) * 0.086)
+    Stairs(i).AddWall GetTex("Concrete"), -32.5 + 0.1, -46.25 + 0.1, -32.5 + 0.1, -30 - 1, (FloorHeight), (i * FloorHeight) + FloorHeight, (16.25 * 0.086), ((FloorHeight) * 0.086)
+    Stairs(i).AddWall GetTex("Concrete"), -12.5, -46.25 + 0.1, -32.5, -46.25 + 0.1, (FloorHeight), (i * FloorHeight) + FloorHeight, (20 * 0.086), ((FloorHeight) * 0.086)
+    Stairs(i).AddWall GetTex("Concrete"), -12.5, -30 - 1, -32.5, -30 - 1, (FloorHeight), (i * FloorHeight) + FloorHeight, (20 * 0.086), ((FloorHeight) * 0.086)
+    Stairs(i).AddWall GetTex("Concrete"), -12.5 - 6, -46.25 + 7.71, -12.5 - 16, -46.25 + 7.71, (FloorHeight), (i * FloorHeight) + FloorHeight, (10 * 0.086), ((FloorHeight) * 0.086)
+    Stairs(i).AddWall GetTex("Concrete"), -12.5 - 0.5, -40.3, -12.5 - 0.5, -30, (FloorHeight - 19.5), 19.5 + (i * FloorHeight) + FloorHeight, (10.3 * 0.086), ((FloorHeight - 19.5) * 0.08)
+        
+    Call DrawElevatorWalls(Int(i), 5, 1, False, False, True, True, True, True, False, False, False, False, False, False)
+         
+
+'Floor 136
+    i = 136
+    DoEvents
+    Form1.Label2.Caption = "Processing Floors 80, 115 to 117 and 130 to 138... " + Str$(Int(((i - 24) / (138 - 24)) * 100)) + "%"
+    
+    'Floor
+    Room(i).AddFloor GetTex("Granite"), -60, -150, 60, -46.25, (i * FloorHeight) + FloorHeight, ((60 * 2) * 0.086), ((150 - 46.25) * 0.08)
+    Room(i).AddFloor GetTex("Granite"), -60, 0, 60, 15, (i * FloorHeight) + FloorHeight, ((60 * 2) * 0.086), (15 * 0.08)
+    Room(i).AddFloor GetTex("Granite"), -12.5, -46.25, 12.5, 0, (i * FloorHeight) + FloorHeight, ((12.5 * 2) * 0.086), (46.25 * 0.08)
+    Room(i).AddFloor GetTex("Granite"), -60, -46.25, -32.5, 0, (i * FloorHeight) + FloorHeight, ((60 - 32.5) * 0.086), (46.25 * 0.08)
+    Room(i).AddFloor GetTex("Granite"), 60, -46.25, 32.5, 0, (i * FloorHeight) + FloorHeight, ((60 - 32.5) * 0.086), (46.25 * 0.08)
+    
+    'Ceiling
+    Room(i).AddFloor GetTex("Marble3"), -60, -150, 60, -46.25, (i * FloorHeight) + (FloorHeight + 25) - 0.5, ((60 * 2) * 0.086), ((150 - 46.25) * 0.08)
+    Room(i).AddFloor GetTex("Marble3"), -60, 0, 60, 150, (i * FloorHeight) + (FloorHeight + 25) - 0.5, ((60 * 2) * 0.086), (150 * 0.08)
+    Room(i).AddFloor GetTex("Marble3"), -12.5, -46.25, 12.5, 0, (i * FloorHeight) + (FloorHeight + 25) - 0.5, ((12.5 * 2) * 0.086), (46.25 * 0.08)
+    Room(i).AddFloor GetTex("Marble3"), -60, -46.25, -32.5, 0, (i * FloorHeight) + (FloorHeight + 25) - 0.5, ((60 - 32.5) * 0.086), (46.25 * 0.08)
+    Room(i).AddFloor GetTex("Marble3"), 60, -46.25, 32.5, 0, (i * FloorHeight) + (FloorHeight + 25) - 0.5, ((60 - 32.5) * 0.086), (46.25 * 0.08)
+    
+    'Crawlspace Bottom
+    Room(i).AddFloor GetTex("Granite"), -60, -150, 60, -46.25, (i * FloorHeight) + (FloorHeight + 25), ((60 * 2) * 0.086), ((150 - 46.25) * 0.08)
+    Room(i).AddFloor GetTex("Granite"), -60, 0, 60, 15, (i * FloorHeight) + (FloorHeight + 25), ((60 * 2) * 0.086), (15 * 0.08)
+    Room(i).AddFloor GetTex("Granite"), -12.5, -46.25, 12.5, 0, (i * FloorHeight) + (FloorHeight + 25), ((12.5 * 2) * 0.086), (46.25 * 0.08)
+    Room(i).AddFloor GetTex("Granite"), -60, -46.25, -32.5, 0, (i * FloorHeight) + (FloorHeight + 25), ((60 - 32.5) * 0.086), (46.25 * 0.08)
+    Room(i).AddFloor GetTex("Granite"), 60, -46.25, 32.5, 0, (i * FloorHeight) + (FloorHeight + 25), ((60 - 32.5) * 0.086), (46.25 * 0.08)
+    
+    'Crawlspace Top
+    Room(i).AddFloor GetTex("Marble3"), -60, -150, 60, -46.25, (i * FloorHeight) + (FloorHeight + 24.9) + (FloorHeight - 25), ((60 * 2) * 0.086), ((150 - 46.25) * 0.08)
+    Room(i).AddFloor GetTex("Marble3"), -60, 0, 60, 150, (i * FloorHeight) + (FloorHeight + 24.9) + (FloorHeight - 25), ((60 * 2) * 0.086), (150 * 0.08)
+    Room(i).AddFloor GetTex("Marble3"), -12.5, -46.25, 12.5, 0, (i * FloorHeight) + (FloorHeight + 24.9) + (FloorHeight - 25), ((12.5 * 2) * 0.086), (46.25 * 0.08)
+    Room(i).AddFloor GetTex("Marble3"), -60, -46.25, -32.5, 0, (i * FloorHeight) + (FloorHeight + 24.9) + (FloorHeight - 25), ((60 - 32.5) * 0.086), (46.25 * 0.08)
+    Room(i).AddFloor GetTex("Marble3"), 60, -46.25, 32.5, 0, (i * FloorHeight) + (FloorHeight + 24.9) + (FloorHeight - 25), ((60 - 32.5) * 0.086), (46.25 * 0.08)
+    
+    'Crawlspace Walls
+    Room(i).AddWall GetTex("BrickTexture"), -60, -150, 60, -150, (FloorHeight - 25), (i * FloorHeight) + FloorHeight + 25, ((60 * 2) * 0.086), ((FloorHeight - 25) * 0.08)
+    Room(i).AddWall GetTex("BrickTexture"), 60, -150, 60, 150, (FloorHeight - 25), (i * FloorHeight) + FloorHeight + 25, ((150 * 2) * 0.086), ((FloorHeight - 25) * 0.08)
+    Room(i).AddWall GetTex("BrickTexture"), 60, 150, -60, 150, (FloorHeight - 25), (i * FloorHeight) + FloorHeight + 25, ((60 * 2) * 0.086), ((FloorHeight - 25) * 0.08)
+    Room(i).AddWall GetTex("BrickTexture"), -60, 150, -60, -150, (FloorHeight - 25), (i * FloorHeight) + FloorHeight + 25, ((150 * 2) * 0.086), ((FloorHeight - 25) * 0.08)
+    'Stairwell Walls
+    Stairs(i).AddWall GetTex("Concrete"), -12.5 - 0.5, -46.25 + 0.1, -12.5 - 0.5, -40.3, (FloorHeight), (i * FloorHeight) + FloorHeight, ((46.25 - 40.3) * 0.086), ((FloorHeight) * 0.086)
+    Stairs(i).AddWall GetTex("Concrete"), -12.5 - 0.5, -32.5, -12.5 - 0.5, -30, (FloorHeight), (i * FloorHeight) + FloorHeight, (2.5 * 0.086), ((FloorHeight) * 0.086)
+    Stairs(i).AddWall GetTex("Concrete"), -32.5 + 0.1, -46.25 + 0.1, -32.5 + 0.1, -30 - 1, (FloorHeight), (i * FloorHeight) + FloorHeight, (16.25 * 0.086), ((FloorHeight) * 0.086)
+    Stairs(i).AddWall GetTex("Concrete"), -12.5, -46.25 + 0.1, -32.5, -46.25 + 0.1, (FloorHeight), (i * FloorHeight) + FloorHeight, (20 * 0.086), ((FloorHeight) * 0.086)
+    Stairs(i).AddWall GetTex("Concrete"), -12.5, -30 - 1, -32.5, -30 - 1, (FloorHeight), (i * FloorHeight) + FloorHeight, (20 * 0.086), ((FloorHeight) * 0.086)
+    Stairs(i).AddWall GetTex("Concrete"), -12.5 - 6, -46.25 + 7.71, -12.5 - 16, -46.25 + 7.71, (FloorHeight), (i * FloorHeight) + FloorHeight, (10 * 0.086), ((FloorHeight) * 0.086)
+    Stairs(i).AddWall GetTex("Concrete"), -12.5 - 0.5, -40.3, -12.5 - 0.5, -30, (FloorHeight - 19.5), 19.5 + (i * FloorHeight) + FloorHeight, (10.3 * 0.086), ((FloorHeight - 19.5) * 0.08)
+        
+    Call DrawElevatorWalls(Int(i), 5, 1, False, False, True, True, True, True, False, False, False, False, False, False)
+   
+    
+'Floor 137
+    i = 137
+    DoEvents
+    Form1.Label2.Caption = "Processing Floors 80, 115 to 117 and 130 to 138... " + Str$(Int(((i - 24) / (138 - 24)) * 100)) + "%"
+    
+    'Floor
+    Room(i).AddFloor GetTex("BrickTexture"), -60, -150, 60, -46.25, (i * FloorHeight) + FloorHeight, ((60 * 2) * 0.086), ((150 - 46.25) * 0.08)
+    Room(i).AddFloor GetTex("BrickTexture"), -60, 0, 60, 150, (i * FloorHeight) + FloorHeight, ((60 * 2) * 0.086), (150 * 0.08)
+    Room(i).AddFloor GetTex("BrickTexture"), -12.5, -46.25, 12.5, 0, (i * FloorHeight) + FloorHeight, ((12.5 * 2) * 0.086), (46.25 * 0.08)
+    Room(i).AddFloor GetTex("BrickTexture"), -52.5, 0, 12.5, 46.25, (i * FloorHeight) + FloorHeight, ((52.5 - 12.5) * 0.086), (46.25 * 0.08)
+    Room(i).AddFloor GetTex("BrickTexture"), -60, -46.25, -32.5, 0, (i * FloorHeight) + FloorHeight, ((60 - 32.5) * 0.086), (46.25 * 0.08)
+    Room(i).AddFloor GetTex("BrickTexture"), 60, -46.25, 32.5, 0, (i * FloorHeight) + FloorHeight, ((60 - 32.5) * 0.086), (46.25 * 0.08)
+    
+    'Ceiling
+    Room(i).AddFloor GetTex("BrickTexture"), -60, -150, 60, -46.25, (i * FloorHeight) + (FloorHeight + 25) - 0.5, ((60 * 2) * 0.086), ((150 - 46.25) * 0.08)
+    Room(i).AddFloor GetTex("BrickTexture"), -60, 0, 60, 150, (i * FloorHeight) + (FloorHeight + 25) - 0.5, ((60 * 2) * 0.086), (150 * 0.08)
+    Room(i).AddFloor GetTex("BrickTexture"), -12.5, -46.25, 32.5, 0, (i * FloorHeight) + (FloorHeight + 25) - 0.5, ((12.5 * 2) * 0.086), (46.25 * 0.08)
+    Room(i).AddFloor GetTex("BrickTexture"), -60, -46.25, -32.5, 0, (i * FloorHeight) + (FloorHeight + 25) - 0.5, ((60 * 2) * 0.086), (46.25 * 0.08)
+    Room(i).AddFloor GetTex("BrickTexture"), 60, -46.25, 32.5, 0, (i * FloorHeight) + (FloorHeight + 25) - 0.5, ((60 * 2) * 0.086), (46.25 * 0.08)
+    
+    'Crawlspace Bottom
+    Room(i).AddFloor GetTex("BrickTexture"), -60, -150, 60, -46.25, (i * FloorHeight) + (FloorHeight + 25), ((60 * 2) * 0.086), ((150 - 46.25) * 0.08)
+    Room(i).AddFloor GetTex("BrickTexture"), -60, 0, 60, 150, (i * FloorHeight) + (FloorHeight + 25), ((60 * 2) * 0.086), (150 * 0.08)
+    Room(i).AddFloor GetTex("BrickTexture"), -12.5, -46.25, 12.5, 0, (i * FloorHeight) + (FloorHeight + 25), ((12.5 * 2) * 0.086), (46.25 * 0.08)
+    Room(i).AddFloor GetTex("BrickTexture"), -52.5, 0, 12.5, 46.25, (i * FloorHeight) + (FloorHeight + 25), ((52.5 - 12.5) * 0.086), (46.25 * 0.08)
+    Room(i).AddFloor GetTex("BrickTexture"), -60, -46.25, -32.5, 0, (i * FloorHeight) + (FloorHeight + 25), ((60 - 32.5) * 0.086), (46.25 * 0.08)
+    Room(i).AddFloor GetTex("BrickTexture"), 60, -46.25, 32.5, 0, (i * FloorHeight) + (FloorHeight + 25), ((60 - 32.5) * 0.086), (46.25 * 0.08)
+    
+    'Crawlspace Top
+    Room(i).AddFloor GetTex("BrickTexture"), -60, -150, 60, -46.25, (i * FloorHeight) + (FloorHeight + 24.9) + (FloorHeight - 25), ((60 * 2) * 0.086), ((150 - 46.25) * 0.08)
+    Room(i).AddFloor GetTex("BrickTexture"), -60, 0, 60, 150, (i * FloorHeight) + (FloorHeight + 24.9) + (FloorHeight - 25), ((60 * 2) * 0.086), (150 * 0.08)
+    Room(i).AddFloor GetTex("BrickTexture"), -12.5, -46.25, 32.5, 0, (i * FloorHeight) + (FloorHeight + 24.9) + (FloorHeight - 25), ((12.5 * 2) * 0.086), (46.25 * 0.08)
+    Room(i).AddFloor GetTex("BrickTexture"), -60, -46.25, -32.5, 0, (i * FloorHeight) + (FloorHeight + 24.9) + (FloorHeight - 25), ((60 * 2) * 0.086), (46.25 * 0.08)
+    Room(i).AddFloor GetTex("BrickTexture"), 60, -46.25, 32.5, 0, (i * FloorHeight) + (FloorHeight + 24.9) + (FloorHeight - 25), ((60 * 2) * 0.086), (46.25 * 0.08)
+    
+    'Crawlspace Walls
+    Room(i).AddWall GetTex("BrickTexture"), -60, -150, 60, -150, (FloorHeight - 25), (i * FloorHeight) + FloorHeight + 25, ((60 * 2) * 0.086), ((FloorHeight - 25) * 0.08)
+    Room(i).AddWall GetTex("BrickTexture"), 60, -150, 60, 150, (FloorHeight - 25), (i * FloorHeight) + FloorHeight + 25, ((150 * 2) * 0.086), ((FloorHeight - 25) * 0.08)
+    Room(i).AddWall GetTex("BrickTexture"), 60, 150, -60, 150, (FloorHeight - 25), (i * FloorHeight) + FloorHeight + 25, ((60 * 2) * 0.086), ((FloorHeight - 25) * 0.08)
+    Room(i).AddWall GetTex("BrickTexture"), -60, 150, -60, -150, (FloorHeight - 25), (i * FloorHeight) + FloorHeight + 25, ((150 * 2) * 0.086), ((FloorHeight - 25) * 0.08)
+    Room(i).AddWall GetTex("BrickTexture"), -60 + 0.1, -150 + 0.1, 60 - 0.1, -150 + 0.1, 25, (i * FloorHeight) + FloorHeight, 3, 1
+    Room(i).AddWall GetTex("BrickTexture"), 60 - 0.1, -150 + 0.1, 60 - 0.1, 150 - 0.1, 25, (i * FloorHeight) + FloorHeight, 7, 1
+    Room(i).AddWall GetTex("BrickTexture"), 60 - 0.1, 150 - 0.1, -60 + 0.1, 150 - 0.1, 25, (i * FloorHeight) + FloorHeight, 3, 1
+    Room(i).AddWall GetTex("BrickTexture"), -60 + 0.1, 150 - 0.1, -60 + 0.1, -150 + 0.1, 25, (i * FloorHeight) + FloorHeight, 7, 1
+    
+    'Stairwell Walls
+    Stairs(i).AddWall GetTex("Concrete"), -12.5 - 0.5, -46.25 + 0.1, -12.5 - 0.5, -40.3, (FloorHeight), (i * FloorHeight) + FloorHeight, ((46.25 - 40.3) * 0.086), ((FloorHeight) * 0.086)
+    Stairs(i).AddWall GetTex("Concrete"), -12.5 - 0.5, -32.5, -12.5 - 0.5, -30, (FloorHeight), (i * FloorHeight) + FloorHeight, (2.5 * 0.086), ((FloorHeight) * 0.086)
+    Stairs(i).AddWall GetTex("Concrete"), -32.5 + 0.1, -46.25 + 0.1, -32.5 + 0.1, -30 - 1, (FloorHeight), (i * FloorHeight) + FloorHeight, (16.25 * 0.086), ((FloorHeight) * 0.086)
+    Stairs(i).AddWall GetTex("Concrete"), -12.5, -46.25 + 0.1, -32.5, -46.25 + 0.1, (FloorHeight), (i * FloorHeight) + FloorHeight, (20 * 0.086), ((FloorHeight) * 0.086)
+    Stairs(i).AddWall GetTex("Concrete"), -12.5, -30 - 1, -32.5, -30 - 1, (FloorHeight), (i * FloorHeight) + FloorHeight, (20 * 0.086), ((FloorHeight) * 0.086)
+    Stairs(i).AddWall GetTex("Concrete"), -12.5 - 6, -46.25 + 7.71, -12.5 - 16, -46.25 + 7.71, (FloorHeight), (i * FloorHeight) + FloorHeight, (10 * 0.086), ((FloorHeight) * 0.086)
+    Stairs(i).AddWall GetTex("Concrete"), -12.5 - 0.5, -40.3, -12.5 - 0.5, -30, (FloorHeight - 19.5), 19.5 + (i * FloorHeight) + FloorHeight, (10.3 * 0.086), ((FloorHeight - 19.5) * 0.08)
+        
+    Call DrawElevatorWalls(Int(i), 7, 1, False, False, True, False, False, False, False, False, False, False, False, False)
+        
+
+'Roof Layout
+i = 138
+    DoEvents
+    Form1.Label2.Caption = "Processing Floors 80, 115 to 117 and 130 to 138... " + Str$(Int(((i - 24) / (138 - 24)) * 100)) + "%"
+    
+    Room(i).AddFloor GetTex("BrickTexture"), -60, -150, 60, -46.25, (i * FloorHeight) + FloorHeight, ((60 * 2) * 0.086), ((150 - 46.25) * 0.08)
+    Room(i).AddFloor GetTex("BrickTexture"), -60, -15.42, 60, 150, (i * FloorHeight) + FloorHeight, ((60 * 2) * 0.086), ((150 - 15.42) * 0.08)
+    Room(i).AddFloor GetTex("BrickTexture"), -60, -46.25, -32.5, -15.42, (i * FloorHeight) + FloorHeight, ((60 - 32.5) * 0.086), ((46.25 - 15.42) * 0.08)
+    Room(i).AddFloor GetTex("BrickTexture"), 12.5, -46.25, 60, -15.42, (i * FloorHeight) + FloorHeight, ((60 - 12.5) * 0.086), ((46.25 - 15.42) * 0.08)
+    Room(i).AddFloor GetTex("BrickTexture"), -12.5, -46.25, 12.5, -15.42, (i * FloorHeight) + FloorHeight, ((12.5 * 2) * 0.086), ((46.25 - 15.42) * 0.08)
+    
+    Room(i).AddFloor GetTex("BrickTexture"), -32.5, -46.25, -12.5, -15.42, (i * FloorHeight) + (FloorHeight + 25) + 0.1, 2, 2.4
+    
+    'Stairwell Walls
+    Stairs(i).AddWall GetTex("Concrete"), -12.5 - 0.5, -46.25 + 0.1, -12.5 - 0.5, -40.3, (FloorHeight), (i * FloorHeight) + FloorHeight, ((46.25 - 40.3) * 0.086), (FloorHeight * 0.086)
+    Stairs(i).AddWall GetTex("Concrete"), -12.5 - 0.5, -32.5, -12.5 - 0.5, -30, (FloorHeight), (i * FloorHeight) + FloorHeight, (2.5 * 0.086), (FloorHeight * 0.086)
+    Stairs(i).AddWall GetTex("Concrete"), -32.5 + 0.1, -46.25 + 0.1, -32.5 + 0.1, -30 - 1, (FloorHeight), (i * FloorHeight) + FloorHeight, (16.25 * 0.086), (FloorHeight * 0.086)
+    Stairs(i).AddWall GetTex("Concrete"), -12.5, -46.25 + 0.1, -32.5, -46.25 + 0.1, (FloorHeight), (i * FloorHeight) + FloorHeight, (20 * 0.086), (FloorHeight * 0.086)
+    Stairs(i).AddWall GetTex("Concrete"), -12.5, -30 - 1, -32.5, -30 - 1, (FloorHeight), (i * FloorHeight) + FloorHeight, (20 * 0.086), (FloorHeight * 0.086)
+    Stairs(i).AddWall GetTex("Concrete"), -12.5 - 6, -46.25 + 7.71, -12.5 - 16, -46.25 + 7.71, (FloorHeight), (i * FloorHeight) + FloorHeight, (10 * 0.086), (FloorHeight * 0.086)
+    Stairs(i).AddWall GetTex("Concrete"), -12.5 - 0.5, -40.3, -12.5 - 0.5, -30, (FloorHeight - 19.5), 19.5 + (i * FloorHeight) + FloorHeight, (10.3 * 0.086), ((FloorHeight - 19.5) * 0.08)
+    
+    Call DrawElevatorWalls(Int(i), 7, 1, False, False, True, False, False, False, False, False, False, False, False, False)
+
+End Sub
+
 Sub SlowToFPS(ByVal FrameRate As Long)
 Dim lngTicksPerFrame As Long
 Static lngOldTickCount As Long
@@ -4922,6 +2232,7 @@ End Sub
 Sub ProcessOutside()
 '640 and 70
 '350 and 120
+DoEvents
 
 'Outside of Building
     
@@ -5124,169 +2435,208 @@ Sub ProcessOutside()
     'Other Towers
     
     '*** Building directly south of the Triton Center
-    Buildings.AddWall GetTex("Windows11"), -160, 400, 160, 400, 25 * 15, 0, 10, 15
-    Buildings.AddWall GetTex("Windows11"), -160, 600, 160, 600, 25 * 15, 0, 10, 15
-    Buildings.AddWall GetTex("Windows11"), -160, 400, -160, 600, 25 * 15, 0, 10, 15
-    Buildings.AddWall GetTex("Windows11"), 160, 400, 160, 600, 25 * 15, 0, 10, 15
-    Buildings.AddFloor GetTex("Concrete"), -160, 400, 160, 600, 25 * 15, 30, 30
+    Buildings.AddWall GetTex("Windows11"), -160, 400, 160, 400, 32 * 15, 0, 10, 15
+    Buildings.AddWall GetTex("Windows11"), -160, 600, 160, 600, 32 * 15, 0, 10, 15
+    Buildings.AddWall GetTex("Windows11"), -160, 400, -160, 600, 32 * 15, 0, 10, 15
+    Buildings.AddWall GetTex("Windows11"), 160, 400, 160, 600, 32 * 15, 0, 10, 15
+    Buildings.AddFloor GetTex("Concrete"), -160, 400, 160, 600, 32 * 15, 30, 30
     
     '*** Building directly west of the Triton Center
-    Buildings.AddWall GetTex("Windows11"), 470, -150, 320, -150, 25 * 36, 0, 4, 36
-    Buildings.AddWall GetTex("Windows11"), 470, 150, 320, 150, 25 * 36, 0, 4, 36
-    Buildings.AddWall GetTex("Windows11"), 470, -150, 470, 150, 25 * 36, 0, 4, 36
-    Buildings.AddWall GetTex("Windows11"), 320, -150, 320, 150, 25 * 36, 0, 4, 36
-    Buildings.AddFloor GetTex("Concrete"), 470, -150, 320, 150, 25 * 36, 30, 30
+    Buildings.AddWall GetTex("Windows11"), 470, -150, 320, -150, 30 * 36, 0, 4, 36
+    Buildings.AddWall GetTex("Windows11"), 470, 150, 320, 150, 30 * 36, 0, 4, 36
+    Buildings.AddWall GetTex("Windows11"), 470, -150, 470, 150, 30 * 36, 0, 4, 36
+    Buildings.AddWall GetTex("Windows11"), 320, -150, 320, 150, 30 * 36, 0, 4, 36
+    Buildings.AddFloor GetTex("Concrete"), 470, -150, 320, 150, 30 * 36, 30, 30
     
     '*** 2 Buildings directly west of the Triton Center
-    Buildings.AddWall GetTex("Windows11"), 820, -125, 600, -125, 25 * 95, 0, 4, 95
-    Buildings.AddWall GetTex("Windows11"), 820, 125, 600, 125, 25 * 95, 0, 4, 95
-    Buildings.AddWall GetTex("Windows11"), 820, -125, 820, 125, 25 * 95, 0, 4, 95
-    Buildings.AddWall GetTex("Windows11"), 600, -125, 600, 125, 25 * 95, 0, 4, 95
-    Buildings.AddFloor GetTex("Concrete"), 820, -125, 600, 125, 25 * 95, 30, 30
+    Buildings.AddWall GetTex("Windows11"), 820, -125, 600, -125, 35 * 86, 0, 4, 86
+    Buildings.AddWall GetTex("Windows11"), 820, 125, 600, 125, 35 * 86, 0, 4, 86
+    Buildings.AddWall GetTex("Windows11"), 820, -125, 820, 125, 35 * 86, 0, 4, 86
+    Buildings.AddWall GetTex("Windows11"), 600, -125, 600, 125, 35 * 86, 0, 4, 86
+    Buildings.AddFloor GetTex("Concrete"), 820, -125, 600, 125, 35 * 86, 30, 30
     
     '*** Building directly east of the Triton Center
-    Buildings.AddWall GetTex("Windows11"), -400, -100, -250, -100, 25 * 45, 0, 4, 45
-    Buildings.AddWall GetTex("Windows11"), -400, 100, -250, 100, 25 * 45, 0, 4, 45
-    Buildings.AddWall GetTex("Windows11"), -400, -100, -400, 100, 25 * 45, 0, 4, 45
-    Buildings.AddWall GetTex("Windows11"), -250, -100, -250, 100, 25 * 45, 0, 4, 45
-    Buildings.AddFloor GetTex("Concrete"), -400, -100, -250, 100, 25 * 45, 30, 30
+    Buildings.AddWall GetTex("Windows11"), -400, -100, -250, -100, 32 * 45, 0, 4, 45
+    Buildings.AddWall GetTex("Windows11"), -400, 100, -250, 100, 32 * 45, 0, 4, 45
+    Buildings.AddWall GetTex("Windows11"), -400, -100, -400, 100, 32 * 45, 0, 4, 45
+    Buildings.AddWall GetTex("Windows11"), -250, -100, -250, 100, 32 * 45, 0, 4, 45
+    Buildings.AddFloor GetTex("Concrete"), -400, -100, -250, 100, 32 * 45, 30, 30
     
     '*** 3 buildings west of the Triton Center
     
-    Buildings.AddWall GetTex("Windows11"), 1300, -100, 970, -100, 25 * 25, 0, 2, 25
-    Buildings.AddWall GetTex("Windows11"), 1300, 100, 970, 100, 25 * 25, 0, 2, 25
-    Buildings.AddWall GetTex("Windows11"), 1300, -100, 1300, 100, 25 * 25, 0, 4, 25
-    Buildings.AddWall GetTex("Windows11"), 970, -100, 970, 100, 25 * 25, 0, 4, 25
-    Buildings.AddFloor GetTex("Concrete"), 1300, -100, 970, 100, 25 * 25, 30, 30
+    Buildings.AddWall GetTex("Windows11"), 1300, -100, 970, -100, 32 * 25, 0, 2, 25
+    Buildings.AddWall GetTex("Windows11"), 1300, 100, 970, 100, 32 * 25, 0, 2, 25
+    Buildings.AddWall GetTex("Windows11"), 1300, -100, 1300, 100, 32 * 25, 0, 4, 25
+    Buildings.AddWall GetTex("Windows11"), 970, -100, 970, 100, 32 * 25, 0, 4, 25
+    Buildings.AddFloor GetTex("Concrete"), 1300, -100, 970, 100, 32 * 25, 30, 30
     
     '*** 2 buildings east of the Triton Center
     
-    Buildings.AddWall GetTex("Windows11"), -820, -100, -650, -100, 25 * 65, 0, 2, 65
-    Buildings.AddWall GetTex("Windows11"), -820, 100, -650, 100, 25 * 65, 0, 2, 65
-    Buildings.AddWall GetTex("Windows11"), -820, -100, -820, 100, 25 * 65, 0, 4, 65
-    Buildings.AddWall GetTex("Windows11"), -650, -100, -650, 100, 25 * 65, 0, 4, 65
-    Buildings.AddFloor GetTex("Concrete"), -820, -100, -650, 100, 25 * 65, 30, 30
+    Buildings.AddWall GetTex("Windows11"), -820, -100, -650, -100, 32 * 65, 0, 2, 65
+    Buildings.AddWall GetTex("Windows11"), -820, 100, -650, 100, 32 * 65, 0, 2, 65
+    Buildings.AddWall GetTex("Windows11"), -820, -100, -820, 100, 32 * 65, 0, 4, 65
+    Buildings.AddWall GetTex("Windows11"), -650, -100, -650, 100, 32 * 65, 0, 4, 65
+    Buildings.AddFloor GetTex("Concrete"), -820, -100, -650, 100, 32 * 65, 30, 30
     
     
-    External.AddWall GetTex("LobbyFront"), -160, -150, 160, -150, 75, 0, 3, 1
-    External.AddWall GetTex("LobbyFront"), 160, -150, 160, 150, 75, 0, 3, 1
-    External.AddWall GetTex("LobbyFront"), 160, 150, -160, 150, 75, 0, 3, 1
-    External.AddWall GetTex("LobbyFront"), -160, 150, -160, -150, 75, 0, 3, 1
+    External.AddWall GetTex("LobbyFront"), -160, -150, 160, -150, (FloorHeight * 3), 0, 3, 1
+    External.AddWall GetTex("LobbyFront"), 160, -150, 160, 150, (FloorHeight * 3), 0, 3, 1
+    External.AddWall GetTex("LobbyFront"), 160, 150, -160, 150, (FloorHeight * 3), 0, 3, 1
+    External.AddWall GetTex("LobbyFront"), -160, 150, -160, -150, (FloorHeight * 3), 0, 3, 1
 
 For i = 2 To 39
-    External.AddWall GetTex("MainWindows"), -160, -150, 160, -150, 25, (i * 25) + 25, 7.6, 1
-    External.AddWall GetTex("MainWindows"), 160, -150, 160, 150, 25, (i * 25) + 25, 7, 1
-    External.AddWall GetTex("MainWindows"), 160, 150, -160, 150, 25, (i * 25) + 25, 7.6, 1
-    External.AddWall GetTex("MainWindows"), -160, 150, -160, -150, 25, (i * 25) + 25, 7, 1
+DoEvents
+    External.AddWall GetTex("MainWindows"), -160, -150, 160, -150, FloorHeight, (i * FloorHeight) + FloorHeight, 7.6, 1
+    External.AddWall GetTex("MainWindows"), 160, -150, 160, 150, FloorHeight, (i * FloorHeight) + FloorHeight, 7, 1
+    External.AddWall GetTex("MainWindows"), 160, 150, -160, 150, FloorHeight, (i * FloorHeight) + FloorHeight, 7.6, 1
+    External.AddWall GetTex("MainWindows"), -160, 150, -160, -150, FloorHeight, (i * FloorHeight) + FloorHeight, 7, 1
 Next i
 
 
 For i = 40 To 79
-    External.AddWall GetTex("MainWindows"), -135, -150, 135, -150, 25, (i * 25) + 25, 6.5, 1
-    External.AddWall GetTex("MainWindows"), 135, -150, 135, 150, 25, (i * 25) + 25, 7, 1
-    External.AddWall GetTex("MainWindows"), 135, 150, -135, 150, 25, (i * 25) + 25, 6.5, 1
-    External.AddWall GetTex("MainWindows"), -135, 150, -135, -150, 25, (i * 25) + 25, 7, 1
+DoEvents
+    External.AddWall GetTex("MainWindows"), -135, -150, 135, -150, FloorHeight, (i * FloorHeight) + FloorHeight, 6.5, 1
+    External.AddWall GetTex("MainWindows"), 135, -150, 135, 150, FloorHeight, (i * FloorHeight) + FloorHeight, 7, 1
+    External.AddWall GetTex("MainWindows"), 135, 150, -135, 150, FloorHeight, (i * FloorHeight) + FloorHeight, 6.5, 1
+    External.AddWall GetTex("MainWindows"), -135, 150, -135, -150, FloorHeight, (i * FloorHeight) + FloorHeight, 7, 1
 Next i
 
 For i = 80 To 117
-    External.AddWall GetTex("MainWindows"), -110, -150, 110, -150, 25, (i * 25) + 25, 5, 1
-    External.AddWall GetTex("MainWindows"), 110, -150, 110, 150, 25, (i * 25) + 25, 7, 1
-    External.AddWall GetTex("MainWindows"), 110, 150, -110, 150, 25, (i * 25) + 25, 5, 1
-    External.AddWall GetTex("MainWindows"), -110, 150, -110, -150, 25, (i * 25) + 25, 7, 1
+DoEvents
+    External.AddWall GetTex("MainWindows"), -110, -150, 110, -150, FloorHeight, (i * FloorHeight) + FloorHeight, 5, 1
+    External.AddWall GetTex("MainWindows"), 110, -150, 110, 150, FloorHeight, (i * FloorHeight) + FloorHeight, 7, 1
+    External.AddWall GetTex("MainWindows"), 110, 150, -110, 150, FloorHeight, (i * FloorHeight) + FloorHeight, 5, 1
+    External.AddWall GetTex("MainWindows"), -110, 150, -110, -150, FloorHeight, (i * FloorHeight) + FloorHeight, 7, 1
 Next i
     
 For i = 118 To 134
-    External.AddWall GetTex("MainWindows"), -85, -150, 85, -150, 25, (i * 25) + 25, 4, 1
-    External.AddWall GetTex("MainWindows"), 85, -150, 85, 150, 25, (i * 25) + 25, 7, 1
-    External.AddWall GetTex("MainWindows"), 85, 150, -85, 150, 25, (i * 25) + 25, 4, 1
-    External.AddWall GetTex("MainWindows"), -85, 150, -85, -150, 25, (i * 25) + 25, 7, 1
+DoEvents
+    External.AddWall GetTex("MainWindows"), -85, -150, 85, -150, FloorHeight, (i * FloorHeight) + FloorHeight, 4, 1
+    External.AddWall GetTex("MainWindows"), 85, -150, 85, 150, FloorHeight, (i * FloorHeight) + FloorHeight, 7, 1
+    External.AddWall GetTex("MainWindows"), 85, 150, -85, 150, FloorHeight, (i * FloorHeight) + FloorHeight, 4, 1
+    External.AddWall GetTex("MainWindows"), -85, 150, -85, -150, FloorHeight, (i * FloorHeight) + FloorHeight, 7, 1
   
 Next i
 
 For i = 135 To 136
-    External.AddWall GetTex("MainWindows"), -60, -150, 60, -150, 25, (i * 25) + 25, 3, 1
-    External.AddWall GetTex("MainWindows"), 60, -150, 60, 150, 25, (i * 25) + 25, 7, 1
-    External.AddWall GetTex("MainWindows"), 60, 150, -60, 150, 25, (i * 25) + 25, 3, 1
-    External.AddWall GetTex("MainWindows"), -60, 150, -60, -150, 25, (i * 25) + 25, 7, 1
+DoEvents
+    External.AddWall GetTex("MainWindows"), -60, -150, 60, -150, FloorHeight, (i * FloorHeight) + FloorHeight, 3, 1
+    External.AddWall GetTex("MainWindows"), 60, -150, 60, 150, FloorHeight, (i * FloorHeight) + FloorHeight, 7, 1
+    External.AddWall GetTex("MainWindows"), 60, 150, -60, 150, FloorHeight, (i * FloorHeight) + FloorHeight, 3, 1
+    External.AddWall GetTex("MainWindows"), -60, 150, -60, -150, FloorHeight, (i * FloorHeight) + FloorHeight, 7, 1
 Next i
 
 i = 137
-    External.AddWall GetTex("Concrete"), -60, -150, 60, -150, 25, (i * 25) + 25, 3 * 4, 1 * 4
-    External.AddWall GetTex("Concrete"), 60, -150, 60, 150, 25, (i * 25) + 25, 7 * 4, 1 * 4
-    External.AddWall GetTex("Concrete"), 60, 150, -60, 150, 25, (i * 25) + 25, 3 * 4, 1 * 4
-    External.AddWall GetTex("Concrete"), -60, 150, -60, -150, 25, (i * 25) + 25, 7 * 4, 1 * 4
+    External.AddWall GetTex("Concrete"), -60, -150, 60, -150, FloorHeight, (i * FloorHeight) + FloorHeight, 3 * 4, 1 * 4
+    External.AddWall GetTex("Concrete"), 60, -150, 60, 150, FloorHeight, (i * FloorHeight) + FloorHeight, 7 * 4, 1 * 4
+    External.AddWall GetTex("Concrete"), 60, 150, -60, 150, FloorHeight, (i * FloorHeight) + FloorHeight, 3 * 4, 1 * 4
+    External.AddWall GetTex("Concrete"), -60, 150, -60, -150, FloorHeight, (i * FloorHeight) + FloorHeight, 7 * 4, 1 * 4
     
 'Landings
-    Buildings.AddFloor GetTex("BrickTexture"), -160, -150, -135, 150, (40 * 25) + 25, 10, 10
-    Buildings.AddFloor GetTex("BrickTexture"), 160, -150, 135, 150, (40 * 25) + 25, 10, 10
+    Buildings.AddFloor GetTex("BrickTexture"), -160, -150, -135, 150, (40 * FloorHeight) + FloorHeight, 10, 10
+    Buildings.AddFloor GetTex("BrickTexture"), 160, -150, 135, 150, (40 * FloorHeight) + FloorHeight, 10, 10
 
-    Buildings.AddFloor GetTex("BrickTexture"), -135, -150, -110, 150, (80 * 25) + 25, 10, 10
-    Buildings.AddFloor GetTex("BrickTexture"), 135, -150, 110, 150, (80 * 25) + 25, 10, 10
+    Buildings.AddFloor GetTex("BrickTexture"), -135, -150, -110, 150, (80 * FloorHeight) + FloorHeight, 10, 10
+    Buildings.AddFloor GetTex("BrickTexture"), 135, -150, 110, 150, (80 * FloorHeight) + FloorHeight, 10, 10
 
-    Buildings.AddFloor GetTex("BrickTexture"), -110, -150, -85, 150, (118 * 25) + 25, 10, 10
-    Buildings.AddFloor GetTex("BrickTexture"), 110, -150, 85, 150, (118 * 25) + 25, 10, 10
+    Buildings.AddFloor GetTex("BrickTexture"), -110, -150, -85, 150, (118 * FloorHeight) + FloorHeight, 10, 10
+    Buildings.AddFloor GetTex("BrickTexture"), 110, -150, 85, 150, (118 * FloorHeight) + FloorHeight, 10, 10
 
-    Buildings.AddFloor GetTex("BrickTexture"), -85, -150, -60, 150, (135 * 25) + 25, 10, 10
-    Buildings.AddFloor GetTex("BrickTexture"), 85, -150, 60, 150, (135 * 25) + 25, 10, 10
+    Buildings.AddFloor GetTex("BrickTexture"), -85, -150, -60, 150, (135 * FloorHeight) + FloorHeight, 10, 10
+    Buildings.AddFloor GetTex("BrickTexture"), 85, -150, 60, 150, (135 * FloorHeight) + FloorHeight, 10, 10
 
 'Antennae
     '1
-    Buildings.AddWall GetTex("Concrete"), -25, 10, -25, 15, 20 * 25, (138 * 25) + 25, 1 * 2, 20 * 4
-    Buildings.AddWall GetTex("Concrete"), -20, 15, -25, 15, 20 * 25, (138 * 25) + 25, 1 * 2, 20 * 4
-    Buildings.AddWall GetTex("Concrete"), -20, 10, -25, 10, 20 * 25, (138 * 25) + 25, 1 * 2, 20 * 4
-    Buildings.AddWall GetTex("Concrete"), -20, 10, -20, 15, 20 * 25, (138 * 25) + 25, 1 * 2, 20 * 4
+    Buildings.AddWall GetTex("Concrete"), -25, 10, -25, 15, 20 * FloorHeight, (138 * FloorHeight) + FloorHeight, 1 * 2, 20 * 4
+    Buildings.AddWall GetTex("Concrete"), -20, 15, -25, 15, 20 * FloorHeight, (138 * FloorHeight) + FloorHeight, 1 * 2, 20 * 4
+    Buildings.AddWall GetTex("Concrete"), -20, 10, -25, 10, 20 * FloorHeight, (138 * FloorHeight) + FloorHeight, 1 * 2, 20 * 4
+    Buildings.AddWall GetTex("Concrete"), -20, 10, -20, 15, 20 * FloorHeight, (138 * FloorHeight) + FloorHeight, 1 * 2, 20 * 4
     
     '2
-    Buildings.AddWall GetTex("Concrete"), 25, 10, 25, 15, 20 * 25, (138 * 25) + 25, 1 * 2, 20 * 4
-    Buildings.AddWall GetTex("Concrete"), 20, 15, 25, 15, 20 * 25, (138 * 25) + 25, 1 * 2, 20 * 4
-    Buildings.AddWall GetTex("Concrete"), 20, 10, 25, 10, 20 * 25, (138 * 25) + 25, 1 * 2, 20 * 4
-    Buildings.AddWall GetTex("Concrete"), 20, 10, 20, 15, 20 * 25, (138 * 25) + 25, 1 * 2, 20 * 4
+    Buildings.AddWall GetTex("Concrete"), 25, 10, 25, 15, 20 * FloorHeight, (138 * FloorHeight) + FloorHeight, 1 * 2, 20 * 4
+    Buildings.AddWall GetTex("Concrete"), 20, 15, 25, 15, 20 * FloorHeight, (138 * FloorHeight) + FloorHeight, 1 * 2, 20 * 4
+    Buildings.AddWall GetTex("Concrete"), 20, 10, 25, 10, 20 * FloorHeight, (138 * FloorHeight) + FloorHeight, 1 * 2, 20 * 4
+    Buildings.AddWall GetTex("Concrete"), 20, 10, 20, 15, 20 * FloorHeight, (138 * FloorHeight) + FloorHeight, 1 * 2, 20 * 4
     
 End Sub
 
 Sub MainLoop()
+On Error Resume Next
 
 'Calls frame limiter function, which sets the max frame rate
 'note - the frame rate determines elevator speed, walking speed, etc
 'In order to raise it, elevator timers and walking speed must both be changed
 SlowToFPS (20)
 
-If OpeningDoor > 0 Then Call OpenDoor
-If ClosingDoor > 0 Then Call CloseDoor
+If OpeningDoor > 0 And CallingStairDoors = False Then Call OpenDoor
+If ClosingDoor > 0 And CallingStairDoors = False Then Call CloseDoor
+If OpeningDoor > 0 And CallingStairDoors = True Then Call OpenStairDoor
+If ClosingDoor > 0 And CallingStairDoors = True Then Call CloseStairDoor
 
 'Determine floor that the camera is on, if the camera is not in the stairwell
-If InStairwell = False Then CameraFloor = (Camera.GetPosition.Y - 25 - 10) / 25
+If InStairwell = False Then CameraFloor = (Camera.GetPosition.Y - FloorHeight - 10) / FloorHeight
 If CameraFloor < 1 Then CameraFloor = 1
             
-If Plaque(ElevatorNumber).IsMeshEnabled = False Then InElevator = False
 If GotoFloor(ElevatorNumber) = 0 Then ElevatorSync(ElevatorNumber) = False
 
+'This code turns off elevator objects and elevator sync if you leave the elevator
+Elevator(ElevatorNumber).SetCollisionEnable True
+If Elevator(ElevatorNumber).Collision(Camera.GetPosition, Vector(Camera.GetPosition.X, Camera.GetPosition.Y - 25, Camera.GetPosition.z), TV_TESTTYPE_ACCURATETESTING) = False And ElevatorSync(ElevatorNumber) = True Then
+InElevator = False
+ElevatorSync(ElevatorNumber) = False
+ButtonsEnabled = False
+For j50 = -1 To 144
+Scene.DestroyMesh Buttons(j50)
+Set Buttons(j50) = Nothing
+Next j50
+End If
+Elevator(ElevatorNumber).SetCollisionEnable False
+
 'This code checks to see if the camera is in an elevator or not (to draw the elevator buttons, set current elevator, etc)
 'It draws a testing line below the camera, to see if the line hits the floor of an elevator.
     
-For i50 = 1 To 10
+For i50 = 1 To 40
     
     'This code fixes a bug where the camera's height changes in the elevator if the user moves
     If ElevatorSync(i50) = True And GotoFloor(i50) <> 0 And OpenElevator(i50) = 0 Then Camera.SetPosition Camera.GetPosition.X, Elevator(i50).GetPosition.Y + 10, Camera.GetPosition.z
     
-    'detects if the person is in the elevator
+    'detects if the person is in an elevator
     Elevator(i50).SetCollisionEnable True
-    If Elevator(i50).Collision(Camera.GetPosition, Vector(Camera.GetPosition.X, Camera.GetPosition.Y - 15, Camera.GetPosition.z), TV_TESTTYPE_ACCURATETESTING) = True Then
+    If Elevator(i50).Collision(Camera.GetPosition, Vector(Camera.GetPosition.X, Camera.GetPosition.Y - 25, Camera.GetPosition.z), TV_TESTTYPE_ACCURATETESTING) = True Then
+        If InElevator = False Then DrawElevatorButtons (i50)
         ElevatorNumber = i50
         InElevator = True
                 
         'displays 3 floors of the inside shaft while the elevator's moving
         If ElevatorSync(i50) = True And OpenElevator(i50) = 0 And GotoFloor(i50) <> 0 Then
-            If ElevatorFloor(i50) > 1 And (i50 = 2 Or i50 = 4 Or i50 = 6 Or i50 = 8 Or i50 = 10) Then Shafts2(ElevatorFloor(i50) - 1).Enable True
-            If ElevatorFloor(i50) > 1 And (i50 = 1 Or i50 = 3 Or i50 = 5 Or i50 = 7 Or i50 = 9) Then Shafts1(ElevatorFloor(i50) - 1).Enable True
-            If ElevatorFloor(i50) < 138 And (i50 = 2 Or i50 = 4 Or i50 = 6 Or i50 = 8 Or i50 = 10) Then Shafts2(ElevatorFloor(i50) + 1).Enable True
-            If ElevatorFloor(i50) < 138 And (i50 = 1 Or i50 = 3 Or i50 = 5 Or i50 = 7 Or i50 = 9) Then Shafts1(ElevatorFloor(i50) + 1).Enable True
-            If i50 = 2 Or i50 = 4 Or i50 = 6 Or i50 = 8 Or i50 = 10 Then Shafts2(ElevatorFloor(i50)).Enable True
-            If i50 = 1 Or i50 = 3 Or i50 = 5 Or i50 = 7 Or i50 = 9 Then Shafts1(ElevatorFloor(i50)).Enable True
-            If ElevatorFloor(i50) > 2 And (i50 = 2 Or i50 = 4 Or i50 = 6 Or i50 = 8 Or i50 = 10) Then Shafts2(ElevatorFloor(i50) - 2).Enable False
-            If ElevatorFloor(i50) > 2 And (i50 = 1 Or i50 = 3 Or i50 = 5 Or i50 = 7 Or i50 = 9) Then Shafts1(ElevatorFloor(i50) - 2).Enable False
-            If ElevatorFloor(i50) < 137 And (i50 = 2 Or i50 = 4 Or i50 = 6 Or i50 = 8 Or i50 = 10) Then Shafts2(ElevatorFloor(i50) + 2).Enable False
-            If ElevatorFloor(i50) < 137 And (i50 = 1 Or i50 = 3 Or i50 = 5 Or i50 = 7 Or i50 = 9) Then Shafts1(ElevatorFloor(i50) + 2).Enable False
+            If i50 = 2 Or i50 = 4 Or i50 = 6 Or i50 = 8 Or i50 = 10 Or i50 = 12 Or i50 = 14 Or i50 = 16 Or i50 = 18 Or i50 = 20 Then
+                If ElevatorFloor(i50) > 1 Then Shafts2(ElevatorFloor(i50) - 1).Enable True
+                If ElevatorFloor(i50) < 138 Then Shafts2(ElevatorFloor(i50) + 1).Enable True
+                Shafts2(ElevatorFloor(i50)).Enable True
+                If ElevatorFloor(i50) > 2 Then Shafts2(ElevatorFloor(i50) - 2).Enable False
+                If ElevatorFloor(i50) < 137 Then Shafts2(ElevatorFloor(i50) + 2).Enable False
+            End If
+            If i50 = 1 Or i50 = 3 Or i50 = 5 Or i50 = 7 Or i50 = 9 Or i50 = 11 Or i50 = 13 Or i50 = 15 Or i50 = 17 Or i50 = 19 Then
+                If ElevatorFloor(i50) > 1 Then Shafts1(ElevatorFloor(i50) - 1).Enable True
+                If ElevatorFloor(i50) < 138 Then Shafts1(ElevatorFloor(i50) + 1).Enable True
+                Shafts1(ElevatorFloor(i50)).Enable True
+                If ElevatorFloor(i50) > 2 Then Shafts1(ElevatorFloor(i50) - 2).Enable False
+                If ElevatorFloor(i50) < 137 Then Shafts1(ElevatorFloor(i50) + 2).Enable False
+            End If
+            If i50 = 22 Or i50 = 24 Or i50 = 26 Or i50 = 28 Or i50 = 30 Or i50 = 32 Or i50 = 34 Or i50 = 36 Or i50 = 38 Or i50 = 40 Then
+                If ElevatorFloor(i50) > 1 Then Shafts4(ElevatorFloor(i50) - 1).Enable True
+                If ElevatorFloor(i50) < 138 Then Shafts4(ElevatorFloor(i50) + 1).Enable True
+                Shafts4(ElevatorFloor(i50)).Enable True
+                If ElevatorFloor(i50) > 2 Then Shafts4(ElevatorFloor(i50) - 2).Enable False
+                If ElevatorFloor(i50) < 137 Then Shafts4(ElevatorFloor(i50) + 2).Enable False
+            End If
+            If i50 = 21 Or i50 = 23 Or i50 = 25 Or i50 = 27 Or i50 = 29 Or i50 = 31 Or i50 = 33 Or i50 = 35 Or i50 = 37 Or i50 = 39 Then
+                If ElevatorFloor(i50) > 1 Then Shafts3(ElevatorFloor(i50) - 1).Enable True
+                If ElevatorFloor(i50) < 138 Then Shafts3(ElevatorFloor(i50) + 1).Enable True
+                Shafts4(ElevatorFloor(i50)).Enable True
+                If ElevatorFloor(i50) > 2 Then Shafts3(ElevatorFloor(i50) - 2).Enable False
+                If ElevatorFloor(i50) < 137 Then Shafts3(ElevatorFloor(i50) + 2).Enable False
+            End If
         Else
             If ElevatorFloor(i50) > 1 Then Shafts1(ElevatorFloor(i50) - 1).Enable False: Shafts2(ElevatorFloor(i50) - 1).Enable False
             If ElevatorFloor(i50) < 138 Then Shafts1(ElevatorFloor(i50) + 1).Enable False: Shafts2(ElevatorFloor(i50) + 1).Enable False
@@ -5299,54 +2649,31 @@ For i50 = 1 To 10
         If Plaque(i50).IsMeshEnabled = False Then
             Plaque(i50).Enable True
             FloorIndicator(i50).Enable True
-            Plaque(i50).SetPosition Plaque(i50).GetPosition.X, Plaque(i50).GetPosition.Y + ((CurrentFloorExact(i50) - ((Plaque(i50).GetPosition.Y - 25) / 25)) * 25), Plaque(i50).GetPosition.z
-            FloorIndicator(i50).SetPosition FloorIndicator(i50).GetPosition.X, FloorIndicator(i50).GetPosition.Y + ((CurrentFloorExact(i50) - ((FloorIndicator(i50).GetPosition.Y - 25) / 25)) * 25), FloorIndicator(i50).GetPosition.z
-            For j50 = -1 To 138
-                If i50 = 1 Then Buttons1(j50).SetPosition Buttons1(j50).GetPosition.X, Buttons1(j50).GetPosition.Y + ((CurrentFloorExact(1) - ((Buttons1(j50).GetPosition.Y - 25) / 25)) * 25), Buttons1(j50).GetPosition.z
-                If i50 = 2 Then Buttons2(j50).SetPosition Buttons2(j50).GetPosition.X, Buttons2(j50).GetPosition.Y + ((CurrentFloorExact(2) - ((Buttons2(j50).GetPosition.Y - 25) / 25)) * 25), Buttons2(j50).GetPosition.z
-                If i50 = 3 Then Buttons3(j50).SetPosition Buttons3(j50).GetPosition.X, Buttons3(j50).GetPosition.Y + ((CurrentFloorExact(3) - ((Buttons3(j50).GetPosition.Y - 25) / 25)) * 25), Buttons3(j50).GetPosition.z
-                If i50 = 4 Then Buttons4(j50).SetPosition Buttons4(j50).GetPosition.X, Buttons4(j50).GetPosition.Y + ((CurrentFloorExact(4) - ((Buttons4(j50).GetPosition.Y - 25) / 25)) * 25), Buttons4(j50).GetPosition.z
-                If i50 = 5 Then Buttons5(j50).SetPosition Buttons5(j50).GetPosition.X, Buttons5(j50).GetPosition.Y + ((CurrentFloorExact(5) - ((Buttons5(j50).GetPosition.Y - 25) / 25)) * 25), Buttons5(j50).GetPosition.z
-                If i50 = 6 Then Buttons6(j50).SetPosition Buttons6(j50).GetPosition.X, Buttons6(j50).GetPosition.Y + ((CurrentFloorExact(6) - ((Buttons6(j50).GetPosition.Y - 25) / 25)) * 25), Buttons6(j50).GetPosition.z
-                If i50 = 7 Then Buttons7(j50).SetPosition Buttons7(j50).GetPosition.X, Buttons7(j50).GetPosition.Y + ((CurrentFloorExact(7) - ((Buttons7(j50).GetPosition.Y - 25) / 25)) * 25), Buttons7(j50).GetPosition.z
-                If i50 = 8 Then Buttons8(j50).SetPosition Buttons8(j50).GetPosition.X, Buttons8(j50).GetPosition.Y + ((CurrentFloorExact(8) - ((Buttons8(j50).GetPosition.Y - 25) / 25)) * 25), Buttons8(j50).GetPosition.z
-                If i50 = 9 Then Buttons9(j50).SetPosition Buttons9(j50).GetPosition.X, Buttons9(j50).GetPosition.Y + ((CurrentFloorExact(9) - ((Buttons9(j50).GetPosition.Y - 25) / 25)) * 25), Buttons9(j50).GetPosition.z
-                If i50 = 10 Then Buttons10(j50).SetPosition Buttons10(j50).GetPosition.X, Buttons10(j50).GetPosition.Y + ((CurrentFloorExact(10) - ((Buttons10(j50).GetPosition.Y - 25) / 25)) * 25), Buttons10(j50).GetPosition.z
-                If i50 = 1 Then Buttons1(j50).Enable True
-                If i50 = 2 Then Buttons2(j50).Enable True
-                If i50 = 3 Then Buttons3(j50).Enable True
-                If i50 = 4 Then Buttons4(j50).Enable True
-                If i50 = 5 Then Buttons5(j50).Enable True
-                If i50 = 6 Then Buttons6(j50).Enable True
-                If i50 = 7 Then Buttons7(j50).Enable True
-                If i50 = 8 Then Buttons8(j50).Enable True
-                If i50 = 9 Then Buttons9(j50).Enable True
-                If i50 = 10 Then Buttons10(j50).Enable True
-            Next j50
+            Plaque(i50).SetPosition Plaque(i50).GetPosition.X, Plaque(i50).GetPosition.Y + ((CurrentFloorExact(i50) - ((Plaque(i50).GetPosition.Y - FloorHeight) / FloorHeight)) * FloorHeight), Plaque(i50).GetPosition.z
+            FloorIndicator(i50).SetPosition FloorIndicator(i50).GetPosition.X, FloorIndicator(i50).GetPosition.Y + ((CurrentFloorExact(i50) - ((FloorIndicator(i50).GetPosition.Y - FloorHeight) / FloorHeight)) * FloorHeight), FloorIndicator(i50).GetPosition.z
+            'DrawElevatorButtons (i50)
+            'For j50 = -1 To 144
+            '    Buttons(j50).SetPosition Buttons(j50).GetPosition.X, Buttons(j50).GetPosition.Y + ((CurrentFloorExact(1) - ((Buttons(j50).GetPosition.Y - FloorHeight) / FloorHeight)) * FloorHeight), Buttons(j50).GetPosition.Z
+            '    Buttons(j50).Enable True
+            'Next j50
         End If
     Else
     
-    If Plaque(i50).IsMeshEnabled = True And ElevatorSync(i50) = False Then
+        If Plaque(i50).IsMeshEnabled = True And ElevatorSync(ElevatorNumber) = False Then
+            InElevator = False
+            For j50 = -1 To 144
+            Scene.DestroyMesh Buttons(j50)
+            Set Buttons(j50) = Nothing
+            Next j50
+            ButtonsEnabled = False
             Plaque(i50).Enable False
             FloorIndicator(i50).Enable False
-            For j50 = -1 To 138
-                If i50 = 1 Then Buttons1(j50).Enable False
-                If i50 = 2 Then Buttons2(j50).Enable False
-                If i50 = 3 Then Buttons3(j50).Enable False
-                If i50 = 4 Then Buttons4(j50).Enable False
-                If i50 = 5 Then Buttons5(j50).Enable False
-                If i50 = 6 Then Buttons6(j50).Enable False
-                If i50 = 7 Then Buttons7(j50).Enable False
-                If i50 = 8 Then Buttons8(j50).Enable False
-                If i50 = 9 Then Buttons9(j50).Enable False
-                If i50 = 10 Then Buttons10(j50).Enable False
-            Next j50
         End If
     End If
 Next i50
    
 'This code changes the elevator floor indicator picture
-For i50 = 1 To 10
+For i50 = 1 To 40
 FloorIndicatorPic(i50) = Str$(ElevatorFloor(i50))
 FloorIndicatorPic(i50) = "Button" + Mid$(FloorIndicatorPic(i50), 2)
 If ElevatorFloor(i50) = 1 Then FloorIndicatorPic(i50) = "ButtonL"
@@ -5361,16 +2688,26 @@ If FloorIndicatorPic(i50) <> FloorIndicatorPicOld(i50) Then
 End If
 FloorIndicatorPicOld(i50) = FloorIndicatorPic(i50)
 
-ElevatorFloor2(i50) = ((Elevator(i50).GetPosition.Y - 10) / 25) - 1
+ElevatorFloor2(i50) = ((Elevator(i50).GetPosition.Y - 10) / FloorHeight) - 1
 
 'Update the floor indicator
 FloorIndicatorText(i50) = Str$(ElevatorFloor(i50))
 If ElevatorFloor(i50) = 1 Then FloorIndicatorText(i50) = "L"
 If ElevatorFloor(i50) = 138 Then FloorIndicatorText(i50) = "R"
-If Elevator(i50).GetPosition.Y > 27 And ElevatorFloor(i50) < 2 Then FloorIndicatorText(i50) = "M"
+If Elevator(i50).GetPosition.Y > FloorHeight And ElevatorFloor(i50) < 2 Then FloorIndicatorText(i50) = "M"
 
 Next i50
-   
+
+'Stair doors used to speed up stairway
+i50 = CameraFloor
+If CameraFloor = 1 Then i50 = -1
+If CameraFloor > 1 Then StairDoor(i50 - 1).Enable True
+If CameraFloor < 138 Then StairDoor(i50 + 1).Enable True
+StairDoor(i50).Enable True
+If CameraFloor = 1 Then StairDoor(0).Enable True: StairDoor(2).Enable True
+If CameraFloor > 2 Then StairDoor(i50 - 2).Enable False
+If CameraFloor < 137 Then StairDoor(i50 + 2).Enable False
+
 Form2.Label1.Caption = FloorIndicatorText(1)
 Form2.Label2.Caption = FloorIndicatorText(2)
 Form2.Label3.Caption = FloorIndicatorText(3)
@@ -5381,22 +2718,39 @@ Form2.Label7.Caption = FloorIndicatorText(7)
 Form2.Label8.Caption = FloorIndicatorText(8)
 Form2.Label9.Caption = FloorIndicatorText(9)
 Form2.Label10.Caption = FloorIndicatorText(10)
+Form2.Label11.Caption = FloorIndicatorText(11)
+Form2.Label12.Caption = FloorIndicatorText(12)
+Form2.Label13.Caption = FloorIndicatorText(13)
+Form2.Label14.Caption = FloorIndicatorText(14)
+Form2.Label15.Caption = FloorIndicatorText(15)
+Form2.Label16.Caption = FloorIndicatorText(16)
+Form2.Label17.Caption = FloorIndicatorText(17)
+Form2.Label18.Caption = FloorIndicatorText(18)
+Form2.Label19.Caption = FloorIndicatorText(19)
+Form2.Label20.Caption = FloorIndicatorText(20)
+Form2.Label21.Caption = FloorIndicatorText(21)
+Form2.Label22.Caption = FloorIndicatorText(22)
+Form2.Label23.Caption = FloorIndicatorText(23)
+Form2.Label24.Caption = FloorIndicatorText(24)
+Form2.Label25.Caption = FloorIndicatorText(25)
+Form2.Label26.Caption = FloorIndicatorText(26)
+Form2.Label27.Caption = FloorIndicatorText(27)
+Form2.Label28.Caption = FloorIndicatorText(28)
+Form2.Label29.Caption = FloorIndicatorText(29)
+Form2.Label30.Caption = FloorIndicatorText(30)
+Form2.Label31.Caption = FloorIndicatorText(31)
+Form2.Label32.Caption = FloorIndicatorText(32)
+Form2.Label33.Caption = FloorIndicatorText(33)
+Form2.Label34.Caption = FloorIndicatorText(34)
+Form2.Label35.Caption = FloorIndicatorText(35)
+Form2.Label36.Caption = FloorIndicatorText(36)
+Form2.Label37.Caption = FloorIndicatorText(37)
+Form2.Label38.Caption = FloorIndicatorText(38)
+Form2.Label39.Caption = FloorIndicatorText(39)
+Form2.Label40.Caption = FloorIndicatorText(40)
    
-'Simple Frame Limiter
-
-'If TV.GetFPS > 20 And GotoFloor = 0 Then
-'Form1.MainTimer.Interval = (TV.GetFPS - 20) * 1.5
-'End If
-'If GotoFloor(ElevatorNumber) <> 0 Then
-'Form1.MainTimer.Interval = 45
-'Else
-'End If
-'If TV.GetFPS < 20 Then
-'Form1.MainTimer.Interval = 1
-'End If
 
-
-Dim a As Single
+Dim A As Single
 ''update lights
 'a = a + TV.TimeElapsed * 0.001
 '      LightD.Position = Vector(0, 10, Sin(a) * 50 + 50)
@@ -5404,7 +2758,7 @@ Dim a As Single
       
       
 
-CameraFloor2 = ((Camera.GetPosition.Y - 10) / 25) - 1
+CameraFloor2 = ((Camera.GetPosition.Y - 10) / FloorHeight) - 1
 
 'this determines if the person is inside the stairwell shaft or not, and sets a variable accordingly.
 If Camera.GetPosition.X < -12.5 And Camera.GetPosition.X > -32.5 And Camera.GetPosition.z > -46.25 And Camera.GetPosition.z < -30 Then
@@ -5427,14 +2781,22 @@ End If
 
 If CameraFloor <> 136 And CameraFloor <> 135 Then
 Room(136).Enable False
-ElevatorDoor1L(136).Enable False
-ElevatorDoor1R(136).Enable False
-ElevatorDoor1L(135).Enable False
-ElevatorDoor1R(135).Enable False
-ElevatorDoor2L(136).Enable False
-ElevatorDoor2R(136).Enable False
-ElevatorDoor2L(135).Enable False
-ElevatorDoor2R(135).Enable False
+'ElevatorDoor1L(136).Enable False
+'ElevatorDoor1R(136).Enable False
+'ElevatorDoor1L(135).Enable False
+'ElevatorDoor1R(135).Enable False
+'ElevatorDoor2L(136).Enable False
+'ElevatorDoor2R(136).Enable False
+'ElevatorDoor2L(135).Enable False
+'ElevatorDoor2R(135).Enable False
+'ElevatorDoorL(1).Enable False
+'ElevatorDoorL(2).Enable False
+'ElevatorDoorL(3).Enable False
+'ElevatorDoorL(4).Enable False
+'ElevatorDoorR(1).Enable False
+'ElevatorDoorR(2).Enable False
+'ElevatorDoorR(3).Enable False
+'ElevatorDoorR(4).Enable False
 Room(135).Enable False
 ShaftsFloor(135).Enable False
 ShaftsFloor(136).Enable False
@@ -5442,14 +2804,22 @@ Else
 If CameraFloor = 136 Or CameraFloor = 135 Then
     If GotoFloor(ElevatorNumber) = 0 And InStairwell = False Then
     Room(136).Enable True
-    ElevatorDoor1L(136).Enable True
-    ElevatorDoor1R(136).Enable True
-    ElevatorDoor1L(135).Enable True
-    ElevatorDoor1R(135).Enable True
-    ElevatorDoor2L(136).Enable True
-    ElevatorDoor2R(136).Enable True
-    ElevatorDoor2L(135).Enable True
-    ElevatorDoor2R(135).Enable True
+    'ElevatorDoor1L(136).Enable True
+    'ElevatorDoor1R(136).Enable True
+    'ElevatorDoor1L(135).Enable True
+    'ElevatorDoor1R(135).Enable True
+    'ElevatorDoor2L(136).Enable True
+    'ElevatorDoor2R(136).Enable True
+    'ElevatorDoor2L(135).Enable True
+    'ElevatorDoor2R(135).Enable True
+    'ElevatorDoorL(1).Enable True
+    'ElevatorDoorL(2).Enable True
+    'ElevatorDoorL(3).Enable True
+    'ElevatorDoorL(4).Enable True
+    'ElevatorDoorR(1).Enable True
+    'ElevatorDoorR(2).Enable True
+    'ElevatorDoorR(3).Enable True
+    'ElevatorDoorR(4).Enable True
     Room(135).Enable True
     ShaftsFloor(135).Enable True
     ShaftsFloor(136).Enable True
@@ -5457,59 +2827,27 @@ If CameraFloor = 136 Or CameraFloor = 135 Then
 End If
 End If
 
-'this section makes sure all the extra objects on the 1st and M floors are created
-If CameraFloor <> 1 And ElevatorDoor1L(1).IsMeshEnabled = False Then
-ElevatorDoor1L(-1).Enable False
-ElevatorDoor1R(-1).Enable False
-ElevatorDoor2L(-1).Enable False
-ElevatorDoor2R(-1).Enable False
-ElevatorDoor3L(-1).Enable False
-ElevatorDoor3R(-1).Enable False
-ElevatorDoor4L(-1).Enable False
-ElevatorDoor4R(-1).Enable False
-ElevatorDoor5L(-1).Enable False
-ElevatorDoor5R(-1).Enable False
-ElevatorDoor6L(-1).Enable False
-ElevatorDoor6R(-1).Enable False
-ElevatorDoor7L(-1).Enable False
-ElevatorDoor7R(-1).Enable False
-ElevatorDoor8L(-1).Enable False
-ElevatorDoor8R(-1).Enable False
-ElevatorDoor9L(-1).Enable False
-ElevatorDoor9R(-1).Enable False
-ElevatorDoor10L(-1).Enable False
-ElevatorDoor10R(-1).Enable False
-ElevatorDoor1L(0).Enable False
-ElevatorDoor1R(0).Enable False
-ElevatorDoor2L(0).Enable False
-ElevatorDoor2R(0).Enable False
-End If
-If CameraFloor = 1 And GotoFloor(ElevatorNumber) = 0 And ElevatorDoor1L(1).IsMeshEnabled = False Then
-ElevatorDoor1L(-1).Enable True
-ElevatorDoor1R(-1).Enable True
-ElevatorDoor2L(-1).Enable True
-ElevatorDoor2R(-1).Enable True
-ElevatorDoor3L(-1).Enable True
-ElevatorDoor3R(-1).Enable True
-ElevatorDoor4L(-1).Enable True
-ElevatorDoor4R(-1).Enable True
-ElevatorDoor5L(-1).Enable True
-ElevatorDoor5R(-1).Enable True
-ElevatorDoor6L(-1).Enable True
-ElevatorDoor6R(-1).Enable True
-ElevatorDoor7L(-1).Enable True
-ElevatorDoor7R(-1).Enable True
-ElevatorDoor8L(-1).Enable True
-ElevatorDoor8R(-1).Enable True
-ElevatorDoor9L(-1).Enable True
-ElevatorDoor9R(-1).Enable True
-ElevatorDoor10L(-1).Enable True
-ElevatorDoor10R(-1).Enable True
-ElevatorDoor1L(0).Enable True
-ElevatorDoor1R(0).Enable True
-ElevatorDoor2L(0).Enable True
-ElevatorDoor2R(0).Enable True
-End If
+''this section makes sure all the extra objects on the 1st and M floors are created
+'If CameraFloor <> 1 And ElevatorDoorL(1).IsMeshEnabled = False Then
+'For i50 = 1 To 40
+'ElevatorDoorL(i50).Enable False
+'ElevatorDoorR(i50).Enable False
+'Next i50
+'ElevatorDoorL(1).Enable False
+'ElevatorDoorR(1).Enable False
+'ElevatorDoorL(2).Enable False
+'ElevatorDoorR(2).Enable False
+'End If
+'If CameraFloor = 1 And GotoFloor(ElevatorNumber) = 0 And ElevatorDoorL(1).IsMeshEnabled = False Then
+'For i50 = 1 To 40
+'ElevatorDoorL(i50).Enable True
+'ElevatorDoorR(i50).Enable True
+'Next i50
+'ElevatorDoorL(1).Enable True
+'ElevatorDoorR(1).Enable True
+'ElevatorDoorL(2).Enable True
+'ElevatorDoorR(2).Enable True
+'End If
 
 'This section turns on and off the external mesh (outside windows, not inside windows), based on the camera's current location
 If CameraFloor >= 1 And CameraFloor <= 39 Then
@@ -5527,6 +2865,7 @@ If CameraFloor >= 1 And CameraFloor <= 39 Then
         'Buildings.Enable False
         Room(CameraFloor).Enable True
         ShaftsFloor(CameraFloor).Enable True
+        Call InitRealtime(CameraFloor)
         InitObjectsForFloor (CameraFloor)
     End If
     End If
@@ -5546,6 +2885,7 @@ If CameraFloor >= 40 And CameraFloor <= 79 Then
         'Buildings.Enable False
         Room(CameraFloor).Enable True
         ShaftsFloor(CameraFloor).Enable True
+        Call InitRealtime(CameraFloor)
         InitObjectsForFloor (CameraFloor)
     End If
    End If
@@ -5565,6 +2905,7 @@ If CameraFloor >= 80 And CameraFloor <= 117 Then
         'Buildings.Enable False
         Room(CameraFloor).Enable True
         ShaftsFloor(CameraFloor).Enable True
+        Call InitRealtime(CameraFloor)
         InitObjectsForFloor (CameraFloor)
     End If
     End If
@@ -5584,6 +2925,7 @@ If CameraFloor >= 118 And CameraFloor <= 134 Then
         'Buildings.Enable False
         Room(CameraFloor).Enable True
         ShaftsFloor(CameraFloor).Enable True
+        Call InitRealtime(CameraFloor)
         InitObjectsForFloor (CameraFloor)
     End If
     End If
@@ -5603,6 +2945,7 @@ If CameraFloor >= 135 And CameraFloor <= 138 Then
         'Buildings.Enable False
         Room(CameraFloor).Enable True
         ShaftsFloor(CameraFloor).Enable True
+        Call InitRealtime(CameraFloor)
         InitObjectsForFloor (CameraFloor)
     End If
     End If
@@ -5627,6 +2970,7 @@ If GotoFloor(ElevatorNumber) <> 0 Then GoTo EndShafts
 'GoTo EndShafts
 
 'if user is in service room, turn on shaft
+If CameraFloor >= 118 And CameraFloor <= 129 Then
 If Camera.GetPosition.X < 50 And Camera.GetPosition.X > 32.5 And Camera.GetPosition.z > -46.25 And Camera.GetPosition.z < -20 And CameraFloor <> 1 And CameraFloor <> 132 And CameraFloor < 134 Then
 For i50 = 1 To 138
 Shafts2(i50).Enable True
@@ -5640,55 +2984,83 @@ Shafts2(i50).Enable False
 Next i50
 GoTo EndShafts
 End If
+End If
 
 If CameraFloor >= 1 And CameraFloor <= 39 Then
     'right shaft (the one with the stairs)
-    If Camera.GetPosition.X > -32.5 And Camera.GetPosition.X < -12.5 And Camera.GetPosition.z > -30 And Camera.GetPosition.z < 46.25 And InElevator = False Then
+    If Camera.GetPosition.X > -52.5 And Camera.GetPosition.X < -12.5 And Camera.GetPosition.z > -30 And Camera.GetPosition.z < 0 And InElevator = False Then
     For i50 = 1 To 138
     Shafts1(i50).Enable True
     Next i50
     Else
     'left shaft (the one with the pipe shaft)
-    If Camera.GetPosition.X > 12.5 And Camera.GetPosition.X < 32.5 And Camera.GetPosition.z > -46.25 And Camera.GetPosition.z < 46.25 And InElevator = False Then
+    If Camera.GetPosition.X > 12.5 And Camera.GetPosition.X < 52.5 And Camera.GetPosition.z > -46.25 And Camera.GetPosition.z < 0 And InElevator = False Then
     For i50 = 1 To 138
     Shafts2(i50).Enable True
     Next i50
     Else
+    If Camera.GetPosition.X > -130.5 And Camera.GetPosition.X < -90.5 And Camera.GetPosition.z > -30 And Camera.GetPosition.z < 46.25 And InElevator = False Then
+    For i50 = 1 To 138
+    Shafts3(i50).Enable True
+    Next i50
+    Else
+    If Camera.GetPosition.X > 90.5 And Camera.GetPosition.X < 130.5 And Camera.GetPosition.z > -46.25 And Camera.GetPosition.z < 46.25 And InElevator = False Then
+    For i50 = 1 To 138
+    Shafts4(i50).Enable True
+    Next i50
+    Else
     For i50 = 1 To 138
     Shafts1(i50).Enable False
     Shafts2(i50).Enable False
+    Shafts3(i50).Enable False
+    Shafts4(i50).Enable False
     Next i50
     End If
     End If
+    End If
+    End If
     
 End If
 If CameraFloor >= 40 And CameraFloor <= 79 Then
-    If Camera.GetPosition.X > -32.5 And Camera.GetPosition.X < -12.5 And Camera.GetPosition.z > -30 And Camera.GetPosition.z < 30.83 And InElevator = False Then
+    If Camera.GetPosition.X > -52.5 And Camera.GetPosition.X < -12.5 And Camera.GetPosition.z > -30 And Camera.GetPosition.z < 0 And InElevator = False Then
     For i50 = 1 To 138
     Shafts1(i50).Enable True
     Next i50
     Else
-    'left shaft (the one with the pipe shaft)
-    If Camera.GetPosition.X > 12.5 And Camera.GetPosition.X < 32.5 And Camera.GetPosition.z > -46.25 And Camera.GetPosition.z < 30.83 And InElevator = False Then
+    If Camera.GetPosition.X > 12.5 And Camera.GetPosition.X < 52.5 And Camera.GetPosition.z > -46.25 And Camera.GetPosition.z < 0 And InElevator = False Then
     For i50 = 1 To 138
     Shafts2(i50).Enable True
     Next i50
     Else
+    If Camera.GetPosition.X > -110.5 And Camera.GetPosition.X < -90.5 And Camera.GetPosition.z > -30 And Camera.GetPosition.z < 46.25 And InElevator = False Then
+    For i50 = 1 To 138
+    Shafts3(i50).Enable True
+    Next i50
+    Else
+    If Camera.GetPosition.X > 90.5 And Camera.GetPosition.X < 110.5 And Camera.GetPosition.z > -46.25 And Camera.GetPosition.z < 46.25 And InElevator = False Then
+    For i50 = 1 To 138
+    Shafts4(i50).Enable True
+    Next i50
+    Else
     For i50 = 1 To 138
     Shafts1(i50).Enable False
     Shafts2(i50).Enable False
+    Shafts3(i50).Enable False
+    Shafts4(i50).Enable False
     Next i50
     End If
     End If
+    End If
+    End If
 End If
 If CameraFloor >= 80 And CameraFloor <= 117 Then
-    If Camera.GetPosition.X > -32.5 And Camera.GetPosition.X < -12.5 And Camera.GetPosition.z > -30 And Camera.GetPosition.z < 15.41 And InElevator = False Then
+    If Camera.GetPosition.X > -52.5 And Camera.GetPosition.X < -12.5 And Camera.GetPosition.z > -30 And Camera.GetPosition.z < 46.25 And InElevator = False Then
     For i50 = 1 To 138
     Shafts1(i50).Enable True
     Next i50
     Else
     'left shaft (the one with the pipe shaft)
-    If Camera.GetPosition.X > 12.5 And Camera.GetPosition.X < 32.5 And Camera.GetPosition.z > -46.25 And Camera.GetPosition.z < 15.41 And InElevator = False Then
+    If Camera.GetPosition.X > 12.5 And Camera.GetPosition.X < 52.5 And Camera.GetPosition.z > -46.25 And Camera.GetPosition.z < 46.25 And InElevator = False Then
     For i50 = 1 To 138
     Shafts2(i50).Enable True
     Next i50
@@ -5700,13 +3072,31 @@ If CameraFloor >= 80 And CameraFloor <= 117 Then
     End If
     End If
 End If
-If CameraFloor >= 118 And CameraFloor <= 134 Then
-    If Camera.GetPosition.X > -32.5 And Camera.GetPosition.X < -12.5 And Camera.GetPosition.z > -30 And Camera.GetPosition.z < 0 And InElevator = False Then
+If CameraFloor >= 118 And CameraFloor <= 130 Then
+    If Camera.GetPosition.X > -32.5 And Camera.GetPosition.X < -12.5 And Camera.GetPosition.z > -30 And Camera.GetPosition.z < 46.25 And InElevator = False Then
     For i50 = 1 To 138
     Shafts1(i50).Enable True
     Next i50
     Else
     'left shaft (the one with the pipe shaft)
+    If Camera.GetPosition.X > 12.5 And Camera.GetPosition.X < 32.5 And Camera.GetPosition.z > -46.25 And Camera.GetPosition.z < 46.25 And InElevator = False Then
+    For i50 = 1 To 138
+    Shafts2(i50).Enable True
+    Next i50
+    Else
+    For i50 = 1 To 138
+    Shafts1(i50).Enable False
+    Shafts2(i50).Enable False
+    Next i50
+    End If
+    End If
+End If
+If CameraFloor >= 131 And CameraFloor <= 136 Then
+    If Camera.GetPosition.X > -32.5 And Camera.GetPosition.X < -12.5 And Camera.GetPosition.z > -30 And Camera.GetPosition.z < 0 And InElevator = False Then
+    For i50 = 1 To 138
+    Shafts1(i50).Enable True
+    Next i50
+    Else
     If Camera.GetPosition.X > 12.5 And Camera.GetPosition.X < 32.5 And Camera.GetPosition.z > -46.25 And Camera.GetPosition.z < 0 And InElevator = False Then
     For i50 = 1 To 138
     Shafts2(i50).Enable True
@@ -5719,19 +3109,14 @@ If CameraFloor >= 118 And CameraFloor <= 134 Then
     End If
     End If
 End If
-If CameraFloor >= 135 And CameraFloor <= 138 Then
+If CameraFloor >= 137 Then
     If Camera.GetPosition.X > -32.5 And Camera.GetPosition.X < -12.5 And Camera.GetPosition.z > -30 And Camera.GetPosition.z < -15.42 And InElevator = False Then
     For i50 = 1 To 138
     Shafts1(i50).Enable True
     Next i50
     Else
-    'left shaft (the one with the pipe shaft)
-    'If Camera.GetPosition.X > 12.5 And Camera.GetPosition.X < 32.5 And Camera.GetPosition.z > -46.25 And Camera.GetPosition.z < -15.42 and InElevator=False Then
-    'Shafts.Enable True
-    'Else
     For i50 = 1 To 138
     Shafts1(i50).Enable False
-    Shafts2(i50).Enable False
     Next i50
     'End If
     End If
@@ -5744,9 +3129,10 @@ EndShafts:
 
 'Click
  If tmpMouseB1 <> 0 Then
-        '...check if the mouse pointer has collided with a Teapot.
         'If FloorIndicator1.Collision=True
         
+        StairDoor(CameraFloor).SetCollisionEnable True
+        
         Room(CameraFloor).SetCollisionEnable False
         External.SetCollisionEnable False
         Buildings.SetCollisionEnable False
@@ -5756,57 +3142,25 @@ EndShafts:
         Shafts2(i50).SetCollisionEnable False
         Next i50
         ShaftsFloor(CameraFloor).SetCollisionEnable False
-        For i50 = 1 To 10
+        For i50 = 1 To 40
         Elevator(i50).SetCollisionEnable False
         ElevatorInsDoorL(i50).SetCollisionEnable False
         ElevatorInsDoorR(i50).SetCollisionEnable False
         Next i50
         If CameraFloor = 1 Then
-        ElevatorDoor1L(-1).SetCollisionEnable False
-        ElevatorDoor1R(-1).SetCollisionEnable False
-        ElevatorDoor2L(-1).SetCollisionEnable False
-        ElevatorDoor2R(-1).SetCollisionEnable False
-        ElevatorDoor3L(-1).SetCollisionEnable False
-        ElevatorDoor3R(-1).SetCollisionEnable False
-        ElevatorDoor4L(-1).SetCollisionEnable False
-        ElevatorDoor4R(-1).SetCollisionEnable False
-        ElevatorDoor5L(-1).SetCollisionEnable False
-        ElevatorDoor5R(-1).SetCollisionEnable False
-        ElevatorDoor6L(-1).SetCollisionEnable False
-        ElevatorDoor6R(-1).SetCollisionEnable False
-        ElevatorDoor7L(-1).SetCollisionEnable False
-        ElevatorDoor7R(-1).SetCollisionEnable False
-        ElevatorDoor8L(-1).SetCollisionEnable False
-        ElevatorDoor8R(-1).SetCollisionEnable False
-        ElevatorDoor9L(-1).SetCollisionEnable False
-        ElevatorDoor9R(-1).SetCollisionEnable False
-        ElevatorDoor10L(-1).SetCollisionEnable False
-        ElevatorDoor10R(-1).SetCollisionEnable False
-        ElevatorDoor1L(0).SetCollisionEnable False
-        ElevatorDoor1R(0).SetCollisionEnable False
-        ElevatorDoor2L(0).SetCollisionEnable False
-        ElevatorDoor2R(0).SetCollisionEnable False
+        For i50 = 1 To 40
+        ElevatorDoorL(i50).SetCollisionEnable False
+        ElevatorDoorR(i50).SetCollisionEnable False
+        Next i50
+        ElevatorDoorL(1).SetCollisionEnable False
+        ElevatorDoorR(1).SetCollisionEnable False
+        ElevatorDoorL(2).SetCollisionEnable False
+        ElevatorDoorR(2).SetCollisionEnable False
         Else
-        ElevatorDoor1L(CameraFloor).SetCollisionEnable False
-        ElevatorDoor1R(CameraFloor).SetCollisionEnable False
-        ElevatorDoor2L(CameraFloor).SetCollisionEnable False
-        ElevatorDoor2R(CameraFloor).SetCollisionEnable False
-        ElevatorDoor3L(CameraFloor).SetCollisionEnable False
-        ElevatorDoor3R(CameraFloor).SetCollisionEnable False
-        ElevatorDoor4L(CameraFloor).SetCollisionEnable False
-        ElevatorDoor4R(CameraFloor).SetCollisionEnable False
-        ElevatorDoor5L(CameraFloor).SetCollisionEnable False
-        ElevatorDoor5R(CameraFloor).SetCollisionEnable False
-        ElevatorDoor6L(CameraFloor).SetCollisionEnable False
-        ElevatorDoor6R(CameraFloor).SetCollisionEnable False
-        ElevatorDoor7L(CameraFloor).SetCollisionEnable False
-        ElevatorDoor7R(CameraFloor).SetCollisionEnable False
-        ElevatorDoor8L(CameraFloor).SetCollisionEnable False
-        ElevatorDoor8R(CameraFloor).SetCollisionEnable False
-        ElevatorDoor9L(CameraFloor).SetCollisionEnable False
-        ElevatorDoor9R(CameraFloor).SetCollisionEnable False
-        ElevatorDoor10L(CameraFloor).SetCollisionEnable False
-        ElevatorDoor10R(CameraFloor).SetCollisionEnable False
+        For i50 = 1 To 40
+        ElevatorDoorL(i50).SetCollisionEnable False
+        ElevatorDoorR(i50).SetCollisionEnable False
+        Next i50
         End If
         Stairs(CameraFloor).SetCollisionEnable False
         If CameraFloor > 1 Then Stairs(CameraFloor - 1).SetCollisionEnable False
@@ -5819,7 +3173,7 @@ EndShafts:
         
         If CollisionResult.IsCollision Then
         Call CheckElevatorButtons
-            For i50 = 1 To 10
+            For i50 = 1 To 40
             If CollisionResult.GetCollisionMesh.GetMeshName = CallButtons(i50).GetMeshName Then
                 
                 'use other elevator if it's closer
@@ -5840,13 +3194,13 @@ EndShafts:
                     If GotoFloor(j50) = 1 Then GotoFloor(j50) = -1
                 GoTo EndCall
                 End If
-                If ElevatorFloor(j50) = 1 And Camera.GetPosition.Y > 27 And FloorIndicatorText(j50) <> "M" Then
+                If ElevatorFloor(j50) = 1 And Camera.GetPosition.Y > FloorHeight And FloorIndicatorText(j50) <> "M" Then
                 ElevatorSync(j50) = False
                 OpenElevator(j50) = -1
                 GotoFloor(j50) = 0.1
                 GoTo EndCall
                 End If
-                If ElevatorFloor(j50) = 1 And Camera.GetPosition.Y < 27 And FloorIndicatorText(j50) = "M" Then
+                If ElevatorFloor(j50) = 1 And Camera.GetPosition.Y < FloorHeight And FloorIndicatorText(j50) = "M" Then
                 ElevatorSync(j50) = False
                 OpenElevator(j50) = -1
                 GotoFloor(j50) = 0.1
@@ -5859,6 +3213,12 @@ EndCall:
             'CollisionResult.GetCollisionMesh.Enable False
         If OpeningDoor = 0 And ClosingDoor = 0 Then
             
+            If Left(CollisionResult.GetCollisionMesh.GetMeshName, 7) = "DoorSB " Then
+            DoorNumber = Val(Mid$(CollisionResult.GetCollisionMesh.GetMeshName, 7, 20))
+            DoorRotated = 0
+            Call OpenStairDoor
+            End If
+            
             If Left(CollisionResult.GetCollisionMesh.GetMeshName, 6) = "DoorA " Then
             DoorNumber = Val(Mid$(CollisionResult.GetCollisionMesh.GetMeshName, 6, 20))
             DoorRotated = 0
@@ -5883,6 +3243,13 @@ EndCall:
             Call OpenDoor
             End If
             
+            If Left(CollisionResult.GetCollisionMesh.GetMeshName, 7) = "DoorSBO" Then
+            DoorNumber = Val(Mid$(CollisionResult.GetCollisionMesh.GetMeshName, 8, 20))
+            DoorRotated = 0
+            ClosingDoor = 18
+            Call CloseStairDoor
+            End If
+        
             If Left(CollisionResult.GetCollisionMesh.GetMeshName, 6) = "DoorAO" Then
             DoorNumber = Val(Mid$(CollisionResult.GetCollisionMesh.GetMeshName, 7, 20))
             DoorRotated = 0
@@ -5951,103 +3318,19 @@ EndCall:
       If Inp.IsKeyPressed(TV_KEY_LEFT) = True And Inp.IsKeyPressed(TV_KEY_Z) = False Then Camera.RotateY -0.07
       If Inp.IsKeyPressed(TV_KEY_RIGHT) = True And Inp.IsKeyPressed(TV_KEY_Z) = True Then Camera.RotateY 0.14
       If Inp.IsKeyPressed(TV_KEY_LEFT) = True And Inp.IsKeyPressed(TV_KEY_Z) = True Then Camera.RotateY -0.14
-      
-'*** Second movement system (has horrible problems)
-      'If Inp.IsKeyPressed(TV_KEY_UP) = True Then Camera.SetCamera Camera.GetPosition.x, Camera.GetPosition.y, Camera.GetPosition.z - (Camera.GetLookAt.z / 100), Camera.GetLookAt.x, Camera.GetLookAt.y, Camera.GetLookAt.z - 0.7
-      'If Inp.IsKeyPressed(TV_KEY_DOWN) = True Then Camera.SetCamera Camera.GetPosition.x, Camera.GetPosition.y, Camera.GetPosition.z, Camera.GetLookAt.x, Camera.GetLookAt.y, Camera.GetLookAt.z + 0.7
-      'If Inp.IsKeyPressed(TV_KEY_RIGHT) = True Then Camera.SetCamera Camera.GetPosition.x - 0.7, Camera.GetPosition.y, Camera.GetPosition.z, Camera.GetLookAt.x - 0.7, Camera.GetLookAt.y, Camera.GetLookAt.z
-      'If Inp.IsKeyPressed(TV_KEY_LEFT) = True Then Camera.SetCamera Camera.GetPosition.x + 0.7, Camera.GetPosition.y, Camera.GetPosition.z, Camera.GetLookAt.x + 0.7, Camera.GetLookAt.y, Camera.GetLookAt.z
-            
-'*** Third (new) Movement System, should be released with version 0.6 (i50 had problems with it)
-'       If Inp.IsKeyPressed(TV_KEY_UP) = True Then
-'            sngWalk = 1
-'
-'        ' If we are not walking forward, maybe we are walking backward
-'        ' by using the DOWN arrow? If so, set walk speed to negative.
-'        ElseIf Inp.IsKeyPressed(TV_KEY_DOWN) = True Then
-'           sngWalk = -1
-'        End If
-'        ' Check if we pressed the LEFT arrow key, if so, then strafe
-'        ' on the left.
-'        If Inp.IsKeyPressed(TV_KEY_LEFT) = True Then
-'            sngStrafe = 1
-'        ' If we are not strafing left, maybe we want to strafe to the
-'        ' right, using the RIGHT arrow? If so, set strafe to negative.
-'        ElseIf Inp.IsKeyPressed(TV_KEY_RIGHT) = True Then
-'            sngStrafe = -1
-'        End If
-'
-'       ' Now, for the mouse input...
-'        Dim tmpMouseX As Long, tmpMouseY As Long
-'        Dim tmpMouseB1 As Integer, tmpMouseB2 As Integer, tmpMouseB3 As Integer
-'        Dim tmpMouseScrollOld As Long, tmpMouseScrollNew As Long
-'
-'        ' We pass the actual value of the mouse scroller to the variable
-'        ' that holds the old mouse scroller value.
-'        tmpMouseScrollOld = tmpMouseScrollNew
-'
-'        ' By using GetMouseState, we get the movement of the mouse
-'        ' with the speed of the movement. The fastest the mouse movement
-'        ' will be, the higher will be the return.
-'        If Focused = True Then Inp.GetMouseState tmpMouseX, tmpMouseY, tmpMouseB1, tmpMouseB2, tmpMouseB3, tmpMouseScrollNew
-'
-'        ' From the mouse return values, we update the camera angles
-'        ' by adding or substracting the mouse return value.
-'        sngAngleX = sngAngleX - (tmpMouseY / 100)
-'        sngAngleY = sngAngleY - (tmpMouseX / 100) '
-'
-'        ' We will add a simple check, so we can't look up at more
-'        ' than 80 degrees nor down than -80 degrees.
-'        If sngAngleX > 1.3 Then sngAngleX = 1.3
-'        If sngAngleX < -1.3 Then sngAngleX = -1.3
-'
-' ' Okay, now for the smothing of the movement... We checked
-'        ' above if we were pressing a key. If so, then we updated the
-'        ' movement variable to 1 (positive or negative). Here, we
-'        ' lower this value until it get to 0. This method give us a
-'        ' smoother camera movement. We start by updating the forward
-'        ' and backward (walk) movement.
-'
-'        Select Case sngWalk
-'        Case Is > 0
-'            sngWalk = sngWalk - 0.15
-'            If sngWalk < 0 Then sngWalk = 0
-'        Case Is < 0
-'            sngWalk = sngWalk + 0.15
-'            If sngWalk > 0 Then sngWalk = 0
-'        End Select
-'
-'        ' Now, we update the left and right (strafe) movement.
-'        Select Case sngStrafe
-'        Case Is > 0
-'            sngStrafe = sngStrafe - 0.15
-'            If sngStrafe < 0 Then sngStrafe = 0
-'        Case Is < 0
-'            sngStrafe = sngStrafe + 0.15
-'            If sngStrafe > 0 Then sngStrafe = 0
-'        End Select
-'
-'        ' Update the vectors using the angles and positions.
-'        sngPositionX = sngPositionX + (Cos(sngAngleY) * sngWalk * (TV.TimeElapsed / 70)) + (Cos(sngAngleY + 3.141596 / 2) * sngStrafe * (TV.TimeElapsed / 70))
-'        sngPositionZ = sngPositionZ + (Sin(sngAngleY) * sngWalk * (TV.TimeElapsed / 70)) + (Sin(sngAngleY + 3.141596 / 2) * sngStrafe * (TV.TimeElapsed / 70))
-'
-'        snglookatX = sngPositionX + Cos(sngAngleY)
-'        snglookatY = sngPositionY + Tan(sngAngleX)
-'        snglookatZ = sngPositionZ + Sin(sngAngleY)
-
-'        ' With the new values of the camera vectors (position and
-'        ' look at), we update the scene's camera.
-'        Scene.SetCamera sngPositionX, sngPositionY, sngPositionZ, snglookatX, snglookatY, snglookatZ
-        
       'If Inp.IsKeyPressed(TV_KEY_PAGEUP) = True And Focused = True Then Camera.RotateX -0.006
       'If Inp.IsKeyPressed(TV_KEY_PAGEDOWN) = True And Focused = True Then Camera.RotateX 0.006
-      If Inp.IsKeyPressed(TV_KEY_PAGEUP) = True Then Camera.RotateX -0.006
-      If Inp.IsKeyPressed(TV_KEY_PAGEDOWN) = True Then Camera.RotateX 0.006
+      If Inp.IsKeyPressed(TV_KEY_PAGEUP) = True And Inp.IsKeyPressed(TV_KEY_Z) = False Then Camera.RotateX -0.006
+      If Inp.IsKeyPressed(TV_KEY_PAGEUP) = True And Inp.IsKeyPressed(TV_KEY_Z) = True Then Camera.RotateX -0.012
+      If Inp.IsKeyPressed(TV_KEY_PAGEDOWN) = True And Inp.IsKeyPressed(TV_KEY_Z) = False Then Camera.RotateX 0.006
+      If Inp.IsKeyPressed(TV_KEY_PAGEDOWN) = True And Inp.IsKeyPressed(TV_KEY_Z) = True Then Camera.RotateX 0.012
       
       'If Inp.IsKeyPressed(TV_KEY_HOME) = True And Focused = True Then Camera.MoveRelative 0, 1, 0
       'If Inp.IsKeyPressed(TV_KEY_END) = True And Focused = True Then Camera.MoveRelative 0, -1, 0
-      If Inp.IsKeyPressed(TV_KEY_HOME) = True Then Camera.MoveRelative 0, 1, 0
-      If Inp.IsKeyPressed(TV_KEY_END) = True And EnableCollisions = True Then Camera.MoveRelative 0, -1, 0
+      If Inp.IsKeyPressed(TV_KEY_HOME) = True And Inp.IsKeyPressed(TV_KEY_Z) = False Then Camera.MoveRelative 0, 1, 0
+      If Inp.IsKeyPressed(TV_KEY_HOME) = True And Inp.IsKeyPressed(TV_KEY_Z) = True Then Camera.MoveRelative 0, 2, 0
+      If Inp.IsKeyPressed(TV_KEY_END) = True And Inp.IsKeyPressed(TV_KEY_Z) = False And EnableCollisions = False Then Camera.MoveRelative 0, -1, 0
+      If Inp.IsKeyPressed(TV_KEY_END) = True And Inp.IsKeyPressed(TV_KEY_Z) = True And EnableCollisions = False Then Camera.MoveRelative 0, -2, 0
       'If Inp.IsKeyPressed(TV_KEY_1) = True And Focused = True Then ElevatorDirection = 1
       'If Inp.IsKeyPressed(TV_KEY_2) = True And Focused = True Then ElevatorDirection = -1
       'If Inp.IsKeyPressed(TV_KEY_3) = True And Focused = True Then OpenElevator(ElevatorNumber) = 1
@@ -6058,24 +3341,15 @@ EndCall:
       'If Inp.IsKeyPressed(TV_KEY_6) = True Then MsgBox (Str$(Camera.GetLookAt.X) + Str$(Camera.GetLookAt.Y) + Str$(Camera.GetLookAt.z))
       If Inp.IsKeyPressed(TV_KEY_7) = True Then IsFalling = True
       
-        'Inp.GetMouseState MousePositionX, MousePositionY
-      'MsgBox (Str$(MousePositionX) + "," + Str$(MousePositionY))
-      'Camera.SetLookAt -50, -50, -50
-      'Camera.SetCamera Camera.GetPosition.x, Camera.GetPosition.y, Camera.GetPosition.z, Camera.GetLookAt.x - (MousePositionX / 100), Camera.GetLookAt.y - (MousePositionY / 100), Camera.GetLookAt.z
-      
-      'Orientation: 0-1 pan to center, -1 left 1 right, ?, same as 1st, same as 2nd, ?
-      'If Inp.IsKeyPressed(TV_KEY_7) = True And Focused = True Then Call Listener.SetOrientation(0, 0, 1, 0, 0, 1)
-      'If Inp.IsKeyPressed(TV_KEY_8) = True And Focused = True Then Call Listener.SetOrientation(0, 0, 1, 0, 0, 1)
-        
       If Inp.IsKeyPressed(TV_KEY_F1) = True And Focused = True Then TV.ScreenShot ("c:\shot.bmp")
 
       
-Form2.Text1.Text = "Sound Location=7.75,20,7 " + vbCrLf + "Elevator Floor=" + Str$(ElevatorFloor(ElevatorNumber)) + vbCrLf + "Camera Floor=" + Str$(CameraFloor) + vbCrLf + "Current Location= " + Str$(Int(Camera.GetPosition.X)) + "," + Str$(Int(Camera.GetPosition.Y)) + "," + Str$(Int(Camera.GetPosition.z)) + vbCrLf + "GotoFloor=" + Str$(GotoFloor(ElevatorNumber)) + vbCrLf + "DistancetoDest=" + Str$(Abs(GotoFloor(ElevatorNumber) - CurrentFloor(ElevatorNumber))) + vbCrLf + "Rate=" + Str$(ElevatorEnable(ElevatorNumber) / 5)
+Form2.Text1.Text = "Elevator Number= " + Str$(ElevatorNumber) + vbCrLf + "Elevator Floor=" + Str$(ElevatorFloor(ElevatorNumber)) + vbCrLf + "Camera Floor=" + Str$(CameraFloor) + vbCrLf + "Current Location= " + Str$(Int(Camera.GetPosition.X)) + "," + Str$(Int(Camera.GetPosition.Y)) + "," + Str$(Int(Camera.GetPosition.z)) + vbCrLf + "GotoFloor=" + Str$(GotoFloor(ElevatorNumber)) + vbCrLf + "DistancetoDest=" + Str$(Abs(GotoFloor(ElevatorNumber) - CurrentFloor(ElevatorNumber))) + vbCrLf + "Rate=" + Str$(ElevatorEnable(ElevatorNumber) / 5)
              
-      'ElevatorFloor(ElevatorNumber) = (Elevator(ElevatorNumber).GetPosition.Y - 25) / 25
+      'ElevatorFloor(ElevatorNumber) = (Elevator(ElevatorNumber).GetPosition.Y - FloorHeight) / FloorHeight
       'If ElevatorFloor(ElevatorNumber) < 1 Then ElevatorFloor(ElevatorNumber) = 1
       
-      If InStairwell = False Then CameraFloor = (Camera.GetPosition.Y - 25 - 10) / 25
+      If InStairwell = False Then CameraFloor = (Camera.GetPosition.Y - FloorHeight - 10) / FloorHeight
       If CameraFloor < 1 Then CameraFloor = 1
    
       lineend = Camera.GetPosition
@@ -6083,7 +3357,7 @@ Form2.Text1.Text = "Sound Location=7.75,20,7 " + vbCrLf + "Elevator Floor=" + St
 If EnableCollisions = True Then Call CheckCollisions
 
         
-    On Error Resume Next
+    'On Error Resume Next
     Atmos.Atmosphere_Render
     Scene.RenderAllMeshes
     TV.RenderToScreen
@@ -6092,30 +3366,17 @@ If EnableCollisions = True Then Call CheckCollisions
 End Sub
 
 Sub StairsLoop()
+    Dim RiserHeight As Single
+    RiserHeight = FloorHeight / 16
+
 'Stairs Movement
-    If Camera.GetPosition.X <= -12.5 And Camera.GetPosition.X > -12.5 - 6 And Camera.GetPosition.z > -46.25 And Camera.GetPosition.z < -30.85 And Camera.GetPosition.Y = (CameraFloor * 25) + 25 + 10 + 22 + PartialFloor Then
+      If Camera.GetPosition.X <= -12.5 And Camera.GetPosition.X > -12.5 - 6 And Camera.GetPosition.z > -46.25 And Camera.GetPosition.z < -30.85 And Camera.GetPosition.Y = (CameraFloor * FloorHeight) + FloorHeight + 10 + (RiserHeight * 15) + PartialFloor Then
       Room(CameraFloor).Enable False
-      ElevatorDoor1L(CameraFloor).Enable False
-      ElevatorDoor1R(CameraFloor).Enable False
-      ElevatorDoor2L(CameraFloor).Enable False
-      ElevatorDoor2R(CameraFloor).Enable False
-      ElevatorDoor3L(CameraFloor).Enable False
-      ElevatorDoor3R(CameraFloor).Enable False
-      ElevatorDoor4L(CameraFloor).Enable False
-      ElevatorDoor4R(CameraFloor).Enable False
-      ElevatorDoor5L(CameraFloor).Enable False
-      ElevatorDoor5R(CameraFloor).Enable False
-      ElevatorDoor6L(CameraFloor).Enable False
-      ElevatorDoor6R(CameraFloor).Enable False
-      ElevatorDoor7L(CameraFloor).Enable False
-      ElevatorDoor7R(CameraFloor).Enable False
-      ElevatorDoor8L(CameraFloor).Enable False
-      ElevatorDoor8R(CameraFloor).Enable False
-      ElevatorDoor9L(CameraFloor).Enable False
-      ElevatorDoor9R(CameraFloor).Enable False
-      ElevatorDoor10L(CameraFloor).Enable False
-      ElevatorDoor10R(CameraFloor).Enable False
-      For i51 = 1 To 10
+      For i51 = 1 To 40
+      ElevatorDoorL(i51).Enable False
+      ElevatorDoorR(i51).Enable False
+      Next i51
+      For i51 = 1 To 40
       CallButtons(i51).Enable False
       Next i51
       ShaftsFloor(CameraFloor).Enable False
@@ -6126,70 +3387,39 @@ Sub StairsLoop()
       If CameraFloor < 138 Then Stairs(CameraFloor + 1).Enable False
       If CameraFloor > 1 Then Stairs(CameraFloor - 1).Enable False
     If CameraFloor >= 2 Then CameraFloor = CameraFloor + 1
-    If CameraFloor = 1 Then PartialFloor = PartialFloor + 25
-    If CameraFloor = 1 And PartialFloor >= 25 Then PartialFloor = 0: CameraFloor = 2
-      Room(CameraFloor).Enable True
-      ElevatorDoor1L(CameraFloor).Enable True
-      ElevatorDoor1R(CameraFloor).Enable True
-      ElevatorDoor2L(CameraFloor).Enable True
-      ElevatorDoor2R(CameraFloor).Enable True
-      ElevatorDoor3L(CameraFloor).Enable True
-      ElevatorDoor3R(CameraFloor).Enable True
-      ElevatorDoor4L(CameraFloor).Enable True
-      ElevatorDoor4R(CameraFloor).Enable True
-      ElevatorDoor5L(CameraFloor).Enable True
-      ElevatorDoor5R(CameraFloor).Enable True
-      ElevatorDoor6L(CameraFloor).Enable True
-      ElevatorDoor6R(CameraFloor).Enable True
-      ElevatorDoor7L(CameraFloor).Enable True
-      ElevatorDoor7R(CameraFloor).Enable True
-      ElevatorDoor8L(CameraFloor).Enable True
-      ElevatorDoor8R(CameraFloor).Enable True
-      ElevatorDoor9L(CameraFloor).Enable True
-      ElevatorDoor9R(CameraFloor).Enable True
-      ElevatorDoor10L(CameraFloor).Enable True
-      ElevatorDoor10R(CameraFloor).Enable True
-      ShaftsFloor(CameraFloor).Enable True
-      For i51 = 1 To 10
-      CallButtons(i51).Enable True
-      Next i51
-      Stairs(CameraFloor).Enable True
-      Atmos.SkyBox_Enable True
-      InitObjectsForFloor (CameraFloor)
-      'If CameraFloor = 137 Then
-      'For i51 = 1 To 138
-      'Shafts(i51).Enable True
+    If CameraFloor = 1 Then PartialFloor = PartialFloor + FloorHeight
+    If CameraFloor = 1 And PartialFloor >= FloorHeight Then PartialFloor = 0: CameraFloor = 2
+      'Room(CameraFloor).Enable True
+      'For i51 = 1 To 40
+      'ElevatorDoorL(i51).Enable True
+      'ElevatorDoorL(i51).Enable True
       'Next i51
+      'ShaftsFloor(CameraFloor).Enable True
+      'For i51 = 1 To 40
+      'CallButtons(i51).Enable True
+      'Next i51
+      Stairs(CameraFloor).Enable True
+      'Atmos.SkyBox_Enable True
+      'Call InitRealtime(CameraFloor)
+      'InitObjectsForFloor (CameraFloor)
+      ''If CameraFloor = 137 Then
+      ''For i51 = 1 To 138
+      ''Shafts(i51).Enable True
+      ''Next i51
       If CameraFloor < 138 Then Stairs(CameraFloor + 1).Enable True
       If CameraFloor > 1 Then Stairs(CameraFloor - 1).Enable True
-    Camera.SetPosition Camera.GetPosition.X, (CameraFloor * 25) + 25 + 10 + PartialFloor, Camera.GetPosition.z
+    Camera.SetPosition Camera.GetPosition.X, (CameraFloor * FloorHeight) + FloorHeight + 10 + PartialFloor, Camera.GetPosition.z
     End If
-    If Camera.GetPosition.X <= -12.5 And Camera.GetPosition.X > -12.5 - 6 And Camera.GetPosition.z > -46.25 And Camera.GetPosition.z < -30.85 And Camera.GetPosition.Y = (CameraFloor * 25) + 25 + 10 + 2 + PartialFloor Then Camera.SetPosition Camera.GetPosition.X, (CameraFloor * 25) + 25 + 10 + PartialFloor, Camera.GetPosition.z
+    If Camera.GetPosition.X <= -12.5 And Camera.GetPosition.X > -12.5 - 6 And Camera.GetPosition.z > -46.25 And Camera.GetPosition.z < -30.85 And Camera.GetPosition.Y = (CameraFloor * FloorHeight) + FloorHeight + 10 + (RiserHeight * 1) + PartialFloor Then Camera.SetPosition Camera.GetPosition.X, (CameraFloor * FloorHeight) + FloorHeight + 10 + PartialFloor, Camera.GetPosition.z
    
-    If Camera.GetPosition.X <= -12.5 - 6 And Camera.GetPosition.X > -12.5 - 8 And Camera.GetPosition.z > -46.25 And Camera.GetPosition.z < -46.25 + 7.71 And Camera.GetPosition.Y = (CameraFloor * 25) + 25 + 10 + PartialFloor Then
+    If Camera.GetPosition.X <= -12.5 - 6 And Camera.GetPosition.X > -12.5 - 7.5 And Camera.GetPosition.z > -46.25 And Camera.GetPosition.z < -46.25 + 7.71 And Camera.GetPosition.Y = (CameraFloor * FloorHeight) + FloorHeight + 10 + PartialFloor Then
       Room(CameraFloor).Enable False
-      ElevatorDoor1L(CameraFloor).Enable False
-      ElevatorDoor1R(CameraFloor).Enable False
-      ElevatorDoor2L(CameraFloor).Enable False
-      ElevatorDoor2R(CameraFloor).Enable False
-      ElevatorDoor3L(CameraFloor).Enable False
-      ElevatorDoor3R(CameraFloor).Enable False
-      ElevatorDoor4L(CameraFloor).Enable False
-      ElevatorDoor4R(CameraFloor).Enable False
-      ElevatorDoor5L(CameraFloor).Enable False
-      ElevatorDoor5R(CameraFloor).Enable False
-      ElevatorDoor6L(CameraFloor).Enable False
-      ElevatorDoor6R(CameraFloor).Enable False
-      ElevatorDoor7L(CameraFloor).Enable False
-      ElevatorDoor7R(CameraFloor).Enable False
-      ElevatorDoor8L(CameraFloor).Enable False
-      ElevatorDoor8R(CameraFloor).Enable False
-      ElevatorDoor9L(CameraFloor).Enable False
-      ElevatorDoor9R(CameraFloor).Enable False
-      ElevatorDoor10L(CameraFloor).Enable False
-      ElevatorDoor10R(CameraFloor).Enable False
+      For i51 = 1 To 40
+      ElevatorDoorL(i51).Enable False
+      ElevatorDoorL(i51).Enable False
+      Next i51
       ShaftsFloor(CameraFloor).Enable False
-      For i51 = 1 To 10
+      For i51 = 1 To 40
       CallButtons(i51).Enable False
       Next i51
       Atmos.SkyBox_Enable False
@@ -6198,370 +3428,608 @@ Sub StairsLoop()
       'Stairs(CameraFloor).Enable False
       If CameraFloor < 138 Then Stairs(CameraFloor + 1).Enable False
       If CameraFloor > 1 Then Stairs(CameraFloor - 1).Enable False
-    If CameraFloor = 1 Then PartialFloor = PartialFloor - 25
+    If CameraFloor = 1 Then PartialFloor = PartialFloor - FloorHeight
     If CameraFloor = 2 Then PartialFloor = 0: CameraFloor = 1
-    If CameraFloor = 1 And PartialFloor <= -50 Then PartialFloor = -50
+    If CameraFloor = 1 And PartialFloor <= -(FloorHeight * 2) Then PartialFloor = -(FloorHeight * 2)
     If CameraFloor > 2 Then CameraFloor = CameraFloor - 1
-     Room(CameraFloor).Enable True
-      ElevatorDoor1L(CameraFloor).Enable True
-      ElevatorDoor1R(CameraFloor).Enable True
-      ElevatorDoor2L(CameraFloor).Enable True
-      ElevatorDoor2R(CameraFloor).Enable True
-      ElevatorDoor3L(CameraFloor).Enable True
-      ElevatorDoor3R(CameraFloor).Enable True
-      ElevatorDoor4L(CameraFloor).Enable True
-      ElevatorDoor4R(CameraFloor).Enable True
-      ElevatorDoor5L(CameraFloor).Enable True
-      ElevatorDoor5R(CameraFloor).Enable True
-      ElevatorDoor6L(CameraFloor).Enable True
-      ElevatorDoor6R(CameraFloor).Enable True
-      ElevatorDoor7L(CameraFloor).Enable True
-      ElevatorDoor7R(CameraFloor).Enable True
-      ElevatorDoor8L(CameraFloor).Enable True
-      ElevatorDoor8R(CameraFloor).Enable True
-      ElevatorDoor9L(CameraFloor).Enable True
-      ElevatorDoor9R(CameraFloor).Enable True
-      ElevatorDoor10L(CameraFloor).Enable True
-      ElevatorDoor10R(CameraFloor).Enable True
-      For i51 = 1 To 10
-      CallButtons(i51).Enable True
-      Next i51
-      ShaftsFloor(CameraFloor).Enable True
-      Stairs(CameraFloor).Enable True
-      Atmos.SkyBox_Enable True
-      InitObjectsForFloor (CameraFloor)
-      'If CameraFloor = 137 Then
-      'For i51 = 1 To 138
-      'Shafts(i51).Enable True
+     'Room(CameraFloor).Enable True
+      'For i51 = 1 To 40
+      'ElevatorDoorL(i51).Enable True
+      'ElevatorDoorL(i51).Enable True
+      'Next i51
+      'For i51 = 1 To 40
+      'CallButtons(i51).Enable True
       'Next i51
+      'ShaftsFloor(CameraFloor).Enable True
+      Stairs(CameraFloor).Enable True
+      'Atmos.SkyBox_Enable True
+      'Call InitRealtime(CameraFloor)
+      'InitObjectsForFloor (CameraFloor)
+      ''If CameraFloor = 137 Then
+      ''For i51 = 1 To 138
+      ''Shafts(i51).Enable True
+      ''Next i51
       If CameraFloor < 138 Then Stairs(CameraFloor + 1).Enable True
       If CameraFloor > 1 Then Stairs(CameraFloor - 1).Enable True
-    Camera.SetPosition Camera.GetPosition.X, (CameraFloor * 25) + 25 + 10 + 22 + PartialFloor, Camera.GetPosition.z
+    Camera.SetPosition Camera.GetPosition.X, (CameraFloor * FloorHeight) + FloorHeight + 10 + (RiserHeight * 15) + PartialFloor, Camera.GetPosition.z
     End If
     If Camera.GetPosition.Y <> 10 Then
-    If Camera.GetPosition.X <= -12.5 - 6 And Camera.GetPosition.X > -12.5 - 8 And Camera.GetPosition.z > -46.25 And Camera.GetPosition.z < -46.25 + 7.71 And Camera.GetPosition.Y = (CameraFloor * 25) + 25 + 10 + 20 + PartialFloor Then Camera.SetPosition Camera.GetPosition.X, (CameraFloor * 25) + 25 + 10 + 22 + PartialFloor, Camera.GetPosition.z
-    If Camera.GetPosition.X <= -12.5 - 8 And Camera.GetPosition.X > -12.5 - 10 And Camera.GetPosition.z > -46.25 And Camera.GetPosition.z < -46.25 + 7.71 Then Camera.SetPosition Camera.GetPosition.X, (CameraFloor * 25) + 25 + 10 + 20 + PartialFloor, Camera.GetPosition.z
-    If Camera.GetPosition.X <= -12.5 - 10 And Camera.GetPosition.X > -12.5 - 12 And Camera.GetPosition.z > -46.25 And Camera.GetPosition.z < -46.25 + 7.71 Then Camera.SetPosition Camera.GetPosition.X, (CameraFloor * 25) + 25 + 10 + 18 + PartialFloor, Camera.GetPosition.z
-    If Camera.GetPosition.X <= -12.5 - 12 And Camera.GetPosition.X > -12.5 - 14 And Camera.GetPosition.z > -46.25 And Camera.GetPosition.z < -46.25 + 7.71 Then Camera.SetPosition Camera.GetPosition.X, (CameraFloor * 25) + 25 + 10 + 16 + PartialFloor, Camera.GetPosition.z
-    If Camera.GetPosition.X <= -12.5 - 14 And Camera.GetPosition.X > -12.5 - 16 And Camera.GetPosition.z > -46.25 And Camera.GetPosition.z < -46.25 + 7.71 Then Camera.SetPosition Camera.GetPosition.X, (CameraFloor * 25) + 25 + 10 + 14 + PartialFloor, Camera.GetPosition.z
+    If Camera.GetPosition.X <= -12.5 - 6 And Camera.GetPosition.X > -12.5 - 7.5 And Camera.GetPosition.z > -46.25 And Camera.GetPosition.z < -46.25 + 7.71 And Camera.GetPosition.Y = (CameraFloor * FloorHeight) + FloorHeight + 10 + (RiserHeight * 14) + PartialFloor Then Camera.SetPosition Camera.GetPosition.X, (CameraFloor * FloorHeight) + FloorHeight + 10 + (RiserHeight * 15) + PartialFloor, Camera.GetPosition.z
+    If Camera.GetPosition.X <= -12.5 - 7.5 And Camera.GetPosition.X > -12.5 - 9 And Camera.GetPosition.z > -46.25 And Camera.GetPosition.z < -46.25 + 7.71 Then Camera.SetPosition Camera.GetPosition.X, (CameraFloor * FloorHeight) + FloorHeight + 10 + (RiserHeight * 14) + PartialFloor, Camera.GetPosition.z
+    If Camera.GetPosition.X <= -12.5 - 9 And Camera.GetPosition.X > -12.5 - 10.5 And Camera.GetPosition.z > -46.25 And Camera.GetPosition.z < -46.25 + 7.71 Then Camera.SetPosition Camera.GetPosition.X, (CameraFloor * FloorHeight) + FloorHeight + 10 + (RiserHeight * 13) + PartialFloor, Camera.GetPosition.z
+    If Camera.GetPosition.X <= -12.5 - 10.5 And Camera.GetPosition.X > -12.5 - 12 And Camera.GetPosition.z > -46.25 And Camera.GetPosition.z < -46.25 + 7.71 Then Camera.SetPosition Camera.GetPosition.X, (CameraFloor * FloorHeight) + FloorHeight + 10 + (RiserHeight * 12) + PartialFloor, Camera.GetPosition.z
+    If Camera.GetPosition.X <= -12.5 - 12 And Camera.GetPosition.X > -12.5 - 13.5 And Camera.GetPosition.z > -46.25 And Camera.GetPosition.z < -46.25 + 7.71 Then Camera.SetPosition Camera.GetPosition.X, (CameraFloor * FloorHeight) + FloorHeight + 10 + (RiserHeight * 11) + PartialFloor, Camera.GetPosition.z
+    If Camera.GetPosition.X <= -12.5 - 13.5 And Camera.GetPosition.X > -12.5 - 15 And Camera.GetPosition.z > -46.25 And Camera.GetPosition.z < -46.25 + 7.71 Then Camera.SetPosition Camera.GetPosition.X, (CameraFloor * FloorHeight) + FloorHeight + 10 + (RiserHeight * 10) + PartialFloor, Camera.GetPosition.z
+    If Camera.GetPosition.X <= -12.5 - 15 And Camera.GetPosition.X > -12.5 - 16 And Camera.GetPosition.z > -46.25 And Camera.GetPosition.z < -46.25 + 7.71 Then Camera.SetPosition Camera.GetPosition.X, (CameraFloor * FloorHeight) + FloorHeight + 10 + (RiserHeight * 9) + PartialFloor, Camera.GetPosition.z
     End If
-    If Camera.GetPosition.Y = 10 And PartialFloor = -50 Then PartialFloor = 0
-    If Camera.GetPosition.X <= -12.5 - 6 And Camera.GetPosition.X > -12.5 - 8 And Camera.GetPosition.z > -46.25 + 7.71 And Camera.GetPosition.z < -30.85 And PartialFloor = 0 And Camera.GetPosition.Y = 10 Then PartialFloor = -50
-    If Camera.GetPosition.X <= -12.5 - 6 And Camera.GetPosition.X > -12.5 - 8 And Camera.GetPosition.z > -46.25 + 7.71 And Camera.GetPosition.z < -30.85 Then Camera.SetPosition Camera.GetPosition.X, (CameraFloor * 25) + 25 + 10 + 2 + PartialFloor, Camera.GetPosition.z
-    If Camera.GetPosition.X <= -12.5 - 8 And Camera.GetPosition.X > -12.5 - 10 And Camera.GetPosition.z > -46.25 + 7.71 And Camera.GetPosition.z < -30.85 Then Camera.SetPosition Camera.GetPosition.X, (CameraFloor * 25) + 25 + 10 + 4 + PartialFloor, Camera.GetPosition.z
-    If Camera.GetPosition.X <= -12.5 - 10 And Camera.GetPosition.X > -12.5 - 12 And Camera.GetPosition.z > -46.25 + 7.71 And Camera.GetPosition.z < -30.85 Then Camera.SetPosition Camera.GetPosition.X, (CameraFloor * 25) + 25 + 10 + 6 + PartialFloor, Camera.GetPosition.z
-    If Camera.GetPosition.X <= -12.5 - 12 And Camera.GetPosition.X > -12.5 - 14 And Camera.GetPosition.z > -46.25 + 7.71 And Camera.GetPosition.z < -30.85 Then Camera.SetPosition Camera.GetPosition.X, (CameraFloor * 25) + 25 + 10 + 8 + PartialFloor, Camera.GetPosition.z
-    If Camera.GetPosition.X <= -12.5 - 14 And Camera.GetPosition.X > -12.5 - 16 And Camera.GetPosition.z > -46.25 + 7.71 And Camera.GetPosition.z < -30.85 Then Camera.SetPosition Camera.GetPosition.X, (CameraFloor * 25) + 25 + 10 + 10 + PartialFloor, Camera.GetPosition.z
-    If Camera.GetPosition.X <= -12.5 - 16 And Camera.GetPosition.X > -12.5 - 20 And Camera.GetPosition.z > -46.25 + 7.71 And Camera.GetPosition.z < -30.85 Then Camera.SetPosition Camera.GetPosition.X, (CameraFloor * 25) + 25 + 10 + 12 + PartialFloor, Camera.GetPosition.z
+    If Camera.GetPosition.Y = 10 And PartialFloor = -(FloorHeight * 2) Then PartialFloor = 0
+    If Camera.GetPosition.X <= -12.5 - 6 And Camera.GetPosition.X > -12.5 - 7.5 And Camera.GetPosition.z > -46.25 + 7.71 And Camera.GetPosition.z < -30.85 And PartialFloor = 0 And Camera.GetPosition.Y = 10 Then PartialFloor = -(FloorHeight * 2)
+    If Camera.GetPosition.X <= -12.5 - 6 And Camera.GetPosition.X > -12.5 - 7.5 And Camera.GetPosition.z > -46.25 + 7.71 And Camera.GetPosition.z < -30.85 Then Camera.SetPosition Camera.GetPosition.X, (CameraFloor * FloorHeight) + FloorHeight + 10 + (RiserHeight * 1) + PartialFloor, Camera.GetPosition.z
+    If Camera.GetPosition.X <= -12.5 - 7.5 And Camera.GetPosition.X > -12.5 - 9 And Camera.GetPosition.z > -46.25 + 7.71 And Camera.GetPosition.z < -30.85 Then Camera.SetPosition Camera.GetPosition.X, (CameraFloor * FloorHeight) + FloorHeight + 10 + (RiserHeight * 2) + PartialFloor, Camera.GetPosition.z
+    If Camera.GetPosition.X <= -12.5 - 9 And Camera.GetPosition.X > -12.5 - 10.5 And Camera.GetPosition.z > -46.25 + 7.71 And Camera.GetPosition.z < -30.85 Then Camera.SetPosition Camera.GetPosition.X, (CameraFloor * FloorHeight) + FloorHeight + 10 + (RiserHeight * 3) + PartialFloor, Camera.GetPosition.z
+    If Camera.GetPosition.X <= -12.5 - 10.5 And Camera.GetPosition.X > -12.5 - 12 And Camera.GetPosition.z > -46.25 + 7.71 And Camera.GetPosition.z < -30.85 Then Camera.SetPosition Camera.GetPosition.X, (CameraFloor * FloorHeight) + FloorHeight + 10 + (RiserHeight * 4) + PartialFloor, Camera.GetPosition.z
+    If Camera.GetPosition.X <= -12.5 - 12 And Camera.GetPosition.X > -12.5 - 13.5 And Camera.GetPosition.z > -46.25 + 7.71 And Camera.GetPosition.z < -30.85 Then Camera.SetPosition Camera.GetPosition.X, (CameraFloor * FloorHeight) + FloorHeight + 10 + (RiserHeight * 5) + PartialFloor, Camera.GetPosition.z
+    If Camera.GetPosition.X <= -12.5 - 13.5 And Camera.GetPosition.X > -12.5 - 15 And Camera.GetPosition.z > -46.25 + 7.71 And Camera.GetPosition.z < -30.85 Then Camera.SetPosition Camera.GetPosition.X, (CameraFloor * FloorHeight) + FloorHeight + 10 + (RiserHeight * 6) + PartialFloor, Camera.GetPosition.z
+    If Camera.GetPosition.X <= -12.5 - 15 And Camera.GetPosition.X > -12.5 - 16 And Camera.GetPosition.z > -46.25 + 7.71 And Camera.GetPosition.z < -30.85 Then Camera.SetPosition Camera.GetPosition.X, (CameraFloor * FloorHeight) + FloorHeight + 10 + (RiserHeight * 7) + PartialFloor, Camera.GetPosition.z
+    If Camera.GetPosition.X <= -12.5 - 16 And Camera.GetPosition.X > -12.5 - 20 And Camera.GetPosition.z > -46.25 + 7.71 And Camera.GetPosition.z < -30.85 Then Camera.SetPosition Camera.GetPosition.X, (CameraFloor * FloorHeight) + FloorHeight + 10 + (RiserHeight * 8) + PartialFloor, Camera.GetPosition.z
     
 End Sub
 
 Sub ProcessMisc()
+DoEvents
 
-
-    Shafts1(1).AddWall GetTex("BrickTexture"), -12.5, -30.85, -32.5, -30.85, 75, 0, 2, 2
+    Shafts1(1).AddWall GetTex("BrickTexture"), -12.5, -30.85, -32.5, -30.85, (FloorHeight * 3), 0, 2, 2
     For i = 2 To 138
-    Shafts1(i).AddWall GetTex("BrickTexture"), -12.5, -30.85, -32.5, -30.85, 25, (25 * i) + 25, 2, 2
+    Shafts1(i).AddWall GetTex("BrickTexture"), -12.5, -30.85, -32.5, -30.85, 25, (FloorHeight * i) + FloorHeight, 2, 2
     Next i
     For i = 2 To 136
-    Shafts2(i).AddWall GetTex("BrickTexture"), 12.5, -30.85, 32.5, -30.85, 25, (25 * i) + 25, 2, 2
+    Shafts2(i).AddWall GetTex("BrickTexture"), 12.5, -30.85, 32.5, -30.85, 25, (FloorHeight * i) + FloorHeight, 2, 2
+    Next i
+    
+    'Stairway Doors for other floors
+    For i = -1 To 138
+    If i = 1 Then i = 2
+    If i < 2 Then StairDoor(i).AddWall GetTex("StairsDoor2"), -3.9, 0, 3.9, 0, 19.5, (i * FloorHeight) + FloorHeight, 1, 1
+    If i >= 2 Then StairDoor(i).AddWall GetTex("StairsDoor"), -3.9, 0, 3.9, 0, 19.5, (i * FloorHeight) + FloorHeight, 1, 1
+    StairDoor(i).SetMeshName ("DoorSB " + Str$(i))
+    StairDoor(i).SetRotation 0, 1.56, 0
+    StairDoor(i).SetPosition -12.8, 0, -36.4
     Next i
     
-    'Shafts.AddWall GetTex("Ceiling1"), -12.5 - 6, -46.25 + 7.71, -12.5 - 16, -46.25 + 7.71, (25 * 138) + 25, 0, 2, 139 * 2
+    'Shafts.AddWall GetTex("Ceiling1"), -12.5 - 6, -46.25 + 7.71, -12.5 - 16, -46.25 + 7.71, (FloorHeight * 138) + FloorHeight, 0, 2, 139 * 2
         
-    Stairs(1).AddWall GetTex("Concrete"), -12.5 - 6, -46.25, -12.5 - 6, -46.25 + 7.71, 22, 0, (7.71 * 0.086) * 4, 1 * 4
-    Stairs(138).AddWall GetTex("Concrete"), -12.5 - 6, -46.25 + 7.71, -12.5 - 6, -30.5, 25, (138 * 25) + 25, (7.71 * 0.086) * 4, 1 * 4
+    Stairs(1).AddWall GetTex("Concrete"), -12.5 - 6, -46.25, -12.5 - 6, -46.25 + 7.71, (FloorHeight - 6), 0, (7.71 * 0.086), (FloorHeight * 0.086)
+    Stairs(138).AddWall GetTex("Concrete"), -12.5 - 6, -46.25 + 7.71, -12.5 - 6, -30.5, (FloorHeight), (138 * FloorHeight) + FloorHeight, (7.71 * 0.086), (FloorHeight * 0.086)
     
-    'Shafts.AddFloor GetTex("BrickTexture"), -60, -150, 60, 150, (138 * 25) + 25, 10, 10
+    'Shafts.AddFloor GetTex("BrickTexture"), -60, -150, 60, 150, (138 * FloorHeight) + FloorHeight, 10, 10
 
     'Elevator1
     'Old one Elevator1.AddFloor GetTex("BrickTexture"), -32, -30, -12, -16, 1
-    Elevator(1).AddFloor GetTex("Wood2"), -28, -29.9, -12.5, -16, 0.1, 1, 1
-    Elevator(1).AddFloor GetTex("Elev1"), -28, -29.9, -12.5, -16, 19.5, 2, 2
-    Elevator(1).AddWall GetTex("Wood1"), -28, -29.9, -12.5, -29.9, 19.5, 0.1, 2, 2
-    Elevator(1).AddWall GetTex("Wood1"), -28, -16, -12.5, -16, 19.5, 0.1, 2, 2
-    Elevator(1).AddWall GetTex("Wood1"), -28, -16, -28, -29.9, 19.5, 0.1, 2, 2
-    
-    Elevator(2).AddFloor GetTex("Wood2"), 28, -30, 12.5, -16, 0.1, 1, 1
-    Elevator(2).AddFloor GetTex("Elev1"), 28, -30, 12.5, -16, 19.5, 2, 2
-    Elevator(2).AddWall GetTex("Wood1"), 28, -30, 12.5, -30, 19.5, 0.1, 2, 2
-    Elevator(2).AddWall GetTex("Wood1"), 28, -16, 12.5, -16, 19.5, 0.1, 2, 2
-    Elevator(2).AddWall GetTex("Wood1"), 28, -16, 28, -30, 19.5, 0.1, 2, 2
-    
-    Elevator(3).AddFloor GetTex("Wood2"), -28, -15, -12.5, -1, 0.1, 1, 1
-    Elevator(3).AddFloor GetTex("Elev1"), -28, -15, -12.5, -1, 19.5, 2, 2
-    Elevator(3).AddWall GetTex("Wood1"), -28, -15, -12.5, -15, 19.5, 0.1, 2, 2
-    Elevator(3).AddWall GetTex("Wood1"), -28, -1, -12.5, -1, 19.5, 0.1, 2, 2
-    Elevator(3).AddWall GetTex("Wood1"), -28, -1, -28, -15, 19.5, 0.1, 2, 2
-    
-    Elevator(4).AddFloor GetTex("Wood2"), 28, -15, 12.5, -1, 0.1, 1, 1
-    Elevator(4).AddFloor GetTex("Elev1"), 28, -15, 12.5, -1, 19.5, 2, 2
-    Elevator(4).AddWall GetTex("Wood1"), 28, -15, 12.5, -15, 19.5, 0.1, 2, 2
-    Elevator(4).AddWall GetTex("Wood1"), 28, -1, 12.5, -1, 19.5, 0.1, 2, 2
-    Elevator(4).AddWall GetTex("Wood1"), 28, -1, 28, -15, 19.5, 0.1, 2, 2
-    
-    Elevator(5).AddFloor GetTex("Wood2"), -28, 0, -12.5, 14, 0.1, 1, 1
-    Elevator(5).AddFloor GetTex("Elev1"), -28, 0, -12.5, 14, 19.5, 2, 2
-    Elevator(5).AddWall GetTex("Wood1"), -28, 0, -12.5, 0, 19.5, 0.1, 2, 2
-    Elevator(5).AddWall GetTex("Wood1"), -28, 14, -12.5, 14, 19.5, 0.1, 2, 2
-    Elevator(5).AddWall GetTex("Wood1"), -28, 14, -28, 0, 19.5, 0.1, 2, 2
-    
-    Elevator(6).AddFloor GetTex("Wood2"), 28, 0, 12.5, 14, 0.1, 1, 1
-    Elevator(6).AddFloor GetTex("Elev1"), 28, 0, 12.5, 14, 19.5, 2, 2
-    Elevator(6).AddWall GetTex("Wood1"), 28, 0, 12.5, 0, 19.5, 0.1, 2, 2
-    Elevator(6).AddWall GetTex("Wood1"), 28, 14, 12.5, 14, 19.5, 0.1, 2, 2
-    Elevator(6).AddWall GetTex("Wood1"), 28, 14, 28, 0, 19.5, 0.1, 2, 2
-    
-    Elevator(7).AddFloor GetTex("Wood2"), -28, 15, -12.5, 29, 0.1, 1, 1
-    Elevator(7).AddFloor GetTex("Elev1"), -28, 15, -12.5, 29, 19.5, 2, 2
-    Elevator(7).AddWall GetTex("Wood1"), -28, 15, -12.5, 15, 19.5, 0.1, 2, 2
-    Elevator(7).AddWall GetTex("Wood1"), -28, 29, -12.5, 29, 19.5, 0.1, 2, 2
-    Elevator(7).AddWall GetTex("Wood1"), -28, 29, -28, 15, 19.5, 0.1, 2, 2
-    
-    Elevator(8).AddFloor GetTex("Wood2"), 28, 15, 12.5, 29, 0.1, 1, 1
-    Elevator(8).AddFloor GetTex("Elev1"), 28, 15, 12.5, 29, 19.5, 2, 2
-    Elevator(8).AddWall GetTex("Wood1"), 28, 15, 12.5, 15, 19.5, 0.1, 2, 2
-    Elevator(8).AddWall GetTex("Wood1"), 28, 29, 12.5, 29, 19.5, 0.1, 2, 2
-    Elevator(8).AddWall GetTex("Wood1"), 28, 29, 28, 15, 19.5, 0.1, 2, 2
-    
-    Elevator(9).AddFloor GetTex("Wood2"), -28, 30, -12.5, 44, 0.1, 1, 1
-    Elevator(9).AddFloor GetTex("Elev1"), -28, 30, -12.5, 44, 19.5, 2, 2
-    Elevator(9).AddWall GetTex("Wood1"), -28, 30, -12.5, 30, 19.5, 0.1, 2, 2
-    Elevator(9).AddWall GetTex("Wood1"), -28, 44, -12.5, 44, 19.5, 0.1, 2, 2
-    Elevator(9).AddWall GetTex("Wood1"), -28, 44, -28, 30, 19.5, 0.1, 2, 2
-    
-    Elevator(10).AddFloor GetTex("Wood2"), 28, 30, 12.5, 44, 0.1, 1, 1
-    Elevator(10).AddFloor GetTex("Elev1"), 28, 30, 12.5, 44, 19.5, 2, 2
-    Elevator(10).AddWall GetTex("Wood1"), 28, 30, 12.5, 30, 19.5, 0.1, 2, 2
-    Elevator(10).AddWall GetTex("Wood1"), 28, 44, 12.5, 44, 19.5, 0.1, 2, 2
-    Elevator(10).AddWall GetTex("Wood1"), 28, 44, 28, 30, 19.5, 0.1, 2, 2
-    
-    'Floor Indicator
-    FloorIndicator(1).AddWall GetTex("ButtonL"), -12.66, -29.5, -12.66, -27.5, 1.5, 16, -1, 1
-    FloorIndicator(2).AddWall GetTex("ButtonL"), 12.66, -18.5, 12.66, -16.5, 1.5, 16, 1, 1
-    FloorIndicator(3).AddWall GetTex("ButtonL"), -12.66, -29.5 + (15 * 1), -12.66, -27.5 + (15 * 1), 1.5, 16, -1, 1
-    FloorIndicator(4).AddWall GetTex("ButtonL"), 12.66, -18.5 + (15 * 1), 12.66, -16.5 + (15 * 1), 1.5, 16, 1, 1
-    FloorIndicator(5).AddWall GetTex("ButtonL"), -12.66, -29.5 + (15 * 2), -12.66, -27.5 + (15 * 2), 1.5, 16, -1, 1
-    FloorIndicator(6).AddWall GetTex("ButtonL"), 12.66, -18.5 + (15 * 2), 12.66, -16.5 + (15 * 2), 1.5, 16, 1, 1
-    FloorIndicator(7).AddWall GetTex("ButtonL"), -12.66, -29.5 + (15 * 3), -12.66, -27.5 + (15 * 3), 1.5, 16, -1, 1
-    FloorIndicator(8).AddWall GetTex("ButtonL"), 12.66, -18.5 + (15 * 3), 12.66, -16.5 + (15 * 3), 1.5, 16, 1, 1
-    FloorIndicator(9).AddWall GetTex("ButtonL"), -12.66, -29.5 + (15 * 4), -12.66, -27.5 + (15 * 4), 1.5, 16, -1, 1
-    FloorIndicator(10).AddWall GetTex("ButtonL"), 12.66, -18.5 + (15 * 4), 12.66, -16.5 + (15 * 4), 1.5, 16, 1, 1
-    'Button Panel
-    Elevator(1).AddWall GetTex("ElevExtPanels"), -12.66, -29.7, -12.66, -27.3, 7, 6, 1, 1
-    Elevator(2).AddWall GetTex("ElevExtPanels"), 12.66, -18.7, 12.66, -16.3, 7, 6, 1, 1
-    Elevator(3).AddWall GetTex("ElevExtPanels"), -12.66, -29.7 + (15 * 1), -12.66, -27.3 + (15 * 1), 7, 6, 1, 1
-    Elevator(4).AddWall GetTex("ElevExtPanels"), 12.66, -18.7 + (15 * 1), 12.66, -16.3 + (15 * 1), 7, 6, 1, 1
-    Elevator(5).AddWall GetTex("ElevExtPanels"), -12.66, -29.7 + (15 * 2), -12.66, -27.3 + (15 * 2), 7, 6, 1, 1
-    Elevator(6).AddWall GetTex("ElevExtPanels"), 12.66, -18.7 + (15 * 2), 12.66, -16.3 + (15 * 2), 7, 6, 1, 1
-    Elevator(7).AddWall GetTex("ElevExtPanels"), -12.66, -29.7 + (15 * 3), -12.66, -27.3 + (15 * 3), 7, 6, 1, 1
-    Elevator(8).AddWall GetTex("ElevExtPanels"), 12.66, -18.7 + (15 * 3), 12.66, -16.3 + (15 * 3), 7, 6, 1, 1
-    Elevator(9).AddWall GetTex("ElevExtPanels"), -12.66, -29.7 + (15 * 4), -12.66, -27.3 + (15 * 4), 7, 6, 1, 1
-    Elevator(10).AddWall GetTex("ElevExtPanels"), 12.66, -18.7 + (15 * 4), 12.66, -16.3 + (15 * 4), 7, 6, 1, 1
-    'Plaque
-    Plaque(1).AddWall GetTex("Plaque"), -12.66, -29.7, -12.66, -27.3, 1, 13, -1, 1
-    Plaque(1).SetBlendingMode (TV_BLEND_ALPHA)
-    Plaque(1).SetColor RGBA(1, 1, 1, 0.1)
-    Plaque(2).AddWall GetTex("Plaque"), 12.66, -18.7, 12.66, -16.3, 1, 13, 1, 1
-    Plaque(2).SetBlendingMode (TV_BLEND_ALPHA)
-    Plaque(2).SetColor RGBA(1, 1, 1, 0.1)
-    Plaque(3).AddWall GetTex("Plaque"), -12.66, -29.7 + (15 * 1), -12.66, -27.3 + (15 * 1), 1, 13, -1, 1
-    Plaque(3).SetBlendingMode (TV_BLEND_ALPHA)
-    Plaque(3).SetColor RGBA(1, 1, 1, 0.1)
-    Plaque(4).AddWall GetTex("Plaque"), 12.66, -18.7 + (15 * 1), 12.66, -16.3 + (15 * 1), 1, 13, 1, 1
-    Plaque(4).SetBlendingMode (TV_BLEND_ALPHA)
-    Plaque(4).SetColor RGBA(1, 1, 1, 0.1)
-    Plaque(5).AddWall GetTex("Plaque"), -12.66, -29.7 + (15 * 2), -12.66, -27.3 + (15 * 2), 1, 13, -1, 1
-    Plaque(5).SetBlendingMode (TV_BLEND_ALPHA)
-    Plaque(5).SetColor RGBA(1, 1, 1, 0.1)
-    Plaque(6).AddWall GetTex("Plaque"), 12.66, -18.7 + (15 * 2), 12.66, -16.3 + (15 * 2), 1, 13, 1, 1
-    Plaque(6).SetBlendingMode (TV_BLEND_ALPHA)
-    Plaque(6).SetColor RGBA(1, 1, 1, 0.1)
-    Plaque(7).AddWall GetTex("Plaque"), -12.66, -29.7 + (15 * 3), -12.66, -27.3 + (15 * 3), 1, 13, -1, 1
-    Plaque(7).SetBlendingMode (TV_BLEND_ALPHA)
-    Plaque(7).SetColor RGBA(1, 1, 1, 0.1)
-    Plaque(8).AddWall GetTex("Plaque"), 12.66, -18.7 + (15 * 3), 12.66, -16.3 + (15 * 3), 1, 13, 1, 1
-    Plaque(8).SetBlendingMode (TV_BLEND_ALPHA)
-    Plaque(8).SetColor RGBA(1, 1, 1, 0.1)
-    Plaque(9).AddWall GetTex("Plaque"), -12.66, -29.7 + (15 * 4), -12.66, -27.3 + (15 * 4), 1, 13, -1, 1
-    Plaque(9).SetBlendingMode (TV_BLEND_ALPHA)
-    Plaque(9).SetColor RGBA(1, 1, 1, 0.1)
-    Plaque(10).AddWall GetTex("Plaque"), 12.66, -18.7 + (15 * 4), 12.66, -16.3 + (15 * 4), 1, 13, 1, 1
-    Plaque(10).SetBlendingMode (TV_BLEND_ALPHA)
-    Plaque(10).SetColor RGBA(1, 1, 1, 0.1)
+    Dim vv As Single
+    Dim xx As Single
+    For i = 1 To 4
+    DoEvents
+    If i = 1 Then j = 1
+    If i = 2 Then j = 11
+    If i = 3 Then j = 21
+    If i = 4 Then j = 31
+    
+    If i = 1 Then vv = 28: xx = 12.5
+    If i = 2 Then vv = 37: xx = 52.5
+    If i = 3 Then vv = 106: xx = 90.5
+    If i = 4 Then vv = 115: xx = 130.5
+    
+    Elevator(j).AddFloor GetTex("Wood2"), -vv, -29.9, -xx, -16, 0.1, 1, 1
+    Elevator(j).AddFloor GetTex("Elev1"), -vv, -29.9, -xx, -16, 19.5, 2, 2
+    Elevator(j).AddWall GetTex("Wood1"), -vv, -29.9, -xx, -29.9, 19.5, 0.1, 2, 2
+    Elevator(j).AddWall GetTex("Wood1"), -vv, -16, -xx, -16, 19.5, 0.1, 2, 2
+    Elevator(j).AddWall GetTex("Wood1"), -vv, -16, -vv, -29.9, 19.5, 0.1, 2, 2
+    
+    Elevator(j + 1).AddFloor GetTex("Wood2"), vv, -30, xx, -16, 0.1, 1, 1
+    Elevator(j + 1).AddFloor GetTex("Elev1"), vv, -30, xx, -16, 19.5, 2, 2
+    Elevator(j + 1).AddWall GetTex("Wood1"), vv, -30, xx, -30, 19.5, 0.1, 2, 2
+    Elevator(j + 1).AddWall GetTex("Wood1"), vv, -16, xx, -16, 19.5, 0.1, 2, 2
+    Elevator(j + 1).AddWall GetTex("Wood1"), vv, -16, vv, -30, 19.5, 0.1, 2, 2
+    
+    Elevator(j + 2).AddFloor GetTex("Wood2"), -vv, -15, -xx, -1, 0.1, 1, 1
+    Elevator(j + 2).AddFloor GetTex("Elev1"), -vv, -15, -xx, -1, 19.5, 2, 2
+    Elevator(j + 2).AddWall GetTex("Wood1"), -vv, -15, -xx, -15, 19.5, 0.1, 2, 2
+    Elevator(j + 2).AddWall GetTex("Wood1"), -vv, -1, -xx, -1, 19.5, 0.1, 2, 2
+    Elevator(j + 2).AddWall GetTex("Wood1"), -vv, -1, -vv, -15, 19.5, 0.1, 2, 2
+    
+    Elevator(j + 3).AddFloor GetTex("Wood2"), vv, -15, xx, -1, 0.1, 1, 1
+    Elevator(j + 3).AddFloor GetTex("Elev1"), vv, -15, xx, -1, 19.5, 2, 2
+    Elevator(j + 3).AddWall GetTex("Wood1"), vv, -15, xx, -15, 19.5, 0.1, 2, 2
+    Elevator(j + 3).AddWall GetTex("Wood1"), vv, -1, xx, -1, 19.5, 0.1, 2, 2
+    Elevator(j + 3).AddWall GetTex("Wood1"), vv, -1, vv, -15, 19.5, 0.1, 2, 2
+    
+    Elevator(j + 4).AddFloor GetTex("Wood2"), -vv, 0, -xx, 14, 0.1, 1, 1
+    Elevator(j + 4).AddFloor GetTex("Elev1"), -vv, 0, -xx, 14, 19.5, 2, 2
+    Elevator(j + 4).AddWall GetTex("Wood1"), -vv, 0, -xx, 0, 19.5, 0.1, 2, 2
+    Elevator(j + 4).AddWall GetTex("Wood1"), -vv, 14, -xx, 14, 19.5, 0.1, 2, 2
+    Elevator(j + 4).AddWall GetTex("Wood1"), -vv, 14, -vv, 0, 19.5, 0.1, 2, 2
+    
+    Elevator(j + 5).AddFloor GetTex("Wood2"), vv, 0, xx, 14, 0.1, 1, 1
+    Elevator(j + 5).AddFloor GetTex("Elev1"), vv, 0, xx, 14, 19.5, 2, 2
+    Elevator(j + 5).AddWall GetTex("Wood1"), vv, 0, xx, 0, 19.5, 0.1, 2, 2
+    Elevator(j + 5).AddWall GetTex("Wood1"), vv, 14, xx, 14, 19.5, 0.1, 2, 2
+    Elevator(j + 5).AddWall GetTex("Wood1"), vv, 14, vv, 0, 19.5, 0.1, 2, 2
+    
+    Elevator(j + 6).AddFloor GetTex("Wood2"), -vv, 15, -xx, 29, 0.1, 1, 1
+    Elevator(j + 6).AddFloor GetTex("Elev1"), -vv, 15, -xx, 29, 19.5, 2, 2
+    Elevator(j + 6).AddWall GetTex("Wood1"), -vv, 15, -xx, 15, 19.5, 0.1, 2, 2
+    Elevator(j + 6).AddWall GetTex("Wood1"), -vv, 29, -xx, 29, 19.5, 0.1, 2, 2
+    Elevator(j + 6).AddWall GetTex("Wood1"), -vv, 29, -vv, 15, 19.5, 0.1, 2, 2
+    
+    Elevator(j + 7).AddFloor GetTex("Wood2"), vv, 15, xx, 29, 0.1, 1, 1
+    Elevator(j + 7).AddFloor GetTex("Elev1"), vv, 15, xx, 29, 19.5, 2, 2
+    Elevator(j + 7).AddWall GetTex("Wood1"), vv, 15, xx, 15, 19.5, 0.1, 2, 2
+    Elevator(j + 7).AddWall GetTex("Wood1"), vv, 29, xx, 29, 19.5, 0.1, 2, 2
+    Elevator(j + 7).AddWall GetTex("Wood1"), vv, 29, vv, 15, 19.5, 0.1, 2, 2
+    
+    Elevator(j + 8).AddFloor GetTex("Wood2"), -vv, 30, -xx, 44, 0.1, 1, 1
+    Elevator(j + 8).AddFloor GetTex("Elev1"), -vv, 30, -xx, 44, 19.5, 2, 2
+    Elevator(j + 8).AddWall GetTex("Wood1"), -vv, 30, -xx, 30, 19.5, 0.1, 2, 2
+    Elevator(j + 8).AddWall GetTex("Wood1"), -vv, 44, -xx, 44, 19.5, 0.1, 2, 2
+    Elevator(j + 8).AddWall GetTex("Wood1"), -vv, 44, -vv, 30, 19.5, 0.1, 2, 2
+    
+    Elevator(j + 9).AddFloor GetTex("Wood2"), vv, 30, xx, 44, 0.1, 1, 1
+    Elevator(j + 9).AddFloor GetTex("Elev1"), vv, 30, xx, 44, 19.5, 2, 2
+    Elevator(j + 9).AddWall GetTex("Wood1"), vv, 30, xx, 30, 19.5, 0.1, 2, 2
+    Elevator(j + 9).AddWall GetTex("Wood1"), vv, 44, xx, 44, 19.5, 0.1, 2, 2
+    Elevator(j + 9).AddWall GetTex("Wood1"), vv, 44, vv, 30, 19.5, 0.1, 2, 2
+   
+   'Floor Indicator
+    If i = 1 Or i = 3 Then
+    FloorIndicator(j).AddWall GetTex("ButtonL"), -(xx + 0.16), -29.5, -(xx + 0.16), -27.5, 1.5, 16, -1, 1
+    FloorIndicator(j + 1).AddWall GetTex("ButtonL"), (xx + 0.16), -18.5, (xx + 0.16), -16.5, 1.5, 16, 1, 1
+    FloorIndicator(j + 2).AddWall GetTex("ButtonL"), -(xx + 0.16), -29.5 + (15 * 1), -(xx + 0.16), -27.5 + (15 * 1), 1.5, 16, -1, 1
+    FloorIndicator(j + 3).AddWall GetTex("ButtonL"), (xx + 0.16), -18.5 + (15 * 1), (xx + 0.16), -16.5 + (15 * 1), 1.5, 16, 1, 1
+    FloorIndicator(j + 4).AddWall GetTex("ButtonL"), -(xx + 0.16), -29.5 + (15 * 2), -(xx + 0.16), -27.5 + (15 * 2), 1.5, 16, -1, 1
+    FloorIndicator(j + 5).AddWall GetTex("ButtonL"), (xx + 0.16), -18.5 + (15 * 2), (xx + 0.16), -16.5 + (15 * 2), 1.5, 16, 1, 1
+    FloorIndicator(j + 6).AddWall GetTex("ButtonL"), -(xx + 0.16), -29.5 + (15 * 3), -(xx + 0.16), -27.5 + (15 * 3), 1.5, 16, -1, 1
+    FloorIndicator(j + 7).AddWall GetTex("ButtonL"), (xx + 0.16), -18.5 + (15 * 3), (xx + 0.16), -16.5 + (15 * 3), 1.5, 16, 1, 1
+    FloorIndicator(j + 8).AddWall GetTex("ButtonL"), -(xx + 0.16), -29.5 + (15 * 4), -(xx + 0.16), -27.5 + (15 * 4), 1.5, 16, -1, 1
+    FloorIndicator(j + 9).AddWall GetTex("ButtonL"), (xx + 0.16), -18.5 + (15 * 4), (xx + 0.16), -16.5 + (15 * 4), 1.5, 16, 1, 1
+    End If
+    If i = 2 Or i = 4 Then
+    FloorIndicator(j + 1).AddWall GetTex("ButtonL"), (xx - 0.16), -29.5, (xx - 0.16), -27.5, 1.5, 16, -1, 1
+    FloorIndicator(j).AddWall GetTex("ButtonL"), -(xx - 0.16), -18.5, -(xx - 0.16), -16.5, 1.5, 16, 1, 1
+    FloorIndicator(j + 3).AddWall GetTex("ButtonL"), (xx - 0.16), -29.5 + (15 * 1), (xx - 0.16), -27.5 + (15 * 1), 1.5, 16, -1, 1
+    FloorIndicator(j + 2).AddWall GetTex("ButtonL"), -(xx - 0.16), -18.5 + (15 * 1), -(xx - 0.16), -16.5 + (15 * 1), 1.5, 16, 1, 1
+    FloorIndicator(j + 5).AddWall GetTex("ButtonL"), (xx - 0.16), -29.5 + (15 * 2), (xx - 0.16), -27.5 + (15 * 2), 1.5, 16, -1, 1
+    FloorIndicator(j + 4).AddWall GetTex("ButtonL"), -(xx - 0.16), -18.5 + (15 * 2), -(xx - 0.16), -16.5 + (15 * 2), 1.5, 16, 1, 1
+    FloorIndicator(j + 7).AddWall GetTex("ButtonL"), (xx - 0.16), -29.5 + (15 * 3), (xx - 0.16), -27.5 + (15 * 3), 1.5, 16, -1, 1
+    FloorIndicator(j + 6).AddWall GetTex("ButtonL"), -(xx - 0.16), -18.5 + (15 * 3), -(xx - 0.16), -16.5 + (15 * 3), 1.5, 16, 1, 1
+    FloorIndicator(j + 9).AddWall GetTex("ButtonL"), (xx - 0.16), -29.5 + (15 * 4), (xx - 0.16), -27.5 + (15 * 4), 1.5, 16, -1, 1
+    FloorIndicator(j + 8).AddWall GetTex("ButtonL"), -(xx - 0.16), -18.5 + (15 * 4), -(xx - 0.16), -16.5 + (15 * 4), 1.5, 16, 1, 1
+    End If
+    
+   'Button Panel
+    If i = 1 Or i = 3 Then
+    Elevator(j).AddWall GetTex("ElevExtPanels"), -(xx + 0.16), -29.7, -(xx + 0.16), -27.3, 7, 6, 1, 1
+    Elevator(j + 1).AddWall GetTex("ElevExtPanels"), (xx + 0.16), -18.7, (xx + 0.16), -16.3, 7, 6, 1, 1
+    Elevator(j + 2).AddWall GetTex("ElevExtPanels"), -(xx + 0.16), -29.7 + (15 * 1), -(xx + 0.16), -27.3 + (15 * 1), 7, 6, 1, 1
+    Elevator(j + 3).AddWall GetTex("ElevExtPanels"), (xx + 0.16), -18.7 + (15 * 1), (xx + 0.16), -16.3 + (15 * 1), 7, 6, 1, 1
+    Elevator(j + 4).AddWall GetTex("ElevExtPanels"), -(xx + 0.16), -29.7 + (15 * 2), -(xx + 0.16), -27.3 + (15 * 2), 7, 6, 1, 1
+    Elevator(j + 5).AddWall GetTex("ElevExtPanels"), (xx + 0.16), -18.7 + (15 * 2), (xx + 0.16), -16.3 + (15 * 2), 7, 6, 1, 1
+    Elevator(j + 6).AddWall GetTex("ElevExtPanels"), -(xx + 0.16), -29.7 + (15 * 3), -(xx + 0.16), -27.3 + (15 * 3), 7, 6, 1, 1
+    Elevator(j + 7).AddWall GetTex("ElevExtPanels"), (xx + 0.16), -18.7 + (15 * 3), (xx + 0.16), -16.3 + (15 * 3), 7, 6, 1, 1
+    Elevator(j + 8).AddWall GetTex("ElevExtPanels"), -(xx + 0.16), -29.7 + (15 * 4), -(xx + 0.16), -27.3 + (15 * 4), 7, 6, 1, 1
+    Elevator(j + 9).AddWall GetTex("ElevExtPanels"), (xx + 0.16), -18.7 + (15 * 4), (xx + 0.16), -16.3 + (15 * 4), 7, 6, 1, 1
+    End If
+    If i = 2 Or i = 4 Then
+    Elevator(j + 1).AddWall GetTex("ElevExtPanels"), (xx - 0.16), -29.7, (xx - 0.16), -27.3, 7, 6, 1, 1
+    Elevator(j).AddWall GetTex("ElevExtPanels"), -(xx - 0.16), -18.7, -(xx - 0.16), -16.3, 7, 6, 1, 1
+    Elevator(j + 3).AddWall GetTex("ElevExtPanels"), (xx - 0.16), -29.7 + (15 * 1), (xx - 0.16), -27.3 + (15 * 1), 7, 6, 1, 1
+    Elevator(j + 2).AddWall GetTex("ElevExtPanels"), -(xx - 0.16), -18.7 + (15 * 1), -(xx - 0.16), -16.3 + (15 * 1), 7, 6, 1, 1
+    Elevator(j + 5).AddWall GetTex("ElevExtPanels"), (xx - 0.16), -29.7 + (15 * 2), (xx - 0.16), -27.3 + (15 * 2), 7, 6, 1, 1
+    Elevator(j + 4).AddWall GetTex("ElevExtPanels"), -(xx - 0.16), -18.7 + (15 * 2), -(xx - 0.16), -16.3 + (15 * 2), 7, 6, 1, 1
+    Elevator(j + 7).AddWall GetTex("ElevExtPanels"), (xx - 0.16), -29.7 + (15 * 3), (xx - 0.16), -27.3 + (15 * 3), 7, 6, 1, 1
+    Elevator(j + 6).AddWall GetTex("ElevExtPanels"), -(xx - 0.16), -18.7 + (15 * 3), -(xx - 0.16), -16.3 + (15 * 3), 7, 6, 1, 1
+    Elevator(j + 9).AddWall GetTex("ElevExtPanels"), (xx - 0.16), -29.7 + (15 * 4), (xx - 0.16), -27.3 + (15 * 4), 7, 6, 1, 1
+    Elevator(j + 8).AddWall GetTex("ElevExtPanels"), -(xx - 0.16), -18.7 + (15 * 4), -(xx - 0.16), -16.3 + (15 * 4), 7, 6, 1, 1
+    End If
+   'Plaques
+    If i = 1 Or i = 3 Then
+    Plaque(j).AddWall GetTex("Plaque"), -(xx + 0.16), -29.7, -(xx + 0.16), -27.3, 1, 13, -1, 1
+    Plaque(j).SetBlendingMode (TV_BLEND_ALPHA)
+    Plaque(j).SetColor RGBA(1, 1, 1, 0.1)
+    Plaque(j + 1).AddWall GetTex("Plaque"), (xx + 0.16), -18.7, (xx + 0.16), -16.3, 1, 13, 1, 1
+    Plaque(j + 1).SetBlendingMode (TV_BLEND_ALPHA)
+    Plaque(j + 1).SetColor RGBA(1, 1, 1, 0.1)
+    Plaque(j + 2).AddWall GetTex("Plaque"), -(xx + 0.16), -29.7 + (15 * 1), -(xx + 0.16), -27.3 + (15 * 1), 1, 13, -1, 1
+    Plaque(j + 2).SetBlendingMode (TV_BLEND_ALPHA)
+    Plaque(j + 2).SetColor RGBA(1, 1, 1, 0.1)
+    Plaque(j + 3).AddWall GetTex("Plaque"), (xx + 0.16), -18.7 + (15 * 1), (xx + 0.16), -16.3 + (15 * 1), 1, 13, 1, 1
+    Plaque(j + 3).SetBlendingMode (TV_BLEND_ALPHA)
+    Plaque(j + 3).SetColor RGBA(1, 1, 1, 0.1)
+    Plaque(j + 4).AddWall GetTex("Plaque"), -(xx + 0.16), -29.7 + (15 * 2), -(xx + 0.16), -27.3 + (15 * 2), 1, 13, -1, 1
+    Plaque(j + 4).SetBlendingMode (TV_BLEND_ALPHA)
+    Plaque(j + 4).SetColor RGBA(1, 1, 1, 0.1)
+    Plaque(j + 5).AddWall GetTex("Plaque"), (xx + 0.16), -18.7 + (15 * 2), (xx + 0.16), -16.3 + (15 * 2), 1, 13, 1, 1
+    Plaque(j + 5).SetBlendingMode (TV_BLEND_ALPHA)
+    Plaque(j + 5).SetColor RGBA(1, 1, 1, 0.1)
+    Plaque(j + 6).AddWall GetTex("Plaque"), -(xx + 0.16), -29.7 + (15 * 3), -(xx + 0.16), -27.3 + (15 * 3), 1, 13, -1, 1
+    Plaque(j + 6).SetBlendingMode (TV_BLEND_ALPHA)
+    Plaque(j + 6).SetColor RGBA(1, 1, 1, 0.1)
+    Plaque(j + 7).AddWall GetTex("Plaque"), (xx + 0.16), -18.7 + (15 * 3), (xx + 0.16), -16.3 + (15 * 3), 1, 13, 1, 1
+    Plaque(j + 7).SetBlendingMode (TV_BLEND_ALPHA)
+    Plaque(j + 7).SetColor RGBA(1, 1, 1, 0.1)
+    Plaque(j + 8).AddWall GetTex("Plaque"), -(xx + 0.16), -29.7 + (15 * 4), -(xx + 0.16), -27.3 + (15 * 4), 1, 13, -1, 1
+    Plaque(j + 8).SetBlendingMode (TV_BLEND_ALPHA)
+    Plaque(j + 8).SetColor RGBA(1, 1, 1, 0.1)
+    Plaque(j + 9).AddWall GetTex("Plaque"), (xx + 0.16), -18.7 + (15 * 4), (xx + 0.16), -16.3 + (15 * 4), 1, 13, 1, 1
+    Plaque(j + 9).SetBlendingMode (TV_BLEND_ALPHA)
+    Plaque(j + 9).SetColor RGBA(1, 1, 1, 0.1)
+    End If
+    If i = 2 Or i = 4 Then
+    Plaque(j + 1).AddWall GetTex("Plaque"), (xx - 0.16), -29.7, (xx - 0.16), -27.3, 1, 13, -1, 1
+    Plaque(j + 1).SetBlendingMode (TV_BLEND_ALPHA)
+    Plaque(j + 1).SetColor RGBA(1, 1, 1, 0.1)
+    Plaque(j).AddWall GetTex("Plaque"), -(xx - 0.16), -18.7, -(xx - 0.16), -16.3, 1, 13, 1, 1
+    Plaque(j).SetBlendingMode (TV_BLEND_ALPHA)
+    Plaque(j).SetColor RGBA(1, 1, 1, 0.1)
+    Plaque(j + 3).AddWall GetTex("Plaque"), (xx - 0.16), -29.7 + (15 * 1), (xx - 0.16), -27.3 + (15 * 1), 1, 13, -1, 1
+    Plaque(j + 3).SetBlendingMode (TV_BLEND_ALPHA)
+    Plaque(j + 3).SetColor RGBA(1, 1, 1, 0.1)
+    Plaque(j + 2).AddWall GetTex("Plaque"), -(xx - 0.16), -18.7 + (15 * 1), -(xx - 0.16), -16.3 + (15 * 1), 1, 13, 1, 1
+    Plaque(j + 2).SetBlendingMode (TV_BLEND_ALPHA)
+    Plaque(j + 2).SetColor RGBA(1, 1, 1, 0.1)
+    Plaque(j + 5).AddWall GetTex("Plaque"), (xx - 0.16), -29.7 + (15 * 2), (xx - 0.16), -27.3 + (15 * 2), 1, 13, -1, 1
+    Plaque(j + 5).SetBlendingMode (TV_BLEND_ALPHA)
+    Plaque(j + 5).SetColor RGBA(1, 1, 1, 0.1)
+    Plaque(j + 4).AddWall GetTex("Plaque"), -(xx - 0.16), -18.7 + (15 * 2), -(xx - 0.16), -16.3 + (15 * 2), 1, 13, 1, 1
+    Plaque(j + 4).SetBlendingMode (TV_BLEND_ALPHA)
+    Plaque(j + 4).SetColor RGBA(1, 1, 1, 0.1)
+    Plaque(j + 7).AddWall GetTex("Plaque"), (xx - 0.16), -29.7 + (15 * 3), (xx - 0.16), -27.3 + (15 * 3), 1, 13, -1, 1
+    Plaque(j + 7).SetBlendingMode (TV_BLEND_ALPHA)
+    Plaque(j + 7).SetColor RGBA(1, 1, 1, 0.1)
+    Plaque(j + 6).AddWall GetTex("Plaque"), -(xx - 0.16), -18.7 + (15 * 3), -(xx - 0.16), -16.3 + (15 * 3), 1, 13, 1, 1
+    Plaque(j + 6).SetBlendingMode (TV_BLEND_ALPHA)
+    Plaque(j + 6).SetColor RGBA(1, 1, 1, 0.1)
+    Plaque(j + 9).AddWall GetTex("Plaque"), (xx - 0.16), -29.7 + (15 * 4), (xx - 0.16), -27.3 + (15 * 4), 1, 13, -1, 1
+    Plaque(j + 9).SetBlendingMode (TV_BLEND_ALPHA)
+    Plaque(j + 9).SetColor RGBA(1, 1, 1, 0.1)
+    Plaque(j + 8).AddWall GetTex("Plaque"), -(xx - 0.16), -18.7 + (15 * 4), -(xx - 0.16), -16.3 + (15 * 4), 1, 13, 1, 1
+    Plaque(j + 8).SetBlendingMode (TV_BLEND_ALPHA)
+    Plaque(j + 8).SetColor RGBA(1, 1, 1, 0.1)
+    End If
     'Interior Panels
-    Elevator(1).AddWall GetTex("Marble3"), -12.65, -16, -12.65, -19, 19.5, 0.1, 1, 1
-    Elevator(1).AddWall GetTex("Marble3"), -12.65, -30, -12.65, -27, 19.5, 0.1, 1, 1
-    Elevator(2).AddWall GetTex("Marble3"), 12.65, -16, 12.65, -19, 19.5, 0.1, 1, 1
-    Elevator(2).AddWall GetTex("Marble3"), 12.65, -30, 12.65, -27, 19.5, 0.1, 1, 1
-    Elevator(3).AddWall GetTex("Marble3"), -12.65, -16 + (15 * 1), -12.65, -19 + (15 * 1), 19.5, 0.1, 1, 1
-    Elevator(3).AddWall GetTex("Marble3"), -12.65, -30 + (15 * 1), -12.65, -27 + (15 * 1), 19.5, 0.1, 1, 1
-    Elevator(4).AddWall GetTex("Marble3"), 12.65, -16 + (15 * 1), 12.65, -19 + (15 * 1), 19.5, 0.1, 1, 1
-    Elevator(4).AddWall GetTex("Marble3"), 12.65, -30 + (15 * 1), 12.65, -27 + (15 * 1), 19.5, 0.1, 1, 1
-    Elevator(5).AddWall GetTex("Marble3"), -12.65, -16 + (15 * 2), -12.65, -19 + (15 * 2), 19.5, 0.1, 1, 1
-    Elevator(5).AddWall GetTex("Marble3"), -12.65, -30 + (15 * 2), -12.65, -27 + (15 * 2), 19.5, 0.1, 1, 1
-    Elevator(6).AddWall GetTex("Marble3"), 12.65, -16 + (15 * 2), 12.65, -19 + (15 * 2), 19.5, 0.1, 1, 1
-    Elevator(6).AddWall GetTex("Marble3"), 12.65, -30 + (15 * 2), 12.65, -27 + (15 * 2), 19.5, 0.1, 1, 1
-    Elevator(7).AddWall GetTex("Marble3"), -12.65, -16 + (15 * 3), -12.65, -19 + (15 * 3), 19.5, 0.1, 1, 1
-    Elevator(7).AddWall GetTex("Marble3"), -12.65, -30 + (15 * 3), -12.65, -27 + (15 * 3), 19.5, 0.1, 1, 1
-    Elevator(8).AddWall GetTex("Marble3"), 12.65, -16 + (15 * 3), 12.65, -19 + (15 * 3), 19.5, 0.1, 1, 1
-    Elevator(8).AddWall GetTex("Marble3"), 12.65, -30 + (15 * 3), 12.65, -27 + (15 * 3), 19.5, 0.1, 1, 1
-    Elevator(9).AddWall GetTex("Marble3"), -12.65, -16 + (15 * 4), -12.65, -19 + (15 * 4), 19.5, 0.1, 1, 1
-    Elevator(9).AddWall GetTex("Marble3"), -12.65, -30 + (15 * 4), -12.65, -27 + (15 * 4), 19.5, 0.1, 1, 1
-    Elevator(10).AddWall GetTex("Marble3"), 12.65, -16 + (15 * 4), 12.65, -19 + (15 * 4), 19.5, 0.1, 1, 1
-    Elevator(10).AddWall GetTex("Marble3"), 12.65, -30 + (15 * 4), 12.65, -27 + (15 * 4), 19.5, 0.1, 1, 1
+    If i = 1 Or i = 3 Then
+    Elevator(j).AddWall GetTex("Marble3"), -(xx + 0.15), -16, -(xx + 0.15), -19, 19.5, 0.1, 1, 1
+    Elevator(j).AddWall GetTex("Marble3"), -(xx + 0.15), -30, -(xx + 0.15), -27, 19.5, 0.1, 1, 1
+    Elevator(j + 1).AddWall GetTex("Marble3"), (xx + 0.15), -16, (xx + 0.15), -19, 19.5, 0.1, 1, 1
+    Elevator(j + 1).AddWall GetTex("Marble3"), (xx + 0.15), -30, (xx + 0.15), -27, 19.5, 0.1, 1, 1
+    Elevator(j + 2).AddWall GetTex("Marble3"), -(xx + 0.15), -16 + (15 * 1), -(xx + 0.15), -19 + (15 * 1), 19.5, 0.1, 1, 1
+    Elevator(j + 2).AddWall GetTex("Marble3"), -(xx + 0.15), -30 + (15 * 1), -(xx + 0.15), -27 + (15 * 1), 19.5, 0.1, 1, 1
+    Elevator(j + 3).AddWall GetTex("Marble3"), (xx + 0.15), -16 + (15 * 1), (xx + 0.15), -19 + (15 * 1), 19.5, 0.1, 1, 1
+    Elevator(j + 3).AddWall GetTex("Marble3"), (xx + 0.15), -30 + (15 * 1), (xx + 0.15), -27 + (15 * 1), 19.5, 0.1, 1, 1
+    Elevator(j + 4).AddWall GetTex("Marble3"), -(xx + 0.15), -16 + (15 * 2), -(xx + 0.15), -19 + (15 * 2), 19.5, 0.1, 1, 1
+    Elevator(j + 4).AddWall GetTex("Marble3"), -(xx + 0.15), -30 + (15 * 2), -(xx + 0.15), -27 + (15 * 2), 19.5, 0.1, 1, 1
+    Elevator(j + 5).AddWall GetTex("Marble3"), (xx + 0.15), -16 + (15 * 2), (xx + 0.15), -19 + (15 * 2), 19.5, 0.1, 1, 1
+    Elevator(j + 5).AddWall GetTex("Marble3"), (xx + 0.15), -30 + (15 * 2), (xx + 0.15), -27 + (15 * 2), 19.5, 0.1, 1, 1
+    Elevator(j + 6).AddWall GetTex("Marble3"), -(xx + 0.15), -16 + (15 * 3), -(xx + 0.15), -19 + (15 * 3), 19.5, 0.1, 1, 1
+    Elevator(j + 6).AddWall GetTex("Marble3"), -(xx + 0.15), -30 + (15 * 3), -(xx + 0.15), -27 + (15 * 3), 19.5, 0.1, 1, 1
+    Elevator(j + 7).AddWall GetTex("Marble3"), (xx + 0.15), -16 + (15 * 3), (xx + 0.15), -19 + (15 * 3), 19.5, 0.1, 1, 1
+    Elevator(j + 7).AddWall GetTex("Marble3"), (xx + 0.15), -30 + (15 * 3), (xx + 0.15), -27 + (15 * 3), 19.5, 0.1, 1, 1
+    Elevator(j + 8).AddWall GetTex("Marble3"), -(xx + 0.15), -16 + (15 * 4), -(xx + 0.15), -19 + (15 * 4), 19.5, 0.1, 1, 1
+    Elevator(j + 8).AddWall GetTex("Marble3"), -(xx + 0.15), -30 + (15 * 4), -(xx + 0.15), -27 + (15 * 4), 19.5, 0.1, 1, 1
+    Elevator(j + 9).AddWall GetTex("Marble3"), (xx + 0.15), -16 + (15 * 4), (xx + 0.15), -19 + (15 * 4), 19.5, 0.1, 1, 1
+    Elevator(j + 9).AddWall GetTex("Marble3"), (xx + 0.15), -30 + (15 * 4), (xx + 0.15), -27 + (15 * 4), 19.5, 0.1, 1, 1
+    End If
+    If i = 2 Or i = 4 Then
+    Elevator(j + 1).AddWall GetTex("Marble3"), (xx - 0.15), -16, (xx - 0.15), -19, 19.5, 0.1, 1, 1
+    Elevator(j + 1).AddWall GetTex("Marble3"), (xx - 0.15), -30, (xx - 0.15), -27, 19.5, 0.1, 1, 1
+    Elevator(j).AddWall GetTex("Marble3"), -(xx - 0.15), -16, -(xx - 0.15), -19, 19.5, 0.1, 1, 1
+    Elevator(j).AddWall GetTex("Marble3"), -(xx - 0.15), -30, -(xx - 0.15), -27, 19.5, 0.1, 1, 1
+    Elevator(j + 3).AddWall GetTex("Marble3"), (xx - 0.15), -16 + (15 * 1), (xx - 0.15), -19 + (15 * 1), 19.5, 0.1, 1, 1
+    Elevator(j + 3).AddWall GetTex("Marble3"), (xx - 0.15), -30 + (15 * 1), (xx - 0.15), -27 + (15 * 1), 19.5, 0.1, 1, 1
+    Elevator(j + 2).AddWall GetTex("Marble3"), -(xx - 0.15), -16 + (15 * 1), -(xx - 0.15), -19 + (15 * 1), 19.5, 0.1, 1, 1
+    Elevator(j + 2).AddWall GetTex("Marble3"), -(xx - 0.15), -30 + (15 * 1), -(xx - 0.15), -27 + (15 * 1), 19.5, 0.1, 1, 1
+    Elevator(j + 5).AddWall GetTex("Marble3"), (xx - 0.15), -16 + (15 * 2), (xx - 0.15), -19 + (15 * 2), 19.5, 0.1, 1, 1
+    Elevator(j + 5).AddWall GetTex("Marble3"), (xx - 0.15), -30 + (15 * 2), (xx - 0.15), -27 + (15 * 2), 19.5, 0.1, 1, 1
+    Elevator(j + 4).AddWall GetTex("Marble3"), -(xx - 0.15), -16 + (15 * 2), -(xx - 0.15), -19 + (15 * 2), 19.5, 0.1, 1, 1
+    Elevator(j + 4).AddWall GetTex("Marble3"), -(xx - 0.15), -30 + (15 * 2), -(xx - 0.15), -27 + (15 * 2), 19.5, 0.1, 1, 1
+    Elevator(j + 7).AddWall GetTex("Marble3"), (xx - 0.15), -16 + (15 * 3), (xx - 0.15), -19 + (15 * 3), 19.5, 0.1, 1, 1
+    Elevator(j + 7).AddWall GetTex("Marble3"), (xx - 0.15), -30 + (15 * 3), (xx - 0.15), -27 + (15 * 3), 19.5, 0.1, 1, 1
+    Elevator(j + 6).AddWall GetTex("Marble3"), -(xx - 0.15), -16 + (15 * 3), -(xx - 0.15), -19 + (15 * 3), 19.5, 0.1, 1, 1
+    Elevator(j + 6).AddWall GetTex("Marble3"), -(xx - 0.15), -30 + (15 * 3), -(xx - 0.15), -27 + (15 * 3), 19.5, 0.1, 1, 1
+    Elevator(j + 9).AddWall GetTex("Marble3"), (xx - 0.15), -16 + (15 * 4), (xx - 0.15), -19 + (15 * 4), 19.5, 0.1, 1, 1
+    Elevator(j + 9).AddWall GetTex("Marble3"), (xx - 0.15), -30 + (15 * 4), (xx - 0.15), -27 + (15 * 4), 19.5, 0.1, 1, 1
+    Elevator(j + 8).AddWall GetTex("Marble3"), -(xx - 0.15), -16 + (15 * 4), -(xx - 0.15), -19 + (15 * 4), 19.5, 0.1, 1, 1
+    Elevator(j + 8).AddWall GetTex("Marble3"), -(xx - 0.15), -30 + (15 * 4), -(xx - 0.15), -27 + (15 * 4), 19.5, 0.1, 1, 1
+    End If
     'Interior Doors
-    ElevatorInsDoorL(1).AddWall GetTex("ElevDoors"), -12.6, -19.05, -12.6, -22.95, 19.5, 0.1, 1, 1
-    ElevatorInsDoorR(1).AddWall GetTex("ElevDoors"), -12.6, -23.05, -12.6, -27.05, 19.5, 0.1, 1, 1
-    ElevatorInsDoorL(2).AddWall GetTex("ElevDoors"), 12.6, -19.05, 12.6, -22.95, 19.5, 0.1, 1, 1
-    ElevatorInsDoorR(2).AddWall GetTex("ElevDoors"), 12.6, -23.05, 12.6, -27.05, 19.5, 0.1, 1, 1
-    ElevatorInsDoorL(3).AddWall GetTex("ElevDoors"), -12.6, -19.05 + (15 * 1), -12.6, -22.95 + (15 * 1), 19.5, 0.1, 1, 1
-    ElevatorInsDoorR(3).AddWall GetTex("ElevDoors"), -12.6, -23.05 + (15 * 1), -12.6, -27.05 + (15 * 1), 19.5, 0.1, 1, 1
-    ElevatorInsDoorL(4).AddWall GetTex("ElevDoors"), 12.6, -19.05 + (15 * 1), 12.6, -22.95 + (15 * 1), 19.5, 0.1, 1, 1
-    ElevatorInsDoorR(4).AddWall GetTex("ElevDoors"), 12.6, -23.05 + (15 * 1), 12.6, -27.05 + (15 * 1), 19.5, 0.1, 1, 1
-    ElevatorInsDoorL(5).AddWall GetTex("ElevDoors"), -12.6, -19.05 + (15 * 2), -12.6, -22.95 + (15 * 2), 19.5, 0.1, 1, 1
-    ElevatorInsDoorR(5).AddWall GetTex("ElevDoors"), -12.6, -23.05 + (15 * 2), -12.6, -27.05 + (15 * 2), 19.5, 0.1, 1, 1
-    ElevatorInsDoorL(6).AddWall GetTex("ElevDoors"), 12.6, -19.05 + (15 * 2), 12.6, -22.95 + (15 * 2), 19.5, 0.1, 1, 1
-    ElevatorInsDoorR(6).AddWall GetTex("ElevDoors"), 12.6, -23.05 + (15 * 2), 12.6, -27.05 + (15 * 2), 19.5, 0.1, 1, 1
-    ElevatorInsDoorL(7).AddWall GetTex("ElevDoors"), -12.6, -19.05 + (15 * 3), -12.6, -22.95 + (15 * 3), 19.5, 0.1, 1, 1
-    ElevatorInsDoorR(7).AddWall GetTex("ElevDoors"), -12.6, -23.05 + (15 * 3), -12.6, -27.05 + (15 * 3), 19.5, 0.1, 1, 1
-    ElevatorInsDoorL(8).AddWall GetTex("ElevDoors"), 12.6, -19.05 + (15 * 3), 12.6, -22.95 + (15 * 3), 19.5, 0.1, 1, 1
-    ElevatorInsDoorR(8).AddWall GetTex("ElevDoors"), 12.6, -23.05 + (15 * 3), 12.6, -27.05 + (15 * 3), 19.5, 0.1, 1, 1
-    ElevatorInsDoorL(9).AddWall GetTex("ElevDoors"), -12.6, -19.05 + (15 * 4), -12.6, -22.95 + (15 * 4), 19.5, 0.1, 1, 1
-    ElevatorInsDoorR(9).AddWall GetTex("ElevDoors"), -12.6, -23.05 + (15 * 4), -12.6, -27.05 + (15 * 4), 19.5, 0.1, 1, 1
-    ElevatorInsDoorL(10).AddWall GetTex("ElevDoors"), 12.6, -19.05 + (15 * 4), 12.6, -22.95 + (15 * 4), 19.5, 0.1, 1, 1
-    ElevatorInsDoorR(10).AddWall GetTex("ElevDoors"), 12.6, -23.05 + (15 * 4), 12.6, -27.05 + (15 * 4), 19.5, 0.1, 1, 1
-    
-    Call DrawElevatorButtons
+    If i = 1 Or i = 3 Then
+    ElevatorInsDoorL(j).AddWall GetTex("ElevDoors"), -(xx + 0.1), -19.05, -(xx + 0.1), -22.95, 19.5, 0.1, 1, 1
+    ElevatorInsDoorR(j).AddWall GetTex("ElevDoors"), -(xx + 0.1), -23.05, -(xx + 0.1), -27.05, 19.5, 0.1, 1, 1
+    ElevatorInsDoorL(j + 1).AddWall GetTex("ElevDoors"), (xx + 0.1), -19.05, (xx + 0.1), -22.95, 19.5, 0.1, 1, 1
+    ElevatorInsDoorR(j + 1).AddWall GetTex("ElevDoors"), (xx + 0.1), -23.05, (xx + 0.1), -27.05, 19.5, 0.1, 1, 1
+    ElevatorInsDoorL(j + 2).AddWall GetTex("ElevDoors"), -(xx + 0.1), -19.05 + (15 * 1), -(xx + 0.1), -22.95 + (15 * 1), 19.5, 0.1, 1, 1
+    ElevatorInsDoorR(j + 2).AddWall GetTex("ElevDoors"), -(xx + 0.1), -23.05 + (15 * 1), -(xx + 0.1), -27.05 + (15 * 1), 19.5, 0.1, 1, 1
+    ElevatorInsDoorL(j + 3).AddWall GetTex("ElevDoors"), (xx + 0.1), -19.05 + (15 * 1), (xx + 0.1), -22.95 + (15 * 1), 19.5, 0.1, 1, 1
+    ElevatorInsDoorR(j + 3).AddWall GetTex("ElevDoors"), (xx + 0.1), -23.05 + (15 * 1), (xx + 0.1), -27.05 + (15 * 1), 19.5, 0.1, 1, 1
+    ElevatorInsDoorL(j + 4).AddWall GetTex("ElevDoors"), -(xx + 0.1), -19.05 + (15 * 2), -(xx + 0.1), -22.95 + (15 * 2), 19.5, 0.1, 1, 1
+    ElevatorInsDoorR(j + 4).AddWall GetTex("ElevDoors"), -(xx + 0.1), -23.05 + (15 * 2), -(xx + 0.1), -27.05 + (15 * 2), 19.5, 0.1, 1, 1
+    ElevatorInsDoorL(j + 5).AddWall GetTex("ElevDoors"), (xx + 0.1), -19.05 + (15 * 2), (xx + 0.1), -22.95 + (15 * 2), 19.5, 0.1, 1, 1
+    ElevatorInsDoorR(j + 5).AddWall GetTex("ElevDoors"), (xx + 0.1), -23.05 + (15 * 2), (xx + 0.1), -27.05 + (15 * 2), 19.5, 0.1, 1, 1
+    ElevatorInsDoorL(j + 6).AddWall GetTex("ElevDoors"), -(xx + 0.1), -19.05 + (15 * 3), -(xx + 0.1), -22.95 + (15 * 3), 19.5, 0.1, 1, 1
+    ElevatorInsDoorR(j + 6).AddWall GetTex("ElevDoors"), -(xx + 0.1), -23.05 + (15 * 3), -(xx + 0.1), -27.05 + (15 * 3), 19.5, 0.1, 1, 1
+    ElevatorInsDoorL(j + 7).AddWall GetTex("ElevDoors"), (xx + 0.1), -19.05 + (15 * 3), (xx + 0.1), -22.95 + (15 * 3), 19.5, 0.1, 1, 1
+    ElevatorInsDoorR(j + 7).AddWall GetTex("ElevDoors"), (xx + 0.1), -23.05 + (15 * 3), (xx + 0.1), -27.05 + (15 * 3), 19.5, 0.1, 1, 1
+    ElevatorInsDoorL(j + 8).AddWall GetTex("ElevDoors"), -(xx + 0.1), -19.05 + (15 * 4), -(xx + 0.1), -22.95 + (15 * 4), 19.5, 0.1, 1, 1
+    ElevatorInsDoorR(j + 8).AddWall GetTex("ElevDoors"), -(xx + 0.1), -23.05 + (15 * 4), -(xx + 0.1), -27.05 + (15 * 4), 19.5, 0.1, 1, 1
+    ElevatorInsDoorL(j + 9).AddWall GetTex("ElevDoors"), (xx + 0.1), -19.05 + (15 * 4), (xx + 0.1), -22.95 + (15 * 4), 19.5, 0.1, 1, 1
+    ElevatorInsDoorR(j + 9).AddWall GetTex("ElevDoors"), (xx + 0.1), -23.05 + (15 * 4), (xx + 0.1), -27.05 + (15 * 4), 19.5, 0.1, 1, 1
+    End If
+    If i = 2 Or i = 4 Then
+    ElevatorInsDoorL(j + 1).AddWall GetTex("ElevDoors"), (xx - 0.1), -19.05, (xx - 0.1), -22.95, 19.5, 0.1, 1, 1
+    ElevatorInsDoorR(j + 1).AddWall GetTex("ElevDoors"), (xx - 0.1), -23.05, (xx - 0.1), -27.05, 19.5, 0.1, 1, 1
+    ElevatorInsDoorL(j).AddWall GetTex("ElevDoors"), -(xx - 0.1), -19.05, -(xx - 0.1), -22.95, 19.5, 0.1, 1, 1
+    ElevatorInsDoorR(j).AddWall GetTex("ElevDoors"), -(xx - 0.1), -23.05, -(xx - 0.1), -27.05, 19.5, 0.1, 1, 1
+    ElevatorInsDoorL(j + 3).AddWall GetTex("ElevDoors"), (xx - 0.1), -19.05 + (15 * 1), (xx - 0.1), -22.95 + (15 * 1), 19.5, 0.1, 1, 1
+    ElevatorInsDoorR(j + 3).AddWall GetTex("ElevDoors"), (xx - 0.1), -23.05 + (15 * 1), (xx - 0.1), -27.05 + (15 * 1), 19.5, 0.1, 1, 1
+    ElevatorInsDoorL(j + 2).AddWall GetTex("ElevDoors"), -(xx - 0.1), -19.05 + (15 * 1), -(xx - 0.1), -22.95 + (15 * 1), 19.5, 0.1, 1, 1
+    ElevatorInsDoorR(j + 2).AddWall GetTex("ElevDoors"), -(xx - 0.1), -23.05 + (15 * 1), -(xx - 0.1), -27.05 + (15 * 1), 19.5, 0.1, 1, 1
+    ElevatorInsDoorL(j + 5).AddWall GetTex("ElevDoors"), (xx - 0.1), -19.05 + (15 * 2), (xx - 0.1), -22.95 + (15 * 2), 19.5, 0.1, 1, 1
+    ElevatorInsDoorR(j + 5).AddWall GetTex("ElevDoors"), (xx - 0.1), -23.05 + (15 * 2), (xx - 0.1), -27.05 + (15 * 2), 19.5, 0.1, 1, 1
+    ElevatorInsDoorL(j + 4).AddWall GetTex("ElevDoors"), -(xx - 0.1), -19.05 + (15 * 2), -(xx - 0.1), -22.95 + (15 * 2), 19.5, 0.1, 1, 1
+    ElevatorInsDoorR(j + 4).AddWall GetTex("ElevDoors"), -(xx - 0.1), -23.05 + (15 * 2), -(xx - 0.1), -27.05 + (15 * 2), 19.5, 0.1, 1, 1
+    ElevatorInsDoorL(j + 7).AddWall GetTex("ElevDoors"), (xx - 0.1), -19.05 + (15 * 3), (xx - 0.1), -22.95 + (15 * 3), 19.5, 0.1, 1, 1
+    ElevatorInsDoorR(j + 7).AddWall GetTex("ElevDoors"), (xx - 0.1), -23.05 + (15 * 3), (xx - 0.1), -27.05 + (15 * 3), 19.5, 0.1, 1, 1
+    ElevatorInsDoorL(j + 6).AddWall GetTex("ElevDoors"), -(xx - 0.1), -19.05 + (15 * 3), -(xx - 0.1), -22.95 + (15 * 3), 19.5, 0.1, 1, 1
+    ElevatorInsDoorR(j + 6).AddWall GetTex("ElevDoors"), -(xx - 0.1), -23.05 + (15 * 3), -(xx - 0.1), -27.05 + (15 * 3), 19.5, 0.1, 1, 1
+    ElevatorInsDoorL(j + 9).AddWall GetTex("ElevDoors"), (xx - 0.1), -19.05 + (15 * 4), (xx - 0.1), -22.95 + (15 * 4), 19.5, 0.1, 1, 1
+    ElevatorInsDoorR(j + 9).AddWall GetTex("ElevDoors"), (xx - 0.1), -23.05 + (15 * 4), (xx - 0.1), -27.05 + (15 * 4), 19.5, 0.1, 1, 1
+    ElevatorInsDoorL(j + 8).AddWall GetTex("ElevDoors"), -(xx - 0.1), -19.05 + (15 * 4), -(xx - 0.1), -22.95 + (15 * 4), 19.5, 0.1, 1, 1
+    ElevatorInsDoorR(j + 8).AddWall GetTex("ElevDoors"), -(xx - 0.1), -23.05 + (15 * 4), -(xx - 0.1), -27.05 + (15 * 4), 19.5, 0.1, 1, 1
+    End If
+    Next i
+    
+    'Move some elevators to their starting places
+    Elevator(5).SetPosition Elevator(5).GetPosition.X, (80 * FloorHeight) + FloorHeight, Elevator(5).GetPosition.z
+    Elevator(6).SetPosition Elevator(6).GetPosition.X, (80 * FloorHeight) + FloorHeight, Elevator(6).GetPosition.z
+    Elevator(7).SetPosition Elevator(7).GetPosition.X, (80 * FloorHeight) + FloorHeight, Elevator(7).GetPosition.z
+    Elevator(8).SetPosition Elevator(8).GetPosition.X, (80 * FloorHeight) + FloorHeight, Elevator(8).GetPosition.z
+    Elevator(9).SetPosition Elevator(9).GetPosition.X, (80 * FloorHeight) + FloorHeight, Elevator(9).GetPosition.z
+    Elevator(10).SetPosition Elevator(10).GetPosition.X, (80 * FloorHeight) + FloorHeight, Elevator(10).GetPosition.z
+    Elevator(15).SetPosition Elevator(5).GetPosition.X, (80 * FloorHeight) + FloorHeight, Elevator(5).GetPosition.z
+    Elevator(16).SetPosition Elevator(6).GetPosition.X, (80 * FloorHeight) + FloorHeight, Elevator(6).GetPosition.z
+    Elevator(17).SetPosition Elevator(7).GetPosition.X, (80 * FloorHeight) + FloorHeight, Elevator(7).GetPosition.z
+    Elevator(18).SetPosition Elevator(8).GetPosition.X, (80 * FloorHeight) + FloorHeight, Elevator(8).GetPosition.z
+    Elevator(19).SetPosition Elevator(9).GetPosition.X, (80 * FloorHeight) + FloorHeight, Elevator(9).GetPosition.z
+    Elevator(20).SetPosition Elevator(10).GetPosition.X, (80 * FloorHeight) + FloorHeight, Elevator(10).GetPosition.z
+    ElevatorFloor(5) = 80
+    ElevatorFloor(6) = 80
+    ElevatorFloor(7) = 80
+    ElevatorFloor(8) = 80
+    ElevatorFloor(9) = 80
+    ElevatorFloor(10) = 80
+    ElevatorFloor(15) = 80
+    ElevatorFloor(16) = 80
+    ElevatorFloor(17) = 80
+    ElevatorFloor(18) = 80
+    ElevatorFloor(19) = 80
+    ElevatorFloor(20) = 80
+    
+    ElevatorInsDoorL(5).SetPosition ElevatorInsDoorL(5).GetPosition.X, (80 * FloorHeight) + FloorHeight, ElevatorInsDoorL(5).GetPosition.z
+    ElevatorInsDoorL(6).SetPosition ElevatorInsDoorL(6).GetPosition.X, (80 * FloorHeight) + FloorHeight, ElevatorInsDoorL(6).GetPosition.z
+    ElevatorInsDoorL(7).SetPosition ElevatorInsDoorL(7).GetPosition.X, (80 * FloorHeight) + FloorHeight, ElevatorInsDoorL(7).GetPosition.z
+    ElevatorInsDoorL(8).SetPosition ElevatorInsDoorL(8).GetPosition.X, (80 * FloorHeight) + FloorHeight, ElevatorInsDoorL(8).GetPosition.z
+    ElevatorInsDoorL(9).SetPosition ElevatorInsDoorL(9).GetPosition.X, (80 * FloorHeight) + FloorHeight, ElevatorInsDoorL(9).GetPosition.z
+    ElevatorInsDoorL(10).SetPosition ElevatorInsDoorL(10).GetPosition.X, (80 * FloorHeight) + FloorHeight, ElevatorInsDoorL(10).GetPosition.z
+    ElevatorInsDoorL(15).SetPosition ElevatorInsDoorL(5).GetPosition.X, (80 * FloorHeight) + FloorHeight, ElevatorInsDoorL(5).GetPosition.z
+    ElevatorInsDoorL(16).SetPosition ElevatorInsDoorL(6).GetPosition.X, (80 * FloorHeight) + FloorHeight, ElevatorInsDoorL(6).GetPosition.z
+    ElevatorInsDoorL(17).SetPosition ElevatorInsDoorL(7).GetPosition.X, (80 * FloorHeight) + FloorHeight, ElevatorInsDoorL(7).GetPosition.z
+    ElevatorInsDoorL(18).SetPosition ElevatorInsDoorL(8).GetPosition.X, (80 * FloorHeight) + FloorHeight, ElevatorInsDoorL(8).GetPosition.z
+    ElevatorInsDoorL(19).SetPosition ElevatorInsDoorL(9).GetPosition.X, (80 * FloorHeight) + FloorHeight, ElevatorInsDoorL(9).GetPosition.z
+    ElevatorInsDoorL(20).SetPosition ElevatorInsDoorL(10).GetPosition.X, (80 * FloorHeight) + FloorHeight, ElevatorInsDoorL(10).GetPosition.z
+    ElevatorInsDoorR(5).SetPosition ElevatorInsDoorR(5).GetPosition.X, (80 * FloorHeight) + FloorHeight, ElevatorInsDoorR(5).GetPosition.z
+    ElevatorInsDoorR(6).SetPosition ElevatorInsDoorR(6).GetPosition.X, (80 * FloorHeight) + FloorHeight, ElevatorInsDoorR(6).GetPosition.z
+    ElevatorInsDoorR(7).SetPosition ElevatorInsDoorR(7).GetPosition.X, (80 * FloorHeight) + FloorHeight, ElevatorInsDoorR(7).GetPosition.z
+    ElevatorInsDoorR(8).SetPosition ElevatorInsDoorR(8).GetPosition.X, (80 * FloorHeight) + FloorHeight, ElevatorInsDoorR(8).GetPosition.z
+    ElevatorInsDoorR(9).SetPosition ElevatorInsDoorR(9).GetPosition.X, (80 * FloorHeight) + FloorHeight, ElevatorInsDoorR(9).GetPosition.z
+    ElevatorInsDoorR(10).SetPosition ElevatorInsDoorR(10).GetPosition.X, (80 * FloorHeight) + FloorHeight, ElevatorInsDoorR(10).GetPosition.z
+    ElevatorInsDoorR(15).SetPosition ElevatorInsDoorR(5).GetPosition.X, (80 * FloorHeight) + FloorHeight, ElevatorInsDoorR(5).GetPosition.z
+    ElevatorInsDoorR(16).SetPosition ElevatorInsDoorR(6).GetPosition.X, (80 * FloorHeight) + FloorHeight, ElevatorInsDoorR(6).GetPosition.z
+    ElevatorInsDoorR(17).SetPosition ElevatorInsDoorR(7).GetPosition.X, (80 * FloorHeight) + FloorHeight, ElevatorInsDoorR(7).GetPosition.z
+    ElevatorInsDoorR(18).SetPosition ElevatorInsDoorR(8).GetPosition.X, (80 * FloorHeight) + FloorHeight, ElevatorInsDoorR(8).GetPosition.z
+    ElevatorInsDoorR(19).SetPosition ElevatorInsDoorR(9).GetPosition.X, (80 * FloorHeight) + FloorHeight, ElevatorInsDoorR(9).GetPosition.z
+    ElevatorInsDoorR(20).SetPosition ElevatorInsDoorR(10).GetPosition.X, (80 * FloorHeight) + FloorHeight, ElevatorInsDoorR(10).GetPosition.z
     
 End Sub
 
 Sub ProcessStairs()
-Form1.Print "Processing Stairs...";
     
 i = 1
 'Stairs on the first floor, section 1
-    Stairs(i).AddWall GetTex("stairs"), -12.5 - 6, -46.25 + 7.71, -12.5 - 6, -30.85, 2, (i * 25) + 0 - 25
-    Stairs(i).AddWall GetTex("stairs"), -12.5 - 8, -46.25 + 7.71, -12.5 - 8, -30.85, 2, (i * 25) + 2 - 25
-    Stairs(i).AddWall GetTex("stairs"), -12.5 - 10, -46.25 + 7.71, -12.5 - 10, -30.85, 2, (i * 25) + 4 - 25
-    Stairs(i).AddWall GetTex("stairs"), -12.5 - 12, -46.25 + 7.71, -12.5 - 12, -30.85, 2, (i * 25) + 6 - 25
-    Stairs(i).AddWall GetTex("stairs"), -12.5 - 14, -46.25 + 7.71, -12.5 - 14, -30.85, 2, (i * 25) + 8 - 25
-    Stairs(i).AddWall GetTex("stairs"), -12.5 - 16, -46.25 + 7.71, -12.5 - 16, -30.85, 2, (i * 25) + 10 - 25
-    
-    Stairs(i).AddFloor GetTex("stairs"), -12.5 - 6, -46.25 + 7.71, -12.5 - 8, -30.85, (i * 25) + 2 - 25
-    Stairs(i).AddFloor GetTex("stairs"), -12.5 - 8, -46.25 + 7.71, -12.5 - 10, -30.85, (i * 25) + 4 - 25
-    Stairs(i).AddFloor GetTex("stairs"), -12.5 - 10, -46.25 + 7.71, -12.5 - 12, -30.85, (i * 25) + 6 - 25
-    Stairs(i).AddFloor GetTex("stairs"), -12.5 - 12, -46.25 + 7.71, -12.5 - 14, -30.85, (i * 25) + 8 - 25
-    Stairs(i).AddFloor GetTex("stairs"), -12.5 - 14, -46.25 + 7.71, -12.5 - 16, -30.85, (i * 25) + 10 - 25
-    Stairs(i).AddFloor GetTex("stairs"), -12.5 - 16, -46.25, -12.5 - 20, -30.85, (i * 25) + 12 - 25
-    
-    Stairs(i).AddFloor GetTex("stairs"), -12.5, -46.25, -12.5 - 6, -30.85, (i * 25) + 25 - 25
-    Stairs(i).AddFloor GetTex("stairs"), -12.5 - 6, -46.25 + 7.71, -12.5 - 8, -46.25, (i * 25) + 22 - 25
-    Stairs(i).AddFloor GetTex("stairs"), -12.5 - 8, -46.25 + 7.71, -12.5 - 10, -46.25, (i * 25) + 20 - 25
-    Stairs(i).AddFloor GetTex("stairs"), -12.5 - 10, -46.25 + 7.71, -12.5 - 12, -46.25, (i * 25) + 18 - 25
-    Stairs(i).AddFloor GetTex("stairs"), -12.5 - 12, -46.25 + 7.71, -12.5 - 14, -46.25, (i * 25) + 16 - 25
-    Stairs(i).AddFloor GetTex("stairs"), -12.5 - 14, -46.25 + 7.71, -12.5 - 16, -46.25, (i * 25) + 14 - 25
-    
-    Stairs(i).AddWall GetTex("stairs"), -12.5 - 6, -46.25, -12.5 - 6, -46.25 + 7.71, 3, (i * 25) + 22 - 25
-    Stairs(i).AddWall GetTex("stairs"), -12.5 - 8, -46.25, -12.5 - 8, -46.25 + 7.71, 2, (i * 25) + 20 - 25
-    Stairs(i).AddWall GetTex("stairs"), -12.5 - 10, -46.25, -12.5 - 10, -46.25 + 7.71, 2, (i * 25) + 18 - 25
-    Stairs(i).AddWall GetTex("stairs"), -12.5 - 12, -46.25, -12.5 - 12, -46.25 + 7.71, 2, (i * 25) + 16 - 25
-    Stairs(i).AddWall GetTex("stairs"), -12.5 - 14, -46.25, -12.5 - 14, -46.25 + 7.71, 2, (i * 25) + 14 - 25
-    Stairs(i).AddWall GetTex("stairs"), -12.5 - 16, -46.25, -12.5 - 16, -46.25 + 7.71, 2, (i * 25) + 12 - 25
+    Dim RiserHeight As Single
+    RiserHeight = FloorHeight / 16
+    
+    Stairs(i).AddWall GetTex("stairs"), -12.5 - 6, -46.25 + 7.71, -12.5 - 6, -30.85, RiserHeight, (i * FloorHeight) + (RiserHeight * 0) - FloorHeight
+    Stairs(i).AddWall GetTex("stairs"), -12.5 - 7.5, -46.25 + 7.71, -12.5 - 7.5, -30.85, RiserHeight, (i * FloorHeight) + (RiserHeight * 1) - FloorHeight
+    Stairs(i).AddWall GetTex("stairs"), -12.5 - 9, -46.25 + 7.71, -12.5 - 9, -30.85, RiserHeight, (i * FloorHeight) + (RiserHeight * 2) - FloorHeight
+    Stairs(i).AddWall GetTex("stairs"), -12.5 - 10.5, -46.25 + 7.71, -12.5 - 10.5, -30.85, RiserHeight, (i * FloorHeight) + (RiserHeight * 3) - FloorHeight
+    Stairs(i).AddWall GetTex("stairs"), -12.5 - 12, -46.25 + 7.71, -12.5 - 12, -30.85, RiserHeight, (i * FloorHeight) + (RiserHeight * 4) - FloorHeight
+    Stairs(i).AddWall GetTex("stairs"), -12.5 - 13.5, -46.25 + 7.71, -12.5 - 13.5, -30.85, RiserHeight, (i * FloorHeight) + (RiserHeight * 5) - FloorHeight
+    Stairs(i).AddWall GetTex("stairs"), -12.5 - 15, -46.25 + 7.71, -12.5 - 15, -30.85, RiserHeight, (i * FloorHeight) + (RiserHeight * 6) - FloorHeight
+    Stairs(i).AddWall GetTex("stairs"), -12.5 - 16, -46.25 + 7.71, -12.5 - 16, -30.85, RiserHeight, (i * FloorHeight) + (RiserHeight * 7) - FloorHeight
+    
+    Stairs(i).AddFloor GetTex("stairs"), -12.5 - 6, -46.25 + 7.71, -12.5 - 7.5, -30.85, (i * FloorHeight) + (RiserHeight * 1) - FloorHeight
+    Stairs(i).AddFloor GetTex("stairs"), -12.5 - 7.5, -46.25 + 7.71, -12.5 - 9, -30.85, (i * FloorHeight) + (RiserHeight * 2) - FloorHeight
+    Stairs(i).AddFloor GetTex("stairs"), -12.5 - 9, -46.25 + 7.71, -12.5 - 10.5, -30.85, (i * FloorHeight) + (RiserHeight * 3) - FloorHeight
+    Stairs(i).AddFloor GetTex("stairs"), -12.5 - 10.5, -46.25 + 7.71, -12.5 - 12, -30.85, (i * FloorHeight) + (RiserHeight * 4) - FloorHeight
+    Stairs(i).AddFloor GetTex("stairs"), -12.5 - 12, -46.25 + 7.71, -12.5 - 13.5, -30.85, (i * FloorHeight) + (RiserHeight * 5) - FloorHeight
+    Stairs(i).AddFloor GetTex("stairs"), -12.5 - 13.5, -46.25 + 7.71, -12.5 - 15, -30.85, (i * FloorHeight) + (RiserHeight * 6) - FloorHeight
+    Stairs(i).AddFloor GetTex("stairs"), -12.5 - 15, -46.25 + 7.71, -12.5 - 16, -30.85, (i * FloorHeight) + (RiserHeight * 7) - FloorHeight
+    Stairs(i).AddFloor GetTex("stairs"), -12.5 - 16, -46.25, -12.5 - 20, -30.85, (i * FloorHeight) + (RiserHeight * 8) - FloorHeight
+    
+    Stairs(i).AddFloor GetTex("stairs"), -12.5, -46.25, -12.5 - 6, -30.85, (i * FloorHeight) + FloorHeight - FloorHeight
+    Stairs(i).AddFloor GetTex("stairs"), -12.5 - 6, -46.25 + 7.71, -12.5 - 7.5, -46.25, (i * FloorHeight) + (RiserHeight * 15) - FloorHeight
+    Stairs(i).AddFloor GetTex("stairs"), -12.5 - 7.5, -46.25 + 7.71, -12.5 - 9, -46.25, (i * FloorHeight) + (RiserHeight * 14) - FloorHeight
+    Stairs(i).AddFloor GetTex("stairs"), -12.5 - 9, -46.25 + 7.71, -12.5 - 10.5, -46.25, (i * FloorHeight) + (RiserHeight * 13) - FloorHeight
+    Stairs(i).AddFloor GetTex("stairs"), -12.5 - 10.5, -46.25 + 7.71, -12.5 - 12, -46.25, (i * FloorHeight) + (RiserHeight * 12) - FloorHeight
+    Stairs(i).AddFloor GetTex("stairs"), -12.5 - 12, -46.25 + 7.71, -12.5 - 13.5, -46.25, (i * FloorHeight) + (RiserHeight * 11) - FloorHeight
+    Stairs(i).AddFloor GetTex("stairs"), -12.5 - 13.5, -46.25 + 7.71, -12.5 - 15, -46.25, (i * FloorHeight) + (RiserHeight * 10) - FloorHeight
+    Stairs(i).AddFloor GetTex("stairs"), -12.5 - 15, -46.25 + 7.71, -12.5 - 16, -46.25, (i * FloorHeight) + (RiserHeight * 9) - FloorHeight
+    
+    Stairs(i).AddWall GetTex("stairs"), -12.5 - 6, -46.25, -12.5 - 6, -46.25 + 7.71, RiserHeight, (i * FloorHeight) + (RiserHeight * 15) - FloorHeight
+    Stairs(i).AddWall GetTex("stairs"), -12.5 - 7.5, -46.25, -12.5 - 7.5, -46.25 + 7.71, RiserHeight, (i * FloorHeight) + (RiserHeight * 14) - FloorHeight
+    Stairs(i).AddWall GetTex("stairs"), -12.5 - 9, -46.25, -12.5 - 9, -46.25 + 7.71, RiserHeight, (i * FloorHeight) + (RiserHeight * 13) - FloorHeight
+    Stairs(i).AddWall GetTex("stairs"), -12.5 - 10.5, -46.25, -12.5 - 10.5, -46.25 + 7.71, RiserHeight, (i * FloorHeight) + (RiserHeight * 12) - FloorHeight
+    Stairs(i).AddWall GetTex("stairs"), -12.5 - 12, -46.25, -12.5 - 12, -46.25 + 7.71, RiserHeight, (i * FloorHeight) + (RiserHeight * 11) - FloorHeight
+    Stairs(i).AddWall GetTex("stairs"), -12.5 - 13.5, -46.25, -12.5 - 13.5, -46.25 + 7.71, RiserHeight, (i * FloorHeight) + (RiserHeight * 10) - FloorHeight
+    Stairs(i).AddWall GetTex("stairs"), -12.5 - 15, -46.25, -12.5 - 15, -46.25 + 7.71, RiserHeight, (i * FloorHeight) + (RiserHeight * 9) - FloorHeight
+    Stairs(i).AddWall GetTex("stairs"), -12.5 - 16, -46.25, -12.5 - 16, -46.25 + 7.71, RiserHeight, (i * FloorHeight) + (RiserHeight * 8) - FloorHeight
 
 'Stairs on the first floor, section 2
-    Stairs(i).AddWall GetTex("stairs"), -12.5 - 6, -46.25 + 7.71, -12.5 - 6, -30.85, 2, (i * 25) + 0
-    Stairs(i).AddWall GetTex("stairs"), -12.5 - 8, -46.25 + 7.71, -12.5 - 8, -30.85, 2, (i * 25) + 2
-    Stairs(i).AddWall GetTex("stairs"), -12.5 - 10, -46.25 + 7.71, -12.5 - 10, -30.85, 2, (i * 25) + 4
-    Stairs(i).AddWall GetTex("stairs"), -12.5 - 12, -46.25 + 7.71, -12.5 - 12, -30.85, 2, (i * 25) + 6
-    Stairs(i).AddWall GetTex("stairs"), -12.5 - 14, -46.25 + 7.71, -12.5 - 14, -30.85, 2, (i * 25) + 8
-    Stairs(i).AddWall GetTex("stairs"), -12.5 - 16, -46.25 + 7.71, -12.5 - 16, -30.85, 2, (i * 25) + 10
-    
-    Stairs(i).AddFloor GetTex("stairs"), -12.5 - 6, -46.25 + 7.71, -12.5 - 8, -30.85, (i * 25) + 2
-    Stairs(i).AddFloor GetTex("stairs"), -12.5 - 8, -46.25 + 7.71, -12.5 - 10, -30.85, (i * 25) + 4
-    Stairs(i).AddFloor GetTex("stairs"), -12.5 - 10, -46.25 + 7.71, -12.5 - 12, -30.85, (i * 25) + 6
-    Stairs(i).AddFloor GetTex("stairs"), -12.5 - 12, -46.25 + 7.71, -12.5 - 14, -30.85, (i * 25) + 8
-    Stairs(i).AddFloor GetTex("stairs"), -12.5 - 14, -46.25 + 7.71, -12.5 - 16, -30.85, (i * 25) + 10
-    Stairs(i).AddFloor GetTex("stairs"), -12.5 - 16, -46.25, -12.5 - 20, -30.85, (i * 25) + 12
-    
-    Stairs(i).AddFloor GetTex("stairs"), -12.5, -46.25, -12.5 - 6, -30.85, (i * 25) + 25
-    Stairs(i).AddFloor GetTex("stairs"), -12.5 - 6, -46.25 + 7.71, -12.5 - 8, -46.25, (i * 25) + 22
-    Stairs(i).AddFloor GetTex("stairs"), -12.5 - 8, -46.25 + 7.71, -12.5 - 10, -46.25, (i * 25) + 20
-    Stairs(i).AddFloor GetTex("stairs"), -12.5 - 10, -46.25 + 7.71, -12.5 - 12, -46.25, (i * 25) + 18
-    Stairs(i).AddFloor GetTex("stairs"), -12.5 - 12, -46.25 + 7.71, -12.5 - 14, -46.25, (i * 25) + 16
-    Stairs(i).AddFloor GetTex("stairs"), -12.5 - 14, -46.25 + 7.71, -12.5 - 16, -46.25, (i * 25) + 14
-    
-    Stairs(i).AddWall GetTex("stairs"), -12.5 - 6, -46.25, -12.5 - 6, -46.25 + 7.71, 3, (i * 25) + 22
-    Stairs(i).AddWall GetTex("stairs"), -12.5 - 8, -46.25, -12.5 - 8, -46.25 + 7.71, 2, (i * 25) + 20
-    Stairs(i).AddWall GetTex("stairs"), -12.5 - 10, -46.25, -12.5 - 10, -46.25 + 7.71, 2, (i * 25) + 18
-    Stairs(i).AddWall GetTex("stairs"), -12.5 - 12, -46.25, -12.5 - 12, -46.25 + 7.71, 2, (i * 25) + 16
-    Stairs(i).AddWall GetTex("stairs"), -12.5 - 14, -46.25, -12.5 - 14, -46.25 + 7.71, 2, (i * 25) + 14
-    Stairs(i).AddWall GetTex("stairs"), -12.5 - 16, -46.25, -12.5 - 16, -46.25 + 7.71, 2, (i * 25) + 12
+    Stairs(i).AddWall GetTex("stairs"), -12.5 - 6, -46.25 + 7.71, -12.5 - 6, -30.85, RiserHeight, (i * FloorHeight) + (RiserHeight * 0)
+    Stairs(i).AddWall GetTex("stairs"), -12.5 - 7.5, -46.25 + 7.71, -12.5 - 7.5, -30.85, RiserHeight, (i * FloorHeight) + (RiserHeight * 1)
+    Stairs(i).AddWall GetTex("stairs"), -12.5 - 9, -46.25 + 7.71, -12.5 - 9, -30.85, RiserHeight, (i * FloorHeight) + (RiserHeight * 2)
+    Stairs(i).AddWall GetTex("stairs"), -12.5 - 10.5, -46.25 + 7.71, -12.5 - 10.5, -30.85, RiserHeight, (i * FloorHeight) + (RiserHeight * 3)
+    Stairs(i).AddWall GetTex("stairs"), -12.5 - 12, -46.25 + 7.71, -12.5 - 12, -30.85, RiserHeight, (i * FloorHeight) + (RiserHeight * 4)
+    Stairs(i).AddWall GetTex("stairs"), -12.5 - 13.5, -46.25 + 7.71, -12.5 - 13.5, -30.85, RiserHeight, (i * FloorHeight) + (RiserHeight * 5)
+    Stairs(i).AddWall GetTex("stairs"), -12.5 - 15, -46.25 + 7.71, -12.5 - 15, -30.85, RiserHeight, (i * FloorHeight) + (RiserHeight * 6)
+    Stairs(i).AddWall GetTex("stairs"), -12.5 - 16, -46.25 + 7.71, -12.5 - 16, -30.85, RiserHeight, (i * FloorHeight) + (RiserHeight * 7)
+    
+    Stairs(i).AddFloor GetTex("stairs"), -12.5 - 6, -46.25 + 7.71, -12.5 - 7.5, -30.85, (i * FloorHeight) + (RiserHeight * 1)
+    Stairs(i).AddFloor GetTex("stairs"), -12.5 - 7.5, -46.25 + 7.71, -12.5 - 9, -30.85, (i * FloorHeight) + (RiserHeight * 2)
+    Stairs(i).AddFloor GetTex("stairs"), -12.5 - 9, -46.25 + 7.71, -12.5 - 10.5, -30.85, (i * FloorHeight) + (RiserHeight * 3)
+    Stairs(i).AddFloor GetTex("stairs"), -12.5 - 10.5, -46.25 + 7.71, -12.5 - 12, -30.85, (i * FloorHeight) + (RiserHeight * 4)
+    Stairs(i).AddFloor GetTex("stairs"), -12.5 - 12, -46.25 + 7.71, -12.5 - 13.5, -30.85, (i * FloorHeight) + (RiserHeight * 5)
+    Stairs(i).AddFloor GetTex("stairs"), -12.5 - 13.5, -46.25 + 7.71, -12.5 - 15, -30.85, (i * FloorHeight) + (RiserHeight * 6)
+    Stairs(i).AddFloor GetTex("stairs"), -12.5 - 15, -46.25 + 7.71, -12.5 - 16, -30.85, (i * FloorHeight) + (RiserHeight * 7)
+    Stairs(i).AddFloor GetTex("stairs"), -12.5 - 16, -46.25, -12.5 - 20, -30.85, (i * FloorHeight) + (RiserHeight * 8)
+    
+    Stairs(i).AddFloor GetTex("stairs"), -12.5, -46.25, -12.5 - 6, -30.85, (i * FloorHeight) + FloorHeight
+    Stairs(i).AddFloor GetTex("stairs"), -12.5 - 6, -46.25 + 7.71, -12.5 - 7.5, -46.25, (i * FloorHeight) + (RiserHeight * 15)
+    Stairs(i).AddFloor GetTex("stairs"), -12.5 - 7.5, -46.25 + 7.71, -12.5 - 9, -46.25, (i * FloorHeight) + (RiserHeight * 14)
+    Stairs(i).AddFloor GetTex("stairs"), -12.5 - 9, -46.25 + 7.71, -12.5 - 10.5, -46.25, (i * FloorHeight) + (RiserHeight * 13)
+    Stairs(i).AddFloor GetTex("stairs"), -12.5 - 10.5, -46.25 + 7.71, -12.5 - 12, -46.25, (i * FloorHeight) + (RiserHeight * 12)
+    Stairs(i).AddFloor GetTex("stairs"), -12.5 - 12, -46.25 + 7.71, -12.5 - 13.5, -46.25, (i * FloorHeight) + (RiserHeight * 11)
+    Stairs(i).AddFloor GetTex("stairs"), -12.5 - 13.5, -46.25 + 7.71, -12.5 - 15, -46.25, (i * FloorHeight) + (RiserHeight * 10)
+    Stairs(i).AddFloor GetTex("stairs"), -12.5 - 15, -46.25 + 7.71, -12.5 - 16, -46.25, (i * FloorHeight) + (RiserHeight * 9)
+    
+    Stairs(i).AddWall GetTex("stairs"), -12.5 - 6, -46.25, -12.5 - 6, -46.25 + 7.71, RiserHeight, (i * FloorHeight) + (RiserHeight * 15)
+    Stairs(i).AddWall GetTex("stairs"), -12.5 - 7.5, -46.25, -12.5 - 7.5, -46.25 + 7.71, RiserHeight, (i * FloorHeight) + (RiserHeight * 14)
+    Stairs(i).AddWall GetTex("stairs"), -12.5 - 9, -46.25, -12.5 - 9, -46.25 + 7.71, RiserHeight, (i * FloorHeight) + (RiserHeight * 13)
+    Stairs(i).AddWall GetTex("stairs"), -12.5 - 10.5, -46.25, -12.5 - 10.5, -46.25 + 7.71, RiserHeight, (i * FloorHeight) + (RiserHeight * 12)
+    Stairs(i).AddWall GetTex("stairs"), -12.5 - 12, -46.25, -12.5 - 12, -46.25 + 7.71, RiserHeight, (i * FloorHeight) + (RiserHeight * 11)
+    Stairs(i).AddWall GetTex("stairs"), -12.5 - 13.5, -46.25, -12.5 - 13.5, -46.25 + 7.71, RiserHeight, (i * FloorHeight) + (RiserHeight * 10)
+    Stairs(i).AddWall GetTex("stairs"), -12.5 - 15, -46.25, -12.5 - 15, -46.25 + 7.71, RiserHeight, (i * FloorHeight) + (RiserHeight * 9)
+    Stairs(i).AddWall GetTex("stairs"), -12.5 - 16, -46.25, -12.5 - 16, -46.25 + 7.71, RiserHeight, (i * FloorHeight) + (RiserHeight * 8)
 
 'Stairs on the first floor, section 3
-    Stairs(i).AddWall GetTex("stairs"), -12.5 - 6, -46.25 + 7.71, -12.5 - 6, -30.85, 2, (i * 25) + 0 + 25
-    Stairs(i).AddWall GetTex("stairs"), -12.5 - 8, -46.25 + 7.71, -12.5 - 8, -30.85, 2, (i * 25) + 2 + 25
-    Stairs(i).AddWall GetTex("stairs"), -12.5 - 10, -46.25 + 7.71, -12.5 - 10, -30.85, 2, (i * 25) + 4 + 25
-    Stairs(i).AddWall GetTex("stairs"), -12.5 - 12, -46.25 + 7.71, -12.5 - 12, -30.85, 2, (i * 25) + 6 + 25
-    Stairs(i).AddWall GetTex("stairs"), -12.5 - 14, -46.25 + 7.71, -12.5 - 14, -30.85, 2, (i * 25) + 8 + 25
-    Stairs(i).AddWall GetTex("stairs"), -12.5 - 16, -46.25 + 7.71, -12.5 - 16, -30.85, 2, (i * 25) + 10 + 25
-    
-    Stairs(i).AddFloor GetTex("stairs"), -12.5 - 6, -46.25 + 7.71, -12.5 - 8, -30.85, (i * 25) + 2 + 25
-    Stairs(i).AddFloor GetTex("stairs"), -12.5 - 8, -46.25 + 7.71, -12.5 - 10, -30.85, (i * 25) + 4 + 25
-    Stairs(i).AddFloor GetTex("stairs"), -12.5 - 10, -46.25 + 7.71, -12.5 - 12, -30.85, (i * 25) + 6 + 25
-    Stairs(i).AddFloor GetTex("stairs"), -12.5 - 12, -46.25 + 7.71, -12.5 - 14, -30.85, (i * 25) + 8 + 25
-    Stairs(i).AddFloor GetTex("stairs"), -12.5 - 14, -46.25 + 7.71, -12.5 - 16, -30.85, (i * 25) + 10 + 25
-    Stairs(i).AddFloor GetTex("stairs"), -12.5 - 16, -46.25, -12.5 - 20, -30.85, (i * 25) + 12 + 25
-    
-    Stairs(i).AddFloor GetTex("stairs"), -12.5, -46.25, -12.5 - 6, -30.85, (i * 25) + 25 + 25
-    Stairs(i).AddFloor GetTex("stairs"), -12.5 - 6, -46.25 + 7.71, -12.5 - 8, -46.25, (i * 25) + 22 + 25
-    Stairs(i).AddFloor GetTex("stairs"), -12.5 - 8, -46.25 + 7.71, -12.5 - 10, -46.25, (i * 25) + 20 + 25
-    Stairs(i).AddFloor GetTex("stairs"), -12.5 - 10, -46.25 + 7.71, -12.5 - 12, -46.25, (i * 25) + 18 + 25
-    Stairs(i).AddFloor GetTex("stairs"), -12.5 - 12, -46.25 + 7.71, -12.5 - 14, -46.25, (i * 25) + 16 + 25
-    Stairs(i).AddFloor GetTex("stairs"), -12.5 - 14, -46.25 + 7.71, -12.5 - 16, -46.25, (i * 25) + 14 + 25
-    
-    Stairs(i).AddWall GetTex("stairs"), -12.5 - 6, -46.25, -12.5 - 6, -46.25 + 7.71, 3, (i * 25) + 22 + 25
-    Stairs(i).AddWall GetTex("stairs"), -12.5 - 8, -46.25, -12.5 - 8, -46.25 + 7.71, 2, (i * 25) + 20 + 25
-    Stairs(i).AddWall GetTex("stairs"), -12.5 - 10, -46.25, -12.5 - 10, -46.25 + 7.71, 2, (i * 25) + 18 + 25
-    Stairs(i).AddWall GetTex("stairs"), -12.5 - 12, -46.25, -12.5 - 12, -46.25 + 7.71, 2, (i * 25) + 16 + 25
-    Stairs(i).AddWall GetTex("stairs"), -12.5 - 14, -46.25, -12.5 - 14, -46.25 + 7.71, 2, (i * 25) + 14 + 25
-    Stairs(i).AddWall GetTex("stairs"), -12.5 - 16, -46.25, -12.5 - 16, -46.25 + 7.71, 2, (i * 25) + 12 + 25
-
+    Stairs(i).AddWall GetTex("stairs"), -12.5 - 6, -46.25 + 7.71, -12.5 - 6, -30.85, RiserHeight, (i * FloorHeight) + (RiserHeight * 0) + FloorHeight
+    Stairs(i).AddWall GetTex("stairs"), -12.5 - 7.5, -46.25 + 7.71, -12.5 - 7.5, -30.85, RiserHeight, (i * FloorHeight) + (RiserHeight * 1) + FloorHeight
+    Stairs(i).AddWall GetTex("stairs"), -12.5 - 9, -46.25 + 7.71, -12.5 - 9, -30.85, RiserHeight, (i * FloorHeight) + (RiserHeight * 2) + FloorHeight
+    Stairs(i).AddWall GetTex("stairs"), -12.5 - 10.5, -46.25 + 7.71, -12.5 - 10.5, -30.85, RiserHeight, (i * FloorHeight) + (RiserHeight * 3) + FloorHeight
+    Stairs(i).AddWall GetTex("stairs"), -12.5 - 12, -46.25 + 7.71, -12.5 - 12, -30.85, RiserHeight, (i * FloorHeight) + (RiserHeight * 4) + FloorHeight
+    Stairs(i).AddWall GetTex("stairs"), -12.5 - 13.5, -46.25 + 7.71, -12.5 - 13.5, -30.85, RiserHeight, (i * FloorHeight) + (RiserHeight * 5) + FloorHeight
+    Stairs(i).AddWall GetTex("stairs"), -12.5 - 15, -46.25 + 7.71, -12.5 - 15, -30.85, RiserHeight, (i * FloorHeight) + (RiserHeight * 6) + FloorHeight
+    Stairs(i).AddWall GetTex("stairs"), -12.5 - 16, -46.25 + 7.71, -12.5 - 16, -30.85, RiserHeight, (i * FloorHeight) + (RiserHeight * 7) + FloorHeight
+    
+    Stairs(i).AddFloor GetTex("stairs"), -12.5 - 6, -46.25 + 7.71, -12.5 - 7.5, -30.85, (i * FloorHeight) + (RiserHeight * 1) + FloorHeight
+    Stairs(i).AddFloor GetTex("stairs"), -12.5 - 7.5, -46.25 + 7.71, -12.5 - 9, -30.85, (i * FloorHeight) + (RiserHeight * 2) + FloorHeight
+    Stairs(i).AddFloor GetTex("stairs"), -12.5 - 9, -46.25 + 7.71, -12.5 - 10.5, -30.85, (i * FloorHeight) + (RiserHeight * 3) + FloorHeight
+    Stairs(i).AddFloor GetTex("stairs"), -12.5 - 10.5, -46.25 + 7.71, -12.5 - 12, -30.85, (i * FloorHeight) + (RiserHeight * 4) + FloorHeight
+    Stairs(i).AddFloor GetTex("stairs"), -12.5 - 12, -46.25 + 7.71, -12.5 - 13.5, -30.85, (i * FloorHeight) + (RiserHeight * 5) + FloorHeight
+    Stairs(i).AddFloor GetTex("stairs"), -12.5 - 13.5, -46.25 + 7.71, -12.5 - 15, -30.85, (i * FloorHeight) + (RiserHeight * 6) + FloorHeight
+    Stairs(i).AddFloor GetTex("stairs"), -12.5 - 15, -46.25 + 7.71, -12.5 - 16, -30.85, (i * FloorHeight) + (RiserHeight * 7) + FloorHeight
+    Stairs(i).AddFloor GetTex("stairs"), -12.5 - 16, -46.25, -12.5 - 20, -30.85, (i * FloorHeight) + (RiserHeight * 8) + FloorHeight
+    
+    Stairs(i).AddFloor GetTex("stairs"), -12.5, -46.25, -12.5 - 6, -30.85, (i * FloorHeight) + FloorHeight + FloorHeight
+    Stairs(i).AddFloor GetTex("stairs"), -12.5 - 6, -46.25 + 7.71, -12.5 - 7.5, -46.25, (i * FloorHeight) + (RiserHeight * 15) + FloorHeight
+    Stairs(i).AddFloor GetTex("stairs"), -12.5 - 7.5, -46.25 + 7.71, -12.5 - 9, -46.25, (i * FloorHeight) + (RiserHeight * 14) + FloorHeight
+    Stairs(i).AddFloor GetTex("stairs"), -12.5 - 9, -46.25 + 7.71, -12.5 - 10.5, -46.25, (i * FloorHeight) + (RiserHeight * 13) + FloorHeight
+    Stairs(i).AddFloor GetTex("stairs"), -12.5 - 10.5, -46.25 + 7.71, -12.5 - 12, -46.25, (i * FloorHeight) + (RiserHeight * 12) + FloorHeight
+    Stairs(i).AddFloor GetTex("stairs"), -12.5 - 12, -46.25 + 7.71, -12.5 - 13.5, -46.25, (i * FloorHeight) + (RiserHeight * 11) + FloorHeight
+    Stairs(i).AddFloor GetTex("stairs"), -12.5 - 13.5, -46.25 + 7.71, -12.5 - 15, -46.25, (i * FloorHeight) + (RiserHeight * 10) + FloorHeight
+    Stairs(i).AddFloor GetTex("stairs"), -12.5 - 15, -46.25 + 7.71, -12.5 - 16, -46.25, (i * FloorHeight) + (RiserHeight * 9) + FloorHeight
+    
+    Stairs(i).AddWall GetTex("stairs"), -12.5 - 6, -46.25, -12.5 - 6, -46.25 + 7.71, RiserHeight, (i * FloorHeight) + (RiserHeight * 15) + FloorHeight
+    Stairs(i).AddWall GetTex("stairs"), -12.5 - 7.5, -46.25, -12.5 - 7.5, -46.25 + 7.71, RiserHeight, (i * FloorHeight) + (RiserHeight * 14) + FloorHeight
+    Stairs(i).AddWall GetTex("stairs"), -12.5 - 9, -46.25, -12.5 - 9, -46.25 + 7.71, RiserHeight, (i * FloorHeight) + (RiserHeight * 13) + FloorHeight
+    Stairs(i).AddWall GetTex("stairs"), -12.5 - 10.5, -46.25, -12.5 - 10.5, -46.25 + 7.71, RiserHeight, (i * FloorHeight) + (RiserHeight * 12) + FloorHeight
+    Stairs(i).AddWall GetTex("stairs"), -12.5 - 12, -46.25, -12.5 - 12, -46.25 + 7.71, RiserHeight, (i * FloorHeight) + (RiserHeight * 11) + FloorHeight
+    Stairs(i).AddWall GetTex("stairs"), -12.5 - 13.5, -46.25, -12.5 - 13.5, -46.25 + 7.71, RiserHeight, (i * FloorHeight) + (RiserHeight * 10) + FloorHeight
+    Stairs(i).AddWall GetTex("stairs"), -12.5 - 15, -46.25, -12.5 - 15, -46.25 + 7.71, RiserHeight, (i * FloorHeight) + (RiserHeight * 9) + FloorHeight
+    Stairs(i).AddWall GetTex("stairs"), -12.5 - 16, -46.25, -12.5 - 16, -46.25 + 7.71, RiserHeight, (i * FloorHeight) + (RiserHeight * 8) + FloorHeight
+
+    'Floor signs
+    Stairs(i).AddWall GetTex("FloorSign"), -12.5 - 0.52, -42.5, -12.5 - 0.52, -44.5, 0.5, 11 - 0.4, 1, 1
+    Stairs(i).AddWall GetTex("ButtonL"), -12.5 - 0.51, -42.5, -12.5 - 0.51, -44.5, 1.5, 9.5, 1, 1
+    Stairs(i).AddWall GetTex("FloorSignLobby"), -12.5 - 0.52, -42.5, -12.5 - 0.52, -44.5, 0.5, 9 + 0.3, 1, 1
+    
+    Stairs(i).AddWall GetTex("FloorSign"), -12.5 - 0.52, -42.5, -12.5 - 0.52, -44.5, 0.5, 11 + FloorHeight - 0.4, 1, 1
+    Stairs(i).AddWall GetTex("ButtonM"), -12.5 - 0.51, -42.5, -12.5 - 0.51, -44.5, 1.5, 9.5 + FloorHeight, 1, 1
+    Stairs(i).AddWall GetTex("FloorSignMez"), -12.5 - 0.52, -42.5, -12.5 - 0.52, -44.5, 0.5, 9 + FloorHeight + 0.3, 1, 1
+    
 
     For i = 2 To 137
-    Form1.Print ".";
     'Stairs
-    Stairs(i).AddWall GetTex("stairs"), -12.5 - 6, -46.25 + 7.71, -12.5 - 6, -30.85, 2, (i * 25) + 0 + 25
-    Stairs(i).AddWall GetTex("stairs"), -12.5 - 8, -46.25 + 7.71, -12.5 - 8, -30.85, 2, (i * 25) + 2 + 25
-    Stairs(i).AddWall GetTex("stairs"), -12.5 - 10, -46.25 + 7.71, -12.5 - 10, -30.85, 2, (i * 25) + 4 + 25
-    Stairs(i).AddWall GetTex("stairs"), -12.5 - 12, -46.25 + 7.71, -12.5 - 12, -30.85, 2, (i * 25) + 6 + 25
-    Stairs(i).AddWall GetTex("stairs"), -12.5 - 14, -46.25 + 7.71, -12.5 - 14, -30.85, 2, (i * 25) + 8 + 25
-    Stairs(i).AddWall GetTex("stairs"), -12.5 - 16, -46.25 + 7.71, -12.5 - 16, -30.85, 2, (i * 25) + 10 + 25
-    
-    Stairs(i).AddFloor GetTex("stairs"), -12.5 - 6, -46.25 + 7.71, -12.5 - 8, -30.85, (i * 25) + 2 + 25
-    Stairs(i).AddFloor GetTex("stairs"), -12.5 - 8, -46.25 + 7.71, -12.5 - 10, -30.85, (i * 25) + 4 + 25
-    Stairs(i).AddFloor GetTex("stairs"), -12.5 - 10, -46.25 + 7.71, -12.5 - 12, -30.85, (i * 25) + 6 + 25
-    Stairs(i).AddFloor GetTex("stairs"), -12.5 - 12, -46.25 + 7.71, -12.5 - 14, -30.85, (i * 25) + 8 + 25
-    Stairs(i).AddFloor GetTex("stairs"), -12.5 - 14, -46.25 + 7.71, -12.5 - 16, -30.85, (i * 25) + 10 + 25
-    Stairs(i).AddFloor GetTex("stairs"), -12.5 - 16, -46.25, -12.5 - 20, -30.85, (i * 25) + 12 + 25
-    
-    Stairs(i).AddFloor GetTex("stairs"), -12.5, -46.25, -12.5 - 6, -30.85, (i * 25) + 25 + 25
-    Stairs(i).AddFloor GetTex("stairs"), -12.5 - 6, -46.25 + 7.71, -12.5 - 8, -46.25, (i * 25) + 22 + 25
-    Stairs(i).AddFloor GetTex("stairs"), -12.5 - 8, -46.25 + 7.71, -12.5 - 10, -46.25, (i * 25) + 20 + 25
-    Stairs(i).AddFloor GetTex("stairs"), -12.5 - 10, -46.25 + 7.71, -12.5 - 12, -46.25, (i * 25) + 18 + 25
-    Stairs(i).AddFloor GetTex("stairs"), -12.5 - 12, -46.25 + 7.71, -12.5 - 14, -46.25, (i * 25) + 16 + 25
-    Stairs(i).AddFloor GetTex("stairs"), -12.5 - 14, -46.25 + 7.71, -12.5 - 16, -46.25, (i * 25) + 14 + 25
-    
-    Stairs(i).AddWall GetTex("stairs"), -12.5 - 6, -46.25, -12.5 - 6, -46.25 + 7.71, 3, (i * 25) + 22 + 25
-    Stairs(i).AddWall GetTex("stairs"), -12.5 - 8, -46.25, -12.5 - 8, -46.25 + 7.71, 2, (i * 25) + 20 + 25
-    Stairs(i).AddWall GetTex("stairs"), -12.5 - 10, -46.25, -12.5 - 10, -46.25 + 7.71, 2, (i * 25) + 18 + 25
-    Stairs(i).AddWall GetTex("stairs"), -12.5 - 12, -46.25, -12.5 - 12, -46.25 + 7.71, 2, (i * 25) + 16 + 25
-    Stairs(i).AddWall GetTex("stairs"), -12.5 - 14, -46.25, -12.5 - 14, -46.25 + 7.71, 2, (i * 25) + 14 + 25
-    Stairs(i).AddWall GetTex("stairs"), -12.5 - 16, -46.25, -12.5 - 16, -46.25 + 7.71, 2, (i * 25) + 12 + 25
+    DoEvents
+    Form1.Label2.Caption = "Processing Stairs... " + Str$(Int((i / 137) * 100)) + "%"
+    Stairs(i).AddWall GetTex("stairs"), -12.5 - 6, -46.25 + 7.71, -12.5 - 6, -30.85, RiserHeight, (i * FloorHeight) + (RiserHeight * 0) + FloorHeight
+    Stairs(i).AddWall GetTex("stairs"), -12.5 - 7.5, -46.25 + 7.71, -12.5 - 7.5, -30.85, RiserHeight, (i * FloorHeight) + (RiserHeight * 1) + FloorHeight
+    Stairs(i).AddWall GetTex("stairs"), -12.5 - 9, -46.25 + 7.71, -12.5 - 9, -30.85, RiserHeight, (i * FloorHeight) + (RiserHeight * 2) + FloorHeight
+    Stairs(i).AddWall GetTex("stairs"), -12.5 - 10.5, -46.25 + 7.71, -12.5 - 10.5, -30.85, RiserHeight, (i * FloorHeight) + (RiserHeight * 3) + FloorHeight
+    Stairs(i).AddWall GetTex("stairs"), -12.5 - 12, -46.25 + 7.71, -12.5 - 12, -30.85, RiserHeight, (i * FloorHeight) + (RiserHeight * 4) + FloorHeight
+    Stairs(i).AddWall GetTex("stairs"), -12.5 - 13.5, -46.25 + 7.71, -12.5 - 13.5, -30.85, RiserHeight, (i * FloorHeight) + (RiserHeight * 5) + FloorHeight
+    Stairs(i).AddWall GetTex("stairs"), -12.5 - 15, -46.25 + 7.71, -12.5 - 15, -30.85, RiserHeight, (i * FloorHeight) + (RiserHeight * 6) + FloorHeight
+    Stairs(i).AddWall GetTex("stairs"), -12.5 - 16, -46.25 + 7.71, -12.5 - 16, -30.85, RiserHeight, (i * FloorHeight) + (RiserHeight * 7) + FloorHeight
+    
+    Stairs(i).AddFloor GetTex("stairs"), -12.5 - 6, -46.25 + 7.71, -12.5 - 7.5, -30.85, (i * FloorHeight) + (RiserHeight * 1) + FloorHeight
+    Stairs(i).AddFloor GetTex("stairs"), -12.5 - 7.5, -46.25 + 7.71, -12.5 - 9, -30.85, (i * FloorHeight) + (RiserHeight * 2) + FloorHeight
+    Stairs(i).AddFloor GetTex("stairs"), -12.5 - 9, -46.25 + 7.71, -12.5 - 10.5, -30.85, (i * FloorHeight) + (RiserHeight * 3) + FloorHeight
+    Stairs(i).AddFloor GetTex("stairs"), -12.5 - 10.5, -46.25 + 7.71, -12.5 - 12, -30.85, (i * FloorHeight) + (RiserHeight * 4) + FloorHeight
+    Stairs(i).AddFloor GetTex("stairs"), -12.5 - 12, -46.25 + 7.71, -12.5 - 13.5, -30.85, (i * FloorHeight) + (RiserHeight * 5) + FloorHeight
+    Stairs(i).AddFloor GetTex("stairs"), -12.5 - 13.5, -46.25 + 7.71, -12.5 - 15, -30.85, (i * FloorHeight) + (RiserHeight * 6) + FloorHeight
+    Stairs(i).AddFloor GetTex("stairs"), -12.5 - 15, -46.25 + 7.71, -12.5 - 16, -30.85, (i * FloorHeight) + (RiserHeight * 7) + FloorHeight
+    Stairs(i).AddFloor GetTex("stairs"), -12.5 - 16, -46.25, -12.5 - 20, -30.85, (i * FloorHeight) + (RiserHeight * 8) + FloorHeight
+    
+    Stairs(i).AddFloor GetTex("stairs"), -12.5, -46.25, -12.5 - 6, -30.85, (i * FloorHeight) + FloorHeight + FloorHeight
+    Stairs(i).AddFloor GetTex("stairs"), -12.5 - 6, -46.25 + 7.71, -12.5 - 7.5, -46.25, (i * FloorHeight) + (RiserHeight * 15) + FloorHeight
+    Stairs(i).AddFloor GetTex("stairs"), -12.5 - 7.5, -46.25 + 7.71, -12.5 - 9, -46.25, (i * FloorHeight) + (RiserHeight * 14) + FloorHeight
+    Stairs(i).AddFloor GetTex("stairs"), -12.5 - 9, -46.25 + 7.71, -12.5 - 10.5, -46.25, (i * FloorHeight) + (RiserHeight * 13) + FloorHeight
+    Stairs(i).AddFloor GetTex("stairs"), -12.5 - 10.5, -46.25 + 7.71, -12.5 - 12, -46.25, (i * FloorHeight) + (RiserHeight * 12) + FloorHeight
+    Stairs(i).AddFloor GetTex("stairs"), -12.5 - 12, -46.25 + 7.71, -12.5 - 13.5, -46.25, (i * FloorHeight) + (RiserHeight * 11) + FloorHeight
+    Stairs(i).AddFloor GetTex("stairs"), -12.5 - 13.5, -46.25 + 7.71, -12.5 - 15, -46.25, (i * FloorHeight) + (RiserHeight * 10) + FloorHeight
+    Stairs(i).AddFloor GetTex("stairs"), -12.5 - 15, -46.25 + 7.71, -12.5 - 16, -46.25, (i * FloorHeight) + (RiserHeight * 9) + FloorHeight
+    
+    Stairs(i).AddWall GetTex("stairs"), -12.5 - 6, -46.25, -12.5 - 6, -46.25 + 7.71, RiserHeight, (i * FloorHeight) + (RiserHeight * 15) + FloorHeight
+    Stairs(i).AddWall GetTex("stairs"), -12.5 - 7.5, -46.25, -12.5 - 7.5, -46.25 + 7.71, RiserHeight, (i * FloorHeight) + (RiserHeight * 14) + FloorHeight
+    Stairs(i).AddWall GetTex("stairs"), -12.5 - 9, -46.25, -12.5 - 9, -46.25 + 7.71, RiserHeight, (i * FloorHeight) + (RiserHeight * 13) + FloorHeight
+    Stairs(i).AddWall GetTex("stairs"), -12.5 - 10.5, -46.25, -12.5 - 10.5, -46.25 + 7.71, RiserHeight, (i * FloorHeight) + (RiserHeight * 12) + FloorHeight
+    Stairs(i).AddWall GetTex("stairs"), -12.5 - 12, -46.25, -12.5 - 12, -46.25 + 7.71, RiserHeight, (i * FloorHeight) + (RiserHeight * 11) + FloorHeight
+    Stairs(i).AddWall GetTex("stairs"), -12.5 - 13.5, -46.25, -12.5 - 13.5, -46.25 + 7.71, RiserHeight, (i * FloorHeight) + (RiserHeight * 10) + FloorHeight
+    Stairs(i).AddWall GetTex("stairs"), -12.5 - 15, -46.25, -12.5 - 15, -46.25 + 7.71, RiserHeight, (i * FloorHeight) + (RiserHeight * 9) + FloorHeight
+    Stairs(i).AddWall GetTex("stairs"), -12.5 - 16, -46.25, -12.5 - 16, -46.25 + 7.71, RiserHeight, (i * FloorHeight) + (RiserHeight * 8) + FloorHeight
+    
+    'Floor Signs
+    Stairs(i).AddWall GetTex("FloorSign"), -12.5 - 0.52, -42.5, -12.5 - 0.52, -44.5, 0.5, ((i * FloorHeight) + FloorHeight) + 11 - 0.4, 1, 1
+    Stairs(i).AddWall GetTex("Button" + Mid$(Str$(i), 2)), -12.5 - 0.51, -42.5, -12.5 - 0.51, -44.5, 1.5, ((i * FloorHeight) + FloorHeight) + 9.5, 1, 1
+    If i >= 2 And i <= 79 Then Stairs(i).AddWall GetTex("FloorSignOffices"), -12.5 - 0.52, -42.5, -12.5 - 0.52, -44.5, 0.5, ((i * FloorHeight) + FloorHeight) + 9 + 0.3, 1, 1
+    If i = 80 Then Stairs(i).AddWall GetTex("FloorSignSkylobby"), -12.5 - 0.52, -42.5, -12.5 - 0.52, -44.5, 0.5, ((i * FloorHeight) + FloorHeight) + 9 + 0.3, 1, 1
+    If i >= 81 And i <= 99 Then Stairs(i).AddWall GetTex("FloorSignHotel"), -12.5 - 0.52, -42.5, -12.5 - 0.52, -44.5, 0.5, ((i * FloorHeight) + FloorHeight) + 9 + 0.3, 1, 1
+    If i >= 100 And i <= 114 Then Stairs(i).AddWall GetTex("FloorSignResidential"), -12.5 - 0.52, -42.5, -12.5 - 0.52, -44.5, 0.5, ((i * FloorHeight) + FloorHeight) + 9 + 0.3, 1, 1
+    If i >= 115 And i <= 117 Then Stairs(i).AddWall GetTex("FloorSignMaint"), -12.5 - 0.52, -42.5, -12.5 - 0.52, -44.5, 0.5, ((i * FloorHeight) + FloorHeight) + 9 + 0.3, 1, 1
+    If i >= 118 And i <= 129 Then Stairs(i).AddWall GetTex("FloorSignResidential"), -12.5 - 0.52, -42.5, -12.5 - 0.52, -44.5, 0.5, ((i * FloorHeight) + FloorHeight) + 9 + 0.3, 1, 1
+    If i = 130 Or i = 131 Then Stairs(i).AddWall GetTex("FloorSignMaint"), -12.5 - 0.52, -42.5, -12.5 - 0.52, -44.5, 0.5, ((i * FloorHeight) + FloorHeight) + 9 + 0.3, 1, 1
+    If i = 132 Then Stairs(i).AddWall GetTex("FloorSignObservatory"), -12.5 - 0.52, -42.5, -12.5 - 0.52, -44.5, 0.5, ((i * FloorHeight) + FloorHeight) + 9 + 0.3, 1, 1
+    If i = 133 Then Stairs(i).AddWall GetTex("FloorSignMaint"), -12.5 - 0.52, -42.5, -12.5 - 0.52, -44.5, 0.5, ((i * FloorHeight) + FloorHeight) + 9 + 0.3, 1, 1
+    If i = 134 Then Stairs(i).AddWall GetTex("FloorSignPool"), -12.5 - 0.52, -42.5, -12.5 - 0.52, -44.5, 0.5, ((i * FloorHeight) + FloorHeight) + 9 + 0.3, 1, 1
+    If i = 135 Then Stairs(i).AddWall GetTex("FloorSignBallroom"), -12.5 - 0.52, -42.5, -12.5 - 0.52, -44.5, 0.5, ((i * FloorHeight) + FloorHeight) + 9 + 0.3, 1, 1
+    If i = 136 Then Stairs(i).AddWall GetTex("FloorSignBalcony"), -12.5 - 0.52, -42.5, -12.5 - 0.52, -44.5, 0.5, ((i * FloorHeight) + FloorHeight) + 9 + 0.3, 1, 1
+    If i = 137 Then Stairs(i).AddWall GetTex("FloorSignMechanical"), -12.5 - 0.52, -42.5, -12.5 - 0.52, -44.5, 0.5, ((i * FloorHeight) + FloorHeight) + 9 + 0.3, 1, 1
     
     Next i
-    Form1.Print "done"
-
-
+    i = 138
+    Stairs(i).AddWall GetTex("FloorSign"), -12.5 - 0.52, -42.5, -12.5 - 0.52, -44.5, 0.5, ((i * FloorHeight) + FloorHeight) + 11 - 0.4, 1, 1
+    Stairs(i).AddWall GetTex("Button" + Mid$(Str$(i), 2)), -12.5 - 0.51, -42.5, -12.5 - 0.51, -44.5, 1.5, ((i * FloorHeight) + FloorHeight) + 9.5, 1, 1
+    Stairs(i).AddWall GetTex("FloorSignRoof"), -12.5 - 0.52, -42.5, -12.5 - 0.52, -44.5, 0.5, ((i * FloorHeight) + FloorHeight) + 9 + 0.3, 1, 1
+    
 End Sub
 
diff --git a/CoreRoutines2.bas b/CoreRoutines2.bas
new file mode 100755 (executable)
index 0000000..15a8fef
--- /dev/null
@@ -0,0 +1,2613 @@
+Attribute VB_Name = "CoreRoutines2"
+'Skycraper 0.92 Beta
+'Copyright (C) 2003 Ryan Thoryk
+'http://www.tliquest.net/skyscraper
+'http://sourceforge.net/projects/skyscraper
+'Contact - ryan@tliquest.net
+
+'This program is free software; you can redistribute it and/or
+'modify it under the terms of the GNU General Public License
+'as published by the Free Software Foundation; either version 2
+'of the License, or (at your option) any later version.
+
+'This program is distributed in the hope that it will be useful,
+'but WITHOUT ANY WARRANTY; without even the implied warranty of
+'MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+'GNU General Public License for more details.
+
+'You should have received a copy of the GNU General Public License
+'along with this program; if not, write to the Free Software
+'Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
+'
+Option Explicit
+
+Sub DrawElevatorWalls(FloorID As Integer, SectionNum As Integer, ShaftNum As Integer, JoinShafts As Boolean, OpenShaft As Boolean, e1 As Boolean, e2 As Boolean, e3 As Boolean, e4 As Boolean, e5 As Boolean, e6 As Boolean, e7 As Boolean, e8 As Boolean, e9 As Boolean, e10 As Boolean)
+
+'Shaftnum is the number of the shaft, for layout purposes
+'1=center in (for floors 118-138)
+'2=center out (for floors 80-117)
+'3=outer in (for floors 40-79)
+'4=outer out (for floors 2-39)
+
+'Openshaft determines if the pipe shaft door(s) should be created for that floor
+
+Dim q
+'SectionNum determines the length of the shafts
+'1 = originally lobby (5 elevators each w/lobby tex)
+'2 = originally 2-39 (5 elevators each w/room tex)
+'3 = originally 40-79 (4 elevators each)
+'4 = originally 80-117 (3 elevators each)
+'5 = originally 118-134 (2 elevators each)
+'6 = originally 135-136 (1 elevator each)
+'7 = originally 137-138 (1 elevator each w/brick texture)
+
+Dim TextureName As String
+Dim ShaftEnd As Single
+Dim ShaftLeft As Single
+Dim ShaftRight As Single
+
+If SectionNum = 1 Then TextureName = "Wall2"
+If SectionNum > 1 And SectionNum < 7 Then TextureName = "Wall1"
+If SectionNum = 7 Then TextureName = "BrickTexture"
+If FloorID = 1 Then TextureName = "Wall2"
+
+If ShaftNum = 1 Then ShaftLeft = 12.5: ShaftRight = 32.5
+If ShaftNum = 2 Then ShaftLeft = 52.5: ShaftRight = 32.5
+If ShaftNum = 3 Then ShaftLeft = 90.5: ShaftRight = 110.5
+If ShaftNum = 4 Then ShaftLeft = 130.5: ShaftRight = 110.5
+
+q = FloorID
+If FloorID = 1 Then q = -1
+
+        'wall left of stairs
+        If ShaftNum = 1 Then
+        ShaftsFloor(FloorID).AddWall GetTex(TextureName), -ShaftLeft, -46.25, -ShaftLeft, -40.3, 19.5, (q * FloorHeight) + FloorHeight, (6 * 0.086), (19.5 * 0.08)
+        Else
+        ShaftsFloor(FloorID).AddWall GetTex(TextureName), -ShaftLeft, -46.25, -ShaftLeft, -32.5, 19.5, (q * FloorHeight) + FloorHeight, (6 * 0.086), (19.5 * 0.08)
+        End If
+        'wall between stairs and 1st elevator
+        If e1 = True Then
+            ShaftsFloor(FloorID).AddWall GetTex(TextureName), -ShaftLeft, -32.5, -ShaftLeft, -30, 19.5, (q * FloorHeight) + FloorHeight, (2.5 * 0.086), (19.5 * 0.08)
+            If ShaftNum = 1 Or ShaftNum = 2 Then Shafts1(FloorID).AddWall GetTex("BrickTexture"), -ShaftLeft - 0.05, -32.5, -ShaftLeft - 0.05, -30.5, 19.5, (q * FloorHeight) + FloorHeight, (2.5 * 0.086), (19.5 * 0.08)
+            If ShaftNum = 3 Or ShaftNum = 4 Then Shafts3(FloorID).AddWall GetTex("BrickTexture"), -ShaftLeft - 0.05, -32.5, -ShaftLeft - 0.05, -30.5, 19.5, (q * FloorHeight) + FloorHeight, (2.5 * 0.086), (19.5 * 0.08)
+        Else
+            ShaftsFloor(FloorID).AddWall GetTex(TextureName), -ShaftLeft, -32.5, -ShaftLeft, -16, 19.5, (q * FloorHeight) + FloorHeight, (16.5 * 0.086), (19.5 * 0.08)
+            If ShaftNum = 1 Or ShaftNum = 2 Then Shafts1(FloorID).AddWall GetTex("BrickTexture"), -ShaftLeft - 0.05, -32.5, -ShaftLeft - 0.05, -16, 19.5, (q * FloorHeight) + FloorHeight, (2.5 * 0.086), (19.5 * 0.08)
+            If ShaftNum = 3 Or ShaftNum = 4 Then Shafts3(FloorID).AddWall GetTex("BrickTexture"), -ShaftLeft - 0.05, -32.5, -ShaftLeft - 0.05, -16, 19.5, (q * FloorHeight) + FloorHeight, (2.5 * 0.086), (19.5 * 0.08)
+        End If
+        'wall on left, after 2nd elevator
+        If e2 = True Then
+            ShaftsFloor(FloorID).AddWall GetTex(TextureName), ShaftLeft, -46.25, ShaftLeft, -30, 19.5, (q * FloorHeight) + FloorHeight, (16.25 * 0.086), (19.5 * 0.08)
+            If ShaftNum = 1 Or ShaftNum = 2 Then Shafts2(FloorID).AddWall GetTex("BrickTexture"), ShaftLeft + 0.05, -46.25, ShaftLeft + 0.05, -30, 19.5, (q * FloorHeight) + FloorHeight, (16.25 * 0.086), (19.5 * 0.08)
+            If ShaftNum = 3 Or ShaftNum = 4 Then Shafts4(FloorID).AddWall GetTex("BrickTexture"), ShaftLeft + 0.05, -46.25, ShaftLeft + 0.05, -30, 19.5, (q * FloorHeight) + FloorHeight, (16.25 * 0.086), (19.5 * 0.08)
+        Else
+            If SectionNum < 7 Then
+            ShaftsFloor(FloorID).AddWall GetTex(TextureName), ShaftLeft, -46.25, ShaftLeft, -16, 19.5, (q * FloorHeight) + FloorHeight, (30 * 0.086), (19.5 * 0.08)
+            If ShaftNum = 1 Or ShaftNum = 2 Then Shafts2(FloorID).AddWall GetTex("BrickTexture"), ShaftLeft + 0.05, -46.25, ShaftLeft + 0.05, -16, 19.5, (q * FloorHeight) + FloorHeight, (30 * 0.086), (19.5 * 0.08)
+            If ShaftNum = 3 Or ShaftNum = 4 Then Shafts4(FloorID).AddWall GetTex("BrickTexture"), ShaftLeft + 0.05, -46.25, ShaftLeft + 0.05, -16, 19.5, (q * FloorHeight) + FloorHeight, (30 * 0.086), (19.5 * 0.08)
+            End If
+        End If
+        'wall between 1st and 3rd elevator
+        If e3 = True Then
+            ShaftsFloor(FloorID).AddWall GetTex(TextureName), -ShaftLeft, -16, -ShaftLeft, -15, 19.5, (q * FloorHeight) + FloorHeight, (1 * 0.086), (19.5 * 0.08)
+            If ShaftNum = 1 Or ShaftNum = 2 Then Shafts1(FloorID).AddWall GetTex("BrickTexture"), -ShaftLeft - 0.05, -16, -ShaftLeft - 0.05, -15, 19.5, (q * FloorHeight) + FloorHeight, (1 * 0.086), (19.5 * 0.08)
+            If ShaftNum = 3 Or ShaftNum = 4 Then Shafts3(FloorID).AddWall GetTex("BrickTexture"), -ShaftLeft - 0.05, -16, -ShaftLeft - 0.05, -15, 19.5, (q * FloorHeight) + FloorHeight, (1 * 0.086), (19.5 * 0.08)
+        Else
+            If SectionNum < 6 Then
+            ShaftsFloor(FloorID).AddWall GetTex(TextureName), -ShaftLeft, -16, -ShaftLeft, -1, 19.5, (q * FloorHeight) + FloorHeight, (15 * 0.086), (19.5 * 0.08)
+            If ShaftNum = 1 Or ShaftNum = 2 Then Shafts1(FloorID).AddWall GetTex("BrickTexture"), -ShaftLeft - 0.05, -16, -ShaftLeft - 0.05, -1, 19.5, (q * FloorHeight) + FloorHeight, (15 * 0.086), (19.5 * 0.08)
+            If ShaftNum = 3 Or ShaftNum = 4 Then Shafts3(FloorID).AddWall GetTex("BrickTexture"), -ShaftLeft - 0.05, -16, -ShaftLeft - 0.05, -1, 19.5, (q * FloorHeight) + FloorHeight, (15 * 0.086), (19.5 * 0.08)
+            End If
+        End If
+        'wall between 3rd and 5th elevator
+        If e5 = True Then
+            ShaftsFloor(FloorID).AddWall GetTex(TextureName), -ShaftLeft, -1, -ShaftLeft, 0, 19.5, (q * FloorHeight) + FloorHeight, (1 * 0.086), (19.5 * 0.08)
+            If ShaftNum = 1 Or ShaftNum = 2 Then Shafts1(FloorID).AddWall GetTex("BrickTexture"), -ShaftLeft - 0.05, -1, -ShaftLeft - 0.05, 0, 19.5, (q * FloorHeight) + FloorHeight, (1 * 0.086), (19.5 * 0.08)
+            If ShaftNum = 3 Or ShaftNum = 4 Then Shafts3(FloorID).AddWall GetTex("BrickTexture"), -ShaftLeft - 0.05, -1, -ShaftLeft - 0.05, 0, 19.5, (q * FloorHeight) + FloorHeight, (1 * 0.086), (19.5 * 0.08)
+        Else
+            If SectionNum < 5 Then
+            ShaftsFloor(FloorID).AddWall GetTex(TextureName), -ShaftLeft, -1, -ShaftLeft, 14, 19.5, (q * FloorHeight) + FloorHeight, (15 * 0.086), (19.5 * 0.08)
+            If ShaftNum = 1 Or ShaftNum = 2 Then Shafts1(FloorID).AddWall GetTex(TextureName), -ShaftLeft - 0.05, -1, -ShaftLeft - 0.05, 14, 19.5, (q * FloorHeight) + FloorHeight, (15 * 0.086), (19.5 * 0.08)
+            If ShaftNum = 3 Or ShaftNum = 4 Then Shafts3(FloorID).AddWall GetTex(TextureName), -ShaftLeft - 0.05, -1, -ShaftLeft - 0.05, 14, 19.5, (q * FloorHeight) + FloorHeight, (15 * 0.086), (19.5 * 0.08)
+            End If
+        End If
+        'wall between 5th and 7th elevator
+        If e7 = True Then
+            ShaftsFloor(FloorID).AddWall GetTex(TextureName), -ShaftLeft, 14, -ShaftLeft, 15, 19.5, (q * FloorHeight) + FloorHeight, (1 * 0.086), (19.5 * 0.08)
+            If ShaftNum = 1 Or ShaftNum = 2 Then Shafts1(FloorID).AddWall GetTex("BrickTexture"), -ShaftLeft - 0.05, 14, -ShaftLeft - 0.05, 15, 19.5, (q * FloorHeight) + FloorHeight, (1 * 0.086), (19.5 * 0.08)
+            If ShaftNum = 3 Or ShaftNum = 4 Then Shafts3(FloorID).AddWall GetTex("BrickTexture"), -ShaftLeft - 0.05, 14, -ShaftLeft - 0.05, 15, 19.5, (q * FloorHeight) + FloorHeight, (1 * 0.086), (19.5 * 0.08)
+        Else
+            If SectionNum < 4 Then
+            ShaftsFloor(FloorID).AddWall GetTex(TextureName), -ShaftLeft, 14, -ShaftLeft, 29, 19.5, (q * FloorHeight) + FloorHeight, (15 * 0.086), (19.5 * 0.08)
+            If ShaftNum = 1 Or ShaftNum = 2 Then Shafts1(FloorID).AddWall GetTex("BrickTexture"), -ShaftLeft - 0.05, 14, -ShaftLeft - 0.05, 29, 19.5, (q * FloorHeight) + FloorHeight, (15 * 0.086), (19.5 * 0.08)
+            If ShaftNum = 3 Or ShaftNum = 4 Then Shafts3(FloorID).AddWall GetTex("BrickTexture"), -ShaftLeft - 0.05, 14, -ShaftLeft - 0.05, 29, 19.5, (q * FloorHeight) + FloorHeight, (15 * 0.086), (19.5 * 0.08)
+            End If
+        End If
+        'wall between 7th and 9th elevator
+        If e9 = True Then
+            ShaftsFloor(FloorID).AddWall GetTex(TextureName), -ShaftLeft, 29, -ShaftLeft, 30, 19.5, (q * FloorHeight) + FloorHeight, (1 * 0.086), (19.5 * 0.08)
+            If ShaftNum = 1 Or ShaftNum = 2 Then Shafts1(FloorID).AddWall GetTex("BrickTexture"), -ShaftLeft - 0.05, 29, -ShaftLeft - 0.05, 30, 19.5, (q * FloorHeight) + FloorHeight, (1 * 0.086), (19.5 * 0.08)
+            If ShaftNum = 3 Or ShaftNum = 4 Then Shafts3(FloorID).AddWall GetTex("BrickTexture"), -ShaftLeft - 0.05, 29, -ShaftLeft - 0.05, 30, 19.5, (q * FloorHeight) + FloorHeight, (1 * 0.086), (19.5 * 0.08)
+        Else
+            If SectionNum < 3 Then
+            ShaftsFloor(FloorID).AddWall GetTex(TextureName), -ShaftLeft, 29, -ShaftLeft, 44, 19.5, (q * FloorHeight) + FloorHeight, (15 * 0.086), (19.5 * 0.08)
+            If ShaftNum = 1 Or ShaftNum = 2 Then Shafts1(FloorID).AddWall GetTex("BrickTexture"), -ShaftLeft - 0.05, 29, -ShaftLeft - 0.05, 44, 19.5, (q * FloorHeight) + FloorHeight, (15 * 0.086), (19.5 * 0.08)
+            If ShaftNum = 3 Or ShaftNum = 4 Then Shafts3(FloorID).AddWall GetTex("BrickTexture"), -ShaftLeft - 0.05, 29, -ShaftLeft - 0.05, 44, 19.5, (q * FloorHeight) + FloorHeight, (15 * 0.086), (19.5 * 0.08)
+            End If
+        End If
+        'wall between 2nd and 4th elevator
+        If e4 = True Then
+            ShaftsFloor(FloorID).AddWall GetTex(TextureName), ShaftLeft, -16, ShaftLeft, -15, 19.5, (q * FloorHeight) + FloorHeight, (1 * 0.086), (19.5 * 0.08)
+            If ShaftNum = 1 Or ShaftNum = 2 Then Shafts2(FloorID).AddWall GetTex("BrickTexture"), ShaftLeft + 0.05, -16, ShaftLeft + 0.05, -15, 19.5, (q * FloorHeight) + FloorHeight, (1 * 0.086), (19.5 * 0.08)
+            If ShaftNum = 3 Or ShaftNum = 4 Then Shafts4(FloorID).AddWall GetTex("BrickTexture"), ShaftLeft + 0.05, -16, ShaftLeft + 0.05, -15, 19.5, (q * FloorHeight) + FloorHeight, (1 * 0.086), (19.5 * 0.08)
+        Else
+            If SectionNum < 6 Then
+            ShaftsFloor(FloorID).AddWall GetTex(TextureName), ShaftLeft, -16, ShaftLeft, -1, 19.5, (q * FloorHeight) + FloorHeight, (15 * 0.086), (19.5 * 0.08)
+            If ShaftNum = 1 Or ShaftNum = 2 Then Shafts2(FloorID).AddWall GetTex("BrickTexture"), ShaftLeft + 0.05, -16, ShaftLeft + 0.05, -1, 19.5, (q * FloorHeight) + FloorHeight, (15 * 0.086), (19.5 * 0.08)
+            If ShaftNum = 3 Or ShaftNum = 4 Then Shafts4(FloorID).AddWall GetTex("BrickTexture"), ShaftLeft + 0.05, -16, ShaftLeft + 0.05, -1, 19.5, (q * FloorHeight) + FloorHeight, (15 * 0.086), (19.5 * 0.08)
+            End If
+        End If
+        'wall between 4th and 6th elevator
+        If e6 = True Then
+            ShaftsFloor(FloorID).AddWall GetTex(TextureName), ShaftLeft, -1, ShaftLeft, 0, 19.5, (q * FloorHeight) + FloorHeight, (1 * 0.086), (19.5 * 0.08)
+            If ShaftNum = 1 Or ShaftNum = 2 Then Shafts2(FloorID).AddWall GetTex("BrickTexture"), ShaftLeft + 0.05, -1, ShaftLeft + 0.05, 0, 19.5, (q * FloorHeight) + FloorHeight, (1 * 0.086), (19.5 * 0.08)
+            If ShaftNum = 3 Or ShaftNum = 4 Then Shafts4(FloorID).AddWall GetTex("BrickTexture"), ShaftLeft + 0.05, -1, ShaftLeft + 0.05, 0, 19.5, (q * FloorHeight) + FloorHeight, (1 * 0.086), (19.5 * 0.08)
+        Else
+            If SectionNum < 5 Then
+            ShaftsFloor(FloorID).AddWall GetTex(TextureName), ShaftLeft, -1, ShaftLeft, 14, 19.5, (q * FloorHeight) + FloorHeight, (15 * 0.086), (19.5 * 0.08)
+            If ShaftNum = 1 Or ShaftNum = 2 Then Shafts2(FloorID).AddWall GetTex("BrickTexture"), ShaftLeft + 0.05, -1, ShaftLeft + 0.05, 14, 19.5, (q * FloorHeight) + FloorHeight, (15 * 0.086), (19.5 * 0.08)
+            If ShaftNum = 3 Or ShaftNum = 4 Then Shafts4(FloorID).AddWall GetTex("BrickTexture"), ShaftLeft + 0.05, -1, ShaftLeft + 0.05, 14, 19.5, (q * FloorHeight) + FloorHeight, (15 * 0.086), (19.5 * 0.08)
+            End If
+        End If
+        'wall between 6th and 8th elevator
+        If e8 = True Then
+            ShaftsFloor(FloorID).AddWall GetTex(TextureName), ShaftLeft, 14, ShaftLeft, 15, 19.5, (q * FloorHeight) + FloorHeight, (1 * 0.086), (19.5 * 0.08)
+            If ShaftNum = 1 Or ShaftNum = 2 Then Shafts2(FloorID).AddWall GetTex("BrickTexture"), ShaftLeft + 0.05, 14, ShaftLeft + 0.05, 15, 19.5, (q * FloorHeight) + FloorHeight, (1 * 0.086), (19.5 * 0.08)
+            If ShaftNum = 3 Or ShaftNum = 4 Then Shafts4(FloorID).AddWall GetTex("BrickTexture"), ShaftLeft + 0.05, 14, ShaftLeft + 0.05, 15, 19.5, (q * FloorHeight) + FloorHeight, (1 * 0.086), (19.5 * 0.08)
+        Else
+            If SectionNum < 4 Then
+            ShaftsFloor(FloorID).AddWall GetTex(TextureName), ShaftLeft, 14, ShaftLeft, 29, 19.5, (q * FloorHeight) + FloorHeight, (15 * 0.086), (19.5 * 0.08)
+            If ShaftNum = 1 Or ShaftNum = 2 Then Shafts2(FloorID).AddWall GetTex("BrickTexture"), ShaftLeft + 0.05, 14, ShaftLeft + 0.05, 29, 19.5, (q * FloorHeight) + FloorHeight, (15 * 0.086), (19.5 * 0.08)
+            If ShaftNum = 3 Or ShaftNum = 4 Then Shafts4(FloorID).AddWall GetTex("BrickTexture"), ShaftLeft + 0.05, 14, ShaftLeft + 0.05, 29, 19.5, (q * FloorHeight) + FloorHeight, (15 * 0.086), (19.5 * 0.08)
+            End If
+        End If
+        'wall between 8th and 10th elevator
+        If e10 = True Then
+            ShaftsFloor(FloorID).AddWall GetTex(TextureName), ShaftLeft, 29, ShaftLeft, 30, 19.5, (q * FloorHeight) + FloorHeight, (1 * 0.086), (19.5 * 0.08)
+            If ShaftNum = 1 Or ShaftNum = 2 Then Shafts2(FloorID).AddWall GetTex("BrickTexture"), ShaftLeft + 0.05, 29, ShaftLeft + 0.05, 30, 19.5, (q * FloorHeight) + FloorHeight, (1 * 0.086), (19.5 * 0.08)
+            If ShaftNum = 3 Or ShaftNum = 4 Then Shafts4(FloorID).AddWall GetTex("BrickTexture"), ShaftLeft + 0.05, 29, ShaftLeft + 0.05, 30, 19.5, (q * FloorHeight) + FloorHeight, (1 * 0.086), (19.5 * 0.08)
+        Else
+            If SectionNum < 3 Then
+            ShaftsFloor(FloorID).AddWall GetTex(TextureName), ShaftLeft, 29, ShaftLeft, 44, 19.5, (q * FloorHeight) + FloorHeight, (15 * 0.086), (19.5 * 0.08)
+            If ShaftNum = 1 Or ShaftNum = 2 Then Shafts2(FloorID).AddWall GetTex("BrickTexture"), ShaftLeft + 0.05, 29, ShaftLeft + 0.05, 44, 19.5, (q * FloorHeight) + FloorHeight, (15 * 0.086), (19.5 * 0.08)
+            If ShaftNum = 3 Or ShaftNum = 4 Then Shafts4(FloorID).AddWall GetTex("BrickTexture"), ShaftLeft + 0.05, 29, ShaftLeft + 0.05, 44, 19.5, (q * FloorHeight) + FloorHeight, (15 * 0.086), (19.5 * 0.08)
+            End If
+        End If
+        
+        'Mezzanine stuff
+        If FloorID = 1 Then
+            'right side
+            If ShaftNum = 1 Or ShaftNum = 2 Then
+                ShaftsFloor(FloorID).AddWall GetTex(TextureName), -ShaftLeft, -46.25, -ShaftLeft, -40.3, 19.5, FloorHeight, (6 * 0.086), (19.5 * 0.08)
+                ShaftsFloor(FloorID).AddWall GetTex(TextureName), -ShaftLeft, -32.5, -ShaftLeft, -30, 19.5, FloorHeight, (2.5 * 0.086), (19.5 * 0.08)
+                ShaftsFloor(FloorID).AddWall GetTex(TextureName), -ShaftLeft, -16, -ShaftLeft, 0, 19.5, FloorHeight, (16 * 0.086), (19.5 * 0.08)
+                ShaftsFloor(FloorID).AddWall GetTex(TextureName), -ShaftLeft, -46.25, -ShaftLeft, 0, (FloorHeight - 19.5), FloorHeight + 19.5, (92.5 * 0.086), (19.5 * 0.08)
+                Shafts1(FloorID).AddWall GetTex("BrickTexture"), -ShaftLeft - 0.05, -32.5, -ShaftLeft - 0.05, -30.5, 19.5, FloorHeight, (2.5 * 0.086), (19.5 * 0.08)
+                Shafts1(FloorID).AddWall GetTex("BrickTexture"), -ShaftLeft - 0.05, -16, -ShaftLeft - 0.05, 0, 19.5, FloorHeight, (16 * 0.086), (19.5 * 0.08)
+                Shafts1(FloorID).AddWall GetTex("BrickTexture"), -ShaftLeft - 0.05, -30.5, -ShaftLeft - 0.05, 0, (FloorHeight - 19.5), FloorHeight + 19.5, (76.25 * 0.086), (19.5 * 0.08)
+            End If
+            If ShaftNum = 3 Or ShaftNum = 4 Then
+                ShaftsFloor(FloorID).AddWall GetTex(TextureName), -ShaftLeft, -46.25, -ShaftLeft, 46.25, FloorHeight, FloorHeight, (92.5 * 0.086), (23 * 0.08)
+                Shafts3(FloorID).AddWall GetTex("BrickTexture"), -ShaftLeft - 0.05, -46.25, -ShaftLeft - 0.05, 46.25, FloorHeight, FloorHeight, (92.5 * 0.086), (23 * 0.08)
+            End If
+            
+            'left side
+            If ShaftNum = 1 Or ShaftNum = 2 Then
+            ShaftsFloor(FloorID).AddWall GetTex(TextureName), ShaftLeft, -46.25, ShaftLeft, -30, 19.5, FloorHeight, (16.25 * 0.086), (19.5 * 0.08)
+            ShaftsFloor(FloorID).AddWall GetTex(TextureName), ShaftLeft, -16, ShaftLeft, 0, 19.5, FloorHeight, (16 * 0.086), (19.5 * 0.08)
+            ShaftsFloor(FloorID).AddWall GetTex(TextureName), ShaftLeft, -46.25, ShaftLeft, 0, (FloorHeight - 19.5), FloorHeight + 19.5, (92.5 * 0.086), (19.5 * 0.08)
+            Shafts2(FloorID).AddWall GetTex("BrickTexture"), ShaftLeft + 0.05, -16, ShaftLeft + 0.05, 0, 19.5, FloorHeight, (16 * 0.086), (19.5 * 0.08)
+            Shafts2(FloorID).AddWall GetTex("BrickTexture"), ShaftLeft + 0.05, -46.25, ShaftLeft + 0.05, 0, (FloorHeight - 19.5), FloorHeight + 19.5, (92.5 * 0.086), (19.5 * 0.08)
+            End If
+            If ShaftNum = 3 Or ShaftNum = 4 Then
+            ShaftsFloor(FloorID).AddWall GetTex(TextureName), ShaftLeft, -46.25, ShaftLeft, 46.25, FloorHeight, FloorHeight, (92.5 * 0.086), (23 * 0.08)
+            Shafts4(FloorID).AddWall GetTex("BrickTexture"), ShaftLeft + 0.05, -46.25, ShaftLeft + 0.05, 46.25, FloorHeight, FloorHeight, (92.5 * 0.086), (23 * 0.08)
+            End If
+        End If
+        
+        If SectionNum <= 2 Then ShaftEnd = 46.25
+        If SectionNum = 3 Then ShaftEnd = 30.83
+        If SectionNum = 4 Then ShaftEnd = 15.41
+        If SectionNum = 5 Then ShaftEnd = 0
+        If SectionNum >= 6 Then ShaftEnd = -15.42
+        
+        'this section places any shaft floors/ceilings that need to be made
+        If FloorID = 1 Then
+            If ShaftNum = 1 Or ShaftNum = 2 Then
+            Shafts1(FloorID).AddFloor GetTex("BrickTexture"), -ShaftLeft, -30, -ShaftRight, 0, 0.05, (20 * 0.086), (46 * 0.08)
+            Shafts2(FloorID).AddFloor GetTex("BrickTexture"), ShaftLeft, -30, ShaftRight, 0, 0.05, (20 * 0.086), (46 * 0.08)
+            End If
+            If ShaftNum = 3 Or ShaftNum = 4 Then
+            Shafts3(FloorID).AddFloor GetTex("BrickTexture"), -ShaftLeft, -30, -ShaftRight, 46.25, 0.05, (20 * 0.086), (46 * 0.08)
+            Shafts4(FloorID).AddFloor GetTex("BrickTexture"), ShaftLeft, -30, ShaftRight, 46.25, 0.05, (20 * 0.086), (46 * 0.08)
+            End If
+        End If
+        If FloorID = 39 Then
+            If ShaftNum = 4 Then
+            Shafts3(FloorID).AddFloor GetTex("BrickTexture"), -ShaftLeft, -46.25, -ShaftRight, 46.25, (FloorID * FloorHeight) + FloorHeight + 24.95, (20 * 0.086), (16 * 0.08)
+            Shafts4(FloorID).AddFloor GetTex("BrickTexture"), ShaftLeft, -46.25, ShaftRight, 46.25, (FloorID * FloorHeight) + FloorHeight + 24.95, (20 * 0.086), (16 * 0.08)
+            End If
+        End If
+        If FloorID = 79 Then
+            If ShaftNum = 3 Then
+            Shafts3(FloorID).AddFloor GetTex("BrickTexture"), -ShaftLeft, -46.25, -ShaftRight, 46.25, (FloorID * FloorHeight) + FloorHeight + 24.95, (20 * 0.086), (16 * 0.08)
+            Shafts4(FloorID).AddFloor GetTex("BrickTexture"), ShaftLeft, -46.25, ShaftRight, 46.25, (FloorID * FloorHeight) + FloorHeight + 24.95, (20 * 0.086), (16 * 0.08)
+            End If
+        End If
+        If FloorID = 117 Then
+            If ShaftNum = 2 Then
+            Shafts1(FloorID).AddFloor GetTex("BrickTexture"), -ShaftLeft, -46.25, -ShaftRight, 46.25, (FloorID * FloorHeight) + FloorHeight + 24.95, (20 * 0.086), (16 * 0.08)
+            Shafts2(FloorID).AddFloor GetTex("BrickTexture"), ShaftLeft, -46.25, ShaftRight, 46.25, (FloorID * FloorHeight) + FloorHeight + 24.95, (20 * 0.086), (16 * 0.08)
+            End If
+        End If
+        If FloorID = 129 Then
+            If ShaftNum = 1 Then
+            Shafts1(FloorID).AddFloor GetTex("BrickTexture"), -ShaftLeft, 0, -ShaftRight, 46.25, (FloorID * FloorHeight) + FloorHeight + 24.95, (20 * 0.086), (16 * 0.08)
+            Shafts2(FloorID).AddFloor GetTex("BrickTexture"), ShaftLeft, 0, ShaftRight, 46.25, (FloorID * FloorHeight) + FloorHeight + 24.95, (20 * 0.086), (16 * 0.08)
+            End If
+        End If
+        If FloorID = 138 Then
+        Shafts1(FloorID).AddFloor GetTex("BrickTexture"), -ShaftLeft, -30, -ShaftRight, -15.42, (FloorID * FloorHeight) + FloorHeight + 24.95, (20 * 0.086), (16 * 0.08)
+        End If
+        
+        'this section places the wall that extends to the end of the shaft, according to where the last elevator is
+        If SectionNum = 7 Then
+        ShaftsFloor(FloorID).AddWall GetTex(TextureName), -ShaftLeft, -16, -ShaftLeft, ShaftEnd, 19.5, (q * FloorHeight) + FloorHeight, ((16 + ShaftEnd) * 0.086), (19.5 * 0.08)
+        Shafts1(FloorID).AddWall GetTex("BrickTexture"), -ShaftLeft - 0.05, -16, -ShaftLeft - 0.05, ShaftEnd, 19.5, (q * FloorHeight) + FloorHeight, ((16 + ShaftEnd) * 0.086), (19.5 * 0.08)
+        End If
+        If SectionNum = 6 Then
+        ShaftsFloor(FloorID).AddWall GetTex(TextureName), -ShaftLeft, -16, -ShaftLeft, ShaftEnd, 19.5, (q * FloorHeight) + FloorHeight, ((16 + ShaftEnd) * 0.086), (19.5 * 0.08)
+        ShaftsFloor(FloorID).AddWall GetTex(TextureName), ShaftLeft, -16, ShaftLeft, ShaftEnd, 19.5, (q * FloorHeight) + FloorHeight, ((16 + ShaftEnd) * 0.086), (19.5 * 0.08)
+        Shafts1(FloorID).AddWall GetTex("BrickTexture"), -ShaftLeft - 0.05, -16, -ShaftLeft - 0.05, ShaftEnd, 19.5, (q * FloorHeight) + FloorHeight, ((16 + ShaftEnd) * 0.086), (19.5 * 0.08)
+        Shafts2(FloorID).AddWall GetTex("BrickTexture"), ShaftLeft + 0.05, -16, ShaftLeft + 0.05, ShaftEnd, 19.5, (q * FloorHeight) + FloorHeight, ((16 + ShaftEnd) * 0.086), (19.5 * 0.08)
+        End If
+        If SectionNum = 5 Then
+        ShaftsFloor(FloorID).AddWall GetTex(TextureName), -ShaftLeft, -1, -ShaftLeft, ShaftEnd, 19.5, (q * FloorHeight) + FloorHeight, ((ShaftLeft + ShaftEnd) * 0.086), (19.5 * 0.08)
+        ShaftsFloor(FloorID).AddWall GetTex(TextureName), ShaftLeft, -1, ShaftLeft, ShaftEnd, 19.5, (q * FloorHeight) + FloorHeight, ((-ShaftLeft + ShaftEnd) * 0.086), (19.5 * 0.08)
+            If ShaftNum = 1 Or ShaftNum = 2 Then
+            Shafts1(FloorID).AddWall GetTex("BrickTexture"), -ShaftLeft, -1, -ShaftLeft, ShaftEnd, 19.5, (q * FloorHeight) + FloorHeight, ((ShaftLeft + ShaftEnd) * 0.086), (19.5 * 0.08)
+            Shafts2(FloorID).AddWall GetTex("BrickTexture"), ShaftLeft, -1, ShaftLeft, ShaftEnd, 19.5, (q * FloorHeight) + FloorHeight, ((-ShaftLeft + ShaftEnd) * 0.086), (19.5 * 0.08)
+            End If
+            If ShaftNum = 3 Or ShaftNum = 4 Then
+            Shafts3(FloorID).AddWall GetTex("BrickTexture"), -ShaftLeft, -1, -ShaftLeft, ShaftEnd, 19.5, (q * FloorHeight) + FloorHeight, ((ShaftLeft + ShaftEnd) * 0.086), (19.5 * 0.08)
+            Shafts4(FloorID).AddWall GetTex("BrickTexture"), ShaftLeft, -1, ShaftLeft, ShaftEnd, 19.5, (q * FloorHeight) + FloorHeight, ((-ShaftLeft + ShaftEnd) * 0.086), (19.5 * 0.08)
+            End If
+        End If
+        If SectionNum = 4 Then
+        ShaftsFloor(FloorID).AddWall GetTex(TextureName), -ShaftLeft, 14, -ShaftLeft, ShaftEnd, 19.5, (q * FloorHeight) + FloorHeight, ((-14 + ShaftEnd) * 0.086), (19.5 * 0.08)
+        ShaftsFloor(FloorID).AddWall GetTex(TextureName), ShaftLeft, 14, ShaftLeft, ShaftEnd, 19.5, (q * FloorHeight) + FloorHeight, ((-14 + ShaftEnd) * 0.086), (19.5 * 0.08)
+            If ShaftNum = 1 Or ShaftNum = 2 Then
+            Shafts1(FloorID).AddWall GetTex("BrickTexture"), -ShaftLeft - 0.05, 14, -ShaftLeft - 0.05, ShaftEnd, 19.5, (q * FloorHeight) + FloorHeight, ((-14 + ShaftEnd) * 0.086), (19.5 * 0.08)
+            Shafts2(FloorID).AddWall GetTex("BrickTexture"), ShaftLeft + 0.05, 14, ShaftLeft + 0.05, ShaftEnd, 19.5, (q * FloorHeight) + FloorHeight, ((-14 + ShaftEnd) * 0.086), (19.5 * 0.08)
+            End If
+            If ShaftNum = 3 Or ShaftNum = 4 Then
+            Shafts3(FloorID).AddWall GetTex("BrickTexture"), -ShaftLeft - 0.05, 14, -ShaftLeft - 0.05, ShaftEnd, 19.5, (q * FloorHeight) + FloorHeight, ((-14 + ShaftEnd) * 0.086), (19.5 * 0.08)
+            Shafts4(FloorID).AddWall GetTex("BrickTexture"), ShaftLeft + 0.05, 14, ShaftLeft + 0.05, ShaftEnd, 19.5, (q * FloorHeight) + FloorHeight, ((-14 + ShaftEnd) * 0.086), (19.5 * 0.08)
+            End If
+        End If
+        If SectionNum = 3 Then
+        ShaftsFloor(FloorID).AddWall GetTex(TextureName), -ShaftLeft, 29, -ShaftLeft, ShaftEnd, 19.5, (q * FloorHeight) + FloorHeight, ((-29 + ShaftEnd) * 0.086), (19.5 * 0.08)
+        ShaftsFloor(FloorID).AddWall GetTex(TextureName), ShaftLeft, 29, ShaftLeft, ShaftEnd, 19.5, (q * FloorHeight) + FloorHeight, ((-29 + ShaftEnd) * 0.086), (19.5 * 0.08)
+            If ShaftNum = 1 Or ShaftNum = 2 Then
+            Shafts1(FloorID).AddWall GetTex("BrickTexture"), -ShaftLeft - 0.05, 29, -ShaftLeft - 0.05, ShaftEnd, 19.5, (q * FloorHeight) + FloorHeight, ((-29 + ShaftEnd) * 0.086), (19.5 * 0.08)
+            Shafts2(FloorID).AddWall GetTex("BrickTexture"), ShaftLeft + 0.05, 29, ShaftLeft + 0.05, ShaftEnd, 19.5, (q * FloorHeight) + FloorHeight, ((-29 + ShaftEnd) * 0.086), (19.5 * 0.08)
+            End If
+            If ShaftNum = 3 Or ShaftNum = 4 Then
+            Shafts3(FloorID).AddWall GetTex("BrickTexture"), -ShaftLeft - 0.05, 29, -ShaftLeft - 0.05, ShaftEnd, 19.5, (q * FloorHeight) + FloorHeight, ((-29 + ShaftEnd) * 0.086), (19.5 * 0.08)
+            Shafts4(FloorID).AddWall GetTex("BrickTexture"), ShaftLeft + 0.05, 29, ShaftLeft + 0.05, ShaftEnd, 19.5, (q * FloorHeight) + FloorHeight, ((-29 + ShaftEnd) * 0.086), (19.5 * 0.08)
+            End If
+        End If
+        If SectionNum <= 2 Then
+        ShaftsFloor(FloorID).AddWall GetTex(TextureName), -ShaftLeft, 44, -ShaftLeft, ShaftEnd, 19.5, (q * FloorHeight) + FloorHeight, ((-44 + ShaftEnd) * 0.086), (19.5 * 0.08)
+        ShaftsFloor(FloorID).AddWall GetTex(TextureName), ShaftLeft, 44, ShaftLeft, ShaftEnd, 19.5, (q * FloorHeight) + FloorHeight, ((-44 + ShaftEnd) * 0.086), (19.5 * 0.08)
+            If ShaftNum = 1 Or ShaftNum = 2 Then
+            Shafts1(FloorID).AddWall GetTex("BrickTexture"), -ShaftLeft - 0.05, 44, -ShaftLeft - 0.05, ShaftEnd, 19.5, (q * FloorHeight) + FloorHeight, ((-44 + ShaftEnd) * 0.086), (19.5 * 0.08)
+            Shafts2(FloorID).AddWall GetTex("BrickTexture"), ShaftLeft + 0.05, 44, ShaftLeft + 0.05, ShaftEnd, 19.5, (q * FloorHeight) + FloorHeight, ((-44 + ShaftEnd) * 0.086), (19.5 * 0.08)
+            End If
+            If ShaftNum = 3 Or ShaftNum = 4 Then
+            Shafts3(FloorID).AddWall GetTex("BrickTexture"), -ShaftLeft - 0.05, 44, -ShaftLeft - 0.05, ShaftEnd, 19.5, (q * FloorHeight) + FloorHeight, ((-44 + ShaftEnd) * 0.086), (19.5 * 0.08)
+            Shafts4(FloorID).AddWall GetTex("BrickTexture"), ShaftLeft + 0.05, 44, ShaftLeft + 0.05, ShaftEnd, 19.5, (q * FloorHeight) + FloorHeight, ((-44 + ShaftEnd) * 0.086), (19.5 * 0.08)
+            End If
+        End If
+        
+        'walls above
+        If FloorID <> 1 Then
+            ShaftsFloor(FloorID).AddWall GetTex(TextureName), -ShaftLeft, -46.25, -ShaftLeft, ShaftEnd, (FloorHeight - 19.5), 19.5 + (q * FloorHeight) + FloorHeight, ((46.25 + ShaftEnd) * 0.086), ((FloorHeight - 19.5) * 0.08)
+            If ShaftNum = 1 Or ShaftNum = 2 Then Shafts1(FloorID).AddWall GetTex("BrickTexture"), -ShaftLeft - 0.05, -30.5, -ShaftLeft - 0.05, ShaftEnd, (FloorHeight - 19.5), 19.5 + (q * FloorHeight) + FloorHeight, ((30 + ShaftEnd) * 0.086), ((FloorHeight - 19.5) * 0.08)
+            If ShaftNum = 3 Or ShaftNum = 4 Then Shafts3(FloorID).AddWall GetTex("BrickTexture"), -ShaftLeft - 0.05, -30.5, -ShaftLeft - 0.05, ShaftEnd, (FloorHeight - 19.5), 19.5 + (q * FloorHeight) + FloorHeight, ((30 + ShaftEnd) * 0.086), ((FloorHeight - 19.5) * 0.08)
+            If SectionNum <> 7 Then
+                ShaftsFloor(FloorID).AddWall GetTex(TextureName), ShaftLeft, -46.25, ShaftLeft, ShaftEnd, (FloorHeight - 19.5), 19.5 + (q * FloorHeight) + FloorHeight, ((46.25 + ShaftEnd) * 0.086), ((FloorHeight - 19.5) * 0.08)
+                If ShaftNum = 1 Or ShaftNum = 2 Then Shafts2(FloorID).AddWall GetTex("BrickTexture"), ShaftLeft + 0.05, -46.25, ShaftLeft + 0.05, ShaftEnd, (FloorHeight - 19.5), 19.5 + (q * FloorHeight) + FloorHeight, ((46.25 + ShaftEnd) * 0.086), ((FloorHeight - 19.5) * 0.08)
+                If ShaftNum = 3 Or ShaftNum = 4 Then Shafts4(FloorID).AddWall GetTex("BrickTexture"), ShaftLeft + 0.05, -46.25, ShaftLeft + 0.05, ShaftEnd, (FloorHeight - 19.5), 19.5 + (q * FloorHeight) + FloorHeight, ((46.25 + ShaftEnd) * 0.086), ((FloorHeight - 19.5) * 0.08)
+            End If
+        End If
+        If FloorID = 1 Then
+            If ShaftNum = 3 Or ShaftNum = 4 Then
+            ShaftsFloor(FloorID).AddWall GetTex(TextureName), -ShaftLeft, -46.25, -ShaftLeft, 46.25, (FloorHeight - 19.5), 19.5 + (q * FloorHeight) + FloorHeight, 92.5 * 0.086, ((FloorHeight - 19.5) * 0.08)
+            ShaftsFloor(FloorID).AddWall GetTex(TextureName), ShaftLeft, -46.25, ShaftLeft, 46.25, (FloorHeight - 19.5), 19.5 + (q * FloorHeight) + FloorHeight, 92.5 * 0.086, ((FloorHeight - 19.5) * 0.08)
+            Shafts3(FloorID).AddWall GetTex("BrickTexture"), -ShaftLeft - 0.05, -30.5, -ShaftLeft - 0.05, 46.25, (FloorHeight - 19.5), 19.5 + (q * FloorHeight) + FloorHeight, 76.25 * 0.086, ((FloorHeight - 19.5) * 0.08)
+            Shafts4(FloorID).AddWall GetTex("BrickTexture"), ShaftLeft + 0.05, -46.25, ShaftLeft + 0.05, 46.25, (FloorHeight - 19.5), 19.5 + (q * FloorHeight) + FloorHeight, 92.5 * 0.086, ((FloorHeight - 19.5) * 0.08)
+            End If
+            If ShaftNum = 1 Or ShaftNum = 2 Then
+            ShaftsFloor(FloorID).AddWall GetTex(TextureName), -ShaftLeft, -46.25, -ShaftLeft, 0, (FloorHeight - 19.5), 19.5 + (q * FloorHeight) + FloorHeight, 92.5 * 0.086, ((FloorHeight - 19.5) * 0.08)
+            ShaftsFloor(FloorID).AddWall GetTex(TextureName), ShaftLeft, -46.25, ShaftLeft, 0, (FloorHeight - 19.5), 19.5 + (q * FloorHeight) + FloorHeight, 92.5 * 0.086, ((FloorHeight - 19.5) * 0.08)
+            Shafts1(FloorID).AddWall GetTex("BrickTexture"), -ShaftLeft - 0.05, -30.5, -ShaftLeft - 0.05, 0, (FloorHeight - 19.5), 19.5 + (q * FloorHeight) + FloorHeight, 76.25 * 0.086, ((FloorHeight - 19.5) * 0.08)
+            Shafts2(FloorID).AddWall GetTex("BrickTexture"), ShaftLeft + 0.05, -46.25, ShaftLeft + 0.05, 0, (FloorHeight - 19.5), 19.5 + (q * FloorHeight) + FloorHeight, 92.5 * 0.086, ((FloorHeight - 19.5) * 0.08)
+            End If
+        End If
+    'other parts
+    
+    If OpenShaft = True Then
+        ShaftsFloor(FloorID).AddWall GetTex(TextureName), ShaftRight, -46.25, ShaftRight, -43, FloorHeight, (q * FloorHeight) + FloorHeight, 3.25 * 0.086, 2
+        ShaftsFloor(FloorID).AddWall GetTex(TextureName), ShaftRight, -46.25, ShaftRight, -34, 10, (q * FloorHeight) + FloorHeight + 15, 12.25 * 0.086, 10 * 0.08
+        ShaftsFloor(FloorID).AddWall GetTex(TextureName), ShaftRight, -46.25, ShaftRight, -34, 8, (q * FloorHeight) + FloorHeight, 12.25 * 0.086, 8 * 0.08
+        If ShaftNum = 1 Or ShaftNum = 2 Then
+        Shafts2(FloorID).AddWall GetTex("BrickTexture"), (ShaftRight - 0.05), -46.25, (ShaftRight - 0.05), -43, FloorHeight, (q * FloorHeight) + FloorHeight, 3.25 * 0.086, 2
+        Shafts2(FloorID).AddWall GetTex("BrickTexture"), (ShaftRight - 0.05), -46.25, (ShaftRight - 0.05), -34, 10, (q * FloorHeight) + FloorHeight + 15, 12.25 * 0.086, 10 * 0.08
+        Shafts2(FloorID).AddWall GetTex("BrickTexture"), (ShaftRight - 0.05), -46.25, (ShaftRight - 0.05), -34, 8, (q * FloorHeight) + FloorHeight, 12.25 * 0.086, 8 * 0.08
+        End If
+        If ShaftNum = 3 Or ShaftNum = 4 Then
+        Shafts4(FloorID).AddWall GetTex("BrickTexture"), (ShaftRight - 0.05), -46.25, (ShaftRight - 0.05), -43, FloorHeight, (q * FloorHeight) + FloorHeight, 3.25 * 0.086, 2
+        Shafts4(FloorID).AddWall GetTex("BrickTexture"), (ShaftRight - 0.05), -46.25, (ShaftRight - 0.05), -34, 10, (q * FloorHeight) + FloorHeight + 15, 12.25 * 0.086, 10 * 0.08
+        Shafts4(FloorID).AddWall GetTex("BrickTexture"), (ShaftRight - 0.05), -46.25, (ShaftRight - 0.05), -34, 8, (q * FloorHeight) + FloorHeight, 12.25 * 0.086, 8 * 0.08
+        End If
+    End If
+    
+    If SectionNum <> 7 Then
+    ShaftsFloor(FloorID).AddWall GetTex(TextureName), ShaftRight, -46.25, ShaftLeft, -46.25, FloorHeight, (q * FloorHeight) + FloorHeight, 20 * 0.086, 2
+    If ShaftNum = 1 Or ShaftNum = 2 Then Shafts2(FloorID).AddWall GetTex("BrickTexture"), ShaftRight, -46.25 + 0.05, ShaftLeft, -46.25 + 0.05, FloorHeight, (q * FloorHeight) + FloorHeight, 20 * 0.086, 2
+    If ShaftNum = 3 Or ShaftNum = 4 Then Shafts4(FloorID).AddWall GetTex("BrickTexture"), ShaftRight, -46.25 + 0.05, ShaftLeft, -46.25 + 0.05, FloorHeight, (q * FloorHeight) + FloorHeight, 20 * 0.086, 2
+    End If
+    
+    ShaftsFloor(FloorID).AddWall GetTex(TextureName), -ShaftRight, -46.25, -ShaftLeft, -46.25, FloorHeight, (q * FloorHeight) + FloorHeight, 20 * 0.086, 2
+    If ShaftNum = 1 Or ShaftNum = 2 Then Shafts1(FloorID).AddWall GetTex("BrickTexture"), -ShaftRight, -30 + 0.05, -ShaftLeft, -30 + 0.05, FloorHeight, (q * FloorHeight) + FloorHeight, 20 * 0.086, 2
+    If ShaftNum = 3 Or ShaftNum = 4 Then Shafts3(FloorID).AddWall GetTex("BrickTexture"), -ShaftRight, -30 + 0.05, -ShaftLeft, -30 + 0.05, FloorHeight, (q * FloorHeight) + FloorHeight, 20 * 0.086, 2
+            
+            If FloorID = 1 Then
+                If ShaftNum = 3 Or ShaftNum = 4 Then
+                ShaftsFloor(FloorID).AddWall GetTex(TextureName), ShaftLeft, -46.25, ShaftLeft, 46.25, FloorHeight, (FloorHeight * 2), 92.5 * 0.086, 2
+                ShaftsFloor(FloorID).AddWall GetTex(TextureName), -ShaftLeft, 46.25, -ShaftLeft, -46.25, FloorHeight, (FloorHeight * 2), 92.5 * 0.086, 2
+                ShaftsFloor(FloorID).AddWall GetTex(TextureName), ShaftLeft, -46.25, ShaftRight, -46.25, (FloorHeight * 2), FloorHeight, 20 * 0.086, 4
+                ShaftsFloor(FloorID).AddWall GetTex(TextureName), ShaftLeft, 46.25, ShaftRight, 46.25, (FloorHeight * 2), FloorHeight, 20 * 0.086, 4
+                'ShaftsFloor(FloorID).AddWall GetTex(TextureName), ShaftRight, 46.25, ShaftRight, -46.25, (FloorHeight * 2), FloorHeight, 92.5 * 0.086, 4
+                ShaftsFloor(FloorID).AddWall GetTex(TextureName), -ShaftLeft, -46.25, -ShaftRight, -46.25, (FloorHeight * 2), FloorHeight, 20 * 0.086, 4
+                ShaftsFloor(FloorID).AddWall GetTex(TextureName), -ShaftLeft, 46.25, -ShaftRight, 46.25, (FloorHeight * 2), FloorHeight, 20 * 0.086, 4
+                'ShaftsFloor(FloorID).AddWall GetTex(TextureName), -ShaftRight, 46.25, -ShaftRight, -46.25, (FloorHeight * 2), FloorHeight, 20 * 0.086, 4
+                Shafts4(FloorID).AddWall GetTex("BrickTexture"), ShaftLeft + 0.05, -46.25, ShaftLeft + 0.05, 46.25, FloorHeight, (FloorHeight * 2), 92.5 * 0.086, 2
+                Shafts3(FloorID).AddWall GetTex("BrickTexture"), -ShaftLeft - 0.05, 46.25, -ShaftLeft - 0.05, -30.5, FloorHeight, (FloorHeight * 2), 16.25 * 0.086, 2
+                Shafts4(FloorID).AddWall GetTex("BrickTexture"), ShaftLeft, -46.25 + 0.05, ShaftRight, -46.25 + 0.05, (FloorHeight * 2), FloorHeight, 20 * 0.086, 4
+                Shafts4(FloorID).AddWall GetTex("BrickTexture"), ShaftLeft, 46.25 - 0.05, ShaftRight, 46.25 - 0.05, (FloorHeight * 2), FloorHeight, 20 * 0.086, 4
+                'Shafts4(FloorID).AddWall GetTex("BrickTexture"), (ShaftRight - 0.05), 46.25, (ShaftRight - 0.05), -46.25, (FloorHeight * 2), FloorHeight, 92.5 * 0.086, 4
+                Shafts3(FloorID).AddWall GetTex("BrickTexture"), -ShaftLeft, -30 + 0.05, -ShaftRight, -30 + 0.05, (FloorHeight * 2), FloorHeight, 20 * 0.086, 2
+                Shafts3(FloorID).AddWall GetTex("BrickTexture"), -ShaftLeft, 46.25 - 0.05, -ShaftRight, 46.25 - 0.05, (FloorHeight * 2), FloorHeight, 20 * 0.086, 4
+                'Shafts3(FloorID).AddWall GetTex("BrickTexture"), -ShaftRight + 0.05, 46.25, -ShaftRight + 0.05, -30.5, (FloorHeight * 2), FloorHeight, 16.25 * 0.086, 4
+                End If
+                
+                If ShaftNum = 1 Or ShaftNum = 2 Then
+                ShaftsFloor(FloorID).AddWall GetTex(TextureName), ShaftLeft, -46.25, ShaftLeft, 0, FloorHeight, (FloorHeight * 2), 92.5 * 0.086, 2
+                ShaftsFloor(FloorID).AddWall GetTex(TextureName), -ShaftLeft, 0, -ShaftLeft, -46.25, FloorHeight, (FloorHeight * 2), 92.5 * 0.086, 2
+                ShaftsFloor(FloorID).AddWall GetTex(TextureName), ShaftLeft, -46.25, ShaftRight, -46.25, (FloorHeight * 2), FloorHeight, 20 * 0.086, 4
+                ShaftsFloor(FloorID).AddWall GetTex(TextureName), ShaftLeft, 0, ShaftRight, 0, (FloorHeight * 2), FloorHeight, 20 * 0.086, 4
+                'ShaftsFloor(FloorID).AddWall GetTex(TextureName), ShaftRight, 0, ShaftRight, -46.25, (FloorHeight * 2), FloorHeight, 92.5 * 0.086, 4
+                ShaftsFloor(FloorID).AddWall GetTex(TextureName), -ShaftLeft, -46.25, -ShaftRight, -46.25, (FloorHeight * 2), FloorHeight, 20 * 0.086, 4
+                ShaftsFloor(FloorID).AddWall GetTex(TextureName), -ShaftLeft, 0, -ShaftRight, 0, (FloorHeight * 2), FloorHeight, 20 * 0.086, 4
+                'ShaftsFloor(FloorID).AddWall GetTex(TextureName), -ShaftRight, 0, -ShaftRight, -46.25, (FloorHeight * 2), FloorHeight, 20 * 0.086, 4
+                Shafts2(FloorID).AddWall GetTex("BrickTexture"), ShaftLeft + 0.05, -46.25, ShaftLeft + 0.05, 0, FloorHeight, (FloorHeight * 2), 92.5 * 0.086, 2
+                Shafts1(FloorID).AddWall GetTex("BrickTexture"), -ShaftLeft - 0.05, 0, -ShaftLeft - 0.05, -30.5, FloorHeight, (FloorHeight * 2), 16.25 * 0.086, 2
+                Shafts2(FloorID).AddWall GetTex("BrickTexture"), ShaftLeft, -46.25 + 0.05, ShaftRight, -46.25 + 0.05, (FloorHeight * 2), FloorHeight, 20 * 0.086, 4
+                Shafts2(FloorID).AddWall GetTex("BrickTexture"), ShaftLeft, 0 - 0.05, ShaftRight, 0 - 0.05, (FloorHeight * 2), FloorHeight, 20 * 0.086, 4
+                'Shafts2(FloorID).AddWall GetTex("BrickTexture"), (ShaftRight - 0.05), 0, (ShaftRight - 0.05), -46.25, (FloorHeight * 2), FloorHeight, 92.5 * 0.086, 4
+                Shafts1(FloorID).AddWall GetTex("BrickTexture"), -ShaftLeft, -30 + 0.05, -ShaftRight, -30 + 0.05, (FloorHeight * 2), FloorHeight, 20 * 0.086, 2
+                Shafts1(FloorID).AddWall GetTex("BrickTexture"), -ShaftLeft, 0 - 0.05, -ShaftRight, 0 - 0.05, (FloorHeight * 2), FloorHeight, 20 * 0.086, 4
+                'Shafts1(FloorID).AddWall GetTex("BrickTexture"), -ShaftRight + 0.05, 0, -ShaftRight + 0.05, -30.5, (FloorHeight * 2), FloorHeight, 16.25 * 0.086, 4
+                End If
+            End If
+                
+            'Main shaft area
+            If SectionNum <> 7 Then
+                ShaftsFloor(FloorID).AddWall GetTex(TextureName), ShaftLeft, ShaftEnd, ShaftRight, ShaftEnd, FloorHeight, (q * FloorHeight) + FloorHeight, 20 * 0.086, 2
+                If ShaftNum = 1 Or ShaftNum = 2 Then Shafts2(FloorID).AddWall GetTex("BrickTexture"), ShaftLeft, ShaftEnd - 0.05, ShaftRight, ShaftEnd - 0.05, FloorHeight, (q * FloorHeight) + FloorHeight, 20 * 0.086, 2
+                If ShaftNum = 3 Or ShaftNum = 4 Then Shafts4(FloorID).AddWall GetTex("BrickTexture"), ShaftLeft, ShaftEnd - 0.05, ShaftRight, ShaftEnd - 0.05, FloorHeight, (q * FloorHeight) + FloorHeight, 20 * 0.086, 2
+                If OpenShaft = False And JoinShafts = False Then
+                ShaftsFloor(FloorID).AddWall GetTex(TextureName), ShaftRight, ShaftEnd, ShaftRight, -46.25, FloorHeight, (q * FloorHeight) + FloorHeight, (46.25 + ShaftEnd) * 0.086, 2
+                If ShaftNum = 1 Or ShaftNum = 2 Then Shafts2(FloorID).AddWall GetTex("BrickTexture"), (ShaftRight - 0.05), ShaftEnd, (ShaftRight - 0.05), -46.25, FloorHeight, (q * FloorHeight) + FloorHeight, (46.25 + ShaftEnd) * 0.086, 2
+                If ShaftNum = 3 Or ShaftNum = 4 Then Shafts4(FloorID).AddWall GetTex("BrickTexture"), (ShaftRight - 0.05), ShaftEnd, (ShaftRight - 0.05), -46.25, FloorHeight, (q * FloorHeight) + FloorHeight, (46.25 + ShaftEnd) * 0.086, 2
+                End If
+                If OpenShaft = True And JoinShafts = False Then
+                ShaftsFloor(FloorID).AddWall GetTex(TextureName), ShaftRight, ShaftEnd, ShaftRight, -34, FloorHeight, (q * FloorHeight) + FloorHeight, (34 + ShaftEnd) * 0.086, 2
+                If ShaftNum = 1 Or ShaftNum = 2 Then Shafts2(FloorID).AddWall GetTex("BrickTexture"), (ShaftRight - 0.05), ShaftEnd, (ShaftRight - 0.05), -34, FloorHeight, (q * FloorHeight) + FloorHeight, (34 + ShaftEnd) * 0.086, 2
+                If ShaftNum = 3 Or ShaftNum = 4 Then Shafts4(FloorID).AddWall GetTex("BrickTexture"), (ShaftRight - 0.05), ShaftEnd, (ShaftRight - 0.05), -34, FloorHeight, (q * FloorHeight) + FloorHeight, (34 + ShaftEnd) * 0.086, 2
+                End If
+                ShaftsFloor(FloorID).AddWall GetTex(TextureName), -ShaftLeft, ShaftEnd, -ShaftRight, ShaftEnd, FloorHeight, (q * FloorHeight) + FloorHeight, 20 * 0.086, 2
+                If JoinShafts = False Then ShaftsFloor(FloorID).AddWall GetTex(TextureName), -ShaftRight, ShaftEnd, -ShaftRight, -46.25, FloorHeight, (q * FloorHeight) + FloorHeight, (46.25 + ShaftEnd) * 0.086, 2
+                If ShaftNum = 1 Or ShaftNum = 2 Then
+                Shafts1(FloorID).AddWall GetTex("BrickTexture"), -ShaftLeft, ShaftEnd - 0.05, -ShaftRight, ShaftEnd - 0.05, FloorHeight, (q * FloorHeight) + FloorHeight, 20 * 0.086, 2
+                    If JoinShafts = False Then Shafts1(FloorID).AddWall GetTex("BrickTexture"), -ShaftRight + 0.05, ShaftEnd, -ShaftRight + 0.05, -30.5, FloorHeight, (q * FloorHeight) + FloorHeight, (30 + ShaftEnd) * 0.086, 2
+                End If
+                If ShaftNum = 3 Or ShaftNum = 4 Then
+                Shafts3(FloorID).AddWall GetTex("BrickTexture"), -ShaftLeft, ShaftEnd - 0.05, -ShaftRight, ShaftEnd - 0.05, FloorHeight, (q * FloorHeight) + FloorHeight, 20 * 0.086, 2
+                    If JoinShafts = False Then Shafts3(FloorID).AddWall GetTex("BrickTexture"), -ShaftRight + 0.05, ShaftEnd, -ShaftRight + 0.05, -30.5, FloorHeight, (q * FloorHeight) + FloorHeight, (30 + ShaftEnd) * 0.086, 2
+                End If
+            End If
+            If SectionNum = 7 Then
+                ShaftsFloor(FloorID).AddWall GetTex(TextureName), -ShaftLeft, ShaftEnd, -ShaftRight, ShaftEnd, FloorHeight, (q * FloorHeight) + FloorHeight, 20 * 0.086, 2
+                ShaftsFloor(FloorID).AddWall GetTex(TextureName), -ShaftRight, ShaftEnd, -ShaftRight, -46.25, FloorHeight, (q * FloorHeight) + FloorHeight, (46.25 + ShaftEnd) * 0.086, 2
+                Shafts1(FloorID).AddWall GetTex("BrickTexture"), -ShaftLeft, ShaftEnd - 0.05, -ShaftRight, ShaftEnd - 0.05, FloorHeight, (q * FloorHeight) + FloorHeight, 20 * 0.086, 2
+                Shafts1(FloorID).AddWall GetTex("BrickTexture"), -ShaftRight + 0.05, ShaftEnd, -ShaftRight + 0.05, -30.5, FloorHeight, (q * FloorHeight) + FloorHeight, (30 + ShaftEnd) * 0.086, 2
+            End If
+    
+    Call DrawElevatorWalls2(FloorID, SectionNum, ShaftNum, JoinShafts, OpenShaft, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10)
+    
+End Sub
+Sub DrawElevatorWalls2(FloorID As Integer, SectionNum As Integer, ShaftNum As Integer, JoinShafts As Boolean, OpenShaft As Boolean, e1 As Boolean, e2 As Boolean, e3 As Boolean, e4 As Boolean, e5 As Boolean, e6 As Boolean, e7 As Boolean, e8 As Boolean, e9 As Boolean, e10 As Boolean)
+Dim TextureName As String
+Dim ShaftEnd As Single
+Dim ShaftLeft As Single
+Dim ShaftRight As Single
+Dim q
+
+If SectionNum = 1 Then TextureName = "Wall2"
+If SectionNum > 1 And SectionNum < 7 Then TextureName = "Wall1"
+If SectionNum = 7 Then TextureName = "BrickTexture"
+If FloorID = 1 Then TextureName = "Wall2"
+
+If ShaftNum = 1 Then ShaftLeft = 12.5: ShaftRight = 32.5
+If ShaftNum = 2 Then ShaftLeft = 52.5: ShaftRight = 32.5
+If ShaftNum = 3 Then ShaftLeft = 90.5: ShaftRight = 110.5
+If ShaftNum = 4 Then ShaftLeft = 130.5: ShaftRight = 110.5
+
+q = FloorID
+If FloorID = 1 Then q = -1
+
+If SectionNum <= 2 Then ShaftEnd = 46.25
+        If SectionNum = 3 Then ShaftEnd = 30.83
+        If SectionNum = 4 Then ShaftEnd = 15.41
+        If SectionNum = 5 Then ShaftEnd = 0
+        If SectionNum >= 6 Then ShaftEnd = -15.42
+       
+'Exterior Doors
+    If q = -1 Then
+        If e1 = True And (ShaftNum = 1 Or ShaftNum = 2) Then Shafts1(1).AddWall GetTex("ElevDoors"), -(ShaftLeft + 0.05), -16, -(ShaftLeft + 0.05), -30, 19.6, 0, 1, 1
+        If e1 = True And (ShaftNum = 3 Or ShaftNum = 4) Then Shafts3(1).AddWall GetTex("ElevDoors"), -(ShaftLeft + 0.05), -16, -(ShaftLeft + 0.05), -30, 19.6, 0, 1, 1
+        
+        If ShaftNum = 1 Or ShaftNum = 2 Then Shafts1(1).AddWall GetTex("ElevDoors"), -(ShaftLeft + 0.05), -16, -(ShaftLeft + 0.05), -30, 19.6, FloorHeight, 1, 1
+        
+        If e2 = True And (ShaftNum = 1 Or ShaftNum = 2) Then Shafts2(1).AddWall GetTex("ElevDoors"), (ShaftLeft + 0.05) + 0.05, -16, (ShaftLeft + 0.05) + 0.05, -30, 19.6, 0, 1, 1
+        If e2 = True And (ShaftNum = 3 Or ShaftNum = 4) Then Shafts2(1).AddWall GetTex("ElevDoors"), (ShaftLeft + 0.05) + 0.05, -16, (ShaftLeft + 0.05) + 0.05, -30, 19.6, 0, 1, 1
+        
+        If ShaftNum = 1 Then
+        Shafts2(1).AddWall GetTex("ElevDoors"), (ShaftLeft + 0.05), -16, (ShaftLeft + 0.05), -30, 19.6, FloorHeight, 1, 1
+        End If
+        If ShaftNum = 2 Then
+        Shafts2(1).AddWall GetTex("ElevDoors"), (ShaftLeft + 0.05), -16, (ShaftLeft + 0.05), -30, 19.6, FloorHeight, 1, 1
+        End If
+        
+        If e3 = True And (ShaftNum = 1 Or ShaftNum = 2) Then Shafts1(1).AddWall GetTex("ElevDoors"), -(ShaftLeft + 0.05), -16 + (15 * 1), -(ShaftLeft + 0.05), -30 + (15 * 1), 19.6, 0, 1, 1
+        If e3 = True And (ShaftNum = 3 Or ShaftNum = 4) Then Shafts3(1).AddWall GetTex("ElevDoors"), -(ShaftLeft + 0.05), -16 + (15 * 1), -(ShaftLeft + 0.05), -30 + (15 * 1), 19.6, 0, 1, 1
+        
+        If e4 = True And (ShaftNum = 1 Or ShaftNum = 2) Then Shafts2(1).AddWall GetTex("ElevDoors"), (ShaftLeft + 0.05), -16 + (15 * 1), (ShaftLeft + 0.05), -30 + (15 * 1), 19.6, 0, 1, 1
+        If e4 = True And (ShaftNum = 3 Or ShaftNum = 4) Then Shafts4(1).AddWall GetTex("ElevDoors"), (ShaftLeft + 0.05), -16 + (15 * 1), (ShaftLeft + 0.05), -30 + (15 * 1), 19.6, 0, 1, 1
+        
+        If e5 = True And (ShaftNum = 1 Or ShaftNum = 2) Then Shafts1(1).AddWall GetTex("ElevDoors"), -(ShaftLeft + 0.05), -16 + (15 * 2), -(ShaftLeft + 0.05), -30 + (15 * 2), 19.6, 0, 1, 1
+        If e5 = True And (ShaftNum = 3 Or ShaftNum = 4) Then Shafts3(1).AddWall GetTex("ElevDoors"), -(ShaftLeft + 0.05), -16 + (15 * 2), -(ShaftLeft + 0.05), -30 + (15 * 2), 19.6, 0, 1, 1
+        
+        If e6 = True And (ShaftNum = 1 Or ShaftNum = 2) Then Shafts2(1).AddWall GetTex("ElevDoors"), (ShaftLeft + 0.05), -16 + (15 * 2), (ShaftLeft + 0.05), -30 + (15 * 2), 19.6, 0, 1, 1
+        If e6 = True And (ShaftNum = 3 Or ShaftNum = 4) Then Shafts4(1).AddWall GetTex("ElevDoors"), (ShaftLeft + 0.05), -16 + (15 * 2), (ShaftLeft + 0.05), -30 + (15 * 2), 19.6, 0, 1, 1
+        
+        If e7 = True And (ShaftNum = 1 Or ShaftNum = 2) Then Shafts1(1).AddWall GetTex("ElevDoors"), -(ShaftLeft + 0.05), -16 + (15 * 3), -(ShaftLeft + 0.05), -30 + (15 * 3), 19.6, 0, 1, 1
+        If e7 = True And (ShaftNum = 3 Or ShaftNum = 4) Then Shafts3(1).AddWall GetTex("ElevDoors"), -(ShaftLeft + 0.05), -16 + (15 * 3), -(ShaftLeft + 0.05), -30 + (15 * 3), 19.6, 0, 1, 1
+        
+        If e8 = True And (ShaftNum = 1 Or ShaftNum = 2) Then Shafts2(1).AddWall GetTex("ElevDoors"), (ShaftLeft + 0.05), -16 + (15 * 3), (ShaftLeft + 0.05), -30 + (15 * 3), 19.6, 0, 1, 1
+        If e8 = True And (ShaftNum = 3 Or ShaftNum = 4) Then Shafts4(1).AddWall GetTex("ElevDoors"), (ShaftLeft + 0.05), -16 + (15 * 3), (ShaftLeft + 0.05), -30 + (15 * 3), 19.6, 0, 1, 1
+        
+        If e9 = True And (ShaftNum = 1 Or ShaftNum = 2) Then Shafts1(1).AddWall GetTex("ElevDoors"), -(ShaftLeft + 0.05), -16 + (15 * 4), -(ShaftLeft + 0.05), -30 + (15 * 4), 19.6, 0, 1, 1
+        If e9 = True And (ShaftNum = 3 Or ShaftNum = 4) Then Shafts3(1).AddWall GetTex("ElevDoors"), -(ShaftLeft + 0.05), -16 + (15 * 4), -(ShaftLeft + 0.05), -30 + (15 * 4), 19.6, 0, 1, 1
+        
+        If e10 = True And (ShaftNum = 1 Or ShaftNum = 2) Then Shafts2(1).AddWall GetTex("ElevDoors"), (ShaftLeft + 0.05), -16 + (15 * 4), (ShaftLeft + 0.05), -30 + (15 * 4), 19.6, 0, 1, 1
+        If e10 = True And (ShaftNum = 3 Or ShaftNum = 4) Then Shafts4(1).AddWall GetTex("ElevDoors"), (ShaftLeft + 0.05), -16 + (15 * 4), (ShaftLeft + 0.05), -30 + (15 * 4), 19.6, 0, 1, 1
+        
+        'elev 1
+        If e1 = True Then
+        Room(1).AddWall GetTex("ElevExtPanels"), -ShaftLeft, -16, -ShaftLeft, -19, 19.6, 0, 0.5, 1
+        Room(1).AddWall GetTex("ElevExtPanels"), -ShaftLeft, -30, -ShaftLeft, -27, 19.6, 0, 0.5, 1
+        End If
+        'elev 2
+        If e2 = True Then
+        Room(1).AddWall GetTex("ElevExtPanels"), ShaftLeft, -16, ShaftLeft, -19, 19.6, 0, 0.5, 1
+        Room(1).AddWall GetTex("ElevExtPanels"), ShaftLeft, -30, ShaftLeft, -27, 19.6, 0, 0.5, 1
+        End If
+        'elev 3
+        If e3 = True Then
+        Room(1).AddWall GetTex("ElevExtPanels"), -ShaftLeft, -16 + (15 * 1), -ShaftLeft, -19 + (15 * 1), 19.6, 0, 0.5, 1
+        Room(1).AddWall GetTex("ElevExtPanels"), -ShaftLeft, -30 + (15 * 1), -ShaftLeft, -27 + (15 * 1), 19.6, 0, 0.5, 1
+        End If
+        'elev 4
+        If e4 = True Then
+        Room(1).AddWall GetTex("ElevExtPanels"), ShaftLeft, -16 + (15 * 1), ShaftLeft, -19 + (15 * 1), 19.6, 0, 0.5, 1
+        Room(1).AddWall GetTex("ElevExtPanels"), ShaftLeft, -30 + (15 * 1), ShaftLeft, -27 + (15 * 1), 19.6, 0, 0.5, 1
+        End If
+        'elev 5
+        If e5 = True Then
+        Room(1).AddWall GetTex("ElevExtPanels"), -ShaftLeft, -16 + (15 * 2), -ShaftLeft, -19 + (15 * 2), 19.6, 0, 0.5, 1
+        Room(1).AddWall GetTex("ElevExtPanels"), -ShaftLeft, -30 + (15 * 2), -ShaftLeft, -27 + (15 * 2), 19.6, 0, 0.5, 1
+        End If
+        'elev 6
+        If e6 = True Then
+        Room(1).AddWall GetTex("ElevExtPanels"), ShaftLeft, -16 + (15 * 2), ShaftLeft, -19 + (15 * 2), 19.6, 0, 0.5, 1
+        Room(1).AddWall GetTex("ElevExtPanels"), ShaftLeft, -30 + (15 * 2), ShaftLeft, -27 + (15 * 2), 19.6, 0, 0.5, 1
+        End If
+        'elev 7
+        If e7 = True Then
+        Room(1).AddWall GetTex("ElevExtPanels"), -ShaftLeft, -16 + (15 * 3), -ShaftLeft, -19 + (15 * 3), 19.6, 0, 0.5, 1
+        Room(1).AddWall GetTex("ElevExtPanels"), -ShaftLeft, -30 + (15 * 3), -ShaftLeft, -27 + (15 * 3), 19.6, 0, 0.5, 1
+        End If
+        'elev 8
+        If e8 = True Then
+        Room(1).AddWall GetTex("ElevExtPanels"), ShaftLeft, -16 + (15 * 3), ShaftLeft, -19 + (15 * 3), 19.6, 0, 0.5, 1
+        Room(1).AddWall GetTex("ElevExtPanels"), ShaftLeft, -30 + (15 * 3), ShaftLeft, -27 + (15 * 3), 19.6, 0, 0.5, 1
+        End If
+        'elev 9
+        If e9 = True Then
+        Room(1).AddWall GetTex("ElevExtPanels"), -ShaftLeft, -16 + (15 * 4), -ShaftLeft, -19 + (15 * 4), 19.6, 0, 0.5, 1
+        Room(1).AddWall GetTex("ElevExtPanels"), -ShaftLeft, -30 + (15 * 4), -ShaftLeft, -27 + (15 * 4), 19.6, 0, 0.5, 1
+        End If
+        'elev 10
+        If e10 = True Then
+        Room(1).AddWall GetTex("ElevExtPanels"), ShaftLeft, -16 + (15 * 4), ShaftLeft, -19 + (15 * 4), 19.6, 0, 0.5, 1
+        Room(1).AddWall GetTex("ElevExtPanels"), ShaftLeft, -30 + (15 * 4), ShaftLeft, -27 + (15 * 4), 19.6, 0, 0.5, 1
+        End If
+        
+        If ShaftNum = 1 Then
+        'elev 1
+        Room(1).AddWall GetTex("ElevExtPanels"), -ShaftLeft, -16, -ShaftLeft, -19, 19.6, FloorHeight, 0.5, 1
+        Room(1).AddWall GetTex("ElevExtPanels"), -ShaftLeft, -30, -ShaftLeft, -27, 19.6, FloorHeight, 0.5, 1
+        'elev 2
+        Room(1).AddWall GetTex("ElevExtPanels"), ShaftLeft, -16, ShaftLeft, -19, 19.6, FloorHeight, 0.5, 1
+        Room(1).AddWall GetTex("ElevExtPanels"), ShaftLeft, -30, ShaftLeft, -27, 19.6, FloorHeight, 0.5, 1
+        End If
+    End If
+    
+    If e1 = True Then
+    If ShaftNum = 1 Then
+    Shafts1(FloorID).AddWall GetTex("ElevDoors"), -(ShaftLeft + 0.05), -16, -(ShaftLeft + 0.05), -30, 19.6, (q * FloorHeight) + FloorHeight, 1, 1
+    End If
+    If ShaftNum = 2 Then
+    Shafts1(FloorID).AddWall GetTex("ElevDoors"), -(ShaftLeft + 0.05), -16, -(ShaftLeft + 0.05), -30, 19.6, (q * FloorHeight) + FloorHeight, 1, 1
+    End If
+    If ShaftNum = 3 Then
+    Shafts3(FloorID).AddWall GetTex("ElevDoors"), -(ShaftLeft + 0.05), -16, -(ShaftLeft + 0.05), -30, 19.6, (q * FloorHeight) + FloorHeight, 1, 1
+    End If
+    If ShaftNum = 4 Then
+    Shafts3(FloorID).AddWall GetTex("ElevDoors"), -(ShaftLeft + 0.05), -16, -(ShaftLeft + 0.05), -30, 19.6, (q * FloorHeight) + FloorHeight, 1, 1
+    End If
+    
+    Room(FloorID).AddWall GetTex("ElevExtPanels"), -ShaftLeft, -16, -ShaftLeft, -19, 19.6, (q * FloorHeight) + FloorHeight, 0.5, 1
+    Room(FloorID).AddWall GetTex("ElevExtPanels"), -ShaftLeft, -30, -ShaftLeft, -27, 19.6, (q * FloorHeight) + FloorHeight, 0.5, 1
+    End If
+    
+    If e2 = True Then
+    If ShaftNum = 1 Then
+    Shafts2(FloorID).AddWall GetTex("ElevDoors"), (ShaftLeft + 0.05), -16, (ShaftLeft + 0.05), -30, 19.6, (q * FloorHeight) + FloorHeight, 1, 1
+    End If
+    If ShaftNum = 2 Then
+    Shafts2(FloorID).AddWall GetTex("ElevDoors"), (ShaftLeft + 0.05), -16, (ShaftLeft + 0.05), -30, 19.6, (q * FloorHeight) + FloorHeight, 1, 1
+    End If
+    If ShaftNum = 3 Then
+    Shafts4(FloorID).AddWall GetTex("ElevDoors"), (ShaftLeft + 0.05), -16, (ShaftLeft + 0.05), -30, 19.6, (q * FloorHeight) + FloorHeight, 1, 1
+    End If
+    If ShaftNum = 4 Then
+    Shafts4(FloorID).AddWall GetTex("ElevDoors"), (ShaftLeft + 0.05), -16, (ShaftLeft + 0.05), -30, 19.6, (q * FloorHeight) + FloorHeight, 1, 1
+    End If
+    
+    'elev 2
+    Room(FloorID).AddWall GetTex("ElevExtPanels"), ShaftLeft, -16, ShaftLeft, -19, 19.6, (q * FloorHeight) + FloorHeight, 0.5, 1
+    Room(FloorID).AddWall GetTex("ElevExtPanels"), ShaftLeft, -30, ShaftLeft, -27, 19.6, (q * FloorHeight) + FloorHeight, 0.5, 1
+    End If
+    
+    If e3 = True Then
+    If ShaftNum = 1 Then
+    Shafts1(FloorID).AddWall GetTex("ElevDoors"), -(ShaftLeft + 0.05), -16 + (15 * 1), -(ShaftLeft + 0.05), -30 + (15 * 1), 19.6, (q * FloorHeight) + FloorHeight, 1, 1
+    End If
+    If ShaftNum = 2 Then
+    Shafts1(FloorID).AddWall GetTex("ElevDoors"), -(ShaftLeft + 0.05), -16 + (15 * 1), -(ShaftLeft + 0.05), -30 + (15 * 1), 19.6, (q * FloorHeight) + FloorHeight, 1, 1
+    End If
+    If ShaftNum = 3 Then
+    Shafts3(FloorID).AddWall GetTex("ElevDoors"), -(ShaftLeft + 0.05), -16 + (15 * 1), -(ShaftLeft + 0.05), -30 + (15 * 1), 19.6, (q * FloorHeight) + FloorHeight, 1, 1
+    End If
+    If ShaftNum = 4 Then
+    Shafts3(FloorID).AddWall GetTex("ElevDoors"), -(ShaftLeft + 0.05), -16 + (15 * 1), -(ShaftLeft + 0.05), -30 + (15 * 1), 19.6, (q * FloorHeight) + FloorHeight, 1, 1
+    End If
+    Room(FloorID).AddWall GetTex("ElevExtPanels"), -ShaftLeft, -16 + (15 * 1), -ShaftLeft, -19 + (15 * 1), 19.6, (q * FloorHeight) + FloorHeight, 0.5, 1
+    Room(FloorID).AddWall GetTex("ElevExtPanels"), -ShaftLeft, -30 + (15 * 1), -ShaftLeft, -27 + (15 * 1), 19.6, (q * FloorHeight) + FloorHeight, 0.5, 1
+    End If
+    
+    If e4 = True Then
+    If ShaftNum = 1 Then
+    Shafts2(FloorID).AddWall GetTex("ElevDoors"), (ShaftLeft + 0.05), -16 + (15 * 1), (ShaftLeft + 0.05), -30 + (15 * 1), 19.6, (q * FloorHeight) + FloorHeight, 1, 1
+    End If
+    If ShaftNum = 2 Then
+    Shafts2(FloorID).AddWall GetTex("ElevDoors"), (ShaftLeft + 0.05), -16 + (15 * 1), (ShaftLeft + 0.05), -30 + (15 * 1), 19.6, (q * FloorHeight) + FloorHeight, 1, 1
+    End If
+    If ShaftNum = 3 Then
+    Shafts4(FloorID).AddWall GetTex("ElevDoors"), (ShaftLeft + 0.05), -16 + (15 * 1), (ShaftLeft + 0.05), -30 + (15 * 1), 19.6, (q * FloorHeight) + FloorHeight, 1, 1
+    End If
+    If ShaftNum = 4 Then
+    Shafts4(FloorID).AddWall GetTex("ElevDoors"), (ShaftLeft + 0.05), -16 + (15 * 1), (ShaftLeft + 0.05), -30 + (15 * 1), 19.6, (q * FloorHeight) + FloorHeight, 1, 1
+    End If
+    Room(FloorID).AddWall GetTex("ElevExtPanels"), ShaftLeft, -16 + (15 * 1), ShaftLeft, -19 + (15 * 1), 19.6, (q * FloorHeight) + FloorHeight, 0.5, 1
+    Room(FloorID).AddWall GetTex("ElevExtPanels"), ShaftLeft, -30 + (15 * 1), ShaftLeft, -27 + (15 * 1), 19.6, (q * FloorHeight) + FloorHeight, 0.5, 1
+    End If
+    
+    If e5 = True Then
+    If ShaftNum = 1 Then
+    Shafts1(FloorID).AddWall GetTex("ElevDoors"), -(ShaftLeft + 0.05), -16 + (15 * 2), -(ShaftLeft + 0.05), -30 + (15 * 2), 19.6, (q * FloorHeight) + FloorHeight, 1, 1
+    End If
+    If ShaftNum = 2 Then
+    Shafts1(FloorID).AddWall GetTex("ElevDoors"), -(ShaftLeft + 0.05), -16 + (15 * 2), -(ShaftLeft + 0.05), -30 + (15 * 2), 19.6, (q * FloorHeight) + FloorHeight, 1, 1
+    End If
+    If ShaftNum = 3 Then
+    Shafts3(FloorID).AddWall GetTex("ElevDoors"), -(ShaftLeft + 0.05), -16 + (15 * 2), -(ShaftLeft + 0.05), -30 + (15 * 2), 19.6, (q * FloorHeight) + FloorHeight, 1, 1
+    End If
+    If ShaftNum = 4 Then
+    Shafts3(FloorID).AddWall GetTex("ElevDoors"), -(ShaftLeft + 0.05), -16 + (15 * 2), -(ShaftLeft + 0.05), -30 + (15 * 2), 19.6, (q * FloorHeight) + FloorHeight, 1, 1
+    End If
+    Room(FloorID).AddWall GetTex("ElevExtPanels"), -ShaftLeft, -16 + (15 * 2), -ShaftLeft, -19 + (15 * 2), 19.6, (q * FloorHeight) + FloorHeight, 0.5, 1
+    Room(FloorID).AddWall GetTex("ElevExtPanels"), -ShaftLeft, -30 + (15 * 2), -ShaftLeft, -27 + (15 * 2), 19.6, (q * FloorHeight) + FloorHeight, 0.5, 1
+    End If
+    
+    If e6 = True Then
+    If ShaftNum = 1 Then
+    Shafts2(FloorID).AddWall GetTex("ElevDoors"), (ShaftLeft + 0.05), -16 + (15 * 2), (ShaftLeft + 0.05), -30 + (15 * 2), 19.6, (q * FloorHeight) + FloorHeight, 1, 1
+    End If
+    If ShaftNum = 2 Then
+    Shafts2(FloorID).AddWall GetTex("ElevDoors"), (ShaftLeft + 0.05), -16 + (15 * 2), (ShaftLeft + 0.05), -30 + (15 * 2), 19.6, (q * FloorHeight) + FloorHeight, 1, 1
+    End If
+    If ShaftNum = 3 Then
+    Shafts4(FloorID).AddWall GetTex("ElevDoors"), (ShaftLeft + 0.05), -16 + (15 * 2), (ShaftLeft + 0.05), -30 + (15 * 2), 19.6, (q * FloorHeight) + FloorHeight, 1, 1
+    End If
+    If ShaftNum = 4 Then
+    Shafts4(FloorID).AddWall GetTex("ElevDoors"), (ShaftLeft + 0.05), -16 + (15 * 2), (ShaftLeft + 0.05), -30 + (15 * 2), 19.6, (q * FloorHeight) + FloorHeight, 1, 1
+    End If
+    Room(FloorID).AddWall GetTex("ElevExtPanels"), ShaftLeft, -16 + (15 * 2), ShaftLeft, -19 + (15 * 2), 19.6, (q * FloorHeight) + FloorHeight, 0.5, 1
+    Room(FloorID).AddWall GetTex("ElevExtPanels"), ShaftLeft, -30 + (15 * 2), ShaftLeft, -27 + (15 * 2), 19.6, (q * FloorHeight) + FloorHeight, 0.5, 1
+    End If
+    
+    If e7 = True Then
+    If ShaftNum = 1 Then
+    Shafts1(FloorID).AddWall GetTex("ElevDoors"), -(ShaftLeft + 0.05), -16 + (15 * 3), -(ShaftLeft + 0.05), -30 + (15 * 3), 19.6, (q * FloorHeight) + FloorHeight, 1, 1
+    End If
+    If ShaftNum = 2 Then
+    Shafts1(FloorID).AddWall GetTex("ElevDoors"), -(ShaftLeft + 0.05), -16 + (15 * 3), -(ShaftLeft + 0.05), -30 + (15 * 3), 19.6, (q * FloorHeight) + FloorHeight, 1, 1
+    End If
+    If ShaftNum = 3 Then
+    Shafts3(FloorID).AddWall GetTex("ElevDoors"), -(ShaftLeft + 0.05), -16 + (15 * 3), -(ShaftLeft + 0.05), -30 + (15 * 3), 19.6, (q * FloorHeight) + FloorHeight, 1, 1
+    End If
+    If ShaftNum = 4 Then
+    Shafts3(FloorID).AddWall GetTex("ElevDoors"), -(ShaftLeft + 0.05), -16 + (15 * 3), -(ShaftLeft + 0.05), -30 + (15 * 3), 19.6, (q * FloorHeight) + FloorHeight, 1, 1
+    End If
+    Room(FloorID).AddWall GetTex("ElevExtPanels"), -ShaftLeft, -16 + (15 * 3), -ShaftLeft, -19 + (15 * 3), 19.6, (q * FloorHeight) + FloorHeight, 0.5, 1
+    Room(FloorID).AddWall GetTex("ElevExtPanels"), -ShaftLeft, -30 + (15 * 3), -ShaftLeft, -27 + (15 * 3), 19.6, (q * FloorHeight) + FloorHeight, 0.5, 1
+    End If
+    
+    If e8 = True Then
+    If ShaftNum = 1 Then
+    Shafts2(FloorID).AddWall GetTex("ElevDoors"), (ShaftLeft + 0.05), -16 + (15 * 3), (ShaftLeft + 0.05), -30 + (15 * 3), 19.6, (q * FloorHeight) + FloorHeight, 1, 1
+    End If
+    If ShaftNum = 2 Then
+    Shafts2(FloorID).AddWall GetTex("ElevDoors"), (ShaftLeft + 0.05), -16 + (15 * 3), (ShaftLeft + 0.05), -30 + (15 * 3), 19.6, (q * FloorHeight) + FloorHeight, 1, 1
+    End If
+    If ShaftNum = 3 Then
+    Shafts4(FloorID).AddWall GetTex("ElevDoors"), (ShaftLeft + 0.05), -16 + (15 * 3), (ShaftLeft + 0.05), -30 + (15 * 3), 19.6, (q * FloorHeight) + FloorHeight, 1, 1
+    End If
+    If ShaftNum = 4 Then
+    Shafts4(FloorID).AddWall GetTex("ElevDoors"), (ShaftLeft + 0.05), -16 + (15 * 3), (ShaftLeft + 0.05), -30 + (15 * 3), 19.6, (q * FloorHeight) + FloorHeight, 1, 1
+    End If
+    Room(FloorID).AddWall GetTex("ElevExtPanels"), ShaftLeft, -16 + (15 * 3), ShaftLeft, -19 + (15 * 3), 19.6, (q * FloorHeight) + FloorHeight, 0.5, 1
+    Room(FloorID).AddWall GetTex("ElevExtPanels"), ShaftLeft, -30 + (15 * 3), ShaftLeft, -27 + (15 * 3), 19.6, (q * FloorHeight) + FloorHeight, 0.5, 1
+    End If
+    
+    If e9 = True Then
+    If ShaftNum = 1 Then
+    Shafts1(FloorID).AddWall GetTex("ElevDoors"), -(ShaftLeft + 0.05), -16 + (15 * 4), -(ShaftLeft + 0.05), -30 + (15 * 4), 19.6, (q * FloorHeight) + FloorHeight, 1, 1
+    End If
+    If ShaftNum = 2 Then
+    Shafts1(FloorID).AddWall GetTex("ElevDoors"), -(ShaftLeft + 0.05), -16 + (15 * 4), -(ShaftLeft + 0.05), -30 + (15 * 4), 19.6, (q * FloorHeight) + FloorHeight, 1, 1
+    End If
+    If ShaftNum = 3 Then
+    Shafts3(FloorID).AddWall GetTex("ElevDoors"), -(ShaftLeft + 0.05), -16 + (15 * 4), -(ShaftLeft + 0.05), -30 + (15 * 4), 19.6, (q * FloorHeight) + FloorHeight, 1, 1
+    End If
+    If ShaftNum = 4 Then
+    Shafts3(FloorID).AddWall GetTex("ElevDoors"), -(ShaftLeft + 0.05), -16 + (15 * 4), -(ShaftLeft + 0.05), -30 + (15 * 4), 19.6, (q * FloorHeight) + FloorHeight, 1, 1
+    End If
+    Room(FloorID).AddWall GetTex("ElevExtPanels"), -ShaftLeft, -16 + (15 * 4), -ShaftLeft, -19 + (15 * 4), 19.6, (q * FloorHeight) + FloorHeight, 0.5, 1
+    Room(FloorID).AddWall GetTex("ElevExtPanels"), -ShaftLeft, -30 + (15 * 4), -ShaftLeft, -27 + (15 * 4), 19.6, (q * FloorHeight) + FloorHeight, 0.5, 1
+    End If
+    
+    If e10 = True Then
+    If ShaftNum = 1 Then
+    Shafts2(FloorID).AddWall GetTex("ElevDoors"), (ShaftLeft + 0.05), -16 + (15 * 4), (ShaftLeft + 0.05), -30 + (15 * 4), 19.6, (q * FloorHeight) + FloorHeight, 1, 1
+    End If
+    If ShaftNum = 2 Then
+    Shafts2(FloorID).AddWall GetTex("ElevDoors"), (ShaftLeft + 0.05), -16 + (15 * 4), (ShaftLeft + 0.05), -30 + (15 * 4), 19.6, (q * FloorHeight) + FloorHeight, 1, 1
+    End If
+    If ShaftNum = 3 Then
+    Shafts4(FloorID).AddWall GetTex("ElevDoors"), (ShaftLeft + 0.05), -16 + (15 * 4), (ShaftLeft + 0.05), -30 + (15 * 4), 19.6, (q * FloorHeight) + FloorHeight, 1, 1
+    End If
+    If ShaftNum = 4 Then
+    Shafts4(FloorID).AddWall GetTex("ElevDoors"), (ShaftLeft + 0.05), -16 + (15 * 4), (ShaftLeft + 0.05), -30 + (15 * 4), 19.6, (q * FloorHeight) + FloorHeight, 1, 1
+    End If
+    Room(FloorID).AddWall GetTex("ElevExtPanels"), ShaftLeft, -16 + (15 * 4), ShaftLeft, -19 + (15 * 4), 19.6, (q * FloorHeight) + FloorHeight, 0.5, 1
+    Room(FloorID).AddWall GetTex("ElevExtPanels"), ShaftLeft, -30 + (15 * 4), ShaftLeft, -27 + (15 * 4), 19.6, (q * FloorHeight) + FloorHeight, 0.5, 1
+    End If
+        
+End Sub
+
+Sub ProcessRealtime(FloorID As Integer, SectionNum As Integer, ShaftNum As Integer, JoinShafts As Boolean, OpenShaft As Boolean, e1 As Boolean, e2 As Boolean, e3 As Boolean, e4 As Boolean, e5 As Boolean, e6 As Boolean, e7 As Boolean, e8 As Boolean, e9 As Boolean, e10 As Boolean)
+'This subroutine is similar to the DrawElevatorWalls routines, and it is designed to create the external elevator doors and other objects in realtime.
+
+Dim ShaftEnd As Single
+Dim ShaftLeft As Single
+Dim ShaftRight As Single
+Dim q As Integer
+
+q = FloorID
+If FloorID = 1 Then q = -1
+
+If ShaftNum = 1 Then ShaftLeft = 12.5: ShaftRight = 32.5
+If ShaftNum = 2 Then ShaftLeft = 52.5: ShaftRight = 32.5
+If ShaftNum = 3 Then ShaftLeft = 90.5: ShaftRight = 110.5
+If ShaftNum = 4 Then ShaftLeft = 130.5: ShaftRight = 110.5
+
+If SectionNum <= 2 Then ShaftEnd = 46.25
+If SectionNum = 3 Then ShaftEnd = 30.83
+If SectionNum = 4 Then ShaftEnd = 15.41
+If SectionNum = 5 Then ShaftEnd = 0
+If SectionNum >= 6 Then ShaftEnd = -15.42
+
+'Call Button Panels
+    If e1 = True And ShaftNum = 1 Then CallButtons(1).AddWall GetTex("CallButtonsTex"), -(ShaftLeft - 0.01), -18, -(ShaftLeft - 0.01), -17, 1.5, 8.5 + (q * FloorHeight) + FloorHeight, 1, 1
+    If e1 = True And ShaftNum = 1 And FloorID = 1 Then CallButtons(1).AddWall GetTex("CallButtonsTex"), -(ShaftLeft - 0.01), -18, -(ShaftLeft - 0.01), -17, 1.5, 8.5 + (0 * FloorHeight) + FloorHeight, 1, 1
+    If e2 = True And ShaftNum = 1 Then CallButtons(2).AddWall GetTex("CallButtonsTex"), (ShaftLeft - 0.01), -29, (ShaftLeft - 0.01), -28, 1.5, 8.5 + (q * FloorHeight) + FloorHeight, 1, 1
+    If e2 = True And ShaftNum = 1 And FloorID = 1 Then CallButtons(2).AddWall GetTex("CallButtonsTex"), (ShaftLeft - 0.01), -29, (ShaftLeft - 0.01), -28, 1.5, 8.5 + (0 * FloorHeight) + FloorHeight, 1, 1
+    If e3 = True And ShaftNum = 1 Then CallButtons(3).AddWall GetTex("CallButtonsTex"), -(ShaftLeft - 0.01), -18 + (15 * 1), -(ShaftLeft - 0.01), -17 + (15 * 1), 1.5, 8.5 + (q * FloorHeight) + FloorHeight, 1, 1
+    If e4 = True And ShaftNum = 1 Then CallButtons(4).AddWall GetTex("CallButtonsTex"), (ShaftLeft - 0.01), -29 + (15 * 1), (ShaftLeft - 0.01), -28 + (15 * 1), 1.5, 8.5 + (q * FloorHeight) + FloorHeight, 1, 1
+    If e5 = True And ShaftNum = 1 Then CallButtons(5).AddWall GetTex("CallButtonsTex"), -(ShaftLeft - 0.01), -18 + (15 * 2), -(ShaftLeft - 0.01), -17 + (15 * 2), 1.5, 8.5 + (q * FloorHeight) + FloorHeight, 1, 1
+    If e6 = True And ShaftNum = 1 Then CallButtons(6).AddWall GetTex("CallButtonsTex"), (ShaftLeft - 0.01), -29 + (15 * 2), (ShaftLeft - 0.01), -28 + (15 * 2), 1.5, 8.5 + (q * FloorHeight) + FloorHeight, 1, 1
+    If e7 = True And ShaftNum = 1 Then CallButtons(7).AddWall GetTex("CallButtonsTex"), -(ShaftLeft - 0.01), -18 + (15 * 3), -(ShaftLeft - 0.01), -17 + (15 * 3), 1.5, 8.5 + (q * FloorHeight) + FloorHeight, 1, 1
+    If e8 = True And ShaftNum = 1 Then CallButtons(8).AddWall GetTex("CallButtonsTex"), (ShaftLeft - 0.01), -29 + (15 * 3), (ShaftLeft - 0.01), -28 + (15 * 3), 1.5, 8.5 + (q * FloorHeight) + FloorHeight, 1, 1
+    If e9 = True And ShaftNum = 1 Then CallButtons(9).AddWall GetTex("CallButtonsTex"), -(ShaftLeft - 0.01), -18 + (15 * 4), -(ShaftLeft - 0.01), -17 + (15 * 4), 1.5, 8.5 + (q * FloorHeight) + FloorHeight, 1, 1
+    If e10 = True And ShaftNum = 1 Then CallButtons(10).AddWall GetTex("CallButtonsTex"), (ShaftLeft - 0.01), -29 + (15 * 4), (ShaftLeft - 0.01), -28 + (15 * 4), 1.5, 8.5 + (q * FloorHeight) + FloorHeight, 1, 1
+    
+    If e2 = True And ShaftNum = 2 Then CallButtons(12).AddWall GetTex("CallButtonsTex"), (ShaftLeft + 0.01), -18, (ShaftLeft + 0.01), -17, 1.5, 8.5 + (q * FloorHeight) + FloorHeight, 1, 1
+    'If e2 = True And ShaftNum = 2 And FloorID = 1 Then CallButtons(12).AddWall GetTex("CallButtonsTex"), (ShaftLeft + 0.01), -18, (ShaftLeft + 0.01), -17, 1.5, 8.5 + (0 * FloorHeight) + FloorHeight, 1, 1
+    If e1 = True And ShaftNum = 2 Then CallButtons(11).AddWall GetTex("CallButtonsTex"), -(ShaftLeft + 0.01), -29, -(ShaftLeft + 0.01), -28, 1.5, 8.5 + (q * FloorHeight) + FloorHeight, 1, 1
+    'If e1 = True And ShaftNum = 2 And FloorID = 1 Then CallButtons(11).AddWall GetTex("CallButtonsTex"), -(ShaftLeft + 0.01), -29, -(ShaftLeft + 0.01), -28, 1.5, 8.5 + (0 * FloorHeight) + FloorHeight, 1, 1
+    If e4 = True And ShaftNum = 2 Then CallButtons(14).AddWall GetTex("CallButtonsTex"), (ShaftLeft + 0.01), -18 + (15 * 1), (ShaftLeft + 0.01), -17 + (15 * 1), 1.5, 8.5 + (q * FloorHeight) + FloorHeight, 1, 1
+    If e3 = True And ShaftNum = 2 Then CallButtons(13).AddWall GetTex("CallButtonsTex"), -(ShaftLeft + 0.01), -29 + (15 * 1), -(ShaftLeft + 0.01), -28 + (15 * 1), 1.5, 8.5 + (q * FloorHeight) + FloorHeight, 1, 1
+    If e6 = True And ShaftNum = 2 Then CallButtons(16).AddWall GetTex("CallButtonsTex"), (ShaftLeft + 0.01), -18 + (15 * 2), (ShaftLeft + 0.01), -17 + (15 * 2), 1.5, 8.5 + (q * FloorHeight) + FloorHeight, 1, 1
+    If e5 = True And ShaftNum = 2 Then CallButtons(15).AddWall GetTex("CallButtonsTex"), -(ShaftLeft + 0.01), -29 + (15 * 2), -(ShaftLeft + 0.01), -28 + (15 * 2), 1.5, 8.5 + (q * FloorHeight) + FloorHeight, 1, 1
+    If e8 = True And ShaftNum = 2 Then CallButtons(18).AddWall GetTex("CallButtonsTex"), (ShaftLeft + 0.01), -18 + (15 * 3), (ShaftLeft + 0.01), -17 + (15 * 3), 1.5, 8.5 + (q * FloorHeight) + FloorHeight, 1, 1
+    If e7 = True And ShaftNum = 2 Then CallButtons(17).AddWall GetTex("CallButtonsTex"), -(ShaftLeft + 0.01), -29 + (15 * 3), -(ShaftLeft + 0.01), -28 + (15 * 3), 1.5, 8.5 + (q * FloorHeight) + FloorHeight, 1, 1
+    If e10 = True And ShaftNum = 2 Then CallButtons(20).AddWall GetTex("CallButtonsTex"), (ShaftLeft + 0.01), -18 + (15 * 4), (ShaftLeft + 0.01), -17 + (15 * 4), 1.5, 8.5 + (q * FloorHeight) + FloorHeight, 1, 1
+    If e9 = True And ShaftNum = 2 Then CallButtons(19).AddWall GetTex("CallButtonsTex"), -(ShaftLeft + 0.01), -29 + (15 * 4), -(ShaftLeft + 0.01), -28 + (15 * 4), 1.5, 8.5 + (q * FloorHeight) + FloorHeight, 1, 1
+    
+    
+    If e1 = True And ShaftNum = 3 Then CallButtons(21).AddWall GetTex("CallButtonsTex"), -(ShaftLeft - 0.01), -18, -(ShaftLeft - 0.01), -17, 1.5, 8.5 + (q * FloorHeight) + FloorHeight, 1, 1
+    'If e1 = True And ShaftNum = 3 And FloorID = 1 Then CallButtons(21).AddWall GetTex("CallButtonsTex"), -(ShaftLeft - 0.01), -18, -(ShaftLeft - 0.01), -17, 1.5, 8.5 + (0 * FloorHeight) + FloorHeight, 1, 1
+    If e2 = True And ShaftNum = 3 Then CallButtons(22).AddWall GetTex("CallButtonsTex"), (ShaftLeft - 0.01), -29, (ShaftLeft - 0.01), -28, 1.5, 8.5 + (q * FloorHeight) + FloorHeight, 1, 1
+    'If e2 = True And ShaftNum = 3 And FloorID = 1 Then CallButtons(22).AddWall GetTex("CallButtonsTex"), (ShaftLeft - 0.01), -29, (ShaftLeft - 0.01), -28, 1.5, 8.5 + (0 * FloorHeight) + FloorHeight, 1, 1
+    If e3 = True And ShaftNum = 3 Then CallButtons(23).AddWall GetTex("CallButtonsTex"), -(ShaftLeft - 0.01), -18 + (15 * 1), -(ShaftLeft - 0.01), -17 + (15 * 1), 1.5, 8.5 + (q * FloorHeight) + FloorHeight, 1, 1
+    If e4 = True And ShaftNum = 3 Then CallButtons(24).AddWall GetTex("CallButtonsTex"), (ShaftLeft - 0.01), -29 + (15 * 1), (ShaftLeft - 0.01), -28 + (15 * 1), 1.5, 8.5 + (q * FloorHeight) + FloorHeight, 1, 1
+    If e5 = True And ShaftNum = 3 Then CallButtons(25).AddWall GetTex("CallButtonsTex"), -(ShaftLeft - 0.01), -18 + (15 * 2), -(ShaftLeft - 0.01), -17 + (15 * 2), 1.5, 8.5 + (q * FloorHeight) + FloorHeight, 1, 1
+    If e6 = True And ShaftNum = 3 Then CallButtons(26).AddWall GetTex("CallButtonsTex"), (ShaftLeft - 0.01), -29 + (15 * 2), (ShaftLeft - 0.01), -28 + (15 * 2), 1.5, 8.5 + (q * FloorHeight) + FloorHeight, 1, 1
+    If e7 = True And ShaftNum = 3 Then CallButtons(27).AddWall GetTex("CallButtonsTex"), -(ShaftLeft - 0.01), -18 + (15 * 3), -(ShaftLeft - 0.01), -17 + (15 * 3), 1.5, 8.5 + (q * FloorHeight) + FloorHeight, 1, 1
+    If e8 = True And ShaftNum = 3 Then CallButtons(28).AddWall GetTex("CallButtonsTex"), (ShaftLeft - 0.01), -29 + (15 * 3), (ShaftLeft - 0.01), -28 + (15 * 3), 1.5, 8.5 + (q * FloorHeight) + FloorHeight, 1, 1
+    If e9 = True And ShaftNum = 3 Then CallButtons(29).AddWall GetTex("CallButtonsTex"), -(ShaftLeft - 0.01), -18 + (15 * 4), -(ShaftLeft - 0.01), -17 + (15 * 4), 1.5, 8.5 + (q * FloorHeight) + FloorHeight, 1, 1
+    If e10 = True And ShaftNum = 3 Then CallButtons(30).AddWall GetTex("CallButtonsTex"), (ShaftLeft - 0.01), -29 + (15 * 4), (ShaftLeft - 0.01), -28 + (15 * 4), 1.5, 8.5 + (q * FloorHeight) + FloorHeight, 1, 1
+    
+    If e2 = True And ShaftNum = 4 Then CallButtons(32).AddWall GetTex("CallButtonsTex"), (ShaftLeft + 0.01), -18, (ShaftLeft + 0.01), -17, 1.5, 8.5 + (q * FloorHeight) + FloorHeight, 1, 1
+    'If e2 = True And ShaftNum = 4 And FloorID = 1 Then CallButtons(32).AddWall GetTex("CallButtonsTex"), (ShaftLeft + 0.01), -18, (ShaftLeft + 0.01), -17, 1.5, 8.5 + (0 * FloorHeight) + FloorHeight, 1, 1
+    If e1 = True And ShaftNum = 4 Then CallButtons(31).AddWall GetTex("CallButtonsTex"), -(ShaftLeft + 0.01), -29, -(ShaftLeft + 0.01), -28, 1.5, 8.5 + (q * FloorHeight) + FloorHeight, 1, 1
+    'If e1 = True And ShaftNum = 4 And FloorID = 1 Then CallButtons(31).AddWall GetTex("CallButtonsTex"), -(ShaftLeft + 0.01), -29, -(ShaftLeft + 0.01), -28, 1.5, 8.5 + (0 * FloorHeight) + FloorHeight, 1, 1
+    If e4 = True And ShaftNum = 4 Then CallButtons(34).AddWall GetTex("CallButtonsTex"), (ShaftLeft + 0.01), -18 + (15 * 1), (ShaftLeft + 0.01), -17 + (15 * 1), 1.5, 8.5 + (q * FloorHeight) + FloorHeight, 1, 1
+    If e3 = True And ShaftNum = 4 Then CallButtons(33).AddWall GetTex("CallButtonsTex"), -(ShaftLeft + 0.01), -29 + (15 * 1), -(ShaftLeft + 0.01), -28 + (15 * 1), 1.5, 8.5 + (q * FloorHeight) + FloorHeight, 1, 1
+    If e6 = True And ShaftNum = 4 Then CallButtons(36).AddWall GetTex("CallButtonsTex"), (ShaftLeft + 0.01), -18 + (15 * 2), (ShaftLeft + 0.01), -17 + (15 * 2), 1.5, 8.5 + (q * FloorHeight) + FloorHeight, 1, 1
+    If e5 = True And ShaftNum = 4 Then CallButtons(35).AddWall GetTex("CallButtonsTex"), -(ShaftLeft + 0.01), -29 + (15 * 2), -(ShaftLeft + 0.01), -28 + (15 * 2), 1.5, 8.5 + (q * FloorHeight) + FloorHeight, 1, 1
+    If e8 = True And ShaftNum = 4 Then CallButtons(38).AddWall GetTex("CallButtonsTex"), (ShaftLeft + 0.01), -18 + (15 * 3), (ShaftLeft + 0.01), -17 + (15 * 3), 1.5, 8.5 + (q * FloorHeight) + FloorHeight, 1, 1
+    If e7 = True And ShaftNum = 4 Then CallButtons(37).AddWall GetTex("CallButtonsTex"), -(ShaftLeft + 0.01), -29 + (15 * 3), -(ShaftLeft + 0.01), -28 + (15 * 3), 1.5, 8.5 + (q * FloorHeight) + FloorHeight, 1, 1
+    If e10 = True And ShaftNum = 4 Then CallButtons(40).AddWall GetTex("CallButtonsTex"), (ShaftLeft + 0.01), -18 + (15 * 4), (ShaftLeft + 0.01), -17 + (15 * 4), 1.5, 8.5 + (q * FloorHeight) + FloorHeight, 1, 1
+    If e9 = True And ShaftNum = 4 Then CallButtons(39).AddWall GetTex("CallButtonsTex"), -(ShaftLeft + 0.01), -29 + (15 * 4), -(ShaftLeft + 0.01), -28 + (15 * 4), 1.5, 8.5 + (q * FloorHeight) + FloorHeight, 1, 1
+
+
+        If e1 = True And ShaftNum = 1 Then ElevatorDoorL(1).AddWall GetTex("ElevDoors"), -(ShaftLeft + 0.05), -19.05, -(ShaftLeft + 0.05), -22.95, 19.6, (q * FloorHeight) + FloorHeight, 1, 1
+        If e1 = True And ShaftNum = 1 Then ElevatorDoorR(1).AddWall GetTex("ElevDoors"), -(ShaftLeft + 0.05), -23.05, -(ShaftLeft + 0.05), -27.05, 19.6, (q * FloorHeight) + FloorHeight, 1, 1
+        If e1 = True And ShaftNum = 2 Then ElevatorDoorL(11).AddWall GetTex("ElevDoors"), -(ShaftLeft + 0.05), -19.05, -(ShaftLeft + 0.05), -22.95, 19.6, (q * FloorHeight) + FloorHeight, 1, 1
+        If e1 = True And ShaftNum = 2 Then ElevatorDoorR(11).AddWall GetTex("ElevDoors"), -(ShaftLeft + 0.05), -23.05, -(ShaftLeft + 0.05), -27.05, 19.6, (q * FloorHeight) + FloorHeight, 1, 1
+        If e1 = True And ShaftNum = 3 Then ElevatorDoorL(21).AddWall GetTex("ElevDoors"), -(ShaftLeft + 0.05), -19.05, -(ShaftLeft + 0.05), -22.95, 19.6, (q * FloorHeight) + FloorHeight, 1, 1
+        If e1 = True And ShaftNum = 3 Then ElevatorDoorR(21).AddWall GetTex("ElevDoors"), -(ShaftLeft + 0.05), -23.05, -(ShaftLeft + 0.05), -27.05, 19.6, (q * FloorHeight) + FloorHeight, 1, 1
+        If e1 = True And ShaftNum = 4 Then ElevatorDoorL(31).AddWall GetTex("ElevDoors"), -(ShaftLeft + 0.05), -19.05, -(ShaftLeft + 0.05), -22.95, 19.6, (q * FloorHeight) + FloorHeight, 1, 1
+        If e1 = True And ShaftNum = 4 Then ElevatorDoorR(31).AddWall GetTex("ElevDoors"), -(ShaftLeft + 0.05), -23.05, -(ShaftLeft + 0.05), -27.05, 19.6, (q * FloorHeight) + FloorHeight, 1, 1
+        
+        If FloorID = 1 Then
+        If ShaftNum = 1 Then ElevatorDoorL(1).AddWall GetTex("ElevDoors"), -(ShaftLeft + 0.05), -19.05, -(ShaftLeft + 0.05), -22.95, 19.6, FloorHeight, 1, 1
+        If ShaftNum = 1 Then ElevatorDoorR(1).AddWall GetTex("ElevDoors"), -(ShaftLeft + 0.05), -23.05, -(ShaftLeft + 0.05), -27.05, 19.6, FloorHeight, 1, 1
+        If ShaftNum = 2 Then ElevatorDoorL(11).AddWall GetTex("ElevDoors"), -(ShaftLeft + 0.05), -19.05, -(ShaftLeft + 0.05), -22.95, 19.6, FloorHeight, 1, 1
+        If ShaftNum = 2 Then ElevatorDoorR(11).AddWall GetTex("ElevDoors"), -(ShaftLeft + 0.05), -23.05, -(ShaftLeft + 0.05), -27.05, 19.6, FloorHeight, 1, 1
+        End If
+        
+        If e2 = True And ShaftNum = 1 Then ElevatorDoorL(2).AddWall GetTex("ElevDoors"), (ShaftLeft + 0.05), -19.05, (ShaftLeft + 0.05), -22.95, 19.6, (q * FloorHeight) + FloorHeight, 1, 1
+        If e2 = True And ShaftNum = 1 Then ElevatorDoorR(2).AddWall GetTex("ElevDoors"), (ShaftLeft + 0.05), -23.05, (ShaftLeft + 0.05), -27.05, 19.6, (q * FloorHeight) + FloorHeight, 1, 1
+        If e2 = True And ShaftNum = 2 Then ElevatorDoorL(12).AddWall GetTex("ElevDoors"), (ShaftLeft + 0.05), -19.05, (ShaftLeft + 0.05), -22.95, 19.6, (q * FloorHeight) + FloorHeight, 1, 1
+        If e2 = True And ShaftNum = 2 Then ElevatorDoorR(12).AddWall GetTex("ElevDoors"), (ShaftLeft + 0.05), -23.05, (ShaftLeft + 0.05), -27.05, 19.6, (q * FloorHeight) + FloorHeight, 1, 1
+        If e2 = True And ShaftNum = 3 Then ElevatorDoorL(22).AddWall GetTex("ElevDoors"), (ShaftLeft + 0.05), -19.05, (ShaftLeft + 0.05), -22.95, 19.6, (q * FloorHeight) + FloorHeight, 1, 1
+        If e2 = True And ShaftNum = 3 Then ElevatorDoorR(22).AddWall GetTex("ElevDoors"), (ShaftLeft + 0.05), -23.05, (ShaftLeft + 0.05), -27.05, 19.6, (q * FloorHeight) + FloorHeight, 1, 1
+        If e2 = True And ShaftNum = 4 Then ElevatorDoorL(32).AddWall GetTex("ElevDoors"), (ShaftLeft + 0.05), -19.05, (ShaftLeft + 0.05), -22.95, 19.6, (q * FloorHeight) + FloorHeight, 1, 1
+        If e2 = True And ShaftNum = 4 Then ElevatorDoorR(32).AddWall GetTex("ElevDoors"), (ShaftLeft + 0.05), -23.05, (ShaftLeft + 0.05), -27.05, 19.6, (q * FloorHeight) + FloorHeight, 1, 1
+        If FloorID = 1 Then
+        If ShaftNum = 1 Then
+        ElevatorDoorL(2).AddWall GetTex("ElevDoors"), (ShaftLeft + 0.05), -19.05, (ShaftLeft + 0.05), -22.95, 19.6, FloorHeight, 1, 1
+        ElevatorDoorR(2).AddWall GetTex("ElevDoors"), (ShaftLeft + 0.05), -23.05, (ShaftLeft + 0.05), -27.05, 19.6, FloorHeight, 1, 1
+        End If
+        If ShaftNum = 2 Then
+        ElevatorDoorL(12).AddWall GetTex("ElevDoors"), (ShaftLeft + 0.05), -19.05, (ShaftLeft + 0.05), -22.95, 19.6, FloorHeight, 1, 1
+        ElevatorDoorR(12).AddWall GetTex("ElevDoors"), (ShaftLeft + 0.05), -23.05, (ShaftLeft + 0.05), -27.05, 19.6, FloorHeight, 1, 1
+        End If
+        End If
+        
+        If e3 = True And ShaftNum = 1 Then ElevatorDoorL(3).AddWall GetTex("ElevDoors"), -(ShaftLeft + 0.05), -19.05 + (15 * 1), -(ShaftLeft + 0.05), -22.95 + (15 * 1), 19.6, (q * FloorHeight) + FloorHeight, 1, 1
+        If e3 = True And ShaftNum = 1 Then ElevatorDoorR(3).AddWall GetTex("ElevDoors"), -(ShaftLeft + 0.05), -23.05 + (15 * 1), -(ShaftLeft + 0.05), -27.05 + (15 * 1), 19.6, (q * FloorHeight) + FloorHeight, 1, 1
+        If e3 = True And ShaftNum = 2 Then ElevatorDoorL(13).AddWall GetTex("ElevDoors"), -(ShaftLeft + 0.05), -19.05 + (15 * 1), -(ShaftLeft + 0.05), -22.95 + (15 * 1), 19.6, (q * FloorHeight) + FloorHeight, 1, 1
+        If e3 = True And ShaftNum = 2 Then ElevatorDoorR(13).AddWall GetTex("ElevDoors"), -(ShaftLeft + 0.05), -23.05 + (15 * 1), -(ShaftLeft + 0.05), -27.05 + (15 * 1), 19.6, (q * FloorHeight) + FloorHeight, 1, 1
+        If e3 = True And ShaftNum = 3 Then ElevatorDoorL(23).AddWall GetTex("ElevDoors"), -(ShaftLeft + 0.05), -19.05 + (15 * 1), -(ShaftLeft + 0.05), -22.95 + (15 * 1), 19.6, (q * FloorHeight) + FloorHeight, 1, 1
+        If e3 = True And ShaftNum = 3 Then ElevatorDoorR(23).AddWall GetTex("ElevDoors"), -(ShaftLeft + 0.05), -23.05 + (15 * 1), -(ShaftLeft + 0.05), -27.05 + (15 * 1), 19.6, (q * FloorHeight) + FloorHeight, 1, 1
+        If e3 = True And ShaftNum = 4 Then ElevatorDoorL(33).AddWall GetTex("ElevDoors"), -(ShaftLeft + 0.05), -19.05 + (15 * 1), -(ShaftLeft + 0.05), -22.95 + (15 * 1), 19.6, (q * FloorHeight) + FloorHeight, 1, 1
+        If e3 = True And ShaftNum = 4 Then ElevatorDoorR(33).AddWall GetTex("ElevDoors"), -(ShaftLeft + 0.05), -23.05 + (15 * 1), -(ShaftLeft + 0.05), -27.05 + (15 * 1), 19.6, (q * FloorHeight) + FloorHeight, 1, 1
+       
+        If e4 = True And ShaftNum = 1 Then ElevatorDoorL(4).AddWall GetTex("ElevDoors"), (ShaftLeft + 0.05), -19.05 + (15 * 1), (ShaftLeft + 0.05), -22.95 + (15 * 1), 19.6, (q * FloorHeight) + FloorHeight, 1, 1
+        If e4 = True And ShaftNum = 1 Then ElevatorDoorR(4).AddWall GetTex("ElevDoors"), (ShaftLeft + 0.05), -23.05 + (15 * 1), (ShaftLeft + 0.05), -27.05 + (15 * 1), 19.6, (q * FloorHeight) + FloorHeight, 1, 1
+        If e4 = True And ShaftNum = 2 Then ElevatorDoorL(14).AddWall GetTex("ElevDoors"), (ShaftLeft + 0.05), -19.05 + (15 * 1), (ShaftLeft + 0.05), -22.95 + (15 * 1), 19.6, (q * FloorHeight) + FloorHeight, 1, 1
+        If e4 = True And ShaftNum = 2 Then ElevatorDoorR(14).AddWall GetTex("ElevDoors"), (ShaftLeft + 0.05), -23.05 + (15 * 1), (ShaftLeft + 0.05), -27.05 + (15 * 1), 19.6, (q * FloorHeight) + FloorHeight, 1, 1
+        If e4 = True And ShaftNum = 3 Then ElevatorDoorL(24).AddWall GetTex("ElevDoors"), (ShaftLeft + 0.05), -19.05 + (15 * 1), (ShaftLeft + 0.05), -22.95 + (15 * 1), 19.6, (q * FloorHeight) + FloorHeight, 1, 1
+        If e4 = True And ShaftNum = 3 Then ElevatorDoorR(24).AddWall GetTex("ElevDoors"), (ShaftLeft + 0.05), -23.05 + (15 * 1), (ShaftLeft + 0.05), -27.05 + (15 * 1), 19.6, (q * FloorHeight) + FloorHeight, 1, 1
+        If e4 = True And ShaftNum = 4 Then ElevatorDoorL(34).AddWall GetTex("ElevDoors"), (ShaftLeft + 0.05), -19.05 + (15 * 1), (ShaftLeft + 0.05), -22.95 + (15 * 1), 19.6, (q * FloorHeight) + FloorHeight, 1, 1
+        If e4 = True And ShaftNum = 4 Then ElevatorDoorR(34).AddWall GetTex("ElevDoors"), (ShaftLeft + 0.05), -23.05 + (15 * 1), (ShaftLeft + 0.05), -27.05 + (15 * 1), 19.6, (q * FloorHeight) + FloorHeight, 1, 1
+        
+        If e5 = True And ShaftNum = 1 Then ElevatorDoorL(5).AddWall GetTex("ElevDoors"), -(ShaftLeft + 0.05), -19.05 + (15 * 2), -(ShaftLeft + 0.05), -22.95 + (15 * 2), 19.6, (q * FloorHeight) + FloorHeight, 1, 1
+        If e5 = True And ShaftNum = 1 Then ElevatorDoorR(5).AddWall GetTex("ElevDoors"), -(ShaftLeft + 0.05), -23.05 + (15 * 2), -(ShaftLeft + 0.05), -27.05 + (15 * 2), 19.6, (q * FloorHeight) + FloorHeight, 1, 1
+        If e5 = True And ShaftNum = 2 Then ElevatorDoorL(15).AddWall GetTex("ElevDoors"), -(ShaftLeft + 0.05), -19.05 + (15 * 2), -(ShaftLeft + 0.05), -22.95 + (15 * 2), 19.6, (q * FloorHeight) + FloorHeight, 1, 1
+        If e5 = True And ShaftNum = 2 Then ElevatorDoorR(15).AddWall GetTex("ElevDoors"), -(ShaftLeft + 0.05), -23.05 + (15 * 2), -(ShaftLeft + 0.05), -27.05 + (15 * 2), 19.6, (q * FloorHeight) + FloorHeight, 1, 1
+        If e5 = True And ShaftNum = 3 Then ElevatorDoorL(25).AddWall GetTex("ElevDoors"), -(ShaftLeft + 0.05), -19.05 + (15 * 2), -(ShaftLeft + 0.05), -22.95 + (15 * 2), 19.6, (q * FloorHeight) + FloorHeight, 1, 1
+        If e5 = True And ShaftNum = 3 Then ElevatorDoorR(25).AddWall GetTex("ElevDoors"), -(ShaftLeft + 0.05), -23.05 + (15 * 2), -(ShaftLeft + 0.05), -27.05 + (15 * 2), 19.6, (q * FloorHeight) + FloorHeight, 1, 1
+        If e5 = True And ShaftNum = 4 Then ElevatorDoorL(35).AddWall GetTex("ElevDoors"), -(ShaftLeft + 0.05), -19.05 + (15 * 2), -(ShaftLeft + 0.05), -22.95 + (15 * 2), 19.6, (q * FloorHeight) + FloorHeight, 1, 1
+        If e5 = True And ShaftNum = 4 Then ElevatorDoorR(35).AddWall GetTex("ElevDoors"), -(ShaftLeft + 0.05), -23.05 + (15 * 2), -(ShaftLeft + 0.05), -27.05 + (15 * 2), 19.6, (q * FloorHeight) + FloorHeight, 1, 1
+        
+        If e6 = True And ShaftNum = 1 Then ElevatorDoorL(6).AddWall GetTex("ElevDoors"), (ShaftLeft + 0.05), -19.05 + (15 * 2), (ShaftLeft + 0.05), -22.95 + (15 * 2), 19.6, (q * FloorHeight) + FloorHeight, 1, 1
+        If e6 = True And ShaftNum = 1 Then ElevatorDoorR(6).AddWall GetTex("ElevDoors"), (ShaftLeft + 0.05), -23.05 + (15 * 2), (ShaftLeft + 0.05), -27.05 + (15 * 2), 19.6, (q * FloorHeight) + FloorHeight, 1, 1
+        If e6 = True And ShaftNum = 2 Then ElevatorDoorL(16).AddWall GetTex("ElevDoors"), (ShaftLeft + 0.05), -19.05 + (15 * 2), (ShaftLeft + 0.05), -22.95 + (15 * 2), 19.6, (q * FloorHeight) + FloorHeight, 1, 1
+        If e6 = True And ShaftNum = 2 Then ElevatorDoorR(16).AddWall GetTex("ElevDoors"), (ShaftLeft + 0.05), -23.05 + (15 * 2), (ShaftLeft + 0.05), -27.05 + (15 * 2), 19.6, (q * FloorHeight) + FloorHeight, 1, 1
+        If e6 = True And ShaftNum = 3 Then ElevatorDoorL(26).AddWall GetTex("ElevDoors"), (ShaftLeft + 0.05), -19.05 + (15 * 2), (ShaftLeft + 0.05), -22.95 + (15 * 2), 19.6, (q * FloorHeight) + FloorHeight, 1, 1
+        If e6 = True And ShaftNum = 3 Then ElevatorDoorR(26).AddWall GetTex("ElevDoors"), (ShaftLeft + 0.05), -23.05 + (15 * 2), (ShaftLeft + 0.05), -27.05 + (15 * 2), 19.6, (q * FloorHeight) + FloorHeight, 1, 1
+        If e6 = True And ShaftNum = 4 Then ElevatorDoorL(36).AddWall GetTex("ElevDoors"), (ShaftLeft + 0.05), -19.05 + (15 * 2), (ShaftLeft + 0.05), -22.95 + (15 * 2), 19.6, (q * FloorHeight) + FloorHeight, 1, 1
+        If e6 = True And ShaftNum = 4 Then ElevatorDoorR(36).AddWall GetTex("ElevDoors"), (ShaftLeft + 0.05), -23.05 + (15 * 2), (ShaftLeft + 0.05), -27.05 + (15 * 2), 19.6, (q * FloorHeight) + FloorHeight, 1, 1
+        
+        If e7 = True And ShaftNum = 1 Then ElevatorDoorL(7).AddWall GetTex("ElevDoors"), -(ShaftLeft + 0.05), -19.05 + (15 * 3), -(ShaftLeft + 0.05), -22.95 + (15 * 3), 19.6, (q * FloorHeight) + FloorHeight, 1, 1
+        If e7 = True And ShaftNum = 1 Then ElevatorDoorR(7).AddWall GetTex("ElevDoors"), -(ShaftLeft + 0.05), -23.05 + (15 * 3), -(ShaftLeft + 0.05), -27.05 + (15 * 3), 19.6, (q * FloorHeight) + FloorHeight, 1, 1
+        If e7 = True And ShaftNum = 2 Then ElevatorDoorL(17).AddWall GetTex("ElevDoors"), -(ShaftLeft + 0.05), -19.05 + (15 * 3), -(ShaftLeft + 0.05), -22.95 + (15 * 3), 19.6, (q * FloorHeight) + FloorHeight, 1, 1
+        If e7 = True And ShaftNum = 2 Then ElevatorDoorR(17).AddWall GetTex("ElevDoors"), -(ShaftLeft + 0.05), -23.05 + (15 * 3), -(ShaftLeft + 0.05), -27.05 + (15 * 3), 19.6, (q * FloorHeight) + FloorHeight, 1, 1
+        If e7 = True And ShaftNum = 3 Then ElevatorDoorL(27).AddWall GetTex("ElevDoors"), -(ShaftLeft + 0.05), -19.05 + (15 * 3), -(ShaftLeft + 0.05), -22.95 + (15 * 3), 19.6, (q * FloorHeight) + FloorHeight, 1, 1
+        If e7 = True And ShaftNum = 3 Then ElevatorDoorR(27).AddWall GetTex("ElevDoors"), -(ShaftLeft + 0.05), -23.05 + (15 * 3), -(ShaftLeft + 0.05), -27.05 + (15 * 3), 19.6, (q * FloorHeight) + FloorHeight, 1, 1
+        If e7 = True And ShaftNum = 4 Then ElevatorDoorL(37).AddWall GetTex("ElevDoors"), -(ShaftLeft + 0.05), -19.05 + (15 * 3), -(ShaftLeft + 0.05), -22.95 + (15 * 3), 19.6, (q * FloorHeight) + FloorHeight, 1, 1
+        If e7 = True And ShaftNum = 4 Then ElevatorDoorR(37).AddWall GetTex("ElevDoors"), -(ShaftLeft + 0.05), -23.05 + (15 * 3), -(ShaftLeft + 0.05), -27.05 + (15 * 3), 19.6, (q * FloorHeight) + FloorHeight, 1, 1
+        
+        If e8 = True And ShaftNum = 1 Then ElevatorDoorL(8).AddWall GetTex("ElevDoors"), (ShaftLeft + 0.05), -19.05 + (15 * 3), (ShaftLeft + 0.05), -22.95 + (15 * 3), 19.6, (q * FloorHeight) + FloorHeight, 1, 1
+        If e8 = True And ShaftNum = 1 Then ElevatorDoorR(8).AddWall GetTex("ElevDoors"), (ShaftLeft + 0.05), -23.05 + (15 * 3), (ShaftLeft + 0.05), -27.05 + (15 * 3), 19.6, (q * FloorHeight) + FloorHeight, 1, 1
+        If e8 = True And ShaftNum = 2 Then ElevatorDoorL(18).AddWall GetTex("ElevDoors"), (ShaftLeft + 0.05), -19.05 + (15 * 3), (ShaftLeft + 0.05), -22.95 + (15 * 3), 19.6, (q * FloorHeight) + FloorHeight, 1, 1
+        If e8 = True And ShaftNum = 2 Then ElevatorDoorR(18).AddWall GetTex("ElevDoors"), (ShaftLeft + 0.05), -23.05 + (15 * 3), (ShaftLeft + 0.05), -27.05 + (15 * 3), 19.6, (q * FloorHeight) + FloorHeight, 1, 1
+        If e8 = True And ShaftNum = 3 Then ElevatorDoorL(28).AddWall GetTex("ElevDoors"), (ShaftLeft + 0.05), -19.05 + (15 * 3), (ShaftLeft + 0.05), -22.95 + (15 * 3), 19.6, (q * FloorHeight) + FloorHeight, 1, 1
+        If e8 = True And ShaftNum = 3 Then ElevatorDoorR(28).AddWall GetTex("ElevDoors"), (ShaftLeft + 0.05), -23.05 + (15 * 3), (ShaftLeft + 0.05), -27.05 + (15 * 3), 19.6, (q * FloorHeight) + FloorHeight, 1, 1
+        If e8 = True And ShaftNum = 4 Then ElevatorDoorL(38).AddWall GetTex("ElevDoors"), (ShaftLeft + 0.05), -19.05 + (15 * 3), (ShaftLeft + 0.05), -22.95 + (15 * 3), 19.6, (q * FloorHeight) + FloorHeight, 1, 1
+        If e8 = True And ShaftNum = 4 Then ElevatorDoorR(38).AddWall GetTex("ElevDoors"), (ShaftLeft + 0.05), -23.05 + (15 * 3), (ShaftLeft + 0.05), -27.05 + (15 * 3), 19.6, (q * FloorHeight) + FloorHeight, 1, 1
+        
+        If e9 = True And ShaftNum = 1 Then ElevatorDoorL(9).AddWall GetTex("ElevDoors"), -(ShaftLeft + 0.05), -19.05 + (15 * 4), -(ShaftLeft + 0.05), -22.95 + (15 * 4), 19.6, (q * FloorHeight) + FloorHeight, 1, 1
+        If e9 = True And ShaftNum = 1 Then ElevatorDoorR(9).AddWall GetTex("ElevDoors"), -(ShaftLeft + 0.05), -23.05 + (15 * 4), -(ShaftLeft + 0.05), -27.05 + (15 * 4), 19.6, (q * FloorHeight) + FloorHeight, 1, 1
+        If e9 = True And ShaftNum = 2 Then ElevatorDoorL(19).AddWall GetTex("ElevDoors"), -(ShaftLeft + 0.05), -19.05 + (15 * 4), -(ShaftLeft + 0.05), -22.95 + (15 * 4), 19.6, (q * FloorHeight) + FloorHeight, 1, 1
+        If e9 = True And ShaftNum = 2 Then ElevatorDoorR(19).AddWall GetTex("ElevDoors"), -(ShaftLeft + 0.05), -23.05 + (15 * 4), -(ShaftLeft + 0.05), -27.05 + (15 * 4), 19.6, (q * FloorHeight) + FloorHeight, 1, 1
+        If e9 = True And ShaftNum = 3 Then ElevatorDoorL(29).AddWall GetTex("ElevDoors"), -(ShaftLeft + 0.05), -19.05 + (15 * 4), -(ShaftLeft + 0.05), -22.95 + (15 * 4), 19.6, (q * FloorHeight) + FloorHeight, 1, 1
+        If e9 = True And ShaftNum = 3 Then ElevatorDoorR(29).AddWall GetTex("ElevDoors"), -(ShaftLeft + 0.05), -23.05 + (15 * 4), -(ShaftLeft + 0.05), -27.05 + (15 * 4), 19.6, (q * FloorHeight) + FloorHeight, 1, 1
+        If e9 = True And ShaftNum = 4 Then ElevatorDoorL(39).AddWall GetTex("ElevDoors"), -(ShaftLeft + 0.05), -19.05 + (15 * 4), -(ShaftLeft + 0.05), -22.95 + (15 * 4), 19.6, (q * FloorHeight) + FloorHeight, 1, 1
+        If e9 = True And ShaftNum = 4 Then ElevatorDoorR(39).AddWall GetTex("ElevDoors"), -(ShaftLeft + 0.05), -23.05 + (15 * 4), -(ShaftLeft + 0.05), -27.05 + (15 * 4), 19.6, (q * FloorHeight) + FloorHeight, 1, 1
+        
+        If e10 = True And ShaftNum = 1 Then ElevatorDoorL(10).AddWall GetTex("ElevDoors"), (ShaftLeft + 0.05), -19.05 + (15 * 4), (ShaftLeft + 0.05), -22.95 + (15 * 4), 19.6, (q * FloorHeight) + FloorHeight, 1, 1
+        If e10 = True And ShaftNum = 1 Then ElevatorDoorR(10).AddWall GetTex("ElevDoors"), (ShaftLeft + 0.05), -23.05 + (15 * 4), (ShaftLeft + 0.05), -27.05 + (15 * 4), 19.6, (q * FloorHeight) + FloorHeight, 1, 1
+        If e10 = True And ShaftNum = 2 Then ElevatorDoorL(20).AddWall GetTex("ElevDoors"), (ShaftLeft + 0.05), -19.05 + (15 * 4), (ShaftLeft + 0.05), -22.95 + (15 * 4), 19.6, (q * FloorHeight) + FloorHeight, 1, 1
+        If e10 = True And ShaftNum = 2 Then ElevatorDoorR(20).AddWall GetTex("ElevDoors"), (ShaftLeft + 0.05), -23.05 + (15 * 4), (ShaftLeft + 0.05), -27.05 + (15 * 4), 19.6, (q * FloorHeight) + FloorHeight, 1, 1
+        If e10 = True And ShaftNum = 3 Then ElevatorDoorL(30).AddWall GetTex("ElevDoors"), (ShaftLeft + 0.05), -19.05 + (15 * 4), (ShaftLeft + 0.05), -22.95 + (15 * 4), 19.6, (q * FloorHeight) + FloorHeight, 1, 1
+        If e10 = True And ShaftNum = 3 Then ElevatorDoorR(30).AddWall GetTex("ElevDoors"), (ShaftLeft + 0.05), -23.05 + (15 * 4), (ShaftLeft + 0.05), -27.05 + (15 * 4), 19.6, (q * FloorHeight) + FloorHeight, 1, 1
+        If e10 = True And ShaftNum = 4 Then ElevatorDoorL(40).AddWall GetTex("ElevDoors"), (ShaftLeft + 0.05), -19.05 + (15 * 4), (ShaftLeft + 0.05), -22.95 + (15 * 4), 19.6, (q * FloorHeight) + FloorHeight, 1, 1
+        If e10 = True And ShaftNum = 4 Then ElevatorDoorR(40).AddWall GetTex("ElevDoors"), (ShaftLeft + 0.05), -23.05 + (15 * 4), (ShaftLeft + 0.05), -27.05 + (15 * 4), 19.6, (q * FloorHeight) + FloorHeight, 1, 1
+                
+End Sub
+
+Sub InitObjectsForFloor(Floor As Integer)
+
+'If Test1 = False Then Exit Sub
+'Test1 = False
+'Exit Sub
+If Floor = 1 Then
+
+''Column 1
+'i = 1 + (150 * (Floor - 1))
+'Call Init_Objects(Floor, 1)
+'Objects(i).Load3DsMesh App.Path + "\objects\column.3ds", True
+'Objects(i).SetColor (RGBA(10, 10, 10, 1))
+'Objects(i).ScaleMesh 0.105, 0.105, 0.105
+'Objects(i).SetTexture GetTex("ColumnTex")
+'Objects(i).SetPosition -75, 13.5, 45
+''Objects(i).Optimize
+
+''Column 2
+'i = 2 + (150 * (Floor - 1))
+'Call Init_Objects(Floor, 2)
+'Objects(i).Load3DsMesh App.Path + "\objects\column.3ds", True
+'Objects(i).SetColor (RGBA(10, 10, 10, 1))
+'Objects(i).ScaleMesh 0.105, 0.105, 0.105
+'Objects(i).SetTexture GetTex("ColumnTex")
+'Objects(i).SetPosition -75, 13.5, 15
+''Objects(i).Optimize
+
+''Column 3
+'i = 3 + (150 * (Floor - 1))
+'Call Init_Objects(Floor, 3)
+'Objects(i).Load3DsMesh App.Path + "\objects\column.3ds", True
+'Objects(i).SetColor (RGBA(10, 10, 10, 1))
+'Objects(i).ScaleMesh 0.105, 0.105, 0.105
+'Objects(i).SetTexture GetTex("ColumnTex")
+'Objects(i).SetPosition -75, 13.5, -15
+''Objects(i).Optimize
+
+''Column 4
+'i = 4 + (150 * (Floor - 1))
+'Call Init_Objects(Floor, 4)
+'Objects(i).Load3DsMesh App.Path + "\objects\column.3ds", True
+'Objects(i).SetColor (RGBA(10, 10, 10, 1))
+'Objects(i).ScaleMesh 0.105, 0.105, 0.105
+'Objects(i).SetTexture GetTex("ColumnTex")
+'Objects(i).SetPosition -75, 13.5, -45
+''Objects(i).Optimize
+
+''Column 5
+'i = 5 + (150 * (Floor - 1))
+'Call Init_Objects(Floor, 5)
+'Objects(i).Load3DsMesh App.Path + "\objects\column.3ds", True
+'Objects(i).SetColor (RGBA(10, 10, 10, 1))
+'Objects(i).ScaleMesh 0.105, 0.105, 0.105
+'Objects(i).SetTexture GetTex("ColumnTex")
+'Objects(i).SetPosition 75, 13.5, 45
+''Objects(i).Optimize
+
+''Column 6
+'i = 6 + (150 * (Floor - 1))
+'Call Init_Objects(Floor, 6)
+'Objects(i).Load3DsMesh App.Path + "\objects\column.3ds", True
+'Objects(i).SetColor (RGBA(10, 10, 10, 1))
+'Objects(i).ScaleMesh 0.105, 0.105, 0.105
+'Objects(i).SetTexture GetTex("ColumnTex")
+'Objects(i).SetPosition 75, 13.5, 15
+''Objects(i).Optimize
+
+''Column 7
+'i = 7 + (150 * (Floor - 1))
+'Call Init_Objects(Floor, 7)
+'Objects(i).Load3DsMesh App.Path + "\objects\column.3ds", True
+'Objects(i).SetColor (RGBA(10, 10, 10, 1))
+'Objects(i).ScaleMesh 0.105, 0.105, 0.105
+'Objects(i).SetTexture GetTex("ColumnTex")
+'Objects(i).SetPosition 75, 13.5, -15
+''Objects(i).Optimize
+
+''Column 8
+'i = 8 + (150 * (Floor - 1))
+'Call Init_Objects(Floor, 8)
+'Objects(i).Load3DsMesh App.Path + "\objects\column.3ds", True
+'Objects(i).SetColor (RGBA(10, 10, 10, 1))
+'Objects(i).ScaleMesh 0.105, 0.105, 0.105
+'Objects(i).SetTexture GetTex("ColumnTex")
+'Objects(i).SetPosition 75, 13.5, -45
+''Objects(i).Optimize
+
+''Door 1
+'i = 9 + (150 * (Floor - 1))
+'Call Init_Objects(Floor, 9)
+'Objects(i).AddWall GetTex("StairsDoor2"), -3.9, 0, 3.9, 0, 19.5, 0, 1, 1
+''Objects(i).SetColor (RGBA(10, 10, 10, 1))
+''Objects(i).ScaleMesh 0.45, 0.535, 0.535
+''Objects(i).SetTexture GetTex("Wood2")
+'Objects(i).SetMeshName ("DoorB " + Str$(i))
+'Objects(i).SetRotation 0, 1.56, 0
+'Objects(i).SetPosition -12.8, 0, -36.4
+
+''Door 2
+'i = 10 + (150 * (Floor - 1))
+'Call Init_Objects(Floor, 10)
+'Objects(i).AddWall GetTex("StairsDoor2"), -3.9, 0, 3.9, 0, 19.5, 0, 1, 1
+''Objects(i).SetColor (RGBA(10, 10, 10, 1))
+''Objects(i).ScaleMesh 0.45, 0.535, 0.535
+''Objects(i).SetTexture GetTex("Wood2")
+'Objects(i).SetMeshName ("DoorB " + Str$(i))
+'Objects(i).SetRotation 0, 1.56, 0
+'Objects(i).SetPosition -12.8, FloorHeight, -36.4
+
+End If
+
+If Floor >= 2 And Floor <= 39 Then
+
+'Window 1
+i = 1 + (150 * (Floor - 1))
+Call Init_Objects(Floor, 1)
+Objects(i).Load3DsMesh App.Path + "\objects\window4.3ds", True
+Objects(i).SetColor (RGBA(10, 10, 10, 1))
+Objects(i).ScaleMesh 0.136, 0.136, 0.136
+Objects(i).SetTexture GetTex("Ceiling1")
+'Objects(i).SetPosition 154, 12.01 + ((Floor * FloorHeight) + FloorHeight), 149.5
+Objects(i).SetPosition 154, 12.01 + ((Floor * FloorHeight) + FloorHeight), 149.5
+'Objects(i).Optimize
+
+For j = 2 To 27
+'Windows 2 to 27
+i = j + (150 * (Floor - 1))
+Call Init_Objects(Floor, Int(j))
+Objects(i).Load3DsMesh App.Path + "\objects\window4.3ds", True
+Objects(i).SetColor (RGBA(10, 10, 10, 1))
+Objects(i).ScaleMesh 0.136, 0.136, 0.136
+Objects(i).SetTexture GetTex("Ceiling1")
+Objects(i).SetPosition 154 - ((j - 1) * 12) + ((j - 1) * 0.15), 12.01 + ((Floor * FloorHeight) + FloorHeight), 149.5
+'Objects(i).Optimize
+Next j
+
+'Window 28
+i = 28 + (150 * (Floor - 1))
+Call Init_Objects(Floor, 28)
+Objects(i).Load3DsMesh App.Path + "\objects\window4.3ds", True
+Objects(i).SetColor (RGBA(10, 10, 10, 1))
+Objects(i).ScaleMesh 0.136, 0.136, 0.136
+Objects(i).SetTexture GetTex("Ceiling1")
+'Objects(i).SetPosition 154, 12.01 + ((Floor * FloorHeight) + FloorHeight), -149.5
+Objects(i).SetPosition 154, 12.01 + ((Floor * FloorHeight) + FloorHeight), -149.5
+'Objects(i).Optimize
+
+For j = 29 To 54
+'Windows 29 to 54
+i = j + (150 * (Floor - 1))
+Call Init_Objects(Floor, Int(j))
+Objects(i).Load3DsMesh App.Path + "\objects\window4.3ds", True
+Objects(i).SetColor (RGBA(10, 10, 10, 1))
+Objects(i).ScaleMesh 0.136, 0.136, 0.136
+Objects(i).SetTexture GetTex("Ceiling1")
+Objects(i).SetPosition 154 - ((j - 28) * 12) + ((j - 28) * 0.15), 12.01 + ((Floor * FloorHeight) + FloorHeight), -149.5
+'Objects(i).Optimize
+Next j
+
+'Window 55
+i = 55 + (150 * (Floor - 1))
+Call Init_Objects(Floor, 55)
+Objects(i).Load3DsMesh App.Path + "\objects\window4.3ds", True
+Objects(i).SetColor (RGBA(10, 10, 10, 1))
+Objects(i).ScaleMesh 0.136, 0.136, 0.136
+Objects(i).SetTexture GetTex("Ceiling1")
+Objects(i).SetRotation 0, -1.58, 0
+'Objects(i).SetPosition 154, 12.01 + ((Floor * FloorHeight) + FloorHeight), -149.5
+Objects(i).SetPosition 159.5, 12.01 + ((Floor * FloorHeight) + FloorHeight), 143
+'Objects(i).Optimize
+
+'Windows 56 to 79
+For j = 56 To 79
+i = j + (150 * (Floor - 1))
+Call Init_Objects(Floor, Int(j))
+Objects(i).Load3DsMesh App.Path + "\objects\window4.3ds", True
+Objects(i).SetColor (RGBA(10, 10, 10, 1))
+Objects(i).ScaleMesh 0.136, 0.136, 0.136
+Objects(i).SetTexture GetTex("Ceiling1")
+Objects(i).SetRotation 0, -1.58, 0
+'Objects(i).SetPosition 154, 12.01 + ((Floor * FloorHeight) + FloorHeight), -149.5
+Objects(i).SetPosition 159.5, 12.01 + ((Floor * FloorHeight) + FloorHeight), 143 - ((j - 55) * 12) + ((j - 55) * 0.1)
+'Objects(i).Optimize
+Next j
+
+'Window 80
+i = 80 + (150 * (Floor - 1))
+Call Init_Objects(Floor, 80)
+Objects(i).Load3DsMesh App.Path + "\objects\window4.3ds", True
+Objects(i).SetColor (RGBA(10, 10, 10, 1))
+Objects(i).ScaleMesh 0.136, 0.136, 0.136
+Objects(i).SetTexture GetTex("Ceiling1")
+Objects(i).SetRotation 0, -1.58, 0
+'Objects(i).SetPosition 154, 12.01 + ((Floor * FloorHeight) + FloorHeight), -149.5
+Objects(i).SetPosition -159.5, 12.01 + ((Floor * FloorHeight) + FloorHeight), 143
+'Objects(i).Optimize
+
+'Windows 81 to 104
+For j = 81 To 104
+i = j + (150 * (Floor - 1))
+Call Init_Objects(Floor, Int(j))
+Objects(i).Load3DsMesh App.Path + "\objects\window4.3ds", True
+Objects(i).SetColor (RGBA(10, 10, 10, 1))
+Objects(i).ScaleMesh 0.136, 0.136, 0.136
+Objects(i).SetTexture GetTex("Ceiling1")
+Objects(i).SetRotation 0, -1.58, 0
+'Objects(i).SetPosition 154, 12.01 + ((Floor * FloorHeight) + FloorHeight), -149.5
+Objects(i).SetPosition -159.5, 12.01 + ((Floor * FloorHeight) + FloorHeight), 143 - ((j - 80) * 12) + ((j - 80) * 0.1)
+'Objects(i).Optimize
+Next j
+
+''Stairway Door
+'i = 105 + (150 * (Floor - 1))
+'Call Init_Objects(Floor, 105)
+'Objects(i).AddWall GetTex("StairsDoor"), -3.9, 0, 3.9, 0, 19.5, 0, 1, 1
+''Objects(i).SetColor (RGBA(10, 10, 10, 1))
+''Objects(i).ScaleMesh 0.45, 0.535, 0.535
+''Objects(i).SetTexture GetTex("Wood2")
+'Objects(i).SetMeshName ("DoorB " + Str$(i))
+'Objects(i).SetRotation 0, 1.56, 0
+'Objects(i).SetPosition -12.8, (Floor * FloorHeight) + FloorHeight, -36.4
+
+'Door 01
+i = 106 + (150 * (Floor - 1))
+Call Init_Objects(Floor, 106)
+Objects(i).AddWall GetTex("Door1"), -3.9, 0, 3.9, 0, 19.5, 0, -1, 1
+'Objects(i).SetColor (RGBA(10, 10, 10, 1))
+'Objects(i).ScaleMesh 0.45, 0.535, 0.535
+'Objects(i).SetTexture GetTex("Wood2")
+Objects(i).SetMeshName ("DoorD " + Str$(i))
+Objects(i).SetRotation 0, 1.56, 0
+Objects(i).SetPosition 70, (Floor * FloorHeight) + FloorHeight, -130
+
+'Door 02
+i = 107 + (150 * (Floor - 1))
+Call Init_Objects(Floor, 107)
+Objects(i).AddWall GetTex("Door1"), -3.9, 0, 3.9, 0, 19.5, 0, -1, 1
+'Objects(i).SetColor (RGBA(10, 10, 10, 1))
+'Objects(i).ScaleMesh 0.45, 0.535, 0.535
+'Objects(i).SetTexture GetTex("Wood2")
+Objects(i).SetMeshName ("DoorD " + Str$(i))
+Objects(i).SetRotation 0, 1.56, 0
+Objects(i).SetPosition 70, (Floor * FloorHeight) + FloorHeight, -90
+
+'Door 03
+i = 108 + (150 * (Floor - 1))
+Call Init_Objects(Floor, 108)
+Objects(i).AddWall GetTex("Door1"), -3.9, 0, 3.9, 0, 19.5, 0, -1, 1
+'Objects(i).SetColor (RGBA(10, 10, 10, 1))
+'Objects(i).ScaleMesh 0.45, 0.535, 0.535
+'Objects(i).SetTexture GetTex("Wood2")
+Objects(i).SetMeshName ("DoorD " + Str$(i))
+Objects(i).SetRotation 0, 1.56, 0
+Objects(i).SetPosition 70, (Floor * FloorHeight) + FloorHeight, 130
+
+'Door 04
+i = 109 + (150 * (Floor - 1))
+Call Init_Objects(Floor, 109)
+Objects(i).AddWall GetTex("Door1"), -3.9, 0, 3.9, 0, 19.5, 0, -1, 1
+'Objects(i).SetColor (RGBA(10, 10, 10, 1))
+'Objects(i).ScaleMesh 0.45, 0.535, 0.535
+'Objects(i).SetTexture GetTex("Wood2")
+Objects(i).SetMeshName ("DoorD " + Str$(i))
+Objects(i).SetRotation 0, 1.56, 0
+Objects(i).SetPosition 70, (Floor * FloorHeight) + FloorHeight, 90
+
+'Door 05
+i = 110 + (150 * (Floor - 1))
+Call Init_Objects(Floor, 110)
+Objects(i).AddWall GetTex("Door1"), -3.9, 0, 3.9, 0, 19.5, 0, 1, 1
+'Objects(i).SetColor (RGBA(10, 10, 10, 1))
+'Objects(i).ScaleMesh 0.45, 0.535, 0.535
+'Objects(i).SetTexture GetTex("Wood2")
+Objects(i).SetMeshName ("DoorB " + Str$(i))
+Objects(i).SetRotation 0, 1.56, 0
+Objects(i).SetPosition 90.5, (Floor * FloorHeight) + FloorHeight, -130
+
+'Door 06
+i = 111 + (150 * (Floor - 1))
+Call Init_Objects(Floor, 111)
+Objects(i).AddWall GetTex("Door1"), -3.9, 0, 3.9, 0, 19.5, 0, 1, 1
+'Objects(i).SetColor (RGBA(10, 10, 10, 1))
+'Objects(i).ScaleMesh 0.45, 0.535, 0.535
+'Objects(i).SetTexture GetTex("Wood2")
+Objects(i).SetMeshName ("DoorB " + Str$(i))
+Objects(i).SetRotation 0, 1.56, 0
+Objects(i).SetPosition 90.5, (Floor * FloorHeight) + FloorHeight, -90
+
+'Door 07
+i = 112 + (150 * (Floor - 1))
+Call Init_Objects(Floor, 112)
+Objects(i).AddWall GetTex("Door1"), -3.9, 0, 3.9, 0, 19.5, 0, 1, 1
+'Objects(i).SetColor (RGBA(10, 10, 10, 1))
+'Objects(i).ScaleMesh 0.45, 0.535, 0.535
+'Objects(i).SetTexture GetTex("Wood2")
+Objects(i).SetMeshName ("DoorB " + Str$(i))
+Objects(i).SetRotation 0, 1.56, 0
+Objects(i).SetPosition 90.5, (Floor * FloorHeight) + FloorHeight, 130
+
+'Door 08
+i = 113 + (150 * (Floor - 1))
+Call Init_Objects(Floor, 113)
+Objects(i).AddWall GetTex("Door1"), -3.9, 0, 3.9, 0, 19.5, 0, 1, 1
+'Objects(i).SetColor (RGBA(10, 10, 10, 1))
+'Objects(i).ScaleMesh 0.45, 0.535, 0.535
+'Objects(i).SetTexture GetTex("Wood2")
+Objects(i).SetMeshName ("DoorB " + Str$(i))
+Objects(i).SetRotation 0, 1.56, 0
+Objects(i).SetPosition 90.5, (Floor * FloorHeight) + FloorHeight, 90
+
+'Door 09
+i = 114 + (150 * (Floor - 1))
+Call Init_Objects(Floor, 114)
+Objects(i).AddWall GetTex("Door1"), -3.9, 0, 3.9, 0, 19.5, 0, 1, 1
+'Objects(i).SetColor (RGBA(10, 10, 10, 1))
+'Objects(i).ScaleMesh 0.45, 0.535, 0.535
+'Objects(i).SetTexture GetTex("Wood2")
+Objects(i).SetMeshName ("DoorB " + Str$(i))
+Objects(i).SetRotation 0, 1.56, 0
+Objects(i).SetPosition -70, (Floor * FloorHeight) + FloorHeight, -130
+
+'Door 10
+i = 115 + (150 * (Floor - 1))
+Call Init_Objects(Floor, 115)
+Objects(i).AddWall GetTex("Door1"), -3.9, 0, 3.9, 0, 19.5, 0, 1, 1
+'Objects(i).SetColor (RGBA(10, 10, 10, 1))
+'Objects(i).ScaleMesh 0.45, 0.535, 0.535
+'Objects(i).SetTexture GetTex("Wood2")
+Objects(i).SetMeshName ("DoorB " + Str$(i))
+Objects(i).SetRotation 0, 1.56, 0
+Objects(i).SetPosition -70, (Floor * FloorHeight) + FloorHeight, -90
+
+'Door 11
+i = 116 + (150 * (Floor - 1))
+Call Init_Objects(Floor, 116)
+Objects(i).AddWall GetTex("Door1"), -3.9, 0, 3.9, 0, 19.5, 0, 1, 1
+'Objects(i).SetColor (RGBA(10, 10, 10, 1))
+'Objects(i).ScaleMesh 0.45, 0.535, 0.535
+'Objects(i).SetTexture GetTex("Wood2")
+Objects(i).SetMeshName ("DoorB " + Str$(i))
+Objects(i).SetRotation 0, 1.56, 0
+Objects(i).SetPosition -70, (Floor * FloorHeight) + FloorHeight, 130
+
+'Door 12
+i = 117 + (150 * (Floor - 1))
+Call Init_Objects(Floor, 117)
+Objects(i).AddWall GetTex("Door1"), -3.9, 0, 3.9, 0, 19.5, 0, 1, 1
+'Objects(i).SetColor (RGBA(10, 10, 10, 1))
+'Objects(i).ScaleMesh 0.45, 0.535, 0.535
+'Objects(i).SetTexture GetTex("Wood2")
+Objects(i).SetMeshName ("DoorB " + Str$(i))
+Objects(i).SetRotation 0, 1.56, 0
+Objects(i).SetPosition -70, (Floor * FloorHeight) + FloorHeight, 90
+
+'Door 13
+i = 118 + (150 * (Floor - 1))
+Call Init_Objects(Floor, 118)
+Objects(i).AddWall GetTex("Door1"), -3.9, 0, 3.9, 0, 19.5, 0, -1, 1
+'Objects(i).SetColor (RGBA(10, 10, 10, 1))
+'Objects(i).ScaleMesh 0.45, 0.535, 0.535
+'Objects(i).SetTexture GetTex("Wood2")
+Objects(i).SetMeshName ("DoorD " + Str$(i))
+Objects(i).SetRotation 0, 1.56, 0
+Objects(i).SetPosition -90.5, (Floor * FloorHeight) + FloorHeight, -130
+
+'Door 14
+i = 119 + (150 * (Floor - 1))
+Call Init_Objects(Floor, 119)
+Objects(i).AddWall GetTex("Door1"), -3.9, 0, 3.9, 0, 19.5, 0, -1, 1
+'Objects(i).SetColor (RGBA(10, 10, 10, 1))
+'Objects(i).ScaleMesh 0.45, 0.535, 0.535
+'Objects(i).SetTexture GetTex("Wood2")
+Objects(i).SetMeshName ("DoorD " + Str$(i))
+Objects(i).SetRotation 0, 1.56, 0
+Objects(i).SetPosition -90.5, (Floor * FloorHeight) + FloorHeight, -90
+
+'Door 15
+i = 120 + (150 * (Floor - 1))
+Call Init_Objects(Floor, 120)
+Objects(i).AddWall GetTex("Door1"), -3.9, 0, 3.9, 0, 19.5, 0, -1, 1
+'Objects(i).SetColor (RGBA(10, 10, 10, 1))
+'Objects(i).ScaleMesh 0.45, 0.535, 0.535
+'Objects(i).SetTexture GetTex("Wood2")
+Objects(i).SetMeshName ("DoorD " + Str$(i))
+Objects(i).SetRotation 0, 1.56, 0
+Objects(i).SetPosition -90.5, (Floor * FloorHeight) + FloorHeight, 130
+
+'Door 16
+i = 121 + (150 * (Floor - 1))
+Call Init_Objects(Floor, 121)
+Objects(i).AddWall GetTex("Door1"), -3.9, 0, 3.9, 0, 19.5, 0, -1, 1
+'Objects(i).SetColor (RGBA(10, 10, 10, 1))
+'Objects(i).ScaleMesh 0.45, 0.535, 0.535
+'Objects(i).SetTexture GetTex("Wood2")
+Objects(i).SetMeshName ("DoorD " + Str$(i))
+Objects(i).SetRotation 0, 1.56, 0
+Objects(i).SetPosition -90.5, (Floor * FloorHeight) + FloorHeight, 90
+
+'Service Door
+i = 122 + (150 * (Floor - 1))
+Call Init_Objects(Floor, 122)
+Objects(i).AddWall GetTex("StairsDoor"), -3.9, 0, 3.9, 0, 19.5, 0, 1, 1
+'Objects(i).SetColor (RGBA(10, 10, 10, 1))
+'Objects(i).ScaleMesh 0.45, 0.535, 0.535
+'Objects(i).SetTexture GetTex("Wood2")
+'Objects(i).SetRotation 0, 1.56, 0
+Objects(i).SetMeshName ("DoorA " + Str$(i))
+Objects(i).SetPosition 61.25, (Floor * FloorHeight) + FloorHeight, -46.25
+
+'Service Door 2
+i = 123 + (150 * (Floor - 1))
+Call Init_Objects(Floor, 123)
+Objects(i).AddWall GetTex("StairsDoor"), -3.9, 0, 3.9, 0, 19.5, 0, 1, 1
+'Objects(i).SetColor (RGBA(10, 10, 10, 1))
+'Objects(i).ScaleMesh 0.45, 0.535, 0.535
+'Objects(i).SetTexture GetTex("Wood2")
+'Objects(i).SetRotation 0, 1.56, 0
+Objects(i).SetMeshName ("DoorA " + Str$(i))
+Objects(i).SetPosition -61.25, (Floor * FloorHeight) + FloorHeight, -46.25
+
+'Door 17
+i = 124 + (150 * (Floor - 1))
+Call Init_Objects(Floor, 124)
+Objects(i).AddWall GetTex("Door1"), -3.9, 0, 3.9, 0, 19.5, 0, -1, 1
+'Objects(i).SetColor (RGBA(10, 10, 10, 1))
+'Objects(i).ScaleMesh 0.45, 0.535, 0.535
+'Objects(i).SetTexture GetTex("Wood2")
+Objects(i).SetMeshName ("DoorC " + Str$(i))
+'Objects(i).SetRotation 0, 1.56, 0
+Objects(i).SetPosition 22.5, (Floor * FloorHeight) + FloorHeight, 46.25
+
+'Door 18
+i = 125 + (150 * (Floor - 1))
+Call Init_Objects(Floor, 125)
+Objects(i).AddWall GetTex("Door1"), -3.9, 0, 3.9, 0, 19.5, 0, -1, 1
+'Objects(i).SetColor (RGBA(10, 10, 10, 1))
+'Objects(i).ScaleMesh 0.45, 0.535, 0.535
+'Objects(i).SetTexture GetTex("Wood2")
+Objects(i).SetMeshName ("DoorC " + Str$(i))
+'Objects(i).SetRotation 0, 1.56, 0
+Objects(i).SetPosition -22.5, (Floor * FloorHeight) + FloorHeight, 46.25
+
+End If
+
+If Floor >= 40 And Floor <= 79 Then
+
+'Window 1
+i = 1 + (150 * (Floor - 1))
+Call Init_Objects(Floor, 1)
+Objects(i).Load3DsMesh App.Path + "\objects\window4.3ds", True
+Objects(i).SetColor (RGBA(10, 10, 10, 1))
+Objects(i).ScaleMesh 0.136, 0.136, 0.136
+Objects(i).SetTexture GetTex("Ceiling1")
+Objects(i).SetRotation 0, -1.58, 0
+'Objects(i).SetPosition 154, 12.01 + ((Floor * FloorHeight) + FloorHeight), -149.5
+Objects(i).SetPosition 134.5, 12.01 + ((Floor * FloorHeight) + FloorHeight), 143
+'Objects(i).Optimize
+
+'Windows 2 to 25
+For j = 2 To 25
+i = j + (150 * (Floor - 1))
+Call Init_Objects(Floor, Int(j))
+Objects(i).Load3DsMesh App.Path + "\objects\window4.3ds", True
+Objects(i).SetColor (RGBA(10, 10, 10, 1))
+Objects(i).ScaleMesh 0.136, 0.136, 0.136
+Objects(i).SetTexture GetTex("Ceiling1")
+Objects(i).SetRotation 0, -1.58, 0
+'Objects(i).SetPosition 154, 12.01 + ((Floor * FloorHeight) + FloorHeight), -149.5
+Objects(i).SetPosition 134.5, 12.01 + ((Floor * FloorHeight) + FloorHeight), 143 - ((j - 1) * 12) + ((j - 1) * 0.1)
+'Objects(i).Optimize
+Next j
+
+'Window 26
+i = 26 + (150 * (Floor - 1))
+Call Init_Objects(Floor, 26)
+Objects(i).Load3DsMesh App.Path + "\objects\window4.3ds", True
+Objects(i).SetColor (RGBA(10, 10, 10, 1))
+Objects(i).ScaleMesh 0.136, 0.136, 0.136
+Objects(i).SetTexture GetTex("Ceiling1")
+Objects(i).SetRotation 0, -1.58, 0
+'Objects(i).SetPosition 154, 12.01 + ((Floor * FloorHeight) + FloorHeight), -149.5
+Objects(i).SetPosition -134.5, 12.01 + ((Floor * FloorHeight) + FloorHeight), 143
+'Objects(i).Optimize
+
+'Windows 27 to 50
+For j = 27 To 50
+i = j + (150 * (Floor - 1))
+Call Init_Objects(Floor, Int(j))
+Objects(i).Load3DsMesh App.Path + "\objects\window4.3ds", True
+Objects(i).SetColor (RGBA(10, 10, 10, 1))
+Objects(i).ScaleMesh 0.136, 0.136, 0.136
+Objects(i).SetTexture GetTex("Ceiling1")
+Objects(i).SetRotation 0, -1.58, 0
+'Objects(i).SetPosition 154, 12.01 + ((Floor * FloorHeight) + FloorHeight), -149.5
+Objects(i).SetPosition -134.5, 12.01 + ((Floor * FloorHeight) + FloorHeight), 143 - ((j - 26) * 12) + ((j - 26) * 0.1)
+'Objects(i).Optimize
+Next j
+
+'Window 51
+i = 51 + (150 * (Floor - 1))
+Call Init_Objects(Floor, 51)
+Objects(i).Load3DsMesh App.Path + "\objects\window4.3ds", True
+Objects(i).SetColor (RGBA(10, 10, 10, 1))
+Objects(i).ScaleMesh 0.136, 0.136, 0.136
+Objects(i).SetTexture GetTex("Ceiling1")
+'Objects(i).SetPosition 154, 12.01 + ((Floor * FloorHeight) + FloorHeight), 149.5
+Objects(i).SetPosition 129, 12.01 + ((Floor * FloorHeight) + FloorHeight), 149.5
+'Objects(i).Optimize
+
+For j = 52 To 72
+'Windows 52 to 72
+i = j + (150 * (Floor - 1))
+Call Init_Objects(Floor, Int(j))
+Objects(i).Load3DsMesh App.Path + "\objects\window4.3ds", True
+Objects(i).SetColor (RGBA(10, 10, 10, 1))
+Objects(i).ScaleMesh 0.136, 0.136, 0.136
+Objects(i).SetTexture GetTex("Ceiling1")
+Objects(i).SetPosition 129 - ((j - 51) * 12) + ((j - 51) * 0.1), 12.01 + ((Floor * FloorHeight) + FloorHeight), 149.5
+'Objects(i).Optimize
+Next j
+
+'Window 73
+i = 73 + (150 * (Floor - 1))
+Call Init_Objects(Floor, 73)
+Objects(i).Load3DsMesh App.Path + "\objects\window4.3ds", True
+Objects(i).SetColor (RGBA(10, 10, 10, 1))
+Objects(i).ScaleMesh 0.136, 0.136, 0.136
+Objects(i).SetTexture GetTex("Ceiling1")
+'Objects(i).SetPosition 154, 12.01 + ((Floor * FloorHeight) + FloorHeight), 149.5
+Objects(i).SetPosition 129, 12.01 + ((Floor * FloorHeight) + FloorHeight), -149.5
+'Objects(i).Optimize
+
+For j = 74 To 94
+'Windows 74 to 94
+i = j + (150 * (Floor - 1))
+Call Init_Objects(Floor, Int(j))
+Objects(i).Load3DsMesh App.Path + "\objects\window4.3ds", True
+Objects(i).SetColor (RGBA(10, 10, 10, 1))
+Objects(i).ScaleMesh 0.136, 0.136, 0.136
+Objects(i).SetTexture GetTex("Ceiling1")
+Objects(i).SetPosition 129 - ((j - 73) * 12) + ((j - 73) * 0.1), 12.01 + ((Floor * FloorHeight) + FloorHeight), -149.5
+'Objects(i).Optimize
+Next j
+
+''Stairway Door
+'i = 95 + (150 * (Floor - 1))
+'Call Init_Objects(Floor, 95)
+'Objects(i).AddWall GetTex("StairsDoor"), -3.9, 0, 3.9, 0, 19.5, 0, 1, 1
+''Objects(i).SetColor (RGBA(10, 10, 10, 1))
+''Objects(i).ScaleMesh 0.45, 0.535, 0.535
+''Objects(i).SetTexture GetTex("Wood2")
+'Objects(i).SetMeshName ("DoorB " + Str$(i))
+'Objects(i).SetRotation 0, 1.56, 0
+'Objects(i).SetPosition -12.8, (Floor * FloorHeight) + FloorHeight, -36.4
+
+'Door 01
+i = 96 + (150 * (Floor - 1))
+Call Init_Objects(Floor, 96)
+Objects(i).AddWall GetTex("Door1"), -3.9, 0, 3.9, 0, 19.5, 0, -1, 1
+'Objects(i).SetColor (RGBA(10, 10, 10, 1))
+'Objects(i).ScaleMesh 0.45, 0.535, 0.535
+'Objects(i).SetTexture GetTex("Wood2")
+Objects(i).SetMeshName ("DoorD " + Str$(i))
+Objects(i).SetRotation 0, 1.56, 0
+Objects(i).SetPosition 70, (Floor * FloorHeight) + FloorHeight, -130
+
+'Door 02
+i = 97 + (150 * (Floor - 1))
+Call Init_Objects(Floor, 97)
+Objects(i).AddWall GetTex("Door1"), -3.9, 0, 3.9, 0, 19.5, 0, -1, 1
+'Objects(i).SetColor (RGBA(10, 10, 10, 1))
+'Objects(i).ScaleMesh 0.45, 0.535, 0.535
+'Objects(i).SetTexture GetTex("Wood2")
+Objects(i).SetMeshName ("DoorD " + Str$(i))
+Objects(i).SetRotation 0, 1.56, 0
+Objects(i).SetPosition 70, (Floor * FloorHeight) + FloorHeight, -90
+
+'Door 03
+i = 98 + (150 * (Floor - 1))
+Call Init_Objects(Floor, 98)
+Objects(i).AddWall GetTex("Door1"), -3.9, 0, 3.9, 0, 19.5, 0, -1, 1
+'Objects(i).SetColor (RGBA(10, 10, 10, 1))
+'Objects(i).ScaleMesh 0.45, 0.535, 0.535
+'Objects(i).SetTexture GetTex("Wood2")
+Objects(i).SetMeshName ("DoorD " + Str$(i))
+Objects(i).SetRotation 0, 1.56, 0
+Objects(i).SetPosition 70, (Floor * FloorHeight) + FloorHeight, 130
+
+'Door 04
+i = 99 + (150 * (Floor - 1))
+Call Init_Objects(Floor, 99)
+Objects(i).AddWall GetTex("Door1"), -3.9, 0, 3.9, 0, 19.5, 0, -1, 1
+'Objects(i).SetColor (RGBA(10, 10, 10, 1))
+'Objects(i).ScaleMesh 0.45, 0.535, 0.535
+'Objects(i).SetTexture GetTex("Wood2")
+Objects(i).SetMeshName ("DoorD " + Str$(i))
+Objects(i).SetRotation 0, 1.56, 0
+Objects(i).SetPosition 70, (Floor * FloorHeight) + FloorHeight, 90
+
+'Door 05
+i = 100 + (150 * (Floor - 1))
+Call Init_Objects(Floor, 100)
+Objects(i).AddWall GetTex("Door1"), -3.9, 0, 3.9, 0, 19.5, 0, 1, 1
+'Objects(i).SetColor (RGBA(10, 10, 10, 1))
+'Objects(i).ScaleMesh 0.45, 0.535, 0.535
+'Objects(i).SetTexture GetTex("Wood2")
+Objects(i).SetMeshName ("DoorB " + Str$(i))
+Objects(i).SetRotation 0, 1.56, 0
+Objects(i).SetPosition 90.5, (Floor * FloorHeight) + FloorHeight, -130
+
+'Door 06
+i = 101 + (150 * (Floor - 1))
+Call Init_Objects(Floor, 101)
+Objects(i).AddWall GetTex("Door1"), -3.9, 0, 3.9, 0, 19.5, 0, 1, 1
+'Objects(i).SetColor (RGBA(10, 10, 10, 1))
+'Objects(i).ScaleMesh 0.45, 0.535, 0.535
+'Objects(i).SetTexture GetTex("Wood2")
+Objects(i).SetMeshName ("DoorB " + Str$(i))
+Objects(i).SetRotation 0, 1.56, 0
+Objects(i).SetPosition 90.5, (Floor * FloorHeight) + FloorHeight, -90
+
+'Door 07
+i = 102 + (150 * (Floor - 1))
+Call Init_Objects(Floor, 102)
+Objects(i).AddWall GetTex("Door1"), -3.9, 0, 3.9, 0, 19.5, 0, 1, 1
+'Objects(i).SetColor (RGBA(10, 10, 10, 1))
+'Objects(i).ScaleMesh 0.45, 0.535, 0.535
+'Objects(i).SetTexture GetTex("Wood2")
+Objects(i).SetMeshName ("DoorB " + Str$(i))
+Objects(i).SetRotation 0, 1.56, 0
+Objects(i).SetPosition 90.5, (Floor * FloorHeight) + FloorHeight, 130
+
+'Door 08
+i = 103 + (150 * (Floor - 1))
+Call Init_Objects(Floor, 103)
+Objects(i).AddWall GetTex("Door1"), -3.9, 0, 3.9, 0, 19.5, 0, 1, 1
+'Objects(i).SetColor (RGBA(10, 10, 10, 1))
+'Objects(i).ScaleMesh 0.45, 0.535, 0.535
+'Objects(i).SetTexture GetTex("Wood2")
+Objects(i).SetMeshName ("DoorB " + Str$(i))
+Objects(i).SetRotation 0, 1.56, 0
+Objects(i).SetPosition 90.5, (Floor * FloorHeight) + FloorHeight, 90
+
+'Door 09
+i = 104 + (150 * (Floor - 1))
+Call Init_Objects(Floor, 104)
+Objects(i).AddWall GetTex("Door1"), -3.9, 0, 3.9, 0, 19.5, 0, 1, 1
+'Objects(i).SetColor (RGBA(10, 10, 10, 1))
+'Objects(i).ScaleMesh 0.45, 0.535, 0.535
+'Objects(i).SetTexture GetTex("Wood2")
+Objects(i).SetMeshName ("DoorB " + Str$(i))
+Objects(i).SetRotation 0, 1.56, 0
+Objects(i).SetPosition -70, (Floor * FloorHeight) + FloorHeight, -130
+
+'Door 10
+i = 105 + (150 * (Floor - 1))
+Call Init_Objects(Floor, 105)
+Objects(i).AddWall GetTex("Door1"), -3.9, 0, 3.9, 0, 19.5, 0, 1, 1
+'Objects(i).SetColor (RGBA(10, 10, 10, 1))
+'Objects(i).ScaleMesh 0.45, 0.535, 0.535
+'Objects(i).SetTexture GetTex("Wood2")
+Objects(i).SetMeshName ("DoorB " + Str$(i))
+Objects(i).SetRotation 0, 1.56, 0
+Objects(i).SetPosition -70, (Floor * FloorHeight) + FloorHeight, -90
+
+'Door 11
+i = 106 + (150 * (Floor - 1))
+Call Init_Objects(Floor, 106)
+Objects(i).AddWall GetTex("Door1"), -3.9, 0, 3.9, 0, 19.5, 0, 1, 1
+'Objects(i).SetColor (RGBA(10, 10, 10, 1))
+'Objects(i).ScaleMesh 0.45, 0.535, 0.535
+'Objects(i).SetTexture GetTex("Wood2")
+Objects(i).SetMeshName ("DoorB " + Str$(i))
+Objects(i).SetRotation 0, 1.56, 0
+Objects(i).SetPosition -70, (Floor * FloorHeight) + FloorHeight, 130
+
+'Door 12
+i = 107 + (150 * (Floor - 1))
+Call Init_Objects(Floor, 107)
+Objects(i).AddWall GetTex("Door1"), -3.9, 0, 3.9, 0, 19.5, 0, 1, 1
+'Objects(i).SetColor (RGBA(10, 10, 10, 1))
+'Objects(i).ScaleMesh 0.45, 0.535, 0.535
+'Objects(i).SetTexture GetTex("Wood2")
+Objects(i).SetMeshName ("DoorB " + Str$(i))
+Objects(i).SetRotation 0, 1.56, 0
+Objects(i).SetPosition -70, (Floor * FloorHeight) + FloorHeight, 90
+
+'Door 13
+i = 108 + (150 * (Floor - 1))
+Call Init_Objects(Floor, 108)
+Objects(i).AddWall GetTex("Door1"), -3.9, 0, 3.9, 0, 19.5, 0, -1, 1
+'Objects(i).SetColor (RGBA(10, 10, 10, 1))
+'Objects(i).ScaleMesh 0.45, 0.535, 0.535
+'Objects(i).SetTexture GetTex("Wood2")
+Objects(i).SetMeshName ("DoorD " + Str$(i))
+Objects(i).SetRotation 0, 1.56, 0
+Objects(i).SetPosition -90.5, (Floor * FloorHeight) + FloorHeight, -130
+
+'Door 14
+i = 109 + (150 * (Floor - 1))
+Call Init_Objects(Floor, 109)
+Objects(i).AddWall GetTex("Door1"), -3.9, 0, 3.9, 0, 19.5, 0, -1, 1
+'Objects(i).SetColor (RGBA(10, 10, 10, 1))
+'Objects(i).ScaleMesh 0.45, 0.535, 0.535
+'Objects(i).SetTexture GetTex("Wood2")
+Objects(i).SetMeshName ("DoorD " + Str$(i))
+Objects(i).SetRotation 0, 1.56, 0
+Objects(i).SetPosition -90.5, (Floor * FloorHeight) + FloorHeight, -90
+
+'Door 15
+i = 110 + (150 * (Floor - 1))
+Call Init_Objects(Floor, 110)
+Objects(i).AddWall GetTex("Door1"), -3.9, 0, 3.9, 0, 19.5, 0, -1, 1
+'Objects(i).SetColor (RGBA(10, 10, 10, 1))
+'Objects(i).ScaleMesh 0.45, 0.535, 0.535
+'Objects(i).SetTexture GetTex("Wood2")
+Objects(i).SetMeshName ("DoorD " + Str$(i))
+Objects(i).SetRotation 0, 1.56, 0
+Objects(i).SetPosition -90.5, (Floor * FloorHeight) + FloorHeight, 130
+
+'Door 16
+i = 111 + (150 * (Floor - 1))
+Call Init_Objects(Floor, 111)
+Objects(i).AddWall GetTex("Door1"), -3.9, 0, 3.9, 0, 19.5, 0, -1, 1
+'Objects(i).SetColor (RGBA(10, 10, 10, 1))
+'Objects(i).ScaleMesh 0.45, 0.535, 0.535
+'Objects(i).SetTexture GetTex("Wood2")
+Objects(i).SetMeshName ("DoorD " + Str$(i))
+Objects(i).SetRotation 0, 1.56, 0
+Objects(i).SetPosition -90.5, (Floor * FloorHeight) + FloorHeight, 90
+
+'Service Door
+i = 112 + (150 * (Floor - 1))
+Call Init_Objects(Floor, 112)
+Objects(i).AddWall GetTex("StairsDoor"), -3.9, 0, 3.9, 0, 19.5, 0, 1, 1
+'Objects(i).SetColor (RGBA(10, 10, 10, 1))
+'Objects(i).ScaleMesh 0.45, 0.535, 0.535
+'Objects(i).SetTexture GetTex("Wood2")
+'Objects(i).SetRotation 0, 1.56, 0
+Objects(i).SetMeshName ("DoorA " + Str$(i))
+Objects(i).SetPosition 61.25, (Floor * FloorHeight) + FloorHeight, -46.25
+
+'Service Door 2
+i = 113 + (150 * (Floor - 1))
+Call Init_Objects(Floor, 113)
+Objects(i).AddWall GetTex("StairsDoor"), -3.9, 0, 3.9, 0, 19.5, 0, 1, 1
+'Objects(i).SetColor (RGBA(10, 10, 10, 1))
+'Objects(i).ScaleMesh 0.45, 0.535, 0.535
+'Objects(i).SetTexture GetTex("Wood2")
+'Objects(i).SetRotation 0, 1.56, 0
+Objects(i).SetMeshName ("DoorA " + Str$(i))
+Objects(i).SetPosition -61.25, (Floor * FloorHeight) + FloorHeight, -46.25
+
+'Door 17
+i = 114 + (150 * (Floor - 1))
+Call Init_Objects(Floor, 114)
+Objects(i).AddWall GetTex("Door1"), -3.9, 0, 3.9, 0, 19.5, 0, -1, 1
+'Objects(i).SetColor (RGBA(10, 10, 10, 1))
+'Objects(i).ScaleMesh 0.45, 0.535, 0.535
+'Objects(i).SetTexture GetTex("Wood2")
+Objects(i).SetMeshName ("DoorC " + Str$(i))
+'Objects(i).SetRotation 0, 1.56, 0
+Objects(i).SetPosition 22.5, (Floor * FloorHeight) + FloorHeight, 46.25
+
+'Door 18
+i = 115 + (150 * (Floor - 1))
+Call Init_Objects(Floor, 115)
+Objects(i).AddWall GetTex("Door1"), -3.9, 0, 3.9, 0, 19.5, 0, -1, 1
+'Objects(i).SetColor (RGBA(10, 10, 10, 1))
+'Objects(i).ScaleMesh 0.45, 0.535, 0.535
+'Objects(i).SetTexture GetTex("Wood2")
+Objects(i).SetMeshName ("DoorC " + Str$(i))
+'Objects(i).SetRotation 0, 1.56, 0
+Objects(i).SetPosition -22.5, (Floor * FloorHeight) + FloorHeight, 46.25
+
+End If
+
+If Floor >= 80 And Floor <= 117 Then
+
+'Window 1
+i = 1 + (150 * (Floor - 1))
+Call Init_Objects(Floor, 1)
+Objects(i).Load3DsMesh App.Path + "\objects\window4.3ds", True
+Objects(i).SetColor (RGBA(10, 10, 10, 1))
+Objects(i).ScaleMesh 0.136, 0.136, 0.136
+Objects(i).SetTexture GetTex("Ceiling1")
+Objects(i).SetRotation 0, -1.58, 0
+'Objects(i).SetPosition 154, 12.01 + ((Floor * FloorHeight) + FloorHeight), -149.5
+Objects(i).SetPosition 109.5, 12.01 + ((Floor * FloorHeight) + FloorHeight), 143
+'Objects(i).Optimize
+
+'Windows 2 to 25
+For j = 2 To 25
+i = j + (150 * (Floor - 1))
+Call Init_Objects(Floor, Int(j))
+Objects(i).Load3DsMesh App.Path + "\objects\window4.3ds", True
+Objects(i).SetColor (RGBA(10, 10, 10, 1))
+Objects(i).ScaleMesh 0.136, 0.136, 0.136
+Objects(i).SetTexture GetTex("Ceiling1")
+Objects(i).SetRotation 0, -1.58, 0
+'Objects(i).SetPosition 154, 12.01 + ((Floor * FloorHeight) + FloorHeight), -149.5
+Objects(i).SetPosition 109.5, 12.01 + ((Floor * FloorHeight) + FloorHeight), 143 - ((j - 1) * 12) + ((j - 1) * 0.1)
+'Objects(i).Optimize
+Next j
+
+'Window 26
+i = 26 + (150 * (Floor - 1))
+Call Init_Objects(Floor, 26)
+Objects(i).Load3DsMesh App.Path + "\objects\window4.3ds", True
+Objects(i).SetColor (RGBA(10, 10, 10, 1))
+Objects(i).ScaleMesh 0.136, 0.136, 0.136
+Objects(i).SetTexture GetTex("Ceiling1")
+Objects(i).SetRotation 0, -1.58, 0
+'Objects(i).SetPosition 154, 12.01 + ((Floor * FloorHeight) + FloorHeight), -149.5
+Objects(i).SetPosition -109.5, 12.01 + ((Floor * FloorHeight) + FloorHeight), 143
+'Objects(i).Optimize
+
+'Windows 27 to 50
+For j = 27 To 50
+i = j + (150 * (Floor - 1))
+Call Init_Objects(Floor, Int(j))
+Objects(i).Load3DsMesh App.Path + "\objects\window4.3ds", True
+Objects(i).SetColor (RGBA(10, 10, 10, 1))
+Objects(i).ScaleMesh 0.136, 0.136, 0.136
+Objects(i).SetTexture GetTex("Ceiling1")
+Objects(i).SetRotation 0, -1.58, 0
+'Objects(i).SetPosition 154, 12.01 + ((Floor * FloorHeight) + FloorHeight), -149.5
+Objects(i).SetPosition -109.5, 12.01 + ((Floor * FloorHeight) + FloorHeight), 143 - ((j - 26) * 12) + ((j - 26) * 0.1)
+'Objects(i).Optimize
+Next j
+
+'Window 51
+i = 51 + (150 * (Floor - 1))
+Call Init_Objects(Floor, 51)
+Objects(i).Load3DsMesh App.Path + "\objects\window4.3ds", True
+Objects(i).SetColor (RGBA(10, 10, 10, 1))
+Objects(i).ScaleMesh 0.136, 0.136, 0.136
+Objects(i).SetTexture GetTex("Ceiling1")
+'Objects(i).SetPosition 154, 12.01 + ((Floor * FloorHeight) + FloorHeight), 149.5
+Objects(i).SetPosition 103, 12.01 + ((Floor * FloorHeight) + FloorHeight), 149.5
+'Objects(i).Optimize
+
+For j = 52 To 68
+'Windows 52 to 68
+i = j + (150 * (Floor - 1))
+Call Init_Objects(Floor, Int(j))
+Objects(i).Load3DsMesh App.Path + "\objects\window4.3ds", True
+Objects(i).SetColor (RGBA(10, 10, 10, 1))
+Objects(i).ScaleMesh 0.136, 0.136, 0.136
+Objects(i).SetTexture GetTex("Ceiling1")
+Objects(i).SetPosition 103 - ((j - 51) * 12) + ((j - 51) * 0.15), 12.01 + ((Floor * FloorHeight) + FloorHeight), 149.5
+'Objects(i).Optimize
+Next j
+
+'Window 69
+i = 69 + (150 * (Floor - 1))
+Call Init_Objects(Floor, 69)
+Objects(i).Load3DsMesh App.Path + "\objects\window4.3ds", True
+Objects(i).SetColor (RGBA(10, 10, 10, 1))
+Objects(i).ScaleMesh 0.136, 0.136, 0.136
+Objects(i).SetTexture GetTex("Ceiling1")
+'Objects(i).SetPosition 154, 12.01 + ((Floor * FloorHeight) + FloorHeight), 149.5
+Objects(i).SetPosition 103, 12.01 + ((Floor * FloorHeight) + FloorHeight), -149.5
+'Objects(i).Optimize
+
+For j = 70 To 86
+'Windows 70 to 86
+i = j + (150 * (Floor - 1))
+Call Init_Objects(Floor, Int(j))
+Objects(i).Load3DsMesh App.Path + "\objects\window4.3ds", True
+Objects(i).SetColor (RGBA(10, 10, 10, 1))
+Objects(i).ScaleMesh 0.136, 0.136, 0.136
+Objects(i).SetTexture GetTex("Ceiling1")
+Objects(i).SetPosition 103 - ((j - 69) * 12) + ((j - 69) * 0.15), 12.01 + ((Floor * FloorHeight) + FloorHeight), -149.5
+'Objects(i).Optimize
+Next j
+
+''Stairway Door
+'i = 87 + (150 * (Floor - 1))
+'Call Init_Objects(Floor, 87)
+'Objects(i).AddWall GetTex("StairsDoor"), -3.9, 0, 3.9, 0, 19.5, 0, 1, 1
+''Objects(i).SetColor (RGBA(10, 10, 10, 1))
+''Objects(i).ScaleMesh 0.45, 0.535, 0.535
+''Objects(i).SetTexture GetTex("Wood2")
+'Objects(i).SetMeshName ("DoorB " + Str$(i))
+'Objects(i).SetRotation 0, 1.56, 0
+'Objects(i).SetPosition -12.8, (Floor * FloorHeight) + FloorHeight, -36.4
+
+End If
+
+If Floor >= 81 And Floor <= 114 Then
+
+'Door 01
+i = 88 + (150 * (Floor - 1))
+Call Init_Objects(Floor, 88)
+Objects(i).AddWall GetTex("Door1"), -3.9, 0, 3.9, 0, 19.5, 0, -1, 1
+'Objects(i).SetColor (RGBA(10, 10, 10, 1))
+'Objects(i).ScaleMesh 0.45, 0.535, 0.535
+'Objects(i).SetTexture GetTex("Wood2")
+Objects(i).SetMeshName ("DoorD " + Str$(i))
+Objects(i).SetRotation 0, 1.56, 0
+Objects(i).SetPosition -70, (Floor * FloorHeight) + FloorHeight, -118
+
+'Door 02
+i = 89 + (150 * (Floor - 1))
+Call Init_Objects(Floor, 89)
+Objects(i).AddWall GetTex("Door1"), -3.9, 0, 3.9, 0, 19.5, 0, -1, 1
+'Objects(i).SetColor (RGBA(10, 10, 10, 1))
+'Objects(i).ScaleMesh 0.45, 0.535, 0.535
+'Objects(i).SetTexture GetTex("Wood2")
+Objects(i).SetMeshName ("DoorD " + Str$(i))
+Objects(i).SetRotation 0, 1.56, 0
+Objects(i).SetPosition -70, (Floor * FloorHeight) + FloorHeight, -102
+
+'Door 03
+i = 90 + (150 * (Floor - 1))
+Call Init_Objects(Floor, 90)
+Objects(i).AddWall GetTex("Door1"), -3.9, 0, 3.9, 0, 19.5, 0, -1, 1
+'Objects(i).SetColor (RGBA(10, 10, 10, 1))
+'Objects(i).ScaleMesh 0.45, 0.535, 0.535
+'Objects(i).SetTexture GetTex("Wood2")
+Objects(i).SetMeshName ("DoorD " + Str$(i))
+Objects(i).SetRotation 0, 1.56, 0
+Objects(i).SetPosition -70, (Floor * FloorHeight) + FloorHeight, -60
+
+'Door 04
+i = 91 + (150 * (Floor - 1))
+Call Init_Objects(Floor, 91)
+Objects(i).AddWall GetTex("Door1"), -3.9, 0, 3.9, 0, 19.5, 0, -1, 1
+'Objects(i).SetColor (RGBA(10, 10, 10, 1))
+'Objects(i).ScaleMesh 0.45, 0.535, 0.535
+'Objects(i).SetTexture GetTex("Wood2")
+Objects(i).SetMeshName ("DoorD " + Str$(i))
+Objects(i).SetRotation 0, 1.56, 0
+Objects(i).SetPosition -70, (Floor * FloorHeight) + FloorHeight, 27
+
+'Door 05
+i = 92 + (150 * (Floor - 1))
+Call Init_Objects(Floor, 92)
+Objects(i).AddWall GetTex("Door1"), -3.9, 0, 3.9, 0, 19.5, 0, -1, 1
+'Objects(i).SetColor (RGBA(10, 10, 10, 1))
+'Objects(i).ScaleMesh 0.45, 0.535, 0.535
+'Objects(i).SetTexture GetTex("Wood2")
+Objects(i).SetMeshName ("DoorD " + Str$(i))
+Objects(i).SetRotation 0, 1.56, 0
+Objects(i).SetPosition -70, (Floor * FloorHeight) + FloorHeight, 66
+
+'Door 06
+i = 93 + (150 * (Floor - 1))
+Call Init_Objects(Floor, 93)
+Objects(i).AddWall GetTex("Door1"), -3.9, 0, 3.9, 0, 19.5, 0, -1, 1
+'Objects(i).SetColor (RGBA(10, 10, 10, 1))
+'Objects(i).ScaleMesh 0.45, 0.535, 0.535
+'Objects(i).SetTexture GetTex("Wood2")
+Objects(i).SetMeshName ("DoorD " + Str$(i))
+Objects(i).SetRotation 0, 1.56, 0
+Objects(i).SetPosition -70, (Floor * FloorHeight) + FloorHeight, 102
+
+'Door 07
+i = 94 + (150 * (Floor - 1))
+Call Init_Objects(Floor, 94)
+Objects(i).AddWall GetTex("Door1"), -3.9, 0, 3.9, 0, 19.5, 0, -1, 1
+'Objects(i).SetColor (RGBA(10, 10, 10, 1))
+'Objects(i).ScaleMesh 0.45, 0.535, 0.535
+'Objects(i).SetTexture GetTex("Wood2")
+Objects(i).SetMeshName ("DoorD " + Str$(i))
+Objects(i).SetRotation 0, 1.56, 0
+Objects(i).SetPosition -70, (Floor * FloorHeight) + FloorHeight, 116
+
+'Door 08
+i = 95 + (150 * (Floor - 1))
+Call Init_Objects(Floor, 95)
+Objects(i).AddWall GetTex("Door1"), -3.9, 0, 3.9, 0, 19.5, 0, 1, 1
+'Objects(i).SetColor (RGBA(10, 10, 10, 1))
+'Objects(i).ScaleMesh 0.45, 0.535, 0.535
+'Objects(i).SetTexture GetTex("Wood2")
+Objects(i).SetMeshName ("DoorB " + Str$(i))
+Objects(i).SetRotation 0, 1.56, 0
+Objects(i).SetPosition 70, (Floor * FloorHeight) + FloorHeight, -118
+
+'Door 09
+i = 96 + (150 * (Floor - 1))
+Call Init_Objects(Floor, 96)
+Objects(i).AddWall GetTex("Door1"), -3.9, 0, 3.9, 0, 19.5, 0, 1, 1
+'Objects(i).SetColor (RGBA(10, 10, 10, 1))
+'Objects(i).ScaleMesh 0.45, 0.535, 0.535
+'Objects(i).SetTexture GetTex("Wood2")
+Objects(i).SetMeshName ("DoorB " + Str$(i))
+Objects(i).SetRotation 0, 1.56, 0
+Objects(i).SetPosition 70, (Floor * FloorHeight) + FloorHeight, -102
+
+'Door 10
+i = 97 + (150 * (Floor - 1))
+Call Init_Objects(Floor, 97)
+Objects(i).AddWall GetTex("Door1"), -3.9, 0, 3.9, 0, 19.5, 0, 1, 1
+'Objects(i).SetColor (RGBA(10, 10, 10, 1))
+'Objects(i).ScaleMesh 0.45, 0.535, 0.535
+'Objects(i).SetTexture GetTex("Wood2")
+Objects(i).SetMeshName ("DoorB " + Str$(i))
+Objects(i).SetRotation 0, 1.56, 0
+Objects(i).SetPosition 70, (Floor * FloorHeight) + FloorHeight, -60
+
+'Door 11
+i = 98 + (150 * (Floor - 1))
+Call Init_Objects(Floor, 98)
+Objects(i).AddWall GetTex("Door1"), -3.9, 0, 3.9, 0, 19.5, 0, 1, 1
+'Objects(i).SetColor (RGBA(10, 10, 10, 1))
+'Objects(i).ScaleMesh 0.45, 0.535, 0.535
+'Objects(i).SetTexture GetTex("Wood2")
+Objects(i).SetMeshName ("DoorB " + Str$(i))
+Objects(i).SetRotation 0, 1.56, 0
+Objects(i).SetPosition 70, (Floor * FloorHeight) + FloorHeight, 27
+
+'Door 12
+i = 99 + (150 * (Floor - 1))
+Call Init_Objects(Floor, 99)
+Objects(i).AddWall GetTex("Door1"), -3.9, 0, 3.9, 0, 19.5, 0, 1, 1
+'Objects(i).SetColor (RGBA(10, 10, 10, 1))
+'Objects(i).ScaleMesh 0.45, 0.535, 0.535
+'Objects(i).SetTexture GetTex("Wood2")
+Objects(i).SetMeshName ("DoorB " + Str$(i))
+Objects(i).SetRotation 0, 1.56, 0
+Objects(i).SetPosition 70, (Floor * FloorHeight) + FloorHeight, 66
+
+'Door 13
+i = 100 + (150 * (Floor - 1))
+Call Init_Objects(Floor, 100)
+Objects(i).AddWall GetTex("Door1"), -3.9, 0, 3.9, 0, 19.5, 0, 1, 1
+'Objects(i).SetColor (RGBA(10, 10, 10, 1))
+'Objects(i).ScaleMesh 0.45, 0.535, 0.535
+'Objects(i).SetTexture GetTex("Wood2")
+Objects(i).SetMeshName ("DoorB " + Str$(i))
+Objects(i).SetRotation 0, 1.56, 0
+Objects(i).SetPosition 70, (Floor * FloorHeight) + FloorHeight, 102
+
+'Door 14
+i = 101 + (150 * (Floor - 1))
+Call Init_Objects(Floor, 101)
+Objects(i).AddWall GetTex("Door1"), -3.9, 0, 3.9, 0, 19.5, 0, 1, 1
+'Objects(i).SetColor (RGBA(10, 10, 10, 1))
+'Objects(i).ScaleMesh 0.45, 0.535, 0.535
+'Objects(i).SetTexture GetTex("Wood2")
+Objects(i).SetMeshName ("DoorB " + Str$(i))
+Objects(i).SetRotation 0, 1.56, 0
+Objects(i).SetPosition 70, (Floor * FloorHeight) + FloorHeight, 116
+
+'Door 15
+i = 102 + (150 * (Floor - 1))
+Call Init_Objects(Floor, 102)
+Objects(i).AddWall GetTex("Door1"), -3.9, 0, 3.9, 0, 19.5, 0, -1, 1
+'Objects(i).SetColor (RGBA(10, 10, 10, 1))
+'Objects(i).ScaleMesh 0.45, 0.535, 0.535
+'Objects(i).SetTexture GetTex("Wood2")
+Objects(i).SetMeshName ("DoorD " + Str$(i))
+Objects(i).SetRotation 0, 1.56, 0
+Objects(i).SetPosition -12.5, (Floor * FloorHeight) + FloorHeight, 118
+
+'Door 16
+i = 103 + (150 * (Floor - 1))
+Call Init_Objects(Floor, 103)
+Objects(i).AddWall GetTex("Door1"), -3.9, 0, 3.9, 0, 19.5, 0, -1, 1
+'Objects(i).SetColor (RGBA(10, 10, 10, 1))
+'Objects(i).ScaleMesh 0.45, 0.535, 0.535
+'Objects(i).SetTexture GetTex("Wood2")
+Objects(i).SetMeshName ("DoorD " + Str$(i))
+Objects(i).SetRotation 0, 1.56, 0
+Objects(i).SetPosition -12.5, (Floor * FloorHeight) + FloorHeight, 102
+
+'Door 17
+i = 104 + (150 * (Floor - 1))
+Call Init_Objects(Floor, 104)
+Objects(i).AddWall GetTex("Door1"), -3.9, 0, 3.9, 0, 19.5, 0, 1, 1
+'Objects(i).SetColor (RGBA(10, 10, 10, 1))
+'Objects(i).ScaleMesh 0.45, 0.535, 0.535
+'Objects(i).SetTexture GetTex("Wood2")
+Objects(i).SetMeshName ("DoorB " + Str$(i))
+Objects(i).SetRotation 0, 1.56, 0
+Objects(i).SetPosition 12.5, (Floor * FloorHeight) + FloorHeight, 118
+
+'Door 18
+i = 105 + (150 * (Floor - 1))
+Call Init_Objects(Floor, 105)
+Objects(i).AddWall GetTex("Door1"), -3.9, 0, 3.9, 0, 19.5, 0, 1, 1
+'Objects(i).SetColor (RGBA(10, 10, 10, 1))
+'Objects(i).ScaleMesh 0.45, 0.535, 0.535
+'Objects(i).SetTexture GetTex("Wood2")
+Objects(i).SetMeshName ("DoorB " + Str$(i))
+Objects(i).SetRotation 0, 1.56, 0
+Objects(i).SetPosition 12.5, (Floor * FloorHeight) + FloorHeight, 102
+
+'Door 19
+i = 106 + (150 * (Floor - 1))
+Call Init_Objects(Floor, 106)
+Objects(i).AddWall GetTex("Door1"), -3.9, 0, 3.9, 0, 19.5, 0, -1, 1
+'Objects(i).SetColor (RGBA(10, 10, 10, 1))
+'Objects(i).ScaleMesh 0.45, 0.535, 0.535
+'Objects(i).SetTexture GetTex("Wood2")
+Objects(i).SetMeshName ("DoorD " + Str$(i))
+Objects(i).SetRotation 0, 1.56, 0
+Objects(i).SetPosition -12.5, (Floor * FloorHeight) + FloorHeight, -118
+
+'Door 20
+i = 107 + (150 * (Floor - 1))
+Call Init_Objects(Floor, 107)
+Objects(i).AddWall GetTex("Door1"), -3.9, 0, 3.9, 0, 19.5, 0, -1, 1
+'Objects(i).SetColor (RGBA(10, 10, 10, 1))
+'Objects(i).ScaleMesh 0.45, 0.535, 0.535
+'Objects(i).SetTexture GetTex("Wood2")
+Objects(i).SetMeshName ("DoorD " + Str$(i))
+Objects(i).SetRotation 0, 1.56, 0
+Objects(i).SetPosition -12.5, (Floor * FloorHeight) + FloorHeight, -102
+
+'Door 21
+i = 108 + (150 * (Floor - 1))
+Call Init_Objects(Floor, 108)
+Objects(i).AddWall GetTex("Door1"), -3.9, 0, 3.9, 0, 19.5, 0, 1, 1
+'Objects(i).SetColor (RGBA(10, 10, 10, 1))
+'Objects(i).ScaleMesh 0.45, 0.535, 0.535
+'Objects(i).SetTexture GetTex("Wood2")
+Objects(i).SetMeshName ("DoorB " + Str$(i))
+Objects(i).SetRotation 0, 1.56, 0
+Objects(i).SetPosition 12.5, (Floor * FloorHeight) + FloorHeight, -118
+
+'Door 22
+i = 109 + (150 * (Floor - 1))
+Call Init_Objects(Floor, 109)
+Objects(i).AddWall GetTex("Door1"), -3.9, 0, 3.9, 0, 19.5, 0, 1, 1
+'Objects(i).SetColor (RGBA(10, 10, 10, 1))
+'Objects(i).ScaleMesh 0.45, 0.535, 0.535
+'Objects(i).SetTexture GetTex("Wood2")
+Objects(i).SetMeshName ("DoorB " + Str$(i))
+Objects(i).SetRotation 0, 1.56, 0
+Objects(i).SetPosition 12.5, (Floor * FloorHeight) + FloorHeight, -102
+
+End If
+
+If Floor >= 118 And Floor <= 134 Then
+'Window 1
+i = 1 + (150 * (Floor - 1))
+Call Init_Objects(Floor, 1)
+Objects(i).Load3DsMesh App.Path + "\objects\window4.3ds", True
+Objects(i).SetColor (RGBA(10, 10, 10, 1))
+Objects(i).ScaleMesh 0.136, 0.136, 0.136
+Objects(i).SetTexture GetTex("Ceiling1")
+Objects(i).SetRotation 0, -1.58, 0
+'Objects(i).SetPosition 154, 12.01 + ((Floor * FloorHeight) + FloorHeight), -149.5
+Objects(i).SetPosition 84.5, 12.01 + ((Floor * FloorHeight) + FloorHeight), 143
+'Objects(i).Optimize
+
+'Windows 2 to 25
+For j = 2 To 25
+i = j + (150 * (Floor - 1))
+Call Init_Objects(Floor, Int(j))
+Objects(i).Load3DsMesh App.Path + "\objects\window4.3ds", True
+Objects(i).SetColor (RGBA(10, 10, 10, 1))
+Objects(i).ScaleMesh 0.136, 0.136, 0.136
+Objects(i).SetTexture GetTex("Ceiling1")
+Objects(i).SetRotation 0, -1.58, 0
+'Objects(i).SetPosition 154, 12.01 + ((Floor * FloorHeight) + FloorHeight), -149.5
+Objects(i).SetPosition 84.5, 12.01 + ((Floor * FloorHeight) + FloorHeight), 143 - ((j - 1) * 12) + ((j - 1) * 0.1)
+'Objects(i).Optimize
+Next j
+
+'Window 26
+i = 26 + (150 * (Floor - 1))
+Call Init_Objects(Floor, 26)
+Objects(i).Load3DsMesh App.Path + "\objects\window4.3ds", True
+Objects(i).SetColor (RGBA(10, 10, 10, 1))
+Objects(i).ScaleMesh 0.136, 0.136, 0.136
+Objects(i).SetTexture GetTex("Ceiling1")
+Objects(i).SetRotation 0, -1.58, 0
+'Objects(i).SetPosition 154, 12.01 + ((Floor * FloorHeight) + FloorHeight), -149.5
+Objects(i).SetPosition -84.5, 12.01 + ((Floor * FloorHeight) + FloorHeight), 143
+'Objects(i).Optimize
+
+'Windows 27 to 50
+For j = 27 To 50
+i = j + (150 * (Floor - 1))
+Call Init_Objects(Floor, Int(j))
+Objects(i).Load3DsMesh App.Path + "\objects\window4.3ds", True
+Objects(i).SetColor (RGBA(10, 10, 10, 1))
+Objects(i).ScaleMesh 0.136, 0.136, 0.136
+Objects(i).SetTexture GetTex("Ceiling1")
+Objects(i).SetRotation 0, -1.58, 0
+'Objects(i).SetPosition 154, 12.01 + ((Floor * FloorHeight) + FloorHeight), -149.5
+Objects(i).SetPosition -84.5, 12.01 + ((Floor * FloorHeight) + FloorHeight), 143 - ((j - 26) * 12) + ((j - 26) * 0.1)
+'Objects(i).Optimize
+Next j
+
+'Window 51
+i = 51 + (150 * (Floor - 1))
+Call Init_Objects(Floor, 51)
+Objects(i).Load3DsMesh App.Path + "\objects\window4.3ds", True
+Objects(i).SetColor (RGBA(10, 10, 10, 1))
+Objects(i).ScaleMesh 0.136, 0.136, 0.136
+Objects(i).SetTexture GetTex("Ceiling1")
+'Objects(i).SetPosition 154, 12.01 + ((Floor * FloorHeight) + FloorHeight), 149.5
+Objects(i).SetPosition 78, 12.01 + ((Floor * FloorHeight) + FloorHeight), 149.5
+'Objects(i).Optimize
+
+For j = 52 To 64
+'Windows 52 to 64
+i = j + (150 * (Floor - 1))
+Call Init_Objects(Floor, Int(j))
+Objects(i).Load3DsMesh App.Path + "\objects\window4.3ds", True
+Objects(i).SetColor (RGBA(10, 10, 10, 1))
+Objects(i).ScaleMesh 0.136, 0.136, 0.136
+Objects(i).SetTexture GetTex("Ceiling1")
+Objects(i).SetPosition 78 - ((j - 51) * 12) + ((j - 51) * 0.15), 12.01 + ((Floor * FloorHeight) + FloorHeight), 149.5
+'Objects(i).Optimize
+Next j
+
+'Window 65
+i = 65 + (150 * (Floor - 1))
+Call Init_Objects(Floor, 65)
+Objects(i).Load3DsMesh App.Path + "\objects\window4.3ds", True
+Objects(i).SetColor (RGBA(10, 10, 10, 1))
+Objects(i).ScaleMesh 0.136, 0.136, 0.136
+Objects(i).SetTexture GetTex("Ceiling1")
+'Objects(i).SetPosition 154, 12.01 + ((Floor * FloorHeight) + FloorHeight), 149.5
+Objects(i).SetPosition 78, 12.01 + ((Floor * FloorHeight) + FloorHeight), -149.5
+'Objects(i).Optimize
+
+For j = 66 To 78
+'Windows 66 to 78
+i = j + (150 * (Floor - 1))
+Call Init_Objects(Floor, Int(j))
+Objects(i).Load3DsMesh App.Path + "\objects\window4.3ds", True
+Objects(i).SetColor (RGBA(10, 10, 10, 1))
+Objects(i).ScaleMesh 0.136, 0.136, 0.136
+Objects(i).SetTexture GetTex("Ceiling1")
+Objects(i).SetPosition 78 - ((j - 65) * 12) + ((j - 65) * 0.15), 12.01 + ((Floor * FloorHeight) + FloorHeight), -149.5
+'Objects(i).Optimize
+Next j
+
+''Stairway Door
+'i = 79 + (150 * (Floor - 1))
+'Call Init_Objects(Floor, 79)
+'Objects(i).AddWall GetTex("StairsDoor"), -3.9, 0, 3.9, 0, 19.5, 0, 1, 1
+''Objects(i).SetColor (RGBA(10, 10, 10, 1))
+''Objects(i).ScaleMesh 0.45, 0.535, 0.535
+''Objects(i).SetTexture GetTex("Wood2")
+'Objects(i).SetMeshName ("DoorB " + Str$(i))
+'Objects(i).SetRotation 0, 1.56, 0
+'Objects(i).SetPosition -12.8, (Floor * FloorHeight) + FloorHeight, -36.4
+
+End If
+
+If Floor >= 118 And Floor <= 129 Then
+
+'Door 01
+i = 80 + (150 * (Floor - 1))
+Call Init_Objects(Floor, 80)
+Objects(i).AddWall GetTex("Door1"), -3.9, 0, 3.9, 0, 19.5, 0, -1, 1
+'Objects(i).SetColor (RGBA(10, 10, 10, 1))
+'Objects(i).ScaleMesh 0.45, 0.535, 0.535
+'Objects(i).SetTexture GetTex("Wood2")
+Objects(i).SetMeshName ("DoorD " + Str$(i))
+Objects(i).SetRotation 0, 1.56, 0
+Objects(i).SetPosition -60, (Floor * FloorHeight) + FloorHeight, -60
+
+'Door 02
+i = 81 + (150 * (Floor - 1))
+Call Init_Objects(Floor, 81)
+Objects(i).AddWall GetTex("Door1"), -3.9, 0, 3.9, 0, 19.5, 0, 1, 1
+'Objects(i).SetColor (RGBA(10, 10, 10, 1))
+'Objects(i).ScaleMesh 0.45, 0.535, 0.535
+'Objects(i).SetTexture GetTex("Wood2")
+Objects(i).SetMeshName ("DoorB " + Str$(i))
+Objects(i).SetRotation 0, 1.56, 0
+Objects(i).SetPosition 60, (Floor * FloorHeight) + FloorHeight, -60
+
+'Door 03
+i = 82 + (150 * (Floor - 1))
+Call Init_Objects(Floor, 82)
+Objects(i).AddWall GetTex("Door1"), -3.9, 0, 3.9, 0, 19.5, 0, -1, 1
+'Objects(i).SetColor (RGBA(10, 10, 10, 1))
+'Objects(i).ScaleMesh 0.45, 0.535, 0.535
+'Objects(i).SetTexture GetTex("Wood2")
+Objects(i).SetMeshName ("DoorD " + Str$(i))
+Objects(i).SetRotation 0, 1.56, 0
+Objects(i).SetPosition -60, (Floor * FloorHeight) + FloorHeight, 60
+
+'Door 04
+i = 83 + (150 * (Floor - 1))
+Call Init_Objects(Floor, 83)
+Objects(i).AddWall GetTex("Door1"), -3.9, 0, 3.9, 0, 19.5, 0, 1, 1
+'Objects(i).SetColor (RGBA(10, 10, 10, 1))
+'Objects(i).ScaleMesh 0.45, 0.535, 0.535
+'Objects(i).SetTexture GetTex("Wood2")
+Objects(i).SetMeshName ("DoorB " + Str$(i))
+Objects(i).SetRotation 0, 1.56, 0
+Objects(i).SetPosition 60, (Floor * FloorHeight) + FloorHeight, 60
+
+'Door 05
+i = 84 + (150 * (Floor - 1))
+Call Init_Objects(Floor, 84)
+Objects(i).AddWall GetTex("Door1"), -3.9, 0, 3.9, 0, 19.5, 0, -1, 1
+'Objects(i).SetColor (RGBA(10, 10, 10, 1))
+'Objects(i).ScaleMesh 0.45, 0.535, 0.535
+'Objects(i).SetTexture GetTex("Wood2")
+Objects(i).SetMeshName ("DoorD " + Str$(i))
+Objects(i).SetRotation 0, 1.56, 0
+Objects(i).SetPosition -12.5, (Floor * FloorHeight) + FloorHeight, 117
+
+'Door 06
+i = 85 + (150 * (Floor - 1))
+Call Init_Objects(Floor, 85)
+Objects(i).AddWall GetTex("Door1"), -3.9, 0, 3.9, 0, 19.5, 0, -1, 1
+'Objects(i).SetColor (RGBA(10, 10, 10, 1))
+'Objects(i).ScaleMesh 0.45, 0.535, 0.535
+'Objects(i).SetTexture GetTex("Wood2")
+Objects(i).SetMeshName ("DoorD " + Str$(i))
+Objects(i).SetRotation 0, 1.56, 0
+Objects(i).SetPosition -12.5, (Floor * FloorHeight) + FloorHeight, 101
+
+'Door 07
+i = 86 + (150 * (Floor - 1))
+Call Init_Objects(Floor, 86)
+Objects(i).AddWall GetTex("Door1"), -3.9, 0, 3.9, 0, 19.5, 0, 1, 1
+'Objects(i).SetColor (RGBA(10, 10, 10, 1))
+'Objects(i).ScaleMesh 0.45, 0.535, 0.535
+'Objects(i).SetTexture GetTex("Wood2")
+Objects(i).SetMeshName ("DoorB " + Str$(i))
+Objects(i).SetRotation 0, 1.56, 0
+Objects(i).SetPosition 12.5, (Floor * FloorHeight) + FloorHeight, 117
+
+'Door 08
+i = 87 + (150 * (Floor - 1))
+Call Init_Objects(Floor, 87)
+Objects(i).AddWall GetTex("Door1"), -3.9, 0, 3.9, 0, 19.5, 0, 1, 1
+'Objects(i).SetColor (RGBA(10, 10, 10, 1))
+'Objects(i).ScaleMesh 0.45, 0.535, 0.535
+'Objects(i).SetTexture GetTex("Wood2")
+Objects(i).SetMeshName ("DoorB " + Str$(i))
+Objects(i).SetRotation 0, 1.56, 0
+Objects(i).SetPosition 12.5, (Floor * FloorHeight) + FloorHeight, 101
+
+'Door 09
+i = 88 + (150 * (Floor - 1))
+Call Init_Objects(Floor, 88)
+Objects(i).AddWall GetTex("Door1"), -3.9, 0, 3.9, 0, 19.5, 0, -1, 1
+'Objects(i).SetColor (RGBA(10, 10, 10, 1))
+'Objects(i).ScaleMesh 0.45, 0.535, 0.535
+'Objects(i).SetTexture GetTex("Wood2")
+Objects(i).SetMeshName ("DoorD " + Str$(i))
+Objects(i).SetRotation 0, 1.56, 0
+Objects(i).SetPosition -12.5, (Floor * FloorHeight) + FloorHeight, -117
+
+'Door 10
+i = 89 + (150 * (Floor - 1))
+Call Init_Objects(Floor, 89)
+Objects(i).AddWall GetTex("Door1"), -3.9, 0, 3.9, 0, 19.5, 0, -1, 1
+'Objects(i).SetColor (RGBA(10, 10, 10, 1))
+'Objects(i).ScaleMesh 0.45, 0.535, 0.535
+'Objects(i).SetTexture GetTex("Wood2")
+Objects(i).SetMeshName ("DoorD " + Str$(i))
+Objects(i).SetRotation 0, 1.56, 0
+Objects(i).SetPosition -12.5, (Floor * FloorHeight) + FloorHeight, -101
+
+'Door 11
+i = 90 + (150 * (Floor - 1))
+Call Init_Objects(Floor, 90)
+Objects(i).AddWall GetTex("Door1"), -3.9, 0, 3.9, 0, 19.5, 0, 1, 1
+'Objects(i).SetColor (RGBA(10, 10, 10, 1))
+'Objects(i).ScaleMesh 0.45, 0.535, 0.535
+'Objects(i).SetTexture GetTex("Wood2")
+Objects(i).SetMeshName ("DoorB " + Str$(i))
+Objects(i).SetRotation 0, 1.56, 0
+Objects(i).SetPosition 12.5, (Floor * FloorHeight) + FloorHeight, -117
+
+'Door 12
+i = 91 + (150 * (Floor - 1))
+Call Init_Objects(Floor, 91)
+Objects(i).AddWall GetTex("Door1"), -3.9, 0, 3.9, 0, 19.5, 0, 1, 1
+'Objects(i).SetColor (RGBA(10, 10, 10, 1))
+'Objects(i).ScaleMesh 0.45, 0.535, 0.535
+'Objects(i).SetTexture GetTex("Wood2")
+Objects(i).SetMeshName ("DoorB " + Str$(i))
+Objects(i).SetRotation 0, 1.56, 0
+Objects(i).SetPosition 12.5, (Floor * FloorHeight) + FloorHeight, -101
+
+'Service Door
+i = 92 + (150 * (Floor - 1))
+Call Init_Objects(Floor, 92)
+Objects(i).AddWall GetTex("StairsDoor"), -3.9, 0, 3.9, 0, 19.5, 0, 1, 1
+'Objects(i).SetColor (RGBA(10, 10, 10, 1))
+'Objects(i).ScaleMesh 0.45, 0.535, 0.535
+'Objects(i).SetTexture GetTex("Wood2")
+'Objects(i).SetRotation 0, 1.56, 0
+Objects(i).SetMeshName ("DoorA " + Str$(i))
+Objects(i).SetPosition 39, (Floor * FloorHeight) + FloorHeight, -46.3
+
+End If
+
+If Floor = 133 Or Floor = 134 Then
+i = 79 + (150 * (Floor - 1))
+Call Init_Objects(Floor, 79)
+Objects(i).Load3DsMesh App.Path + "\objects\swimpool.3ds", True
+'Objects(i).SetMaterial 0
+'Objects(i).SetColor (RGBA(10, 10, 10, 1))
+Objects(i).SetRotation 0, -1.58, 0
+Objects(i).ScaleMesh 0.2, 0.2, 0.2
+'Objects(i).SetTexture GetTex("ColumnTex")
+Objects(i).SetPosition 0, 0 + ((134 * FloorHeight) + FloorHeight), 92
+'Objects(i).Optimize
+End If
+
+If Floor = 135 Or Floor = 136 Then
+Floor = 135
+'Window 1
+i = 1 + (150 * (Floor - 1))
+Call Init_Objects(Floor, 1)
+Objects(i).Load3DsMesh App.Path + "\objects\window4.3ds", True
+Objects(i).SetColor (RGBA(10, 10, 10, 1))
+'Objects(i).ScaleMesh 0.136, 0.136, 0.136
+Objects(i).ScaleMesh 0.136, 0.178, 0.136
+Objects(i).SetTexture GetTex("Ceiling1")
+Objects(i).SetRotation 0, -1.58, 0
+'Objects(i).SetPosition 154, 12.01 + ((Floor * FloorHeight) + FloorHeight), -149.5
+Objects(i).SetPosition 59.5, 15.51 + ((Floor * FloorHeight) + FloorHeight), 143
+'Objects(i).Optimize
+
+'Windows 2 to 25
+For j = 2 To 25
+i = j + (150 * (Floor - 1))
+Call Init_Objects(Floor, Int(j))
+Objects(i).Load3DsMesh App.Path + "\objects\window4.3ds", True
+Objects(i).SetColor (RGBA(10, 10, 10, 1))
+Objects(i).ScaleMesh 0.136, 0.178, 0.136
+Objects(i).SetTexture GetTex("Ceiling1")
+Objects(i).SetRotation 0, -1.58, 0
+'Objects(i).SetPosition 154, 12.01 + ((Floor * FloorHeight) + FloorHeight), -149.5
+Objects(i).SetPosition 59.5, 15.51 + ((Floor * FloorHeight) + FloorHeight), 143 - ((j - 1) * 12) + ((j - 1) * 0.1)
+'Objects(i).Optimize
+Next j
+
+'Window 26
+i = 26 + (150 * (Floor - 1))
+Call Init_Objects(Floor, 26)
+Objects(i).Load3DsMesh App.Path + "\objects\window4.3ds", True
+Objects(i).SetColor (RGBA(10, 10, 10, 1))
+Objects(i).ScaleMesh 0.136, 0.178, 0.136
+Objects(i).SetTexture GetTex("Ceiling1")
+Objects(i).SetRotation 0, -1.58, 0
+'Objects(i).SetPosition 154, 12.01 + ((Floor * FloorHeight) + FloorHeight), -149.5
+Objects(i).SetPosition -59.5, 15.51 + ((Floor * FloorHeight) + FloorHeight), 143
+'Objects(i).Optimize
+
+'Windows 27 to 50
+For j = 27 To 50
+i = j + (150 * (Floor - 1))
+Call Init_Objects(Floor, Int(j))
+Objects(i).Load3DsMesh App.Path + "\objects\window4.3ds", True
+Objects(i).SetColor (RGBA(10, 10, 10, 1))
+Objects(i).ScaleMesh 0.136, 0.178, 0.136
+Objects(i).SetTexture GetTex("Ceiling1")
+Objects(i).SetRotation 0, -1.58, 0
+'Objects(i).SetPosition 154, 12.01 + ((Floor * FloorHeight) + FloorHeight), -149.5
+Objects(i).SetPosition -59.5, 15.51 + ((Floor * FloorHeight) + FloorHeight), 143 - ((j - 26) * 12) + ((j - 26) * 0.1)
+'Objects(i).Optimize
+Next j
+
+'Window 51
+i = 51 + (150 * (Floor - 1))
+Call Init_Objects(Floor, 51)
+Objects(i).Load3DsMesh App.Path + "\objects\window4.3ds", True
+Objects(i).SetColor (RGBA(10, 10, 10, 1))
+Objects(i).ScaleMesh 0.136, 0.178, 0.136
+Objects(i).SetTexture GetTex("Ceiling1")
+'Objects(i).SetPosition 154, 12.01 + ((Floor * FloorHeight) + FloorHeight), 149.5
+Objects(i).SetPosition 53, 15.51 + ((Floor * FloorHeight) + FloorHeight), 149.5
+'Objects(i).Optimize
+
+For j = 52 To 60
+'Windows 52 to 60
+i = j + (150 * (Floor - 1))
+Call Init_Objects(Floor, Int(j))
+Objects(i).Load3DsMesh App.Path + "\objects\window4.3ds", True
+Objects(i).SetColor (RGBA(10, 10, 10, 1))
+Objects(i).ScaleMesh 0.136, 0.178, 0.136
+Objects(i).SetTexture GetTex("Ceiling1")
+Objects(i).SetPosition 53 - ((j - 51) * 12) + ((j - 51) * 0.15), 15.51 + ((Floor * FloorHeight) + FloorHeight), 149.5
+'Objects(i).Optimize
+Next j
+
+'Window 61
+i = 61 + (150 * (Floor - 1))
+Call Init_Objects(Floor, 61)
+Objects(i).Load3DsMesh App.Path + "\objects\window4.3ds", True
+Objects(i).SetColor (RGBA(10, 10, 10, 1))
+Objects(i).ScaleMesh 0.136, 0.178, 0.136
+Objects(i).SetTexture GetTex("Ceiling1")
+'Objects(i).SetPosition 53, 15.51 + ((Floor * FloorHeight) + FloorHeight), -149.5
+Objects(i).SetPosition 18, 15.51 + ((Floor * FloorHeight) + FloorHeight), -149.5
+'Objects(i).Optimize
+
+For j = 62 To 71
+'Windows 62 to 71
+i = j + (150 * (Floor - 1))
+Call Init_Objects(Floor, Int(j))
+Objects(i).Load3DsMesh App.Path + "\objects\window4.3ds", True
+Objects(i).SetColor (RGBA(10, 10, 10, 1))
+Objects(i).ScaleMesh 0.136, 0.178, 0.136
+Objects(i).SetTexture GetTex("Ceiling1")
+'Objects(i).SetPosition 53 - ((j - 65) * 12) + ((j - 65) * 0.15), 15.51 + ((Floor * FloorHeight) + FloorHeight), -149.5
+Objects(i).SetPosition 18 - ((j - 65) * 12) + ((j - 65) * 0.15), 15.51 + ((Floor * FloorHeight) + FloorHeight), -149.5
+'Objects(i).Optimize
+Next j
+
+''Stairway Door
+'i = 75 + (150 * (Floor - 1))
+'Call Init_Objects(Floor, 75)
+'Objects(i).AddWall GetTex("StairsDoor"), -3.9, 0, 3.9, 0, 19.5, 0, 1, 1
+''Objects(i).SetColor (RGBA(10, 10, 10, 1))
+''Objects(i).ScaleMesh 0.45, 0.535, 0.535
+''Objects(i).SetTexture GetTex("Wood2")
+'Objects(i).SetMeshName ("DoorB " + Str$(i))
+'Objects(i).SetRotation 0, 1.56, 0
+'Objects(i).SetPosition -12.8, (Floor * FloorHeight) + FloorHeight, -36.4
+
+'-----------------------------
+Floor = 136
+'Window 1
+i = 1 + (150 * (Floor - 1))
+Call Init_Objects(Floor, 1)
+Objects(i).Load3DsMesh App.Path + "\objects\window5.3ds", True
+Objects(i).SetColor (RGBA(10, 10, 10, 1))
+Objects(i).ScaleMesh 0.136, 0.136, 0.136
+Objects(i).SetTexture GetTex("Ceiling1")
+Objects(i).SetRotation 0, -1.58, 0
+'Objects(i).SetPosition 154, 12.01 + ((Floor * FloorHeight) + FloorHeight), -149.5
+Objects(i).SetPosition 59.5, 12.01 + ((Floor * FloorHeight) + FloorHeight), 143
+'Objects(i).Optimize
+
+'Windows 2 to 25
+For j = 2 To 25
+i = j + (150 * (Floor - 1))
+Call Init_Objects(Floor, Int(j))
+Objects(i).Load3DsMesh App.Path + "\objects\window5.3ds", True
+Objects(i).SetColor (RGBA(10, 10, 10, 1))
+Objects(i).ScaleMesh 0.136, 0.136, 0.136
+Objects(i).SetTexture GetTex("Ceiling1")
+Objects(i).SetRotation 0, -1.58, 0
+'Objects(i).SetPosition 154, 12.01 + ((Floor * FloorHeight) + FloorHeight), -149.5
+Objects(i).SetPosition 59.5, 12.01 + ((Floor * FloorHeight) + FloorHeight), 143 - ((j - 1) * 12) + ((j - 1) * 0.1)
+'Objects(i).Optimize
+Next j
+
+'Window 26
+i = 26 + (150 * (Floor - 1))
+Call Init_Objects(Floor, 26)
+Objects(i).Load3DsMesh App.Path + "\objects\window5.3ds", True
+Objects(i).SetColor (RGBA(10, 10, 10, 1))
+Objects(i).ScaleMesh 0.136, 0.136, 0.136
+Objects(i).SetTexture GetTex("Ceiling1")
+Objects(i).SetRotation 0, -1.58, 0
+'Objects(i).SetPosition 154, 12.01 + ((Floor * FloorHeight) + FloorHeight), -149.5
+Objects(i).SetPosition -59.5, 12.01 + ((Floor * FloorHeight) + FloorHeight), 143
+'Objects(i).Optimize
+
+'Windows 27 to 50
+For j = 27 To 50
+i = j + (150 * (Floor - 1))
+Call Init_Objects(Floor, Int(j))
+Objects(i).Load3DsMesh App.Path + "\objects\window5.3ds", True
+Objects(i).SetColor (RGBA(10, 10, 10, 1))
+Objects(i).ScaleMesh 0.136, 0.136, 0.136
+Objects(i).SetTexture GetTex("Ceiling1")
+Objects(i).SetRotation 0, -1.58, 0
+'Objects(i).SetPosition 154, 12.01 + ((Floor * FloorHeight) + FloorHeight), -149.5
+Objects(i).SetPosition -59.5, 12.01 + ((Floor * FloorHeight) + FloorHeight), 143 - ((j - 26) * 12) + ((j - 26) * 0.1)
+'Objects(i).Optimize
+Next j
+
+'Window 51
+i = 51 + (150 * (Floor - 1))
+Call Init_Objects(Floor, 51)
+Objects(i).Load3DsMesh App.Path + "\objects\window5.3ds", True
+Objects(i).SetColor (RGBA(10, 10, 10, 1))
+Objects(i).ScaleMesh 0.136, 0.136, 0.136
+Objects(i).SetTexture GetTex("Ceiling1")
+'Objects(i).SetPosition 154, 12.01 + ((Floor * FloorHeight) + FloorHeight), 149.5
+Objects(i).SetPosition 53, 12.01 + ((Floor * FloorHeight) + FloorHeight), 149.5
+'Objects(i).Optimize
+
+For j = 52 To 60
+'Windows 52 to 60
+i = j + (150 * (Floor - 1))
+Call Init_Objects(Floor, Int(j))
+Objects(i).Load3DsMesh App.Path + "\objects\window5.3ds", True
+Objects(i).SetColor (RGBA(10, 10, 10, 1))
+Objects(i).ScaleMesh 0.136, 0.136, 0.136
+Objects(i).SetTexture GetTex("Ceiling1")
+Objects(i).SetPosition 53 - ((j - 51) * 12) + ((j - 51) * 0.15), 12.01 + ((Floor * FloorHeight) + FloorHeight), 149.5
+'Objects(i).Optimize
+Next j
+
+'Window 61
+i = 61 + (150 * (Floor - 1))
+Call Init_Objects(Floor, 61)
+Objects(i).Load3DsMesh App.Path + "\objects\window5.3ds", True
+Objects(i).SetColor (RGBA(10, 10, 10, 1))
+Objects(i).ScaleMesh 0.136, 0.136, 0.136
+Objects(i).SetTexture GetTex("Ceiling1")
+'Objects(i).SetPosition 154, 12.01 + ((Floor * FloorHeight) + FloorHeight), 149.5
+Objects(i).SetPosition 18, 12.01 + ((Floor * FloorHeight) + FloorHeight), -149.5
+'Objects(i).Optimize
+
+For j = 62 To 71
+'Windows 62 to 71
+i = j + (150 * (Floor - 1))
+Call Init_Objects(Floor, Int(j))
+Objects(i).Load3DsMesh App.Path + "\objects\window5.3ds", True
+Objects(i).SetColor (RGBA(10, 10, 10, 1))
+Objects(i).ScaleMesh 0.136, 0.136, 0.136
+Objects(i).SetTexture GetTex("Ceiling1")
+Objects(i).SetPosition 18 - ((j - 65) * 12) + ((j - 65) * 0.15), 12.01 + ((Floor * FloorHeight) + FloorHeight), -149.5
+'Objects(i).Optimize
+Next j
+
+''Stairway Door
+'i = 75 + (150 * (Floor - 1))
+'Call Init_Objects(Floor, 75)
+'Objects(i).AddWall GetTex("StairsDoor"), -3.9, 0, 3.9, 0, 19.5, 0, 1, 1
+''Objects(i).SetColor (RGBA(10, 10, 10, 1))
+''Objects(i).ScaleMesh 0.45, 0.535, 0.535
+''Objects(i).SetTexture GetTex("Wood2")
+'Objects(i).SetMeshName ("DoorB " + Str$(i))
+'Objects(i).SetRotation 0, 1.56, 0
+'Objects(i).SetPosition -12.8, (Floor * FloorHeight) + FloorHeight, -36.4
+
+End If
+
+If Floor = 137 Then
+i = 1 + (150 * (Floor - 1))
+Call Init_Objects(Floor, 1)
+Objects(i).Load3DsMesh App.Path + "\objects\piping.3ds", True
+'Objects(i).SetColor (RGBA(10, 10, 10, 1))
+Objects(i).ScaleMesh 0.04, 0.04, 0.04
+'Objects(i).SetTexture GetTex("ColumnTex")
+Objects(i).SetPosition 0, 10 + ((Floor * FloorHeight) + FloorHeight), 60
+Objects(i).Optimize
+
+''Stairway Door
+'i = 2 + (150 * (Floor - 1))
+'Call Init_Objects(Floor, 2)
+'Objects(i).AddWall GetTex("StairsDoor"), -3.9, 0, 3.9, 0, 19.5, 0, 1, 1
+''Objects(i).SetColor (RGBA(10, 10, 10, 1))
+''Objects(i).ScaleMesh 0.45, 0.535, 0.535
+''Objects(i).SetTexture GetTex("Wood2")
+'Objects(i).SetMeshName ("DoorB " + Str$(i))
+'Objects(i).SetRotation 0, 1.56, 0
+'Objects(i).SetPosition -12.8, (Floor * FloorHeight) + FloorHeight, -36.4
+
+End If
+
+If Floor = 138 Then
+
+''Stairway Door
+'i = 1 + (150 * (Floor - 1))
+'Call Init_Objects(Floor, 1)
+'Objects(i).AddWall GetTex("StairsDoor"), -3.9, 0, 3.9, 0, 19.5, 0, 1, 1
+''Objects(i).SetColor (RGBA(10, 10, 10, 1))
+''Objects(i).ScaleMesh 0.45, 0.535, 0.535
+''Objects(i).SetTexture GetTex("Wood2")
+'Objects(i).SetMeshName ("DoorB " + Str$(i))
+'Objects(i).SetRotation 0, 1.56, 0
+'Objects(i).SetPosition -12.8, (Floor * FloorHeight) + FloorHeight, -36.4
+
+End If
+
+End Sub
index 0ff451b..c0eab33 100755 (executable)
@@ -1,7 +1,8 @@
 Attribute VB_Name = "ElevatorCode"
-'Skycraper 0.91 Beta
+'Skycraper 0.92 Beta
 'Copyright (C) 2003 Ryan Thoryk
 'http://www.tliquest.net/skyscraper
+'http://sourceforge.net/projects/skyscraper
 'Contact - ryan@tliquest.net
 
 'This program is free software; you can redistribute it and/or
@@ -18,3805 +19,3227 @@ Attribute VB_Name = "ElevatorCode"
 'along with this program; if not, write to the Free Software
 'Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
 
-'This module contains the code for the 10 elevators (all 10 routines are almost
-'completely identical.  The code was moved from the CoreRoutines module during
-'the transition from a single to multi elevator program
-'10 timers, 1 for each elevator, call the code in each of these modules
-'in order for the 10 elevators to be independent and run simultaneously
+Option Explicit
 
-'note - any changes in here must be made to all 10 subs
 
-Option Explicit
 
-Dim i1 As Single
-Dim i2 As Single
-Dim i3 As Single
-Dim i4 As Single
-Dim i5 As Single
-Dim i6 As Single
-Dim i7 As Single
-Dim i8 As Single
-Dim i9 As Single
-Dim i10 As Single
+Sub DrawElevatorButtons(Number As Integer)
+ButtonsEnabled = True
 
-Sub Elevator1Loop()
+For i54 = -1 To 144
+'Buttons(i54).Enable False
+Scene.DestroyMesh Buttons(i54)
+Set Buttons(i54) = Nothing
+'Sleep 10
+Next i54
 
-elevatorstart(1) = Elevator(1).GetPosition
+'Sleep 100
 
-'Find the floor that the elevator's on
-ElevatorFloor(1) = (Elevator(1).GetPosition.Y - 25) / 25
-      
-      'If elevator goes below floor 2, then set elevatorfloor as 1
-      If ElevatorFloor(1) < 1 Then ElevatorFloor(1) = 1
-      
-      If GotoFloor(1) = ElevatorFloor(1) - 1 Then CurrentFloor(1) = ElevatorFloor(1)
-
-      'If GotoFloor(1) <> 0 And GotoFloor(1) > CurrentFloor(1) And ElevatorDirection(1) = 0 And ElevatorInsDoorL(ElevatorFloor2(1)).GetPosition.z <= 0 Then
-      If GotoFloor(1) <> 0 And GotoFloor(1) > CurrentFloor(1) And ElevatorDirection(1) = 0 And ElevatorDoor1L(ElevatorFloor2(1)).GetPosition.z <= 0 Then
-      ElevatorDirection(1) = 1
-      OriginalLocation(1) = CurrentFloorExact(1)
-      DistanceToTravel(1) = ((GotoFloor(1) * 25) + 25) - ((CurrentFloorExact(1) * 25) + 25)
-      If ElevatorSync(1) = True Then
-      Room(CameraFloor).Enable False
-      For i1 = 1 To 10
-      CallButtons(i1).Enable False
-      Next i1
-      ElevatorDoor1L(CameraFloor).Enable False
-      ElevatorDoor1R(CameraFloor).Enable False
-      ElevatorDoor2L(CameraFloor).Enable False
-      ElevatorDoor2R(CameraFloor).Enable False
-      ElevatorDoor3L(CameraFloor).Enable False
-      ElevatorDoor3R(CameraFloor).Enable False
-      ElevatorDoor4L(CameraFloor).Enable False
-      ElevatorDoor4R(CameraFloor).Enable False
-      ElevatorDoor5L(CameraFloor).Enable False
-      ElevatorDoor5R(CameraFloor).Enable False
-      ElevatorDoor6L(CameraFloor).Enable False
-      ElevatorDoor6R(CameraFloor).Enable False
-      ElevatorDoor7L(CameraFloor).Enable False
-      ElevatorDoor7R(CameraFloor).Enable False
-      ElevatorDoor8L(CameraFloor).Enable False
-      ElevatorDoor8R(CameraFloor).Enable False
-      ElevatorDoor9L(CameraFloor).Enable False
-      ElevatorDoor9R(CameraFloor).Enable False
-      ElevatorDoor10L(CameraFloor).Enable False
-      ElevatorDoor10R(CameraFloor).Enable False
-      DestroyObjects (CameraFloor)
-      ShaftsFloor(CameraFloor).Enable False
-      Atmos.SkyBox_Enable False
-      Stairs(CameraFloor).Enable False
-      If CameraFloor < 138 Then Stairs(CameraFloor + 1).Enable False
-      If CameraFloor > 1 Then Stairs(CameraFloor - 1).Enable False
-      End If
-      End If
-      'If GotoFloor(1) <> 0 And GotoFloor(1) < CurrentFloor(1) And ElevatorDirection(1) = 0 And ElevatorInsDoorL(ElevatorFloor2(1)).GetPosition.z <= 0 Then
-      If GotoFloor(1) <> 0 And GotoFloor(1) < CurrentFloor(1) And ElevatorDirection(1) = 0 And ElevatorDoor1L(ElevatorFloor2(1)).GetPosition.z <= 0 Then
-      Elevator(1).Enable True
-      ElevatorDirection(1) = -1
-      OriginalLocation(1) = CurrentFloorExact(1)
-      DistanceToTravel(1) = ((CurrentFloorExact(1) * 25) + 25) - ((GotoFloor(1) * 25) + 25)
-      If ElevatorSync(1) = True Then
-      Room(CameraFloor).Enable False
-      For i1 = 1 To 10
-      CallButtons(i1).Enable False
-      Next i1
-      ElevatorDoor1L(CameraFloor).Enable False
-      ElevatorDoor1R(CameraFloor).Enable False
-      ElevatorDoor2L(CameraFloor).Enable False
-      ElevatorDoor2R(CameraFloor).Enable False
-      ElevatorDoor3L(CameraFloor).Enable False
-      ElevatorDoor3R(CameraFloor).Enable False
-      ElevatorDoor4L(CameraFloor).Enable False
-      ElevatorDoor4R(CameraFloor).Enable False
-      ElevatorDoor5L(CameraFloor).Enable False
-      ElevatorDoor5R(CameraFloor).Enable False
-      ElevatorDoor6L(CameraFloor).Enable False
-      ElevatorDoor6R(CameraFloor).Enable False
-      ElevatorDoor7L(CameraFloor).Enable False
-      ElevatorDoor7R(CameraFloor).Enable False
-      ElevatorDoor8L(CameraFloor).Enable False
-      ElevatorDoor8R(CameraFloor).Enable False
-      ElevatorDoor9L(CameraFloor).Enable False
-      ElevatorDoor9R(CameraFloor).Enable False
-      ElevatorDoor10L(CameraFloor).Enable False
-      ElevatorDoor10R(CameraFloor).Enable False
-      DestroyObjects (CameraFloor)
-      ShaftsFloor(CameraFloor).Enable False
-      Atmos.SkyBox_Enable False
-      Stairs(CameraFloor).Enable False
-      If CameraFloor < 138 Then Stairs(CameraFloor + 1).Enable False
-      If CameraFloor > 1 Then Stairs(CameraFloor - 1).Enable False
-      End If
-      End If
-      
-       CurrentFloor(1) = Int((elevatorstart(1).Y - 25) / 25)
-       CurrentFloorExact(1) = (elevatorstart(1).Y - 25) / 25
-       'CurrentFloor(1) = (Elevator(1).GetPosition.y / 25) - 1
-       'CurrentFloorExact(1) = Int((Elevator(1).GetPosition.y / 25) - 1)
+For i54 = -1 To 144
+Set Buttons(i54) = New TVMesh
+Set Buttons(i54) = Scene.CreateMeshBuilder("Buttons " + Str$(i54))
+Buttons(i54).SetPosition 0, 0, 0
+Buttons(i54).SetRotation 0, 0, 0
+Next i54
+
+If Number <= 10 Then Call DrawElevatorButtons1(Number)
+If Number > 10 And Number <= 20 Then Call DrawElevatorButtons2(Number)
+If Number > 20 And Number <= 30 Then Call DrawElevatorButtons3(Number)
+If Number > 30 And Number <= 40 Then Call DrawElevatorButtons4(Number)
 
-       'Form2.Text1.Text = "Sound Location=7.75,20,7 " + vbCrLf + "Elevator Floor=" + Str$(ElevatorFloor(1)) + vbCrLf + "Camera Floor=" + Str$(CameraFloor) + vbCrLf + "Current Location= " + Str$(Int(Camera.GetPosition.x)) + "," + Str$(Int(Camera.GetPosition.y)) + "," + Str$(Int(Camera.GetPosition.z)) + vbCrLf + "Distance to Travel=" + Str$(DistanceToTravel(1)) + vbCrLf + "Destination=" + Str$(Destination) + vbCrLf + "Rate=" + Str$(ElevatorEnable(1) / 5)
-        
-        If ElevatorEnable(1) >= 0 And ElevatorDirection(1) = 1 Then
-        'sound
-        If ElevatorSounds(1).PlayState <> TV_PLAYSTATE_PLAYING And ElevatorCheck(1) = 0 And GotoFloor(1) <> ElevatorFloor(1) Then
-        ElevatorSounds(1).Loop_ = False
-        ElevatorSounds(1).Load App.Path + "\elevstart.wav"
-        ElevatorSounds(1).Volume = 0
-        'ElevatorSounds(1).maxDistance = 100
-        'Call ElevatorSounds(1).SetConeOrientation(0, 0, 90)
-        'ElevatorSounds(1).ConeOutsideVolume = 0
-        'Call ElevatorSounds(1).SetPosition(-20.25, Elevator1(1).GetPosition.Y + 20, -23)
-        ElevatorSounds(1).Play
-        ElevatorCheck(1) = 1
-        End If
-        If ElevatorSounds(1).PlayState = TV_PLAYSTATE_ENDED And ElevatorCheck(1) = 1 Then
-        ElevatorSounds(1).Load App.Path + "\elevmove.wav"
-        ElevatorSounds(1).Loop_ = True
-        ElevatorSounds(1).Play
-        End If
-        'movement
-        Elevator(1).MoveRelative 0, (ElevatorEnable(1) / 5), 0
-        ElevatorInsDoorL(1).MoveRelative 0, (ElevatorEnable(1) / 5), 0
-        ElevatorInsDoorR(1).MoveRelative 0, (ElevatorEnable(1) / 5), 0
-        FloorIndicator(1).MoveRelative 0, (ElevatorEnable(1) / 5), 0
-        Plaque(1).MoveRelative 0, (ElevatorEnable(1) / 5), 0
-        For i1 = -1 To 138
-        Buttons1(i1).MoveRelative 0, (ElevatorEnable(1) / 5), 0
-        Next i1
-        If ElevatorSync(1) = True Then Camera.MoveRelative 0, (ElevatorEnable(1) / 5), 0
-        'ElevatorSounds(1).SetPosition -20.25, Elevator(1).GetPosition.Y + 20, -23
-        ''ElevatorMusic(1).SetPosition -20.25, Elevator(1).GetPosition.Y + 20, -23
-        ElevatorEnable(1) = ElevatorEnable(1) + 0.25
-        If ElevatorEnable(1) <= 15 Then StoppingDistance(1) = CurrentFloorExact(1) - OriginalLocation(1) + 0.4
-        If ElevatorEnable(1) > 15 Then ElevatorEnable(1) = 15
-        Destination(1) = ((OriginalLocation(1) * 25) + 25) + DistanceToTravel(1) - 35
-        If GotoFloor(1) <> 0 And elevatorstart(1).Y >= (Destination(1) - (StoppingDistance(1) * 25) + 25) Then ElevatorDirection(1) = -1: ElevatorCheck(1) = 0
-        End If
-      
-        If ElevatorEnable(1) > 0 And ElevatorDirection(1) = -1 Then
-        'Sounds
-        If ElevatorSounds(1).PlayState = TV_PLAYSTATE_PLAYING And ElevatorCheck2(1) = 0 And FineTune(1) = False Then
-        ElevatorSounds(1).Loop_ = False
-        ElevatorSounds(1).Stop_
-        End If
-        If ElevatorSounds(1).PlayState <> TV_PLAYSTATE_PLAYING And ElevatorCheck2(1) = 0 And FineTune(1) = False Then
-        ElevatorSounds(1).Loop_ = False
-        ElevatorSounds(1).Load App.Path + "\elevstop.wav"
-        ElevatorSounds(1).Play
-        ElevatorCheck2(1) = 1
-        End If
-        'Movement
-        Elevator(1).MoveRelative 0, (ElevatorEnable(1) / 5), 0
-        ElevatorInsDoorL(1).MoveRelative 0, (ElevatorEnable(1) / 5), 0
-        ElevatorInsDoorR(1).MoveRelative 0, (ElevatorEnable(1) / 5), 0
-        FloorIndicator(1).MoveRelative 0, (ElevatorEnable(1) / 5), 0
-        Plaque(1).MoveRelative 0, (ElevatorEnable(1) / 5), 0
-        For i1 = -1 To 138
-        Buttons1(i1).MoveRelative 0, (ElevatorEnable(1) / 5), 0
-        Next i1
-        If ElevatorSync(1) = True Then Camera.MoveRelative 0, (ElevatorEnable(1) / 5), 0
-        
-        'ElevatorSounds(1).SetPosition -20.25, Elevator(1).GetPosition.Y + 20, -23
-        ''ElevatorMusic(1).SetPosition -20.25, Elevator(1).GetPosition.Y + 20, -23
-        ElevatorEnable(1) = ElevatorEnable(1) - 0.25
-        If ElevatorEnable(1) < 0 Then ElevatorEnable(1) = 0
-        If ElevatorEnable(1) = 0 Then ElevatorDirection(1) = 0
-        If GotoFloor(1) <> 0 Then ElevatorCheck(1) = 0: FineTune(1) = True
-        End If
-      
-        If ElevatorEnable(1) <= 0 And ElevatorDirection(1) = -1 Then
-        If ElevatorSounds(1).PlayState <> TV_PLAYSTATE_PLAYING And ElevatorCheck(1) = 0 Then
-        ElevatorSounds(1).Loop_ = False
-        ElevatorSounds(1).Load App.Path + "\elevstart.wav"
-        ElevatorSounds(1).Volume = 0
-        'ElevatorSounds(1).maxDistance = 100
-        'Call ElevatorSounds(1).SetConeOrientation(0, 0, 90)
-        'ElevatorSounds(1).ConeOutsideVolume = 0
-        'Call ElevatorSounds(1).SetPosition(-20.25, Elevator(1).GetPosition.Y + 20, -23)
-        ElevatorSounds(1).Play
-        ElevatorCheck(1) = 1
-        End If
-        If ElevatorSounds(1).PlayState = TV_PLAYSTATE_ENDED And ElevatorCheck(1) = 1 Then
-        ElevatorSounds(1).Load App.Path + "\elevmove.wav"
-        ElevatorSounds(1).Loop_ = True
-        ElevatorSounds(1).Play
-        End If
-        Elevator(1).MoveRelative 0, (ElevatorEnable(1) / 5), 0
-        ElevatorInsDoorL(1).MoveRelative 0, (ElevatorEnable(1) / 5), 0
-        ElevatorInsDoorR(1).MoveRelative 0, (ElevatorEnable(1) / 5), 0
-        FloorIndicator(1).MoveRelative 0, (ElevatorEnable(1) / 5), 0
-        Plaque(1).MoveRelative 0, (ElevatorEnable(1) / 5), 0
-        For i1 = -1 To 138
-        Buttons1(i1).MoveRelative 0, (ElevatorEnable(1) / 5), 0
-        Next i1
-        If ElevatorSync(1) = True Then Camera.MoveRelative 0, (ElevatorEnable(1) / 5), 0
-        'ElevatorSounds(1).SetPosition -20.25, Elevator(1).GetPosition.Y + 20, -23
-        ''ElevatorMusic(1).SetPosition -20.25, Elevator(1).GetPosition.Y + 20, -23
-        ElevatorEnable(1) = ElevatorEnable(1) - 0.25
-        If ElevatorEnable(1) >= -15 Then StoppingDistance(1) = OriginalLocation(1) - CurrentFloorExact(1)
-        If ElevatorEnable(1) < -15 Then ElevatorEnable(1) = -15
-        Destination(1) = ((OriginalLocation(1) * 25) + 25) - DistanceToTravel(1)
-        If GotoFloor(1) <> 0 And elevatorstart(1).Y <= (Destination(1) + (StoppingDistance(1) * 25) + 25) Then ElevatorDirection(1) = 1: ElevatorCheck(1) = 0
-        End If
-      
-        If ElevatorEnable(1) < 0 And ElevatorDirection(1) = 1 Then
-        If ElevatorSounds(1).PlayState = TV_PLAYSTATE_PLAYING And ElevatorCheck2(1) = 0 And FineTune(1) = False Then
-        ElevatorSounds(1).Loop_ = False
-        ElevatorSounds(1).Stop_
-        End If
-        If ElevatorSounds(1).PlayState <> TV_PLAYSTATE_PLAYING And ElevatorCheck2(1) = 0 And FineTune(1) = False Then
-        ElevatorSounds(1).Loop_ = False
-        ElevatorSounds(1).Load App.Path + "\elevstop.wav"
-        ElevatorSounds(1).Play
-        ElevatorCheck2(1) = 1
-        End If
-        Elevator(1).MoveRelative 0, (ElevatorEnable(1) / 5), 0
-        ElevatorInsDoorL(1).MoveRelative 0, (ElevatorEnable(1) / 5), 0
-        ElevatorInsDoorR(1).MoveRelative 0, (ElevatorEnable(1) / 5), 0
-        FloorIndicator(1).MoveRelative 0, (ElevatorEnable(1) / 5), 0
-        Plaque(1).MoveRelative 0, (ElevatorEnable(1) / 5), 0
-        For i1 = -1 To 138
-        Buttons1(i1).MoveRelative 0, (ElevatorEnable(1) / 5), 0
-        Next i1
-        If ElevatorSync(1) = True Then Camera.MoveRelative 0, (ElevatorEnable(1) / 5), 0
-        'ElevatorSounds(1).SetPosition -20.25, Elevator(1).GetPosition.Y + 20, -23
-        ''ElevatorMusic(1).SetPosition -20.25, Elevator(1).GetPosition.Y + 20, -23
-        ElevatorEnable(1) = ElevatorEnable(1) + 0.25
-        If ElevatorEnable(1) > 0 Then ElevatorEnable(1) = 0
-        If ElevatorEnable(1) = 0 Then ElevatorDirection(1) = 0
-        If GotoFloor(1) <> 0 Then ElevatorCheck(1) = 0: FineTune(1) = True
-        End If
-      
-      If FineTune(1) = True And ElevatorEnable(1) = 0 And elevatorstart(1).Y > (GotoFloor(1) * 25) + 25 + -0.3 And elevatorstart(1).Y < (GotoFloor(1) * 25) + 25 + 0.3 Then
-      FineTune(1) = False
-      Room(CameraFloor).Enable True
-      If ElevatorSync(1) = True Then
-      ElevatorDoor1L(CameraFloor).Enable True
-      ElevatorDoor1R(CameraFloor).Enable True
-      ElevatorDoor2L(CameraFloor).Enable True
-      ElevatorDoor2R(CameraFloor).Enable True
-      ElevatorDoor3L(CameraFloor).Enable True
-      ElevatorDoor3R(CameraFloor).Enable True
-      ElevatorDoor4L(CameraFloor).Enable True
-      ElevatorDoor4R(CameraFloor).Enable True
-      ElevatorDoor5L(CameraFloor).Enable True
-      ElevatorDoor5R(CameraFloor).Enable True
-      ElevatorDoor6L(CameraFloor).Enable True
-      ElevatorDoor6R(CameraFloor).Enable True
-      ElevatorDoor7L(CameraFloor).Enable True
-      ElevatorDoor7R(CameraFloor).Enable True
-      ElevatorDoor8L(CameraFloor).Enable True
-      ElevatorDoor8R(CameraFloor).Enable True
-      ElevatorDoor9L(CameraFloor).Enable True
-      ElevatorDoor9R(CameraFloor).Enable True
-      ElevatorDoor10L(CameraFloor).Enable True
-      ElevatorDoor10R(CameraFloor).Enable True
-      For i1 = 1 To 10
-      CallButtons(i1).Enable True
-      Next i1
-      ShaftsFloor(CameraFloor).Enable True
-      Stairs(CameraFloor).Enable True
-      Atmos.SkyBox_Enable True
-      'If CameraFloor = 137 Then Shafts.Enable True
-      InitObjectsForFloor (CameraFloor)
-      If CameraFloor < 138 Then Stairs(CameraFloor + 1).Enable True
-      If CameraFloor > 1 Then Stairs(CameraFloor - 1).Enable True
-      End If
-      GotoFloor(1) = 0
-      OpenElevator(1) = 1
-      ElevatorCheck(1) = 0
-      ElevatorCheck2(1) = 0
-      ElevatorCheck3(1) = 0
-      ElevatorCheck4(1) = 0
-      If CameraFloor > 1 Then Camera.SetPosition Camera.GetPosition.X, (CameraFloor * 25) + 25 + 10, Camera.GetPosition.z
-      If CameraFloor = 1 And FloorIndicatorText(1) <> "M" Then Camera.SetPosition Camera.GetPosition.X, 10, Camera.GetPosition.z
-      End If
-      
-      If FineTune(1) = True Then
-      If ElevatorCheck3(1) = 0 Then
-      ElevatorSounds(1).Load App.Path + "\ding1.wav"
-      ElevatorSounds(1).Play
-      ElevatorCheck3(1) = 1
-        For i1 = -1 To 138
-        Buttons1(i1).SetColor RGBA(1, 1, 1, 1)
-        Next i1
-      End If
-      If elevatorstart(1).Y < (GotoFloor(1) * 25) + 25 Then
-      Elevator(1).MoveRelative 0, 0.2, 0
-      ElevatorInsDoorL(1).MoveRelative 0, 0.2, 0
-      ElevatorInsDoorR(1).MoveRelative 0, 0.2, 0
-      Plaque(1).MoveRelative 0, 0.2, 0
-        For i1 = -1 To 138
-        Buttons1(i1).MoveRelative 0, 0.2, 0
-        Next i1
-        FloorIndicator(1).MoveRelative 0, 0.2, 0
-        If ElevatorSync(1) = True Then Camera.MoveRelative 0, 0.2, 0
-      End If
-      If elevatorstart(1).Y > (GotoFloor(1) * 25) + 25 Then
-      Elevator(1).MoveRelative 0, -0.2, 0
-      ElevatorInsDoorL(1).MoveRelative 0, -0.2, 0
-      ElevatorInsDoorR(1).MoveRelative 0, -0.2, 0
-      Plaque(1).MoveRelative 0, -0.2, 0
-        For i1 = -1 To 138
-        Buttons1(i1).MoveRelative 0, -0.2, 0
-        Next i1
-        FloorIndicator(1).MoveRelative 0, -0.2, 0
-        If ElevatorSync(1) = True Then Camera.MoveRelative 0, -0.2, 0
-      End If
-      End If
-      
-      If OpenElevator(1) = 1 Then
-      'If ElevatorInsDoorL(ElevatorFloor2(1)).GetPosition.z >= 4 Then OpenElevator(1) = 0: GoTo OpenElevator1
-      If ElevatorDoor1L(ElevatorFloor2(1)).GetPosition.z >= 4 Then OpenElevator(1) = 0: GoTo OpenElevator1
-      If ElevatorCheck4(1) = 0 Then
-        If ElevatorSounds(1).PlayState = TV_PLAYSTATE_PLAYING Then
-        ElevatorSounds(1).Stop_
-        End If
-        ElevatorSounds(1).Loop_ = False
-        ElevatorSounds(1).Load App.Path + "\elevatoropen.wav"
-        ElevatorSounds(1).Volume = 0
-        'ElevatorSounds(1).maxDistance = 1000
-        'Call ElevatorSounds(1).SetConeOrientation(0, -5, 0)
-        'ElevatorSounds(1).ConeOutsideVolume = 0
-        'Call ElevatorSounds(1).SetPosition(-20.25, Elevator(1).GetPosition.Y, -23)
-        ElevatorSounds(1).Play
-        ElevatorCheck4(1) = 1
-      End If
-      OpenElevatorLoc(1) = OpenElevatorLoc(1) + 0.02
-      ElevatorDoor1L(ElevatorFloor2(1)).MoveRelative OpenElevatorLoc(1), 0, 0
-      ElevatorDoor1R(ElevatorFloor2(1)).MoveRelative -OpenElevatorLoc(1), 0, 0
-      ElevatorInsDoorL(1).MoveRelative OpenElevatorLoc(1), 0, 0
-      ElevatorInsDoorR(1).MoveRelative -OpenElevatorLoc(1), 0, 0
-      'If ElevatorInsDoorL(ElevatorFloor2(1)).GetPosition.z > 1 Then OpenElevator(1) = 2
-      If ElevatorDoor1L(ElevatorFloor2(1)).GetPosition.z > 1 Then OpenElevator(1) = 2
-OpenElevator1:
-      End If
-      
-      If OpenElevator(1) = 2 Then
-      ElevatorDoor1L(ElevatorFloor2(1)).MoveRelative OpenElevatorLoc(1), 0, 0
-      ElevatorDoor1R(ElevatorFloor2(1)).MoveRelative -OpenElevatorLoc(1), 0, 0
-      ElevatorInsDoorL(1).MoveRelative OpenElevatorLoc(1), 0, 0
-      ElevatorInsDoorR(1).MoveRelative -OpenElevatorLoc(1), 0, 0
-      'If ElevatorInsDoorL(ElevatorFloor2(1)).GetPosition.z > 3 Then OpenElevator(1) = 3
-      If ElevatorDoor1L(ElevatorFloor2(1)).GetPosition.z > 3 Then OpenElevator(1) = 3
-      End If
-      
-      If OpenElevator(1) = 3 Then
-      ElevatorCheck4(1) = 0
-      OpenElevatorLoc(1) = OpenElevatorLoc(1) - 0.02
-      'If ElevatorInsDoorL(ElevatorFloor2(1)).GetPosition.z < 7 And OpenElevatorLoc(1) = 0 Then OpenElevatorLoc(1) = 0.02
-      If ElevatorDoor1L(ElevatorFloor2(1)).GetPosition.z < 7 And OpenElevatorLoc(1) = 0 Then OpenElevatorLoc(1) = 0.02
-      ElevatorDoor1L(ElevatorFloor2(1)).MoveRelative OpenElevatorLoc(1), 0, 0
-      ElevatorDoor1R(ElevatorFloor2(1)).MoveRelative -OpenElevatorLoc(1), 0, 0
-      ElevatorInsDoorL(1).MoveRelative OpenElevatorLoc(1), 0, 0
-      ElevatorInsDoorR(1).MoveRelative -OpenElevatorLoc(1), 0, 0
-      If OpenElevatorLoc(1) <= 0 Then
-      OpenElevator(1) = 0
-      OpenElevatorLoc(1) = 0
-      Form1.Timer1.Enabled = True
-      End If
-      End If
-      
-      If OpenElevator(1) = -1 Then
-      'If ElevatorInsDoorL(ElevatorFloor2(1)).GetPosition.z <= 0 Then OpenElevator(1) = 0: GoTo OpenElevator2
-      If ElevatorDoor1L(ElevatorFloor2(1)).GetPosition.z <= 0 Then OpenElevator(1) = 0: GoTo OpenElevator2
-      If ElevatorCheck4(1) = 0 Then
-        If ElevatorSounds(1).PlayState = TV_PLAYSTATE_PLAYING Then
-        ElevatorSounds(1).Stop_
-        End If
-        ElevatorSounds(1).Loop_ = False
-        ElevatorSounds(1).Load App.Path + "\elevatorclose.wav"
-        ElevatorSounds(1).Volume = 0
-        'ElevatorSounds(1).maxDistance = 1000
-        'Call ElevatorSounds(1).SetConeOrientation(0, 0, 90)
-        'ElevatorSounds(1).ConeOutsideVolume = 0
-        'Call ElevatorSounds(1).SetPosition(-20.25, Elevator(1).GetPosition.Y, -23)
-        ElevatorSounds(1).Play
-        ElevatorCheck4(1) = 1
-      End If
-      OpenElevatorLoc(1) = OpenElevatorLoc(1) - 0.02
-      ElevatorDoor1L(ElevatorFloor2(1)).MoveRelative OpenElevatorLoc(1), 0, 0
-      ElevatorDoor1R(ElevatorFloor2(1)).MoveRelative -OpenElevatorLoc(1), 0, 0
-      ElevatorInsDoorL(1).MoveRelative OpenElevatorLoc(1), 0, 0
-      ElevatorInsDoorR(1).MoveRelative -OpenElevatorLoc(1), 0, 0
-      'If ElevatorInsDoorL(ElevatorFloor2(1)).GetPosition.z < 3 Then OpenElevator(1) = -2
-      If ElevatorDoor1L(ElevatorFloor2(1)).GetPosition.z < 3 Then OpenElevator(1) = -2
-OpenElevator2:
-      End If
-      
-      If OpenElevator(1) = -2 Then
-      ElevatorDoor1L(ElevatorFloor2(1)).MoveRelative OpenElevatorLoc(1), 0, 0
-      ElevatorDoor1R(ElevatorFloor2(1)).MoveRelative -OpenElevatorLoc(1), 0, 0
-      ElevatorInsDoorL(1).MoveRelative OpenElevatorLoc(1), 0, 0
-      ElevatorInsDoorR(1).MoveRelative -OpenElevatorLoc(1), 0, 0
-      'If ElevatorInsDoorL(ElevatorFloor2(1)).GetPosition.z < 1 Then OpenElevator(1) = -3
-      If ElevatorDoor1L(ElevatorFloor2(1)).GetPosition.z < 1 Then OpenElevator(1) = -3
-      End If
-      
-      If OpenElevator(1) = -3 Then
-      ElevatorCheck4(1) = 0
-      OpenElevatorLoc(1) = OpenElevatorLoc(1) + 0.02
-      'If ElevatorInsDoorL(ElevatorFloor2(1)).GetPosition.z > 0 And OpenElevatorLoc(1) >= 0 Then OpenElevatorLoc(1) = -0.02
-      If ElevatorDoor1L(ElevatorFloor2(1)).GetPosition.z > 0 And OpenElevatorLoc(1) >= 0 Then OpenElevatorLoc(1) = -0.02
-      ElevatorDoor1L(ElevatorFloor2(1)).MoveRelative OpenElevatorLoc(1), 0, 0
-      ElevatorDoor1R(ElevatorFloor2(1)).MoveRelative -OpenElevatorLoc(1), 0, 0
-      ElevatorInsDoorL(1).MoveRelative OpenElevatorLoc(1), 0, 0
-      ElevatorInsDoorR(1).MoveRelative -OpenElevatorLoc(1), 0, 0
-      If OpenElevatorLoc(1) >= 0 Then
-      OpenElevator(1) = 0
-      OpenElevatorLoc(1) = 0
-      ElevatorInsDoorL(1).SetPosition ElevatorInsDoorL(1).GetPosition.X, ElevatorInsDoorL(1).GetPosition.Y, 0
-      ElevatorInsDoorR(1).SetPosition ElevatorInsDoorR(1).GetPosition.X, ElevatorInsDoorR(1).GetPosition.Y, 0
-      ElevatorDoor1L(ElevatorFloor2(1)).SetPosition ElevatorDoor1L(ElevatorFloor2(1)).GetPosition.X, ElevatorDoor1L(ElevatorFloor2(1)).GetPosition.Y, 0
-      ElevatorDoor1R(ElevatorFloor2(1)).SetPosition ElevatorDoor1R(ElevatorFloor2(1)).GetPosition.X, ElevatorDoor1R(ElevatorFloor2(1)).GetPosition.Y, 0
-      End If
-      End If
-      
-    
 End Sub
 
-Sub Elevator2Loop()
+Sub DrawElevatorButtons1(Number As Integer)
 
-elevatorstart(2) = Elevator(2).GetPosition
+Dim ShaftLeft As Single
 
-'Find the floor that the elevator's on
-ElevatorFloor(2) = (Elevator(2).GetPosition.Y - 25) / 25
-      
-      'If elevator goes below floor 2, then set elevatorfloor as 1
-      If ElevatorFloor(2) < 1 Then ElevatorFloor(2) = 1
-      
-      If GotoFloor(2) = ElevatorFloor(2) - 1 Then CurrentFloor(2) = ElevatorFloor(2)
-
-      'If GotoFloor(2) <> 0 And GotoFloor(2) > CurrentFloor(2) And ElevatorDirection(2) = 0 And ElevatorInsDoorL(ElevatorFloor2(2)).GetPosition.z <= 0 Then
-      If GotoFloor(2) <> 0 And GotoFloor(2) > CurrentFloor(2) And ElevatorDirection(2) = 0 And ElevatorDoor2L(ElevatorFloor2(2)).GetPosition.z <= 0 Then
-      ElevatorDirection(2) = 1
-      OriginalLocation(2) = CurrentFloorExact(2)
-      DistanceToTravel(2) = ((GotoFloor(2) * 25) + 25) - ((CurrentFloorExact(2) * 25) + 25)
-      If ElevatorSync(2) = True Then
-      Room(CameraFloor).Enable False
-      For i2 = 1 To 10
-      CallButtons(i2).Enable False
-      Next i2
-      ElevatorDoor1L(CameraFloor).Enable False
-      ElevatorDoor1R(CameraFloor).Enable False
-      ElevatorDoor2L(CameraFloor).Enable False
-      ElevatorDoor2R(CameraFloor).Enable False
-      ElevatorDoor3L(CameraFloor).Enable False
-      ElevatorDoor3R(CameraFloor).Enable False
-      ElevatorDoor4L(CameraFloor).Enable False
-      ElevatorDoor4R(CameraFloor).Enable False
-      ElevatorDoor5L(CameraFloor).Enable False
-      ElevatorDoor5R(CameraFloor).Enable False
-      ElevatorDoor6L(CameraFloor).Enable False
-      ElevatorDoor6R(CameraFloor).Enable False
-      ElevatorDoor7L(CameraFloor).Enable False
-      ElevatorDoor7R(CameraFloor).Enable False
-      ElevatorDoor8L(CameraFloor).Enable False
-      ElevatorDoor8R(CameraFloor).Enable False
-      ElevatorDoor9L(CameraFloor).Enable False
-      ElevatorDoor9R(CameraFloor).Enable False
-      ElevatorDoor10L(CameraFloor).Enable False
-      ElevatorDoor10R(CameraFloor).Enable False
-      DestroyObjects (CameraFloor)
-      ShaftsFloor(CameraFloor).Enable False
-      Atmos.SkyBox_Enable False
-      Stairs(CameraFloor).Enable False
-      If CameraFloor < 138 Then Stairs(CameraFloor + 1).Enable False
-      If CameraFloor > 1 Then Stairs(CameraFloor - 1).Enable False
-      End If
-      End If
-      'If GotoFloor(2) <> 0 And GotoFloor(2) < CurrentFloor(2) And ElevatorDirection(2) = 0 And ElevatorInsDoorL(ElevatorFloor2(2)).GetPosition.z <= 0 Then
-      If GotoFloor(2) <> 0 And GotoFloor(2) < CurrentFloor(2) And ElevatorDirection(2) = 0 And ElevatorDoor2L(ElevatorFloor2(2)).GetPosition.z <= 0 Then
-      ElevatorDirection(2) = -1
-      OriginalLocation(2) = CurrentFloorExact(2)
-      DistanceToTravel(2) = ((CurrentFloorExact(2) * 25) + 25) - ((GotoFloor(2) * 25) + 25)
-      If ElevatorSync(2) = True Then
-      Room(CameraFloor).Enable False
-      For i2 = 1 To 10
-      CallButtons(i2).Enable False
-      Next i2
-      ElevatorDoor1L(CameraFloor).Enable False
-      ElevatorDoor1R(CameraFloor).Enable False
-      ElevatorDoor2L(CameraFloor).Enable False
-      ElevatorDoor2R(CameraFloor).Enable False
-      ElevatorDoor3L(CameraFloor).Enable False
-      ElevatorDoor3R(CameraFloor).Enable False
-      ElevatorDoor4L(CameraFloor).Enable False
-      ElevatorDoor4R(CameraFloor).Enable False
-      ElevatorDoor5L(CameraFloor).Enable False
-      ElevatorDoor5R(CameraFloor).Enable False
-      ElevatorDoor6L(CameraFloor).Enable False
-      ElevatorDoor6R(CameraFloor).Enable False
-      ElevatorDoor7L(CameraFloor).Enable False
-      ElevatorDoor7R(CameraFloor).Enable False
-      ElevatorDoor8L(CameraFloor).Enable False
-      ElevatorDoor8R(CameraFloor).Enable False
-      ElevatorDoor9L(CameraFloor).Enable False
-      ElevatorDoor9R(CameraFloor).Enable False
-      ElevatorDoor10L(CameraFloor).Enable False
-      ElevatorDoor10R(CameraFloor).Enable False
-      DestroyObjects (CameraFloor)
-      ShaftsFloor(CameraFloor).Enable False
-      Atmos.SkyBox_Enable False
-      Stairs(CameraFloor).Enable False
-      If CameraFloor < 138 Then Stairs(CameraFloor + 1).Enable False
-      If CameraFloor > 1 Then Stairs(CameraFloor - 1).Enable False
-      End If
-      End If
-      
-       CurrentFloor(2) = Int((elevatorstart(2).Y - 25) / 25)
-       CurrentFloorExact(2) = (elevatorstart(2).Y - 25) / 25
-       'CurrentFloor(2) = (Elevator(2).GetPosition.y / 25) - 1
-       'CurrentFloorExact(2) = Int((Elevator(2).GetPosition.y / 25) - 1)
+ShaftLeft = 12.5
 
-       'Form2.Text1.Text = "Sound Location=7.75,20,7 " + vbCrLf + "Elevator Floor=" + Str$(ElevatorFloor(2)) + vbCrLf + "Camera Floor=" + Str$(CameraFloor) + vbCrLf + "Current Location= " + Str$(Int(Camera.GetPosition.x)) + "," + Str$(Int(Camera.GetPosition.y)) + "," + Str$(Int(Camera.GetPosition.z)) + vbCrLf + "Distance to Travel=" + Str$(DistanceToTravel(2)) + vbCrLf + "Destination=" + Str$(Destination) + vbCrLf + "Rate=" + Str$(ElevatorEnable(2) / 5)
-        
-        If ElevatorEnable(2) >= 0 And ElevatorDirection(2) = 1 Then
-        'sound
-        If ElevatorSounds(2).PlayState <> TV_PLAYSTATE_PLAYING And ElevatorCheck(2) = 0 And GotoFloor(2) <> ElevatorFloor(2) Then
-        ElevatorSounds(2).Loop_ = False
-        ElevatorSounds(2).Load App.Path + "\elevstart.wav"
-        ElevatorSounds(2).Volume = 0
-        'ElevatorSounds(2).maxDistance = 100
-        'Call ElevatorSounds(2).SetConeOrientation(0, 0, 90)
-        'ElevatorSounds(2).ConeOutsideVolume = 0
-        'Call ElevatorSounds(2).SetPosition(-20.25, Elevator1(2).GetPosition.Y + 20, -23)
-        ElevatorSounds(2).Play
-        ElevatorCheck(2) = 1
-        End If
-        If ElevatorSounds(2).PlayState = TV_PLAYSTATE_ENDED And ElevatorCheck(2) = 1 Then
-        ElevatorSounds(2).Load App.Path + "\elevmove.wav"
-        ElevatorSounds(2).Loop_ = True
-        ElevatorSounds(2).Play
-        End If
-        'movement
-        Elevator(2).MoveRelative 0, (ElevatorEnable(2) / 5), 0
-        ElevatorInsDoorL(2).MoveRelative 0, (ElevatorEnable(2) / 5), 0
-        ElevatorInsDoorR(2).MoveRelative 0, (ElevatorEnable(2) / 5), 0
-        FloorIndicator(2).MoveRelative 0, (ElevatorEnable(2) / 5), 0
-        Plaque(2).MoveRelative 0, (ElevatorEnable(2) / 5), 0
-        For i2 = -1 To 138
-        Buttons2(i2).MoveRelative 0, (ElevatorEnable(2) / 5), 0
-        Next i2
-        If ElevatorSync(2) = True Then Camera.MoveRelative 0, (ElevatorEnable(2) / 5), 0
-        'ElevatorSounds(2).SetPosition -20.25, Elevator(2).GetPosition.Y + 20, -23
-        ''ElevatorMusic(2).SetPosition -20.25, Elevator(2).GetPosition.Y + 20, -23
-        ElevatorEnable(2) = ElevatorEnable(2) + 0.25
-        If ElevatorEnable(2) <= 15 Then StoppingDistance(2) = CurrentFloorExact(2) - OriginalLocation(2) + 0.4
-        If ElevatorEnable(2) > 15 Then ElevatorEnable(2) = 15
-        Destination(2) = ((OriginalLocation(2) * 25) + 25) + DistanceToTravel(2) - 35
-        If GotoFloor(2) <> 0 And elevatorstart(2).Y >= (Destination(2) - (StoppingDistance(2) * 25) + 25) Then ElevatorDirection(2) = -1: ElevatorCheck(2) = 0
-        End If
-      
-        If ElevatorEnable(2) > 0 And ElevatorDirection(2) = -1 Then
-        'Sounds
-        If ElevatorSounds(2).PlayState = TV_PLAYSTATE_PLAYING And ElevatorCheck2(2) = 0 And FineTune(2) = False Then
-        ElevatorSounds(2).Loop_ = False
-        ElevatorSounds(2).Stop_
-        End If
-        If ElevatorSounds(2).PlayState <> TV_PLAYSTATE_PLAYING And ElevatorCheck2(2) = 0 And FineTune(2) = False Then
-        ElevatorSounds(2).Loop_ = False
-        ElevatorSounds(2).Load App.Path + "\elevstop.wav"
-        ElevatorSounds(2).Play
-        ElevatorCheck2(2) = 1
-        End If
-        'Movement
-        Elevator(2).MoveRelative 0, (ElevatorEnable(2) / 5), 0
-        ElevatorInsDoorL(2).MoveRelative 0, (ElevatorEnable(2) / 5), 0
-        ElevatorInsDoorR(2).MoveRelative 0, (ElevatorEnable(2) / 5), 0
-        FloorIndicator(2).MoveRelative 0, (ElevatorEnable(2) / 5), 0
-        Plaque(2).MoveRelative 0, (ElevatorEnable(2) / 5), 0
-        For i2 = -1 To 138
-        Buttons2(i2).MoveRelative 0, (ElevatorEnable(2) / 5), 0
-        Next i2
-        If ElevatorSync(2) = True Then Camera.MoveRelative 0, (ElevatorEnable(2) / 5), 0
-        
-        'ElevatorSounds(2).SetPosition -20.25, Elevator(2).GetPosition.Y + 20, -23
-        ''ElevatorMusic(2).SetPosition -20.25, Elevator(2).GetPosition.Y + 20, -23
-        ElevatorEnable(2) = ElevatorEnable(2) - 0.25
-        If ElevatorEnable(2) < 0 Then ElevatorEnable(2) = 0
-        If ElevatorEnable(2) = 0 Then ElevatorDirection(2) = 0
-        If GotoFloor(2) <> 0 Then ElevatorCheck(2) = 0: FineTune(2) = True
-        End If
-      
-        If ElevatorEnable(2) <= 0 And ElevatorDirection(2) = -1 Then
-        If ElevatorSounds(2).PlayState <> TV_PLAYSTATE_PLAYING And ElevatorCheck(2) = 0 Then
-        ElevatorSounds(2).Loop_ = False
-        ElevatorSounds(2).Load App.Path + "\elevstart.wav"
-        ElevatorSounds(2).Volume = 0
-        'ElevatorSounds(2).maxDistance = 100
-        'Call ElevatorSounds(2).SetConeOrientation(0, 0, 90)
-        'ElevatorSounds(2).ConeOutsideVolume = 0
-        'Call ElevatorSounds(2).SetPosition(-20.25, Elevator(2).GetPosition.Y + 20, -23)
-        ElevatorSounds(2).Play
-        ElevatorCheck(2) = 1
-        End If
-        If ElevatorSounds(2).PlayState = TV_PLAYSTATE_ENDED And ElevatorCheck(2) = 1 Then
-        ElevatorSounds(2).Load App.Path + "\elevmove.wav"
-        ElevatorSounds(2).Loop_ = True
-        ElevatorSounds(2).Play
-        End If
-        Elevator(2).MoveRelative 0, (ElevatorEnable(2) / 5), 0
-        ElevatorInsDoorL(2).MoveRelative 0, (ElevatorEnable(2) / 5), 0
-        ElevatorInsDoorR(2).MoveRelative 0, (ElevatorEnable(2) / 5), 0
-        FloorIndicator(2).MoveRelative 0, (ElevatorEnable(2) / 5), 0
-        Plaque(2).MoveRelative 0, (ElevatorEnable(2) / 5), 0
-        For i2 = -1 To 138
-        Buttons2(i2).MoveRelative 0, (ElevatorEnable(2) / 5), 0
-        Next i2
-        If ElevatorSync(2) = True Then Camera.MoveRelative 0, (ElevatorEnable(2) / 5), 0
-        'ElevatorSounds(2).SetPosition -20.25, Elevator(2).GetPosition.Y + 20, -23
-        ''ElevatorMusic(2).SetPosition -20.25, Elevator(2).GetPosition.Y + 20, -23
-        ElevatorEnable(2) = ElevatorEnable(2) - 0.25
-        If ElevatorEnable(2) >= -15 Then StoppingDistance(2) = OriginalLocation(2) - CurrentFloorExact(2)
-        If ElevatorEnable(2) < -15 Then ElevatorEnable(2) = -15
-        Destination(2) = ((OriginalLocation(2) * 25) + 25) - DistanceToTravel(2)
-        If GotoFloor(2) <> 0 And elevatorstart(2).Y <= (Destination(2) + (StoppingDistance(2) * 25) + 25) Then ElevatorDirection(2) = 1: ElevatorCheck(2) = 0
-        End If
-      
-        If ElevatorEnable(2) < 0 And ElevatorDirection(2) = 1 Then
-        If ElevatorSounds(2).PlayState = TV_PLAYSTATE_PLAYING And ElevatorCheck2(2) = 0 And FineTune(2) = False Then
-        ElevatorSounds(2).Loop_ = False
-        ElevatorSounds(2).Stop_
-        End If
-        If ElevatorSounds(2).PlayState <> TV_PLAYSTATE_PLAYING And ElevatorCheck2(2) = 0 And FineTune(2) = False Then
-        ElevatorSounds(2).Loop_ = False
-        ElevatorSounds(2).Load App.Path + "\elevstop.wav"
-        ElevatorSounds(2).Play
-        ElevatorCheck2(2) = 1
-        End If
-        Elevator(2).MoveRelative 0, (ElevatorEnable(2) / 5), 0
-        ElevatorInsDoorL(2).MoveRelative 0, (ElevatorEnable(2) / 5), 0
-        ElevatorInsDoorR(2).MoveRelative 0, (ElevatorEnable(2) / 5), 0
-        FloorIndicator(2).MoveRelative 0, (ElevatorEnable(2) / 5), 0
-        Plaque(2).MoveRelative 0, (ElevatorEnable(2) / 5), 0
-        For i2 = -1 To 138
-        Buttons2(i2).MoveRelative 0, (ElevatorEnable(2) / 5), 0
-        Next i2
-        If ElevatorSync(2) = True Then Camera.MoveRelative 0, (ElevatorEnable(2) / 5), 0
-        'ElevatorSounds(2).SetPosition -20.25, Elevator(2).GetPosition.Y + 20, -23
-        ''ElevatorMusic(2).SetPosition -20.25, Elevator(2).GetPosition.Y + 20, -23
-        ElevatorEnable(2) = ElevatorEnable(2) + 0.25
-        If ElevatorEnable(2) > 0 Then ElevatorEnable(2) = 0
-        If ElevatorEnable(2) = 0 Then ElevatorDirection(2) = 0
-        If GotoFloor(2) <> 0 Then ElevatorCheck(2) = 0: FineTune(2) = True
-        End If
-      
-      If FineTune(2) = True And ElevatorEnable(2) = 0 And elevatorstart(2).Y > (GotoFloor(2) * 25) + 25 + -0.3 And elevatorstart(2).Y < (GotoFloor(2) * 25) + 25 + 0.3 Then
-      FineTune(2) = False
-      If ElevatorSync(2) = True Then
-      Room(CameraFloor).Enable True
-      ElevatorDoor1L(CameraFloor).Enable True
-      ElevatorDoor1R(CameraFloor).Enable True
-      ElevatorDoor2L(CameraFloor).Enable True
-      ElevatorDoor2R(CameraFloor).Enable True
-      ElevatorDoor3L(CameraFloor).Enable True
-      ElevatorDoor3R(CameraFloor).Enable True
-      ElevatorDoor4L(CameraFloor).Enable True
-      ElevatorDoor4R(CameraFloor).Enable True
-      ElevatorDoor5L(CameraFloor).Enable True
-      ElevatorDoor5R(CameraFloor).Enable True
-      ElevatorDoor6L(CameraFloor).Enable True
-      ElevatorDoor6R(CameraFloor).Enable True
-      ElevatorDoor7L(CameraFloor).Enable True
-      ElevatorDoor7R(CameraFloor).Enable True
-      ElevatorDoor8L(CameraFloor).Enable True
-      ElevatorDoor8R(CameraFloor).Enable True
-      ElevatorDoor9L(CameraFloor).Enable True
-      ElevatorDoor9R(CameraFloor).Enable True
-      ElevatorDoor10L(CameraFloor).Enable True
-      ElevatorDoor10R(CameraFloor).Enable True
-      For i2 = 1 To 10
-      CallButtons(i2).Enable True
-      Next i2
-      ShaftsFloor(CameraFloor).Enable True
-      Stairs(CameraFloor).Enable True
-      Atmos.SkyBox_Enable True
-      'If CameraFloor = 137 Then Shafts.Enable True
-      InitObjectsForFloor (CameraFloor)
-      If CameraFloor < 138 Then Stairs(CameraFloor + 1).Enable True
-      If CameraFloor > 1 Then Stairs(CameraFloor - 1).Enable True
-      End If
-      GotoFloor(2) = 0
-      OpenElevator(2) = 1
-      ElevatorCheck(2) = 0
-      ElevatorCheck2(2) = 0
-      ElevatorCheck3(2) = 0
-      ElevatorCheck4(2) = 0
-      If CameraFloor > 1 Then Camera.SetPosition Camera.GetPosition.X, (CameraFloor * 25) + 25 + 10, Camera.GetPosition.z
-      If CameraFloor = 1 And FloorIndicatorText(2) <> "M" Then Camera.SetPosition Camera.GetPosition.X, 10, Camera.GetPosition.z
-      End If
-      
-      If FineTune(2) = True Then
-      If ElevatorCheck3(2) = 0 Then
-      ElevatorSounds(2).Load App.Path + "\ding1.wav"
-      ElevatorSounds(2).Play
-      ElevatorCheck3(2) = 1
-        For i2 = -1 To 138
-        Buttons2(i2).SetColor RGBA(1, 1, 1, 1)
-        Next i2
-      End If
-      If elevatorstart(2).Y < (GotoFloor(2) * 25) + 25 Then
-      Elevator(2).MoveRelative 0, 0.2, 0
-      ElevatorInsDoorL(2).MoveRelative 0, 0.2, 0
-      ElevatorInsDoorR(2).MoveRelative 0, 0.2, 0
-      Plaque(2).MoveRelative 0, 0.2, 0
-        For i2 = -1 To 138
-        Buttons2(i2).MoveRelative 0, 0.2, 0
-        Next i2
-        FloorIndicator(2).MoveRelative 0, 0.2, 0
-        If ElevatorSync(2) = True Then Camera.MoveRelative 0, 0.2, 0
-      End If
-      If elevatorstart(2).Y > (GotoFloor(2) * 25) + 25 Then
-      Elevator(2).MoveRelative 0, -0.2, 0
-      ElevatorInsDoorL(2).MoveRelative 0, -0.2, 0
-      ElevatorInsDoorR(2).MoveRelative 0, -0.2, 0
-      Plaque(2).MoveRelative 0, -0.2, 0
-        For i2 = -1 To 138
-        Buttons2(i2).MoveRelative 0, -0.2, 0
-        Next i2
-        FloorIndicator(2).MoveRelative 0, -0.2, 0
-        If ElevatorSync(2) = True Then Camera.MoveRelative 0, -0.2, 0
-      End If
-      End If
-      
-      If OpenElevator(2) = 1 Then
-      'If ElevatorInsDoorL(ElevatorFloor2(2)).GetPosition.z >= 4 Then OpenElevator(2) = 0: GoTo OpenElevator1
-      If ElevatorDoor2L(ElevatorFloor2(2)).GetPosition.z >= 4 Then OpenElevator(2) = 0: GoTo OpenElevator1
-      If ElevatorCheck4(2) = 0 Then
-        If ElevatorSounds(2).PlayState = TV_PLAYSTATE_PLAYING Then
-        ElevatorSounds(2).Stop_
-        End If
-        ElevatorSounds(2).Loop_ = False
-        ElevatorSounds(2).Load App.Path + "\elevatoropen.wav"
-        ElevatorSounds(2).Volume = 0
-        'ElevatorSounds(2).maxDistance = 1000
-        'Call ElevatorSounds(2).SetConeOrientation(0, -5, 0)
-        'ElevatorSounds(2).ConeOutsideVolume = 0
-        'Call ElevatorSounds(2).SetPosition(-20.25, Elevator(2).GetPosition.Y, -23)
-        ElevatorSounds(2).Play
-        ElevatorCheck4(2) = 1
-      End If
-      OpenElevatorLoc(2) = OpenElevatorLoc(2) + 0.02
-      ElevatorDoor2L(ElevatorFloor2(2)).MoveRelative OpenElevatorLoc(2), 0, 0
-      ElevatorDoor2R(ElevatorFloor2(2)).MoveRelative -OpenElevatorLoc(2), 0, 0
-      ElevatorInsDoorL(2).MoveRelative OpenElevatorLoc(2), 0, 0
-      ElevatorInsDoorR(2).MoveRelative -OpenElevatorLoc(2), 0, 0
-      'If ElevatorInsDoorL(ElevatorFloor2(2)).GetPosition.z > 1 Then OpenElevator(2) = 2
-      If ElevatorDoor2L(ElevatorFloor2(2)).GetPosition.z > 1 Then OpenElevator(2) = 2
-OpenElevator1:
-      End If
-      
-      If OpenElevator(2) = 2 Then
-      ElevatorDoor2L(ElevatorFloor2(2)).MoveRelative OpenElevatorLoc(2), 0, 0
-      ElevatorDoor2R(ElevatorFloor2(2)).MoveRelative -OpenElevatorLoc(2), 0, 0
-      ElevatorInsDoorL(2).MoveRelative OpenElevatorLoc(2), 0, 0
-      ElevatorInsDoorR(2).MoveRelative -OpenElevatorLoc(2), 0, 0
-      'If ElevatorInsDoorL(ElevatorFloor2(2)).GetPosition.z > 3 Then OpenElevator(2) = 3
-      If ElevatorDoor2L(ElevatorFloor2(2)).GetPosition.z > 3 Then OpenElevator(2) = 3
-      End If
-      
-      If OpenElevator(2) = 3 Then
-      ElevatorCheck4(2) = 0
-      OpenElevatorLoc(2) = OpenElevatorLoc(2) - 0.02
-      'If ElevatorInsDoorL(ElevatorFloor2(2)).GetPosition.z < 7 And OpenElevatorLoc(2) = 0 Then OpenElevatorLoc(2) = 0.02
-      If ElevatorDoor2L(ElevatorFloor2(2)).GetPosition.z < 7 And OpenElevatorLoc(2) = 0 Then OpenElevatorLoc(2) = 0.02
-      ElevatorDoor2L(ElevatorFloor2(2)).MoveRelative OpenElevatorLoc(2), 0, 0
-      ElevatorDoor2R(ElevatorFloor2(2)).MoveRelative -OpenElevatorLoc(2), 0, 0
-      ElevatorInsDoorL(2).MoveRelative OpenElevatorLoc(2), 0, 0
-      ElevatorInsDoorR(2).MoveRelative -OpenElevatorLoc(2), 0, 0
-      If OpenElevatorLoc(2) <= 0 Then
-      OpenElevator(2) = 0
-      OpenElevatorLoc(2) = 0
-      Form1.Timer2.Enabled = True
-      End If
-      End If
-      
-      If OpenElevator(2) = -1 Then
-      'If ElevatorInsDoorL(ElevatorFloor2(2)).GetPosition.z <= 0 Then OpenElevator(2) = 0: GoTo OpenElevator2
-      If ElevatorDoor2L(ElevatorFloor2(2)).GetPosition.z <= 0 Then OpenElevator(2) = 0: GoTo OpenElevator2
-      If ElevatorCheck4(2) = 0 Then
-        If ElevatorSounds(2).PlayState = TV_PLAYSTATE_PLAYING Then
-        ElevatorSounds(2).Stop_
-        End If
-        ElevatorSounds(2).Loop_ = False
-        ElevatorSounds(2).Load App.Path + "\elevatorclose.wav"
-        ElevatorSounds(2).Volume = 0
-        'ElevatorSounds(2).maxDistance = 1000
-        'Call ElevatorSounds(2).SetConeOrientation(0, 0, 90)
-        'ElevatorSounds(2).ConeOutsideVolume = 0
-        'Call ElevatorSounds(2).SetPosition(-20.25, Elevator(2).GetPosition.Y, -23)
-        ElevatorSounds(2).Play
-        ElevatorCheck4(2) = 1
-      End If
-      OpenElevatorLoc(2) = OpenElevatorLoc(2) - 0.02
-      ElevatorDoor2L(ElevatorFloor2(2)).MoveRelative OpenElevatorLoc(2), 0, 0
-      ElevatorDoor2R(ElevatorFloor2(2)).MoveRelative -OpenElevatorLoc(2), 0, 0
-      ElevatorInsDoorL(2).MoveRelative OpenElevatorLoc(2), 0, 0
-      ElevatorInsDoorR(2).MoveRelative -OpenElevatorLoc(2), 0, 0
-      'If ElevatorInsDoorL(ElevatorFloor2(2)).GetPosition.z < 3 Then OpenElevator(2) = -2
-      If ElevatorDoor2L(ElevatorFloor2(2)).GetPosition.z < 3 Then OpenElevator(2) = -2
-OpenElevator2:
-      End If
-      
-      If OpenElevator(2) = -2 Then
-      ElevatorDoor2L(ElevatorFloor2(2)).MoveRelative OpenElevatorLoc(2), 0, 0
-      ElevatorDoor2R(ElevatorFloor2(2)).MoveRelative -OpenElevatorLoc(2), 0, 0
-      ElevatorInsDoorL(2).MoveRelative OpenElevatorLoc(2), 0, 0
-      ElevatorInsDoorR(2).MoveRelative -OpenElevatorLoc(2), 0, 0
-      'If ElevatorInsDoorL(ElevatorFloor2(2)).GetPosition.z < 1 Then OpenElevator(2) = -3
-      If ElevatorDoor2L(ElevatorFloor2(2)).GetPosition.z < 1 Then OpenElevator(2) = -3
-      End If
-      
-      If OpenElevator(2) = -3 Then
-      ElevatorCheck4(2) = 0
-      OpenElevatorLoc(2) = OpenElevatorLoc(2) + 0.02
-      'If ElevatorInsDoorL(ElevatorFloor2(2)).GetPosition.z > 0 And OpenElevatorLoc(2) >= 0 Then OpenElevatorLoc(2) = -0.02
-      If ElevatorDoor2L(ElevatorFloor2(2)).GetPosition.z > 0 And OpenElevatorLoc(2) >= 0 Then OpenElevatorLoc(2) = -0.02
-      ElevatorDoor2L(ElevatorFloor2(2)).MoveRelative OpenElevatorLoc(2), 0, 0
-      ElevatorDoor2R(ElevatorFloor2(2)).MoveRelative -OpenElevatorLoc(2), 0, 0
-      ElevatorInsDoorL(2).MoveRelative OpenElevatorLoc(2), 0, 0
-      ElevatorInsDoorR(2).MoveRelative -OpenElevatorLoc(2), 0, 0
-      If OpenElevatorLoc(2) >= 0 Then
-      OpenElevator(2) = 0
-      OpenElevatorLoc(2) = 0
-      ElevatorInsDoorL(2).SetPosition ElevatorInsDoorL(2).GetPosition.X, ElevatorInsDoorL(2).GetPosition.Y, 0
-      ElevatorInsDoorR(2).SetPosition ElevatorInsDoorR(2).GetPosition.X, ElevatorInsDoorR(2).GetPosition.Y, 0
-      ElevatorDoor2L(ElevatorFloor2(2)).SetPosition ElevatorDoor2L(ElevatorFloor2(2)).GetPosition.X, ElevatorDoor2L(ElevatorFloor2(2)).GetPosition.Y, 0
-      ElevatorDoor2R(ElevatorFloor2(2)).SetPosition ElevatorDoor2R(ElevatorFloor2(2)).GetPosition.X, ElevatorDoor2R(ElevatorFloor2(2)).GetPosition.Y, 0
-      End If
-      End If
-      
-      
-End Sub
+    'each panel can cover 60 floors
+'Elevator 1
+If Number = 1 Then
 
-Sub Elevator3Loop()
+    'Buttons(142).AddWall GetTex("ButtonStop"), -(ShaftLeft + 0.17), -27.85, -(ShaftLeft + 0.17), -27.55, 0.3, (Elevator(Number).GetPosition.Y + 12), -1, 1
+    'Buttons(1).AddWall GetTex("Button1"), -(ShaftLeft + 0.17), -27.85 - 0.4, -(ShaftLeft + 0.17), -27.55 - 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12), -1, 1
+    'Buttons(136).AddWall GetTex("Button136"), -(ShaftLeft + 0.17), -27.85 - 0.8, -(ShaftLeft + 0.17), -27.55 - 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12), -1, 1
+    'Buttons(137).AddWall GetTex("Button137"), -(ShaftLeft + 0.17), -27.85 - 1.2, -(ShaftLeft + 0.17), -27.55 - 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12), -1, 1
+    'Buttons(143).AddWall GetTex("ButtonAlarm"), -(ShaftLeft + 0.17), -27.85 - 1.6, -(ShaftLeft + 0.17), -27.55 - 1.6, 0.3, (Elevator(Number).GetPosition.Y + 12), -1, 1
+    
+    Buttons(134).AddWall GetTex("Button134"), -(ShaftLeft + 0.17), -27.85, -(ShaftLeft + 0.17), -27.55, 0.3, (Elevator(Number).GetPosition.Y + 12) - 0.5, -1, 1
+    Buttons(135).AddWall GetTex("Button135"), -(ShaftLeft + 0.17), -27.85 - 0.4, -(ShaftLeft + 0.17), -27.55 - 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 0.5, -1, 1
+    Buttons(136).AddWall GetTex("Button136"), -(ShaftLeft + 0.17), -27.85 - 0.8, -(ShaftLeft + 0.17), -27.55 - 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 0.5, -1, 1
+    Buttons(137).AddWall GetTex("Button137"), -(ShaftLeft + 0.17), -27.85 - 1.2, -(ShaftLeft + 0.17), -27.55 - 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 0.5, -1, 1
+    Buttons(138).AddWall GetTex("ButtonR"), -(ShaftLeft + 0.17), -27.85 - 1.6, -(ShaftLeft + 0.17), -27.55 - 1.6, 0.3, (Elevator(Number).GetPosition.Y + 12) - 0.5, -1, 1
+    
+    Buttons(129).AddWall GetTex("Button129"), -(ShaftLeft + 0.17), -27.85, -(ShaftLeft + 0.17), -27.55, 0.3, (Elevator(Number).GetPosition.Y + 12) - 1, -1, 1
+    Buttons(130).AddWall GetTex("Button130"), -(ShaftLeft + 0.17), -27.85 - 0.4, -(ShaftLeft + 0.17), -27.55 - 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 1, -1, 1
+    Buttons(131).AddWall GetTex("Button131"), -(ShaftLeft + 0.17), -27.85 - 0.8, -(ShaftLeft + 0.17), -27.55 - 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 1, -1, 1
+    Buttons(132).AddWall GetTex("Button132"), -(ShaftLeft + 0.17), -27.85 - 1.2, -(ShaftLeft + 0.17), -27.55 - 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 1, -1, 1
+    Buttons(133).AddWall GetTex("Button133"), -(ShaftLeft + 0.17), -27.85 - 1.6, -(ShaftLeft + 0.17), -27.55 - 1.6, 0.3, (Elevator(Number).GetPosition.Y + 12) - 1, -1, 1
+    
+    Buttons(124).AddWall GetTex("Button124"), -(ShaftLeft + 0.17), -27.85, -(ShaftLeft + 0.17), -27.55, 0.3, (Elevator(Number).GetPosition.Y + 12) - 1.5, -1, 1
+    Buttons(125).AddWall GetTex("Button125"), -(ShaftLeft + 0.17), -27.85 - 0.4, -(ShaftLeft + 0.17), -27.55 - 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 1.5, -1, 1
+    Buttons(126).AddWall GetTex("Button126"), -(ShaftLeft + 0.17), -27.85 - 0.8, -(ShaftLeft + 0.17), -27.55 - 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 1.5, -1, 1
+    Buttons(127).AddWall GetTex("Button127"), -(ShaftLeft + 0.17), -27.85 - 1.2, -(ShaftLeft + 0.17), -27.55 - 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 1.5, -1, 1
+    Buttons(128).AddWall GetTex("Button128"), -(ShaftLeft + 0.17), -27.85 - 1.6, -(ShaftLeft + 0.17), -27.55 - 1.6, 0.3, (Elevator(Number).GetPosition.Y + 12) - 1.5, -1, 1
+    
+    Buttons(119).AddWall GetTex("Button119"), -(ShaftLeft + 0.17), -27.85, -(ShaftLeft + 0.17), -27.55, 0.3, (Elevator(Number).GetPosition.Y + 12) - 2, -1, 1
+    Buttons(120).AddWall GetTex("Button120"), -(ShaftLeft + 0.17), -27.85 - 0.4, -(ShaftLeft + 0.17), -27.55 - 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 2, -1, 1
+    Buttons(121).AddWall GetTex("Button121"), -(ShaftLeft + 0.17), -27.85 - 0.8, -(ShaftLeft + 0.17), -27.55 - 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 2, -1, 1
+    Buttons(122).AddWall GetTex("Button122"), -(ShaftLeft + 0.17), -27.85 - 1.2, -(ShaftLeft + 0.17), -27.55 - 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 2, -1, 1
+    Buttons(123).AddWall GetTex("Button123"), -(ShaftLeft + 0.17), -27.85 - 1.6, -(ShaftLeft + 0.17), -27.55 - 1.6, 0.3, (Elevator(Number).GetPosition.Y + 12) - 2, -1, 1
+    
+    Buttons(114).AddWall GetTex("Button114"), -(ShaftLeft + 0.17), -27.85, -(ShaftLeft + 0.17), -27.55, 0.3, (Elevator(Number).GetPosition.Y + 12) - 2.5, -1, 1
+    Buttons(115).AddWall GetTex("Button115"), -(ShaftLeft + 0.17), -27.85 - 0.4, -(ShaftLeft + 0.17), -27.55 - 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 2.5, -1, 1
+    Buttons(116).AddWall GetTex("Button116"), -(ShaftLeft + 0.17), -27.85 - 0.8, -(ShaftLeft + 0.17), -27.55 - 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 2.5, -1, 1
+    Buttons(117).AddWall GetTex("Button117"), -(ShaftLeft + 0.17), -27.85 - 1.2, -(ShaftLeft + 0.17), -27.55 - 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 2.5, -1, 1
+    Buttons(118).AddWall GetTex("Button118"), -(ShaftLeft + 0.17), -27.85 - 1.6, -(ShaftLeft + 0.17), -27.55 - 1.6, 0.3, (Elevator(Number).GetPosition.Y + 12) - 2.5, -1, 1
+    
+    Buttons(109).AddWall GetTex("Button109"), -(ShaftLeft + 0.17), -27.85, -(ShaftLeft + 0.17), -27.55, 0.3, (Elevator(Number).GetPosition.Y + 12) - 3, -1, 1
+    Buttons(110).AddWall GetTex("Button110"), -(ShaftLeft + 0.17), -27.85 - 0.4, -(ShaftLeft + 0.17), -27.55 - 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 3, -1, 1
+    Buttons(111).AddWall GetTex("Button111"), -(ShaftLeft + 0.17), -27.85 - 0.8, -(ShaftLeft + 0.17), -27.55 - 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 3, -1, 1
+    Buttons(112).AddWall GetTex("Button112"), -(ShaftLeft + 0.17), -27.85 - 1.2, -(ShaftLeft + 0.17), -27.55 - 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 3, -1, 1
+    Buttons(113).AddWall GetTex("Button113"), -(ShaftLeft + 0.17), -27.85 - 1.6, -(ShaftLeft + 0.17), -27.55 - 1.6, 0.3, (Elevator(Number).GetPosition.Y + 12) - 3, -1, 1
+    
+    Buttons(104).AddWall GetTex("Button104"), -(ShaftLeft + 0.17), -27.85, -(ShaftLeft + 0.17), -27.55, 0.3, (Elevator(Number).GetPosition.Y + 12) - 3.5, -1, 1
+    Buttons(105).AddWall GetTex("Button105"), -(ShaftLeft + 0.17), -27.85 - 0.4, -(ShaftLeft + 0.17), -27.55 - 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 3.5, -1, 1
+    Buttons(106).AddWall GetTex("Button106"), -(ShaftLeft + 0.17), -27.85 - 0.8, -(ShaftLeft + 0.17), -27.55 - 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 3.5, -1, 1
+    Buttons(107).AddWall GetTex("Button107"), -(ShaftLeft + 0.17), -27.85 - 1.2, -(ShaftLeft + 0.17), -27.55 - 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 3.5, -1, 1
+    Buttons(108).AddWall GetTex("Button108"), -(ShaftLeft + 0.17), -27.85 - 1.6, -(ShaftLeft + 0.17), -27.55 - 1.6, 0.3, (Elevator(Number).GetPosition.Y + 12) - 3.5, -1, 1
+    
+    Buttons(79).AddWall GetTex("Button79"), -(ShaftLeft + 0.17), -27.85, -(ShaftLeft + 0.17), -27.55, 0.3, (Elevator(Number).GetPosition.Y + 12) - 4, -1, 1
+    Buttons(80).AddWall GetTex("Button80"), -(ShaftLeft + 0.17), -27.85 - 0.4, -(ShaftLeft + 0.17), -27.55 - 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 4, -1, 1
+    Buttons(101).AddWall GetTex("Button101"), -(ShaftLeft + 0.17), -27.85 - 0.8, -(ShaftLeft + 0.17), -27.55 - 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 4, -1, 1
+    Buttons(102).AddWall GetTex("Button102"), -(ShaftLeft + 0.17), -27.85 - 1.2, -(ShaftLeft + 0.17), -27.55 - 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 4, -1, 1
+    Buttons(103).AddWall GetTex("Button103"), -(ShaftLeft + 0.17), -27.85 - 1.6, -(ShaftLeft + 0.17), -27.55 - 1.6, 0.3, (Elevator(Number).GetPosition.Y + 12) - 4, -1, 1
+    
+    Buttons(-1).AddWall GetTex("ButtonL"), -(ShaftLeft + 0.17), -27.85, -(ShaftLeft + 0.17), -27.55, 0.3, (Elevator(Number).GetPosition.Y + 12) - 4.5, -1, 1
+    Buttons(0).AddWall GetTex("ButtonM"), -(ShaftLeft + 0.17), -27.85 - 0.4, -(ShaftLeft + 0.17), -27.55 - 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 4.5, -1, 1
+    Buttons(2).AddWall GetTex("Button2"), -(ShaftLeft + 0.17), -27.85 - 0.8, -(ShaftLeft + 0.17), -27.55 - 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 4.5, -1, 1
+    Buttons(39).AddWall GetTex("Button39"), -(ShaftLeft + 0.17), -27.85 - 1.2, -(ShaftLeft + 0.17), -27.55 - 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 4.5, -1, 1
+    Buttons(40).AddWall GetTex("Button40"), -(ShaftLeft + 0.17), -27.85 - 1.6, -(ShaftLeft + 0.17), -27.55 - 1.6, 0.3, (Elevator(Number).GetPosition.Y + 12) - 4.5, -1, 1
+    
+    'Buttons(-1).AddWall GetTex("ButtonOpen"), -(ShaftLeft + 0.17), -27.85, -(ShaftLeft + 0.17), -27.55, 0.3, (Elevator(Number).GetPosition.Y + 12) - 5, -1, 1
+    'Buttons(0).AddWall GetTex("ButtonClose"), -(ShaftLeft + 0.17), -27.85 - 0.4, -(ShaftLeft + 0.17), -27.55 - 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 5, -1, 1
+    'Buttons(2).AddWall GetTex("ButtonCancel"), -(ShaftLeft + 0.17), -27.85 - 0.8, -(ShaftLeft + 0.17), -27.55 - 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 5, -1, 1
+    'Buttons(39).AddWall GetTex("ButtonStop"), -(ShaftLeft + 0.17), -27.85 - 1.2, -(ShaftLeft + 0.17), -27.55 - 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 5, -1, 1
+    'Buttons(40).AddWall GetTex("ButtonAlarm"), -(ShaftLeft + 0.17), -27.85 - 1.6, -(ShaftLeft + 0.17), -27.55 - 1.6, 0.3, (Elevator(Number).GetPosition.Y + 12) - 5, -1, 1
+    
+    Buttons(139).AddWall GetTex("ButtonOpen"), -(ShaftLeft + 0.17), -27.85, -(ShaftLeft + 0.17), -27.55, 0.3, (Elevator(Number).GetPosition.Y + 12) - 5.5, -1, 1
+    Buttons(140).AddWall GetTex("ButtonClose"), -(ShaftLeft + 0.17), -27.85 - 0.4, -(ShaftLeft + 0.17), -27.55 - 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 5.5, -1, 1
+    Buttons(141).AddWall GetTex("ButtonCancel"), -(ShaftLeft + 0.17), -27.85 - 0.8, -(ShaftLeft + 0.17), -27.55 - 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 5.5, -1, 1
+    Buttons(142).AddWall GetTex("ButtonStop"), -(ShaftLeft + 0.17), -27.85 - 1.2, -(ShaftLeft + 0.17), -27.55 - 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 5.5, -1, 1
+    Buttons(143).AddWall GetTex("ButtonAlarm"), -(ShaftLeft + 0.17), -27.85 - 1.6, -(ShaftLeft + 0.17), -27.55 - 1.6, 0.3, (Elevator(Number).GetPosition.Y + 12) - 5.5, -1, 1
 
-elevatorstart(3) = Elevator(3).GetPosition
+End If
 
-'Find the floor that the elevator's on
-ElevatorFloor(3) = (Elevator(3).GetPosition.Y - 25) / 25
-      
-      'If elevator goes below floor 2, then set elevatorfloor as 1
-      If ElevatorFloor(3) < 1 Then ElevatorFloor(3) = 1
-      
-      If GotoFloor(3) = ElevatorFloor(3) - 1 Then CurrentFloor(3) = ElevatorFloor(3)
-
-      'If GotoFloor(3) <> 0 And GotoFloor(3) > CurrentFloor(3) And ElevatorDirection(3) = 0 And ElevatorInsDoorL(ElevatorFloor2(3)).GetPosition.z <= 0 Then
-      If GotoFloor(3) <> 0 And GotoFloor(3) > CurrentFloor(3) And ElevatorDirection(3) = 0 And ElevatorDoor3L(ElevatorFloor2(3)).GetPosition.z <= 0 Then
-      ElevatorDirection(3) = 1
-      OriginalLocation(3) = CurrentFloorExact(3)
-      DistanceToTravel(3) = ((GotoFloor(3) * 25) + 25) - ((CurrentFloorExact(3) * 25) + 25)
-      If ElevatorSync(3) = True Then
-      Room(CameraFloor).Enable False
-      For i3 = 1 To 10
-      CallButtons(i3).Enable False
-      Next i3
-      ElevatorDoor1L(CameraFloor).Enable False
-      ElevatorDoor1R(CameraFloor).Enable False
-      ElevatorDoor2L(CameraFloor).Enable False
-      ElevatorDoor2R(CameraFloor).Enable False
-      ElevatorDoor3L(CameraFloor).Enable False
-      ElevatorDoor3R(CameraFloor).Enable False
-      ElevatorDoor4L(CameraFloor).Enable False
-      ElevatorDoor4R(CameraFloor).Enable False
-      ElevatorDoor5L(CameraFloor).Enable False
-      ElevatorDoor5R(CameraFloor).Enable False
-      ElevatorDoor6L(CameraFloor).Enable False
-      ElevatorDoor6R(CameraFloor).Enable False
-      ElevatorDoor7L(CameraFloor).Enable False
-      ElevatorDoor7R(CameraFloor).Enable False
-      ElevatorDoor8L(CameraFloor).Enable False
-      ElevatorDoor8R(CameraFloor).Enable False
-      ElevatorDoor9L(CameraFloor).Enable False
-      ElevatorDoor9R(CameraFloor).Enable False
-      ElevatorDoor10L(CameraFloor).Enable False
-      ElevatorDoor10R(CameraFloor).Enable False
-      DestroyObjects (CameraFloor)
-      ShaftsFloor(CameraFloor).Enable False
-      Atmos.SkyBox_Enable False
-      Stairs(CameraFloor).Enable False
-      If CameraFloor < 138 Then Stairs(CameraFloor + 1).Enable False
-      If CameraFloor > 1 Then Stairs(CameraFloor - 1).Enable False
-      End If
-      End If
-      'If GotoFloor(3) <> 0 And GotoFloor(3) < CurrentFloor(3) And ElevatorDirection(3) = 0 And ElevatorInsDoorL(ElevatorFloor2(3)).GetPosition.z <= 0 Then
-      If GotoFloor(3) <> 0 And GotoFloor(3) < CurrentFloor(3) And ElevatorDirection(3) = 0 And ElevatorDoor3L(ElevatorFloor2(3)).GetPosition.z <= 0 Then
-      ElevatorDirection(3) = -1
-      OriginalLocation(3) = CurrentFloorExact(3)
-      DistanceToTravel(3) = ((CurrentFloorExact(3) * 25) + 25) - ((GotoFloor(3) * 25) + 25)
-      If ElevatorSync(3) = True Then
-      Room(CameraFloor).Enable False
-      For i3 = 1 To 10
-      CallButtons(i3).Enable False
-      Next i3
-      ElevatorDoor1L(CameraFloor).Enable False
-      ElevatorDoor1R(CameraFloor).Enable False
-      ElevatorDoor2L(CameraFloor).Enable False
-      ElevatorDoor2R(CameraFloor).Enable False
-      ElevatorDoor3L(CameraFloor).Enable False
-      ElevatorDoor3R(CameraFloor).Enable False
-      ElevatorDoor4L(CameraFloor).Enable False
-      ElevatorDoor4R(CameraFloor).Enable False
-      ElevatorDoor5L(CameraFloor).Enable False
-      ElevatorDoor5R(CameraFloor).Enable False
-      ElevatorDoor6L(CameraFloor).Enable False
-      ElevatorDoor6R(CameraFloor).Enable False
-      ElevatorDoor7L(CameraFloor).Enable False
-      ElevatorDoor7R(CameraFloor).Enable False
-      ElevatorDoor8L(CameraFloor).Enable False
-      ElevatorDoor8R(CameraFloor).Enable False
-      ElevatorDoor9L(CameraFloor).Enable False
-      ElevatorDoor9R(CameraFloor).Enable False
-      ElevatorDoor10L(CameraFloor).Enable False
-      ElevatorDoor10R(CameraFloor).Enable False
-      DestroyObjects (CameraFloor)
-      ShaftsFloor(CameraFloor).Enable False
-      Atmos.SkyBox_Enable False
-      Stairs(CameraFloor).Enable False
-      If CameraFloor < 138 Then Stairs(CameraFloor + 1).Enable False
-      If CameraFloor > 1 Then Stairs(CameraFloor - 1).Enable False
-      End If
-      End If
-      
-       CurrentFloor(3) = Int((elevatorstart(3).Y - 25) / 25)
-       CurrentFloorExact(3) = (elevatorstart(3).Y - 25) / 25
-       'CurrentFloor(3) = (Elevator(3).GetPosition.y / 25) - 1
-       'CurrentFloorExact(3) = Int((Elevator(3).GetPosition.y / 25) - 1)
+'Elevator 2
+If Number = 2 Then
 
-       'Form2.Text1.Text = "Sound Location=7.75,20,7 " + vbCrLf + "Elevator Floor=" + Str$(ElevatorFloor(3)) + vbCrLf + "Camera Floor=" + Str$(CameraFloor) + vbCrLf + "Current Location= " + Str$(Int(Camera.GetPosition.x)) + "," + Str$(Int(Camera.GetPosition.y)) + "," + Str$(Int(Camera.GetPosition.z)) + vbCrLf + "Distance to Travel=" + Str$(DistanceToTravel(3)) + vbCrLf + "Destination=" + Str$(Destination) + vbCrLf + "Rate=" + Str$(ElevatorEnable(3) / 5)
-        
-        If ElevatorEnable(3) >= 0 And ElevatorDirection(3) = 1 Then
-        'sound
-        If ElevatorSounds(3).PlayState <> TV_PLAYSTATE_PLAYING And ElevatorCheck(3) = 0 And GotoFloor(3) <> ElevatorFloor(3) Then
-        ElevatorSounds(3).Loop_ = False
-        ElevatorSounds(3).Load App.Path + "\elevstart.wav"
-        ElevatorSounds(3).Volume = 0
-        'ElevatorSounds(3).maxDistance = 100
-        'Call ElevatorSounds(3).SetConeOrientation(0, 0, 90)
-        'ElevatorSounds(3).ConeOutsideVolume = 0
-        'Call ElevatorSounds(3).SetPosition(-20.25, Elevator1(3).GetPosition.Y + 20, -23)
-        ElevatorSounds(3).Play
-        ElevatorCheck(3) = 1
-        End If
-        If ElevatorSounds(3).PlayState = TV_PLAYSTATE_ENDED And ElevatorCheck(3) = 1 Then
-        ElevatorSounds(3).Load App.Path + "\elevmove.wav"
-        ElevatorSounds(3).Loop_ = True
-        ElevatorSounds(3).Play
-        End If
-        'movement
-        Elevator(3).MoveRelative 0, (ElevatorEnable(3) / 5), 0
-        ElevatorInsDoorL(3).MoveRelative 0, (ElevatorEnable(3) / 5), 0
-        ElevatorInsDoorR(3).MoveRelative 0, (ElevatorEnable(3) / 5), 0
-        FloorIndicator(3).MoveRelative 0, (ElevatorEnable(3) / 5), 0
-        Plaque(3).MoveRelative 0, (ElevatorEnable(3) / 5), 0
-        For i3 = -1 To 138
-        Buttons3(i3).MoveRelative 0, (ElevatorEnable(3) / 5), 0
-        Next i3
-        If ElevatorSync(3) = True Then Camera.MoveRelative 0, (ElevatorEnable(3) / 5), 0
-        'ElevatorSounds(3).SetPosition -20.25, Elevator(3).GetPosition.Y + 20, -23
-        ''ElevatorMusic(3).SetPosition -20.25, Elevator(3).GetPosition.Y + 20, -23
-        ElevatorEnable(3) = ElevatorEnable(3) + 0.25
-        If ElevatorEnable(3) <= 15 Then StoppingDistance(3) = CurrentFloorExact(3) - OriginalLocation(3) + 0.4
-        If ElevatorEnable(3) > 15 Then ElevatorEnable(3) = 15
-        Destination(3) = ((OriginalLocation(3) * 25) + 25) + DistanceToTravel(3) - 35
-        If GotoFloor(3) <> 0 And elevatorstart(3).Y >= (Destination(3) - (StoppingDistance(3) * 25) + 25) Then ElevatorDirection(3) = -1: ElevatorCheck(3) = 0
-        End If
-      
-        If ElevatorEnable(3) > 0 And ElevatorDirection(3) = -1 Then
-        'Sounds
-        If ElevatorSounds(3).PlayState = TV_PLAYSTATE_PLAYING And ElevatorCheck2(3) = 0 And FineTune(3) = False Then
-        ElevatorSounds(3).Loop_ = False
-        ElevatorSounds(3).Stop_
-        End If
-        If ElevatorSounds(3).PlayState <> TV_PLAYSTATE_PLAYING And ElevatorCheck2(3) = 0 And FineTune(3) = False Then
-        ElevatorSounds(3).Loop_ = False
-        ElevatorSounds(3).Load App.Path + "\elevstop.wav"
-        ElevatorSounds(3).Play
-        ElevatorCheck2(3) = 1
-        End If
-        'Movement
-        Elevator(3).MoveRelative 0, (ElevatorEnable(3) / 5), 0
-        ElevatorInsDoorL(3).MoveRelative 0, (ElevatorEnable(3) / 5), 0
-        ElevatorInsDoorR(3).MoveRelative 0, (ElevatorEnable(3) / 5), 0
-        FloorIndicator(3).MoveRelative 0, (ElevatorEnable(3) / 5), 0
-        Plaque(3).MoveRelative 0, (ElevatorEnable(3) / 5), 0
-        For i3 = -1 To 138
-        Buttons3(i3).MoveRelative 0, (ElevatorEnable(3) / 5), 0
-        Next i3
-        If ElevatorSync(3) = True Then Camera.MoveRelative 0, (ElevatorEnable(3) / 5), 0
-        
-        'ElevatorSounds(3).SetPosition -20.25, Elevator(3).GetPosition.Y + 20, -23
-        ''ElevatorMusic(3).SetPosition -20.25, Elevator(3).GetPosition.Y + 20, -23
-        ElevatorEnable(3) = ElevatorEnable(3) - 0.25
-        If ElevatorEnable(3) < 0 Then ElevatorEnable(3) = 0
-        If ElevatorEnable(3) = 0 Then ElevatorDirection(3) = 0
-        If GotoFloor(3) <> 0 Then ElevatorCheck(3) = 0: FineTune(3) = True
-        End If
-      
-        If ElevatorEnable(3) <= 0 And ElevatorDirection(3) = -1 Then
-        If ElevatorSounds(3).PlayState <> TV_PLAYSTATE_PLAYING And ElevatorCheck(3) = 0 Then
-        ElevatorSounds(3).Loop_ = False
-        ElevatorSounds(3).Load App.Path + "\elevstart.wav"
-        ElevatorSounds(3).Volume = 0
-        'ElevatorSounds(3).maxDistance = 100
-        'Call ElevatorSounds(3).SetConeOrientation(0, 0, 90)
-        'ElevatorSounds(3).ConeOutsideVolume = 0
-        'Call ElevatorSounds(3).SetPosition(-20.25, Elevator(3).GetPosition.Y + 20, -23)
-        ElevatorSounds(3).Play
-        ElevatorCheck(3) = 1
-        End If
-        If ElevatorSounds(3).PlayState = TV_PLAYSTATE_ENDED And ElevatorCheck(3) = 1 Then
-        ElevatorSounds(3).Load App.Path + "\elevmove.wav"
-        ElevatorSounds(3).Loop_ = True
-        ElevatorSounds(3).Play
-        End If
-        Elevator(3).MoveRelative 0, (ElevatorEnable(3) / 5), 0
-        ElevatorInsDoorL(3).MoveRelative 0, (ElevatorEnable(3) / 5), 0
-        ElevatorInsDoorR(3).MoveRelative 0, (ElevatorEnable(3) / 5), 0
-        FloorIndicator(3).MoveRelative 0, (ElevatorEnable(3) / 5), 0
-        Plaque(3).MoveRelative 0, (ElevatorEnable(3) / 5), 0
-        For i3 = -1 To 138
-        Buttons3(i3).MoveRelative 0, (ElevatorEnable(3) / 5), 0
-        Next i3
-        If ElevatorSync(3) = True Then Camera.MoveRelative 0, (ElevatorEnable(3) / 5), 0
-        'ElevatorSounds(3).SetPosition -20.25, Elevator(3).GetPosition.Y + 20, -23
-        ''ElevatorMusic(3).SetPosition -20.25, Elevator(3).GetPosition.Y + 20, -23
-        ElevatorEnable(3) = ElevatorEnable(3) - 0.25
-        If ElevatorEnable(3) >= -15 Then StoppingDistance(3) = OriginalLocation(3) - CurrentFloorExact(3)
-        If ElevatorEnable(3) < -15 Then ElevatorEnable(3) = -15
-        Destination(3) = ((OriginalLocation(3) * 25) + 25) - DistanceToTravel(3)
-        If GotoFloor(3) <> 0 And elevatorstart(3).Y <= (Destination(3) + (StoppingDistance(3) * 25) + 25) Then ElevatorDirection(3) = 1: ElevatorCheck(3) = 0
-        End If
-      
-        If ElevatorEnable(3) < 0 And ElevatorDirection(3) = 1 Then
-        If ElevatorSounds(3).PlayState = TV_PLAYSTATE_PLAYING And ElevatorCheck2(3) = 0 And FineTune(3) = False Then
-        ElevatorSounds(3).Loop_ = False
-        ElevatorSounds(3).Stop_
-        End If
-        If ElevatorSounds(3).PlayState <> TV_PLAYSTATE_PLAYING And ElevatorCheck2(3) = 0 And FineTune(3) = False Then
-        ElevatorSounds(3).Loop_ = False
-        ElevatorSounds(3).Load App.Path + "\elevstop.wav"
-        ElevatorSounds(3).Play
-        ElevatorCheck2(3) = 1
-        End If
-        Elevator(3).MoveRelative 0, (ElevatorEnable(3) / 5), 0
-        ElevatorInsDoorL(3).MoveRelative 0, (ElevatorEnable(3) / 5), 0
-        ElevatorInsDoorR(3).MoveRelative 0, (ElevatorEnable(3) / 5), 0
-        FloorIndicator(3).MoveRelative 0, (ElevatorEnable(3) / 5), 0
-        Plaque(3).MoveRelative 0, (ElevatorEnable(3) / 5), 0
-        For i3 = -1 To 138
-        Buttons3(i3).MoveRelative 0, (ElevatorEnable(3) / 5), 0
-        Next i3
-        If ElevatorSync(3) = True Then Camera.MoveRelative 0, (ElevatorEnable(3) / 5), 0
-        'ElevatorSounds(3).SetPosition -20.25, Elevator(3).GetPosition.Y + 20, -23
-        ''ElevatorMusic(3).SetPosition -20.25, Elevator(3).GetPosition.Y + 20, -23
-        ElevatorEnable(3) = ElevatorEnable(3) + 0.25
-        If ElevatorEnable(3) > 0 Then ElevatorEnable(3) = 0
-        If ElevatorEnable(3) = 0 Then ElevatorDirection(3) = 0
-        If GotoFloor(3) <> 0 Then ElevatorCheck(3) = 0: FineTune(3) = True
-        End If
-      
-      If FineTune(3) = True And ElevatorEnable(3) = 0 And elevatorstart(3).Y > (GotoFloor(3) * 25) + 25 + -0.3 And elevatorstart(3).Y < (GotoFloor(3) * 25) + 25 + 0.3 Then
-      FineTune(3) = False
-      Room(CameraFloor).Enable True
-      If ElevatorSync(3) = True Then
-      ElevatorDoor1L(CameraFloor).Enable True
-      ElevatorDoor1R(CameraFloor).Enable True
-      ElevatorDoor2L(CameraFloor).Enable True
-      ElevatorDoor2R(CameraFloor).Enable True
-      ElevatorDoor3L(CameraFloor).Enable True
-      ElevatorDoor3R(CameraFloor).Enable True
-      ElevatorDoor4L(CameraFloor).Enable True
-      ElevatorDoor4R(CameraFloor).Enable True
-      ElevatorDoor5L(CameraFloor).Enable True
-      ElevatorDoor5R(CameraFloor).Enable True
-      ElevatorDoor6L(CameraFloor).Enable True
-      ElevatorDoor6R(CameraFloor).Enable True
-      ElevatorDoor7L(CameraFloor).Enable True
-      ElevatorDoor7R(CameraFloor).Enable True
-      ElevatorDoor8L(CameraFloor).Enable True
-      ElevatorDoor8R(CameraFloor).Enable True
-      ElevatorDoor9L(CameraFloor).Enable True
-      ElevatorDoor9R(CameraFloor).Enable True
-      ElevatorDoor10L(CameraFloor).Enable True
-      ElevatorDoor10R(CameraFloor).Enable True
-      For i3 = 1 To 10
-      CallButtons(i3).Enable True
-      Next i3
-      ShaftsFloor(CameraFloor).Enable True
-      Stairs(CameraFloor).Enable True
-      Atmos.SkyBox_Enable True
-      'If CameraFloor = 137 Then Shafts.Enable True
-      InitObjectsForFloor (CameraFloor)
-      If CameraFloor < 138 Then Stairs(CameraFloor + 1).Enable True
-      If CameraFloor > 1 Then Stairs(CameraFloor - 1).Enable True
-      End If
-      GotoFloor(3) = 0
-      OpenElevator(3) = 1
-      ElevatorCheck(3) = 0
-      ElevatorCheck2(3) = 0
-      ElevatorCheck3(3) = 0
-      ElevatorCheck4(3) = 0
-      If CameraFloor > 1 Then Camera.SetPosition Camera.GetPosition.X, (CameraFloor * 25) + 25 + 10, Camera.GetPosition.z
-      If CameraFloor = 1 And FloorIndicatorText(3) <> "M" Then Camera.SetPosition Camera.GetPosition.X, 10, Camera.GetPosition.z
-      End If
-      
-      If FineTune(3) = True Then
-      If ElevatorCheck3(3) = 0 Then
-      ElevatorSounds(3).Load App.Path + "\ding1.wav"
-      ElevatorSounds(3).Play
-      ElevatorCheck3(3) = 1
-        For i3 = -1 To 138
-        Buttons3(i3).SetColor RGBA(1, 1, 1, 1)
-        Next i3
-      End If
-      If elevatorstart(3).Y < (GotoFloor(3) * 25) + 25 Then
-      Elevator(3).MoveRelative 0, 0.2, 0
-      ElevatorInsDoorL(3).MoveRelative 0, 0.2, 0
-      ElevatorInsDoorR(3).MoveRelative 0, 0.2, 0
-      Plaque(3).MoveRelative 0, 0.2, 0
-        For i3 = -1 To 138
-        Buttons3(i3).MoveRelative 0, 0.2, 0
-        Next i3
-        FloorIndicator(3).MoveRelative 0, 0.2, 0
-        If ElevatorSync(3) = True Then Camera.MoveRelative 0, 0.2, 0
-      End If
-      If elevatorstart(3).Y > (GotoFloor(3) * 25) + 25 Then
-      Elevator(3).MoveRelative 0, -0.2, 0
-      ElevatorInsDoorL(3).MoveRelative 0, -0.2, 0
-      ElevatorInsDoorR(3).MoveRelative 0, -0.2, 0
-      Plaque(3).MoveRelative 0, -0.2, 0
-        For i3 = -1 To 138
-        Buttons3(i3).MoveRelative 0, -0.2, 0
-        Next i3
-        FloorIndicator(3).MoveRelative 0, -0.2, 0
-        If ElevatorSync(3) = True Then Camera.MoveRelative 0, -0.2, 0
-      End If
-      End If
-      
-      If OpenElevator(3) = 1 Then
-      'If ElevatorInsDoorL(ElevatorFloor2(3)).GetPosition.z >= 4 Then OpenElevator(3) = 0: GoTo OpenElevator1
-      If ElevatorDoor3L(ElevatorFloor2(3)).GetPosition.z >= 4 Then OpenElevator(3) = 0: GoTo OpenElevator1
-      If ElevatorCheck4(3) = 0 Then
-        If ElevatorSounds(3).PlayState = TV_PLAYSTATE_PLAYING Then
-        ElevatorSounds(3).Stop_
-        End If
-        ElevatorSounds(3).Loop_ = False
-        ElevatorSounds(3).Load App.Path + "\elevatoropen.wav"
-        ElevatorSounds(3).Volume = 0
-        'ElevatorSounds(3).maxDistance = 1000
-        'Call ElevatorSounds(3).SetConeOrientation(0, -5, 0)
-        'ElevatorSounds(3).ConeOutsideVolume = 0
-        'Call ElevatorSounds(3).SetPosition(-20.25, Elevator(3).GetPosition.Y, -23)
-        ElevatorSounds(3).Play
-        ElevatorCheck4(3) = 1
-      End If
-      OpenElevatorLoc(3) = OpenElevatorLoc(3) + 0.02
-      ElevatorDoor3L(ElevatorFloor2(3)).MoveRelative OpenElevatorLoc(3), 0, 0
-      ElevatorDoor3R(ElevatorFloor2(3)).MoveRelative -OpenElevatorLoc(3), 0, 0
-      ElevatorInsDoorL(3).MoveRelative OpenElevatorLoc(3), 0, 0
-      ElevatorInsDoorR(3).MoveRelative -OpenElevatorLoc(3), 0, 0
-      'If ElevatorInsDoorL(ElevatorFloor2(3)).GetPosition.z > 1 Then OpenElevator(3) = 2
-      If ElevatorDoor3L(ElevatorFloor2(3)).GetPosition.z > 1 Then OpenElevator(3) = 2
-OpenElevator1:
-      End If
-      
-      If OpenElevator(3) = 2 Then
-      ElevatorDoor3L(ElevatorFloor2(3)).MoveRelative OpenElevatorLoc(3), 0, 0
-      ElevatorDoor3R(ElevatorFloor2(3)).MoveRelative -OpenElevatorLoc(3), 0, 0
-      ElevatorInsDoorL(3).MoveRelative OpenElevatorLoc(3), 0, 0
-      ElevatorInsDoorR(3).MoveRelative -OpenElevatorLoc(3), 0, 0
-      'If ElevatorInsDoorL(ElevatorFloor2(3)).GetPosition.z > 3 Then OpenElevator(3) = 3
-      If ElevatorDoor3L(ElevatorFloor2(3)).GetPosition.z > 3 Then OpenElevator(3) = 3
-      End If
-      
-      If OpenElevator(3) = 3 Then
-      ElevatorCheck4(3) = 0
-      OpenElevatorLoc(3) = OpenElevatorLoc(3) - 0.02
-      'If ElevatorInsDoorL(ElevatorFloor2(3)).GetPosition.z < 7 And OpenElevatorLoc(3) = 0 Then OpenElevatorLoc(3) = 0.02
-      If ElevatorDoor3L(ElevatorFloor2(3)).GetPosition.z < 7 And OpenElevatorLoc(3) = 0 Then OpenElevatorLoc(3) = 0.02
-      ElevatorDoor3L(ElevatorFloor2(3)).MoveRelative OpenElevatorLoc(3), 0, 0
-      ElevatorDoor3R(ElevatorFloor2(3)).MoveRelative -OpenElevatorLoc(3), 0, 0
-      ElevatorInsDoorL(3).MoveRelative OpenElevatorLoc(3), 0, 0
-      ElevatorInsDoorR(3).MoveRelative -OpenElevatorLoc(3), 0, 0
-      If OpenElevatorLoc(3) <= 0 Then
-      OpenElevator(3) = 0
-      OpenElevatorLoc(3) = 0
-      Form1.Timer3.Enabled = True
-      End If
-      End If
-      
-      If OpenElevator(3) = -1 Then
-      'If ElevatorInsDoorL(ElevatorFloor2(3)).GetPosition.z <= 0 Then OpenElevator(3) = 0: GoTo OpenElevator2
-      If ElevatorDoor3L(ElevatorFloor2(3)).GetPosition.z <= 0 Then OpenElevator(3) = 0: GoTo OpenElevator2
-      If ElevatorCheck4(3) = 0 Then
-        If ElevatorSounds(3).PlayState = TV_PLAYSTATE_PLAYING Then
-        ElevatorSounds(3).Stop_
-        End If
-        ElevatorSounds(3).Loop_ = False
-        ElevatorSounds(3).Load App.Path + "\elevatorclose.wav"
-        ElevatorSounds(3).Volume = 0
-        'ElevatorSounds(3).maxDistance = 1000
-        'Call ElevatorSounds(3).SetConeOrientation(0, 0, 90)
-        'ElevatorSounds(3).ConeOutsideVolume = 0
-        'Call ElevatorSounds(3).SetPosition(-20.25, Elevator(3).GetPosition.Y, -23)
-        ElevatorSounds(3).Play
-        ElevatorCheck4(3) = 1
-      End If
-      OpenElevatorLoc(3) = OpenElevatorLoc(3) - 0.02
-      ElevatorDoor3L(ElevatorFloor2(3)).MoveRelative OpenElevatorLoc(3), 0, 0
-      ElevatorDoor3R(ElevatorFloor2(3)).MoveRelative -OpenElevatorLoc(3), 0, 0
-      ElevatorInsDoorL(3).MoveRelative OpenElevatorLoc(3), 0, 0
-      ElevatorInsDoorR(3).MoveRelative -OpenElevatorLoc(3), 0, 0
-      'If ElevatorInsDoorL(ElevatorFloor2(3)).GetPosition.z < 3 Then OpenElevator(3) = -2
-      If ElevatorDoor3L(ElevatorFloor2(3)).GetPosition.z < 3 Then OpenElevator(3) = -2
-OpenElevator2:
-      End If
-      
-      If OpenElevator(3) = -2 Then
-      ElevatorDoor3L(ElevatorFloor2(3)).MoveRelative OpenElevatorLoc(3), 0, 0
-      ElevatorDoor3R(ElevatorFloor2(3)).MoveRelative -OpenElevatorLoc(3), 0, 0
-      ElevatorInsDoorL(3).MoveRelative OpenElevatorLoc(3), 0, 0
-      ElevatorInsDoorR(3).MoveRelative -OpenElevatorLoc(3), 0, 0
-      'If ElevatorInsDoorL(ElevatorFloor2(3)).GetPosition.z < 1 Then OpenElevator(3) = -3
-      If ElevatorDoor3L(ElevatorFloor2(3)).GetPosition.z < 1 Then OpenElevator(3) = -3
-      End If
-      
-      If OpenElevator(3) = -3 Then
-      ElevatorCheck4(3) = 0
-      OpenElevatorLoc(3) = OpenElevatorLoc(3) + 0.02
-      'If ElevatorInsDoorL(ElevatorFloor2(3)).GetPosition.z > 0 And OpenElevatorLoc(3) >= 0 Then OpenElevatorLoc(3) = -0.02
-      If ElevatorDoor3L(ElevatorFloor2(3)).GetPosition.z > 0 And OpenElevatorLoc(3) >= 0 Then OpenElevatorLoc(3) = -0.02
-      ElevatorDoor3L(ElevatorFloor2(3)).MoveRelative OpenElevatorLoc(3), 0, 0
-      ElevatorDoor3R(ElevatorFloor2(3)).MoveRelative -OpenElevatorLoc(3), 0, 0
-      ElevatorInsDoorL(3).MoveRelative OpenElevatorLoc(3), 0, 0
-      ElevatorInsDoorR(3).MoveRelative -OpenElevatorLoc(3), 0, 0
-      If OpenElevatorLoc(3) >= 0 Then
-      OpenElevator(3) = 0
-      OpenElevatorLoc(3) = 0
-      ElevatorInsDoorL(3).SetPosition ElevatorInsDoorL(3).GetPosition.X, ElevatorInsDoorL(3).GetPosition.Y, 0
-      ElevatorInsDoorR(3).SetPosition ElevatorInsDoorR(3).GetPosition.X, ElevatorInsDoorR(3).GetPosition.Y, 0
-      ElevatorDoor3L(ElevatorFloor2(3)).SetPosition ElevatorDoor3L(ElevatorFloor2(3)).GetPosition.X, ElevatorDoor3L(ElevatorFloor2(3)).GetPosition.Y, 0
-      ElevatorDoor3R(ElevatorFloor2(3)).SetPosition ElevatorDoor3R(ElevatorFloor2(3)).GetPosition.X, ElevatorDoor3R(ElevatorFloor2(3)).GetPosition.Y, 0
-      End If
-      End If
-      
-      
-End Sub
+    'Buttons(135).AddWall GetTex("Button135"), (ShaftLeft+0.17), -18.45 , (ShaftLeft+0.17), -18.15 , 0.3, (Elevator(Number).GetPosition.y + 12), 1, 1
+    'Buttons(1).AddWall GetTex("Button1"), (ShaftLeft+0.17), -18.45  + 0.4, (ShaftLeft+0.17), -18.15  + 0.4, 0.3, (Elevator(Number).GetPosition.y + 12), 1, 1
+    'Buttons(136).AddWall GetTex("Button136"), (ShaftLeft+0.17), -18.45  + 0.8, (ShaftLeft+0.17), -18.15  + 0.8, 0.3, (Elevator(Number).GetPosition.y + 12), 1, 1
+    'Buttons(137).AddWall GetTex("Button137"), (ShaftLeft+0.17), -18.45  + 1.2, (ShaftLeft+0.17), -18.15  + 1.2, 0.3, (Elevator(Number).GetPosition.y + 12), 1, 1
+    'Buttons(138).AddWall GetTex("ButtonR"), (ShaftLeft+0.17), -18.45  + 1.6, (ShaftLeft+0.17), -18.15  + 1.6, 0.3, (Elevator(Number).GetPosition.y + 12), 1, 1
+    
+    'Buttons(142).AddWall GetTex("ButtonStop"), (ShaftLeft + 0.17), -18.45, (ShaftLeft + 0.17), -18.15, 0.3, (Elevator(Number).GetPosition.Y + 12) - 0.5, 1, 1
+    'Buttons(131).AddWall GetTex("Button131"), (ShaftLeft+0.17), -18.45  + 0.4, (ShaftLeft+0.17), -18.15  + 0.4, 0.3, (Elevator(Number).GetPosition.y + 12) - 0.5, 1, 1
+    'Buttons(135).AddWall GetTex("Button135"), (ShaftLeft+0.17), -18.45  + 0.8, (ShaftLeft+0.17), -18.15  + 0.8, 0.3, (Elevator(Number).GetPosition.y + 12) - 0.5, 1, 1
+    'Buttons(133).AddWall GetTex("Button133"), (ShaftLeft+0.17), -18.45  + 1.2, (ShaftLeft+0.17), -18.15  + 1.2, 0.3, (Elevator(Number).GetPosition.y + 12) - 0.5, 1, 1
+    'Buttons(143).AddWall GetTex("ButtonAlarm"), (ShaftLeft + 0.17), -18.45 + 1.6, (ShaftLeft + 0.17), -18.15 + 1.6, 0.3, (Elevator(Number).GetPosition.Y + 12) - 0.5, 1, 1
+    
+    'Buttons(115).AddWall GetTex("Button115"), (ShaftLeft+0.17), -18.45 , (ShaftLeft+0.17), -18.15 , 0.3, (Elevator(Number).GetPosition.y + 12) - 1, 1, 1
+    'Buttons(116).AddWall GetTex("Button116"), (ShaftLeft+0.17), -18.45  + 0.4, (ShaftLeft+0.17), -18.15  + 0.4, 0.3, (Elevator(Number).GetPosition.y + 12) - 1, 1, 1
+    Buttons(136).AddWall GetTex("Button136"), (ShaftLeft + 0.17), -18.45 + 0.8, (ShaftLeft + 0.17), -18.15 + 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 1, 1, 1
+    'Buttons(118).AddWall GetTex("Button118"), (ShaftLeft+0.17), -18.45  + 1.2, (ShaftLeft+0.17), -18.15  + 1.2, 0.3, (Elevator(Number).GetPosition.y + 12) - 1, 1, 1
+    'Buttons(129).AddWall GetTex("Button129"), (ShaftLeft+0.17), -18.45  + 1.6, (ShaftLeft+0.17), -18.15  + 1.6, 0.3, (Elevator(Number).GetPosition.y + 12) - 1, 1, 1
+    
+    'Buttons(110).AddWall GetTex("Button110"), (ShaftLeft+0.17), -18.45 , (ShaftLeft+0.17), -18.15 , 0.3, (Elevator(Number).GetPosition.y + 12) - 1.5, 1, 1
+    'Buttons(111).AddWall GetTex("Button111"), (ShaftLeft+0.17), -18.45  + 0.4, (ShaftLeft+0.17), -18.15  + 0.4, 0.3, (Elevator(Number).GetPosition.y + 12) - 1.5, 1, 1
+    Buttons(135).AddWall GetTex("Button135"), (ShaftLeft + 0.17), -18.45 + 0.8, (ShaftLeft + 0.17), -18.15 + 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 1.5, 1, 1
+    'Buttons(113).AddWall GetTex("Button113"), (ShaftLeft+0.17), -18.45  + 1.2, (ShaftLeft+0.17), -18.15  + 1.2, 0.3, (Elevator(Number).GetPosition.y + 12) - 1.5, 1, 1
+    'Buttons(114).AddWall GetTex("Button114"), (ShaftLeft+0.17), -18.45  + 1.6, (ShaftLeft+0.17), -18.15  + 1.6, 0.3, (Elevator(Number).GetPosition.y + 12) - 1.5, 1, 1
+    
+    'Buttons(105).AddWall GetTex("Button105"), (ShaftLeft+0.17), -18.45 , (ShaftLeft+0.17), -18.15 , 0.3, (Elevator(Number).GetPosition.y + 12) - 2, 1, 1
+    'Buttons(106).AddWall GetTex("Button106"), (ShaftLeft+0.17), -18.45  + 0.4, (ShaftLeft+0.17), -18.15  + 0.4, 0.3, (Elevator(Number).GetPosition.y + 12) - 2, 1, 1
+    Buttons(134).AddWall GetTex("Button134"), (ShaftLeft + 0.17), -18.45 + 0.8, (ShaftLeft + 0.17), -18.15 + 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 2, 1, 1
+    'Buttons(108).AddWall GetTex("Button108"), (ShaftLeft+0.17), -18.45  + 1.2, (ShaftLeft+0.17), -18.15  + 1.2, 0.3, (Elevator(Number).GetPosition.y + 12) - 2, 1, 1
+    'Buttons(109).AddWall GetTex("Button109"), (ShaftLeft+0.17), -18.45  + 1.6, (ShaftLeft+0.17), -18.15  + 1.6, 0.3, (Elevator(Number).GetPosition.y + 12) - 2, 1, 1
+    
+    'Buttons(100).AddWall GetTex("Button100"), (ShaftLeft+0.17), -18.45 , (ShaftLeft+0.17), -18.15 , 0.3, (Elevator(Number).GetPosition.y + 12) - 2.5, 1, 1
+    'Buttons(101).AddWall GetTex("Button101"), (ShaftLeft+0.17), -18.45  + 0.4, (ShaftLeft+0.17), -18.15  + 0.4, 0.3, (Elevator(Number).GetPosition.y + 12) - 2.5, 1, 1
+    Buttons(132).AddWall GetTex("Button132"), (ShaftLeft + 0.17), -18.45 + 0.8, (ShaftLeft + 0.17), -18.15 + 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 2.5, 1, 1
+    'Buttons(103).AddWall GetTex("Button103"), (ShaftLeft+0.17), -18.45  + 1.2, (ShaftLeft+0.17), -18.15  + 1.2, 0.3, (Elevator(Number).GetPosition.y + 12) - 2.5, 1, 1
+    'Buttons(104).AddWall GetTex("Button104"), (ShaftLeft+0.17), -18.45  + 1.6, (ShaftLeft+0.17), -18.15  + 1.6, 0.3, (Elevator(Number).GetPosition.y + 12) - 2.5, 1, 1
+    
+    'Buttons(95).AddWall GetTex("Button95"), (ShaftLeft+0.17), -18.45 , (ShaftLeft+0.17), -18.15 , 0.3, (Elevator(Number).GetPosition.y + 12) - 3, 1, 1
+    'Buttons(96).AddWall GetTex("Button96"), (ShaftLeft+0.17), -18.45  + 0.4, (ShaftLeft+0.17), -18.15  + 0.4, 0.3, (Elevator(Number).GetPosition.y + 12) - 3, 1, 1
+    Buttons(80).AddWall GetTex("Button80"), (ShaftLeft + 0.17), -18.45 + 0.8, (ShaftLeft + 0.17), -18.15 + 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 3, 1, 1
+    'Buttons(98).AddWall GetTex("Button98"), (ShaftLeft+0.17), -18.45  + 1.2, (ShaftLeft+0.17), -18.15  + 1.2, 0.3, (Elevator(Number).GetPosition.y + 12) - 3, 1, 1
+    'Buttons(99).AddWall GetTex("Button99"), (ShaftLeft+0.17), -18.45  + 1.6, (ShaftLeft+0.17), -18.15  + 1.6, 0.3, (Elevator(Number).GetPosition.y + 12) - 3, 1, 1
+    
+    'Buttons(90).AddWall GetTex("Button90"), (ShaftLeft+0.17), -18.45 , (ShaftLeft+0.17), -18.15 , 0.3, (Elevator(Number).GetPosition.y + 12) - 3.5, 1, 1
+    'Buttons(91).AddWall GetTex("Button91"), (ShaftLeft+0.17), -18.45  + 0.4, (ShaftLeft+0.17), -18.15  + 0.4, 0.3, (Elevator(Number).GetPosition.y + 12) - 3.5, 1, 1
+    Buttons(0).AddWall GetTex("ButtonM"), (ShaftLeft + 0.17), -18.45 + 0.8, (ShaftLeft + 0.17), -18.15 + 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 3.5, 1, 1
+    'Buttons(93).AddWall GetTex("Button93"), (ShaftLeft+0.17), -18.45  + 1.2, (ShaftLeft+0.17), -18.15  + 1.2, 0.3, (Elevator(Number).GetPosition.y + 12) - 3.5, 1, 1
+    'Buttons(94).AddWall GetTex("Button94"), (ShaftLeft+0.17), -18.45  + 1.6, (ShaftLeft+0.17), -18.15  + 1.6, 0.3, (Elevator(Number).GetPosition.y + 12) - 3.5, 1, 1
+    
+    'Buttons(85).AddWall GetTex("Button85"), (ShaftLeft+0.17), -18.45 , (ShaftLeft+0.17), -18.15 , 0.3, (Elevator(Number).GetPosition.y + 12) - 4, 1, 1
+    'Buttons(86).AddWall GetTex("Button86"), (ShaftLeft+0.17), -18.45  + 0.4, (ShaftLeft+0.17), -18.15  + 0.4, 0.3, (Elevator(Number).GetPosition.y + 12) - 4, 1, 1
+    Buttons(-1).AddWall GetTex("ButtonL"), (ShaftLeft + 0.17), -18.45 + 0.8, (ShaftLeft + 0.17), -18.15 + 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 4, 1, 1
+    'Buttons(88).AddWall GetTex("Button88"), (ShaftLeft+0.17), -18.45  + 1.2, (ShaftLeft+0.17), -18.15  + 1.2, 0.3, (Elevator(Number).GetPosition.y + 12) - 4, 1, 1
+    'Buttons(89).AddWall GetTex("Button89"), (ShaftLeft+0.17), -18.45  + 1.6, (ShaftLeft+0.17), -18.15  + 1.6, 0.3, (Elevator(Number).GetPosition.y + 12) - 4, 1, 1
+    
+    'Buttons(139).AddWall GetTex("ButtonOpen"), (ShaftLeft + 0.17), -18.45, (ShaftLeft + 0.17), -18.15, 0.3, (Elevator(Number).GetPosition.Y + 12) - 4.5, 1, 1
+    'Buttons(140).AddWall GetTex("ButtonClose"), (ShaftLeft + 0.17), -18.45 + 0.4, (ShaftLeft + 0.17), -18.15 + 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 4.5, 1, 1
+    'Buttons(141).AddWall GetTex("ButtonCancel"), (ShaftLeft + 0.17), -18.45 + 0.8, (ShaftLeft + 0.17), -18.15 + 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 4.5, 1, 1
+    'Buttons(142).AddWall GetTex("ButtonStop"), (ShaftLeft + 0.17), -18.45 + 1.2, (ShaftLeft + 0.17), -18.15 + 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 4.5, 1, 1
+    'Buttons(143).AddWall GetTex("ButtonAlarm"), (ShaftLeft + 0.17), -18.45 + 1.6, (ShaftLeft + 0.17), -18.15 + 1.6, 0.3, (Elevator(Number).GetPosition.Y + 12) - 4.5, 1, 1
+    
+    'Buttons(142).AddWall GetTex("ButtonStop"), (ShaftLeft + 0.17), -18.45, (ShaftLeft + 0.17), -18.15, 0.3, (Elevator(Number).GetPosition.y + 12) - 5, 1, 1
+    'Buttons(39).AddWall GetTex("Button39"), (ShaftLeft+0.17), -18.45  + 0.4, (ShaftLeft+0.17), -18.15  + 0.4, 0.3, (Elevator(Number).GetPosition.y + 12) - 5, 1, 1
+    'Buttons(40).AddWall GetTex("Button40"), (ShaftLeft+0.17), -18.45  + 0.8, (ShaftLeft+0.17), -18.15  + 0.8, 0.3, (Elevator(Number).GetPosition.y + 12) - 5, 1, 1
+    'Buttons(65).AddWall GetTex("Button65"), (ShaftLeft+0.17), -18.45  + 1.2, (ShaftLeft+0.17), -18.15  + 1.2, 0.3, (Elevator(Number).GetPosition.y + 12) - 5, 1, 1
+    'Buttons(143).AddWall GetTex("ButtonAlarm"), (ShaftLeft + 0.17), -18.45 + 1.6, (ShaftLeft + 0.17), -18.15 + 1.6, 0.3, (Elevator(Number).GetPosition.y + 12) - 5, 1, 1
+    
+    Buttons(139).AddWall GetTex("ButtonOpen"), (ShaftLeft + 0.17), -18.45, (ShaftLeft + 0.17), -18.15, 0.3, (Elevator(Number).GetPosition.Y + 12) - 5.5, 1, 1
+    Buttons(140).AddWall GetTex("ButtonClose"), (ShaftLeft + 0.17), -18.45 + 0.4, (ShaftLeft + 0.17), -18.15 + 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 5.5, 1, 1
+    Buttons(141).AddWall GetTex("ButtonCancel"), (ShaftLeft + 0.17), -18.45 + 0.8, (ShaftLeft + 0.17), -18.15 + 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 5.5, 1, 1
+    Buttons(142).AddWall GetTex("ButtonStop"), (ShaftLeft + 0.17), -18.45 + 1.2, (ShaftLeft + 0.17), -18.15 + 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 5.5, 1, 1
+    Buttons(143).AddWall GetTex("ButtonAlarm"), (ShaftLeft + 0.17), -18.45 + 1.6, (ShaftLeft + 0.17), -18.15 + 1.6, 0.3, (Elevator(Number).GetPosition.Y + 12) - 5.5, 1, 1
 
-Sub Elevator4Loop()
+End If
 
-elevatorstart(4) = Elevator(4).GetPosition
+'Elevator 3
+If Number = 3 Then
 
-'Find the floor that the elevator's on
-ElevatorFloor(4) = (Elevator(4).GetPosition.Y - 25) / 25
-      
-      'If elevator goes below floor 2, then set elevatorfloor as 1
-      If ElevatorFloor(4) < 1 Then ElevatorFloor(4) = 1
-      
-      If GotoFloor(4) = ElevatorFloor(4) - 1 Then CurrentFloor(4) = ElevatorFloor(4)
-
-      'If GotoFloor(4) <> 0 And GotoFloor(4) > CurrentFloor(4) And ElevatorDirection(4) = 0 And ElevatorInsDoorL(ElevatorFloor2(4)).GetPosition.z <= 0 Then
-      If GotoFloor(4) <> 0 And GotoFloor(4) > CurrentFloor(4) And ElevatorDirection(4) = 0 And ElevatorDoor4L(ElevatorFloor2(4)).GetPosition.z <= 0 Then
-      ElevatorDirection(4) = 1
-      OriginalLocation(4) = CurrentFloorExact(4)
-      DistanceToTravel(4) = ((GotoFloor(4) * 25) + 25) - ((CurrentFloorExact(4) * 25) + 25)
-      If ElevatorSync(4) = True Then
-      Room(CameraFloor).Enable False
-      For i4 = 1 To 10
-      CallButtons(i4).Enable False
-      Next i4
-      ElevatorDoor1L(CameraFloor).Enable False
-      ElevatorDoor1R(CameraFloor).Enable False
-      ElevatorDoor2L(CameraFloor).Enable False
-      ElevatorDoor2R(CameraFloor).Enable False
-      ElevatorDoor3L(CameraFloor).Enable False
-      ElevatorDoor3R(CameraFloor).Enable False
-      ElevatorDoor4L(CameraFloor).Enable False
-      ElevatorDoor4R(CameraFloor).Enable False
-      ElevatorDoor5L(CameraFloor).Enable False
-      ElevatorDoor5R(CameraFloor).Enable False
-      ElevatorDoor6L(CameraFloor).Enable False
-      ElevatorDoor6R(CameraFloor).Enable False
-      ElevatorDoor7L(CameraFloor).Enable False
-      ElevatorDoor7R(CameraFloor).Enable False
-      ElevatorDoor8L(CameraFloor).Enable False
-      ElevatorDoor8R(CameraFloor).Enable False
-      ElevatorDoor9L(CameraFloor).Enable False
-      ElevatorDoor9R(CameraFloor).Enable False
-      ElevatorDoor10L(CameraFloor).Enable False
-      ElevatorDoor10R(CameraFloor).Enable False
-      DestroyObjects (CameraFloor)
-      ShaftsFloor(CameraFloor).Enable False
-      Atmos.SkyBox_Enable False
-      Stairs(CameraFloor).Enable False
-      If CameraFloor < 138 Then Stairs(CameraFloor + 1).Enable False
-      If CameraFloor > 1 Then Stairs(CameraFloor - 1).Enable False
-      End If
-      End If
-      'If GotoFloor(4) <> 0 And GotoFloor(4) < CurrentFloor(4) And ElevatorDirection(4) = 0 And ElevatorInsDoorL(ElevatorFloor2(4)).GetPosition.z <= 0 Then
-      If GotoFloor(4) <> 0 And GotoFloor(4) < CurrentFloor(4) And ElevatorDirection(4) = 0 And ElevatorDoor4L(ElevatorFloor2(4)).GetPosition.z <= 0 Then
-      ElevatorDirection(4) = -1
-      OriginalLocation(4) = CurrentFloorExact(4)
-      DistanceToTravel(4) = ((CurrentFloorExact(4) * 25) + 25) - ((GotoFloor(4) * 25) + 25)
-      If ElevatorSync(4) = True Then
-      Room(CameraFloor).Enable False
-      For i4 = 1 To 10
-      CallButtons(i4).Enable False
-      Next i4
-      ElevatorDoor1L(CameraFloor).Enable False
-      ElevatorDoor1R(CameraFloor).Enable False
-      ElevatorDoor2L(CameraFloor).Enable False
-      ElevatorDoor2R(CameraFloor).Enable False
-      ElevatorDoor3L(CameraFloor).Enable False
-      ElevatorDoor3R(CameraFloor).Enable False
-      ElevatorDoor4L(CameraFloor).Enable False
-      ElevatorDoor4R(CameraFloor).Enable False
-      ElevatorDoor5L(CameraFloor).Enable False
-      ElevatorDoor5R(CameraFloor).Enable False
-      ElevatorDoor6L(CameraFloor).Enable False
-      ElevatorDoor6R(CameraFloor).Enable False
-      ElevatorDoor7L(CameraFloor).Enable False
-      ElevatorDoor7R(CameraFloor).Enable False
-      ElevatorDoor8L(CameraFloor).Enable False
-      ElevatorDoor8R(CameraFloor).Enable False
-      ElevatorDoor9L(CameraFloor).Enable False
-      ElevatorDoor9R(CameraFloor).Enable False
-      ElevatorDoor10L(CameraFloor).Enable False
-      ElevatorDoor10R(CameraFloor).Enable False
-      DestroyObjects (CameraFloor)
-      ShaftsFloor(CameraFloor).Enable False
-      Atmos.SkyBox_Enable False
-      Stairs(CameraFloor).Enable False
-      If CameraFloor < 138 Then Stairs(CameraFloor + 1).Enable False
-      If CameraFloor > 1 Then Stairs(CameraFloor - 1).Enable False
-      End If
-      End If
-      
-       CurrentFloor(4) = Int((elevatorstart(4).Y - 25) / 25)
-       CurrentFloorExact(4) = (elevatorstart(4).Y - 25) / 25
-       'CurrentFloor(4) = (Elevator(4).GetPosition.y / 25) - 1
-       'CurrentFloorExact(4) = Int((Elevator(4).GetPosition.y / 25) - 1)
+    'Buttons(135).AddWall GetTex("Button135"), -(ShaftLeft+0.17), -27.85 + (15 * 1), -(ShaftLeft+0.17), -27.55 + (15 * 1), 0.3, (Elevator(Number).GetPosition.y + 12), -1, 1
+    'Buttons(1).AddWall GetTex("Button1"), -(ShaftLeft+0.17), -27.85 + (15 * 1) - 0.4, -(ShaftLeft+0.17), -27.55 + (15 * 1) - 0.4, 0.3, (Elevator(Number).GetPosition.y + 12), -1, 1
+    'Buttons(136).AddWall GetTex("Button136"), -(ShaftLeft+0.17), -27.85 + (15 * 1) - 0.8, -(ShaftLeft+0.17), -27.55 + (15 * 1) - 0.8, 0.3, (Elevator(Number).GetPosition.y + 12), -1, 1
+    'Buttons(137).AddWall GetTex("Button137"), -(ShaftLeft+0.17), -27.85 + (15 * 1) - 1.2, -(ShaftLeft+0.17), -27.55 + (15 * 1) - 1.2, 0.3, (Elevator(Number).GetPosition.y + 12), -1, 1
+    'Buttons(138).AddWall GetTex("ButtonR"), -(ShaftLeft+0.17), -27.85 + (15 * 1) - 1.6, -(ShaftLeft+0.17), -27.55 + (15 * 1) - 1.6, 0.3, (Elevator(Number).GetPosition.y + 12), -1, 1
+    
+    'Buttons(142).AddWall GetTex("ButtonStop"), -(ShaftLeft + 0.17), -27.85 + (15 * 1), -(ShaftLeft + 0.17), -27.55 + (15 * 1), 0.3, (Elevator(Number).GetPosition.Y + 12) - 0.5, -1, 1
+    'Buttons(131).AddWall GetTex("Button131"), -(ShaftLeft+0.17), -27.85 + (15 * 1) - 0.4, -(ShaftLeft+0.17), -27.55 + (15 * 1) - 0.4, 0.3, (Elevator(Number).GetPosition.y + 12) - 0.5, -1, 1
+    'Buttons(135).AddWall GetTex("Button135"), -(ShaftLeft+0.17), -27.85 + (15 * 1) - 0.8, -(ShaftLeft+0.17), -27.55 + (15 * 1) - 0.8, 0.3, (Elevator(Number).GetPosition.y + 12) - 0.5, -1, 1
+    'Buttons(133).AddWall GetTex("Button133"), -(ShaftLeft+0.17), -27.85 + (15 * 1) - 1.2, -(ShaftLeft+0.17), -27.55 + (15 * 1) - 1.2, 0.3, (Elevator(Number).GetPosition.y + 12) - 0.5, -1, 1
+    'Buttons(143).AddWall GetTex("ButtonAlarm"), -(ShaftLeft + 0.17), -27.85 + (15 * 1) - 1.6, -(ShaftLeft + 0.17), -27.55 + (15 * 1) - 1.6, 0.3, (Elevator(Number).GetPosition.Y + 12) - 0.5, -1, 1
+    
+    'Buttons(115).AddWall GetTex("Button115"), -(ShaftLeft+0.17), -27.85 + (15 * 1), -(ShaftLeft+0.17), -27.55 + (15 * 1), 0.3, (Elevator(Number).GetPosition.y + 12) - 1, -1, 1
+    'Buttons(116).AddWall GetTex("Button116"), -(ShaftLeft+0.17), -27.85 + (15 * 1) - 0.4, -(ShaftLeft+0.17), -27.55 + (15 * 1) - 0.4, 0.3, (Elevator(Number).GetPosition.y + 12) - 1, -1, 1
+    Buttons(136).AddWall GetTex("Button136"), -(ShaftLeft + 0.17), -27.85 + (15 * 1) - 0.8, -(ShaftLeft + 0.17), -27.55 + (15 * 1) - 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 1, -1, 1
+    'Buttons(118).AddWall GetTex("Button118"), -(ShaftLeft+0.17), -27.85 + (15 * 1) - 1.2, -(ShaftLeft+0.17), -27.55 + (15 * 1) - 1.2, 0.3, (Elevator(Number).GetPosition.y + 12) - 1, -1, 1
+    'Buttons(129).AddWall GetTex("Button129"), -(ShaftLeft+0.17), -27.85 + (15 * 1) - 1.6, -(ShaftLeft+0.17), -27.55 + (15 * 1) - 1.6, 0.3, (Elevator(Number).GetPosition.y + 12) - 1, -1, 1
+    
+    'Buttons(110).AddWall GetTex("Button110"), -(ShaftLeft+0.17), -27.85 + (15 * 1), -(ShaftLeft+0.17), -27.55 + (15 * 1), 0.3, (Elevator(Number).GetPosition.y + 12) - 1.5, -1, 1
+    'Buttons(111).AddWall GetTex("Button111"), -(ShaftLeft+0.17), -27.85 + (15 * 1) - 0.4, -(ShaftLeft+0.17), -27.55 + (15 * 1) - 0.4, 0.3, (Elevator(Number).GetPosition.y + 12) - 1.5, -1, 1
+    Buttons(135).AddWall GetTex("Button135"), -(ShaftLeft + 0.17), -27.85 + (15 * 1) - 0.8, -(ShaftLeft + 0.17), -27.55 + (15 * 1) - 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 1.5, -1, 1
+    'Buttons(113).AddWall GetTex("Button113"), -(ShaftLeft+0.17), -27.85 + (15 * 1) - 1.2, -(ShaftLeft+0.17), -27.55 + (15 * 1) - 1.2, 0.3, (Elevator(Number).GetPosition.y + 12) - 1.5, -1, 1
+    'Buttons(114).AddWall GetTex("Button114"), -(ShaftLeft+0.17), -27.85 + (15 * 1) - 1.6, -(ShaftLeft+0.17), -27.55 + (15 * 1) - 1.6, 0.3, (Elevator(Number).GetPosition.y + 12) - 1.5, -1, 1
+    
+    'Buttons(105).AddWall GetTex("Button105"), -(ShaftLeft+0.17), -27.85 + (15 * 1), -(ShaftLeft+0.17), -27.55 + (15 * 1), 0.3, (Elevator(Number).GetPosition.y + 12) - 2, -1, 1
+    'Buttons(106).AddWall GetTex("Button106"), -(ShaftLeft+0.17), -27.85 + (15 * 1) - 0.4, -(ShaftLeft+0.17), -27.55 + (15 * 1) - 0.4, 0.3, (Elevator(Number).GetPosition.y + 12) - 2, -1, 1
+    Buttons(134).AddWall GetTex("Button134"), -(ShaftLeft + 0.17), -27.85 + (15 * 1) - 0.8, -(ShaftLeft + 0.17), -27.55 + (15 * 1) - 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 2, -1, 1
+    'Buttons(108).AddWall GetTex("Button108"), -(ShaftLeft+0.17), -27.85 + (15 * 1) - 1.2, -(ShaftLeft+0.17), -27.55 + (15 * 1) - 1.2, 0.3, (Elevator(Number).GetPosition.y + 12) - 2, -1, 1
+    'Buttons(109).AddWall GetTex("Button109"), -(ShaftLeft+0.17), -27.85 + (15 * 1) - 1.6, -(ShaftLeft+0.17), -27.55 + (15 * 1) - 1.6, 0.3, (Elevator(Number).GetPosition.y + 12) - 2, -1, 1
+    
+    'Buttons(100).AddWall GetTex("Button100"), -(ShaftLeft+0.17), -27.85 + (15 * 1), -(ShaftLeft+0.17), -27.55 + (15 * 1), 0.3, (Elevator(Number).GetPosition.y + 12) - 2.5, -1, 1
+    'Buttons(101).AddWall GetTex("Button101"), -(ShaftLeft+0.17), -27.85 + (15 * 1) - 0.4, -(ShaftLeft+0.17), -27.55 + (15 * 1) - 0.4, 0.3, (Elevator(Number).GetPosition.y + 12) - 2.5, -1, 1
+    Buttons(132).AddWall GetTex("Button132"), -(ShaftLeft + 0.17), -27.85 + (15 * 1) - 0.8, -(ShaftLeft + 0.17), -27.55 + (15 * 1) - 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 2.5, -1, 1
+    'Buttons(103).AddWall GetTex("Button103"), -(ShaftLeft+0.17), -27.85 + (15 * 1) - 1.2, -(ShaftLeft+0.17), -27.55 + (15 * 1) - 1.2, 0.3, (Elevator(Number).GetPosition.y + 12) - 2.5, -1, 1
+    'Buttons(104).AddWall GetTex("Button104"), -(ShaftLeft+0.17), -27.85 + (15 * 1) - 1.6, -(ShaftLeft+0.17), -27.55 + (15 * 1) - 1.6, 0.3, (Elevator(Number).GetPosition.y + 12) - 2.5, -1, 1
+    
+    'Buttons(95).AddWall GetTex("Button95"), -(ShaftLeft+0.17), -27.85 + (15 * 1), -(ShaftLeft+0.17), -27.55 + (15 * 1), 0.3, (Elevator(Number).GetPosition.y + 12) - 3, -1, 1
+    'Buttons(96).AddWall GetTex("Button96"), -(ShaftLeft+0.17), -27.85 + (15 * 1) - 0.4, -(ShaftLeft+0.17), -27.55 + (15 * 1) - 0.4, 0.3, (Elevator(Number).GetPosition.y + 12) - 3, -1, 1
+    Buttons(80).AddWall GetTex("Button80"), -(ShaftLeft + 0.17), -27.85 + (15 * 1) - 0.8, -(ShaftLeft + 0.17), -27.55 + (15 * 1) - 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 3, -1, 1
+    'Buttons(98).AddWall GetTex("Button98"), -(ShaftLeft+0.17), -27.85 + (15 * 1) - 1.2, -(ShaftLeft+0.17), -27.55 + (15 * 1) - 1.2, 0.3, (Elevator(Number).GetPosition.y + 12) - 3, -1, 1
+    'Buttons(99).AddWall GetTex("Button99"), -(ShaftLeft+0.17), -27.85 + (15 * 1) - 1.6, -(ShaftLeft+0.17), -27.55 + (15 * 1) - 1.6, 0.3, (Elevator(Number).GetPosition.y + 12) - 3, -1, 1
+    
+    'Buttons(90).AddWall GetTex("Button90"), -(ShaftLeft+0.17), -27.85 + (15 * 1), -(ShaftLeft+0.17), -27.55 + (15 * 1), 0.3, (Elevator(Number).GetPosition.y + 12) - 3.5, -1, 1
+    'Buttons(91).AddWall GetTex("Button91"), -(ShaftLeft+0.17), -27.85 + (15 * 1) - 0.4, -(ShaftLeft+0.17), -27.55 + (15 * 1) - 0.4, 0.3, (Elevator(Number).GetPosition.y + 12) - 3.5, -1, 1
+    Buttons(0).AddWall GetTex("ButtonM"), -(ShaftLeft + 0.17), -27.85 + (15 * 1) - 0.8, -(ShaftLeft + 0.17), -27.55 + (15 * 1) - 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 3.5, -1, 1
+    'Buttons(93).AddWall GetTex("Button93"), -(ShaftLeft+0.17), -27.85 + (15 * 1) - 1.2, -(ShaftLeft+0.17), -27.55 + (15 * 1) - 1.2, 0.3, (Elevator(Number).GetPosition.y + 12) - 3.5, -1, 1
+    'Buttons(94).AddWall GetTex("Button94"), -(ShaftLeft+0.17), -27.85 + (15 * 1) - 1.6, -(ShaftLeft+0.17), -27.55 + (15 * 1) - 1.6, 0.3, (Elevator(Number).GetPosition.y + 12) - 3.5, -1, 1
+    
+    'Buttons(85).AddWall GetTex("Button85"), -(ShaftLeft+0.17), -27.85 + (15 * 1), -(ShaftLeft+0.17), -27.55 + (15 * 1), 0.3, (Elevator(Number).GetPosition.y + 12) - 4, -1, 1
+    'Buttons(86).AddWall GetTex("Button86"), -(ShaftLeft+0.17), -27.85 + (15 * 1) - 0.4, -(ShaftLeft+0.17), -27.55 + (15 * 1) - 0.4, 0.3, (Elevator(Number).GetPosition.y + 12) - 4, -1, 1
+    Buttons(-1).AddWall GetTex("ButtonL"), -(ShaftLeft + 0.17), -27.85 + (15 * 1) - 0.8, -(ShaftLeft + 0.17), -27.55 + (15 * 1) - 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 4, -1, 1
+    'Buttons(88).AddWall GetTex("Button88"), -(ShaftLeft+0.17), -27.85 + (15 * 1) - 1.2, -(ShaftLeft+0.17), -27.55 + (15 * 1) - 1.2, 0.3, (Elevator(Number).GetPosition.y + 12) - 4, -1, 1
+    'Buttons(89).AddWall GetTex("Button89"), -(ShaftLeft+0.17), -27.85 + (15 * 1) - 1.6, -(ShaftLeft+0.17), -27.55 + (15 * 1) - 1.6, 0.3, (Elevator(Number).GetPosition.y + 12) - 4, -1, 1
+    
+    'Buttons(139).AddWall GetTex("ButtonOpen"), -(ShaftLeft + 0.17), -27.85 + (15 * 1), -(ShaftLeft + 0.17), -27.55 + (15 * 1), 0.3, (Elevator(Number).GetPosition.Y + 12) - 4.5, -1, 1
+    'Buttons(81).AddWall GetTex("Button81"), -(ShaftLeft+0.17), -27.85 + (15 * 1) - 0.4, -(ShaftLeft+0.17), -27.55 + (15 * 1) - 0.4, 0.3, (Elevator(Number).GetPosition.y + 12) - 4.5, -1, 1
+    'Buttons(140).AddWall GetTex("ButtonClose"), -(ShaftLeft + 0.17), -27.85 + (15 * 1) - 0.8, -(ShaftLeft + 0.17), -27.55 + (15 * 1) - 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 4.5, -1, 1
+    'Buttons(83).AddWall GetTex("Button83"), -(ShaftLeft+0.17), -27.85 + (15 * 1) - 1.2, -(ShaftLeft+0.17), -27.55 + (15 * 1) - 1.2, 0.3, (Elevator(Number).GetPosition.y + 12) - 4.5, -1, 1
+    'Buttons(141).AddWall GetTex("ButtonCancel"), -(ShaftLeft + 0.17), -27.85 + (15 * 1) - 1.6, -(ShaftLeft + 0.17), -27.55 + (15 * 1) - 1.6, 0.3, (Elevator(Number).GetPosition.Y + 12) - 4.5, -1, 1
+    
+    'Buttons(142).AddWall GetTex("ButtonStop"), -(ShaftLeft + 0.17), -27.85 + (15 * 1), -(ShaftLeft + 0.17), -27.55 + (15 * 1), 0.3, (Elevator(Number).GetPosition.y + 12) - 5, -1, 1
+    'Buttons(39).AddWall GetTex("Button39"), -(ShaftLeft+0.17), -27.85 + (15 * 1) - 0.4, -(ShaftLeft+0.17), -27.55 + (15 * 1) - 0.4, 0.3, (Elevator(Number).GetPosition.y + 12) - 5, -1, 1
+    'Buttons(40).AddWall GetTex("Button40"), -(ShaftLeft+0.17), -27.85 + (15 * 1) - 0.8, -(ShaftLeft+0.17), -27.55 + (15 * 1) - 0.8, 0.3, (Elevator(Number).GetPosition.y + 12) - 5, -1, 1
+    'Buttons(65).AddWall GetTex("Button65"), -(ShaftLeft+0.17), -27.85 + (15 * 1) - 1.2, -(ShaftLeft+0.17), -27.55 + (15 * 1) - 1.2, 0.3, (Elevator(Number).GetPosition.y + 12) - 5, -1, 1
+    'Buttons(143).AddWall GetTex("ButtonAlarm"), -(ShaftLeft + 0.17), -27.85 + (15 * 1) - 1.6, -(ShaftLeft + 0.17), -27.55 + (15 * 1) - 1.6, 0.3, (Elevator(Number).GetPosition.y + 12) - 5, -1, 1
+    
+    Buttons(139).AddWall GetTex("ButtonOpen"), -(ShaftLeft + 0.17), -27.85 + (15 * 1), -(ShaftLeft + 0.17), -27.55 + (15 * 1), 0.3, (Elevator(Number).GetPosition.Y + 12) - 5.5, -1, 1
+    Buttons(140).AddWall GetTex("ButtonClose"), -(ShaftLeft + 0.17), -27.85 + (15 * 1) - 0.4, -(ShaftLeft + 0.17), -27.55 + (15 * 1) - 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 5.5, -1, 1
+    Buttons(141).AddWall GetTex("ButtonCancel"), -(ShaftLeft + 0.17), -27.85 + (15 * 1) - 0.8, -(ShaftLeft + 0.17), -27.55 + (15 * 1) - 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 5.5, -1, 1
+    Buttons(142).AddWall GetTex("ButtonStop"), -(ShaftLeft + 0.17), -27.85 + (15 * 1) - 1.2, -(ShaftLeft + 0.17), -27.55 + (15 * 1) - 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 5.5, -1, 1
+    Buttons(143).AddWall GetTex("ButtonAlarm"), -(ShaftLeft + 0.17), -27.85 + (15 * 1) - 1.6, -(ShaftLeft + 0.17), -27.55 + (15 * 1) - 1.6, 0.3, (Elevator(Number).GetPosition.Y + 12) - 5.5, -1, 1
 
-       'Form2.Text1.Text = "Sound Location=7.75,20,7 " + vbCrLf + "Elevator Floor=" + Str$(ElevatorFloor(4)) + vbCrLf + "Camera Floor=" + Str$(CameraFloor) + vbCrLf + "Current Location= " + Str$(Int(Camera.GetPosition.x)) + "," + Str$(Int(Camera.GetPosition.y)) + "," + Str$(Int(Camera.GetPosition.z)) + vbCrLf + "Distance to Travel=" + Str$(DistanceToTravel(4)) + vbCrLf + "Destination=" + Str$(Destination) + vbCrLf + "Rate=" + Str$(ElevatorEnable(4) / 5)
-        
-        If ElevatorEnable(4) >= 0 And ElevatorDirection(4) = 1 Then
-        'sound
-        If ElevatorSounds(4).PlayState <> TV_PLAYSTATE_PLAYING And ElevatorCheck(4) = 0 And GotoFloor(4) <> ElevatorFloor(4) Then
-        ElevatorSounds(4).Loop_ = False
-        ElevatorSounds(4).Load App.Path + "\elevstart.wav"
-        ElevatorSounds(4).Volume = 0
-        'ElevatorSounds(4).maxDistance = 100
-        'Call ElevatorSounds(4).SetConeOrientation(0, 0, 90)
-        'ElevatorSounds(4).ConeOutsideVolume = 0
-        'Call ElevatorSounds(4).SetPosition(-20.25, Elevator1(4).GetPosition.Y + 20, -23)
-        ElevatorSounds(4).Play
-        ElevatorCheck(4) = 1
-        End If
-        If ElevatorSounds(4).PlayState = TV_PLAYSTATE_ENDED And ElevatorCheck(4) = 1 Then
-        ElevatorSounds(4).Load App.Path + "\elevmove.wav"
-        ElevatorSounds(4).Loop_ = True
-        ElevatorSounds(4).Play
-        End If
-        'movement
-        Elevator(4).MoveRelative 0, (ElevatorEnable(4) / 5), 0
-        ElevatorInsDoorL(4).MoveRelative 0, (ElevatorEnable(4) / 5), 0
-        ElevatorInsDoorR(4).MoveRelative 0, (ElevatorEnable(4) / 5), 0
-        FloorIndicator(4).MoveRelative 0, (ElevatorEnable(4) / 5), 0
-        Plaque(4).MoveRelative 0, (ElevatorEnable(4) / 5), 0
-        For i4 = -1 To 138
-        Buttons4(i4).MoveRelative 0, (ElevatorEnable(4) / 5), 0
-        Next i4
-        If ElevatorSync(4) = True Then Camera.MoveRelative 0, (ElevatorEnable(4) / 5), 0
-        'ElevatorSounds(4).SetPosition -20.25, Elevator(4).GetPosition.Y + 20, -23
-        ''ElevatorMusic(4).SetPosition -20.25, Elevator(4).GetPosition.Y + 20, -23
-        ElevatorEnable(4) = ElevatorEnable(4) + 0.25
-        If ElevatorEnable(4) <= 15 Then StoppingDistance(4) = CurrentFloorExact(4) - OriginalLocation(4) + 0.4
-        If ElevatorEnable(4) > 15 Then ElevatorEnable(4) = 15
-        Destination(4) = ((OriginalLocation(4) * 25) + 25) + DistanceToTravel(4) - 35
-        If GotoFloor(4) <> 0 And elevatorstart(4).Y >= (Destination(4) - (StoppingDistance(4) * 25) + 25) Then ElevatorDirection(4) = -1: ElevatorCheck(4) = 0
-        End If
-      
-        If ElevatorEnable(4) > 0 And ElevatorDirection(4) = -1 Then
-        'Sounds
-        If ElevatorSounds(4).PlayState = TV_PLAYSTATE_PLAYING And ElevatorCheck2(4) = 0 And FineTune(4) = False Then
-        ElevatorSounds(4).Loop_ = False
-        ElevatorSounds(4).Stop_
-        End If
-        If ElevatorSounds(4).PlayState <> TV_PLAYSTATE_PLAYING And ElevatorCheck2(4) = 0 And FineTune(4) = False Then
-        ElevatorSounds(4).Loop_ = False
-        ElevatorSounds(4).Load App.Path + "\elevstop.wav"
-        ElevatorSounds(4).Play
-        ElevatorCheck2(4) = 1
-        End If
-        'Movement
-        Elevator(4).MoveRelative 0, (ElevatorEnable(4) / 5), 0
-        ElevatorInsDoorL(4).MoveRelative 0, (ElevatorEnable(4) / 5), 0
-        ElevatorInsDoorR(4).MoveRelative 0, (ElevatorEnable(4) / 5), 0
-        FloorIndicator(4).MoveRelative 0, (ElevatorEnable(4) / 5), 0
-        Plaque(4).MoveRelative 0, (ElevatorEnable(4) / 5), 0
-        For i4 = -1 To 138
-        Buttons4(i4).MoveRelative 0, (ElevatorEnable(4) / 5), 0
-        Next i4
-        If ElevatorSync(4) = True Then Camera.MoveRelative 0, (ElevatorEnable(4) / 5), 0
-        
-        'ElevatorSounds(4).SetPosition -20.25, Elevator(4).GetPosition.Y + 20, -23
-        ''ElevatorMusic(4).SetPosition -20.25, Elevator(4).GetPosition.Y + 20, -23
-        ElevatorEnable(4) = ElevatorEnable(4) - 0.25
-        If ElevatorEnable(4) < 0 Then ElevatorEnable(4) = 0
-        If ElevatorEnable(4) = 0 Then ElevatorDirection(4) = 0
-        If GotoFloor(4) <> 0 Then ElevatorCheck(4) = 0: FineTune(4) = True
-        End If
-      
-        If ElevatorEnable(4) <= 0 And ElevatorDirection(4) = -1 Then
-        If ElevatorSounds(4).PlayState <> TV_PLAYSTATE_PLAYING And ElevatorCheck(4) = 0 Then
-        ElevatorSounds(4).Loop_ = False
-        ElevatorSounds(4).Load App.Path + "\elevstart.wav"
-        ElevatorSounds(4).Volume = 0
-        'ElevatorSounds(4).maxDistance = 100
-        'Call ElevatorSounds(4).SetConeOrientation(0, 0, 90)
-        'ElevatorSounds(4).ConeOutsideVolume = 0
-        'Call ElevatorSounds(4).SetPosition(-20.25, Elevator(4).GetPosition.Y + 20, -23)
-        ElevatorSounds(4).Play
-        ElevatorCheck(4) = 1
-        End If
-        If ElevatorSounds(4).PlayState = TV_PLAYSTATE_ENDED And ElevatorCheck(4) = 1 Then
-        ElevatorSounds(4).Load App.Path + "\elevmove.wav"
-        ElevatorSounds(4).Loop_ = True
-        ElevatorSounds(4).Play
-        End If
-        Elevator(4).MoveRelative 0, (ElevatorEnable(4) / 5), 0
-        ElevatorInsDoorL(4).MoveRelative 0, (ElevatorEnable(4) / 5), 0
-        ElevatorInsDoorR(4).MoveRelative 0, (ElevatorEnable(4) / 5), 0
-        FloorIndicator(4).MoveRelative 0, (ElevatorEnable(4) / 5), 0
-        Plaque(4).MoveRelative 0, (ElevatorEnable(4) / 5), 0
-        For i4 = -1 To 138
-        Buttons4(i4).MoveRelative 0, (ElevatorEnable(4) / 5), 0
-        Next i4
-        If ElevatorSync(4) = True Then Camera.MoveRelative 0, (ElevatorEnable(4) / 5), 0
-        'ElevatorSounds(4).SetPosition -20.25, Elevator(4).GetPosition.Y + 20, -23
-        ''ElevatorMusic(4).SetPosition -20.25, Elevator(4).GetPosition.Y + 20, -23
-        ElevatorEnable(4) = ElevatorEnable(4) - 0.25
-        If ElevatorEnable(4) >= -15 Then StoppingDistance(4) = OriginalLocation(4) - CurrentFloorExact(4)
-        If ElevatorEnable(4) < -15 Then ElevatorEnable(4) = -15
-        Destination(4) = ((OriginalLocation(4) * 25) + 25) - DistanceToTravel(4)
-        If GotoFloor(4) <> 0 And elevatorstart(4).Y <= (Destination(4) + (StoppingDistance(4) * 25) + 25) Then ElevatorDirection(4) = 1: ElevatorCheck(4) = 0
-        End If
-      
-        If ElevatorEnable(4) < 0 And ElevatorDirection(4) = 1 Then
-        If ElevatorSounds(4).PlayState = TV_PLAYSTATE_PLAYING And ElevatorCheck2(4) = 0 And FineTune(4) = False Then
-        ElevatorSounds(4).Loop_ = False
-        ElevatorSounds(4).Stop_
-        End If
-        If ElevatorSounds(4).PlayState <> TV_PLAYSTATE_PLAYING And ElevatorCheck2(4) = 0 And FineTune(4) = False Then
-        ElevatorSounds(4).Loop_ = False
-        ElevatorSounds(4).Load App.Path + "\elevstop.wav"
-        ElevatorSounds(4).Play
-        ElevatorCheck2(4) = 1
-        End If
-        Elevator(4).MoveRelative 0, (ElevatorEnable(4) / 5), 0
-        ElevatorInsDoorL(4).MoveRelative 0, (ElevatorEnable(4) / 5), 0
-        ElevatorInsDoorR(4).MoveRelative 0, (ElevatorEnable(4) / 5), 0
-        FloorIndicator(4).MoveRelative 0, (ElevatorEnable(4) / 5), 0
-        Plaque(4).MoveRelative 0, (ElevatorEnable(4) / 5), 0
-        For i4 = -1 To 138
-        Buttons4(i4).MoveRelative 0, (ElevatorEnable(4) / 5), 0
-        Next i4
-        If ElevatorSync(4) = True Then Camera.MoveRelative 0, (ElevatorEnable(4) / 5), 0
-        'ElevatorSounds(4).SetPosition -20.25, Elevator(4).GetPosition.Y + 20, -23
-        ''ElevatorMusic(4).SetPosition -20.25, Elevator(4).GetPosition.Y + 20, -23
-        ElevatorEnable(4) = ElevatorEnable(4) + 0.25
-        If ElevatorEnable(4) > 0 Then ElevatorEnable(4) = 0
-        If ElevatorEnable(4) = 0 Then ElevatorDirection(4) = 0
-        If GotoFloor(4) <> 0 Then ElevatorCheck(4) = 0: FineTune(4) = True
-        End If
-      
-      If FineTune(4) = True And ElevatorEnable(4) = 0 And elevatorstart(4).Y > (GotoFloor(4) * 25) + 25 + -0.3 And elevatorstart(4).Y < (GotoFloor(4) * 25) + 25 + 0.3 Then
-      FineTune(4) = False
-      Room(CameraFloor).Enable True
-      If ElevatorSync(4) = True Then
-      ElevatorDoor1L(CameraFloor).Enable True
-      ElevatorDoor1R(CameraFloor).Enable True
-      ElevatorDoor2L(CameraFloor).Enable True
-      ElevatorDoor2R(CameraFloor).Enable True
-      ElevatorDoor3L(CameraFloor).Enable True
-      ElevatorDoor3R(CameraFloor).Enable True
-      ElevatorDoor4L(CameraFloor).Enable True
-      ElevatorDoor4R(CameraFloor).Enable True
-      ElevatorDoor5L(CameraFloor).Enable True
-      ElevatorDoor5R(CameraFloor).Enable True
-      ElevatorDoor6L(CameraFloor).Enable True
-      ElevatorDoor6R(CameraFloor).Enable True
-      ElevatorDoor7L(CameraFloor).Enable True
-      ElevatorDoor7R(CameraFloor).Enable True
-      ElevatorDoor8L(CameraFloor).Enable True
-      ElevatorDoor8R(CameraFloor).Enable True
-      ElevatorDoor9L(CameraFloor).Enable True
-      ElevatorDoor9R(CameraFloor).Enable True
-      ElevatorDoor10L(CameraFloor).Enable True
-      ElevatorDoor10R(CameraFloor).Enable True
-      For i4 = 1 To 10
-      CallButtons(i4).Enable True
-      Next i4
-      ShaftsFloor(CameraFloor).Enable True
-      Stairs(CameraFloor).Enable True
-      Atmos.SkyBox_Enable True
-      'If CameraFloor = 137 Then Shafts.Enable True
-      InitObjectsForFloor (CameraFloor)
-      If CameraFloor < 138 Then Stairs(CameraFloor + 1).Enable True
-      If CameraFloor > 1 Then Stairs(CameraFloor - 1).Enable True
-      End If
-      GotoFloor(4) = 0
-      OpenElevator(4) = 1
-      ElevatorCheck(4) = 0
-      ElevatorCheck2(4) = 0
-      ElevatorCheck3(4) = 0
-      ElevatorCheck4(4) = 0
-      If CameraFloor > 1 Then Camera.SetPosition Camera.GetPosition.X, (CameraFloor * 25) + 25 + 10, Camera.GetPosition.z
-      If CameraFloor = 1 And FloorIndicatorText(4) <> "M" Then Camera.SetPosition Camera.GetPosition.X, 10, Camera.GetPosition.z
-      End If
-      
-      If FineTune(4) = True Then
-      If ElevatorCheck3(4) = 0 Then
-      ElevatorSounds(4).Load App.Path + "\ding1.wav"
-      ElevatorSounds(4).Play
-      ElevatorCheck3(4) = 1
-        For i4 = -1 To 138
-        Buttons4(i4).SetColor RGBA(1, 1, 1, 1)
-        Next i4
-      End If
-      If elevatorstart(4).Y < (GotoFloor(4) * 25) + 25 Then
-      Elevator(4).MoveRelative 0, 0.2, 0
-      ElevatorInsDoorL(4).MoveRelative 0, 0.2, 0
-      ElevatorInsDoorR(4).MoveRelative 0, 0.2, 0
-      Plaque(4).MoveRelative 0, 0.2, 0
-        For i4 = -1 To 138
-        Buttons4(i4).MoveRelative 0, 0.2, 0
-        Next i4
-        FloorIndicator(4).MoveRelative 0, 0.2, 0
-        If ElevatorSync(4) = True Then Camera.MoveRelative 0, 0.2, 0
-      End If
-      If elevatorstart(4).Y > (GotoFloor(4) * 25) + 25 Then
-      Elevator(4).MoveRelative 0, -0.2, 0
-      ElevatorInsDoorL(4).MoveRelative 0, -0.2, 0
-      ElevatorInsDoorR(4).MoveRelative 0, -0.2, 0
-      Plaque(4).MoveRelative 0, -0.2, 0
-        For i4 = -1 To 138
-        Buttons4(i4).MoveRelative 0, -0.2, 0
-        Next i4
-        FloorIndicator(4).MoveRelative 0, -0.2, 0
-        If ElevatorSync(4) = True Then Camera.MoveRelative 0, -0.2, 0
-      End If
-      End If
-      
-      If OpenElevator(4) = 1 Then
-      'If ElevatorInsDoorL(ElevatorFloor2(4)).GetPosition.z >= 4 Then OpenElevator(4) = 0: GoTo OpenElevator1
-      If ElevatorDoor4L(ElevatorFloor2(4)).GetPosition.z >= 4 Then OpenElevator(4) = 0: GoTo OpenElevator1
-      If ElevatorCheck4(4) = 0 Then
-        If ElevatorSounds(4).PlayState = TV_PLAYSTATE_PLAYING Then
-        ElevatorSounds(4).Stop_
-        End If
-        ElevatorSounds(4).Loop_ = False
-        ElevatorSounds(4).Load App.Path + "\elevatoropen.wav"
-        ElevatorSounds(4).Volume = 0
-        'ElevatorSounds(4).maxDistance = 1000
-        'Call ElevatorSounds(4).SetConeOrientation(0, -5, 0)
-        'ElevatorSounds(4).ConeOutsideVolume = 0
-        'Call ElevatorSounds(4).SetPosition(-20.25, Elevator(4).GetPosition.Y, -23)
-        ElevatorSounds(4).Play
-        ElevatorCheck4(4) = 1
-      End If
-      OpenElevatorLoc(4) = OpenElevatorLoc(4) + 0.02
-      ElevatorDoor4L(ElevatorFloor2(4)).MoveRelative OpenElevatorLoc(4), 0, 0
-      ElevatorDoor4R(ElevatorFloor2(4)).MoveRelative -OpenElevatorLoc(4), 0, 0
-      ElevatorInsDoorL(4).MoveRelative OpenElevatorLoc(4), 0, 0
-      ElevatorInsDoorR(4).MoveRelative -OpenElevatorLoc(4), 0, 0
-      'If ElevatorInsDoorL(ElevatorFloor2(4)).GetPosition.z > 1 Then OpenElevator(4) = 2
-      If ElevatorDoor4L(ElevatorFloor2(4)).GetPosition.z > 1 Then OpenElevator(4) = 2
-OpenElevator1:
-      End If
-      
-      If OpenElevator(4) = 2 Then
-      ElevatorDoor4L(ElevatorFloor2(4)).MoveRelative OpenElevatorLoc(4), 0, 0
-      ElevatorDoor4R(ElevatorFloor2(4)).MoveRelative -OpenElevatorLoc(4), 0, 0
-      ElevatorInsDoorL(4).MoveRelative OpenElevatorLoc(4), 0, 0
-      ElevatorInsDoorR(4).MoveRelative -OpenElevatorLoc(4), 0, 0
-      'If ElevatorInsDoorL(ElevatorFloor2(4)).GetPosition.z > 3 Then OpenElevator(4) = 3
-      If ElevatorDoor4L(ElevatorFloor2(4)).GetPosition.z > 3 Then OpenElevator(4) = 3
-      End If
-      
-      If OpenElevator(4) = 3 Then
-      ElevatorCheck4(4) = 0
-      OpenElevatorLoc(4) = OpenElevatorLoc(4) - 0.02
-      'If ElevatorInsDoorL(ElevatorFloor2(4)).GetPosition.z < 7 And OpenElevatorLoc(4) = 0 Then OpenElevatorLoc(4) = 0.02
-      If ElevatorDoor4L(ElevatorFloor2(4)).GetPosition.z < 7 And OpenElevatorLoc(4) = 0 Then OpenElevatorLoc(4) = 0.02
-      ElevatorDoor4L(ElevatorFloor2(4)).MoveRelative OpenElevatorLoc(4), 0, 0
-      ElevatorDoor4R(ElevatorFloor2(4)).MoveRelative -OpenElevatorLoc(4), 0, 0
-      ElevatorInsDoorL(4).MoveRelative OpenElevatorLoc(4), 0, 0
-      ElevatorInsDoorR(4).MoveRelative -OpenElevatorLoc(4), 0, 0
-      If OpenElevatorLoc(4) <= 0 Then
-      OpenElevator(4) = 0
-      OpenElevatorLoc(4) = 0
-      Form1.Timer4.Enabled = True
-      End If
-      End If
-      
-      If OpenElevator(4) = -1 Then
-      'If ElevatorInsDoorL(ElevatorFloor2(4)).GetPosition.z <= 0 Then OpenElevator(4) = 0: GoTo OpenElevator2
-      If ElevatorDoor4L(ElevatorFloor2(4)).GetPosition.z <= 0 Then OpenElevator(4) = 0: GoTo OpenElevator2
-      If ElevatorCheck4(4) = 0 Then
-        If ElevatorSounds(4).PlayState = TV_PLAYSTATE_PLAYING Then
-        ElevatorSounds(4).Stop_
-        End If
-        ElevatorSounds(4).Loop_ = False
-        ElevatorSounds(4).Load App.Path + "\elevatorclose.wav"
-        ElevatorSounds(4).Volume = 0
-        'ElevatorSounds(4).maxDistance = 1000
-        'Call ElevatorSounds(4).SetConeOrientation(0, 0, 90)
-        'ElevatorSounds(4).ConeOutsideVolume = 0
-        'Call ElevatorSounds(4).SetPosition(-20.25, Elevator(4).GetPosition.Y, -23)
-        ElevatorSounds(4).Play
-        ElevatorCheck4(4) = 1
-      End If
-      OpenElevatorLoc(4) = OpenElevatorLoc(4) - 0.02
-      ElevatorDoor4L(ElevatorFloor2(4)).MoveRelative OpenElevatorLoc(4), 0, 0
-      ElevatorDoor4R(ElevatorFloor2(4)).MoveRelative -OpenElevatorLoc(4), 0, 0
-      ElevatorInsDoorL(4).MoveRelative OpenElevatorLoc(4), 0, 0
-      ElevatorInsDoorR(4).MoveRelative -OpenElevatorLoc(4), 0, 0
-      'If ElevatorInsDoorL(ElevatorFloor2(4)).GetPosition.z < 3 Then OpenElevator(4) = -2
-      If ElevatorDoor4L(ElevatorFloor2(4)).GetPosition.z < 3 Then OpenElevator(4) = -2
-OpenElevator2:
-      End If
-      
-      If OpenElevator(4) = -2 Then
-      ElevatorDoor4L(ElevatorFloor2(4)).MoveRelative OpenElevatorLoc(4), 0, 0
-      ElevatorDoor4R(ElevatorFloor2(4)).MoveRelative -OpenElevatorLoc(4), 0, 0
-      ElevatorInsDoorL(4).MoveRelative OpenElevatorLoc(4), 0, 0
-      ElevatorInsDoorR(4).MoveRelative -OpenElevatorLoc(4), 0, 0
-      'If ElevatorInsDoorL(ElevatorFloor2(4)).GetPosition.z < 1 Then OpenElevator(4) = -3
-      If ElevatorDoor4L(ElevatorFloor2(4)).GetPosition.z < 1 Then OpenElevator(4) = -3
-      End If
-      
-      If OpenElevator(4) = -3 Then
-      ElevatorCheck4(4) = 0
-      OpenElevatorLoc(4) = OpenElevatorLoc(4) + 0.02
-      'If ElevatorInsDoorL(ElevatorFloor2(4)).GetPosition.z > 0 And OpenElevatorLoc(4) >= 0 Then OpenElevatorLoc(4) = -0.02
-      If ElevatorDoor4L(ElevatorFloor2(4)).GetPosition.z > 0 And OpenElevatorLoc(4) >= 0 Then OpenElevatorLoc(4) = -0.02
-      ElevatorDoor4L(ElevatorFloor2(4)).MoveRelative OpenElevatorLoc(4), 0, 0
-      ElevatorDoor4R(ElevatorFloor2(4)).MoveRelative -OpenElevatorLoc(4), 0, 0
-      ElevatorInsDoorL(4).MoveRelative OpenElevatorLoc(4), 0, 0
-      ElevatorInsDoorR(4).MoveRelative -OpenElevatorLoc(4), 0, 0
-      If OpenElevatorLoc(4) >= 0 Then
-      OpenElevator(4) = 0
-      OpenElevatorLoc(4) = 0
-      ElevatorInsDoorL(4).SetPosition ElevatorInsDoorL(4).GetPosition.X, ElevatorInsDoorL(4).GetPosition.Y, 0
-      ElevatorInsDoorR(4).SetPosition ElevatorInsDoorR(4).GetPosition.X, ElevatorInsDoorR(4).GetPosition.Y, 0
-      ElevatorDoor4L(ElevatorFloor2(4)).SetPosition ElevatorDoor4L(ElevatorFloor2(4)).GetPosition.X, ElevatorDoor4L(ElevatorFloor2(4)).GetPosition.Y, 0
-      ElevatorDoor4R(ElevatorFloor2(4)).SetPosition ElevatorDoor4R(ElevatorFloor2(4)).GetPosition.X, ElevatorDoor4R(ElevatorFloor2(4)).GetPosition.Y, 0
-      End If
-      End If
-      
-      
-End Sub
+End If
 
-Sub Elevator5Loop()
+'Elevator 4
+If Number = 4 Then
 
-elevatorstart(5) = Elevator(5).GetPosition
+    'Buttons(135).AddWall GetTex("Button135"), (ShaftLeft+0.17), -18.45 + (15 * 1), (ShaftLeft+0.17), -18.15 + (15 * 1), 0.3, (Elevator(Number).GetPosition.y + 12), 1, 1
+    'Buttons(1).AddWall GetTex("Button1"), (ShaftLeft+0.17), -18.45 + (15 * 1) + 0.4, (ShaftLeft+0.17), -18.15 + (15 * 1) + 0.4, 0.3, (Elevator(Number).GetPosition.y + 12), 1, 1
+    'Buttons(136).AddWall GetTex("Button136"), (ShaftLeft+0.17), -18.45 + (15 * 1) + 0.8, (ShaftLeft+0.17), -18.15 + (15 * 1) + 0.8, 0.3, (Elevator(Number).GetPosition.y + 12), 1, 1
+    'Buttons(137).AddWall GetTex("Button137"), (ShaftLeft+0.17), -18.45 + (15 * 1) + 1.2, (ShaftLeft+0.17), -18.15 + (15 * 1) + 1.2, 0.3, (Elevator(Number).GetPosition.y + 12), 1, 1
+    'Buttons(138).AddWall GetTex("ButtonR"), (ShaftLeft+0.17), -18.45 + (15 * 1) + 1.6, (ShaftLeft+0.17), -18.15 + (15 * 1) + 1.6, 0.3, (Elevator(Number).GetPosition.y + 12), 1, 1
+    
+    'Buttons(142).AddWall GetTex("ButtonStop"), (ShaftLeft + 0.17), -18.45 + (15 * 1), (ShaftLeft + 0.17), -18.15 + (15 * 1), 0.3, (Elevator(Number).GetPosition.Y + 12) - 0.5, 1, 1
+    'Buttons(131).AddWall GetTex("Button131"), (ShaftLeft+0.17), -18.45 + (15 * 1) + 0.4, (ShaftLeft+0.17), -18.15 + (15 * 1) + 0.4, 0.3, (Elevator(Number).GetPosition.y + 12) - 0.5, 1, 1
+    'Buttons(135).AddWall GetTex("Button135"), (ShaftLeft+0.17), -18.45 + (15 * 1) + 0.8, (ShaftLeft+0.17), -18.15 + (15 * 1) + 0.8, 0.3, (Elevator(Number).GetPosition.y + 12) - 0.5, 1, 1
+    'Buttons(133).AddWall GetTex("Button133"), (ShaftLeft+0.17), -18.45 + (15 * 1) + 1.2, (ShaftLeft+0.17), -18.15 + (15 * 1) + 1.2, 0.3, (Elevator(Number).GetPosition.y + 12) - 0.5, 1, 1
+    'Buttons(143).AddWall GetTex("ButtonAlarm"), (ShaftLeft + 0.17), -18.45 + (15 * 1) + 1.6, (ShaftLeft + 0.17), -18.15 + (15 * 1) + 1.6, 0.3, (Elevator(Number).GetPosition.Y + 12) - 0.5, 1, 1
+    
+    'Buttons(115).AddWall GetTex("Button115"), (ShaftLeft+0.17), -18.45 + (15 * 1), (ShaftLeft+0.17), -18.15 + (15 * 1), 0.3, (Elevator(Number).GetPosition.y + 12) - 1, 1, 1
+    'Buttons(116).AddWall GetTex("Button116"), (ShaftLeft+0.17), -18.45 + (15 * 1) + 0.4, (ShaftLeft+0.17), -18.15 + (15 * 1) + 0.4, 0.3, (Elevator(Number).GetPosition.y + 12) - 1, 1, 1
+    Buttons(136).AddWall GetTex("Button136"), (ShaftLeft + 0.17), -18.45 + (15 * 1) + 0.8, (ShaftLeft + 0.17), -18.15 + (15 * 1) + 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 1, 1, 1
+    'Buttons(118).AddWall GetTex("Button118"), (ShaftLeft+0.17), -18.45 + (15 * 1) + 1.2, (ShaftLeft+0.17), -18.15 + (15 * 1) + 1.2, 0.3, (Elevator(Number).GetPosition.y + 12) - 1, 1, 1
+    'Buttons(129).AddWall GetTex("Button129"), (ShaftLeft+0.17), -18.45 + (15 * 1) + 1.6, (ShaftLeft+0.17), -18.15 + (15 * 1) + 1.6, 0.3, (Elevator(Number).GetPosition.y + 12) - 1, 1, 1
+    
+    'Buttons(110).AddWall GetTex("Button110"), (ShaftLeft+0.17), -18.45 + (15 * 1), (ShaftLeft+0.17), -18.15 + (15 * 1), 0.3, (Elevator(Number).GetPosition.y + 12) - 1.5, 1, 1
+    'Buttons(111).AddWall GetTex("Button111"), (ShaftLeft+0.17), -18.45 + (15 * 1) + 0.4, (ShaftLeft+0.17), -18.15 + (15 * 1) + 0.4, 0.3, (Elevator(Number).GetPosition.y + 12) - 1.5, 1, 1
+    Buttons(135).AddWall GetTex("Button135"), (ShaftLeft + 0.17), -18.45 + (15 * 1) + 0.8, (ShaftLeft + 0.17), -18.15 + (15 * 1) + 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 1.5, 1, 1
+    'Buttons(113).AddWall GetTex("Button113"), (ShaftLeft+0.17), -18.45 + (15 * 1) + 1.2, (ShaftLeft+0.17), -18.15 + (15 * 1) + 1.2, 0.3, (Elevator(Number).GetPosition.y + 12) - 1.5, 1, 1
+    'Buttons(114).AddWall GetTex("Button114"), (ShaftLeft+0.17), -18.45 + (15 * 1) + 1.6, (ShaftLeft+0.17), -18.15 + (15 * 1) + 1.6, 0.3, (Elevator(Number).GetPosition.y + 12) - 1.5, 1, 1
+    
+    'Buttons(105).AddWall GetTex("Button105"), (ShaftLeft+0.17), -18.45 + (15 * 1), (ShaftLeft+0.17), -18.15 + (15 * 1), 0.3, (Elevator(Number).GetPosition.y + 12) - 2, 1, 1
+    'Buttons(106).AddWall GetTex("Button106"), (ShaftLeft+0.17), -18.45 + (15 * 1) + 0.4, (ShaftLeft+0.17), -18.15 + (15 * 1) + 0.4, 0.3, (Elevator(Number).GetPosition.y + 12) - 2, 1, 1
+    Buttons(134).AddWall GetTex("Button134"), (ShaftLeft + 0.17), -18.45 + (15 * 1) + 0.8, (ShaftLeft + 0.17), -18.15 + (15 * 1) + 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 2, 1, 1
+    'Buttons(108).AddWall GetTex("Button108"), (ShaftLeft+0.17), -18.45 + (15 * 1) + 1.2, (ShaftLeft+0.17), -18.15 + (15 * 1) + 1.2, 0.3, (Elevator(Number).GetPosition.y + 12) - 2, 1, 1
+    'Buttons(109).AddWall GetTex("Button109"), (ShaftLeft+0.17), -18.45 + (15 * 1) + 1.6, (ShaftLeft+0.17), -18.15 + (15 * 1) + 1.6, 0.3, (Elevator(Number).GetPosition.y + 12) - 2, 1, 1
+    
+    'Buttons(100).AddWall GetTex("Button100"), (ShaftLeft+0.17), -18.45 + (15 * 1), (ShaftLeft+0.17), -18.15 + (15 * 1), 0.3, (Elevator(Number).GetPosition.y + 12) - 2.5, 1, 1
+    'Buttons(101).AddWall GetTex("Button101"), (ShaftLeft+0.17), -18.45 + (15 * 1) + 0.4, (ShaftLeft+0.17), -18.15 + (15 * 1) + 0.4, 0.3, (Elevator(Number).GetPosition.y + 12) - 2.5, 1, 1
+    Buttons(132).AddWall GetTex("Button132"), (ShaftLeft + 0.17), -18.45 + (15 * 1) + 0.8, (ShaftLeft + 0.17), -18.15 + (15 * 1) + 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 2.5, 1, 1
+    'Buttons(103).AddWall GetTex("Button103"), (ShaftLeft+0.17), -18.45 + (15 * 1) + 1.2, (ShaftLeft+0.17), -18.15 + (15 * 1) + 1.2, 0.3, (Elevator(Number).GetPosition.y + 12) - 2.5, 1, 1
+    'Buttons(104).AddWall GetTex("Button104"), (ShaftLeft+0.17), -18.45 + (15 * 1) + 1.6, (ShaftLeft+0.17), -18.15 + (15 * 1) + 1.6, 0.3, (Elevator(Number).GetPosition.y + 12) - 2.5, 1, 1
+    
+    'Buttons(95).AddWall GetTex("Button95"), (ShaftLeft+0.17), -18.45 + (15 * 1), (ShaftLeft+0.17), -18.15 + (15 * 1), 0.3, (Elevator(Number).GetPosition.y + 12) - 3, 1, 1
+    'Buttons(96).AddWall GetTex("Button96"), (ShaftLeft+0.17), -18.45 + (15 * 1) + 0.4, (ShaftLeft+0.17), -18.15 + (15 * 1) + 0.4, 0.3, (Elevator(Number).GetPosition.y + 12) - 3, 1, 1
+    Buttons(80).AddWall GetTex("Button80"), (ShaftLeft + 0.17), -18.45 + (15 * 1) + 0.8, (ShaftLeft + 0.17), -18.15 + (15 * 1) + 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 3, 1, 1
+    'Buttons(98).AddWall GetTex("Button98"), (ShaftLeft+0.17), -18.45 + (15 * 1) + 1.2, (ShaftLeft+0.17), -18.15 + (15 * 1) + 1.2, 0.3, (Elevator(Number).GetPosition.y + 12) - 3, 1, 1
+    'Buttons(99).AddWall GetTex("Button99"), (ShaftLeft+0.17), -18.45 + (15 * 1) + 1.6, (ShaftLeft+0.17), -18.15 + (15 * 1) + 1.6, 0.3, (Elevator(Number).GetPosition.y + 12) - 3, 1, 1
+    
+    'Buttons(90).AddWall GetTex("Button90"), (ShaftLeft+0.17), -18.45 + (15 * 1), (ShaftLeft+0.17), -18.15 + (15 * 1), 0.3, (Elevator(Number).GetPosition.y + 12) - 3.5, 1, 1
+    'Buttons(91).AddWall GetTex("Button91"), (ShaftLeft+0.17), -18.45 + (15 * 1) + 0.4, (ShaftLeft+0.17), -18.15 + (15 * 1) + 0.4, 0.3, (Elevator(Number).GetPosition.y + 12) - 3.5, 1, 1
+    Buttons(0).AddWall GetTex("ButtonM"), (ShaftLeft + 0.17), -18.45 + (15 * 1) + 0.8, (ShaftLeft + 0.17), -18.15 + (15 * 1) + 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 3.5, 1, 1
+    'Buttons(93).AddWall GetTex("Button93"), (ShaftLeft+0.17), -18.45 + (15 * 1) + 1.2, (ShaftLeft+0.17), -18.15 + (15 * 1) + 1.2, 0.3, (Elevator(Number).GetPosition.y + 12) - 3.5, 1, 1
+    'Buttons(94).AddWall GetTex("Button94"), (ShaftLeft+0.17), -18.45 + (15 * 1) + 1.6, (ShaftLeft+0.17), -18.15 + (15 * 1) + 1.6, 0.3, (Elevator(Number).GetPosition.y + 12) - 3.5, 1, 1
+    
+    'Buttons(85).AddWall GetTex("Button85"), (ShaftLeft+0.17), -18.45 + (15 * 1), (ShaftLeft+0.17), -18.15 + (15 * 1), 0.3, (Elevator(Number).GetPosition.y + 12) - 4, 1, 1
+    'Buttons(86).AddWall GetTex("Button86"), (ShaftLeft+0.17), -18.45 + (15 * 1) + 0.4, (ShaftLeft+0.17), -18.15 + (15 * 1) + 0.4, 0.3, (Elevator(Number).GetPosition.y + 12) - 4, 1, 1
+    Buttons(-1).AddWall GetTex("ButtonL"), (ShaftLeft + 0.17), -18.45 + (15 * 1) + 0.8, (ShaftLeft + 0.17), -18.15 + (15 * 1) + 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 4, 1, 1
+    'Buttons(88).AddWall GetTex("Button88"), (ShaftLeft+0.17), -18.45 + (15 * 1) + 1.2, (ShaftLeft+0.17), -18.15 + (15 * 1) + 1.2, 0.3, (Elevator(Number).GetPosition.y + 12) - 4, 1, 1
+    'Buttons(89).AddWall GetTex("Button89"), (ShaftLeft+0.17), -18.45 + (15 * 1) + 1.6, (ShaftLeft+0.17), -18.15 + (15 * 1) + 1.6, 0.3, (Elevator(Number).GetPosition.y + 12) - 4, 1, 1
+    
+    'Buttons(139).AddWall GetTex("ButtonOpen"), (ShaftLeft + 0.17), -18.45 + (15 * 1), (ShaftLeft + 0.17), -18.15 + (15 * 1), 0.3, (Elevator(Number).GetPosition.Y + 12) - 4.5, 1, 1
+    'Buttons(81).AddWall GetTex("Button81"), (ShaftLeft+0.17), -18.45 + (15 * 1) + 0.4, (ShaftLeft+0.17), -18.15 + (15 * 1) + 0.4, 0.3, (Elevator(Number).GetPosition.y + 12) - 4.5, 1, 1
+    'Buttons(140).AddWall GetTex("ButtonClose"), (ShaftLeft + 0.17), -18.45 + (15 * 1) + 0.8, (ShaftLeft + 0.17), -18.15 + (15 * 1) + 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 4.5, 1, 1
+    'Buttons(83).AddWall GetTex("Button83"), (ShaftLeft+0.17), -18.45 + (15 * 1) + 1.2, (ShaftLeft+0.17), -18.15 + (15 * 1) + 1.2, 0.3, (Elevator(Number).GetPosition.y + 12) - 4.5, 1, 1
+    'Buttons(141).AddWall GetTex("ButtonCancel"), (ShaftLeft + 0.17), -18.45 + (15 * 1) + 1.6, (ShaftLeft + 0.17), -18.15 + (15 * 1) + 1.6, 0.3, (Elevator(Number).GetPosition.Y + 12) - 4.5, 1, 1
+    
+    'Buttons(142).AddWall GetTex("ButtonStop"), (ShaftLeft + 0.17), -18.45 + (15 * 1), (ShaftLeft + 0.17), -18.15 + (15 * 1), 0.3, (Elevator(Number).GetPosition.y + 12) - 5, 1, 1
+    'Buttons(39).AddWall GetTex("Button39"), (ShaftLeft+0.17), -18.45 + (15 * 1) + 0.4, (ShaftLeft+0.17), -18.15 + (15 * 1) + 0.4, 0.3, (Elevator(Number).GetPosition.y + 12) - 5, 1, 1
+    'Buttons(40).AddWall GetTex("Button40"), (ShaftLeft+0.17), -18.45 + (15 * 1) + 0.8, (ShaftLeft+0.17), -18.15 + (15 * 1) + 0.8, 0.3, (Elevator(Number).GetPosition.y + 12) - 5, 1, 1
+    'Buttons(65).AddWall GetTex("Button65"), (ShaftLeft+0.17), -18.45 + (15 * 1) + 1.2, (ShaftLeft+0.17), -18.15 + (15 * 1) + 1.2, 0.3, (Elevator(Number).GetPosition.y + 12) - 5, 1, 1
+    'Buttons(143).AddWall GetTex("ButtonAlarm"), (ShaftLeft + 0.17), -18.45 + (15 * 1) + 1.6, (ShaftLeft + 0.17), -18.15 + (15 * 1) + 1.6, 0.3, (Elevator(Number).GetPosition.y + 12) - 5, 1, 1
+    
+    Buttons(139).AddWall GetTex("ButtonOpen"), (ShaftLeft + 0.17), -18.45 + (15 * 1), (ShaftLeft + 0.17), -18.15 + (15 * 1), 0.3, (Elevator(Number).GetPosition.Y + 12) - 5.5, 1, 1
+    Buttons(140).AddWall GetTex("ButtonClose"), (ShaftLeft + 0.17), -18.45 + (15 * 1) + 0.4, (ShaftLeft + 0.17), -18.15 + (15 * 1) + 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 5.5, 1, 1
+    Buttons(141).AddWall GetTex("ButtonCancel"), (ShaftLeft + 0.17), -18.45 + (15 * 1) + 0.8, (ShaftLeft + 0.17), -18.15 + (15 * 1) + 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 5.5, 1, 1
+    Buttons(142).AddWall GetTex("ButtonStop"), (ShaftLeft + 0.17), -18.45 + (15 * 1) + 1.2, (ShaftLeft + 0.17), -18.15 + (15 * 1) + 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 5.5, 1, 1
+    Buttons(143).AddWall GetTex("ButtonAlarm"), (ShaftLeft + 0.17), -18.45 + (15 * 1) + 1.6, (ShaftLeft + 0.17), -18.15 + (15 * 1) + 1.6, 0.3, (Elevator(Number).GetPosition.Y + 12) - 5.5, 1, 1
 
-'Find the floor that the elevator's on
-ElevatorFloor(5) = (Elevator(5).GetPosition.Y - 25) / 25
-      
-      'If elevator goes below floor 2, then set elevatorfloor as 1
-      If ElevatorFloor(5) < 1 Then ElevatorFloor(5) = 1
-      
-      If GotoFloor(5) = ElevatorFloor(5) - 1 Then CurrentFloor(5) = ElevatorFloor(5)
-
-      'If GotoFloor(5) <> 0 And GotoFloor(5) > CurrentFloor(5) And ElevatorDirection(5) = 0 And ElevatorInsDoorL(ElevatorFloor2(5)).GetPosition.z <= 0 Then
-      If GotoFloor(5) <> 0 And GotoFloor(5) > CurrentFloor(5) And ElevatorDirection(5) = 0 And ElevatorDoor5L(ElevatorFloor2(5)).GetPosition.z <= 0 Then
-      ElevatorDirection(5) = 1
-      OriginalLocation(5) = CurrentFloorExact(5)
-      DistanceToTravel(5) = ((GotoFloor(5) * 25) + 25) - ((CurrentFloorExact(5) * 25) + 25)
-      If ElevatorSync(5) = True Then
-      Room(CameraFloor).Enable False
-      For i5 = 1 To 10
-      CallButtons(i5).Enable False
-      Next i5
-      ElevatorDoor1L(CameraFloor).Enable False
-      ElevatorDoor1R(CameraFloor).Enable False
-      ElevatorDoor2L(CameraFloor).Enable False
-      ElevatorDoor2R(CameraFloor).Enable False
-      ElevatorDoor3L(CameraFloor).Enable False
-      ElevatorDoor3R(CameraFloor).Enable False
-      ElevatorDoor4L(CameraFloor).Enable False
-      ElevatorDoor4R(CameraFloor).Enable False
-      ElevatorDoor5L(CameraFloor).Enable False
-      ElevatorDoor5R(CameraFloor).Enable False
-      ElevatorDoor6L(CameraFloor).Enable False
-      ElevatorDoor6R(CameraFloor).Enable False
-      ElevatorDoor7L(CameraFloor).Enable False
-      ElevatorDoor7R(CameraFloor).Enable False
-      ElevatorDoor8L(CameraFloor).Enable False
-      ElevatorDoor8R(CameraFloor).Enable False
-      ElevatorDoor9L(CameraFloor).Enable False
-      ElevatorDoor9R(CameraFloor).Enable False
-      ElevatorDoor10L(CameraFloor).Enable False
-      ElevatorDoor10R(CameraFloor).Enable False
-      DestroyObjects (CameraFloor)
-      ShaftsFloor(CameraFloor).Enable False
-      Atmos.SkyBox_Enable False
-      Stairs(CameraFloor).Enable False
-      If CameraFloor < 138 Then Stairs(CameraFloor + 1).Enable False
-      If CameraFloor > 1 Then Stairs(CameraFloor - 1).Enable False
-      End If
-      End If
-      'If GotoFloor(5) <> 0 And GotoFloor(5) < CurrentFloor(5) And ElevatorDirection(5) = 0 And ElevatorInsDoorL(ElevatorFloor2(5)).GetPosition.z <= 0 Then
-      If GotoFloor(5) <> 0 And GotoFloor(5) < CurrentFloor(5) And ElevatorDirection(5) = 0 And ElevatorDoor5L(ElevatorFloor2(5)).GetPosition.z <= 0 Then
-      ElevatorDirection(5) = -1
-      OriginalLocation(5) = CurrentFloorExact(5)
-      DistanceToTravel(5) = ((CurrentFloorExact(5) * 25) + 25) - ((GotoFloor(5) * 25) + 25)
-      If ElevatorSync(5) = True Then
-      Room(CameraFloor).Enable False
-      For i5 = 1 To 10
-      CallButtons(i5).Enable False
-      Next i5
-      ElevatorDoor1L(CameraFloor).Enable False
-      ElevatorDoor1R(CameraFloor).Enable False
-      ElevatorDoor2L(CameraFloor).Enable False
-      ElevatorDoor2R(CameraFloor).Enable False
-      ElevatorDoor3L(CameraFloor).Enable False
-      ElevatorDoor3R(CameraFloor).Enable False
-      ElevatorDoor4L(CameraFloor).Enable False
-      ElevatorDoor4R(CameraFloor).Enable False
-      ElevatorDoor5L(CameraFloor).Enable False
-      ElevatorDoor5R(CameraFloor).Enable False
-      ElevatorDoor6L(CameraFloor).Enable False
-      ElevatorDoor6R(CameraFloor).Enable False
-      ElevatorDoor7L(CameraFloor).Enable False
-      ElevatorDoor7R(CameraFloor).Enable False
-      ElevatorDoor8L(CameraFloor).Enable False
-      ElevatorDoor8R(CameraFloor).Enable False
-      ElevatorDoor9L(CameraFloor).Enable False
-      ElevatorDoor9R(CameraFloor).Enable False
-      ElevatorDoor10L(CameraFloor).Enable False
-      ElevatorDoor10R(CameraFloor).Enable False
-      DestroyObjects (CameraFloor)
-      ShaftsFloor(CameraFloor).Enable False
-      Atmos.SkyBox_Enable False
-      Stairs(CameraFloor).Enable False
-      If CameraFloor < 138 Then Stairs(CameraFloor + 1).Enable False
-      If CameraFloor > 1 Then Stairs(CameraFloor - 1).Enable False
-      End If
-      End If
-      
-       CurrentFloor(5) = Int((elevatorstart(5).Y - 25) / 25)
-       CurrentFloorExact(5) = (elevatorstart(5).Y - 25) / 25
-       'CurrentFloor(5) = (Elevator(5).GetPosition.y / 25) - 1
-       'CurrentFloorExact(5) = Int((Elevator(5).GetPosition.y / 25) - 1)
+End If
 
-       'Form2.Text1.Text = "Sound Location=7.75,20,7 " + vbCrLf + "Elevator Floor=" + Str$(ElevatorFloor(5)) + vbCrLf + "Camera Floor=" + Str$(CameraFloor) + vbCrLf + "Current Location= " + Str$(Int(Camera.GetPosition.x)) + "," + Str$(Int(Camera.GetPosition.y)) + "," + Str$(Int(Camera.GetPosition.z)) + vbCrLf + "Distance to Travel=" + Str$(DistanceToTravel(5)) + vbCrLf + "Destination=" + Str$(Destination) + vbCrLf + "Rate=" + Str$(ElevatorEnable(5) / 5)
-        
-        If ElevatorEnable(5) >= 0 And ElevatorDirection(5) = 1 Then
-        'sound
-        If ElevatorSounds(5).PlayState <> TV_PLAYSTATE_PLAYING And ElevatorCheck(5) = 0 And GotoFloor(5) <> ElevatorFloor(5) Then
-        ElevatorSounds(5).Loop_ = False
-        ElevatorSounds(5).Load App.Path + "\elevstart.wav"
-        ElevatorSounds(5).Volume = 0
-        'ElevatorSounds(5).maxDistance = 100
-        'Call ElevatorSounds(5).SetConeOrientation(0, 0, 90)
-        'ElevatorSounds(5).ConeOutsideVolume = 0
-        'Call ElevatorSounds(5).SetPosition(-20.25, Elevator1(5).GetPosition.Y + 20, -23)
-        ElevatorSounds(5).Play
-        ElevatorCheck(5) = 1
-        End If
-        If ElevatorSounds(5).PlayState = TV_PLAYSTATE_ENDED And ElevatorCheck(5) = 1 Then
-        ElevatorSounds(5).Load App.Path + "\elevmove.wav"
-        ElevatorSounds(5).Loop_ = True
-        ElevatorSounds(5).Play
-        End If
-        'movement
-        Elevator(5).MoveRelative 0, (ElevatorEnable(5) / 5), 0
-        ElevatorInsDoorL(5).MoveRelative 0, (ElevatorEnable(5) / 5), 0
-        ElevatorInsDoorR(5).MoveRelative 0, (ElevatorEnable(5) / 5), 0
-        FloorIndicator(5).MoveRelative 0, (ElevatorEnable(5) / 5), 0
-        Plaque(5).MoveRelative 0, (ElevatorEnable(5) / 5), 0
-        For i5 = -1 To 138
-        Buttons5(i5).MoveRelative 0, (ElevatorEnable(5) / 5), 0
-        Next i5
-        If ElevatorSync(5) = True Then Camera.MoveRelative 0, (ElevatorEnable(5) / 5), 0
-        'ElevatorSounds(5).SetPosition -20.25, Elevator(5).GetPosition.Y + 20, -23
-        ''ElevatorMusic(5).SetPosition -20.25, Elevator(5).GetPosition.Y + 20, -23
-        ElevatorEnable(5) = ElevatorEnable(5) + 0.25
-        If ElevatorEnable(5) <= 15 Then StoppingDistance(5) = CurrentFloorExact(5) - OriginalLocation(5) + 0.4
-        If ElevatorEnable(5) > 15 Then ElevatorEnable(5) = 15
-        Destination(5) = ((OriginalLocation(5) * 25) + 25) + DistanceToTravel(5) - 35
-        If GotoFloor(5) <> 0 And elevatorstart(5).Y >= (Destination(5) - (StoppingDistance(5) * 25) + 25) Then ElevatorDirection(5) = -1: ElevatorCheck(5) = 0
-        End If
-      
-        If ElevatorEnable(5) > 0 And ElevatorDirection(5) = -1 Then
-        'Sounds
-        If ElevatorSounds(5).PlayState = TV_PLAYSTATE_PLAYING And ElevatorCheck2(5) = 0 And FineTune(5) = False Then
-        ElevatorSounds(5).Loop_ = False
-        ElevatorSounds(5).Stop_
-        End If
-        If ElevatorSounds(5).PlayState <> TV_PLAYSTATE_PLAYING And ElevatorCheck2(5) = 0 And FineTune(5) = False Then
-        ElevatorSounds(5).Loop_ = False
-        ElevatorSounds(5).Load App.Path + "\elevstop.wav"
-        ElevatorSounds(5).Play
-        ElevatorCheck2(5) = 1
-        End If
-        'Movement
-        Elevator(5).MoveRelative 0, (ElevatorEnable(5) / 5), 0
-        ElevatorInsDoorL(5).MoveRelative 0, (ElevatorEnable(5) / 5), 0
-        ElevatorInsDoorR(5).MoveRelative 0, (ElevatorEnable(5) / 5), 0
-        FloorIndicator(5).MoveRelative 0, (ElevatorEnable(5) / 5), 0
-        Plaque(5).MoveRelative 0, (ElevatorEnable(5) / 5), 0
-        For i5 = -1 To 138
-        Buttons5(i5).MoveRelative 0, (ElevatorEnable(5) / 5), 0
-        Next i5
-        If ElevatorSync(5) = True Then Camera.MoveRelative 0, (ElevatorEnable(5) / 5), 0
-        
-        'ElevatorSounds(5).SetPosition -20.25, Elevator(5).GetPosition.Y + 20, -23
-        ''ElevatorMusic(5).SetPosition -20.25, Elevator(5).GetPosition.Y + 20, -23
-        ElevatorEnable(5) = ElevatorEnable(5) - 0.25
-        If ElevatorEnable(5) < 0 Then ElevatorEnable(5) = 0
-        If ElevatorEnable(5) = 0 Then ElevatorDirection(5) = 0
-        If GotoFloor(5) <> 0 Then ElevatorCheck(5) = 0: FineTune(5) = True
-        End If
-      
-        If ElevatorEnable(5) <= 0 And ElevatorDirection(5) = -1 Then
-        If ElevatorSounds(5).PlayState <> TV_PLAYSTATE_PLAYING And ElevatorCheck(5) = 0 Then
-        ElevatorSounds(5).Loop_ = False
-        ElevatorSounds(5).Load App.Path + "\elevstart.wav"
-        ElevatorSounds(5).Volume = 0
-        'ElevatorSounds(5).maxDistance = 100
-        'Call ElevatorSounds(5).SetConeOrientation(0, 0, 90)
-        'ElevatorSounds(5).ConeOutsideVolume = 0
-        'Call ElevatorSounds(5).SetPosition(-20.25, Elevator(5).GetPosition.Y + 20, -23)
-        ElevatorSounds(5).Play
-        ElevatorCheck(5) = 1
-        End If
-        If ElevatorSounds(5).PlayState = TV_PLAYSTATE_ENDED And ElevatorCheck(5) = 1 Then
-        ElevatorSounds(5).Load App.Path + "\elevmove.wav"
-        ElevatorSounds(5).Loop_ = True
-        ElevatorSounds(5).Play
-        End If
-        Elevator(5).MoveRelative 0, (ElevatorEnable(5) / 5), 0
-        ElevatorInsDoorL(5).MoveRelative 0, (ElevatorEnable(5) / 5), 0
-        ElevatorInsDoorR(5).MoveRelative 0, (ElevatorEnable(5) / 5), 0
-        FloorIndicator(5).MoveRelative 0, (ElevatorEnable(5) / 5), 0
-        Plaque(5).MoveRelative 0, (ElevatorEnable(5) / 5), 0
-        For i5 = -1 To 138
-        Buttons5(i5).MoveRelative 0, (ElevatorEnable(5) / 5), 0
-        Next i5
-        If ElevatorSync(5) = True Then Camera.MoveRelative 0, (ElevatorEnable(5) / 5), 0
-        'ElevatorSounds(5).SetPosition -20.25, Elevator(5).GetPosition.Y + 20, -23
-        ''ElevatorMusic(5).SetPosition -20.25, Elevator(5).GetPosition.Y + 20, -23
-        ElevatorEnable(5) = ElevatorEnable(5) - 0.25
-        If ElevatorEnable(5) >= -15 Then StoppingDistance(5) = OriginalLocation(5) - CurrentFloorExact(5)
-        If ElevatorEnable(5) < -15 Then ElevatorEnable(5) = -15
-        Destination(5) = ((OriginalLocation(5) * 25) + 25) - DistanceToTravel(5)
-        If GotoFloor(5) <> 0 And elevatorstart(5).Y <= (Destination(5) + (StoppingDistance(5) * 25) + 25) Then ElevatorDirection(5) = 1: ElevatorCheck(5) = 0
-        End If
-      
-        If ElevatorEnable(5) < 0 And ElevatorDirection(5) = 1 Then
-        If ElevatorSounds(5).PlayState = TV_PLAYSTATE_PLAYING And ElevatorCheck2(5) = 0 And FineTune(5) = False Then
-        ElevatorSounds(5).Loop_ = False
-        ElevatorSounds(5).Stop_
-        End If
-        If ElevatorSounds(5).PlayState <> TV_PLAYSTATE_PLAYING And ElevatorCheck2(5) = 0 And FineTune(5) = False Then
-        ElevatorSounds(5).Loop_ = False
-        ElevatorSounds(5).Load App.Path + "\elevstop.wav"
-        ElevatorSounds(5).Play
-        ElevatorCheck2(5) = 1
-        End If
-        Elevator(5).MoveRelative 0, (ElevatorEnable(5) / 5), 0
-        ElevatorInsDoorL(5).MoveRelative 0, (ElevatorEnable(5) / 5), 0
-        ElevatorInsDoorR(5).MoveRelative 0, (ElevatorEnable(5) / 5), 0
-        FloorIndicator(5).MoveRelative 0, (ElevatorEnable(5) / 5), 0
-        Plaque(5).MoveRelative 0, (ElevatorEnable(5) / 5), 0
-        For i5 = -1 To 138
-        Buttons5(i5).MoveRelative 0, (ElevatorEnable(5) / 5), 0
-        Next i5
-        If ElevatorSync(5) = True Then Camera.MoveRelative 0, (ElevatorEnable(5) / 5), 0
-        'ElevatorSounds(5).SetPosition -20.25, Elevator(5).GetPosition.Y + 20, -23
-        ''ElevatorMusic(5).SetPosition -20.25, Elevator(5).GetPosition.Y + 20, -23
-        ElevatorEnable(5) = ElevatorEnable(5) + 0.25
-        If ElevatorEnable(5) > 0 Then ElevatorEnable(5) = 0
-        If ElevatorEnable(5) = 0 Then ElevatorDirection(5) = 0
-        If GotoFloor(5) <> 0 Then ElevatorCheck(5) = 0: FineTune(5) = True
-        End If
-      
-      If FineTune(5) = True And ElevatorEnable(5) = 0 And elevatorstart(5).Y > (GotoFloor(5) * 25) + 25 + -0.3 And elevatorstart(5).Y < (GotoFloor(5) * 25) + 25 + 0.3 Then
-      FineTune(5) = False
-      If ElevatorSync(5) = True Then
-      Room(CameraFloor).Enable True
-      ElevatorDoor1L(CameraFloor).Enable True
-      ElevatorDoor1R(CameraFloor).Enable True
-      ElevatorDoor2L(CameraFloor).Enable True
-      ElevatorDoor2R(CameraFloor).Enable True
-      ElevatorDoor3L(CameraFloor).Enable True
-      ElevatorDoor3R(CameraFloor).Enable True
-      ElevatorDoor4L(CameraFloor).Enable True
-      ElevatorDoor4R(CameraFloor).Enable True
-      ElevatorDoor5L(CameraFloor).Enable True
-      ElevatorDoor5R(CameraFloor).Enable True
-      ElevatorDoor6L(CameraFloor).Enable True
-      ElevatorDoor6R(CameraFloor).Enable True
-      ElevatorDoor7L(CameraFloor).Enable True
-      ElevatorDoor7R(CameraFloor).Enable True
-      ElevatorDoor8L(CameraFloor).Enable True
-      ElevatorDoor8R(CameraFloor).Enable True
-      ElevatorDoor9L(CameraFloor).Enable True
-      ElevatorDoor9R(CameraFloor).Enable True
-      ElevatorDoor10L(CameraFloor).Enable True
-      ElevatorDoor10R(CameraFloor).Enable True
-      For i5 = 1 To 10
-      CallButtons(i5).Enable True
-      Next i5
-      ShaftsFloor(CameraFloor).Enable True
-      Stairs(CameraFloor).Enable True
-      Atmos.SkyBox_Enable True
-      'If CameraFloor = 137 Then Shafts.Enable True
-      InitObjectsForFloor (CameraFloor)
-      If CameraFloor < 138 Then Stairs(CameraFloor + 1).Enable True
-      If CameraFloor > 1 Then Stairs(CameraFloor - 1).Enable True
-      End If
-      GotoFloor(5) = 0
-      OpenElevator(5) = 1
-      ElevatorCheck(5) = 0
-      ElevatorCheck2(5) = 0
-      ElevatorCheck3(5) = 0
-      ElevatorCheck4(5) = 0
-      If CameraFloor > 1 Then Camera.SetPosition Camera.GetPosition.X, (CameraFloor * 25) + 25 + 10, Camera.GetPosition.z
-      If CameraFloor = 1 And FloorIndicatorText(5) <> "M" Then Camera.SetPosition Camera.GetPosition.X, 10, Camera.GetPosition.z
-      End If
-      
-      If FineTune(5) = True Then
-      If ElevatorCheck3(5) = 0 Then
-      ElevatorSounds(5).Load App.Path + "\ding1.wav"
-      ElevatorSounds(5).Play
-      ElevatorCheck3(5) = 1
-        For i5 = -1 To 138
-        Buttons5(i5).SetColor RGBA(1, 1, 1, 1)
-        Next i5
-      End If
-      If elevatorstart(5).Y < (GotoFloor(5) * 25) + 25 Then
-      Elevator(5).MoveRelative 0, 0.2, 0
-      ElevatorInsDoorL(5).MoveRelative 0, 0.2, 0
-      ElevatorInsDoorR(5).MoveRelative 0, 0.2, 0
-      Plaque(5).MoveRelative 0, 0.2, 0
-        For i5 = -1 To 138
-        Buttons5(i5).MoveRelative 0, 0.2, 0
-        Next i5
-        FloorIndicator(5).MoveRelative 0, 0.2, 0
-        If ElevatorSync(5) = True Then Camera.MoveRelative 0, 0.2, 0
-      End If
-      If elevatorstart(5).Y > (GotoFloor(5) * 25) + 25 Then
-      Elevator(5).MoveRelative 0, -0.2, 0
-      ElevatorInsDoorL(5).MoveRelative 0, -0.2, 0
-      ElevatorInsDoorR(5).MoveRelative 0, -0.2, 0
-      Plaque(5).MoveRelative 0, -0.2, 0
-        For i5 = -1 To 138
-        Buttons5(i5).MoveRelative 0, -0.2, 0
-        Next i5
-        FloorIndicator(5).MoveRelative 0, -0.2, 0
-        If ElevatorSync(5) = True Then Camera.MoveRelative 0, -0.2, 0
-      End If
-      End If
-      
-      If OpenElevator(5) = 1 Then
-      'If ElevatorInsDoorL(ElevatorFloor2(5)).GetPosition.z >= 4 Then OpenElevator(5) = 0: GoTo OpenElevator1
-      If ElevatorDoor5L(ElevatorFloor2(5)).GetPosition.z >= 4 Then OpenElevator(5) = 0: GoTo OpenElevator1
-      If ElevatorCheck4(5) = 0 Then
-        If ElevatorSounds(5).PlayState = TV_PLAYSTATE_PLAYING Then
-        ElevatorSounds(5).Stop_
-        End If
-        ElevatorSounds(5).Loop_ = False
-        ElevatorSounds(5).Load App.Path + "\elevatoropen.wav"
-        ElevatorSounds(5).Volume = 0
-        'ElevatorSounds(5).maxDistance = 1000
-        'Call ElevatorSounds(5).SetConeOrientation(0, -5, 0)
-        'ElevatorSounds(5).ConeOutsideVolume = 0
-        'Call ElevatorSounds(5).SetPosition(-20.25, Elevator(5).GetPosition.Y, -23)
-        ElevatorSounds(5).Play
-        ElevatorCheck4(5) = 1
-      End If
-      OpenElevatorLoc(5) = OpenElevatorLoc(5) + 0.02
-      ElevatorDoor5L(ElevatorFloor2(5)).MoveRelative OpenElevatorLoc(5), 0, 0
-      ElevatorDoor5R(ElevatorFloor2(5)).MoveRelative -OpenElevatorLoc(5), 0, 0
-      ElevatorInsDoorL(5).MoveRelative OpenElevatorLoc(5), 0, 0
-      ElevatorInsDoorR(5).MoveRelative -OpenElevatorLoc(5), 0, 0
-      'If ElevatorInsDoorL(ElevatorFloor2(5)).GetPosition.z > 1 Then OpenElevator(5) = 2
-      If ElevatorDoor5L(ElevatorFloor2(5)).GetPosition.z > 1 Then OpenElevator(5) = 2
-OpenElevator1:
-      End If
-      
-      If OpenElevator(5) = 2 Then
-      ElevatorDoor5L(ElevatorFloor2(5)).MoveRelative OpenElevatorLoc(5), 0, 0
-      ElevatorDoor5R(ElevatorFloor2(5)).MoveRelative -OpenElevatorLoc(5), 0, 0
-      ElevatorInsDoorL(5).MoveRelative OpenElevatorLoc(5), 0, 0
-      ElevatorInsDoorR(5).MoveRelative -OpenElevatorLoc(5), 0, 0
-      'If ElevatorInsDoorL(ElevatorFloor2(5)).GetPosition.z > 3 Then OpenElevator(5) = 3
-      If ElevatorDoor5L(ElevatorFloor2(5)).GetPosition.z > 3 Then OpenElevator(5) = 3
-      End If
-      
-      If OpenElevator(5) = 3 Then
-      ElevatorCheck4(5) = 0
-      OpenElevatorLoc(5) = OpenElevatorLoc(5) - 0.02
-      'If ElevatorInsDoorL(ElevatorFloor2(5)).GetPosition.z < 7 And OpenElevatorLoc(5) = 0 Then OpenElevatorLoc(5) = 0.02
-      If ElevatorDoor5L(ElevatorFloor2(5)).GetPosition.z < 7 And OpenElevatorLoc(5) = 0 Then OpenElevatorLoc(5) = 0.02
-      ElevatorDoor5L(ElevatorFloor2(5)).MoveRelative OpenElevatorLoc(5), 0, 0
-      ElevatorDoor5R(ElevatorFloor2(5)).MoveRelative -OpenElevatorLoc(5), 0, 0
-      ElevatorInsDoorL(5).MoveRelative OpenElevatorLoc(5), 0, 0
-      ElevatorInsDoorR(5).MoveRelative -OpenElevatorLoc(5), 0, 0
-      If OpenElevatorLoc(5) <= 0 Then
-      OpenElevator(5) = 0
-      OpenElevatorLoc(5) = 0
-      Form1.Timer5.Enabled = True
-      End If
-      End If
-      
-      If OpenElevator(5) = -1 Then
-      'If ElevatorInsDoorL(ElevatorFloor2(5)).GetPosition.z <= 0 Then OpenElevator(5) = 0: GoTo OpenElevator2
-      If ElevatorDoor5L(ElevatorFloor2(5)).GetPosition.z <= 0 Then OpenElevator(5) = 0: GoTo OpenElevator2
-      If ElevatorCheck4(5) = 0 Then
-        If ElevatorSounds(5).PlayState = TV_PLAYSTATE_PLAYING Then
-        ElevatorSounds(5).Stop_
-        End If
-        ElevatorSounds(5).Loop_ = False
-        ElevatorSounds(5).Load App.Path + "\elevatorclose.wav"
-        ElevatorSounds(5).Volume = 0
-        'ElevatorSounds(5).maxDistance = 1000
-        'Call ElevatorSounds(5).SetConeOrientation(0, 0, 90)
-        'ElevatorSounds(5).ConeOutsideVolume = 0
-        'Call ElevatorSounds(5).SetPosition(-20.25, Elevator(5).GetPosition.Y, -23)
-        ElevatorSounds(5).Play
-        ElevatorCheck4(5) = 1
-      End If
-      OpenElevatorLoc(5) = OpenElevatorLoc(5) - 0.02
-      ElevatorDoor5L(ElevatorFloor2(5)).MoveRelative OpenElevatorLoc(5), 0, 0
-      ElevatorDoor5R(ElevatorFloor2(5)).MoveRelative -OpenElevatorLoc(5), 0, 0
-      ElevatorInsDoorL(5).MoveRelative OpenElevatorLoc(5), 0, 0
-      ElevatorInsDoorR(5).MoveRelative -OpenElevatorLoc(5), 0, 0
-      'If ElevatorInsDoorL(ElevatorFloor2(5)).GetPosition.z < 3 Then OpenElevator(5) = -2
-      If ElevatorDoor5L(ElevatorFloor2(5)).GetPosition.z < 3 Then OpenElevator(5) = -2
-OpenElevator2:
-      End If
-      
-      If OpenElevator(5) = -2 Then
-      ElevatorDoor5L(ElevatorFloor2(5)).MoveRelative OpenElevatorLoc(5), 0, 0
-      ElevatorDoor5R(ElevatorFloor2(5)).MoveRelative -OpenElevatorLoc(5), 0, 0
-      ElevatorInsDoorL(5).MoveRelative OpenElevatorLoc(5), 0, 0
-      ElevatorInsDoorR(5).MoveRelative -OpenElevatorLoc(5), 0, 0
-      'If ElevatorInsDoorL(ElevatorFloor2(5)).GetPosition.z < 1 Then OpenElevator(5) = -3
-      If ElevatorDoor5L(ElevatorFloor2(5)).GetPosition.z < 1 Then OpenElevator(5) = -3
-      End If
-      
-      If OpenElevator(5) = -3 Then
-      ElevatorCheck4(5) = 0
-      OpenElevatorLoc(5) = OpenElevatorLoc(5) + 0.02
-      'If ElevatorInsDoorL(ElevatorFloor2(5)).GetPosition.z > 0 And OpenElevatorLoc(5) >= 0 Then OpenElevatorLoc(5) = -0.02
-      If ElevatorDoor5L(ElevatorFloor2(5)).GetPosition.z > 0 And OpenElevatorLoc(5) >= 0 Then OpenElevatorLoc(5) = -0.02
-      ElevatorDoor5L(ElevatorFloor2(5)).MoveRelative OpenElevatorLoc(5), 0, 0
-      ElevatorDoor5R(ElevatorFloor2(5)).MoveRelative -OpenElevatorLoc(5), 0, 0
-      ElevatorInsDoorL(5).MoveRelative OpenElevatorLoc(5), 0, 0
-      ElevatorInsDoorR(5).MoveRelative -OpenElevatorLoc(5), 0, 0
-      If OpenElevatorLoc(5) >= 0 Then
-      OpenElevator(5) = 0
-      OpenElevatorLoc(5) = 0
-      ElevatorInsDoorL(5).SetPosition ElevatorInsDoorL(5).GetPosition.X, ElevatorInsDoorL(5).GetPosition.Y, 0
-      ElevatorInsDoorR(5).SetPosition ElevatorInsDoorR(5).GetPosition.X, ElevatorInsDoorR(5).GetPosition.Y, 0
-      ElevatorDoor5L(ElevatorFloor2(5)).SetPosition ElevatorDoor5L(ElevatorFloor2(5)).GetPosition.X, ElevatorDoor5L(ElevatorFloor2(5)).GetPosition.Y, 0
-      ElevatorDoor5R(ElevatorFloor2(5)).SetPosition ElevatorDoor5R(ElevatorFloor2(5)).GetPosition.X, ElevatorDoor5R(ElevatorFloor2(5)).GetPosition.Y, 0
-      End If
-      End If
-      
-      
-End Sub
+'Elevator 5
+If Number = 5 Then
 
-Sub Elevator6Loop()
+    'Buttons(142).AddWall GetTex("ButtonStop"), -(ShaftLeft + 0.17), -27.85 + (15 * 2), -(ShaftLeft + 0.17), -27.55 + (15 * 2), 0.3, (Elevator(Number).GetPosition.Y + 12), -1, 1
+    'Buttons(1).AddWall GetTex("Button1"), -(ShaftLeft+0.17), -27.85 + (15 * 2) - 0.4, -(ShaftLeft+0.17), -27.55 + (15 * 2) - 0.4, 0.3, (Elevator(Number).GetPosition.y + 12), -1, 1
+    'Buttons(134).AddWall GetTex("Button134"), -(ShaftLeft+0.17), -27.85 + (15 * 2) - 0.8, -(ShaftLeft+0.17), -27.55 + (15 * 2) - 0.8, 0.3, (Elevator(Number).GetPosition.y + 12), -1, 1
+    'Buttons(137).AddWall GetTex("Button137"), -(ShaftLeft+0.17), -27.85 + (15 * 2) - 1.2, -(ShaftLeft+0.17), -27.55 + (15 * 2) - 1.2, 0.3, (Elevator(Number).GetPosition.y + 12), -1, 1
+    'Buttons(143).AddWall GetTex("ButtonAlarm"), -(ShaftLeft + 0.17), -27.85 + (15 * 2) - 1.6, -(ShaftLeft + 0.17), -27.55 + (15 * 2) - 1.6, 0.3, (Elevator(Number).GetPosition.Y + 12), -1, 1
+    
+    'Buttons(128).AddWall GetTex("Button128"), -(ShaftLeft+0.17), -27.85 + (15 * 2), -(ShaftLeft+0.17), -27.55 + (15 * 2), 0.3, (Elevator(Number).GetPosition.y + 12) - 0.5, -1, 1
+    Buttons(127).AddWall GetTex("Button127"), -(ShaftLeft + 0.17), -27.85 + (15 * 2) - 0.4, -(ShaftLeft + 0.17), -27.55 + (15 * 2) - 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 0.5, -1, 1
+    Buttons(128).AddWall GetTex("Button128"), -(ShaftLeft + 0.17), -27.85 + (15 * 2) - 0.8, -(ShaftLeft + 0.17), -27.55 + (15 * 2) - 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 0.5, -1, 1
+    Buttons(129).AddWall GetTex("Button129"), -(ShaftLeft + 0.17), -27.85 + (15 * 2) - 1.2, -(ShaftLeft + 0.17), -27.55 + (15 * 2) - 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 0.5, -1, 1
+    'Buttons(134).AddWall GetTex("Button134"), -(ShaftLeft+0.17), -27.85 + (15 * 2) - 1.6, -(ShaftLeft+0.17), -27.55 + (15 * 2) - 1.6, 0.3, (Elevator(Number).GetPosition.y + 12) - 0.5, -1, 1
+    
+    'Buttons(123).AddWall GetTex("Button123"), -(ShaftLeft+0.17), -27.85 + (15 * 2), -(ShaftLeft+0.17), -27.55 + (15 * 2), 0.3, (Elevator(Number).GetPosition.y + 12) - 1, -1, 1
+    Buttons(124).AddWall GetTex("Button124"), -(ShaftLeft + 0.17), -27.85 + (15 * 2) - 0.4, -(ShaftLeft + 0.17), -27.55 + (15 * 2) - 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 1, -1, 1
+    Buttons(125).AddWall GetTex("Button125"), -(ShaftLeft + 0.17), -27.85 + (15 * 2) - 0.8, -(ShaftLeft + 0.17), -27.55 + (15 * 2) - 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 1, -1, 1
+    Buttons(126).AddWall GetTex("Button126"), -(ShaftLeft + 0.17), -27.85 + (15 * 2) - 1.2, -(ShaftLeft + 0.17), -27.55 + (15 * 2) - 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 1, -1, 1
+    'Buttons(127).AddWall GetTex("Button127"), -(ShaftLeft+0.17), -27.85 + (15 * 2) - 1.6, -(ShaftLeft+0.17), -27.55 + (15 * 2) - 1.6, 0.3, (Elevator(Number).GetPosition.y + 12) - 1, -1, 1
+    
+    'Buttons(118).AddWall GetTex("Button118"), -(ShaftLeft+0.17), -27.85 + (15 * 2), -(ShaftLeft+0.17), -27.55 + (15 * 2), 0.3, (Elevator(Number).GetPosition.y + 12) - 1.5, -1, 1
+    Buttons(121).AddWall GetTex("Button121"), -(ShaftLeft + 0.17), -27.85 + (15 * 2) - 0.4, -(ShaftLeft + 0.17), -27.55 + (15 * 2) - 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 1.5, -1, 1
+    Buttons(122).AddWall GetTex("Button122"), -(ShaftLeft + 0.17), -27.85 + (15 * 2) - 0.8, -(ShaftLeft + 0.17), -27.55 + (15 * 2) - 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 1.5, -1, 1
+    Buttons(123).AddWall GetTex("Button123"), -(ShaftLeft + 0.17), -27.85 + (15 * 2) - 1.2, -(ShaftLeft + 0.17), -27.55 + (15 * 2) - 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 1.5, -1, 1
+    'Buttons(122).AddWall GetTex("Button122"), -(ShaftLeft+0.17), -27.85 + (15 * 2) - 1.6, -(ShaftLeft+0.17), -27.55 + (15 * 2) - 1.6, 0.3, (Elevator(Number).GetPosition.y + 12) - 1.5, -1, 1
+    
+    'Buttons(105).AddWall GetTex("Button105"), -(ShaftLeft+0.17), -27.85 + (15 * 2), -(ShaftLeft+0.17), -27.55 + (15 * 2), 0.3, (Elevator(Number).GetPosition.y + 12) - 2, -1, 1
+    Buttons(118).AddWall GetTex("Button118"), -(ShaftLeft + 0.17), -27.85 + (15 * 2) - 0.4, -(ShaftLeft + 0.17), -27.55 + (15 * 2) - 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 2, -1, 1
+    Buttons(119).AddWall GetTex("Button119"), -(ShaftLeft + 0.17), -27.85 + (15 * 2) - 0.8, -(ShaftLeft + 0.17), -27.55 + (15 * 2) - 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 2, -1, 1
+    Buttons(120).AddWall GetTex("Button120"), -(ShaftLeft + 0.17), -27.85 + (15 * 2) - 1.2, -(ShaftLeft + 0.17), -27.55 + (15 * 2) - 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 2, -1, 1
+    'Buttons(109).AddWall GetTex("Button109"), -(ShaftLeft+0.17), -27.85 + (15 * 2) - 1.6, -(ShaftLeft+0.17), -27.55 + (15 * 2) - 1.6, 0.3, (Elevator(Number).GetPosition.y + 12) - 2, -1, 1
+    
+    'Buttons(110).AddWall GetTex("Button110"), -(ShaftLeft+0.17), -27.85 + (15 * 2), -(ShaftLeft+0.17), -27.55 + (15 * 2), 0.3, (Elevator(Number).GetPosition.y + 12) - 2.5, -1, 1
+    Buttons(112).AddWall GetTex("Button112"), -(ShaftLeft + 0.17), -27.85 + (15 * 2) - 0.4, -(ShaftLeft + 0.17), -27.55 + (15 * 2) - 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 2.5, -1, 1
+    Buttons(113).AddWall GetTex("Button113"), -(ShaftLeft + 0.17), -27.85 + (15 * 2) - 0.8, -(ShaftLeft + 0.17), -27.55 + (15 * 2) - 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 2.5, -1, 1
+    Buttons(114).AddWall GetTex("Button114"), -(ShaftLeft + 0.17), -27.85 + (15 * 2) - 1.2, -(ShaftLeft + 0.17), -27.55 + (15 * 2) - 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 2.5, -1, 1
+    'Buttons(114).AddWall GetTex("Button114"), -(ShaftLeft+0.17), -27.85 + (15 * 2) - 1.6, -(ShaftLeft+0.17), -27.55 + (15 * 2) - 1.6, 0.3, (Elevator(Number).GetPosition.y + 12) - 2.5, -1, 1
+    
+    'Buttons(105).AddWall GetTex("Button105"), -(ShaftLeft+0.17), -27.85 + (15 * 2), -(ShaftLeft+0.17), -27.55 + (15 * 2), 0.3, (Elevator(Number).GetPosition.y + 12) - 3, -1, 1
+    Buttons(109).AddWall GetTex("Button109"), -(ShaftLeft + 0.17), -27.85 + (15 * 2) - 0.4, -(ShaftLeft + 0.17), -27.55 + (15 * 2) - 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 3, -1, 1
+    Buttons(110).AddWall GetTex("Button110"), -(ShaftLeft + 0.17), -27.85 + (15 * 2) - 0.8, -(ShaftLeft + 0.17), -27.55 + (15 * 2) - 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 3, -1, 1
+    Buttons(111).AddWall GetTex("Button111"), -(ShaftLeft + 0.17), -27.85 + (15 * 2) - 1.2, -(ShaftLeft + 0.17), -27.55 + (15 * 2) - 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 3, -1, 1
+    'Buttons(109).AddWall GetTex("Button109"), -(ShaftLeft+0.17), -27.85 + (15 * 2) - 1.6, -(ShaftLeft+0.17), -27.55 + (15 * 2) - 1.6, 0.3, (Elevator(Number).GetPosition.y + 12) - 3, -1, 1
+    
+    'Buttons(100).AddWall GetTex("Button100"), -(ShaftLeft+0.17), -27.85 + (15 * 2), -(ShaftLeft+0.17), -27.55 + (15 * 2), 0.3, (Elevator(Number).GetPosition.y + 12) - 3.5, -1, 1
+    Buttons(106).AddWall GetTex("Button106"), -(ShaftLeft + 0.17), -27.85 + (15 * 2) - 0.4, -(ShaftLeft + 0.17), -27.55 + (15 * 2) - 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 3.5, -1, 1
+    Buttons(107).AddWall GetTex("Button107"), -(ShaftLeft + 0.17), -27.85 + (15 * 2) - 0.8, -(ShaftLeft + 0.17), -27.55 + (15 * 2) - 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 3.5, -1, 1
+    Buttons(108).AddWall GetTex("Button108"), -(ShaftLeft + 0.17), -27.85 + (15 * 2) - 1.2, -(ShaftLeft + 0.17), -27.55 + (15 * 2) - 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 3.5, -1, 1
+    'Buttons(104).AddWall GetTex("Button104"), -(ShaftLeft+0.17), -27.85 + (15 * 2) - 1.6, -(ShaftLeft+0.17), -27.55 + (15 * 2) - 1.6, 0.3, (Elevator(Number).GetPosition.y + 12) - 3.5, -1, 1
+    
+    'Buttons(85).AddWall GetTex("Button85"), -(ShaftLeft+0.17), -27.85 + (15 * 2), -(ShaftLeft+0.17), -27.55 + (15 * 2), 0.3, (Elevator(Number).GetPosition.y + 12) - 4, -1, 1
+    Buttons(103).AddWall GetTex("Button103"), -(ShaftLeft + 0.17), -27.85 + (15 * 2) - 0.4, -(ShaftLeft + 0.17), -27.55 + (15 * 2) - 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 4, -1, 1
+    Buttons(104).AddWall GetTex("Button104"), -(ShaftLeft + 0.17), -27.85 + (15 * 2) - 0.8, -(ShaftLeft + 0.17), -27.55 + (15 * 2) - 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 4, -1, 1
+    Buttons(105).AddWall GetTex("Button105"), -(ShaftLeft + 0.17), -27.85 + (15 * 2) - 1.2, -(ShaftLeft + 0.17), -27.55 + (15 * 2) - 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 4, -1, 1
+    'Buttons(89).AddWall GetTex("Button89"), -(ShaftLeft+0.17), -27.85 + (15 * 2) - 1.6, -(ShaftLeft+0.17), -27.55 + (15 * 2) - 1.6, 0.3, (Elevator(Number).GetPosition.y + 12) - 4, -1, 1
+    
+    'Buttons(80).AddWall GetTex("Button80"), -(ShaftLeft+0.17), -27.85 + (15 * 2), -(ShaftLeft+0.17), -27.55 + (15 * 2), 0.3, (Elevator(Number).GetPosition.y + 12) - 4.5, -1, 1
+    Buttons(100).AddWall GetTex("Button100"), -(ShaftLeft + 0.17), -27.85 + (15 * 2) - 0.4, -(ShaftLeft + 0.17), -27.55 + (15 * 2) - 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 4.5, -1, 1
+    Buttons(101).AddWall GetTex("Button101"), -(ShaftLeft + 0.17), -27.85 + (15 * 2) - 0.8, -(ShaftLeft + 0.17), -27.55 + (15 * 2) - 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 4.5, -1, 1
+    Buttons(102).AddWall GetTex("Button102"), -(ShaftLeft + 0.17), -27.85 + (15 * 2) - 1.2, -(ShaftLeft + 0.17), -27.55 + (15 * 2) - 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 4.5, -1, 1
+    'Buttons(84).AddWall GetTex("Button84"), -(ShaftLeft+0.17), -27.85 + (15 * 2) - 1.6, -(ShaftLeft+0.17), -27.55 + (15 * 2) - 1.6, 0.3, (Elevator(Number).GetPosition.y + 12) - 4.5, -1, 1
+    
+    'Buttons(2).AddWall GetTex("Button2"), -(ShaftLeft+0.17), -27.85 + (15 * 2), -(ShaftLeft+0.17), -27.55 + (15 * 2), 0.3, (Elevator(Number).GetPosition.y + 12) - 5, -1, 1
+    'Buttons(80).AddWall GetTex("Button80"), -(ShaftLeft + 0.17), -27.85 + (15 * 2) - 0.4, -(ShaftLeft + 0.17), -27.55 + (15 * 2) - 0.4, 0.3, (Elevator(Number).GetPosition.y + 12) - 5, -1, 1
+    Buttons(80).AddWall GetTex("Button80"), -(ShaftLeft + 0.17), -27.85 + (15 * 2) - 0.8, -(ShaftLeft + 0.17), -27.55 + (15 * 2) - 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 5, -1, 1
+    'Buttons(100).AddWall GetTex("Button100"), -(ShaftLeft + 0.17), -27.85 + (15 * 2) - 1.2, -(ShaftLeft + 0.17), -27.55 + (15 * 2) - 1.2, 0.3, (Elevator(Number).GetPosition.y + 12) - 5, -1, 1
+    'Buttons(79).AddWall GetTex("Button79"), -(ShaftLeft+0.17), -27.85 + (15 * 2) - 1.6, -(ShaftLeft+0.17), -27.55 + (15 * 2) - 1.6, 0.3, (Elevator(Number).GetPosition.y + 12) - 5, -1, 1
+    
+    Buttons(139).AddWall GetTex("ButtonOpen"), -(ShaftLeft + 0.17), -27.85 + (15 * 2), -(ShaftLeft + 0.17), -27.55 + (15 * 2), 0.3, (Elevator(Number).GetPosition.Y + 12) - 5.5, -1, 1
+    Buttons(140).AddWall GetTex("ButtonClose"), -(ShaftLeft + 0.17), -27.85 + (15 * 2) - 0.4, -(ShaftLeft + 0.17), -27.55 + (15 * 2) - 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 5.5, -1, 1
+    Buttons(141).AddWall GetTex("ButtonCancel"), -(ShaftLeft + 0.17), -27.85 + (15 * 2) - 0.8, -(ShaftLeft + 0.17), -27.55 + (15 * 2) - 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 5.5, -1, 1
+    Buttons(142).AddWall GetTex("ButtonStop"), -(ShaftLeft + 0.17), -27.85 + (15 * 2) - 1.2, -(ShaftLeft + 0.17), -27.55 + (15 * 2) - 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 5.5, -1, 1
+    Buttons(143).AddWall GetTex("ButtonAlarm"), -(ShaftLeft + 0.17), -27.85 + (15 * 2) - 1.6, -(ShaftLeft + 0.17), -27.55 + (15 * 2) - 1.6, 0.3, (Elevator(Number).GetPosition.Y + 12) - 5.5, -1, 1
 
-elevatorstart(6) = Elevator(6).GetPosition
+End If
 
-'Find the floor that the elevator's on
-ElevatorFloor(6) = (Elevator(6).GetPosition.Y - 25) / 25
-      
-      'If elevator goes below floor 2, then set elevatorfloor as 1
-      If ElevatorFloor(6) < 1 Then ElevatorFloor(6) = 1
-      
-      If GotoFloor(6) = ElevatorFloor(6) - 1 Then CurrentFloor(6) = ElevatorFloor(6)
-
-      'If GotoFloor(6) <> 0 And GotoFloor(6) > CurrentFloor(6) And ElevatorDirection(6) = 0 And ElevatorInsDoorL(ElevatorFloor2(6)).GetPosition.z <= 0 Then
-      If GotoFloor(6) <> 0 And GotoFloor(6) > CurrentFloor(6) And ElevatorDirection(6) = 0 And ElevatorDoor6L(ElevatorFloor2(6)).GetPosition.z <= 0 Then
-      ElevatorDirection(6) = 1
-      OriginalLocation(6) = CurrentFloorExact(6)
-      DistanceToTravel(6) = ((GotoFloor(6) * 25) + 25) - ((CurrentFloorExact(6) * 25) + 25)
-      If ElevatorSync(6) = True Then
-      Room(CameraFloor).Enable False
-      For i6 = 1 To 10
-      CallButtons(i6).Enable False
-      Next i6
-      ElevatorDoor1L(CameraFloor).Enable False
-      ElevatorDoor1R(CameraFloor).Enable False
-      ElevatorDoor2L(CameraFloor).Enable False
-      ElevatorDoor2R(CameraFloor).Enable False
-      ElevatorDoor3L(CameraFloor).Enable False
-      ElevatorDoor3R(CameraFloor).Enable False
-      ElevatorDoor4L(CameraFloor).Enable False
-      ElevatorDoor4R(CameraFloor).Enable False
-      ElevatorDoor5L(CameraFloor).Enable False
-      ElevatorDoor5R(CameraFloor).Enable False
-      ElevatorDoor6L(CameraFloor).Enable False
-      ElevatorDoor6R(CameraFloor).Enable False
-      ElevatorDoor7L(CameraFloor).Enable False
-      ElevatorDoor7R(CameraFloor).Enable False
-      ElevatorDoor8L(CameraFloor).Enable False
-      ElevatorDoor8R(CameraFloor).Enable False
-      ElevatorDoor9L(CameraFloor).Enable False
-      ElevatorDoor9R(CameraFloor).Enable False
-      ElevatorDoor10L(CameraFloor).Enable False
-      ElevatorDoor10R(CameraFloor).Enable False
-      DestroyObjects (CameraFloor)
-      ShaftsFloor(CameraFloor).Enable False
-      Atmos.SkyBox_Enable False
-      Stairs(CameraFloor).Enable False
-      If CameraFloor < 138 Then Stairs(CameraFloor + 1).Enable False
-      If CameraFloor > 1 Then Stairs(CameraFloor - 1).Enable False
-      End If
-      End If
-      'If GotoFloor(6) <> 0 And GotoFloor(6) < CurrentFloor(6) And ElevatorDirection(6) = 0 And ElevatorInsDoorL(ElevatorFloor2(6)).GetPosition.z <= 0 Then
-      If GotoFloor(6) <> 0 And GotoFloor(6) < CurrentFloor(6) And ElevatorDirection(6) = 0 And ElevatorDoor6L(ElevatorFloor2(6)).GetPosition.z <= 0 Then
-      ElevatorDirection(6) = -1
-      OriginalLocation(6) = CurrentFloorExact(6)
-      DistanceToTravel(6) = ((CurrentFloorExact(6) * 25) + 25) - ((GotoFloor(6) * 25) + 25)
-      If ElevatorSync(6) = True Then
-      Room(CameraFloor).Enable False
-      For i6 = 1 To 10
-      CallButtons(i6).Enable False
-      Next i6
-      ElevatorDoor1L(CameraFloor).Enable False
-      ElevatorDoor1R(CameraFloor).Enable False
-      ElevatorDoor2L(CameraFloor).Enable False
-      ElevatorDoor2R(CameraFloor).Enable False
-      ElevatorDoor3L(CameraFloor).Enable False
-      ElevatorDoor3R(CameraFloor).Enable False
-      ElevatorDoor4L(CameraFloor).Enable False
-      ElevatorDoor4R(CameraFloor).Enable False
-      ElevatorDoor5L(CameraFloor).Enable False
-      ElevatorDoor5R(CameraFloor).Enable False
-      ElevatorDoor6L(CameraFloor).Enable False
-      ElevatorDoor6R(CameraFloor).Enable False
-      ElevatorDoor7L(CameraFloor).Enable False
-      ElevatorDoor7R(CameraFloor).Enable False
-      ElevatorDoor8L(CameraFloor).Enable False
-      ElevatorDoor8R(CameraFloor).Enable False
-      ElevatorDoor9L(CameraFloor).Enable False
-      ElevatorDoor9R(CameraFloor).Enable False
-      ElevatorDoor10L(CameraFloor).Enable False
-      ElevatorDoor10R(CameraFloor).Enable False
-      DestroyObjects (CameraFloor)
-      ShaftsFloor(CameraFloor).Enable False
-      Atmos.SkyBox_Enable False
-      Stairs(CameraFloor).Enable False
-      If CameraFloor < 138 Then Stairs(CameraFloor + 1).Enable False
-      If CameraFloor > 1 Then Stairs(CameraFloor - 1).Enable False
-      End If
-      End If
-      
-       CurrentFloor(6) = Int((elevatorstart(6).Y - 25) / 25)
-       CurrentFloorExact(6) = (elevatorstart(6).Y - 25) / 25
-       'CurrentFloor(6) = (Elevator(6).GetPosition.y / 25) - 1
-       'CurrentFloorExact(6) = Int((Elevator(6).GetPosition.y / 25) - 1)
+'Elevator 6
+If Number = 6 Then
+
+    'Buttons(142).AddWall GetTex("ButtonStop"), (ShaftLeft + 0.17), -18.45 + (15 * 2), (ShaftLeft + 0.17), -18.15 + (15 * 2), 0.3, (Elevator(Number).GetPosition.Y + 12), 1, 1
+    'Buttons(1).AddWall GetTex("Button1"), (ShaftLeft+0.17), -18.45 + (15 * 2) + 0.4, (ShaftLeft+0.17), -18.15 + (15 * 2) + 0.4, 0.3, (Elevator(Number).GetPosition.y + 12), 1, 1
+    'Buttons(134).AddWall GetTex("Button134"), (ShaftLeft+0.17), -18.45 + (15 * 2) + 0.8, (ShaftLeft+0.17), -18.15 + (15 * 2) + 0.8, 0.3, (Elevator(Number).GetPosition.y + 12), 1, 1
+    'Buttons(137).AddWall GetTex("Button137"), (ShaftLeft+0.17), -18.45 + (15 * 2) + 1.2, (ShaftLeft+0.17), -18.15 + (15 * 2) + 1.2, 0.3, (Elevator(Number).GetPosition.y + 12), 1, 1
+    'Buttons(143).AddWall GetTex("ButtonAlarm"), (ShaftLeft + 0.17), -18.45 + (15 * 2) + 1.6, (ShaftLeft + 0.17), -18.15 + (15 * 2) + 1.6, 0.3, (Elevator(Number).GetPosition.Y + 12), 1, 1
+    
+    'Buttons(128).AddWall GetTex("Button128"), (ShaftLeft+0.17), -18.45 + (15 * 2), (ShaftLeft+0.17), -18.15 + (15 * 2), 0.3, (Elevator(Number).GetPosition.y + 12) - 0.5, 1, 1
+    Buttons(127).AddWall GetTex("Button127"), (ShaftLeft + 0.17), -18.45 + (15 * 2) + 0.4, (ShaftLeft + 0.17), -18.15 + (15 * 2) + 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 0.5, 1, 1
+    Buttons(128).AddWall GetTex("Button128"), (ShaftLeft + 0.17), -18.45 + (15 * 2) + 0.8, (ShaftLeft + 0.17), -18.15 + (15 * 2) + 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 0.5, 1, 1
+    Buttons(129).AddWall GetTex("Button129"), (ShaftLeft + 0.17), -18.45 + (15 * 2) + 1.2, (ShaftLeft + 0.17), -18.15 + (15 * 2) + 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 0.5, 1, 1
+    'Buttons(134).AddWall GetTex("Button134"), (ShaftLeft+0.17), -18.45 + (15 * 2) + 1.6, (ShaftLeft+0.17), -18.15 + (15 * 2) + 1.6, 0.3, (Elevator(Number).GetPosition.y + 12) - 0.5, 1, 1
+    
+    'Buttons(123).AddWall GetTex("Button123"), (ShaftLeft+0.17), -18.45 + (15 * 2), (ShaftLeft+0.17), -18.15 + (15 * 2), 0.3, (Elevator(Number).GetPosition.y + 12) - 1, 1, 1
+    Buttons(124).AddWall GetTex("Button124"), (ShaftLeft + 0.17), -18.45 + (15 * 2) + 0.4, (ShaftLeft + 0.17), -18.15 + (15 * 2) + 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 1, 1, 1
+    Buttons(125).AddWall GetTex("Button125"), (ShaftLeft + 0.17), -18.45 + (15 * 2) + 0.8, (ShaftLeft + 0.17), -18.15 + (15 * 2) + 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 1, 1, 1
+    Buttons(126).AddWall GetTex("Button126"), (ShaftLeft + 0.17), -18.45 + (15 * 2) + 1.2, (ShaftLeft + 0.17), -18.15 + (15 * 2) + 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 1, 1, 1
+    'Buttons(127).AddWall GetTex("Button127"), (ShaftLeft+0.17), -18.45 + (15 * 2) + 1.6, (ShaftLeft+0.17), -18.15 + (15 * 2) + 1.6, 0.3, (Elevator(Number).GetPosition.y + 12) - 1, 1, 1
+    
+    'Buttons(118).AddWall GetTex("Button118"), (ShaftLeft+0.17), -18.45 + (15 * 2), (ShaftLeft+0.17), -18.15 + (15 * 2), 0.3, (Elevator(Number).GetPosition.y + 12) - 1.5, 1, 1
+    Buttons(121).AddWall GetTex("Button121"), (ShaftLeft + 0.17), -18.45 + (15 * 2) + 0.4, (ShaftLeft + 0.17), -18.15 + (15 * 2) + 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 1.5, 1, 1
+    Buttons(122).AddWall GetTex("Button122"), (ShaftLeft + 0.17), -18.45 + (15 * 2) + 0.8, (ShaftLeft + 0.17), -18.15 + (15 * 2) + 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 1.5, 1, 1
+    Buttons(123).AddWall GetTex("Button123"), (ShaftLeft + 0.17), -18.45 + (15 * 2) + 1.2, (ShaftLeft + 0.17), -18.15 + (15 * 2) + 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 1.5, 1, 1
+    'Buttons(122).AddWall GetTex("Button122"), (ShaftLeft+0.17), -18.45 + (15 * 2) + 1.6, (ShaftLeft+0.17), -18.15 + (15 * 2) + 1.6, 0.3, (Elevator(Number).GetPosition.y + 12) - 1.5, 1, 1
+    
+    'Buttons(105).AddWall GetTex("Button105"), (ShaftLeft+0.17), -18.45 + (15 * 2), (ShaftLeft+0.17), -18.15 + (15 * 2), 0.3, (Elevator(Number).GetPosition.y + 12) - 2, 1, 1
+    Buttons(118).AddWall GetTex("Button118"), (ShaftLeft + 0.17), -18.45 + (15 * 2) + 0.4, (ShaftLeft + 0.17), -18.15 + (15 * 2) + 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 2, 1, 1
+    Buttons(119).AddWall GetTex("Button119"), (ShaftLeft + 0.17), -18.45 + (15 * 2) + 0.8, (ShaftLeft + 0.17), -18.15 + (15 * 2) + 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 2, 1, 1
+    Buttons(120).AddWall GetTex("Button120"), (ShaftLeft + 0.17), -18.45 + (15 * 2) + 1.2, (ShaftLeft + 0.17), -18.15 + (15 * 2) + 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 2, 1, 1
+    'Buttons(109).AddWall GetTex("Button109"), (ShaftLeft+0.17), -18.45 + (15 * 2) + 1.6, (ShaftLeft+0.17), -18.15 + (15 * 2) + 1.6, 0.3, (Elevator(Number).GetPosition.y + 12) - 2, 1, 1
+    
+    'Buttons(110).AddWall GetTex("Button110"), (ShaftLeft+0.17), -18.45 + (15 * 2), (ShaftLeft+0.17), -18.15 + (15 * 2), 0.3, (Elevator(Number).GetPosition.y + 12) - 2.5, 1, 1
+    Buttons(112).AddWall GetTex("Button112"), (ShaftLeft + 0.17), -18.45 + (15 * 2) + 0.4, (ShaftLeft + 0.17), -18.15 + (15 * 2) + 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 2.5, 1, 1
+    Buttons(113).AddWall GetTex("Button113"), (ShaftLeft + 0.17), -18.45 + (15 * 2) + 0.8, (ShaftLeft + 0.17), -18.15 + (15 * 2) + 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 2.5, 1, 1
+    Buttons(114).AddWall GetTex("Button114"), (ShaftLeft + 0.17), -18.45 + (15 * 2) + 1.2, (ShaftLeft + 0.17), -18.15 + (15 * 2) + 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 2.5, 1, 1
+    'Buttons(114).AddWall GetTex("Button114"), (ShaftLeft+0.17), -18.45 + (15 * 2) + 1.6, (ShaftLeft+0.17), -18.15 + (15 * 2) + 1.6, 0.3, (Elevator(Number).GetPosition.y + 12) - 2.5, 1, 1
+    
+    'Buttons(105).AddWall GetTex("Button105"), (ShaftLeft+0.17), -18.45 + (15 * 2), (ShaftLeft+0.17), -18.15 + (15 * 2), 0.3, (Elevator(Number).GetPosition.y + 12) - 3, 1, 1
+    Buttons(109).AddWall GetTex("Button109"), (ShaftLeft + 0.17), -18.45 + (15 * 2) + 0.4, (ShaftLeft + 0.17), -18.15 + (15 * 2) + 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 3, 1, 1
+    Buttons(110).AddWall GetTex("Button110"), (ShaftLeft + 0.17), -18.45 + (15 * 2) + 0.8, (ShaftLeft + 0.17), -18.15 + (15 * 2) + 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 3, 1, 1
+    Buttons(111).AddWall GetTex("Button111"), (ShaftLeft + 0.17), -18.45 + (15 * 2) + 1.2, (ShaftLeft + 0.17), -18.15 + (15 * 2) + 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 3, 1, 1
+    'Buttons(109).AddWall GetTex("Button109"), (ShaftLeft+0.17), -18.45 + (15 * 2) + 1.6, (ShaftLeft+0.17), -18.15 + (15 * 2) + 1.6, 0.3, (Elevator(Number).GetPosition.y + 12) - 3, 1, 1
+    
+    'Buttons(100).AddWall GetTex("Button100"), (ShaftLeft+0.17), -18.45 + (15 * 2), (ShaftLeft+0.17), -18.15 + (15 * 2), 0.3, (Elevator(Number).GetPosition.y + 12) - 3.5, 1, 1
+    Buttons(106).AddWall GetTex("Button106"), (ShaftLeft + 0.17), -18.45 + (15 * 2) + 0.4, (ShaftLeft + 0.17), -18.15 + (15 * 2) + 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 3.5, 1, 1
+    Buttons(107).AddWall GetTex("Button107"), (ShaftLeft + 0.17), -18.45 + (15 * 2) + 0.8, (ShaftLeft + 0.17), -18.15 + (15 * 2) + 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 3.5, 1, 1
+    Buttons(108).AddWall GetTex("Button108"), (ShaftLeft + 0.17), -18.45 + (15 * 2) + 1.2, (ShaftLeft + 0.17), -18.15 + (15 * 2) + 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 3.5, 1, 1
+    'Buttons(104).AddWall GetTex("Button104"), (ShaftLeft+0.17), -18.45 + (15 * 2) + 1.6, (ShaftLeft+0.17), -18.15 + (15 * 2) + 1.6, 0.3, (Elevator(Number).GetPosition.y + 12) - 3.5, 1, 1
+    
+    'Buttons(85).AddWall GetTex("Button85"), (ShaftLeft+0.17), -18.45 + (15 * 2), (ShaftLeft+0.17), -18.15 + (15 * 2), 0.3, (Elevator(Number).GetPosition.y + 12) - 4, 1, 1
+    Buttons(103).AddWall GetTex("Button103"), (ShaftLeft + 0.17), -18.45 + (15 * 2) + 0.4, (ShaftLeft + 0.17), -18.15 + (15 * 2) + 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 4, 1, 1
+    Buttons(104).AddWall GetTex("Button104"), (ShaftLeft + 0.17), -18.45 + (15 * 2) + 0.8, (ShaftLeft + 0.17), -18.15 + (15 * 2) + 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 4, 1, 1
+    Buttons(105).AddWall GetTex("Button105"), (ShaftLeft + 0.17), -18.45 + (15 * 2) + 1.2, (ShaftLeft + 0.17), -18.15 + (15 * 2) + 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 4, 1, 1
+    'Buttons(89).AddWall GetTex("Button89"), (ShaftLeft+0.17), -18.45 + (15 * 2) + 1.6, (ShaftLeft+0.17), -18.15 + (15 * 2) + 1.6, 0.3, (Elevator(Number).GetPosition.y + 12) - 4, 1, 1
+    
+    'Buttons(80).AddWall GetTex("Button80"), (ShaftLeft+0.17), -18.45 + (15 * 2), (ShaftLeft+0.17), -18.15 + (15 * 2), 0.3, (Elevator(Number).GetPosition.y + 12) - 4.5, 1, 1
+    Buttons(100).AddWall GetTex("Button100"), (ShaftLeft + 0.17), -18.45 + (15 * 2) + 0.4, (ShaftLeft + 0.17), -18.15 + (15 * 2) + 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 4.5, 1, 1
+    Buttons(101).AddWall GetTex("Button101"), (ShaftLeft + 0.17), -18.45 + (15 * 2) + 0.8, (ShaftLeft + 0.17), -18.15 + (15 * 2) + 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 4.5, 1, 1
+    Buttons(102).AddWall GetTex("Button102"), (ShaftLeft + 0.17), -18.45 + (15 * 2) + 1.2, (ShaftLeft + 0.17), -18.15 + (15 * 2) + 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 4.5, 1, 1
+    'Buttons(84).AddWall GetTex("Button84"), (ShaftLeft+0.17), -18.45 + (15 * 2) + 1.6, (ShaftLeft+0.17), -18.15 + (15 * 2) + 1.6, 0.3, (Elevator(Number).GetPosition.y + 12) - 4.5, 1, 1
+    
+    'Buttons(2).AddWall GetTex("Button2"), (ShaftLeft+0.17), -18.45 + (15 * 2), (ShaftLeft+0.17), -18.15 + (15 * 2), 0.3, (Elevator(Number).GetPosition.y + 12) - 5, 1, 1
+    'Buttons(80).AddWall GetTex("Button80"), (ShaftLeft + 0.17), -18.45 + (15 * 2) + 0.4, (ShaftLeft + 0.17), -18.15 + (15 * 2) + 0.4, 0.3, (Elevator(Number).GetPosition.y + 12) - 5, 1, 1
+    Buttons(80).AddWall GetTex("Button80"), (ShaftLeft + 0.17), -18.45 + (15 * 2) + 0.8, (ShaftLeft + 0.17), -18.15 + (15 * 2) + 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 5, 1, 1
+    'Buttons(100).AddWall GetTex("Button100"), (ShaftLeft + 0.17), -18.45 + (15 * 2) + 1.2, (ShaftLeft + 0.17), -18.15 + (15 * 2) + 1.2, 0.3, (Elevator(Number).GetPosition.y + 12) - 5, 1, 1
+    'Buttons(79).AddWall GetTex("Button79"), (ShaftLeft+0.17), -18.45 + (15 * 2) + 1.6, (ShaftLeft+0.17), -18.15 + (15 * 2) + 1.6, 0.3, (Elevator(Number).GetPosition.y + 12) - 5, 1, 1
+    
+    Buttons(139).AddWall GetTex("ButtonOpen"), (ShaftLeft + 0.17), -18.45 + (15 * 2), (ShaftLeft + 0.17), -18.15 + (15 * 2), 0.3, (Elevator(Number).GetPosition.Y + 12) - 5.5, 1, 1
+    Buttons(140).AddWall GetTex("ButtonClose"), (ShaftLeft + 0.17), -18.45 + (15 * 2) + 0.4, (ShaftLeft + 0.17), -18.15 + (15 * 2) + 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 5.5, 1, 1
+    Buttons(141).AddWall GetTex("ButtonCancel"), (ShaftLeft + 0.17), -18.45 + (15 * 2) + 0.8, (ShaftLeft + 0.17), -18.15 + (15 * 2) + 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 5.5, 1, 1
+    Buttons(142).AddWall GetTex("ButtonStop"), (ShaftLeft + 0.17), -18.45 + (15 * 2) + 1.2, (ShaftLeft + 0.17), -18.15 + (15 * 2) + 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 5.5, 1, 1
+    Buttons(143).AddWall GetTex("ButtonAlarm"), (ShaftLeft + 0.17), -18.45 + (15 * 2) + 1.6, (ShaftLeft + 0.17), -18.15 + (15 * 2) + 1.6, 0.3, (Elevator(Number).GetPosition.Y + 12) - 5.5, 1, 1
+
+End If
+
+'Elevator 7
+If Number = 7 Then
+
+    'Buttons(142).AddWall GetTex("ButtonStop"), -(ShaftLeft + 0.17), -27.85 + (15 * 3), -(ShaftLeft + 0.17), -27.55 + (15 * 3), 0.3, (Elevator(Number).GetPosition.Y + 12), -1, 1
+    'Buttons(1).AddWall GetTex("Button1"), -(ShaftLeft+0.17), -27.85 + (15 * 3) - 0.4, -(ShaftLeft+0.17), -27.55 + (15 * 3) - 0.4, 0.3, (Elevator(Number).GetPosition.y + 12), -1, 1
+    'Buttons(134).AddWall GetTex("Button134"), -(ShaftLeft+0.17), -27.85 + (15 * 3) - 0.8, -(ShaftLeft+0.17), -27.55 + (15 * 3) - 0.8, 0.3, (Elevator(Number).GetPosition.y + 12), -1, 1
+    'Buttons(137).AddWall GetTex("Button137"), -(ShaftLeft+0.17), -27.85 + (15 * 3) - 1.2, -(ShaftLeft+0.17), -27.55 + (15 * 3) - 1.2, 0.3, (Elevator(Number).GetPosition.y + 12), -1, 1
+    'Buttons(143).AddWall GetTex("ButtonAlarm"), -(ShaftLeft + 0.17), -27.85 + (15 * 3) - 1.6, -(ShaftLeft + 0.17), -27.55 + (15 * 3) - 1.6, 0.3, (Elevator(Number).GetPosition.Y + 12), -1, 1
+    
+    'Buttons(128).AddWall GetTex("Button128"), -(ShaftLeft+0.17), -27.85 + (15 * 3), -(ShaftLeft+0.17), -27.55 + (15 * 3), 0.3, (Elevator(Number).GetPosition.y + 12) - 0.5, -1, 1
+    Buttons(127).AddWall GetTex("Button127"), -(ShaftLeft + 0.17), -27.85 + (15 * 3) - 0.4, -(ShaftLeft + 0.17), -27.55 + (15 * 3) - 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 0.5, -1, 1
+    Buttons(128).AddWall GetTex("Button128"), -(ShaftLeft + 0.17), -27.85 + (15 * 3) - 0.8, -(ShaftLeft + 0.17), -27.55 + (15 * 3) - 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 0.5, -1, 1
+    Buttons(129).AddWall GetTex("Button129"), -(ShaftLeft + 0.17), -27.85 + (15 * 3) - 1.2, -(ShaftLeft + 0.17), -27.55 + (15 * 3) - 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 0.5, -1, 1
+    'Buttons(134).AddWall GetTex("Button134"), -(ShaftLeft+0.17), -27.85 + (15 * 3) - 1.6, -(ShaftLeft+0.17), -27.55 + (15 * 3) - 1.6, 0.3, (Elevator(Number).GetPosition.y + 12) - 0.5, -1, 1
+    
+    'Buttons(123).AddWall GetTex("Button123"), -(ShaftLeft+0.17), -27.85 + (15 * 3), -(ShaftLeft+0.17), -27.55 + (15 * 3), 0.3, (Elevator(Number).GetPosition.y + 12) - 1, -1, 1
+    Buttons(124).AddWall GetTex("Button124"), -(ShaftLeft + 0.17), -27.85 + (15 * 3) - 0.4, -(ShaftLeft + 0.17), -27.55 + (15 * 3) - 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 1, -1, 1
+    Buttons(125).AddWall GetTex("Button125"), -(ShaftLeft + 0.17), -27.85 + (15 * 3) - 0.8, -(ShaftLeft + 0.17), -27.55 + (15 * 3) - 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 1, -1, 1
+    Buttons(126).AddWall GetTex("Button126"), -(ShaftLeft + 0.17), -27.85 + (15 * 3) - 1.2, -(ShaftLeft + 0.17), -27.55 + (15 * 3) - 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 1, -1, 1
+    'Buttons(127).AddWall GetTex("Button127"), -(ShaftLeft+0.17), -27.85 + (15 * 3) - 1.6, -(ShaftLeft+0.17), -27.55 + (15 * 3) - 1.6, 0.3, (Elevator(Number).GetPosition.y + 12) - 1, -1, 1
+    
+    'Buttons(118).AddWall GetTex("Button118"), -(ShaftLeft+0.17), -27.85 + (15 * 3), -(ShaftLeft+0.17), -27.55 + (15 * 3), 0.3, (Elevator(Number).GetPosition.y + 12) - 1.5, -1, 1
+    Buttons(121).AddWall GetTex("Button121"), -(ShaftLeft + 0.17), -27.85 + (15 * 3) - 0.4, -(ShaftLeft + 0.17), -27.55 + (15 * 3) - 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 1.5, -1, 1
+    Buttons(122).AddWall GetTex("Button122"), -(ShaftLeft + 0.17), -27.85 + (15 * 3) - 0.8, -(ShaftLeft + 0.17), -27.55 + (15 * 3) - 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 1.5, -1, 1
+    Buttons(123).AddWall GetTex("Button123"), -(ShaftLeft + 0.17), -27.85 + (15 * 3) - 1.2, -(ShaftLeft + 0.17), -27.55 + (15 * 3) - 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 1.5, -1, 1
+    'Buttons(122).AddWall GetTex("Button122"), -(ShaftLeft+0.17), -27.85 + (15 * 3) - 1.6, -(ShaftLeft+0.17), -27.55 + (15 * 3) - 1.6, 0.3, (Elevator(Number).GetPosition.y + 12) - 1.5, -1, 1
+    
+    'Buttons(105).AddWall GetTex("Button105"), -(ShaftLeft+0.17), -27.85 + (15 * 3), -(ShaftLeft+0.17), -27.55 + (15 * 3), 0.3, (Elevator(Number).GetPosition.y + 12) - 2, -1, 1
+    Buttons(118).AddWall GetTex("Button118"), -(ShaftLeft + 0.17), -27.85 + (15 * 3) - 0.4, -(ShaftLeft + 0.17), -27.55 + (15 * 3) - 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 2, -1, 1
+    Buttons(119).AddWall GetTex("Button119"), -(ShaftLeft + 0.17), -27.85 + (15 * 3) - 0.8, -(ShaftLeft + 0.17), -27.55 + (15 * 3) - 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 2, -1, 1
+    Buttons(120).AddWall GetTex("Button120"), -(ShaftLeft + 0.17), -27.85 + (15 * 3) - 1.2, -(ShaftLeft + 0.17), -27.55 + (15 * 3) - 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 2, -1, 1
+    'Buttons(109).AddWall GetTex("Button109"), -(ShaftLeft+0.17), -27.85 + (15 * 3) - 1.6, -(ShaftLeft+0.17), -27.55 + (15 * 3) - 1.6, 0.3, (Elevator(Number).GetPosition.y + 12) - 2, -1, 1
+    
+    'Buttons(110).AddWall GetTex("Button110"), -(ShaftLeft+0.17), -27.85 + (15 * 3), -(ShaftLeft+0.17), -27.55 + (15 * 3), 0.3, (Elevator(Number).GetPosition.y + 12) - 2.5, -1, 1
+    Buttons(112).AddWall GetTex("Button112"), -(ShaftLeft + 0.17), -27.85 + (15 * 3) - 0.4, -(ShaftLeft + 0.17), -27.55 + (15 * 3) - 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 2.5, -1, 1
+    Buttons(113).AddWall GetTex("Button113"), -(ShaftLeft + 0.17), -27.85 + (15 * 3) - 0.8, -(ShaftLeft + 0.17), -27.55 + (15 * 3) - 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 2.5, -1, 1
+    Buttons(114).AddWall GetTex("Button114"), -(ShaftLeft + 0.17), -27.85 + (15 * 3) - 1.2, -(ShaftLeft + 0.17), -27.55 + (15 * 3) - 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 2.5, -1, 1
+    'Buttons(114).AddWall GetTex("Button114"), -(ShaftLeft+0.17), -27.85 + (15 * 3) - 1.6, -(ShaftLeft+0.17), -27.55 + (15 * 3) - 1.6, 0.3, (Elevator(Number).GetPosition.y + 12) - 2.5, -1, 1
+    
+    'Buttons(105).AddWall GetTex("Button105"), -(ShaftLeft+0.17), -27.85 + (15 * 3), -(ShaftLeft+0.17), -27.55 + (15 * 3), 0.3, (Elevator(Number).GetPosition.y + 12) - 3, -1, 1
+    Buttons(109).AddWall GetTex("Button109"), -(ShaftLeft + 0.17), -27.85 + (15 * 3) - 0.4, -(ShaftLeft + 0.17), -27.55 + (15 * 3) - 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 3, -1, 1
+    Buttons(110).AddWall GetTex("Button110"), -(ShaftLeft + 0.17), -27.85 + (15 * 3) - 0.8, -(ShaftLeft + 0.17), -27.55 + (15 * 3) - 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 3, -1, 1
+    Buttons(111).AddWall GetTex("Button111"), -(ShaftLeft + 0.17), -27.85 + (15 * 3) - 1.2, -(ShaftLeft + 0.17), -27.55 + (15 * 3) - 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 3, -1, 1
+    'Buttons(109).AddWall GetTex("Button109"), -(ShaftLeft+0.17), -27.85 + (15 * 3) - 1.6, -(ShaftLeft+0.17), -27.55 + (15 * 3) - 1.6, 0.3, (Elevator(Number).GetPosition.y + 12) - 3, -1, 1
+    
+    'Buttons(100).AddWall GetTex("Button100"), -(ShaftLeft+0.17), -27.85 + (15 * 3), -(ShaftLeft+0.17), -27.55 + (15 * 3), 0.3, (Elevator(Number).GetPosition.y + 12) - 3.5, -1, 1
+    Buttons(106).AddWall GetTex("Button106"), -(ShaftLeft + 0.17), -27.85 + (15 * 3) - 0.4, -(ShaftLeft + 0.17), -27.55 + (15 * 3) - 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 3.5, -1, 1
+    Buttons(107).AddWall GetTex("Button107"), -(ShaftLeft + 0.17), -27.85 + (15 * 3) - 0.8, -(ShaftLeft + 0.17), -27.55 + (15 * 3) - 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 3.5, -1, 1
+    Buttons(108).AddWall GetTex("Button108"), -(ShaftLeft + 0.17), -27.85 + (15 * 3) - 1.2, -(ShaftLeft + 0.17), -27.55 + (15 * 3) - 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 3.5, -1, 1
+    'Buttons(104).AddWall GetTex("Button104"), -(ShaftLeft+0.17), -27.85 + (15 * 3) - 1.6, -(ShaftLeft+0.17), -27.55 + (15 * 3) - 1.6, 0.3, (Elevator(Number).GetPosition.y + 12) - 3.5, -1, 1
+    
+    'Buttons(85).AddWall GetTex("Button85"), -(ShaftLeft+0.17), -27.85 + (15 * 3), -(ShaftLeft+0.17), -27.55 + (15 * 3), 0.3, (Elevator(Number).GetPosition.y + 12) - 4, -1, 1
+    Buttons(103).AddWall GetTex("Button103"), -(ShaftLeft + 0.17), -27.85 + (15 * 3) - 0.4, -(ShaftLeft + 0.17), -27.55 + (15 * 3) - 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 4, -1, 1
+    Buttons(104).AddWall GetTex("Button104"), -(ShaftLeft + 0.17), -27.85 + (15 * 3) - 0.8, -(ShaftLeft + 0.17), -27.55 + (15 * 3) - 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 4, -1, 1
+    Buttons(105).AddWall GetTex("Button105"), -(ShaftLeft + 0.17), -27.85 + (15 * 3) - 1.2, -(ShaftLeft + 0.17), -27.55 + (15 * 3) - 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 4, -1, 1
+    'Buttons(89).AddWall GetTex("Button89"), -(ShaftLeft+0.17), -27.85 + (15 * 3) - 1.6, -(ShaftLeft+0.17), -27.55 + (15 * 3) - 1.6, 0.3, (Elevator(Number).GetPosition.y + 12) - 4, -1, 1
+    
+    'Buttons(80).AddWall GetTex("Button80"), -(ShaftLeft+0.17), -27.85 + (15 * 3), -(ShaftLeft+0.17), -27.55 + (15 * 3), 0.3, (Elevator(Number).GetPosition.y + 12) - 4.5, -1, 1
+    Buttons(100).AddWall GetTex("Button100"), -(ShaftLeft + 0.17), -27.85 + (15 * 3) - 0.4, -(ShaftLeft + 0.17), -27.55 + (15 * 3) - 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 4.5, -1, 1
+    Buttons(101).AddWall GetTex("Button101"), -(ShaftLeft + 0.17), -27.85 + (15 * 3) - 0.8, -(ShaftLeft + 0.17), -27.55 + (15 * 3) - 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 4.5, -1, 1
+    Buttons(102).AddWall GetTex("Button102"), -(ShaftLeft + 0.17), -27.85 + (15 * 3) - 1.2, -(ShaftLeft + 0.17), -27.55 + (15 * 3) - 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 4.5, -1, 1
+    'Buttons(84).AddWall GetTex("Button84"), -(ShaftLeft+0.17), -27.85 + (15 * 3) - 1.6, -(ShaftLeft+0.17), -27.55 + (15 * 3) - 1.6, 0.3, (Elevator(Number).GetPosition.y + 12) - 4.5, -1, 1
+    
+    'Buttons(2).AddWall GetTex("Button2"), -(ShaftLeft+0.17), -27.85 + (15 * 3), -(ShaftLeft+0.17), -27.55 + (15 * 3), 0.3, (Elevator(Number).GetPosition.y + 12) - 5, -1, 1
+    'Buttons(80).AddWall GetTex("Button80"), -(ShaftLeft + 0.17), -27.85 + (15 * 3) - 0.4, -(ShaftLeft + 0.17), -27.55 + (15 * 3) - 0.4, 0.3, (Elevator(Number).GetPosition.y + 12) - 5, -1, 1
+    Buttons(80).AddWall GetTex("Button80"), -(ShaftLeft + 0.17), -27.85 + (15 * 3) - 0.8, -(ShaftLeft + 0.17), -27.55 + (15 * 3) - 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 5, -1, 1
+    'Buttons(100).AddWall GetTex("Button100"), -(ShaftLeft + 0.17), -27.85 + (15 * 3) - 1.2, -(ShaftLeft + 0.17), -27.55 + (15 * 3) - 1.2, 0.3, (Elevator(Number).GetPosition.y + 12) - 5, -1, 1
+    'Buttons(79).AddWall GetTex("Button79"), -(ShaftLeft+0.17), -27.85 + (15 * 3) - 1.6, -(ShaftLeft+0.17), -27.55 + (15 * 3) - 1.6, 0.3, (Elevator(Number).GetPosition.y + 12) - 5, -1, 1
+    
+    Buttons(139).AddWall GetTex("ButtonOpen"), -(ShaftLeft + 0.17), -27.85 + (15 * 3), -(ShaftLeft + 0.17), -27.55 + (15 * 3), 0.3, (Elevator(Number).GetPosition.Y + 12) - 5.5, -1, 1
+    Buttons(140).AddWall GetTex("ButtonClose"), -(ShaftLeft + 0.17), -27.85 + (15 * 3) - 0.4, -(ShaftLeft + 0.17), -27.55 + (15 * 3) - 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 5.5, -1, 1
+    Buttons(141).AddWall GetTex("ButtonCancel"), -(ShaftLeft + 0.17), -27.85 + (15 * 3) - 0.8, -(ShaftLeft + 0.17), -27.55 + (15 * 3) - 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 5.5, -1, 1
+    Buttons(142).AddWall GetTex("ButtonStop"), -(ShaftLeft + 0.17), -27.85 + (15 * 3) - 1.2, -(ShaftLeft + 0.17), -27.55 + (15 * 3) - 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 5.5, -1, 1
+    Buttons(143).AddWall GetTex("ButtonAlarm"), -(ShaftLeft + 0.17), -27.85 + (15 * 3) - 1.6, -(ShaftLeft + 0.17), -27.55 + (15 * 3) - 1.6, 0.3, (Elevator(Number).GetPosition.Y + 12) - 5.5, -1, 1
+
+End If
+
+'Elevator 8
+If Number = 8 Then
+
+    'Buttons(142).AddWall GetTex("ButtonStop"), (ShaftLeft + 0.17), -18.45 + (15 * 3), (ShaftLeft + 0.17), -18.15 + (15 * 3), 0.3, (Elevator(Number).GetPosition.Y + 12), 1, 1
+    'Buttons(1).AddWall GetTex("Button1"), (ShaftLeft+0.17), -18.45 + (15 * 3) + 0.4, (ShaftLeft+0.17), -18.15 + (15 * 3) + 0.4, 0.3, (Elevator(Number).GetPosition.y + 12), 1, 1
+    'Buttons(134).AddWall GetTex("Button134"), (ShaftLeft+0.17), -18.45 + (15 * 3) + 0.8, (ShaftLeft+0.17), -18.15 + (15 * 3) + 0.8, 0.3, (Elevator(Number).GetPosition.y + 12), 1, 1
+    'Buttons(137).AddWall GetTex("Button137"), (ShaftLeft+0.17), -18.45 + (15 * 3) + 1.2, (ShaftLeft+0.17), -18.15 + (15 * 3) + 1.2, 0.3, (Elevator(Number).GetPosition.y + 12), 1, 1
+    'Buttons(143).AddWall GetTex("ButtonAlarm"), (ShaftLeft + 0.17), -18.45 + (15 * 3) + 1.6, (ShaftLeft + 0.17), -18.15 + (15 * 3) + 1.6, 0.3, (Elevator(Number).GetPosition.Y + 12), 1, 1
+    
+    'Buttons(128).AddWall GetTex("Button128"), (ShaftLeft+0.17), -18.45 + (15 * 3), (ShaftLeft+0.17), -18.15 + (15 * 3), 0.3, (Elevator(Number).GetPosition.y + 12) - 0.5, 1, 1
+    Buttons(127).AddWall GetTex("Button127"), (ShaftLeft + 0.17), -18.45 + (15 * 3) + 0.4, (ShaftLeft + 0.17), -18.15 + (15 * 3) + 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 0.5, 1, 1
+    Buttons(128).AddWall GetTex("Button128"), (ShaftLeft + 0.17), -18.45 + (15 * 3) + 0.8, (ShaftLeft + 0.17), -18.15 + (15 * 3) + 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 0.5, 1, 1
+    Buttons(129).AddWall GetTex("Button129"), (ShaftLeft + 0.17), -18.45 + (15 * 3) + 1.2, (ShaftLeft + 0.17), -18.15 + (15 * 3) + 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 0.5, 1, 1
+    'Buttons(134).AddWall GetTex("Button134"), (ShaftLeft+0.17), -18.45 + (15 * 3) + 1.6, (ShaftLeft+0.17), -18.15 + (15 * 3) + 1.6, 0.3, (Elevator(Number).GetPosition.y + 12) - 0.5, 1, 1
+    
+    'Buttons(123).AddWall GetTex("Button123"), (ShaftLeft+0.17), -18.45 + (15 * 3), (ShaftLeft+0.17), -18.15 + (15 * 3), 0.3, (Elevator(Number).GetPosition.y + 12) - 1, 1, 1
+    Buttons(124).AddWall GetTex("Button124"), (ShaftLeft + 0.17), -18.45 + (15 * 3) + 0.4, (ShaftLeft + 0.17), -18.15 + (15 * 3) + 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 1, 1, 1
+    Buttons(125).AddWall GetTex("Button125"), (ShaftLeft + 0.17), -18.45 + (15 * 3) + 0.8, (ShaftLeft + 0.17), -18.15 + (15 * 3) + 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 1, 1, 1
+    Buttons(126).AddWall GetTex("Button126"), (ShaftLeft + 0.17), -18.45 + (15 * 3) + 1.2, (ShaftLeft + 0.17), -18.15 + (15 * 3) + 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 1, 1, 1
+    'Buttons(127).AddWall GetTex("Button127"), (ShaftLeft+0.17), -18.45 + (15 * 3) + 1.6, (ShaftLeft+0.17), -18.15 + (15 * 3) + 1.6, 0.3, (Elevator(Number).GetPosition.y + 12) - 1, 1, 1
+    
+    'Buttons(118).AddWall GetTex("Button118"), (ShaftLeft+0.17), -18.45 + (15 * 3), (ShaftLeft+0.17), -18.15 + (15 * 3), 0.3, (Elevator(Number).GetPosition.y + 12) - 1.5, 1, 1
+    Buttons(121).AddWall GetTex("Button121"), (ShaftLeft + 0.17), -18.45 + (15 * 3) + 0.4, (ShaftLeft + 0.17), -18.15 + (15 * 3) + 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 1.5, 1, 1
+    Buttons(122).AddWall GetTex("Button122"), (ShaftLeft + 0.17), -18.45 + (15 * 3) + 0.8, (ShaftLeft + 0.17), -18.15 + (15 * 3) + 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 1.5, 1, 1
+    Buttons(123).AddWall GetTex("Button123"), (ShaftLeft + 0.17), -18.45 + (15 * 3) + 1.2, (ShaftLeft + 0.17), -18.15 + (15 * 3) + 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 1.5, 1, 1
+    'Buttons(122).AddWall GetTex("Button122"), (ShaftLeft+0.17), -18.45 + (15 * 3) + 1.6, (ShaftLeft+0.17), -18.15 + (15 * 3) + 1.6, 0.3, (Elevator(Number).GetPosition.y + 12) - 1.5, 1, 1
+    
+    'Buttons(105).AddWall GetTex("Button105"), (ShaftLeft+0.17), -18.45 + (15 * 3), (ShaftLeft+0.17), -18.15 + (15 * 3), 0.3, (Elevator(Number).GetPosition.y + 12) - 2, 1, 1
+    Buttons(118).AddWall GetTex("Button118"), (ShaftLeft + 0.17), -18.45 + (15 * 3) + 0.4, (ShaftLeft + 0.17), -18.15 + (15 * 3) + 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 2, 1, 1
+    Buttons(119).AddWall GetTex("Button119"), (ShaftLeft + 0.17), -18.45 + (15 * 3) + 0.8, (ShaftLeft + 0.17), -18.15 + (15 * 3) + 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 2, 1, 1
+    Buttons(120).AddWall GetTex("Button120"), (ShaftLeft + 0.17), -18.45 + (15 * 3) + 1.2, (ShaftLeft + 0.17), -18.15 + (15 * 3) + 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 2, 1, 1
+    'Buttons(109).AddWall GetTex("Button109"), (ShaftLeft+0.17), -18.45 + (15 * 3) + 1.6, (ShaftLeft+0.17), -18.15 + (15 * 3) + 1.6, 0.3, (Elevator(Number).GetPosition.y + 12) - 2, 1, 1
+    
+    'Buttons(110).AddWall GetTex("Button110"), (ShaftLeft+0.17), -18.45 + (15 * 3), (ShaftLeft+0.17), -18.15 + (15 * 3), 0.3, (Elevator(Number).GetPosition.y + 12) - 2.5, 1, 1
+    Buttons(112).AddWall GetTex("Button112"), (ShaftLeft + 0.17), -18.45 + (15 * 3) + 0.4, (ShaftLeft + 0.17), -18.15 + (15 * 3) + 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 2.5, 1, 1
+    Buttons(113).AddWall GetTex("Button113"), (ShaftLeft + 0.17), -18.45 + (15 * 3) + 0.8, (ShaftLeft + 0.17), -18.15 + (15 * 3) + 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 2.5, 1, 1
+    Buttons(114).AddWall GetTex("Button114"), (ShaftLeft + 0.17), -18.45 + (15 * 3) + 1.2, (ShaftLeft + 0.17), -18.15 + (15 * 3) + 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 2.5, 1, 1
+    'Buttons(114).AddWall GetTex("Button114"), (ShaftLeft+0.17), -18.45 + (15 * 3) + 1.6, (ShaftLeft+0.17), -18.15 + (15 * 3) + 1.6, 0.3, (Elevator(Number).GetPosition.y + 12) - 2.5, 1, 1
+    
+    'Buttons(105).AddWall GetTex("Button105"), (ShaftLeft+0.17), -18.45 + (15 * 3), (ShaftLeft+0.17), -18.15 + (15 * 3), 0.3, (Elevator(Number).GetPosition.y + 12) - 3, 1, 1
+    Buttons(109).AddWall GetTex("Button109"), (ShaftLeft + 0.17), -18.45 + (15 * 3) + 0.4, (ShaftLeft + 0.17), -18.15 + (15 * 3) + 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 3, 1, 1
+    Buttons(110).AddWall GetTex("Button110"), (ShaftLeft + 0.17), -18.45 + (15 * 3) + 0.8, (ShaftLeft + 0.17), -18.15 + (15 * 3) + 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 3, 1, 1
+    Buttons(111).AddWall GetTex("Button111"), (ShaftLeft + 0.17), -18.45 + (15 * 3) + 1.2, (ShaftLeft + 0.17), -18.15 + (15 * 3) + 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 3, 1, 1
+    'Buttons(109).AddWall GetTex("Button109"), (ShaftLeft+0.17), -18.45 + (15 * 3) + 1.6, (ShaftLeft+0.17), -18.15 + (15 * 3) + 1.6, 0.3, (Elevator(Number).GetPosition.y + 12) - 3, 1, 1
+    
+    'Buttons(100).AddWall GetTex("Button100"), (ShaftLeft+0.17), -18.45 + (15 * 3), (ShaftLeft+0.17), -18.15 + (15 * 3), 0.3, (Elevator(Number).GetPosition.y + 12) - 3.5, 1, 1
+    Buttons(106).AddWall GetTex("Button106"), (ShaftLeft + 0.17), -18.45 + (15 * 3) + 0.4, (ShaftLeft + 0.17), -18.15 + (15 * 3) + 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 3.5, 1, 1
+    Buttons(107).AddWall GetTex("Button107"), (ShaftLeft + 0.17), -18.45 + (15 * 3) + 0.8, (ShaftLeft + 0.17), -18.15 + (15 * 3) + 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 3.5, 1, 1
+    Buttons(108).AddWall GetTex("Button108"), (ShaftLeft + 0.17), -18.45 + (15 * 3) + 1.2, (ShaftLeft + 0.17), -18.15 + (15 * 3) + 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 3.5, 1, 1
+    'Buttons(104).AddWall GetTex("Button104"), (ShaftLeft+0.17), -18.45 + (15 * 3) + 1.6, (ShaftLeft+0.17), -18.15 + (15 * 3) + 1.6, 0.3, (Elevator(Number).GetPosition.y + 12) - 3.5, 1, 1
+    
+    'Buttons(85).AddWall GetTex("Button85"), (ShaftLeft+0.17), -18.45 + (15 * 3), (ShaftLeft+0.17), -18.15 + (15 * 3), 0.3, (Elevator(Number).GetPosition.y + 12) - 4, 1, 1
+    Buttons(103).AddWall GetTex("Button103"), (ShaftLeft + 0.17), -18.45 + (15 * 3) + 0.4, (ShaftLeft + 0.17), -18.15 + (15 * 3) + 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 4, 1, 1
+    Buttons(104).AddWall GetTex("Button104"), (ShaftLeft + 0.17), -18.45 + (15 * 3) + 0.8, (ShaftLeft + 0.17), -18.15 + (15 * 3) + 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 4, 1, 1
+    Buttons(105).AddWall GetTex("Button105"), (ShaftLeft + 0.17), -18.45 + (15 * 3) + 1.2, (ShaftLeft + 0.17), -18.15 + (15 * 3) + 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 4, 1, 1
+    'Buttons(89).AddWall GetTex("Button89"), (ShaftLeft+0.17), -18.45 + (15 * 3) + 1.6, (ShaftLeft+0.17), -18.15 + (15 * 3) + 1.6, 0.3, (Elevator(Number).GetPosition.y + 12) - 4, 1, 1
+    
+    'Buttons(80).AddWall GetTex("Button80"), (ShaftLeft+0.17), -18.45 + (15 * 3), (ShaftLeft+0.17), -18.15 + (15 * 3), 0.3, (Elevator(Number).GetPosition.y + 12) - 4.5, 1, 1
+    Buttons(100).AddWall GetTex("Button100"), (ShaftLeft + 0.17), -18.45 + (15 * 3) + 0.4, (ShaftLeft + 0.17), -18.15 + (15 * 3) + 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 4.5, 1, 1
+    Buttons(101).AddWall GetTex("Button101"), (ShaftLeft + 0.17), -18.45 + (15 * 3) + 0.8, (ShaftLeft + 0.17), -18.15 + (15 * 3) + 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 4.5, 1, 1
+    Buttons(102).AddWall GetTex("Button102"), (ShaftLeft + 0.17), -18.45 + (15 * 3) + 1.2, (ShaftLeft + 0.17), -18.15 + (15 * 3) + 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 4.5, 1, 1
+    'Buttons(84).AddWall GetTex("Button84"), (ShaftLeft+0.17), -18.45 + (15 * 3) + 1.6, (ShaftLeft+0.17), -18.15 + (15 * 3) + 1.6, 0.3, (Elevator(Number).GetPosition.y + 12) - 4.5, 1, 1
+    
+    'Buttons(2).AddWall GetTex("Button2"), (ShaftLeft+0.17), -18.45 + (15 * 3), (ShaftLeft+0.17), -18.15 + (15 * 3), 0.3, (Elevator(Number).GetPosition.y + 12) - 5, 1, 1
+    'Buttons(80).AddWall GetTex("Button80"), (ShaftLeft + 0.17), -18.45 + (15 * 3) + 0.4, (ShaftLeft + 0.17), -18.15 + (15 * 3) + 0.4, 0.3, (Elevator(Number).GetPosition.y + 12) - 5, 1, 1
+    Buttons(80).AddWall GetTex("Button80"), (ShaftLeft + 0.17), -18.45 + (15 * 3) + 0.8, (ShaftLeft + 0.17), -18.15 + (15 * 3) + 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 5, 1, 1
+    'Buttons(100).AddWall GetTex("Button100"), (ShaftLeft + 0.17), -18.45 + (15 * 3) + 1.2, (ShaftLeft + 0.17), -18.15 + (15 * 3) + 1.2, 0.3, (Elevator(Number).GetPosition.y + 12) - 5, 1, 1
+    'Buttons(79).AddWall GetTex("Button79"), (ShaftLeft+0.17), -18.45 + (15 * 3) + 1.6, (ShaftLeft+0.17), -18.15 + (15 * 3) + 1.6, 0.3, (Elevator(Number).GetPosition.y + 12) - 5, 1, 1
+    
+    Buttons(139).AddWall GetTex("ButtonOpen"), (ShaftLeft + 0.17), -18.45 + (15 * 3), (ShaftLeft + 0.17), -18.15 + (15 * 3), 0.3, (Elevator(Number).GetPosition.Y + 12) - 5.5, 1, 1
+    Buttons(140).AddWall GetTex("ButtonClose"), (ShaftLeft + 0.17), -18.45 + (15 * 3) + 0.4, (ShaftLeft + 0.17), -18.15 + (15 * 3) + 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 5.5, 1, 1
+    Buttons(141).AddWall GetTex("ButtonCancel"), (ShaftLeft + 0.17), -18.45 + (15 * 3) + 0.8, (ShaftLeft + 0.17), -18.15 + (15 * 3) + 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 5.5, 1, 1
+    Buttons(142).AddWall GetTex("ButtonStop"), (ShaftLeft + 0.17), -18.45 + (15 * 3) + 1.2, (ShaftLeft + 0.17), -18.15 + (15 * 3) + 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 5.5, 1, 1
+    Buttons(143).AddWall GetTex("ButtonAlarm"), (ShaftLeft + 0.17), -18.45 + (15 * 3) + 1.6, (ShaftLeft + 0.17), -18.15 + (15 * 3) + 1.6, 0.3, (Elevator(Number).GetPosition.Y + 12) - 5.5, 1, 1
+
+End If
+
+'Elevator 9
+If Number = 9 Then
+
+    'Buttons(142).AddWall GetTex("ButtonStop"), -(ShaftLeft + 0.17), -27.85 + (15 * 4), -(ShaftLeft + 0.17), -27.55 + (15 * 4), 0.3, (Elevator(Number).GetPosition.Y + 12), -1, 1
+    'Buttons(1).AddWall GetTex("Button1"), -(ShaftLeft+0.17), -27.85 + (15 * 4) - 0.4, -(ShaftLeft+0.17), -27.55 + (15 * 4) - 0.4, 0.3, (Elevator(Number).GetPosition.y + 12), -1, 1
+    'Buttons(134).AddWall GetTex("Button134"), -(ShaftLeft+0.17), -27.85 + (15 * 4) - 0.8, -(ShaftLeft+0.17), -27.55 + (15 * 4) - 0.8, 0.3, (Elevator(Number).GetPosition.y + 12), -1, 1
+    'Buttons(137).AddWall GetTex("Button137"), -(ShaftLeft+0.17), -27.85 + (15 * 4) - 1.2, -(ShaftLeft+0.17), -27.55 + (15 * 4) - 1.2, 0.3, (Elevator(Number).GetPosition.y + 12), -1, 1
+    'Buttons(143).AddWall GetTex("ButtonAlarm"), -(ShaftLeft + 0.17), -27.85 + (15 * 4) - 1.6, -(ShaftLeft + 0.17), -27.55 + (15 * 4) - 1.6, 0.3, (Elevator(Number).GetPosition.Y + 12), -1, 1
+    
+    'Buttons(128).AddWall GetTex("Button128"), -(ShaftLeft+0.17), -27.85 + (15 * 4), -(ShaftLeft+0.17), -27.55 + (15 * 4), 0.3, (Elevator(Number).GetPosition.y + 12) - 0.5, -1, 1
+    Buttons(127).AddWall GetTex("Button127"), -(ShaftLeft + 0.17), -27.85 + (15 * 4) - 0.4, -(ShaftLeft + 0.17), -27.55 + (15 * 4) - 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 0.5, -1, 1
+    Buttons(128).AddWall GetTex("Button128"), -(ShaftLeft + 0.17), -27.85 + (15 * 4) - 0.8, -(ShaftLeft + 0.17), -27.55 + (15 * 4) - 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 0.5, -1, 1
+    Buttons(129).AddWall GetTex("Button129"), -(ShaftLeft + 0.17), -27.85 + (15 * 4) - 1.2, -(ShaftLeft + 0.17), -27.55 + (15 * 4) - 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 0.5, -1, 1
+    'Buttons(134).AddWall GetTex("Button134"), -(ShaftLeft+0.17), -27.85 + (15 * 4) - 1.6, -(ShaftLeft+0.17), -27.55 + (15 * 4) - 1.6, 0.3, (Elevator(Number).GetPosition.y + 12) - 0.5, -1, 1
+    
+    'Buttons(123).AddWall GetTex("Button123"), -(ShaftLeft+0.17), -27.85 + (15 * 4), -(ShaftLeft+0.17), -27.55 + (15 * 4), 0.3, (Elevator(Number).GetPosition.y + 12) - 1, -1, 1
+    Buttons(124).AddWall GetTex("Button124"), -(ShaftLeft + 0.17), -27.85 + (15 * 4) - 0.4, -(ShaftLeft + 0.17), -27.55 + (15 * 4) - 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 1, -1, 1
+    Buttons(125).AddWall GetTex("Button125"), -(ShaftLeft + 0.17), -27.85 + (15 * 4) - 0.8, -(ShaftLeft + 0.17), -27.55 + (15 * 4) - 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 1, -1, 1
+    Buttons(126).AddWall GetTex("Button126"), -(ShaftLeft + 0.17), -27.85 + (15 * 4) - 1.2, -(ShaftLeft + 0.17), -27.55 + (15 * 4) - 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 1, -1, 1
+    'Buttons(127).AddWall GetTex("Button127"), -(ShaftLeft+0.17), -27.85 + (15 * 4) - 1.6, -(ShaftLeft+0.17), -27.55 + (15 * 4) - 1.6, 0.3, (Elevator(Number).GetPosition.y + 12) - 1, -1, 1
+    
+    'Buttons(118).AddWall GetTex("Button118"), -(ShaftLeft+0.17), -27.85 + (15 * 4), -(ShaftLeft+0.17), -27.55 + (15 * 4), 0.3, (Elevator(Number).GetPosition.y + 12) - 1.5, -1, 1
+    Buttons(121).AddWall GetTex("Button121"), -(ShaftLeft + 0.17), -27.85 + (15 * 4) - 0.4, -(ShaftLeft + 0.17), -27.55 + (15 * 4) - 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 1.5, -1, 1
+    Buttons(122).AddWall GetTex("Button122"), -(ShaftLeft + 0.17), -27.85 + (15 * 4) - 0.8, -(ShaftLeft + 0.17), -27.55 + (15 * 4) - 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 1.5, -1, 1
+    Buttons(123).AddWall GetTex("Button123"), -(ShaftLeft + 0.17), -27.85 + (15 * 4) - 1.2, -(ShaftLeft + 0.17), -27.55 + (15 * 4) - 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 1.5, -1, 1
+    'Buttons(122).AddWall GetTex("Button122"), -(ShaftLeft+0.17), -27.85 + (15 * 4) - 1.6, -(ShaftLeft+0.17), -27.55 + (15 * 4) - 1.6, 0.3, (Elevator(Number).GetPosition.y + 12) - 1.5, -1, 1
+    
+    'Buttons(105).AddWall GetTex("Button105"), -(ShaftLeft+0.17), -27.85 + (15 * 4), -(ShaftLeft+0.17), -27.55 + (15 * 4), 0.3, (Elevator(Number).GetPosition.y + 12) - 2, -1, 1
+    Buttons(118).AddWall GetTex("Button118"), -(ShaftLeft + 0.17), -27.85 + (15 * 4) - 0.4, -(ShaftLeft + 0.17), -27.55 + (15 * 4) - 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 2, -1, 1
+    Buttons(119).AddWall GetTex("Button119"), -(ShaftLeft + 0.17), -27.85 + (15 * 4) - 0.8, -(ShaftLeft + 0.17), -27.55 + (15 * 4) - 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 2, -1, 1
+    Buttons(120).AddWall GetTex("Button120"), -(ShaftLeft + 0.17), -27.85 + (15 * 4) - 1.2, -(ShaftLeft + 0.17), -27.55 + (15 * 4) - 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 2, -1, 1
+    'Buttons(109).AddWall GetTex("Button109"), -(ShaftLeft+0.17), -27.85 + (15 * 4) - 1.6, -(ShaftLeft+0.17), -27.55 + (15 * 4) - 1.6, 0.3, (Elevator(Number).GetPosition.y + 12) - 2, -1, 1
+    
+    'Buttons(110).AddWall GetTex("Button110"), -(ShaftLeft+0.17), -27.85 + (15 * 4), -(ShaftLeft+0.17), -27.55 + (15 * 4), 0.3, (Elevator(Number).GetPosition.y + 12) - 2.5, -1, 1
+    Buttons(112).AddWall GetTex("Button112"), -(ShaftLeft + 0.17), -27.85 + (15 * 4) - 0.4, -(ShaftLeft + 0.17), -27.55 + (15 * 4) - 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 2.5, -1, 1
+    Buttons(113).AddWall GetTex("Button113"), -(ShaftLeft + 0.17), -27.85 + (15 * 4) - 0.8, -(ShaftLeft + 0.17), -27.55 + (15 * 4) - 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 2.5, -1, 1
+    Buttons(114).AddWall GetTex("Button114"), -(ShaftLeft + 0.17), -27.85 + (15 * 4) - 1.2, -(ShaftLeft + 0.17), -27.55 + (15 * 4) - 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 2.5, -1, 1
+    'Buttons(114).AddWall GetTex("Button114"), -(ShaftLeft+0.17), -27.85 + (15 * 4) - 1.6, -(ShaftLeft+0.17), -27.55 + (15 * 4) - 1.6, 0.3, (Elevator(Number).GetPosition.y + 12) - 2.5, -1, 1
+    
+    'Buttons(105).AddWall GetTex("Button105"), -(ShaftLeft+0.17), -27.85 + (15 * 4), -(ShaftLeft+0.17), -27.55 + (15 * 4), 0.3, (Elevator(Number).GetPosition.y + 12) - 3, -1, 1
+    Buttons(109).AddWall GetTex("Button109"), -(ShaftLeft + 0.17), -27.85 + (15 * 4) - 0.4, -(ShaftLeft + 0.17), -27.55 + (15 * 4) - 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 3, -1, 1
+    Buttons(110).AddWall GetTex("Button110"), -(ShaftLeft + 0.17), -27.85 + (15 * 4) - 0.8, -(ShaftLeft + 0.17), -27.55 + (15 * 4) - 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 3, -1, 1
+    Buttons(111).AddWall GetTex("Button111"), -(ShaftLeft + 0.17), -27.85 + (15 * 4) - 1.2, -(ShaftLeft + 0.17), -27.55 + (15 * 4) - 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 3, -1, 1
+    'Buttons(109).AddWall GetTex("Button109"), -(ShaftLeft+0.17), -27.85 + (15 * 4) - 1.6, -(ShaftLeft+0.17), -27.55 + (15 * 4) - 1.6, 0.3, (Elevator(Number).GetPosition.y + 12) - 3, -1, 1
+    
+    'Buttons(100).AddWall GetTex("Button100"), -(ShaftLeft+0.17), -27.85 + (15 * 4), -(ShaftLeft+0.17), -27.55 + (15 * 4), 0.3, (Elevator(Number).GetPosition.y + 12) - 3.5, -1, 1
+    Buttons(106).AddWall GetTex("Button106"), -(ShaftLeft + 0.17), -27.85 + (15 * 4) - 0.4, -(ShaftLeft + 0.17), -27.55 + (15 * 4) - 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 3.5, -1, 1
+    Buttons(107).AddWall GetTex("Button107"), -(ShaftLeft + 0.17), -27.85 + (15 * 4) - 0.8, -(ShaftLeft + 0.17), -27.55 + (15 * 4) - 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 3.5, -1, 1
+    Buttons(108).AddWall GetTex("Button108"), -(ShaftLeft + 0.17), -27.85 + (15 * 4) - 1.2, -(ShaftLeft + 0.17), -27.55 + (15 * 4) - 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 3.5, -1, 1
+    'Buttons(104).AddWall GetTex("Button104"), -(ShaftLeft+0.17), -27.85 + (15 * 4) - 1.6, -(ShaftLeft+0.17), -27.55 + (15 * 4) - 1.6, 0.3, (Elevator(Number).GetPosition.y + 12) - 3.5, -1, 1
+    
+    'Buttons(85).AddWall GetTex("Button85"), -(ShaftLeft+0.17), -27.85 + (15 * 4), -(ShaftLeft+0.17), -27.55 + (15 * 4), 0.3, (Elevator(Number).GetPosition.y + 12) - 4, -1, 1
+    Buttons(103).AddWall GetTex("Button103"), -(ShaftLeft + 0.17), -27.85 + (15 * 4) - 0.4, -(ShaftLeft + 0.17), -27.55 + (15 * 4) - 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 4, -1, 1
+    Buttons(104).AddWall GetTex("Button104"), -(ShaftLeft + 0.17), -27.85 + (15 * 4) - 0.8, -(ShaftLeft + 0.17), -27.55 + (15 * 4) - 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 4, -1, 1
+    Buttons(105).AddWall GetTex("Button105"), -(ShaftLeft + 0.17), -27.85 + (15 * 4) - 1.2, -(ShaftLeft + 0.17), -27.55 + (15 * 4) - 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 4, -1, 1
+    'Buttons(89).AddWall GetTex("Button89"), -(ShaftLeft+0.17), -27.85 + (15 * 4) - 1.6, -(ShaftLeft+0.17), -27.55 + (15 * 4) - 1.6, 0.3, (Elevator(Number).GetPosition.y + 12) - 4, -1, 1
+    
+    'Buttons(80).AddWall GetTex("Button80"), -(ShaftLeft+0.17), -27.85 + (15 * 4), -(ShaftLeft+0.17), -27.55 + (15 * 4), 0.3, (Elevator(Number).GetPosition.y + 12) - 4.5, -1, 1
+    Buttons(100).AddWall GetTex("Button100"), -(ShaftLeft + 0.17), -27.85 + (15 * 4) - 0.4, -(ShaftLeft + 0.17), -27.55 + (15 * 4) - 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 4.5, -1, 1
+    Buttons(101).AddWall GetTex("Button101"), -(ShaftLeft + 0.17), -27.85 + (15 * 4) - 0.8, -(ShaftLeft + 0.17), -27.55 + (15 * 4) - 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 4.5, -1, 1
+    Buttons(102).AddWall GetTex("Button102"), -(ShaftLeft + 0.17), -27.85 + (15 * 4) - 1.2, -(ShaftLeft + 0.17), -27.55 + (15 * 4) - 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 4.5, -1, 1
+    'Buttons(84).AddWall GetTex("Button84"), -(ShaftLeft+0.17), -27.85 + (15 * 4) - 1.6, -(ShaftLeft+0.17), -27.55 + (15 * 4) - 1.6, 0.3, (Elevator(Number).GetPosition.y + 12) - 4.5, -1, 1
+    
+    'Buttons(2).AddWall GetTex("Button2"), -(ShaftLeft+0.17), -27.85 + (15 * 4), -(ShaftLeft+0.17), -27.55 + (15 * 4), 0.3, (Elevator(Number).GetPosition.y + 12) - 5, -1, 1
+    'Buttons(80).AddWall GetTex("Button80"), -(ShaftLeft + 0.17), -27.85 + (15 * 4) - 0.4, -(ShaftLeft + 0.17), -27.55 + (15 * 4) - 0.4, 0.3, (Elevator(Number).GetPosition.y + 12) - 5, -1, 1
+    Buttons(80).AddWall GetTex("Button80"), -(ShaftLeft + 0.17), -27.85 + (15 * 4) - 0.8, -(ShaftLeft + 0.17), -27.55 + (15 * 4) - 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 5, -1, 1
+    'Buttons(100).AddWall GetTex("Button100"), -(ShaftLeft + 0.17), -27.85 + (15 * 4) - 1.2, -(ShaftLeft + 0.17), -27.55 + (15 * 4) - 1.2, 0.3, (Elevator(Number).GetPosition.y + 12) - 5, -1, 1
+    'Buttons(79).AddWall GetTex("Button79"), -(ShaftLeft+0.17), -27.85 + (15 * 4) - 1.6, -(ShaftLeft+0.17), -27.55 + (15 * 4) - 1.6, 0.3, (Elevator(Number).GetPosition.y + 12) - 5, -1, 1
+    
+    Buttons(139).AddWall GetTex("ButtonOpen"), -(ShaftLeft + 0.17), -27.85 + (15 * 4), -(ShaftLeft + 0.17), -27.55 + (15 * 4), 0.3, (Elevator(Number).GetPosition.Y + 12) - 5.5, -1, 1
+    Buttons(140).AddWall GetTex("ButtonClose"), -(ShaftLeft + 0.17), -27.85 + (15 * 4) - 0.4, -(ShaftLeft + 0.17), -27.55 + (15 * 4) - 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 5.5, -1, 1
+    Buttons(141).AddWall GetTex("ButtonCancel"), -(ShaftLeft + 0.17), -27.85 + (15 * 4) - 0.8, -(ShaftLeft + 0.17), -27.55 + (15 * 4) - 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 5.5, -1, 1
+    Buttons(142).AddWall GetTex("ButtonStop"), -(ShaftLeft + 0.17), -27.85 + (15 * 4) - 1.2, -(ShaftLeft + 0.17), -27.55 + (15 * 4) - 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 5.5, -1, 1
+    Buttons(143).AddWall GetTex("ButtonAlarm"), -(ShaftLeft + 0.17), -27.85 + (15 * 4) - 1.6, -(ShaftLeft + 0.17), -27.55 + (15 * 4) - 1.6, 0.3, (Elevator(Number).GetPosition.Y + 12) - 5.5, -1, 1
+
+End If
+
+'Elevator 10
+If Number = 10 Then
+
+    'Buttons(142).AddWall GetTex("ButtonStop"), (ShaftLeft + 0.17), -18.45 + (15 * 4), (ShaftLeft + 0.17), -18.15 + (15 * 4), 0.3, (Elevator(Number).GetPosition.Y + 12), 1, 1
+    'Buttons(1).AddWall GetTex("Button1"), (ShaftLeft+0.17), -18.45 + (15 * 4) + 0.4, (ShaftLeft+0.17), -18.15 + (15 * 4) + 0.4, 0.3, (Elevator(Number).GetPosition.y + 12), 1, 1
+    'Buttons(134).AddWall GetTex("Button134"), (ShaftLeft+0.17), -18.45 + (15 * 4) + 0.8, (ShaftLeft+0.17), -18.15 + (15 * 4) + 0.8, 0.3, (Elevator(Number).GetPosition.y + 12), 1, 1
+    'Buttons(137).AddWall GetTex("Button137"), (ShaftLeft+0.17), -18.45 + (15 * 4) + 1.2, (ShaftLeft+0.17), -18.15 + (15 * 4) + 1.2, 0.3, (Elevator(Number).GetPosition.y + 12), 1, 1
+    'Buttons(143).AddWall GetTex("ButtonAlarm"), (ShaftLeft + 0.17), -18.45 + (15 * 4) + 1.6, (ShaftLeft + 0.17), -18.15 + (15 * 4) + 1.6, 0.3, (Elevator(Number).GetPosition.Y + 12), 1, 1
+    
+    'Buttons(128).AddWall GetTex("Button128"), (ShaftLeft+0.17), -18.45 + (15 * 4), (ShaftLeft+0.17), -18.15 + (15 * 4), 0.3, (Elevator(Number).GetPosition.y + 12) - 0.5, 1, 1
+    Buttons(127).AddWall GetTex("Button127"), (ShaftLeft + 0.17), -18.45 + (15 * 4) + 0.4, (ShaftLeft + 0.17), -18.15 + (15 * 4) + 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 0.5, 1, 1
+    Buttons(128).AddWall GetTex("Button128"), (ShaftLeft + 0.17), -18.45 + (15 * 4) + 0.8, (ShaftLeft + 0.17), -18.15 + (15 * 4) + 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 0.5, 1, 1
+    Buttons(129).AddWall GetTex("Button129"), (ShaftLeft + 0.17), -18.45 + (15 * 4) + 1.2, (ShaftLeft + 0.17), -18.15 + (15 * 4) + 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 0.5, 1, 1
+    'Buttons(134).AddWall GetTex("Button134"), (ShaftLeft+0.17), -18.45 + (15 * 4) + 1.6, (ShaftLeft+0.17), -18.15 + (15 * 4) + 1.6, 0.3, (Elevator(Number).GetPosition.y + 12) - 0.5, 1, 1
+    
+    'Buttons(123).AddWall GetTex("Button123"), (ShaftLeft+0.17), -18.45 + (15 * 4), (ShaftLeft+0.17), -18.15 + (15 * 4), 0.3, (Elevator(Number).GetPosition.y + 12) - 1, 1, 1
+    Buttons(124).AddWall GetTex("Button124"), (ShaftLeft + 0.17), -18.45 + (15 * 4) + 0.4, (ShaftLeft + 0.17), -18.15 + (15 * 4) + 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 1, 1, 1
+    Buttons(125).AddWall GetTex("Button125"), (ShaftLeft + 0.17), -18.45 + (15 * 4) + 0.8, (ShaftLeft + 0.17), -18.15 + (15 * 4) + 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 1, 1, 1
+    Buttons(126).AddWall GetTex("Button126"), (ShaftLeft + 0.17), -18.45 + (15 * 4) + 1.2, (ShaftLeft + 0.17), -18.15 + (15 * 4) + 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 1, 1, 1
+    'Buttons(127).AddWall GetTex("Button127"), (ShaftLeft+0.17), -18.45 + (15 * 4) + 1.6, (ShaftLeft+0.17), -18.15 + (15 * 4) + 1.6, 0.3, (Elevator(Number).GetPosition.y + 12) - 1, 1, 1
+    
+    'Buttons(118).AddWall GetTex("Button118"), (ShaftLeft+0.17), -18.45 + (15 * 4), (ShaftLeft+0.17), -18.15 + (15 * 4), 0.3, (Elevator(Number).GetPosition.y + 12) - 1.5, 1, 1
+    Buttons(121).AddWall GetTex("Button121"), (ShaftLeft + 0.17), -18.45 + (15 * 4) + 0.4, (ShaftLeft + 0.17), -18.15 + (15 * 4) + 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 1.5, 1, 1
+    Buttons(122).AddWall GetTex("Button122"), (ShaftLeft + 0.17), -18.45 + (15 * 4) + 0.8, (ShaftLeft + 0.17), -18.15 + (15 * 4) + 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 1.5, 1, 1
+    Buttons(123).AddWall GetTex("Button123"), (ShaftLeft + 0.17), -18.45 + (15 * 4) + 1.2, (ShaftLeft + 0.17), -18.15 + (15 * 4) + 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 1.5, 1, 1
+    'Buttons(122).AddWall GetTex("Button122"), (ShaftLeft+0.17), -18.45 + (15 * 4) + 1.6, (ShaftLeft+0.17), -18.15 + (15 * 4) + 1.6, 0.3, (Elevator(Number).GetPosition.y + 12) - 1.5, 1, 1
+    
+    'Buttons(105).AddWall GetTex("Button105"), (ShaftLeft+0.17), -18.45 + (15 * 4), (ShaftLeft+0.17), -18.15 + (15 * 4), 0.3, (Elevator(Number).GetPosition.y + 12) - 2, 1, 1
+    Buttons(118).AddWall GetTex("Button118"), (ShaftLeft + 0.17), -18.45 + (15 * 4) + 0.4, (ShaftLeft + 0.17), -18.15 + (15 * 4) + 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 2, 1, 1
+    Buttons(119).AddWall GetTex("Button119"), (ShaftLeft + 0.17), -18.45 + (15 * 4) + 0.8, (ShaftLeft + 0.17), -18.15 + (15 * 4) + 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 2, 1, 1
+    Buttons(120).AddWall GetTex("Button120"), (ShaftLeft + 0.17), -18.45 + (15 * 4) + 1.2, (ShaftLeft + 0.17), -18.15 + (15 * 4) + 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 2, 1, 1
+    'Buttons(109).AddWall GetTex("Button109"), (ShaftLeft+0.17), -18.45 + (15 * 4) + 1.6, (ShaftLeft+0.17), -18.15 + (15 * 4) + 1.6, 0.3, (Elevator(Number).GetPosition.y + 12) - 2, 1, 1
+    
+    'Buttons(110).AddWall GetTex("Button110"), (ShaftLeft+0.17), -18.45 + (15 * 4), (ShaftLeft+0.17), -18.15 + (15 * 4), 0.3, (Elevator(Number).GetPosition.y + 12) - 2.5, 1, 1
+    Buttons(112).AddWall GetTex("Button112"), (ShaftLeft + 0.17), -18.45 + (15 * 4) + 0.4, (ShaftLeft + 0.17), -18.15 + (15 * 4) + 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 2.5, 1, 1
+    Buttons(113).AddWall GetTex("Button113"), (ShaftLeft + 0.17), -18.45 + (15 * 4) + 0.8, (ShaftLeft + 0.17), -18.15 + (15 * 4) + 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 2.5, 1, 1
+    Buttons(114).AddWall GetTex("Button114"), (ShaftLeft + 0.17), -18.45 + (15 * 4) + 1.2, (ShaftLeft + 0.17), -18.15 + (15 * 4) + 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 2.5, 1, 1
+    'Buttons(114).AddWall GetTex("Button114"), (ShaftLeft+0.17), -18.45 + (15 * 4) + 1.6, (ShaftLeft+0.17), -18.15 + (15 * 4) + 1.6, 0.3, (Elevator(Number).GetPosition.y + 12) - 2.5, 1, 1
+    
+    'Buttons(105).AddWall GetTex("Button105"), (ShaftLeft+0.17), -18.45 + (15 * 4), (ShaftLeft+0.17), -18.15 + (15 * 4), 0.3, (Elevator(Number).GetPosition.y + 12) - 3, 1, 1
+    Buttons(109).AddWall GetTex("Button109"), (ShaftLeft + 0.17), -18.45 + (15 * 4) + 0.4, (ShaftLeft + 0.17), -18.15 + (15 * 4) + 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 3, 1, 1
+    Buttons(110).AddWall GetTex("Button110"), (ShaftLeft + 0.17), -18.45 + (15 * 4) + 0.8, (ShaftLeft + 0.17), -18.15 + (15 * 4) + 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 3, 1, 1
+    Buttons(111).AddWall GetTex("Button111"), (ShaftLeft + 0.17), -18.45 + (15 * 4) + 1.2, (ShaftLeft + 0.17), -18.15 + (15 * 4) + 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 3, 1, 1
+    'Buttons(109).AddWall GetTex("Button109"), (ShaftLeft+0.17), -18.45 + (15 * 4) + 1.6, (ShaftLeft+0.17), -18.15 + (15 * 4) + 1.6, 0.3, (Elevator(Number).GetPosition.y + 12) - 3, 1, 1
+    
+    'Buttons(100).AddWall GetTex("Button100"), (ShaftLeft+0.17), -18.45 + (15 * 4), (ShaftLeft+0.17), -18.15 + (15 * 4), 0.3, (Elevator(Number).GetPosition.y + 12) - 3.5, 1, 1
+    Buttons(106).AddWall GetTex("Button106"), (ShaftLeft + 0.17), -18.45 + (15 * 4) + 0.4, (ShaftLeft + 0.17), -18.15 + (15 * 4) + 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 3.5, 1, 1
+    Buttons(107).AddWall GetTex("Button107"), (ShaftLeft + 0.17), -18.45 + (15 * 4) + 0.8, (ShaftLeft + 0.17), -18.15 + (15 * 4) + 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 3.5, 1, 1
+    Buttons(108).AddWall GetTex("Button108"), (ShaftLeft + 0.17), -18.45 + (15 * 4) + 1.2, (ShaftLeft + 0.17), -18.15 + (15 * 4) + 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 3.5, 1, 1
+    'Buttons(104).AddWall GetTex("Button104"), (ShaftLeft+0.17), -18.45 + (15 * 4) + 1.6, (ShaftLeft+0.17), -18.15 + (15 * 4) + 1.6, 0.3, (Elevator(Number).GetPosition.y + 12) - 3.5, 1, 1
+    
+    'Buttons(85).AddWall GetTex("Button85"), (ShaftLeft+0.17), -18.45 + (15 * 4), (ShaftLeft+0.17), -18.15 + (15 * 4), 0.3, (Elevator(Number).GetPosition.y + 12) - 4, 1, 1
+    Buttons(103).AddWall GetTex("Button103"), (ShaftLeft + 0.17), -18.45 + (15 * 4) + 0.4, (ShaftLeft + 0.17), -18.15 + (15 * 4) + 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 4, 1, 1
+    Buttons(104).AddWall GetTex("Button104"), (ShaftLeft + 0.17), -18.45 + (15 * 4) + 0.8, (ShaftLeft + 0.17), -18.15 + (15 * 4) + 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 4, 1, 1
+    Buttons(105).AddWall GetTex("Button105"), (ShaftLeft + 0.17), -18.45 + (15 * 4) + 1.2, (ShaftLeft + 0.17), -18.15 + (15 * 4) + 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 4, 1, 1
+    'Buttons(89).AddWall GetTex("Button89"), (ShaftLeft+0.17), -18.45 + (15 * 4) + 1.6, (ShaftLeft+0.17), -18.15 + (15 * 4) + 1.6, 0.3, (Elevator(Number).GetPosition.y + 12) - 4, 1, 1
+    
+    'Buttons(80).AddWall GetTex("Button80"), (ShaftLeft+0.17), -18.45 + (15 * 4), (ShaftLeft+0.17), -18.15 + (15 * 4), 0.3, (Elevator(Number).GetPosition.y + 12) - 4.5, 1, 1
+    Buttons(100).AddWall GetTex("Button100"), (ShaftLeft + 0.17), -18.45 + (15 * 4) + 0.4, (ShaftLeft + 0.17), -18.15 + (15 * 4) + 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 4.5, 1, 1
+    Buttons(101).AddWall GetTex("Button101"), (ShaftLeft + 0.17), -18.45 + (15 * 4) + 0.8, (ShaftLeft + 0.17), -18.15 + (15 * 4) + 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 4.5, 1, 1
+    Buttons(102).AddWall GetTex("Button102"), (ShaftLeft + 0.17), -18.45 + (15 * 4) + 1.2, (ShaftLeft + 0.17), -18.15 + (15 * 4) + 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 4.5, 1, 1
+    'Buttons(84).AddWall GetTex("Button84"), (ShaftLeft+0.17), -18.45 + (15 * 4) + 1.6, (ShaftLeft+0.17), -18.15 + (15 * 4) + 1.6, 0.3, (Elevator(Number).GetPosition.y + 12) - 4.5, 1, 1
+    
+    'Buttons(2).AddWall GetTex("Button2"), (ShaftLeft+0.17), -18.45 + (15 * 4), (ShaftLeft+0.17), -18.15 + (15 * 4), 0.3, (Elevator(Number).GetPosition.y + 12) - 5, 1, 1
+    'Buttons(80).AddWall GetTex("Button80"), (ShaftLeft + 0.17), -18.45 + (15 * 4) + 0.4, (ShaftLeft + 0.17), -18.15 + (15 * 4) + 0.4, 0.3, (Elevator(Number).GetPosition.y + 12) - 5, 1, 1
+    Buttons(80).AddWall GetTex("Button80"), (ShaftLeft + 0.17), -18.45 + (15 * 4) + 0.8, (ShaftLeft + 0.17), -18.15 + (15 * 4) + 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 5, 1, 1
+    'Buttons(100).AddWall GetTex("Button100"), (ShaftLeft + 0.17), -18.45 + (15 * 4) + 1.2, (ShaftLeft + 0.17), -18.15 + (15 * 4) + 1.2, 0.3, (Elevator(Number).GetPosition.y + 12) - 5, 1, 1
+    'Buttons(79).AddWall GetTex("Button79"), (ShaftLeft+0.17), -18.45 + (15 * 4) + 1.6, (ShaftLeft+0.17), -18.15 + (15 * 4) + 1.6, 0.3, (Elevator(Number).GetPosition.y + 12) - 5, 1, 1
+    
+    Buttons(139).AddWall GetTex("ButtonOpen"), (ShaftLeft + 0.17), -18.45 + (15 * 4), (ShaftLeft + 0.17), -18.15 + (15 * 4), 0.3, (Elevator(Number).GetPosition.Y + 12) - 5.5, 1, 1
+    Buttons(140).AddWall GetTex("ButtonClose"), (ShaftLeft + 0.17), -18.45 + (15 * 4) + 0.4, (ShaftLeft + 0.17), -18.15 + (15 * 4) + 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 5.5, 1, 1
+    Buttons(141).AddWall GetTex("ButtonCancel"), (ShaftLeft + 0.17), -18.45 + (15 * 4) + 0.8, (ShaftLeft + 0.17), -18.15 + (15 * 4) + 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 5.5, 1, 1
+    Buttons(142).AddWall GetTex("ButtonStop"), (ShaftLeft + 0.17), -18.45 + (15 * 4) + 1.2, (ShaftLeft + 0.17), -18.15 + (15 * 4) + 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 5.5, 1, 1
+    Buttons(143).AddWall GetTex("ButtonAlarm"), (ShaftLeft + 0.17), -18.45 + (15 * 4) + 1.6, (ShaftLeft + 0.17), -18.15 + (15 * 4) + 1.6, 0.3, (Elevator(Number).GetPosition.Y + 12) - 5.5, 1, 1
+
+End If
+End Sub
+
+
+Sub DrawElevatorButtons2(Number As Integer)
+'Elevator Buttons
+Dim ShaftLeft As Single
+ShaftLeft = 52.5
+    
+If Number = 11 Then
+
+    Buttons(51).AddWall GetTex("Button51"), -(ShaftLeft - 0.17), -18.45, -(ShaftLeft - 0.17), -18.15, 0.3, (Elevator(Number).GetPosition.Y + 12), 1, 1
+    Buttons(80).AddWall GetTex("Button80"), -(ShaftLeft - 0.17), -18.45 + 0.4, -(ShaftLeft - 0.17), -18.15 + 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12), 1, 1
+    Buttons(115).AddWall GetTex("Button115"), -(ShaftLeft - 0.17), -18.45 + 0.8, -(ShaftLeft - 0.17), -18.15 + 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12), 1, 1
+    Buttons(116).AddWall GetTex("Button116"), -(ShaftLeft - 0.17), -18.45 + 1.2, -(ShaftLeft - 0.17), -18.15 + 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12), 1, 1
+    Buttons(117).AddWall GetTex("Button117"), -(ShaftLeft - 0.17), -18.45 + 1.6, -(ShaftLeft - 0.17), -18.15 + 1.6, 0.3, (Elevator(Number).GetPosition.Y + 12), 1, 1
+    
+    Buttons(46).AddWall GetTex("Button46"), -(ShaftLeft - 0.17), -18.45, -(ShaftLeft - 0.17), -18.15, 0.3, (Elevator(Number).GetPosition.Y + 12) - 0.5, 1, 1
+    Buttons(47).AddWall GetTex("Button47"), -(ShaftLeft - 0.17), -18.45 + 0.4, -(ShaftLeft - 0.17), -18.15 + 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 0.5, 1, 1
+    Buttons(48).AddWall GetTex("Button48"), -(ShaftLeft - 0.17), -18.45 + 0.8, -(ShaftLeft - 0.17), -18.15 + 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 0.5, 1, 1
+    Buttons(49).AddWall GetTex("Button49"), -(ShaftLeft - 0.17), -18.45 + 1.2, -(ShaftLeft - 0.17), -18.15 + 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 0.5, 1, 1
+    Buttons(50).AddWall GetTex("Button50"), -(ShaftLeft - 0.17), -18.45 + 1.6, -(ShaftLeft - 0.17), -18.15 + 1.6, 0.3, (Elevator(Number).GetPosition.Y + 12) - 0.5, 1, 1
+    
+    Buttons(41).AddWall GetTex("Button41"), -(ShaftLeft - 0.17), -18.45, -(ShaftLeft - 0.17), -18.15, 0.3, (Elevator(Number).GetPosition.Y + 12) - 1, 1, 1
+    Buttons(42).AddWall GetTex("Button42"), -(ShaftLeft - 0.17), -18.45 + 0.4, -(ShaftLeft - 0.17), -18.15 + 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 1, 1, 1
+    Buttons(43).AddWall GetTex("Button43"), -(ShaftLeft - 0.17), -18.45 + 0.8, -(ShaftLeft - 0.17), -18.15 + 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 1, 1, 1
+    Buttons(44).AddWall GetTex("Button44"), -(ShaftLeft - 0.17), -18.45 + 1.2, -(ShaftLeft - 0.17), -18.15 + 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 1, 1, 1
+    Buttons(45).AddWall GetTex("Button45"), -(ShaftLeft - 0.17), -18.45 + 1.6, -(ShaftLeft - 0.17), -18.15 + 1.6, 0.3, (Elevator(Number).GetPosition.Y + 12) - 1, 1, 1
+    
+    Buttons(36).AddWall GetTex("Button36"), -(ShaftLeft - 0.17), -18.45, -(ShaftLeft - 0.17), -18.15, 0.3, (Elevator(Number).GetPosition.Y + 12) - 1.5, 1, 1
+    Buttons(37).AddWall GetTex("Button37"), -(ShaftLeft - 0.17), -18.45 + 0.4, -(ShaftLeft - 0.17), -18.15 + 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 1.5, 1, 1
+    Buttons(38).AddWall GetTex("Button38"), -(ShaftLeft - 0.17), -18.45 + 0.8, -(ShaftLeft - 0.17), -18.15 + 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 1.5, 1, 1
+    Buttons(39).AddWall GetTex("Button39"), -(ShaftLeft - 0.17), -18.45 + 1.2, -(ShaftLeft - 0.17), -18.15 + 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 1.5, 1, 1
+    Buttons(40).AddWall GetTex("Button40"), -(ShaftLeft - 0.17), -18.45 + 1.6, -(ShaftLeft - 0.17), -18.15 + 1.6, 0.3, (Elevator(Number).GetPosition.Y + 12) - 1.5, 1, 1
+    
+    Buttons(31).AddWall GetTex("Button31"), -(ShaftLeft - 0.17), -18.45, -(ShaftLeft - 0.17), -18.15, 0.3, (Elevator(Number).GetPosition.Y + 12) - 2, 1, 1
+    Buttons(32).AddWall GetTex("Button32"), -(ShaftLeft - 0.17), -18.45 + 0.4, -(ShaftLeft - 0.17), -18.15 + 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 2, 1, 1
+    Buttons(33).AddWall GetTex("Button33"), -(ShaftLeft - 0.17), -18.45 + 0.8, -(ShaftLeft - 0.17), -18.15 + 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 2, 1, 1
+    Buttons(34).AddWall GetTex("Button34"), -(ShaftLeft - 0.17), -18.45 + 1.2, -(ShaftLeft - 0.17), -18.15 + 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 2, 1, 1
+    Buttons(35).AddWall GetTex("Button35"), -(ShaftLeft - 0.17), -18.45 + 1.6, -(ShaftLeft - 0.17), -18.15 + 1.6, 0.3, (Elevator(Number).GetPosition.Y + 12) - 2, 1, 1
+    
+    Buttons(26).AddWall GetTex("Button26"), -(ShaftLeft - 0.17), -18.45, -(ShaftLeft - 0.17), -18.15, 0.3, (Elevator(Number).GetPosition.Y + 12) - 2.5, 1, 1
+    Buttons(27).AddWall GetTex("Button27"), -(ShaftLeft - 0.17), -18.45 + 0.4, -(ShaftLeft - 0.17), -18.15 + 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 2.5, 1, 1
+    Buttons(28).AddWall GetTex("Button28"), -(ShaftLeft - 0.17), -18.45 + 0.8, -(ShaftLeft - 0.17), -18.15 + 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 2.5, 1, 1
+    Buttons(29).AddWall GetTex("Button29"), -(ShaftLeft - 0.17), -18.45 + 1.2, -(ShaftLeft - 0.17), -18.15 + 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 2.5, 1, 1
+    Buttons(30).AddWall GetTex("Button30"), -(ShaftLeft - 0.17), -18.45 + 1.6, -(ShaftLeft - 0.17), -18.15 + 1.6, 0.3, (Elevator(Number).GetPosition.Y + 12) - 2.5, 1, 1
+    
+    Buttons(21).AddWall GetTex("Button21"), -(ShaftLeft - 0.17), -18.45, -(ShaftLeft - 0.17), -18.15, 0.3, (Elevator(Number).GetPosition.Y + 12) - 3, 1, 1
+    Buttons(22).AddWall GetTex("Button22"), -(ShaftLeft - 0.17), -18.45 + 0.4, -(ShaftLeft - 0.17), -18.15 + 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 3, 1, 1
+    Buttons(23).AddWall GetTex("Button23"), -(ShaftLeft - 0.17), -18.45 + 0.8, -(ShaftLeft - 0.17), -18.15 + 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 3, 1, 1
+    Buttons(24).AddWall GetTex("Button24"), -(ShaftLeft - 0.17), -18.45 + 1.2, -(ShaftLeft - 0.17), -18.15 + 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 3, 1, 1
+    Buttons(25).AddWall GetTex("Button25"), -(ShaftLeft - 0.17), -18.45 + 1.6, -(ShaftLeft - 0.17), -18.15 + 1.6, 0.3, (Elevator(Number).GetPosition.Y + 12) - 3, 1, 1
+    
+    Buttons(16).AddWall GetTex("Button16"), -(ShaftLeft - 0.17), -18.45, -(ShaftLeft - 0.17), -18.15, 0.3, (Elevator(Number).GetPosition.Y + 12) - 3.5, 1, 1
+    Buttons(17).AddWall GetTex("Button17"), -(ShaftLeft - 0.17), -18.45 + 0.4, -(ShaftLeft - 0.17), -18.15 + 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 3.5, 1, 1
+    Buttons(18).AddWall GetTex("Button18"), -(ShaftLeft - 0.17), -18.45 + 0.8, -(ShaftLeft - 0.17), -18.15 + 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 3.5, 1, 1
+    Buttons(19).AddWall GetTex("Button19"), -(ShaftLeft - 0.17), -18.45 + 1.2, -(ShaftLeft - 0.17), -18.15 + 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 3.5, 1, 1
+    Buttons(20).AddWall GetTex("Button20"), -(ShaftLeft - 0.17), -18.45 + 1.6, -(ShaftLeft - 0.17), -18.15 + 1.6, 0.3, (Elevator(Number).GetPosition.Y + 12) - 3.5, 1, 1
+    
+    Buttons(11).AddWall GetTex("Button11"), -(ShaftLeft - 0.17), -18.45, -(ShaftLeft - 0.17), -18.15, 0.3, (Elevator(Number).GetPosition.Y + 12) - 4, 1, 1
+    Buttons(12).AddWall GetTex("Button12"), -(ShaftLeft - 0.17), -18.45 + 0.4, -(ShaftLeft - 0.17), -18.15 + 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 4, 1, 1
+    Buttons(13).AddWall GetTex("Button13"), -(ShaftLeft - 0.17), -18.45 + 0.8, -(ShaftLeft - 0.17), -18.15 + 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 4, 1, 1
+    Buttons(14).AddWall GetTex("Button14"), -(ShaftLeft - 0.17), -18.45 + 1.2, -(ShaftLeft - 0.17), -18.15 + 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 4, 1, 1
+    Buttons(15).AddWall GetTex("Button15"), -(ShaftLeft - 0.17), -18.45 + 1.6, -(ShaftLeft - 0.17), -18.15 + 1.6, 0.3, (Elevator(Number).GetPosition.Y + 12) - 4, 1, 1
+    
+    Buttons(6).AddWall GetTex("Button6"), -(ShaftLeft - 0.17), -18.45, -(ShaftLeft - 0.17), -18.15, 0.3, (Elevator(Number).GetPosition.Y + 12) - 4.5, 1, 1
+    Buttons(7).AddWall GetTex("Button7"), -(ShaftLeft - 0.17), -18.45 + 0.4, -(ShaftLeft - 0.17), -18.15 + 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 4.5, 1, 1
+    Buttons(8).AddWall GetTex("Button8"), -(ShaftLeft - 0.17), -18.45 + 0.8, -(ShaftLeft - 0.17), -18.15 + 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 4.5, 1, 1
+    Buttons(9).AddWall GetTex("Button9"), -(ShaftLeft - 0.17), -18.45 + 1.2, -(ShaftLeft - 0.17), -18.15 + 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 4.5, 1, 1
+    Buttons(10).AddWall GetTex("Button10"), -(ShaftLeft - 0.17), -18.45 + 1.6, -(ShaftLeft - 0.17), -18.15 + 1.6, 0.3, (Elevator(Number).GetPosition.Y + 12) - 4.5, 1, 1
+    
+    Buttons(-1).AddWall GetTex("ButtonL"), -(ShaftLeft - 0.17), -18.45, -(ShaftLeft - 0.17), -18.15, 0.3, (Elevator(Number).GetPosition.Y + 12) - 5, 1, 1
+    Buttons(2).AddWall GetTex("Button2"), -(ShaftLeft - 0.17), -18.45 + 0.4, -(ShaftLeft - 0.17), -18.15 + 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 5, 1, 1
+    Buttons(3).AddWall GetTex("Button3"), -(ShaftLeft - 0.17), -18.45 + 0.8, -(ShaftLeft - 0.17), -18.15 + 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 5, 1, 1
+    Buttons(4).AddWall GetTex("Button4"), -(ShaftLeft - 0.17), -18.45 + 1.2, -(ShaftLeft - 0.17), -18.15 + 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 5, 1, 1
+    Buttons(5).AddWall GetTex("Button5"), -(ShaftLeft - 0.17), -18.45 + 1.6, -(ShaftLeft - 0.17), -18.15 + 1.6, 0.3, (Elevator(Number).GetPosition.Y + 12) - 5, 1, 1
+    
+    Buttons(139).AddWall GetTex("ButtonOpen"), -(ShaftLeft - 0.17), -18.45, -(ShaftLeft - 0.17), -18.15, 0.3, (Elevator(Number).GetPosition.Y + 12) - 5.5, 1, 1
+    Buttons(140).AddWall GetTex("ButtonClose"), -(ShaftLeft - 0.17), -18.45 + 0.4, -(ShaftLeft - 0.17), -18.15 + 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 5.5, 1, 1
+    Buttons(141).AddWall GetTex("ButtonCancel"), -(ShaftLeft - 0.17), -18.45 + 0.8, -(ShaftLeft - 0.17), -18.15 + 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 5.5, 1, 1
+    Buttons(142).AddWall GetTex("ButtonStop"), -(ShaftLeft - 0.17), -18.45 + 1.2, -(ShaftLeft - 0.17), -18.15 + 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 5.5, 1, 1
+    Buttons(143).AddWall GetTex("ButtonAlarm"), -(ShaftLeft - 0.17), -18.45 + 1.6, -(ShaftLeft - 0.17), -18.15 + 1.6, 0.3, (Elevator(Number).GetPosition.Y + 12) - 5.5, 1, 1
+
+End If
+
+'Elevator 2
+If Number = 12 Then
+
+    Buttons(100).AddWall GetTex("Button100"), (ShaftLeft - 0.17), -27.85, (ShaftLeft - 0.17), -27.55, 0.3, (Elevator(Number).GetPosition.Y + 12), -1, 1
+    Buttons(101).AddWall GetTex("Button101"), (ShaftLeft - 0.17), -27.85 - 0.4, (ShaftLeft - 0.17), -27.55 - 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12), -1, 1
+    Buttons(115).AddWall GetTex("Button115"), (ShaftLeft - 0.17), -27.85 - 0.8, (ShaftLeft - 0.17), -27.55 - 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12), -1, 1
+    Buttons(116).AddWall GetTex("Button116"), (ShaftLeft - 0.17), -27.85 - 1.2, (ShaftLeft - 0.17), -27.55 - 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12), -1, 1
+    Buttons(117).AddWall GetTex("Button117"), (ShaftLeft - 0.17), -27.85 - 1.6, (ShaftLeft - 0.17), -27.55 - 1.6, 0.3, (Elevator(Number).GetPosition.Y + 12), -1, 1
+    
+    Buttons(95).AddWall GetTex("Button95"), (ShaftLeft - 0.17), -27.85, (ShaftLeft - 0.17), -27.55, 0.3, (Elevator(Number).GetPosition.Y + 12) - 0.5, -1, 1
+    Buttons(96).AddWall GetTex("Button96"), (ShaftLeft - 0.17), -27.85 - 0.4, (ShaftLeft - 0.17), -27.55 - 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 0.5, -1, 1
+    Buttons(97).AddWall GetTex("Button97"), (ShaftLeft - 0.17), -27.85 - 0.8, (ShaftLeft - 0.17), -27.55 - 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 0.5, -1, 1
+    Buttons(98).AddWall GetTex("Button98"), (ShaftLeft - 0.17), -27.85 - 1.2, (ShaftLeft - 0.17), -27.55 - 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 0.5, -1, 1
+    Buttons(99).AddWall GetTex("Button99"), (ShaftLeft - 0.17), -27.85 - 1.6, (ShaftLeft - 0.17), -27.55 - 1.6, 0.3, (Elevator(Number).GetPosition.Y + 12) - 0.5, -1, 1
+    
+    Buttons(90).AddWall GetTex("Button90"), (ShaftLeft - 0.17), -27.85, (ShaftLeft - 0.17), -27.55, 0.3, (Elevator(Number).GetPosition.Y + 12) - 1, -1, 1
+    Buttons(91).AddWall GetTex("Button91"), (ShaftLeft - 0.17), -27.85 - 0.4, (ShaftLeft - 0.17), -27.55 - 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 1, -1, 1
+    Buttons(92).AddWall GetTex("Button92"), (ShaftLeft - 0.17), -27.85 - 0.8, (ShaftLeft - 0.17), -27.55 - 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 1, -1, 1
+    Buttons(93).AddWall GetTex("Button93"), (ShaftLeft - 0.17), -27.85 - 1.2, (ShaftLeft - 0.17), -27.55 - 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 1, -1, 1
+    Buttons(94).AddWall GetTex("Button94"), (ShaftLeft - 0.17), -27.85 - 1.6, (ShaftLeft - 0.17), -27.55 - 1.6, 0.3, (Elevator(Number).GetPosition.Y + 12) - 1, -1, 1
+    
+    Buttons(85).AddWall GetTex("Button85"), (ShaftLeft - 0.17), -27.85, (ShaftLeft - 0.17), -27.55, 0.3, (Elevator(Number).GetPosition.Y + 12) - 1.5, -1, 1
+    Buttons(86).AddWall GetTex("Button86"), (ShaftLeft - 0.17), -27.85 - 0.4, (ShaftLeft - 0.17), -27.55 - 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 1.5, -1, 1
+    Buttons(87).AddWall GetTex("Button87"), (ShaftLeft - 0.17), -27.85 - 0.8, (ShaftLeft - 0.17), -27.55 - 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 1.5, -1, 1
+    Buttons(88).AddWall GetTex("Button88"), (ShaftLeft - 0.17), -27.85 - 1.2, (ShaftLeft - 0.17), -27.55 - 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 1.5, -1, 1
+    Buttons(89).AddWall GetTex("Button89"), (ShaftLeft - 0.17), -27.85 - 1.6, (ShaftLeft - 0.17), -27.55 - 1.6, 0.3, (Elevator(Number).GetPosition.Y + 12) - 1.5, -1, 1
+    
+    Buttons(80).AddWall GetTex("Button80"), (ShaftLeft - 0.17), -27.85, (ShaftLeft - 0.17), -27.55, 0.3, (Elevator(Number).GetPosition.Y + 12) - 2, -1, 1
+    Buttons(81).AddWall GetTex("Button81"), (ShaftLeft - 0.17), -27.85 - 0.4, (ShaftLeft - 0.17), -27.55 - 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 2, -1, 1
+    Buttons(82).AddWall GetTex("Button82"), (ShaftLeft - 0.17), -27.85 - 0.8, (ShaftLeft - 0.17), -27.55 - 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 2, -1, 1
+    Buttons(83).AddWall GetTex("Button83"), (ShaftLeft - 0.17), -27.85 - 1.2, (ShaftLeft - 0.17), -27.55 - 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 2, -1, 1
+    Buttons(84).AddWall GetTex("Button84"), (ShaftLeft - 0.17), -27.85 - 1.6, (ShaftLeft - 0.17), -27.55 - 1.6, 0.3, (Elevator(Number).GetPosition.Y + 12) - 2, -1, 1
+    
+    Buttons(75).AddWall GetTex("Button75"), (ShaftLeft - 0.17), -27.85, (ShaftLeft - 0.17), -27.55, 0.3, (Elevator(Number).GetPosition.Y + 12) - 2.5, -1, 1
+    Buttons(76).AddWall GetTex("Button76"), (ShaftLeft - 0.17), -27.85 - 0.4, (ShaftLeft - 0.17), -27.55 - 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 2.5, -1, 1
+    Buttons(77).AddWall GetTex("Button77"), (ShaftLeft - 0.17), -27.85 - 0.8, (ShaftLeft - 0.17), -27.55 - 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 2.5, -1, 1
+    Buttons(78).AddWall GetTex("Button78"), (ShaftLeft - 0.17), -27.85 - 1.2, (ShaftLeft - 0.17), -27.55 - 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 2.5, -1, 1
+    Buttons(79).AddWall GetTex("Button79"), (ShaftLeft - 0.17), -27.85 - 1.6, (ShaftLeft - 0.17), -27.55 - 1.6, 0.3, (Elevator(Number).GetPosition.Y + 12) - 2.5, -1, 1
+    
+    Buttons(70).AddWall GetTex("Button70"), (ShaftLeft - 0.17), -27.85, (ShaftLeft - 0.17), -27.55, 0.3, (Elevator(Number).GetPosition.Y + 12) - 3, -1, 1
+    Buttons(71).AddWall GetTex("Button71"), (ShaftLeft - 0.17), -27.85 - 0.4, (ShaftLeft - 0.17), -27.55 - 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 3, -1, 1
+    Buttons(72).AddWall GetTex("Button72"), (ShaftLeft - 0.17), -27.85 - 0.8, (ShaftLeft - 0.17), -27.55 - 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 3, -1, 1
+    Buttons(73).AddWall GetTex("Button73"), (ShaftLeft - 0.17), -27.85 - 1.2, (ShaftLeft - 0.17), -27.55 - 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 3, -1, 1
+    Buttons(74).AddWall GetTex("Button74"), (ShaftLeft - 0.17), -27.85 - 1.6, (ShaftLeft - 0.17), -27.55 - 1.6, 0.3, (Elevator(Number).GetPosition.Y + 12) - 3, -1, 1
+    
+    Buttons(65).AddWall GetTex("Button65"), (ShaftLeft - 0.17), -27.85, (ShaftLeft - 0.17), -27.55, 0.3, (Elevator(Number).GetPosition.Y + 12) - 3.5, -1, 1
+    Buttons(66).AddWall GetTex("Button66"), (ShaftLeft - 0.17), -27.85 - 0.4, (ShaftLeft - 0.17), -27.55 - 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 3.5, -1, 1
+    Buttons(67).AddWall GetTex("Button67"), (ShaftLeft - 0.17), -27.85 - 0.8, (ShaftLeft - 0.17), -27.55 - 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 3.5, -1, 1
+    Buttons(68).AddWall GetTex("Button68"), (ShaftLeft - 0.17), -27.85 - 1.2, (ShaftLeft - 0.17), -27.55 - 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 3.5, -1, 1
+    Buttons(69).AddWall GetTex("Button69"), (ShaftLeft - 0.17), -27.85 - 1.6, (ShaftLeft - 0.17), -27.55 - 1.6, 0.3, (Elevator(Number).GetPosition.Y + 12) - 3.5, -1, 1
+    
+    Buttons(60).AddWall GetTex("Button60"), (ShaftLeft - 0.17), -27.85, (ShaftLeft - 0.17), -27.55, 0.3, (Elevator(Number).GetPosition.Y + 12) - 4, -1, 1
+    Buttons(61).AddWall GetTex("Button61"), (ShaftLeft - 0.17), -27.85 - 0.4, (ShaftLeft - 0.17), -27.55 - 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 4, -1, 1
+    Buttons(62).AddWall GetTex("Button62"), (ShaftLeft - 0.17), -27.85 - 0.8, (ShaftLeft - 0.17), -27.55 - 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 4, -1, 1
+    Buttons(63).AddWall GetTex("Button63"), (ShaftLeft - 0.17), -27.85 - 1.2, (ShaftLeft - 0.17), -27.55 - 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 4, -1, 1
+    Buttons(64).AddWall GetTex("Button64"), (ShaftLeft - 0.17), -27.85 - 1.6, (ShaftLeft - 0.17), -27.55 - 1.6, 0.3, (Elevator(Number).GetPosition.Y + 12) - 4, -1, 1
+    
+    Buttons(55).AddWall GetTex("Button55"), (ShaftLeft - 0.17), -27.85, (ShaftLeft - 0.17), -27.55, 0.3, (Elevator(Number).GetPosition.Y + 12) - 4.5, -1, 1
+    Buttons(56).AddWall GetTex("Button56"), (ShaftLeft - 0.17), -27.85 - 0.4, (ShaftLeft - 0.17), -27.55 - 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 4.5, -1, 1
+    Buttons(57).AddWall GetTex("Button57"), (ShaftLeft - 0.17), -27.85 - 0.8, (ShaftLeft - 0.17), -27.55 - 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 4.5, -1, 1
+    Buttons(58).AddWall GetTex("Button58"), (ShaftLeft - 0.17), -27.85 - 1.2, (ShaftLeft - 0.17), -27.55 - 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 4.5, -1, 1
+    Buttons(59).AddWall GetTex("Button59"), (ShaftLeft - 0.17), -27.85 - 1.6, (ShaftLeft - 0.17), -27.55 - 1.6, 0.3, (Elevator(Number).GetPosition.Y + 12) - 4.5, -1, 1
+    
+    Buttons(-1).AddWall GetTex("ButtonL"), (ShaftLeft - 0.17), -27.85, (ShaftLeft - 0.17), -27.55, 0.3, (Elevator(Number).GetPosition.Y + 12) - 5, -1, 1
+    Buttons(51).AddWall GetTex("Button51"), (ShaftLeft - 0.17), -27.85 - 0.4, (ShaftLeft - 0.17), -27.55 - 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 5, -1, 1
+    Buttons(52).AddWall GetTex("Button52"), (ShaftLeft - 0.17), -27.85 - 0.8, (ShaftLeft - 0.17), -27.55 - 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 5, -1, 1
+    Buttons(53).AddWall GetTex("Button53"), (ShaftLeft - 0.17), -27.85 - 1.2, (ShaftLeft - 0.17), -27.55 - 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 5, -1, 1
+    Buttons(54).AddWall GetTex("Button54"), (ShaftLeft - 0.17), -27.85 - 1.6, (ShaftLeft - 0.17), -27.55 - 1.6, 0.3, (Elevator(Number).GetPosition.Y + 12) - 5, -1, 1
+    
+    Buttons(139).AddWall GetTex("ButtonOpen"), (ShaftLeft - 0.17), -27.85, (ShaftLeft - 0.17), -27.55, 0.3, (Elevator(Number).GetPosition.Y + 12) - 5.5, -1, 1
+    Buttons(140).AddWall GetTex("ButtonClose"), (ShaftLeft - 0.17), -27.85 - 0.4, (ShaftLeft - 0.17), -27.55 - 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 5.5, -1, 1
+    Buttons(141).AddWall GetTex("ButtonCancel"), (ShaftLeft - 0.17), -27.85 - 0.8, (ShaftLeft - 0.17), -27.55 - 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 5.5, -1, 1
+    Buttons(142).AddWall GetTex("ButtonStop"), (ShaftLeft - 0.17), -27.85 - 1.2, (ShaftLeft - 0.17), -27.55 - 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 5.5, -1, 1
+    Buttons(143).AddWall GetTex("ButtonAlarm"), (ShaftLeft - 0.17), -27.85 - 1.6, (ShaftLeft - 0.17), -27.55 - 1.6, 0.3, (Elevator(Number).GetPosition.Y + 12) - 5.5, -1, 1
+
+End If
+
+'Elevator 3
+If Number = 13 Then
+
+'Buttons(135).AddWall GetTex("Button135"), -(ShaftLeft - 0.17), -18.45 + (15 * 1), -(ShaftLeft - 0.17), -18.15 + (15 * 1), 0.3, (Elevator(Number).GetPosition.y + 12), 1, 1
+    'Buttons(1).AddWall GetTex("Button1"), -(ShaftLeft - 0.17), -18.45 + (15 * 1) + 0.4, -(ShaftLeft - 0.17), -18.15 + (15 * 1) + 0.4, 0.3, (Elevator(Number).GetPosition.y + 12), 1, 1
+    'Buttons(136).AddWall GetTex("Button136"), -(ShaftLeft - 0.17), -18.45 + (15 * 1) + 0.8, -(ShaftLeft - 0.17), -18.15 + (15 * 1) + 0.8, 0.3, (Elevator(Number).GetPosition.y + 12), 1, 1
+    'Buttons(137).AddWall GetTex("Button137"), -(ShaftLeft - 0.17), -18.45 + (15 * 1) + 1.2, -(ShaftLeft - 0.17), -18.15 + (15 * 1) + 1.2, 0.3, (Elevator(Number).GetPosition.y + 12), 1, 1
+    'Buttons(138).AddWall GetTex("ButtonR"), -(ShaftLeft - 0.17), -18.45 + (15 * 1) + 1.6, -(ShaftLeft - 0.17), -18.15 + (15 * 1) + 1.6, 0.3, (Elevator(Number).GetPosition.y + 12), 1, 1
+    
+    'Buttons(130).AddWall GetTex("Button130"), -(ShaftLeft - 0.17), -18.45 + (15 * 1), -(ShaftLeft - 0.17), -18.15 + (15 * 1), 0.3, (Elevator(Number).GetPosition.y + 12) - 0.5, 1, 1
+    'Buttons(131).AddWall GetTex("Button131"), -(ShaftLeft - 0.17), -18.45 + (15 * 1) + 0.4, -(ShaftLeft - 0.17), -18.15 + (15 * 1) + 0.4, 0.3, (Elevator(Number).GetPosition.y + 12) - 0.5, 1, 1
+    'Buttons(132).AddWall GetTex("Button132"), -(ShaftLeft - 0.17), -18.45 + (15 * 1) + 0.8, -(ShaftLeft - 0.17), -18.15 + (15 * 1) + 0.8, 0.3, (Elevator(Number).GetPosition.y + 12) - 0.5, 1, 1
+    'Buttons(133).AddWall GetTex("Button133"), -(ShaftLeft - 0.17), -18.45 + (15 * 1) + 1.2, -(ShaftLeft - 0.17), -18.15 + (15 * 1) + 1.2, 0.3, (Elevator(Number).GetPosition.y + 12) - 0.5, 1, 1
+    'Buttons(134).AddWall GetTex("Button134"), -(ShaftLeft - 0.17), -18.45 + (15 * 1) + 1.6, -(ShaftLeft - 0.17), -18.15 + (15 * 1) + 1.6, 0.3, (Elevator(Number).GetPosition.y + 12) - 0.5, 1, 1
+    
+    'Buttons(115).AddWall GetTex("Button115"), -(ShaftLeft - 0.17), -18.45 + (15 * 1), -(ShaftLeft - 0.17), -18.15 + (15 * 1), 0.3, (Elevator(Number).GetPosition.y + 12) - 1, 1, 1
+    'Buttons(116).AddWall GetTex("Button116"), -(ShaftLeft - 0.17), -18.45 + (15 * 1) + 0.4, -(ShaftLeft - 0.17), -18.15 + (15 * 1) + 0.4, 0.3, (Elevator(Number).GetPosition.y + 12) - 1, 1, 1
+    'Buttons(117).AddWall GetTex("Button117"), -(ShaftLeft - 0.17), -18.45 + (15 * 1) + 0.8, -(ShaftLeft - 0.17), -18.15 + (15 * 1) + 0.8, 0.3, (Elevator(Number).GetPosition.y + 12) - 1, 1, 1
+    'Buttons(118).AddWall GetTex("Button118"), -(ShaftLeft - 0.17), -18.45 + (15 * 1) + 1.2, -(ShaftLeft - 0.17), -18.15 + (15 * 1) + 1.2, 0.3, (Elevator(Number).GetPosition.y + 12) - 1, 1, 1
+    'Buttons(129).AddWall GetTex("Button129"), -(ShaftLeft - 0.17), -18.45 + (15 * 1) + 1.6, -(ShaftLeft - 0.17), -18.15 + (15 * 1) + 1.6, 0.3, (Elevator(Number).GetPosition.y + 12) - 1, 1, 1
+    
+    'Buttons(110).AddWall GetTex("Button110"), -(ShaftLeft - 0.17), -18.45 + (15 * 1), -(ShaftLeft - 0.17), -18.15 + (15 * 1), 0.3, (Elevator(Number).GetPosition.y + 12) - 1.5, 1, 1
+    'Buttons(111).AddWall GetTex("Button111"), -(ShaftLeft - 0.17), -18.45 + (15 * 1) + 0.4, -(ShaftLeft - 0.17), -18.15 + (15 * 1) + 0.4, 0.3, (Elevator(Number).GetPosition.y + 12) - 1.5, 1, 1
+    'Buttons(112).AddWall GetTex("Button112"), -(ShaftLeft - 0.17), -18.45 + (15 * 1) + 0.8, -(ShaftLeft - 0.17), -18.15 + (15 * 1) + 0.8, 0.3, (Elevator(Number).GetPosition.y + 12) - 1.5, 1, 1
+    'Buttons(113).AddWall GetTex("Button113"), -(ShaftLeft - 0.17), -18.45 + (15 * 1) + 1.2, -(ShaftLeft - 0.17), -18.15 + (15 * 1) + 1.2, 0.3, (Elevator(Number).GetPosition.y + 12) - 1.5, 1, 1
+    'Buttons(114).AddWall GetTex("Button114"), -(ShaftLeft - 0.17), -18.45 + (15 * 1) + 1.6, -(ShaftLeft - 0.17), -18.15 + (15 * 1) + 1.6, 0.3, (Elevator(Number).GetPosition.y + 12) - 1.5, 1, 1
+    
+    'Buttons(105).AddWall GetTex("Button105"), -(ShaftLeft - 0.17), -18.45 + (15 * 1), -(ShaftLeft - 0.17), -18.15 + (15 * 1), 0.3, (Elevator(Number).GetPosition.y + 12) - 2, 1, 1
+    'Buttons(106).AddWall GetTex("Button106"), -(ShaftLeft - 0.17), -18.45 + (15 * 1) + 0.4, -(ShaftLeft - 0.17), -18.15 + (15 * 1) + 0.4, 0.3, (Elevator(Number).GetPosition.y + 12) - 2, 1, 1
+    'Buttons(107).AddWall GetTex("Button107"), -(ShaftLeft - 0.17), -18.45 + (15 * 1) + 0.8, -(ShaftLeft - 0.17), -18.15 + (15 * 1) + 0.8, 0.3, (Elevator(Number).GetPosition.y + 12) - 2, 1, 1
+    'Buttons(108).AddWall GetTex("Button108"), -(ShaftLeft - 0.17), -18.45 + (15 * 1) + 1.2, -(ShaftLeft - 0.17), -18.15 + (15 * 1) + 1.2, 0.3, (Elevator(Number).GetPosition.y + 12) - 2, 1, 1
+    'Buttons(109).AddWall GetTex("Button109"), -(ShaftLeft - 0.17), -18.45 + (15 * 1) + 1.6, -(ShaftLeft - 0.17), -18.15 + (15 * 1) + 1.6, 0.3, (Elevator(Number).GetPosition.y + 12) - 2, 1, 1
+    
+    'Buttons(100).AddWall GetTex("Button100"), -(ShaftLeft - 0.17), -18.45 + (15 * 1), -(ShaftLeft - 0.17), -18.15 + (15 * 1), 0.3, (Elevator(Number).GetPosition.y + 12) - 2.5, 1, 1
+    'Buttons(101).AddWall GetTex("Button101"), -(ShaftLeft - 0.17), -18.45 + (15 * 1) + 0.4, -(ShaftLeft - 0.17), -18.15 + (15 * 1) + 0.4, 0.3, (Elevator(Number).GetPosition.y + 12) - 2.5, 1, 1
+    Buttons(80).AddWall GetTex("Button80"), -(ShaftLeft - 0.17), -18.45 + (15 * 1) + 0.8, -(ShaftLeft - 0.17), -18.15 + (15 * 1) + 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 2.5, 1, 1
+    'Buttons(103).AddWall GetTex("Button103"), -(ShaftLeft - 0.17), -18.45 + (15 * 1) + 1.2, -(ShaftLeft - 0.17), -18.15 + (15 * 1) + 1.2, 0.3, (Elevator(Number).GetPosition.y + 12) - 2.5, 1, 1
+    'Buttons(104).AddWall GetTex("Button104"), -(ShaftLeft - 0.17), -18.45 + (15 * 1) + 1.6, -(ShaftLeft - 0.17), -18.15 + (15 * 1) + 1.6, 0.3, (Elevator(Number).GetPosition.y + 12) - 2.5, 1, 1
+    
+    'Buttons(95).AddWall GetTex("Button95"), -(ShaftLeft - 0.17), -18.45 + (15 * 1), -(ShaftLeft - 0.17), -18.15 + (15 * 1), 0.3, (Elevator(Number).GetPosition.y + 12) - 3, 1, 1
+    'Buttons(96).AddWall GetTex("Button96"), -(ShaftLeft - 0.17), -18.45 + (15 * 1) + 0.4, -(ShaftLeft - 0.17), -18.15 + (15 * 1) + 0.4, 0.3, (Elevator(Number).GetPosition.y + 12) - 3, 1, 1
+    Buttons(-1).AddWall GetTex("ButtonL"), -(ShaftLeft - 0.17), -18.45 + (15 * 1) + 0.8, -(ShaftLeft - 0.17), -18.15 + (15 * 1) + 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 3, 1, 1
+    'Buttons(98).AddWall GetTex("Button98"), -(ShaftLeft - 0.17), -18.45 + (15 * 1) + 1.2, -(ShaftLeft - 0.17), -18.15 + (15 * 1) + 1.2, 0.3, (Elevator(Number).GetPosition.y + 12) - 3, 1, 1
+    'Buttons(99).AddWall GetTex("Button99"), -(ShaftLeft - 0.17), -18.45 + (15 * 1) + 1.6, -(ShaftLeft - 0.17), -18.15 + (15 * 1) + 1.6, 0.3, (Elevator(Number).GetPosition.y + 12) - 3, 1, 1
+    
+    'Buttons(90).AddWall GetTex("Button90"), -(ShaftLeft - 0.17), -18.45 + (15 * 1), -(ShaftLeft - 0.17), -18.15 + (15 * 1), 0.3, (Elevator(Number).GetPosition.y + 12) - 3.5, 1, 1
+    'Buttons(91).AddWall GetTex("Button91"), -(ShaftLeft - 0.17), -18.45 + (15 * 1) + 0.4, -(ShaftLeft - 0.17), -18.15 + (15 * 1) + 0.4, 0.3, (Elevator(Number).GetPosition.y + 12) - 3.5, 1, 1
+    'Buttons(92).AddWall GetTex("Button92"), -(ShaftLeft - 0.17), -18.45 + (15 * 1) + 0.8, -(ShaftLeft - 0.17), -18.15 + (15 * 1) + 0.8, 0.3, (Elevator(Number).GetPosition.y + 12) - 3.5, 1, 1
+    'Buttons(93).AddWall GetTex("Button93"), -(ShaftLeft - 0.17), -18.45 + (15 * 1) + 1.2, -(ShaftLeft - 0.17), -18.15 + (15 * 1) + 1.2, 0.3, (Elevator(Number).GetPosition.y + 12) - 3.5, 1, 1
+    'Buttons(94).AddWall GetTex("Button94"), -(ShaftLeft - 0.17), -18.45 + (15 * 1) + 1.6, -(ShaftLeft - 0.17), -18.15 + (15 * 1) + 1.6, 0.3, (Elevator(Number).GetPosition.y + 12) - 3.5, 1, 1
+    
+    'Buttons(85).AddWall GetTex("Button85"), -(ShaftLeft - 0.17), -18.45 + (15 * 1), -(ShaftLeft - 0.17), -18.15 + (15 * 1), 0.3, (Elevator(Number).GetPosition.y + 12) - 4, 1, 1
+    'Buttons(86).AddWall GetTex("Button86"), -(ShaftLeft - 0.17), -18.45 + (15 * 1) + 0.4, -(ShaftLeft - 0.17), -18.15 + (15 * 1) + 0.4, 0.3, (Elevator(Number).GetPosition.y + 12) - 4, 1, 1
+    'Buttons(87).AddWall GetTex("Button87"), -(ShaftLeft - 0.17), -18.45 + (15 * 1) + 0.8, -(ShaftLeft - 0.17), -18.15 + (15 * 1) + 0.8, 0.3, (Elevator(Number).GetPosition.y + 12) - 4, 1, 1
+    'Buttons(88).AddWall GetTex("Button88"), -(ShaftLeft - 0.17), -18.45 + (15 * 1) + 1.2, -(ShaftLeft - 0.17), -18.15 + (15 * 1) + 1.2, 0.3, (Elevator(Number).GetPosition.y + 12) - 4, 1, 1
+    'Buttons(89).AddWall GetTex("Button89"), -(ShaftLeft - 0.17), -18.45 + (15 * 1) + 1.6, -(ShaftLeft - 0.17), -18.15 + (15 * 1) + 1.6, 0.3, (Elevator(Number).GetPosition.y + 12) - 4, 1, 1
+    
+    'Buttons(80).AddWall GetTex("Button80"), -(ShaftLeft - 0.17), -18.45 + (15 * 1), -(ShaftLeft - 0.17), -18.15 + (15 * 1), 0.3, (Elevator(Number).GetPosition.y + 12) - 4.5, 1, 1
+    'Buttons(81).AddWall GetTex("Button81"), -(ShaftLeft - 0.17), -18.45 + (15 * 1) + 0.4, -(ShaftLeft - 0.17), -18.15 + (15 * 1) + 0.4, 0.3, (Elevator(Number).GetPosition.y + 12) - 4.5, 1, 1
+    'Buttons(82).AddWall GetTex("Button82"), -(ShaftLeft - 0.17), -18.45 + (15 * 1) + 0.8, -(ShaftLeft - 0.17), -18.15 + (15 * 1) + 0.8, 0.3, (Elevator(Number).GetPosition.y + 12) - 4.5, 1, 1
+    'Buttons(83).AddWall GetTex("Button83"), -(ShaftLeft - 0.17), -18.45 + (15 * 1) + 1.2, -(ShaftLeft - 0.17), -18.15 + (15 * 1) + 1.2, 0.3, (Elevator(Number).GetPosition.y + 12) - 4.5, 1, 1
+    'Buttons(84).AddWall GetTex("Button84"), -(ShaftLeft - 0.17), -18.45 + (15 * 1) + 1.6, -(ShaftLeft - 0.17), -18.15 + (15 * 1) + 1.6, 0.3, (Elevator(Number).GetPosition.y + 12) - 4.5, 1, 1
+    
+    'Buttons(2).AddWall GetTex("Button2"), -(ShaftLeft - 0.17), -18.45 + (15 * 1), -(ShaftLeft - 0.17), -18.15 + (15 * 1), 0.3, (Elevator(Number).GetPosition.y + 12) - 5, 1, 1
+    'Buttons(39).AddWall GetTex("Button39"), -(ShaftLeft - 0.17), -18.45 + (15 * 1) + 0.4, -(ShaftLeft - 0.17), -18.15 + (15 * 1) + 0.4, 0.3, (Elevator(Number).GetPosition.y + 12) - 5, 1, 1
+    'Buttons(40).AddWall GetTex("Button40"), -(ShaftLeft - 0.17), -18.45 + (15 * 1) + 0.8, -(ShaftLeft - 0.17), -18.15 + (15 * 1) + 0.8, 0.3, (Elevator(Number).GetPosition.y + 12) - 5, 1, 1
+    'Buttons(65).AddWall GetTex("Button65"), -(ShaftLeft - 0.17), -18.45 + (15 * 1) + 1.2, -(ShaftLeft - 0.17), -18.15 + (15 * 1) + 1.2, 0.3, (Elevator(Number).GetPosition.y + 12) - 5, 1, 1
+    'Buttons(79).AddWall GetTex("Button79"), -(ShaftLeft - 0.17), -18.45 + (15 * 1) + 1.6, -(ShaftLeft - 0.17), -18.15 + (15 * 1) + 1.6, 0.3, (Elevator(Number).GetPosition.y + 12) - 5, 1, 1
+    
+    Buttons(139).AddWall GetTex("ButtonOpen"), -(ShaftLeft - 0.17), -18.45 + (15 * 1), -(ShaftLeft - 0.17), -18.15 + (15 * 1), 0.3, (Elevator(Number).GetPosition.Y + 12) - 5.5, 1, 1
+    Buttons(140).AddWall GetTex("ButtonClose"), -(ShaftLeft - 0.17), -18.45 + (15 * 1) + 0.4, -(ShaftLeft - 0.17), -18.15 + (15 * 1) + 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 5.5, 1, 1
+    Buttons(141).AddWall GetTex("ButtonCancel"), -(ShaftLeft - 0.17), -18.45 + (15 * 1) + 0.8, -(ShaftLeft - 0.17), -18.15 + (15 * 1) + 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 5.5, 1, 1
+    Buttons(142).AddWall GetTex("ButtonStop"), -(ShaftLeft - 0.17), -18.45 + (15 * 1) + 1.2, -(ShaftLeft - 0.17), -18.15 + (15 * 1) + 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 5.5, 1, 1
+    Buttons(143).AddWall GetTex("ButtonAlarm"), -(ShaftLeft - 0.17), -18.45 + (15 * 1) + 1.6, -(ShaftLeft - 0.17), -18.15 + (15 * 1) + 1.6, 0.3, (Elevator(Number).GetPosition.Y + 12) - 5.5, 1, 1
+
+End If
+
+'Elevator 4
+If Number = 14 Then
+
+'Buttons(135).AddWall GetTex("Button135"), (ShaftLeft - 0.17), -27.85 + (15 * 1), (ShaftLeft - 0.17), -27.55 + (15 * 1), 0.3, (Elevator(Number).GetPosition.y + 12), -1, 1
+    'Buttons(1).AddWall GetTex("Button1"), (ShaftLeft - 0.17), -27.85 + (15 * 1) - 0.4, (ShaftLeft - 0.17), -27.55 + (15 * 1) - 0.4, 0.3, (Elevator(Number).GetPosition.y + 12), -1, 1
+    'Buttons(136).AddWall GetTex("Button136"), (ShaftLeft - 0.17), -27.85 + (15 * 1) - 0.8, (ShaftLeft - 0.17), -27.55 + (15 * 1) - 0.8, 0.3, (Elevator(Number).GetPosition.y + 12), -1, 1
+    'Buttons(137).AddWall GetTex("Button137"), (ShaftLeft - 0.17), -27.85 + (15 * 1) - 1.2, (ShaftLeft - 0.17), -27.55 + (15 * 1) - 1.2, 0.3, (Elevator(Number).GetPosition.y + 12), -1, 1
+    'Buttons(138).AddWall GetTex("ButtonR"), (ShaftLeft - 0.17), -27.85 + (15 * 1) - 1.6, (ShaftLeft - 0.17), -27.55 + (15 * 1) - 1.6, 0.3, (Elevator(Number).GetPosition.y + 12), -1, 1
+    
+    'Buttons(130).AddWall GetTex("Button130"), (ShaftLeft - 0.17), -27.85 + (15 * 1), (ShaftLeft - 0.17), -27.55 + (15 * 1), 0.3, (Elevator(Number).GetPosition.y + 12) - 0.5, -1, 1
+    'Buttons(131).AddWall GetTex("Button131"), (ShaftLeft - 0.17), -27.85 + (15 * 1) - 0.4, (ShaftLeft - 0.17), -27.55 + (15 * 1) - 0.4, 0.3, (Elevator(Number).GetPosition.y + 12) - 0.5, -1, 1
+    'Buttons(132).AddWall GetTex("Button132"), (ShaftLeft - 0.17), -27.85 + (15 * 1) - 0.8, (ShaftLeft - 0.17), -27.55 + (15 * 1) - 0.8, 0.3, (Elevator(Number).GetPosition.y + 12) - 0.5, -1, 1
+    'Buttons(133).AddWall GetTex("Button133"), (ShaftLeft - 0.17), -27.85 + (15 * 1) - 1.2, (ShaftLeft - 0.17), -27.55 + (15 * 1) - 1.2, 0.3, (Elevator(Number).GetPosition.y + 12) - 0.5, -1, 1
+    'Buttons(134).AddWall GetTex("Button134"), (ShaftLeft - 0.17), -27.85 + (15 * 1) - 1.6, (ShaftLeft - 0.17), -27.55 + (15 * 1) - 1.6, 0.3, (Elevator(Number).GetPosition.y + 12) - 0.5, -1, 1
+    
+    'Buttons(115).AddWall GetTex("Button115"), (ShaftLeft - 0.17), -27.85 + (15 * 1), (ShaftLeft - 0.17), -27.55 + (15 * 1), 0.3, (Elevator(Number).GetPosition.y + 12) - 1, -1, 1
+    'Buttons(116).AddWall GetTex("Button116"), (ShaftLeft - 0.17), -27.85 + (15 * 1) - 0.4, (ShaftLeft - 0.17), -27.55 + (15 * 1) - 0.4, 0.3, (Elevator(Number).GetPosition.y + 12) - 1, -1, 1
+    'Buttons(117).AddWall GetTex("Button117"), (ShaftLeft - 0.17), -27.85 + (15 * 1) - 0.8, (ShaftLeft - 0.17), -27.55 + (15 * 1) - 0.8, 0.3, (Elevator(Number).GetPosition.y + 12) - 1, -1, 1
+    'Buttons(118).AddWall GetTex("Button118"), (ShaftLeft - 0.17), -27.85 + (15 * 1) - 1.2, (ShaftLeft - 0.17), -27.55 + (15 * 1) - 1.2, 0.3, (Elevator(Number).GetPosition.y + 12) - 1, -1, 1
+    'Buttons(129).AddWall GetTex("Button129"), (ShaftLeft - 0.17), -27.85 + (15 * 1) - 1.6, (ShaftLeft - 0.17), -27.55 + (15 * 1) - 1.6, 0.3, (Elevator(Number).GetPosition.y + 12) - 1, -1, 1
+    
+    'Buttons(110).AddWall GetTex("Button110"), (ShaftLeft - 0.17), -27.85 + (15 * 1), (ShaftLeft - 0.17), -27.55 + (15 * 1), 0.3, (Elevator(Number).GetPosition.y + 12) - 1.5, -1, 1
+    'Buttons(111).AddWall GetTex("Button111"), (ShaftLeft - 0.17), -27.85 + (15 * 1) - 0.4, (ShaftLeft - 0.17), -27.55 + (15 * 1) - 0.4, 0.3, (Elevator(Number).GetPosition.y + 12) - 1.5, -1, 1
+    'Buttons(112).AddWall GetTex("Button112"), (ShaftLeft - 0.17), -27.85 + (15 * 1) - 0.8, (ShaftLeft - 0.17), -27.55 + (15 * 1) - 0.8, 0.3, (Elevator(Number).GetPosition.y + 12) - 1.5, -1, 1
+    'Buttons(113).AddWall GetTex("Button113"), (ShaftLeft - 0.17), -27.85 + (15 * 1) - 1.2, (ShaftLeft - 0.17), -27.55 + (15 * 1) - 1.2, 0.3, (Elevator(Number).GetPosition.y + 12) - 1.5, -1, 1
+    'Buttons(114).AddWall GetTex("Button114"), (ShaftLeft - 0.17), -27.85 + (15 * 1) - 1.6, (ShaftLeft - 0.17), -27.55 + (15 * 1) - 1.6, 0.3, (Elevator(Number).GetPosition.y + 12) - 1.5, -1, 1
+    
+    'Buttons(105).AddWall GetTex("Button105"), (ShaftLeft - 0.17), -27.85 + (15 * 1), (ShaftLeft - 0.17), -27.55 + (15 * 1), 0.3, (Elevator(Number).GetPosition.y + 12) - 2, -1, 1
+    'Buttons(106).AddWall GetTex("Button106"), (ShaftLeft - 0.17), -27.85 + (15 * 1) - 0.4, (ShaftLeft - 0.17), -27.55 + (15 * 1) - 0.4, 0.3, (Elevator(Number).GetPosition.y + 12) - 2, -1, 1
+    'Buttons(107).AddWall GetTex("Button107"), (ShaftLeft - 0.17), -27.85 + (15 * 1) - 0.8, (ShaftLeft - 0.17), -27.55 + (15 * 1) - 0.8, 0.3, (Elevator(Number).GetPosition.y + 12) - 2, -1, 1
+    'Buttons(108).AddWall GetTex("Button108"), (ShaftLeft - 0.17), -27.85 + (15 * 1) - 1.2, (ShaftLeft - 0.17), -27.55 + (15 * 1) - 1.2, 0.3, (Elevator(Number).GetPosition.y + 12) - 2, -1, 1
+    'Buttons(109).AddWall GetTex("Button109"), (ShaftLeft - 0.17), -27.85 + (15 * 1) - 1.6, (ShaftLeft - 0.17), -27.55 + (15 * 1) - 1.6, 0.3, (Elevator(Number).GetPosition.y + 12) - 2, -1, 1
+    
+    'Buttons(100).AddWall GetTex("Button100"), (ShaftLeft - 0.17), -27.85 + (15 * 1), (ShaftLeft - 0.17), -27.55 + (15 * 1), 0.3, (Elevator(Number).GetPosition.y + 12) - 2.5, -1, 1
+    'Buttons(101).AddWall GetTex("Button101"), (ShaftLeft - 0.17), -27.85 + (15 * 1) - 0.4, (ShaftLeft - 0.17), -27.55 + (15 * 1) - 0.4, 0.3, (Elevator(Number).GetPosition.y + 12) - 2.5, -1, 1
+    Buttons(80).AddWall GetTex("Button80"), (ShaftLeft - 0.17), -27.85 + (15 * 1) - 0.8, (ShaftLeft - 0.17), -27.55 + (15 * 1) - 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 2.5, -1, 1
+    'Buttons(103).AddWall GetTex("Button103"), (ShaftLeft - 0.17), -27.85 + (15 * 1) - 1.2, (ShaftLeft - 0.17), -27.55 + (15 * 1) - 1.2, 0.3, (Elevator(Number).GetPosition.y + 12) - 2.5, -1, 1
+    'Buttons(104).AddWall GetTex("Button104"), (ShaftLeft - 0.17), -27.85 + (15 * 1) - 1.6, (ShaftLeft - 0.17), -27.55 + (15 * 1) - 1.6, 0.3, (Elevator(Number).GetPosition.y + 12) - 2.5, -1, 1
+    
+    'Buttons(95).AddWall GetTex("Button95"), (ShaftLeft - 0.17), -27.85 + (15 * 1), (ShaftLeft - 0.17), -27.55 + (15 * 1), 0.3, (Elevator(Number).GetPosition.y + 12) - 3, -1, 1
+    'Buttons(96).AddWall GetTex("Button96"), (ShaftLeft - 0.17), -27.85 + (15 * 1) - 0.4, (ShaftLeft - 0.17), -27.55 + (15 * 1) - 0.4, 0.3, (Elevator(Number).GetPosition.y + 12) - 3, -1, 1
+    Buttons(-1).AddWall GetTex("ButtonL"), (ShaftLeft - 0.17), -27.85 + (15 * 1) - 0.8, (ShaftLeft - 0.17), -27.55 + (15 * 1) - 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 3, -1, 1
+    'Buttons(98).AddWall GetTex("Button98"), (ShaftLeft - 0.17), -27.85 + (15 * 1) - 1.2, (ShaftLeft - 0.17), -27.55 + (15 * 1) - 1.2, 0.3, (Elevator(Number).GetPosition.y + 12) - 3, -1, 1
+    'Buttons(99).AddWall GetTex("Button99"), (ShaftLeft - 0.17), -27.85 + (15 * 1) - 1.6, (ShaftLeft - 0.17), -27.55 + (15 * 1) - 1.6, 0.3, (Elevator(Number).GetPosition.y + 12) - 3, -1, 1
+    
+    'Buttons(90).AddWall GetTex("Button90"), (ShaftLeft - 0.17), -27.85 + (15 * 1), (ShaftLeft - 0.17), -27.55 + (15 * 1), 0.3, (Elevator(Number).GetPosition.y + 12) - 3.5, -1, 1
+    'Buttons(91).AddWall GetTex("Button91"), (ShaftLeft - 0.17), -27.85 + (15 * 1) - 0.4, (ShaftLeft - 0.17), -27.55 + (15 * 1) - 0.4, 0.3, (Elevator(Number).GetPosition.y + 12) - 3.5, -1, 1
+    'Buttons(92).AddWall GetTex("Button92"), (ShaftLeft - 0.17), -27.85 + (15 * 1) - 0.8, (ShaftLeft - 0.17), -27.55 + (15 * 1) - 0.8, 0.3, (Elevator(Number).GetPosition.y + 12) - 3.5, -1, 1
+    'Buttons(93).AddWall GetTex("Button93"), (ShaftLeft - 0.17), -27.85 + (15 * 1) - 1.2, (ShaftLeft - 0.17), -27.55 + (15 * 1) - 1.2, 0.3, (Elevator(Number).GetPosition.y + 12) - 3.5, -1, 1
+    'Buttons(94).AddWall GetTex("Button94"), (ShaftLeft - 0.17), -27.85 + (15 * 1) - 1.6, (ShaftLeft - 0.17), -27.55 + (15 * 1) - 1.6, 0.3, (Elevator(Number).GetPosition.y + 12) - 3.5, -1, 1
+    
+    'Buttons(85).AddWall GetTex("Button85"), (ShaftLeft - 0.17), -27.85 + (15 * 1), (ShaftLeft - 0.17), -27.55 + (15 * 1), 0.3, (Elevator(Number).GetPosition.y + 12) - 4, -1, 1
+    'Buttons(86).AddWall GetTex("Button86"), (ShaftLeft - 0.17), -27.85 + (15 * 1) - 0.4, (ShaftLeft - 0.17), -27.55 + (15 * 1) - 0.4, 0.3, (Elevator(Number).GetPosition.y + 12) - 4, -1, 1
+    'Buttons(87).AddWall GetTex("Button87"), (ShaftLeft - 0.17), -27.85 + (15 * 1) - 0.8, (ShaftLeft - 0.17), -27.55 + (15 * 1) - 0.8, 0.3, (Elevator(Number).GetPosition.y + 12) - 4, -1, 1
+    'Buttons(88).AddWall GetTex("Button88"), (ShaftLeft - 0.17), -27.85 + (15 * 1) - 1.2, (ShaftLeft - 0.17), -27.55 + (15 * 1) - 1.2, 0.3, (Elevator(Number).GetPosition.y + 12) - 4, -1, 1
+    'Buttons(89).AddWall GetTex("Button89"), (ShaftLeft - 0.17), -27.85 + (15 * 1) - 1.6, (ShaftLeft - 0.17), -27.55 + (15 * 1) - 1.6, 0.3, (Elevator(Number).GetPosition.y + 12) - 4, -1, 1
+    
+    'Buttons(80).AddWall GetTex("Button80"), (ShaftLeft - 0.17), -27.85 + (15 * 1), (ShaftLeft - 0.17), -27.55 + (15 * 1), 0.3, (Elevator(Number).GetPosition.y + 12) - 4.5, -1, 1
+    'Buttons(81).AddWall GetTex("Button81"), (ShaftLeft - 0.17), -27.85 + (15 * 1) - 0.4, (ShaftLeft - 0.17), -27.55 + (15 * 1) - 0.4, 0.3, (Elevator(Number).GetPosition.y + 12) - 4.5, -1, 1
+    'Buttons(82).AddWall GetTex("Button82"), (ShaftLeft - 0.17), -27.85 + (15 * 1) - 0.8, (ShaftLeft - 0.17), -27.55 + (15 * 1) - 0.8, 0.3, (Elevator(Number).GetPosition.y + 12) - 4.5, -1, 1
+    'Buttons(83).AddWall GetTex("Button83"), (ShaftLeft - 0.17), -27.85 + (15 * 1) - 1.2, (ShaftLeft - 0.17), -27.55 + (15 * 1) - 1.2, 0.3, (Elevator(Number).GetPosition.y + 12) - 4.5, -1, 1
+    'Buttons(84).AddWall GetTex("Button84"), (ShaftLeft - 0.17), -27.85 + (15 * 1) - 1.6, (ShaftLeft - 0.17), -27.55 + (15 * 1) - 1.6, 0.3, (Elevator(Number).GetPosition.y + 12) - 4.5, -1, 1
+    
+    'Buttons(2).AddWall GetTex("Button2"), (ShaftLeft - 0.17), -27.85 + (15 * 1), (ShaftLeft - 0.17), -27.55 + (15 * 1), 0.3, (Elevator(Number).GetPosition.y + 12) - 5, -1, 1
+    'Buttons(39).AddWall GetTex("Button39"), (ShaftLeft - 0.17), -27.85 + (15 * 1) - 0.4, (ShaftLeft - 0.17), -27.55 + (15 * 1) - 0.4, 0.3, (Elevator(Number).GetPosition.y + 12) - 5, -1, 1
+    'Buttons(40).AddWall GetTex("Button40"), (ShaftLeft - 0.17), -27.85 + (15 * 1) - 0.8, (ShaftLeft - 0.17), -27.55 + (15 * 1) - 0.8, 0.3, (Elevator(Number).GetPosition.y + 12) - 5, -1, 1
+    'Buttons(65).AddWall GetTex("Button65"), (ShaftLeft - 0.17), -27.85 + (15 * 1) - 1.2, (ShaftLeft - 0.17), -27.55 + (15 * 1) - 1.2, 0.3, (Elevator(Number).GetPosition.y + 12) - 5, -1, 1
+    'Buttons(79).AddWall GetTex("Button79"), (ShaftLeft - 0.17), -27.85 + (15 * 1) - 1.6, (ShaftLeft - 0.17), -27.55 + (15 * 1) - 1.6, 0.3, (Elevator(Number).GetPosition.y + 12) - 5, -1, 1
+    
+    Buttons(139).AddWall GetTex("ButtonOpen"), (ShaftLeft - 0.17), -27.85 + (15 * 1), (ShaftLeft - 0.17), -27.55 + (15 * 1), 0.3, (Elevator(Number).GetPosition.Y + 12) - 5.5, -1, 1
+    Buttons(140).AddWall GetTex("ButtonClose"), (ShaftLeft - 0.17), -27.85 + (15 * 1) - 0.4, (ShaftLeft - 0.17), -27.55 + (15 * 1) - 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 5.5, -1, 1
+    Buttons(141).AddWall GetTex("ButtonCancel"), (ShaftLeft - 0.17), -27.85 + (15 * 1) - 0.8, (ShaftLeft - 0.17), -27.55 + (15 * 1) - 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 5.5, -1, 1
+    Buttons(142).AddWall GetTex("ButtonStop"), (ShaftLeft - 0.17), -27.85 + (15 * 1) - 1.2, (ShaftLeft - 0.17), -27.55 + (15 * 1) - 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 5.5, -1, 1
+    Buttons(143).AddWall GetTex("ButtonAlarm"), (ShaftLeft - 0.17), -27.85 + (15 * 1) - 1.6, (ShaftLeft - 0.17), -27.55 + (15 * 1) - 1.6, 0.3, (Elevator(Number).GetPosition.Y + 12) - 5.5, -1, 1
+
+End If
+
+'Elevator 5
+If Number = 15 Then
+
+    'Buttons(96).AddWall GetTex("Button96"), -(ShaftLeft - 0.17), -18.45 + (15 * 2), -(ShaftLeft - 0.17), -18.15 + (15 * 2), 0.3, (Elevator(Number).GetPosition.y + 12), 1, 1
+    'Buttons(97).AddWall GetTex("Button97"), -(ShaftLeft - 0.17), -18.45 + (15 * 2) + 0.4, -(ShaftLeft - 0.17), -18.15 + (15 * 2) + 0.4, 0.3, (Elevator(Number).GetPosition.y + 12), 1, 1
+    'Buttons(98).AddWall GetTex("Button98"), -(ShaftLeft - 0.17), -18.45 + (15 * 2) + 0.8, -(ShaftLeft - 0.17), -18.15 + (15 * 2) + 0.8, 0.3, (Elevator(Number).GetPosition.y + 12), 1, 1
+    'Buttons(99).AddWall GetTex("Button99"), -(ShaftLeft - 0.17), -18.45 + (15 * 2) + 1.2, -(ShaftLeft - 0.17), -18.15 + (15 * 2) + 1.2, 0.3, (Elevator(Number).GetPosition.y + 12), 1, 1
+    'Buttons(134).AddWall GetTex("Button134"), -(ShaftLeft - 0.17), -18.45 + (15 * 2) + 1.6, -(ShaftLeft - 0.17), -18.15 + (15 * 2) + 1.6, 0.3, (Elevator(Number).GetPosition.y + 12), 1, 1
+    
+    'Buttons(130).AddWall GetTex("Button130"), -(ShaftLeft - 0.17), -18.45 + (15 * 2), -(ShaftLeft - 0.17), -18.15 + (15 * 2), 0.3, (Elevator(Number).GetPosition.y + 12) - 0.5, 1, 1
+    Buttons(98).AddWall GetTex("Button98"), -(ShaftLeft - 0.17), -18.45 + (15 * 2) + 0.4, -(ShaftLeft - 0.17), -18.15 + (15 * 2) + 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 0.5, 1, 1
+    'Buttons(99).AddWall GetTex("Button99"), -(ShaftLeft - 0.17), -18.45 + (15 * 2) + 0.8, -(ShaftLeft - 0.17), -18.15 + (15 * 2) + 0.8, 0.3, (Elevator(Number).GetPosition.y + 12) - 0.5, 1, 1
+    Buttons(99).AddWall GetTex("Button99"), -(ShaftLeft - 0.17), -18.45 + (15 * 2) + 1.2, -(ShaftLeft - 0.17), -18.15 + (15 * 2) + 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 0.5, 1, 1
+    'Buttons(134).AddWall GetTex("Button134"), -(ShaftLeft - 0.17), -18.45 + (15 * 2) + 1.6, -(ShaftLeft - 0.17), -18.15 + (15 * 2) + 1.6, 0.3, (Elevator(Number).GetPosition.y + 12) - 0.5, 1, 1
+    
+    'Buttons(91).AddWall GetTex("Button91"), -(ShaftLeft - 0.17), -18.45 + (15 * 2), -(ShaftLeft - 0.17), -18.15 + (15 * 2), 0.3, (Elevator(Number).GetPosition.y + 12) - 1, 1, 1
+    Buttons(96).AddWall GetTex("Button96"), -(ShaftLeft - 0.17), -18.45 + (15 * 2) + 0.4, -(ShaftLeft - 0.17), -18.15 + (15 * 2) + 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 1, 1, 1
+    'Buttons(99).AddWall GetTex("Button99"), -(ShaftLeft - 0.17), -18.45 + (15 * 2) + 0.8, -(ShaftLeft - 0.17), -18.15 + (15 * 2) + 0.8, 0.3, (Elevator(Number).GetPosition.y + 12) - 1, 1, 1
+    Buttons(97).AddWall GetTex("Button97"), -(ShaftLeft - 0.17), -18.45 + (15 * 2) + 1.2, -(ShaftLeft - 0.17), -18.15 + (15 * 2) + 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 1, 1, 1
+    'Buttons(95).AddWall GetTex("Button95"), -(ShaftLeft - 0.17), -18.45 + (15 * 2) + 1.6, -(ShaftLeft - 0.17), -18.15 + (15 * 2) + 1.6, 0.3, (Elevator(Number).GetPosition.y + 12) - 1, 1, 1
+    
+    'Buttons(96).AddWall GetTex("Button96"), -(ShaftLeft - 0.17), -18.45 + (15 * 2), -(ShaftLeft - 0.17), -18.15 + (15 * 2), 0.3, (Elevator(Number).GetPosition.y + 12) - 1.5, 1, 1
+    Buttons(94).AddWall GetTex("Button94"), -(ShaftLeft - 0.17), -18.45 + (15 * 2) + 0.4, -(ShaftLeft - 0.17), -18.15 + (15 * 2) + 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 1.5, 1, 1
+    'Buttons(96).AddWall GetTex("Button96"), -(ShaftLeft - 0.17), -18.45 + (15 * 2) + 0.8, -(ShaftLeft - 0.17), -18.15 + (15 * 2) + 0.8, 0.3, (Elevator(Number).GetPosition.y + 12) - 1.5, 1, 1
+    Buttons(95).AddWall GetTex("Button95"), -(ShaftLeft - 0.17), -18.45 + (15 * 2) + 1.2, -(ShaftLeft - 0.17), -18.15 + (15 * 2) + 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 1.5, 1, 1
+    'Buttons(134).AddWall GetTex("Button134"), -(ShaftLeft - 0.17), -18.45 + (15 * 2) + 1.6, -(ShaftLeft - 0.17), -18.15 + (15 * 2) + 1.6, 0.3, (Elevator(Number).GetPosition.y + 12) - 1.5, 1, 1
+    
+    'Buttons(91).AddWall GetTex("Button91"), -(ShaftLeft - 0.17), -18.45 + (15 * 2), -(ShaftLeft - 0.17), -18.15 + (15 * 2), 0.3, (Elevator(Number).GetPosition.y + 12) - 2, 1, 1
+    Buttons(92).AddWall GetTex("Button92"), -(ShaftLeft - 0.17), -18.45 + (15 * 2) + 0.4, -(ShaftLeft - 0.17), -18.15 + (15 * 2) + 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 2, 1, 1
+    'Buttons(93).AddWall GetTex("Button93"), -(ShaftLeft - 0.17), -18.45 + (15 * 2) + 0.8, -(ShaftLeft - 0.17), -18.15 + (15 * 2) + 0.8, 0.3, (Elevator(Number).GetPosition.y + 12) - 2, 1, 1
+    Buttons(93).AddWall GetTex("Button93"), -(ShaftLeft - 0.17), -18.45 + (15 * 2) + 1.2, -(ShaftLeft - 0.17), -18.15 + (15 * 2) + 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 2, 1, 1
+    'Buttons(95).AddWall GetTex("Button95"), -(ShaftLeft - 0.17), -18.45 + (15 * 2) + 1.6, -(ShaftLeft - 0.17), -18.15 + (15 * 2) + 1.6, 0.3, (Elevator(Number).GetPosition.y + 12) - 2, 1, 1
+    
+    'Buttons(86).AddWall GetTex("Button86"), -(ShaftLeft - 0.17), -18.45 + (15 * 2), -(ShaftLeft - 0.17), -18.15 + (15 * 2), 0.3, (Elevator(Number).GetPosition.y + 12) - 2.5, 1, 1
+    Buttons(90).AddWall GetTex("Button90"), -(ShaftLeft - 0.17), -18.45 + (15 * 2) + 0.4, -(ShaftLeft - 0.17), -18.15 + (15 * 2) + 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 2.5, 1, 1
+    'Buttons(90).AddWall GetTex("Button90"), -(ShaftLeft - 0.17), -18.45 + (15 * 2) + 0.8, -(ShaftLeft - 0.17), -18.15 + (15 * 2) + 0.8, 0.3, (Elevator(Number).GetPosition.y + 12) - 2.5, 1, 1
+    Buttons(91).AddWall GetTex("Button91"), -(ShaftLeft - 0.17), -18.45 + (15 * 2) + 1.2, -(ShaftLeft - 0.17), -18.15 + (15 * 2) + 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 2.5, 1, 1
+    'Buttons(90).AddWall GetTex("Button90"), -(ShaftLeft - 0.17), -18.45 + (15 * 2) + 1.6, -(ShaftLeft - 0.17), -18.15 + (15 * 2) + 1.6, 0.3, (Elevator(Number).GetPosition.y + 12) - 2.5, 1, 1
+    
+    'Buttons(81).AddWall GetTex("Button81"), -(ShaftLeft - 0.17), -18.45 + (15 * 2), -(ShaftLeft - 0.17), -18.15 + (15 * 2), 0.3, (Elevator(Number).GetPosition.y + 12) - 3, 1, 1
+    Buttons(88).AddWall GetTex("Button88"), -(ShaftLeft - 0.17), -18.45 + (15 * 2) + 0.4, -(ShaftLeft - 0.17), -18.15 + (15 * 2) + 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 3, 1, 1
+    'Buttons(87).AddWall GetTex("Button87"), -(ShaftLeft - 0.17), -18.45 + (15 * 2) + 0.8, -(ShaftLeft - 0.17), -18.15 + (15 * 2) + 0.8, 0.3, (Elevator(Number).GetPosition.y + 12) - 3, 1, 1
+    Buttons(89).AddWall GetTex("Button89"), -(ShaftLeft - 0.17), -18.45 + (15 * 2) + 1.2, -(ShaftLeft - 0.17), -18.15 + (15 * 2) + 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 3, 1, 1
+    'Buttons(85).AddWall GetTex("Button85"), -(ShaftLeft - 0.17), -18.45 + (15 * 2) + 1.6, -(ShaftLeft - 0.17), -18.15 + (15 * 2) + 1.6, 0.3, (Elevator(Number).GetPosition.y + 12) - 3, 1, 1
+    
+    'Buttons(90).AddWall GetTex("Button90"), -(ShaftLeft - 0.17), -18.45 + (15 * 2), -(ShaftLeft - 0.17), -18.15 + (15 * 2), 0.3, (Elevator(Number).GetPosition.y + 12) - 3.5, 1, 1
+    Buttons(86).AddWall GetTex("Button86"), -(ShaftLeft - 0.17), -18.45 + (15 * 2) + 0.4, -(ShaftLeft - 0.17), -18.15 + (15 * 2) + 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 3.5, 1, 1
+    'Buttons(84).AddWall GetTex("Button84"), -(ShaftLeft - 0.17), -18.45 + (15 * 2) + 0.8, -(ShaftLeft - 0.17), -18.15 + (15 * 2) + 0.8, 0.3, (Elevator(Number).GetPosition.y + 12) - 3.5, 1, 1
+    Buttons(87).AddWall GetTex("Button87"), -(ShaftLeft - 0.17), -18.45 + (15 * 2) + 1.2, -(ShaftLeft - 0.17), -18.15 + (15 * 2) + 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 3.5, 1, 1
+    'Buttons(94).AddWall GetTex("Button94"), -(ShaftLeft - 0.17), -18.45 + (15 * 2) + 1.6, -(ShaftLeft - 0.17), -18.15 + (15 * 2) + 1.6, 0.3, (Elevator(Number).GetPosition.y + 12) - 3.5, 1, 1
+    
+    'Buttons(81).AddWall GetTex("Button85"), -(ShaftLeft - 0.17), -18.45 + (15 * 2), -(ShaftLeft - 0.17), -18.15 + (15 * 2), 0.3, (Elevator(Number).GetPosition.y + 12) - 4, 1, 1
+    Buttons(84).AddWall GetTex("Button84"), -(ShaftLeft - 0.17), -18.45 + (15 * 2) + 0.4, -(ShaftLeft - 0.17), -18.15 + (15 * 2) + 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 4, 1, 1
+    'Buttons(81).AddWall GetTex("Button81"), -(ShaftLeft - 0.17), -18.45 + (15 * 2) + 0.8, -(ShaftLeft - 0.17), -18.15 + (15 * 2) + 0.8, 0.3, (Elevator(Number).GetPosition.y + 12) - 4, 1, 1
+    Buttons(85).AddWall GetTex("Button85"), -(ShaftLeft - 0.17), -18.45 + (15 * 2) + 1.2, -(ShaftLeft - 0.17), -18.15 + (15 * 2) + 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 4, 1, 1
+    'Buttons(89).AddWall GetTex("Button89"), -(ShaftLeft - 0.17), -18.45 + (15 * 2) + 1.6, -(ShaftLeft - 0.17), -18.15 + (15 * 2) + 1.6, 0.3, (Elevator(Number).GetPosition.y + 12) - 4, 1, 1
+    
+    'Buttons(80).AddWall GetTex("Button80"), -(ShaftLeft - 0.17), -18.45 + (15 * 2), -(ShaftLeft - 0.17), -18.15 + (15 * 2), 0.3, (Elevator(Number).GetPosition.y + 12) - 4.5, 1, 1
+    Buttons(82).AddWall GetTex("Button82"), -(ShaftLeft - 0.17), -18.45 + (15 * 2) + 0.4, -(ShaftLeft - 0.17), -18.15 + (15 * 2) + 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 4.5, 1, 1
+    'Buttons(-1).AddWall GetTex("ButtonL"), -(ShaftLeft - 0.17), -18.45 + (15 * 2) + 0.8, -(ShaftLeft - 0.17), -18.15 + (15 * 2) + 0.8, 0.3, (Elevator(Number).GetPosition.y + 12) - 4.5, 1, 1
+    Buttons(83).AddWall GetTex("Button83"), -(ShaftLeft - 0.17), -18.45 + (15 * 2) + 1.2, -(ShaftLeft - 0.17), -18.15 + (15 * 2) + 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 4.5, 1, 1
+    'Buttons(84).AddWall GetTex("Button84"), -(ShaftLeft - 0.17), -18.45 + (15 * 2) + 1.6, -(ShaftLeft - 0.17), -18.15 + (15 * 2) + 1.6, 0.3, (Elevator(Number).GetPosition.y + 12) - 4.5, 1, 1
+    
+    'Buttons(2).AddWall GetTex("Button2"), -(ShaftLeft - 0.17), -18.45 + (15 * 2), -(ShaftLeft - 0.17), -18.15 + (15 * 2), 0.3, (Elevator(Number).GetPosition.y + 12) - 5, 1, 1
+    Buttons(80).AddWall GetTex("Button80"), -(ShaftLeft - 0.17), -18.45 + (15 * 2) + 0.4, -(ShaftLeft - 0.17), -18.15 + (15 * 2) + 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 5, 1, 1
+    'Buttons(-1).AddWall GetTex("ButtonL"), -(ShaftLeft - 0.17), -18.45 + (15 * 2) + 0.8, -(ShaftLeft - 0.17), -18.15 + (15 * 2) + 0.8, 0.3, (Elevator(Number).GetPosition.y + 12) - 5, 1, 1
+    Buttons(81).AddWall GetTex("Button81"), -(ShaftLeft - 0.17), -18.45 + (15 * 2) + 1.2, -(ShaftLeft - 0.17), -18.15 + (15 * 2) + 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 5, 1, 1
+    'Buttons(79).AddWall GetTex("Button79"), -(ShaftLeft - 0.17), -18.45 + (15 * 2) + 1.6, -(ShaftLeft - 0.17), -18.15 + (15 * 2) + 1.6, 0.3, (Elevator(Number).GetPosition.y + 12) - 5, 1, 1
+    
+    Buttons(139).AddWall GetTex("ButtonOpen"), -(ShaftLeft - 0.17), -18.45 + (15 * 2), -(ShaftLeft - 0.17), -18.15 + (15 * 2), 0.3, (Elevator(Number).GetPosition.Y + 12) - 5.5, 1, 1
+    Buttons(140).AddWall GetTex("ButtonClose"), -(ShaftLeft - 0.17), -18.45 + (15 * 2) + 0.4, -(ShaftLeft - 0.17), -18.15 + (15 * 2) + 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 5.5, 1, 1
+    Buttons(141).AddWall GetTex("ButtonCancel"), -(ShaftLeft - 0.17), -18.45 + (15 * 2) + 0.8, -(ShaftLeft - 0.17), -18.15 + (15 * 2) + 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 5.5, 1, 1
+    Buttons(142).AddWall GetTex("ButtonStop"), -(ShaftLeft - 0.17), -18.45 + (15 * 2) + 1.2, -(ShaftLeft - 0.17), -18.15 + (15 * 2) + 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 5.5, 1, 1
+    Buttons(143).AddWall GetTex("ButtonAlarm"), -(ShaftLeft - 0.17), -18.45 + (15 * 2) + 1.6, -(ShaftLeft - 0.17), -18.15 + (15 * 2) + 1.6, 0.3, (Elevator(Number).GetPosition.Y + 12) - 5.5, 1, 1
+
+End If
+
+'Elevator 6
+If Number = 16 Then
+
+    'Buttons(96).AddWall GetTex("Button96"), (ShaftLeft - 0.17), -27.85 + (15 * 2), (ShaftLeft - 0.17), -27.55 + (15 * 2), 0.3, (Elevator(Number).GetPosition.y + 12), -1, 1
+    'Buttons(97).AddWall GetTex("Button97"), (ShaftLeft - 0.17), -27.85 + (15 * 2) - 0.4, (ShaftLeft - 0.17), -27.55 + (15 * 2) - 0.4, 0.3, (Elevator(Number).GetPosition.y + 12), -1, 1
+    'Buttons(98).AddWall GetTex("Button98"), (ShaftLeft - 0.17), -27.85 + (15 * 2) - 0.8, (ShaftLeft - 0.17), -27.55 + (15 * 2) - 0.8, 0.3, (Elevator(Number).GetPosition.y + 12), -1, 1
+    'Buttons(99).AddWall GetTex("Button99"), (ShaftLeft - 0.17), -27.85 + (15 * 2) - 1.2, (ShaftLeft - 0.17), -27.55 + (15 * 2) - 1.2, 0.3, (Elevator(Number).GetPosition.y + 12), -1, 1
+    'Buttons(134).AddWall GetTex("Button134"), (ShaftLeft - 0.17), -27.85 + (15 * 2) - 1.6, (ShaftLeft - 0.17), -27.55 + (15 * 2) - 1.6, 0.3, (Elevator(Number).GetPosition.y + 12), -1, 1
+    
+    'Buttons(130).AddWall GetTex("Button130"), (ShaftLeft - 0.17), -27.85 + (15 * 2), (ShaftLeft - 0.17), -27.55 + (15 * 2), 0.3, (Elevator(Number).GetPosition.y + 12) - 0.5, -1, 1
+    Buttons(98).AddWall GetTex("Button98"), (ShaftLeft - 0.17), -27.85 + (15 * 2) - 0.4, (ShaftLeft - 0.17), -27.55 + (15 * 2) - 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 0.5, -1, 1
+    'Buttons(99).AddWall GetTex("Button99"), (ShaftLeft - 0.17), -27.85 + (15 * 2) - 0.8, (ShaftLeft - 0.17), -27.55 + (15 * 2) - 0.8, 0.3, (Elevator(Number).GetPosition.y + 12) - 0.5, -1, 1
+    Buttons(99).AddWall GetTex("Button99"), (ShaftLeft - 0.17), -27.85 + (15 * 2) - 1.2, (ShaftLeft - 0.17), -27.55 + (15 * 2) - 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 0.5, -1, 1
+    'Buttons(134).AddWall GetTex("Button134"), (ShaftLeft - 0.17), -27.85 + (15 * 2) - 1.6, (ShaftLeft - 0.17), -27.55 + (15 * 2) - 1.6, 0.3, (Elevator(Number).GetPosition.y + 12) - 0.5, -1, 1
+    
+    'Buttons(91).AddWall GetTex("Button91"), (ShaftLeft - 0.17), -27.85 + (15 * 2), (ShaftLeft - 0.17), -27.55 + (15 * 2), 0.3, (Elevator(Number).GetPosition.y + 12) - 1, -1, 1
+    Buttons(96).AddWall GetTex("Button96"), (ShaftLeft - 0.17), -27.85 + (15 * 2) - 0.4, (ShaftLeft - 0.17), -27.55 + (15 * 2) - 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 1, -1, 1
+    'Buttons(99).AddWall GetTex("Button99"), (ShaftLeft - 0.17), -27.85 + (15 * 2) - 0.8, (ShaftLeft - 0.17), -27.55 + (15 * 2) - 0.8, 0.3, (Elevator(Number).GetPosition.y + 12) - 1, -1, 1
+    Buttons(97).AddWall GetTex("Button97"), (ShaftLeft - 0.17), -27.85 + (15 * 2) - 1.2, (ShaftLeft - 0.17), -27.55 + (15 * 2) - 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 1, -1, 1
+    'Buttons(95).AddWall GetTex("Button95"), (ShaftLeft - 0.17), -27.85 + (15 * 2) - 1.6, (ShaftLeft - 0.17), -27.55 + (15 * 2) - 1.6, 0.3, (Elevator(Number).GetPosition.y + 12) - 1, -1, 1
+    
+    'Buttons(96).AddWall GetTex("Button96"), (ShaftLeft - 0.17), -27.85 + (15 * 2), (ShaftLeft - 0.17), -27.55 + (15 * 2), 0.3, (Elevator(Number).GetPosition.y + 12) - 1.5, -1, 1
+    Buttons(94).AddWall GetTex("Button94"), (ShaftLeft - 0.17), -27.85 + (15 * 2) - 0.4, (ShaftLeft - 0.17), -27.55 + (15 * 2) - 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 1.5, -1, 1
+    'Buttons(96).AddWall GetTex("Button96"), (ShaftLeft - 0.17), -27.85 + (15 * 2) - 0.8, (ShaftLeft - 0.17), -27.55 + (15 * 2) - 0.8, 0.3, (Elevator(Number).GetPosition.y + 12) - 1.5, -1, 1
+    Buttons(95).AddWall GetTex("Button95"), (ShaftLeft - 0.17), -27.85 + (15 * 2) - 1.2, (ShaftLeft - 0.17), -27.55 + (15 * 2) - 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 1.5, -1, 1
+    'Buttons(134).AddWall GetTex("Button134"), (ShaftLeft - 0.17), -27.85 + (15 * 2) - 1.6, (ShaftLeft - 0.17), -27.55 + (15 * 2) - 1.6, 0.3, (Elevator(Number).GetPosition.y + 12) - 1.5, -1, 1
+    
+    'Buttons(91).AddWall GetTex("Button91"), (ShaftLeft - 0.17), -27.85 + (15 * 2), (ShaftLeft - 0.17), -27.55 + (15 * 2), 0.3, (Elevator(Number).GetPosition.y + 12) - 2, -1, 1
+    Buttons(92).AddWall GetTex("Button92"), (ShaftLeft - 0.17), -27.85 + (15 * 2) - 0.4, (ShaftLeft - 0.17), -27.55 + (15 * 2) - 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 2, -1, 1
+    'Buttons(93).AddWall GetTex("Button93"), (ShaftLeft - 0.17), -27.85 + (15 * 2) - 0.8, (ShaftLeft - 0.17), -27.55 + (15 * 2) - 0.8, 0.3, (Elevator(Number).GetPosition.y + 12) - 2, -1, 1
+    Buttons(93).AddWall GetTex("Button93"), (ShaftLeft - 0.17), -27.85 + (15 * 2) - 1.2, (ShaftLeft - 0.17), -27.55 + (15 * 2) - 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 2, -1, 1
+    'Buttons(95).AddWall GetTex("Button95"), (ShaftLeft - 0.17), -27.85 + (15 * 2) - 1.6, (ShaftLeft - 0.17), -27.55 + (15 * 2) - 1.6, 0.3, (Elevator(Number).GetPosition.y + 12) - 2, -1, 1
+    
+    'Buttons(86).AddWall GetTex("Button86"), (ShaftLeft - 0.17), -27.85 + (15 * 2), (ShaftLeft - 0.17), -27.55 + (15 * 2), 0.3, (Elevator(Number).GetPosition.y + 12) - 2.5, -1, 1
+    Buttons(90).AddWall GetTex("Button90"), (ShaftLeft - 0.17), -27.85 + (15 * 2) - 0.4, (ShaftLeft - 0.17), -27.55 + (15 * 2) - 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 2.5, -1, 1
+    'Buttons(90).AddWall GetTex("Button90"), (ShaftLeft - 0.17), -27.85 + (15 * 2) - 0.8, (ShaftLeft - 0.17), -27.55 + (15 * 2) - 0.8, 0.3, (Elevator(Number).GetPosition.y + 12) - 2.5, -1, 1
+    Buttons(91).AddWall GetTex("Button91"), (ShaftLeft - 0.17), -27.85 + (15 * 2) - 1.2, (ShaftLeft - 0.17), -27.55 + (15 * 2) - 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 2.5, -1, 1
+    'Buttons(90).AddWall GetTex("Button90"), (ShaftLeft - 0.17), -27.85 + (15 * 2) - 1.6, (ShaftLeft - 0.17), -27.55 + (15 * 2) - 1.6, 0.3, (Elevator(Number).GetPosition.y + 12) - 2.5, -1, 1
+    
+    'Buttons(81).AddWall GetTex("Button81"), (ShaftLeft - 0.17), -27.85 + (15 * 2), (ShaftLeft - 0.17), -27.55 + (15 * 2), 0.3, (Elevator(Number).GetPosition.y + 12) - 3, -1, 1
+    Buttons(88).AddWall GetTex("Button88"), (ShaftLeft - 0.17), -27.85 + (15 * 2) - 0.4, (ShaftLeft - 0.17), -27.55 + (15 * 2) - 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 3, -1, 1
+    'Buttons(87).AddWall GetTex("Button87"), (ShaftLeft - 0.17), -27.85 + (15 * 2) - 0.8, (ShaftLeft - 0.17), -27.55 + (15 * 2) - 0.8, 0.3, (Elevator(Number).GetPosition.y + 12) - 3, -1, 1
+    Buttons(89).AddWall GetTex("Button89"), (ShaftLeft - 0.17), -27.85 + (15 * 2) - 1.2, (ShaftLeft - 0.17), -27.55 + (15 * 2) - 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 3, -1, 1
+    'Buttons(85).AddWall GetTex("Button85"), (ShaftLeft - 0.17), -27.85 + (15 * 2) - 1.6, (ShaftLeft - 0.17), -27.55 + (15 * 2) - 1.6, 0.3, (Elevator(Number).GetPosition.y + 12) - 3, -1, 1
+    
+    'Buttons(90).AddWall GetTex("Button90"), (ShaftLeft - 0.17), -27.85 + (15 * 2), (ShaftLeft - 0.17), -27.55 + (15 * 2), 0.3, (Elevator(Number).GetPosition.y + 12) - 3.5, -1, 1
+    Buttons(86).AddWall GetTex("Button86"), (ShaftLeft - 0.17), -27.85 + (15 * 2) - 0.4, (ShaftLeft - 0.17), -27.55 + (15 * 2) - 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 3.5, -1, 1
+    'Buttons(84).AddWall GetTex("Button84"), (ShaftLeft - 0.17), -27.85 + (15 * 2) - 0.8, (ShaftLeft - 0.17), -27.55 + (15 * 2) - 0.8, 0.3, (Elevator(Number).GetPosition.y + 12) - 3.5, -1, 1
+    Buttons(87).AddWall GetTex("Button87"), (ShaftLeft - 0.17), -27.85 + (15 * 2) - 1.2, (ShaftLeft - 0.17), -27.55 + (15 * 2) - 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 3.5, -1, 1
+    'Buttons(94).AddWall GetTex("Button94"), (ShaftLeft - 0.17), -27.85 + (15 * 2) - 1.6, (ShaftLeft - 0.17), -27.55 + (15 * 2) - 1.6, 0.3, (Elevator(Number).GetPosition.y + 12) - 3.5, -1, 1
+    
+    'Buttons(81).AddWall GetTex("Button85"), (ShaftLeft - 0.17), -27.85 + (15 * 2), (ShaftLeft - 0.17), -27.55 + (15 * 2), 0.3, (Elevator(Number).GetPosition.y + 12) - 4, -1, 1
+    Buttons(84).AddWall GetTex("Button84"), (ShaftLeft - 0.17), -27.85 + (15 * 2) - 0.4, (ShaftLeft - 0.17), -27.55 + (15 * 2) - 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 4, -1, 1
+    'Buttons(81).AddWall GetTex("Button81"), (ShaftLeft - 0.17), -27.85 + (15 * 2) - 0.8, (ShaftLeft - 0.17), -27.55 + (15 * 2) - 0.8, 0.3, (Elevator(Number).GetPosition.y + 12) - 4, -1, 1
+    Buttons(85).AddWall GetTex("Button85"), (ShaftLeft - 0.17), -27.85 + (15 * 2) - 1.2, (ShaftLeft - 0.17), -27.55 + (15 * 2) - 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 4, -1, 1
+    'Buttons(89).AddWall GetTex("Button89"), (ShaftLeft - 0.17), -27.85 + (15 * 2) - 1.6, (ShaftLeft - 0.17), -27.55 + (15 * 2) - 1.6, 0.3, (Elevator(Number).GetPosition.y + 12) - 4, -1, 1
+    
+    'Buttons(80).AddWall GetTex("Button80"), (ShaftLeft - 0.17), -27.85 + (15 * 2), (ShaftLeft - 0.17), -27.55 + (15 * 2), 0.3, (Elevator(Number).GetPosition.y + 12) - 4.5, -1, 1
+    Buttons(82).AddWall GetTex("Button82"), (ShaftLeft - 0.17), -27.85 + (15 * 2) - 0.4, (ShaftLeft - 0.17), -27.55 + (15 * 2) - 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 4.5, -1, 1
+    'Buttons(-1).AddWall GetTex("ButtonL"), (ShaftLeft - 0.17), -27.85 + (15 * 2) - 0.8, (ShaftLeft - 0.17), -27.55 + (15 * 2) - 0.8, 0.3, (Elevator(Number).GetPosition.y + 12) - 4.5, -1, 1
+    Buttons(83).AddWall GetTex("Button83"), (ShaftLeft - 0.17), -27.85 + (15 * 2) - 1.2, (ShaftLeft - 0.17), -27.55 + (15 * 2) - 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 4.5, -1, 1
+    'Buttons(84).AddWall GetTex("Button84"), (ShaftLeft - 0.17), -27.85 + (15 * 2) - 1.6, (ShaftLeft - 0.17), -27.55 + (15 * 2) - 1.6, 0.3, (Elevator(Number).GetPosition.y + 12) - 4.5, -1, 1
+    
+    'Buttons(2).AddWall GetTex("Button2"), (ShaftLeft - 0.17), -27.85 + (15 * 2), (ShaftLeft - 0.17), -27.55 + (15 * 2), 0.3, (Elevator(Number).GetPosition.y + 12) - 5, -1, 1
+    Buttons(80).AddWall GetTex("Button80"), (ShaftLeft - 0.17), -27.85 + (15 * 2) - 0.4, (ShaftLeft - 0.17), -27.55 + (15 * 2) - 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 5, -1, 1
+    'Buttons(-1).AddWall GetTex("ButtonL"), (ShaftLeft - 0.17), -27.85 + (15 * 2) - 0.8, (ShaftLeft - 0.17), -27.55 + (15 * 2) - 0.8, 0.3, (Elevator(Number).GetPosition.y + 12) - 5, -1, 1
+    Buttons(81).AddWall GetTex("Button81"), (ShaftLeft - 0.17), -27.85 + (15 * 2) - 1.2, (ShaftLeft - 0.17), -27.55 + (15 * 2) - 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 5, -1, 1
+    'Buttons(79).AddWall GetTex("Button79"), (ShaftLeft - 0.17), -27.85 + (15 * 2) - 1.6, (ShaftLeft - 0.17), -27.55 + (15 * 2) - 1.6, 0.3, (Elevator(Number).GetPosition.y + 12) - 5, -1, 1
+    
+    Buttons(139).AddWall GetTex("ButtonOpen"), (ShaftLeft - 0.17), -27.85 + (15 * 2), (ShaftLeft - 0.17), -27.55 + (15 * 2), 0.3, (Elevator(Number).GetPosition.Y + 12) - 5.5, -1, 1
+    Buttons(140).AddWall GetTex("ButtonClose"), (ShaftLeft - 0.17), -27.85 + (15 * 2) - 0.4, (ShaftLeft - 0.17), -27.55 + (15 * 2) - 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 5.5, -1, 1
+    Buttons(141).AddWall GetTex("ButtonCancel"), (ShaftLeft - 0.17), -27.85 + (15 * 2) - 0.8, (ShaftLeft - 0.17), -27.55 + (15 * 2) - 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 5.5, -1, 1
+    Buttons(142).AddWall GetTex("ButtonStop"), (ShaftLeft - 0.17), -27.85 + (15 * 2) - 1.2, (ShaftLeft - 0.17), -27.55 + (15 * 2) - 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 5.5, -1, 1
+    Buttons(143).AddWall GetTex("ButtonAlarm"), (ShaftLeft - 0.17), -27.85 + (15 * 2) - 1.6, (ShaftLeft - 0.17), -27.55 + (15 * 2) - 1.6, 0.3, (Elevator(Number).GetPosition.Y + 12) - 5.5, -1, 1
+
+End If
+
+'Elevator 7
+If Number = 17 Then
+
+'Buttons(96).AddWall GetTex("Button96"), -(ShaftLeft - 0.17), -18.45 + (15 * 3), -(ShaftLeft - 0.17), -18.15 + (15 * 3), 0.3, (Elevator(Number).GetPosition.y + 12), 1, 1
+    'Buttons(97).AddWall GetTex("Button97"), -(ShaftLeft - 0.17), -18.45 + (15 * 3) + 0.4, -(ShaftLeft - 0.17), -18.15 + (15 * 3) + 0.4, 0.3, (Elevator(Number).GetPosition.y + 12), 1, 1
+    'Buttons(98).AddWall GetTex("Button98"), -(ShaftLeft - 0.17), -18.45 + (15 * 3) + 0.8, -(ShaftLeft - 0.17), -18.15 + (15 * 3) + 0.8, 0.3, (Elevator(Number).GetPosition.y + 12), 1, 1
+    'Buttons(99).AddWall GetTex("Button99"), -(ShaftLeft - 0.17), -18.45 + (15 * 3) + 1.2, -(ShaftLeft - 0.17), -18.15 + (15 * 3) + 1.2, 0.3, (Elevator(Number).GetPosition.y + 12), 1, 1
+    'Buttons(134).AddWall GetTex("Button134"), -(ShaftLeft - 0.17), -18.45 + (15 * 3) + 1.6, -(ShaftLeft - 0.17), -18.15 + (15 * 3) + 1.6, 0.3, (Elevator(Number).GetPosition.y + 12), 1, 1
+    
+    'Buttons(130).AddWall GetTex("Button130"), -(ShaftLeft - 0.17), -18.45 + (15 * 3), -(ShaftLeft - 0.17), -18.15 + (15 * 3), 0.3, (Elevator(Number).GetPosition.y + 12) - 0.5, 1, 1
+    Buttons(98).AddWall GetTex("Button98"), -(ShaftLeft - 0.17), -18.45 + (15 * 3) + 0.4, -(ShaftLeft - 0.17), -18.15 + (15 * 3) + 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 0.5, 1, 1
+    'Buttons(99).AddWall GetTex("Button99"), -(ShaftLeft - 0.17), -18.45 + (15 * 3) + 0.8, -(ShaftLeft - 0.17), -18.15 + (15 * 3) + 0.8, 0.3, (Elevator(Number).GetPosition.y + 12) - 0.5, 1, 1
+    Buttons(99).AddWall GetTex("Button99"), -(ShaftLeft - 0.17), -18.45 + (15 * 3) + 1.2, -(ShaftLeft - 0.17), -18.15 + (15 * 3) + 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 0.5, 1, 1
+    'Buttons(134).AddWall GetTex("Button134"), -(ShaftLeft - 0.17), -18.45 + (15 * 3) + 1.6, -(ShaftLeft - 0.17), -18.15 + (15 * 3) + 1.6, 0.3, (Elevator(Number).GetPosition.y + 12) - 0.5, 1, 1
+    
+    'Buttons(91).AddWall GetTex("Button91"), -(ShaftLeft - 0.17), -18.45 + (15 * 3), -(ShaftLeft - 0.17), -18.15 + (15 * 3), 0.3, (Elevator(Number).GetPosition.y + 12) - 1, 1, 1
+    Buttons(96).AddWall GetTex("Button96"), -(ShaftLeft - 0.17), -18.45 + (15 * 3) + 0.4, -(ShaftLeft - 0.17), -18.15 + (15 * 3) + 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 1, 1, 1
+    'Buttons(99).AddWall GetTex("Button99"), -(ShaftLeft - 0.17), -18.45 + (15 * 3) + 0.8, -(ShaftLeft - 0.17), -18.15 + (15 * 3) + 0.8, 0.3, (Elevator(Number).GetPosition.y + 12) - 1, 1, 1
+    Buttons(97).AddWall GetTex("Button97"), -(ShaftLeft - 0.17), -18.45 + (15 * 3) + 1.2, -(ShaftLeft - 0.17), -18.15 + (15 * 3) + 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 1, 1, 1
+    'Buttons(95).AddWall GetTex("Button95"), -(ShaftLeft - 0.17), -18.45 + (15 * 3) + 1.6, -(ShaftLeft - 0.17), -18.15 + (15 * 3) + 1.6, 0.3, (Elevator(Number).GetPosition.y + 12) - 1, 1, 1
+    
+    'Buttons(96).AddWall GetTex("Button96"), -(ShaftLeft - 0.17), -18.45 + (15 * 3), -(ShaftLeft - 0.17), -18.15 + (15 * 3), 0.3, (Elevator(Number).GetPosition.y + 12) - 1.5, 1, 1
+    Buttons(94).AddWall GetTex("Button94"), -(ShaftLeft - 0.17), -18.45 + (15 * 3) + 0.4, -(ShaftLeft - 0.17), -18.15 + (15 * 3) + 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 1.5, 1, 1
+    'Buttons(96).AddWall GetTex("Button96"), -(ShaftLeft - 0.17), -18.45 + (15 * 3) + 0.8, -(ShaftLeft - 0.17), -18.15 + (15 * 3) + 0.8, 0.3, (Elevator(Number).GetPosition.y + 12) - 1.5, 1, 1
+    Buttons(95).AddWall GetTex("Button95"), -(ShaftLeft - 0.17), -18.45 + (15 * 3) + 1.2, -(ShaftLeft - 0.17), -18.15 + (15 * 3) + 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 1.5, 1, 1
+    'Buttons(134).AddWall GetTex("Button134"), -(ShaftLeft - 0.17), -18.45 + (15 * 3) + 1.6, -(ShaftLeft - 0.17), -18.15 + (15 * 3) + 1.6, 0.3, (Elevator(Number).GetPosition.y + 12) - 1.5, 1, 1
+    
+    'Buttons(91).AddWall GetTex("Button91"), -(ShaftLeft - 0.17), -18.45 + (15 * 3), -(ShaftLeft - 0.17), -18.15 + (15 * 3), 0.3, (Elevator(Number).GetPosition.y + 12) - 2, 1, 1
+    Buttons(92).AddWall GetTex("Button92"), -(ShaftLeft - 0.17), -18.45 + (15 * 3) + 0.4, -(ShaftLeft - 0.17), -18.15 + (15 * 3) + 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 2, 1, 1
+    'Buttons(93).AddWall GetTex("Button93"), -(ShaftLeft - 0.17), -18.45 + (15 * 3) + 0.8, -(ShaftLeft - 0.17), -18.15 + (15 * 3) + 0.8, 0.3, (Elevator(Number).GetPosition.y + 12) - 2, 1, 1
+    Buttons(93).AddWall GetTex("Button93"), -(ShaftLeft - 0.17), -18.45 + (15 * 3) + 1.2, -(ShaftLeft - 0.17), -18.15 + (15 * 3) + 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 2, 1, 1
+    'Buttons(95).AddWall GetTex("Button95"), -(ShaftLeft - 0.17), -18.45 + (15 * 3) + 1.6, -(ShaftLeft - 0.17), -18.15 + (15 * 3) + 1.6, 0.3, (Elevator(Number).GetPosition.y + 12) - 2, 1, 1
+    
+    'Buttons(86).AddWall GetTex("Button86"), -(ShaftLeft - 0.17), -18.45 + (15 * 3), -(ShaftLeft - 0.17), -18.15 + (15 * 3), 0.3, (Elevator(Number).GetPosition.y + 12) - 2.5, 1, 1
+    Buttons(90).AddWall GetTex("Button90"), -(ShaftLeft - 0.17), -18.45 + (15 * 3) + 0.4, -(ShaftLeft - 0.17), -18.15 + (15 * 3) + 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 2.5, 1, 1
+    'Buttons(90).AddWall GetTex("Button90"), -(ShaftLeft - 0.17), -18.45 + (15 * 3) + 0.8, -(ShaftLeft - 0.17), -18.15 + (15 * 3) + 0.8, 0.3, (Elevator(Number).GetPosition.y + 12) - 2.5, 1, 1
+    Buttons(91).AddWall GetTex("Button91"), -(ShaftLeft - 0.17), -18.45 + (15 * 3) + 1.2, -(ShaftLeft - 0.17), -18.15 + (15 * 3) + 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 2.5, 1, 1
+    'Buttons(90).AddWall GetTex("Button90"), -(ShaftLeft - 0.17), -18.45 + (15 * 3) + 1.6, -(ShaftLeft - 0.17), -18.15 + (15 * 3) + 1.6, 0.3, (Elevator(Number).GetPosition.y + 12) - 2.5, 1, 1
+    
+    'Buttons(81).AddWall GetTex("Button81"), -(ShaftLeft - 0.17), -18.45 + (15 * 3), -(ShaftLeft - 0.17), -18.15 + (15 * 3), 0.3, (Elevator(Number).GetPosition.y + 12) - 3, 1, 1
+    Buttons(88).AddWall GetTex("Button88"), -(ShaftLeft - 0.17), -18.45 + (15 * 3) + 0.4, -(ShaftLeft - 0.17), -18.15 + (15 * 3) + 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 3, 1, 1
+    'Buttons(87).AddWall GetTex("Button87"), -(ShaftLeft - 0.17), -18.45 + (15 * 3) + 0.8, -(ShaftLeft - 0.17), -18.15 + (15 * 3) + 0.8, 0.3, (Elevator(Number).GetPosition.y + 12) - 3, 1, 1
+    Buttons(89).AddWall GetTex("Button89"), -(ShaftLeft - 0.17), -18.45 + (15 * 3) + 1.2, -(ShaftLeft - 0.17), -18.15 + (15 * 3) + 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 3, 1, 1
+    'Buttons(85).AddWall GetTex("Button85"), -(ShaftLeft - 0.17), -18.45 + (15 * 3) + 1.6, -(ShaftLeft - 0.17), -18.15 + (15 * 3) + 1.6, 0.3, (Elevator(Number).GetPosition.y + 12) - 3, 1, 1
+    
+    'Buttons(90).AddWall GetTex("Button90"), -(ShaftLeft - 0.17), -18.45 + (15 * 3), -(ShaftLeft - 0.17), -18.15 + (15 * 3), 0.3, (Elevator(Number).GetPosition.y + 12) - 3.5, 1, 1
+    Buttons(86).AddWall GetTex("Button86"), -(ShaftLeft - 0.17), -18.45 + (15 * 3) + 0.4, -(ShaftLeft - 0.17), -18.15 + (15 * 3) + 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 3.5, 1, 1
+    'Buttons(84).AddWall GetTex("Button84"), -(ShaftLeft - 0.17), -18.45 + (15 * 3) + 0.8, -(ShaftLeft - 0.17), -18.15 + (15 * 3) + 0.8, 0.3, (Elevator(Number).GetPosition.y + 12) - 3.5, 1, 1
+    Buttons(87).AddWall GetTex("Button87"), -(ShaftLeft - 0.17), -18.45 + (15 * 3) + 1.2, -(ShaftLeft - 0.17), -18.15 + (15 * 3) + 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 3.5, 1, 1
+    'Buttons(94).AddWall GetTex("Button94"), -(ShaftLeft - 0.17), -18.45 + (15 * 3) + 1.6, -(ShaftLeft - 0.17), -18.15 + (15 * 3) + 1.6, 0.3, (Elevator(Number).GetPosition.y + 12) - 3.5, 1, 1
+    
+    'Buttons(81).AddWall GetTex("Button85"), -(ShaftLeft - 0.17), -18.45 + (15 * 3), -(ShaftLeft - 0.17), -18.15 + (15 * 3), 0.3, (Elevator(Number).GetPosition.y + 12) - 4, 1, 1
+    Buttons(84).AddWall GetTex("Button84"), -(ShaftLeft - 0.17), -18.45 + (15 * 3) + 0.4, -(ShaftLeft - 0.17), -18.15 + (15 * 3) + 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 4, 1, 1
+    'Buttons(81).AddWall GetTex("Button81"), -(ShaftLeft - 0.17), -18.45 + (15 * 3) + 0.8, -(ShaftLeft - 0.17), -18.15 + (15 * 3) + 0.8, 0.3, (Elevator(Number).GetPosition.y + 12) - 4, 1, 1
+    Buttons(85).AddWall GetTex("Button85"), -(ShaftLeft - 0.17), -18.45 + (15 * 3) + 1.2, -(ShaftLeft - 0.17), -18.15 + (15 * 3) + 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 4, 1, 1
+    'Buttons(89).AddWall GetTex("Button89"), -(ShaftLeft - 0.17), -18.45 + (15 * 3) + 1.6, -(ShaftLeft - 0.17), -18.15 + (15 * 3) + 1.6, 0.3, (Elevator(Number).GetPosition.y + 12) - 4, 1, 1
+    
+    'Buttons(80).AddWall GetTex("Button80"), -(ShaftLeft - 0.17), -18.45 + (15 * 3), -(ShaftLeft - 0.17), -18.15 + (15 * 3), 0.3, (Elevator(Number).GetPosition.y + 12) - 4.5, 1, 1
+    Buttons(82).AddWall GetTex("Button82"), -(ShaftLeft - 0.17), -18.45 + (15 * 3) + 0.4, -(ShaftLeft - 0.17), -18.15 + (15 * 3) + 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 4.5, 1, 1
+    'Buttons(-1).AddWall GetTex("ButtonL"), -(ShaftLeft - 0.17), -18.45 + (15 * 3) + 0.8, -(ShaftLeft - 0.17), -18.15 + (15 * 3) + 0.8, 0.3, (Elevator(Number).GetPosition.y + 12) - 4.5, 1, 1
+    Buttons(83).AddWall GetTex("Button83"), -(ShaftLeft - 0.17), -18.45 + (15 * 3) + 1.2, -(ShaftLeft - 0.17), -18.15 + (15 * 3) + 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 4.5, 1, 1
+    'Buttons(84).AddWall GetTex("Button84"), -(ShaftLeft - 0.17), -18.45 + (15 * 3) + 1.6, -(ShaftLeft - 0.17), -18.15 + (15 * 3) + 1.6, 0.3, (Elevator(Number).GetPosition.y + 12) - 4.5, 1, 1
+    
+    'Buttons(2).AddWall GetTex("Button2"), -(ShaftLeft - 0.17), -18.45 + (15 * 3), -(ShaftLeft - 0.17), -18.15 + (15 * 3), 0.3, (Elevator(Number).GetPosition.y + 12) - 5, 1, 1
+    Buttons(80).AddWall GetTex("Button80"), -(ShaftLeft - 0.17), -18.45 + (15 * 3) + 0.4, -(ShaftLeft - 0.17), -18.15 + (15 * 3) + 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 5, 1, 1
+    'Buttons(-1).AddWall GetTex("ButtonL"), -(ShaftLeft - 0.17), -18.45 + (15 * 3) + 0.8, -(ShaftLeft - 0.17), -18.15 + (15 * 3) + 0.8, 0.3, (Elevator(Number).GetPosition.y + 12) - 5, 1, 1
+    Buttons(81).AddWall GetTex("Button81"), -(ShaftLeft - 0.17), -18.45 + (15 * 3) + 1.2, -(ShaftLeft - 0.17), -18.15 + (15 * 3) + 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 5, 1, 1
+    'Buttons(79).AddWall GetTex("Button79"), -(ShaftLeft - 0.17), -18.45 + (15 * 3) + 1.6, -(ShaftLeft - 0.17), -18.15 + (15 * 3) + 1.6, 0.3, (Elevator(Number).GetPosition.y + 12) - 5, 1, 1
+    
+    Buttons(139).AddWall GetTex("ButtonOpen"), -(ShaftLeft - 0.17), -18.45 + (15 * 3), -(ShaftLeft - 0.17), -18.15 + (15 * 3), 0.3, (Elevator(Number).GetPosition.Y + 12) - 5.5, 1, 1
+    Buttons(140).AddWall GetTex("ButtonClose"), -(ShaftLeft - 0.17), -18.45 + (15 * 3) + 0.4, -(ShaftLeft - 0.17), -18.15 + (15 * 3) + 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 5.5, 1, 1
+    Buttons(141).AddWall GetTex("ButtonCancel"), -(ShaftLeft - 0.17), -18.45 + (15 * 3) + 0.8, -(ShaftLeft - 0.17), -18.15 + (15 * 3) + 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 5.5, 1, 1
+    Buttons(142).AddWall GetTex("ButtonStop"), -(ShaftLeft - 0.17), -18.45 + (15 * 3) + 1.2, -(ShaftLeft - 0.17), -18.15 + (15 * 3) + 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 5.5, 1, 1
+    Buttons(143).AddWall GetTex("ButtonAlarm"), -(ShaftLeft - 0.17), -18.45 + (15 * 3) + 1.6, -(ShaftLeft - 0.17), -18.15 + (15 * 3) + 1.6, 0.3, (Elevator(Number).GetPosition.Y + 12) - 5.5, 1, 1
+
+End If
+
+'Elevator 8
+If Number = 18 Then
+
+'Buttons(96).AddWall GetTex("Button96"), (ShaftLeft - 0.17), -27.85 + (15 * 3), (ShaftLeft - 0.17), -27.55 + (15 * 3), 0.3, (Elevator(Number).GetPosition.y + 12), -1, 1
+    'Buttons(97).AddWall GetTex("Button97"), (ShaftLeft - 0.17), -27.85 + (15 * 3) - 0.4, (ShaftLeft - 0.17), -27.55 + (15 * 3) - 0.4, 0.3, (Elevator(Number).GetPosition.y + 12), -1, 1
+    'Buttons(98).AddWall GetTex("Button98"), (ShaftLeft - 0.17), -27.85 + (15 * 3) - 0.8, (ShaftLeft - 0.17), -27.55 + (15 * 3) - 0.8, 0.3, (Elevator(Number).GetPosition.y + 12), -1, 1
+    'Buttons(99).AddWall GetTex("Button99"), (ShaftLeft - 0.17), -27.85 + (15 * 3) - 1.2, (ShaftLeft - 0.17), -27.55 + (15 * 3) - 1.2, 0.3, (Elevator(Number).GetPosition.y + 12), -1, 1
+    'Buttons(134).AddWall GetTex("Button134"), (ShaftLeft - 0.17), -27.85 + (15 * 3) - 1.6, (ShaftLeft - 0.17), -27.55 + (15 * 3) - 1.6, 0.3, (Elevator(Number).GetPosition.y + 12), -1, 1
+    
+    'Buttons(130).AddWall GetTex("Button130"), (ShaftLeft - 0.17), -27.85 + (15 * 3), (ShaftLeft - 0.17), -27.55 + (15 * 3), 0.3, (Elevator(Number).GetPosition.y + 12) - 0.5, -1, 1
+    Buttons(98).AddWall GetTex("Button98"), (ShaftLeft - 0.17), -27.85 + (15 * 3) - 0.4, (ShaftLeft - 0.17), -27.55 + (15 * 3) - 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 0.5, -1, 1
+    'Buttons(99).AddWall GetTex("Button99"), (ShaftLeft - 0.17), -27.85 + (15 * 3) - 0.8, (ShaftLeft - 0.17), -27.55 + (15 * 3) - 0.8, 0.3, (Elevator(Number).GetPosition.y + 12) - 0.5, -1, 1
+    Buttons(99).AddWall GetTex("Button99"), (ShaftLeft - 0.17), -27.85 + (15 * 3) - 1.2, (ShaftLeft - 0.17), -27.55 + (15 * 3) - 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 0.5, -1, 1
+    'Buttons(134).AddWall GetTex("Button134"), (ShaftLeft - 0.17), -27.85 + (15 * 3) - 1.6, (ShaftLeft - 0.17), -27.55 + (15 * 3) - 1.6, 0.3, (Elevator(Number).GetPosition.y + 12) - 0.5, -1, 1
+    
+    'Buttons(91).AddWall GetTex("Button91"), (ShaftLeft - 0.17), -27.85 + (15 * 3), (ShaftLeft - 0.17), -27.55 + (15 * 3), 0.3, (Elevator(Number).GetPosition.y + 12) - 1, -1, 1
+    Buttons(96).AddWall GetTex("Button96"), (ShaftLeft - 0.17), -27.85 + (15 * 3) - 0.4, (ShaftLeft - 0.17), -27.55 + (15 * 3) - 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 1, -1, 1
+    'Buttons(99).AddWall GetTex("Button99"), (ShaftLeft - 0.17), -27.85 + (15 * 3) - 0.8, (ShaftLeft - 0.17), -27.55 + (15 * 3) - 0.8, 0.3, (Elevator(Number).GetPosition.y + 12) - 1, -1, 1
+    Buttons(97).AddWall GetTex("Button97"), (ShaftLeft - 0.17), -27.85 + (15 * 3) - 1.2, (ShaftLeft - 0.17), -27.55 + (15 * 3) - 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 1, -1, 1
+    'Buttons(95).AddWall GetTex("Button95"), (ShaftLeft - 0.17), -27.85 + (15 * 3) - 1.6, (ShaftLeft - 0.17), -27.55 + (15 * 3) - 1.6, 0.3, (Elevator(Number).GetPosition.y + 12) - 1, -1, 1
+    
+    'Buttons(96).AddWall GetTex("Button96"), (ShaftLeft - 0.17), -27.85 + (15 * 3), (ShaftLeft - 0.17), -27.55 + (15 * 3), 0.3, (Elevator(Number).GetPosition.y + 12) - 1.5, -1, 1
+    Buttons(94).AddWall GetTex("Button94"), (ShaftLeft - 0.17), -27.85 + (15 * 3) - 0.4, (ShaftLeft - 0.17), -27.55 + (15 * 3) - 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 1.5, -1, 1
+    'Buttons(96).AddWall GetTex("Button96"), (ShaftLeft - 0.17), -27.85 + (15 * 3) - 0.8, (ShaftLeft - 0.17), -27.55 + (15 * 3) - 0.8, 0.3, (Elevator(Number).GetPosition.y + 12) - 1.5, -1, 1
+    Buttons(95).AddWall GetTex("Button95"), (ShaftLeft - 0.17), -27.85 + (15 * 3) - 1.2, (ShaftLeft - 0.17), -27.55 + (15 * 3) - 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 1.5, -1, 1
+    'Buttons(134).AddWall GetTex("Button134"), (ShaftLeft - 0.17), -27.85 + (15 * 3) - 1.6, (ShaftLeft - 0.17), -27.55 + (15 * 3) - 1.6, 0.3, (Elevator(Number).GetPosition.y + 12) - 1.5, -1, 1
+    
+    'Buttons(91).AddWall GetTex("Button91"), (ShaftLeft - 0.17), -27.85 + (15 * 3), (ShaftLeft - 0.17), -27.55 + (15 * 3), 0.3, (Elevator(Number).GetPosition.y + 12) - 2, -1, 1
+    Buttons(92).AddWall GetTex("Button92"), (ShaftLeft - 0.17), -27.85 + (15 * 3) - 0.4, (ShaftLeft - 0.17), -27.55 + (15 * 3) - 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 2, -1, 1
+    'Buttons(93).AddWall GetTex("Button93"), (ShaftLeft - 0.17), -27.85 + (15 * 3) - 0.8, (ShaftLeft - 0.17), -27.55 + (15 * 3) - 0.8, 0.3, (Elevator(Number).GetPosition.y + 12) - 2, -1, 1
+    Buttons(93).AddWall GetTex("Button93"), (ShaftLeft - 0.17), -27.85 + (15 * 3) - 1.2, (ShaftLeft - 0.17), -27.55 + (15 * 3) - 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 2, -1, 1
+    'Buttons(95).AddWall GetTex("Button95"), (ShaftLeft - 0.17), -27.85 + (15 * 3) - 1.6, (ShaftLeft - 0.17), -27.55 + (15 * 3) - 1.6, 0.3, (Elevator(Number).GetPosition.y + 12) - 2, -1, 1
+    
+    'Buttons(86).AddWall GetTex("Button86"), (ShaftLeft - 0.17), -27.85 + (15 * 3), (ShaftLeft - 0.17), -27.55 + (15 * 3), 0.3, (Elevator(Number).GetPosition.y + 12) - 2.5, -1, 1
+    Buttons(90).AddWall GetTex("Button90"), (ShaftLeft - 0.17), -27.85 + (15 * 3) - 0.4, (ShaftLeft - 0.17), -27.55 + (15 * 3) - 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 2.5, -1, 1
+    'Buttons(90).AddWall GetTex("Button90"), (ShaftLeft - 0.17), -27.85 + (15 * 3) - 0.8, (ShaftLeft - 0.17), -27.55 + (15 * 3) - 0.8, 0.3, (Elevator(Number).GetPosition.y + 12) - 2.5, -1, 1
+    Buttons(91).AddWall GetTex("Button91"), (ShaftLeft - 0.17), -27.85 + (15 * 3) - 1.2, (ShaftLeft - 0.17), -27.55 + (15 * 3) - 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 2.5, -1, 1
+    'Buttons(90).AddWall GetTex("Button90"), (ShaftLeft - 0.17), -27.85 + (15 * 3) - 1.6, (ShaftLeft - 0.17), -27.55 + (15 * 3) - 1.6, 0.3, (Elevator(Number).GetPosition.y + 12) - 2.5, -1, 1
+    
+    'Buttons(81).AddWall GetTex("Button81"), (ShaftLeft - 0.17), -27.85 + (15 * 3), (ShaftLeft - 0.17), -27.55 + (15 * 3), 0.3, (Elevator(Number).GetPosition.y + 12) - 3, -1, 1
+    Buttons(88).AddWall GetTex("Button88"), (ShaftLeft - 0.17), -27.85 + (15 * 3) - 0.4, (ShaftLeft - 0.17), -27.55 + (15 * 3) - 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 3, -1, 1
+    'Buttons(87).AddWall GetTex("Button87"), (ShaftLeft - 0.17), -27.85 + (15 * 3) - 0.8, (ShaftLeft - 0.17), -27.55 + (15 * 3) - 0.8, 0.3, (Elevator(Number).GetPosition.y + 12) - 3, -1, 1
+    Buttons(89).AddWall GetTex("Button89"), (ShaftLeft - 0.17), -27.85 + (15 * 3) - 1.2, (ShaftLeft - 0.17), -27.55 + (15 * 3) - 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 3, -1, 1
+    'Buttons(85).AddWall GetTex("Button85"), (ShaftLeft - 0.17), -27.85 + (15 * 3) - 1.6, (ShaftLeft - 0.17), -27.55 + (15 * 3) - 1.6, 0.3, (Elevator(Number).GetPosition.y + 12) - 3, -1, 1
+    
+    'Buttons(90).AddWall GetTex("Button90"), (ShaftLeft - 0.17), -27.85 + (15 * 3), (ShaftLeft - 0.17), -27.55 + (15 * 3), 0.3, (Elevator(Number).GetPosition.y + 12) - 3.5, -1, 1
+    Buttons(86).AddWall GetTex("Button86"), (ShaftLeft - 0.17), -27.85 + (15 * 3) - 0.4, (ShaftLeft - 0.17), -27.55 + (15 * 3) - 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 3.5, -1, 1
+    'Buttons(84).AddWall GetTex("Button84"), (ShaftLeft - 0.17), -27.85 + (15 * 3) - 0.8, (ShaftLeft - 0.17), -27.55 + (15 * 3) - 0.8, 0.3, (Elevator(Number).GetPosition.y + 12) - 3.5, -1, 1
+    Buttons(87).AddWall GetTex("Button87"), (ShaftLeft - 0.17), -27.85 + (15 * 3) - 1.2, (ShaftLeft - 0.17), -27.55 + (15 * 3) - 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 3.5, -1, 1
+    'Buttons(94).AddWall GetTex("Button94"), (ShaftLeft - 0.17), -27.85 + (15 * 3) - 1.6, (ShaftLeft - 0.17), -27.55 + (15 * 3) - 1.6, 0.3, (Elevator(Number).GetPosition.y + 12) - 3.5, -1, 1
+    
+    'Buttons(81).AddWall GetTex("Button85"), (ShaftLeft - 0.17), -27.85 + (15 * 3), (ShaftLeft - 0.17), -27.55 + (15 * 3), 0.3, (Elevator(Number).GetPosition.y + 12) - 4, -1, 1
+    Buttons(84).AddWall GetTex("Button84"), (ShaftLeft - 0.17), -27.85 + (15 * 3) - 0.4, (ShaftLeft - 0.17), -27.55 + (15 * 3) - 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 4, -1, 1
+    'Buttons(81).AddWall GetTex("Button81"), (ShaftLeft - 0.17), -27.85 + (15 * 3) - 0.8, (ShaftLeft - 0.17), -27.55 + (15 * 3) - 0.8, 0.3, (Elevator(Number).GetPosition.y + 12) - 4, -1, 1
+    Buttons(85).AddWall GetTex("Button85"), (ShaftLeft - 0.17), -27.85 + (15 * 3) - 1.2, (ShaftLeft - 0.17), -27.55 + (15 * 3) - 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 4, -1, 1
+    'Buttons(89).AddWall GetTex("Button89"), (ShaftLeft - 0.17), -27.85 + (15 * 3) - 1.6, (ShaftLeft - 0.17), -27.55 + (15 * 3) - 1.6, 0.3, (Elevator(Number).GetPosition.y + 12) - 4, -1, 1
+    
+    'Buttons(80).AddWall GetTex("Button80"), (ShaftLeft - 0.17), -27.85 + (15 * 3), (ShaftLeft - 0.17), -27.55 + (15 * 3), 0.3, (Elevator(Number).GetPosition.y + 12) - 4.5, -1, 1
+    Buttons(82).AddWall GetTex("Button82"), (ShaftLeft - 0.17), -27.85 + (15 * 3) - 0.4, (ShaftLeft - 0.17), -27.55 + (15 * 3) - 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 4.5, -1, 1
+    'Buttons(-1).AddWall GetTex("ButtonL"), (ShaftLeft - 0.17), -27.85 + (15 * 3) - 0.8, (ShaftLeft - 0.17), -27.55 + (15 * 3) - 0.8, 0.3, (Elevator(Number).GetPosition.y + 12) - 4.5, -1, 1
+    Buttons(83).AddWall GetTex("Button83"), (ShaftLeft - 0.17), -27.85 + (15 * 3) - 1.2, (ShaftLeft - 0.17), -27.55 + (15 * 3) - 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 4.5, -1, 1
+    'Buttons(84).AddWall GetTex("Button84"), (ShaftLeft - 0.17), -27.85 + (15 * 3) - 1.6, (ShaftLeft - 0.17), -27.55 + (15 * 3) - 1.6, 0.3, (Elevator(Number).GetPosition.y + 12) - 4.5, -1, 1
+    
+    'Buttons(2).AddWall GetTex("Button2"), (ShaftLeft - 0.17), -27.85 + (15 * 3), (ShaftLeft - 0.17), -27.55 + (15 * 3), 0.3, (Elevator(Number).GetPosition.y + 12) - 5, -1, 1
+    Buttons(80).AddWall GetTex("Button80"), (ShaftLeft - 0.17), -27.85 + (15 * 3) - 0.4, (ShaftLeft - 0.17), -27.55 + (15 * 3) - 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 5, -1, 1
+    'Buttons(-1).AddWall GetTex("ButtonL"), (ShaftLeft - 0.17), -27.85 + (15 * 3) - 0.8, (ShaftLeft - 0.17), -27.55 + (15 * 3) - 0.8, 0.3, (Elevator(Number).GetPosition.y + 12) - 5, -1, 1
+    Buttons(81).AddWall GetTex("Button81"), (ShaftLeft - 0.17), -27.85 + (15 * 3) - 1.2, (ShaftLeft - 0.17), -27.55 + (15 * 3) - 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 5, -1, 1
+    'Buttons(79).AddWall GetTex("Button79"), (ShaftLeft - 0.17), -27.85 + (15 * 3) - 1.6, (ShaftLeft - 0.17), -27.55 + (15 * 3) - 1.6, 0.3, (Elevator(Number).GetPosition.y + 12) - 5, -1, 1
+    
+    Buttons(139).AddWall GetTex("ButtonOpen"), (ShaftLeft - 0.17), -27.85 + (15 * 3), (ShaftLeft - 0.17), -27.55 + (15 * 3), 0.3, (Elevator(Number).GetPosition.Y + 12) - 5.5, -1, 1
+    Buttons(140).AddWall GetTex("ButtonClose"), (ShaftLeft - 0.17), -27.85 + (15 * 3) - 0.4, (ShaftLeft - 0.17), -27.55 + (15 * 3) - 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 5.5, -1, 1
+    Buttons(141).AddWall GetTex("ButtonCancel"), (ShaftLeft - 0.17), -27.85 + (15 * 3) - 0.8, (ShaftLeft - 0.17), -27.55 + (15 * 3) - 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 5.5, -1, 1
+    Buttons(142).AddWall GetTex("ButtonStop"), (ShaftLeft - 0.17), -27.85 + (15 * 3) - 1.2, (ShaftLeft - 0.17), -27.55 + (15 * 3) - 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 5.5, -1, 1
+    Buttons(143).AddWall GetTex("ButtonAlarm"), (ShaftLeft - 0.17), -27.85 + (15 * 3) - 1.6, (ShaftLeft - 0.17), -27.55 + (15 * 3) - 1.6, 0.3, (Elevator(Number).GetPosition.Y + 12) - 5.5, -1, 1
+
+End If
+
+'Elevator 9
+If Number = 19 Then
+
+'Buttons(96).AddWall GetTex("Button96"), -(ShaftLeft - 0.17), -18.45 + (15 * 4), -(ShaftLeft - 0.17), -18.15 + (15 * 4), 0.3, (Elevator(Number).GetPosition.y + 12), 1, 1
+    'Buttons(97).AddWall GetTex("Button97"), -(ShaftLeft - 0.17), -18.45 + (15 * 4) + 0.4, -(ShaftLeft - 0.17), -18.15 + (15 * 4) + 0.4, 0.3, (Elevator(Number).GetPosition.y + 12), 1, 1
+    'Buttons(98).AddWall GetTex("Button98"), -(ShaftLeft - 0.17), -18.45 + (15 * 4) + 0.8, -(ShaftLeft - 0.17), -18.15 + (15 * 4) + 0.8, 0.3, (Elevator(Number).GetPosition.y + 12), 1, 1
+    'Buttons(99).AddWall GetTex("Button99"), -(ShaftLeft - 0.17), -18.45 + (15 * 4) + 1.2, -(ShaftLeft - 0.17), -18.15 + (15 * 4) + 1.2, 0.3, (Elevator(Number).GetPosition.y + 12), 1, 1
+    'Buttons(134).AddWall GetTex("Button134"), -(ShaftLeft - 0.17), -18.45 + (15 * 4) + 1.6, -(ShaftLeft - 0.17), -18.15 + (15 * 4) + 1.6, 0.3, (Elevator(Number).GetPosition.y + 12), 1, 1
+    
+    'Buttons(130).AddWall GetTex("Button130"), -(ShaftLeft - 0.17), -18.45 + (15 * 4), -(ShaftLeft - 0.17), -18.15 + (15 * 4), 0.3, (Elevator(Number).GetPosition.y + 12) - 0.5, 1, 1
+    Buttons(98).AddWall GetTex("Button98"), -(ShaftLeft - 0.17), -18.45 + (15 * 4) + 0.4, -(ShaftLeft - 0.17), -18.15 + (15 * 4) + 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 0.5, 1, 1
+    'Buttons(99).AddWall GetTex("Button99"), -(ShaftLeft - 0.17), -18.45 + (15 * 4) + 0.8, -(ShaftLeft - 0.17), -18.15 + (15 * 4) + 0.8, 0.3, (Elevator(Number).GetPosition.y + 12) - 0.5, 1, 1
+    Buttons(99).AddWall GetTex("Button99"), -(ShaftLeft - 0.17), -18.45 + (15 * 4) + 1.2, -(ShaftLeft - 0.17), -18.15 + (15 * 4) + 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 0.5, 1, 1
+    'Buttons(134).AddWall GetTex("Button134"), -(ShaftLeft - 0.17), -18.45 + (15 * 4) + 1.6, -(ShaftLeft - 0.17), -18.15 + (15 * 4) + 1.6, 0.3, (Elevator(Number).GetPosition.y + 12) - 0.5, 1, 1
+    
+    'Buttons(91).AddWall GetTex("Button91"), -(ShaftLeft - 0.17), -18.45 + (15 * 4), -(ShaftLeft - 0.17), -18.15 + (15 * 4), 0.3, (Elevator(Number).GetPosition.y + 12) - 1, 1, 1
+    Buttons(96).AddWall GetTex("Button96"), -(ShaftLeft - 0.17), -18.45 + (15 * 4) + 0.4, -(ShaftLeft - 0.17), -18.15 + (15 * 4) + 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 1, 1, 1
+    'Buttons(99).AddWall GetTex("Button99"), -(ShaftLeft - 0.17), -18.45 + (15 * 4) + 0.8, -(ShaftLeft - 0.17), -18.15 + (15 * 4) + 0.8, 0.3, (Elevator(Number).GetPosition.y + 12) - 1, 1, 1
+    Buttons(97).AddWall GetTex("Button97"), -(ShaftLeft - 0.17), -18.45 + (15 * 4) + 1.2, -(ShaftLeft - 0.17), -18.15 + (15 * 4) + 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 1, 1, 1
+    'Buttons(95).AddWall GetTex("Button95"), -(ShaftLeft - 0.17), -18.45 + (15 * 4) + 1.6, -(ShaftLeft - 0.17), -18.15 + (15 * 4) + 1.6, 0.3, (Elevator(Number).GetPosition.y + 12) - 1, 1, 1
+    
+    'Buttons(96).AddWall GetTex("Button96"), -(ShaftLeft - 0.17), -18.45 + (15 * 4), -(ShaftLeft - 0.17), -18.15 + (15 * 4), 0.3, (Elevator(Number).GetPosition.y + 12) - 1.5, 1, 1
+    Buttons(94).AddWall GetTex("Button94"), -(ShaftLeft - 0.17), -18.45 + (15 * 4) + 0.4, -(ShaftLeft - 0.17), -18.15 + (15 * 4) + 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 1.5, 1, 1
+    'Buttons(96).AddWall GetTex("Button96"), -(ShaftLeft - 0.17), -18.45 + (15 * 4) + 0.8, -(ShaftLeft - 0.17), -18.15 + (15 * 4) + 0.8, 0.3, (Elevator(Number).GetPosition.y + 12) - 1.5, 1, 1
+    Buttons(95).AddWall GetTex("Button95"), -(ShaftLeft - 0.17), -18.45 + (15 * 4) + 1.2, -(ShaftLeft - 0.17), -18.15 + (15 * 4) + 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 1.5, 1, 1
+    'Buttons(134).AddWall GetTex("Button134"), -(ShaftLeft - 0.17), -18.45 + (15 * 4) + 1.6, -(ShaftLeft - 0.17), -18.15 + (15 * 4) + 1.6, 0.3, (Elevator(Number).GetPosition.y + 12) - 1.5, 1, 1
+    
+    'Buttons(91).AddWall GetTex("Button91"), -(ShaftLeft - 0.17), -18.45 + (15 * 4), -(ShaftLeft - 0.17), -18.15 + (15 * 4), 0.3, (Elevator(Number).GetPosition.y + 12) - 2, 1, 1
+    Buttons(92).AddWall GetTex("Button92"), -(ShaftLeft - 0.17), -18.45 + (15 * 4) + 0.4, -(ShaftLeft - 0.17), -18.15 + (15 * 4) + 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 2, 1, 1
+    'Buttons(93).AddWall GetTex("Button93"), -(ShaftLeft - 0.17), -18.45 + (15 * 4) + 0.8, -(ShaftLeft - 0.17), -18.15 + (15 * 4) + 0.8, 0.3, (Elevator(Number).GetPosition.y + 12) - 2, 1, 1
+    Buttons(93).AddWall GetTex("Button93"), -(ShaftLeft - 0.17), -18.45 + (15 * 4) + 1.2, -(ShaftLeft - 0.17), -18.15 + (15 * 4) + 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 2, 1, 1
+    'Buttons(95).AddWall GetTex("Button95"), -(ShaftLeft - 0.17), -18.45 + (15 * 4) + 1.6, -(ShaftLeft - 0.17), -18.15 + (15 * 4) + 1.6, 0.3, (Elevator(Number).GetPosition.y + 12) - 2, 1, 1
+    
+    'Buttons(86).AddWall GetTex("Button86"), -(ShaftLeft - 0.17), -18.45 + (15 * 4), -(ShaftLeft - 0.17), -18.15 + (15 * 4), 0.3, (Elevator(Number).GetPosition.y + 12) - 2.5, 1, 1
+    Buttons(90).AddWall GetTex("Button90"), -(ShaftLeft - 0.17), -18.45 + (15 * 4) + 0.4, -(ShaftLeft - 0.17), -18.15 + (15 * 4) + 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 2.5, 1, 1
+    'Buttons(90).AddWall GetTex("Button90"), -(ShaftLeft - 0.17), -18.45 + (15 * 4) + 0.8, -(ShaftLeft - 0.17), -18.15 + (15 * 4) + 0.8, 0.3, (Elevator(Number).GetPosition.y + 12) - 2.5, 1, 1
+    Buttons(91).AddWall GetTex("Button91"), -(ShaftLeft - 0.17), -18.45 + (15 * 4) + 1.2, -(ShaftLeft - 0.17), -18.15 + (15 * 4) + 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 2.5, 1, 1
+    'Buttons(90).AddWall GetTex("Button90"), -(ShaftLeft - 0.17), -18.45 + (15 * 4) + 1.6, -(ShaftLeft - 0.17), -18.15 + (15 * 4) + 1.6, 0.3, (Elevator(Number).GetPosition.y + 12) - 2.5, 1, 1
+    
+    'Buttons(81).AddWall GetTex("Button81"), -(ShaftLeft - 0.17), -18.45 + (15 * 4), -(ShaftLeft - 0.17), -18.15 + (15 * 4), 0.3, (Elevator(Number).GetPosition.y + 12) - 3, 1, 1
+    Buttons(88).AddWall GetTex("Button88"), -(ShaftLeft - 0.17), -18.45 + (15 * 4) + 0.4, -(ShaftLeft - 0.17), -18.15 + (15 * 4) + 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 3, 1, 1
+    'Buttons(87).AddWall GetTex("Button87"), -(ShaftLeft - 0.17), -18.45 + (15 * 4) + 0.8, -(ShaftLeft - 0.17), -18.15 + (15 * 4) + 0.8, 0.3, (Elevator(Number).GetPosition.y + 12) - 3, 1, 1
+    Buttons(89).AddWall GetTex("Button89"), -(ShaftLeft - 0.17), -18.45 + (15 * 4) + 1.2, -(ShaftLeft - 0.17), -18.15 + (15 * 4) + 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 3, 1, 1
+    'Buttons(85).AddWall GetTex("Button85"), -(ShaftLeft - 0.17), -18.45 + (15 * 4) + 1.6, -(ShaftLeft - 0.17), -18.15 + (15 * 4) + 1.6, 0.3, (Elevator(Number).GetPosition.y + 12) - 3, 1, 1
+    
+    'Buttons(90).AddWall GetTex("Button90"), -(ShaftLeft - 0.17), -18.45 + (15 * 4), -(ShaftLeft - 0.17), -18.15 + (15 * 4), 0.3, (Elevator(Number).GetPosition.y + 12) - 3.5, 1, 1
+    Buttons(86).AddWall GetTex("Button86"), -(ShaftLeft - 0.17), -18.45 + (15 * 4) + 0.4, -(ShaftLeft - 0.17), -18.15 + (15 * 4) + 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 3.5, 1, 1
+    'Buttons(84).AddWall GetTex("Button84"), -(ShaftLeft - 0.17), -18.45 + (15 * 4) + 0.8, -(ShaftLeft - 0.17), -18.15 + (15 * 4) + 0.8, 0.3, (Elevator(Number).GetPosition.y + 12) - 3.5, 1, 1
+    Buttons(87).AddWall GetTex("Button87"), -(ShaftLeft - 0.17), -18.45 + (15 * 4) + 1.2, -(ShaftLeft - 0.17), -18.15 + (15 * 4) + 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 3.5, 1, 1
+    'Buttons(94).AddWall GetTex("Button94"), -(ShaftLeft - 0.17), -18.45 + (15 * 4) + 1.6, -(ShaftLeft - 0.17), -18.15 + (15 * 4) + 1.6, 0.3, (Elevator(Number).GetPosition.y + 12) - 3.5, 1, 1
+    
+    'Buttons(81).AddWall GetTex("Button85"), -(ShaftLeft - 0.17), -18.45 + (15 * 4), -(ShaftLeft - 0.17), -18.15 + (15 * 4), 0.3, (Elevator(Number).GetPosition.y + 12) - 4, 1, 1
+    Buttons(84).AddWall GetTex("Button84"), -(ShaftLeft - 0.17), -18.45 + (15 * 4) + 0.4, -(ShaftLeft - 0.17), -18.15 + (15 * 4) + 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 4, 1, 1
+    'Buttons(81).AddWall GetTex("Button81"), -(ShaftLeft - 0.17), -18.45 + (15 * 4) + 0.8, -(ShaftLeft - 0.17), -18.15 + (15 * 4) + 0.8, 0.3, (Elevator(Number).GetPosition.y + 12) - 4, 1, 1
+    Buttons(85).AddWall GetTex("Button85"), -(ShaftLeft - 0.17), -18.45 + (15 * 4) + 1.2, -(ShaftLeft - 0.17), -18.15 + (15 * 4) + 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 4, 1, 1
+    'Buttons(89).AddWall GetTex("Button89"), -(ShaftLeft - 0.17), -18.45 + (15 * 4) + 1.6, -(ShaftLeft - 0.17), -18.15 + (15 * 4) + 1.6, 0.3, (Elevator(Number).GetPosition.y + 12) - 4, 1, 1
+    
+    'Buttons(80).AddWall GetTex("Button80"), -(ShaftLeft - 0.17), -18.45 + (15 * 4), -(ShaftLeft - 0.17), -18.15 + (15 * 4), 0.3, (Elevator(Number).GetPosition.y + 12) - 4.5, 1, 1
+    Buttons(82).AddWall GetTex("Button82"), -(ShaftLeft - 0.17), -18.45 + (15 * 4) + 0.4, -(ShaftLeft - 0.17), -18.15 + (15 * 4) + 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 4.5, 1, 1
+    'Buttons(-1).AddWall GetTex("ButtonL"), -(ShaftLeft - 0.17), -18.45 + (15 * 4) + 0.8, -(ShaftLeft - 0.17), -18.15 + (15 * 4) + 0.8, 0.3, (Elevator(Number).GetPosition.y + 12) - 4.5, 1, 1
+    Buttons(83).AddWall GetTex("Button83"), -(ShaftLeft - 0.17), -18.45 + (15 * 4) + 1.2, -(ShaftLeft - 0.17), -18.15 + (15 * 4) + 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 4.5, 1, 1
+    'Buttons(84).AddWall GetTex("Button84"), -(ShaftLeft - 0.17), -18.45 + (15 * 4) + 1.6, -(ShaftLeft - 0.17), -18.15 + (15 * 4) + 1.6, 0.3, (Elevator(Number).GetPosition.y + 12) - 4.5, 1, 1
+    
+    'Buttons(2).AddWall GetTex("Button2"), -(ShaftLeft - 0.17), -18.45 + (15 * 4), -(ShaftLeft - 0.17), -18.15 + (15 * 4), 0.3, (Elevator(Number).GetPosition.y + 12) - 5, 1, 1
+    Buttons(80).AddWall GetTex("Button80"), -(ShaftLeft - 0.17), -18.45 + (15 * 4) + 0.4, -(ShaftLeft - 0.17), -18.15 + (15 * 4) + 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 5, 1, 1
+    'Buttons(-1).AddWall GetTex("ButtonL"), -(ShaftLeft - 0.17), -18.45 + (15 * 4) + 0.8, -(ShaftLeft - 0.17), -18.15 + (15 * 4) + 0.8, 0.3, (Elevator(Number).GetPosition.y + 12) - 5, 1, 1
+    Buttons(81).AddWall GetTex("Button81"), -(ShaftLeft - 0.17), -18.45 + (15 * 4) + 1.2, -(ShaftLeft - 0.17), -18.15 + (15 * 4) + 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 5, 1, 1
+    'Buttons(79).AddWall GetTex("Button79"), -(ShaftLeft - 0.17), -18.45 + (15 * 4) + 1.6, -(ShaftLeft - 0.17), -18.15 + (15 * 4) + 1.6, 0.3, (Elevator(Number).GetPosition.y + 12) - 5, 1, 1
+    
+    Buttons(139).AddWall GetTex("ButtonOpen"), -(ShaftLeft - 0.17), -18.45 + (15 * 4), -(ShaftLeft - 0.17), -18.15 + (15 * 4), 0.3, (Elevator(Number).GetPosition.Y + 12) - 5.5, 1, 1
+    Buttons(140).AddWall GetTex("ButtonClose"), -(ShaftLeft - 0.17), -18.45 + (15 * 4) + 0.4, -(ShaftLeft - 0.17), -18.15 + (15 * 4) + 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 5.5, 1, 1
+    Buttons(141).AddWall GetTex("ButtonCancel"), -(ShaftLeft - 0.17), -18.45 + (15 * 4) + 0.8, -(ShaftLeft - 0.17), -18.15 + (15 * 4) + 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 5.5, 1, 1
+    Buttons(142).AddWall GetTex("ButtonStop"), -(ShaftLeft - 0.17), -18.45 + (15 * 4) + 1.2, -(ShaftLeft - 0.17), -18.15 + (15 * 4) + 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 5.5, 1, 1
+    Buttons(143).AddWall GetTex("ButtonAlarm"), -(ShaftLeft - 0.17), -18.45 + (15 * 4) + 1.6, -(ShaftLeft - 0.17), -18.15 + (15 * 4) + 1.6, 0.3, (Elevator(Number).GetPosition.Y + 12) - 5.5, 1, 1
+
+End If
+
+'Elevator 10
+If Number = 20 Then
+
+'Buttons(96).AddWall GetTex("Button96"), (ShaftLeft - 0.17), -27.85 + (15 * 4), (ShaftLeft - 0.17), -27.55 + (15 * 4), 0.3, (Elevator(Number).GetPosition.y + 12), -1, 1
+    'Buttons(97).AddWall GetTex("Button97"), (ShaftLeft - 0.17), -27.85 + (15 * 4) - 0.4, (ShaftLeft - 0.17), -27.55 + (15 * 4) - 0.4, 0.3, (Elevator(Number).GetPosition.y + 12), -1, 1
+    'Buttons(98).AddWall GetTex("Button98"), (ShaftLeft - 0.17), -27.85 + (15 * 4) - 0.8, (ShaftLeft - 0.17), -27.55 + (15 * 4) - 0.8, 0.3, (Elevator(Number).GetPosition.y + 12), -1, 1
+    'Buttons(99).AddWall GetTex("Button99"), (ShaftLeft - 0.17), -27.85 + (15 * 4) - 1.2, (ShaftLeft - 0.17), -27.55 + (15 * 4) - 1.2, 0.3, (Elevator(Number).GetPosition.y + 12), -1, 1
+    'Buttons(134).AddWall GetTex("Button134"), (ShaftLeft - 0.17), -27.85 + (15 * 4) - 1.6, (ShaftLeft - 0.17), -27.55 + (15 * 4) - 1.6, 0.3, (Elevator(Number).GetPosition.y + 12), -1, 1
+    
+    'Buttons(130).AddWall GetTex("Button130"), (ShaftLeft - 0.17), -27.85 + (15 * 4), (ShaftLeft - 0.17), -27.55 + (15 * 4), 0.3, (Elevator(Number).GetPosition.y + 12) - 0.5, -1, 1
+    Buttons(98).AddWall GetTex("Button98"), (ShaftLeft - 0.17), -27.85 + (15 * 4) - 0.4, (ShaftLeft - 0.17), -27.55 + (15 * 4) - 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 0.5, -1, 1
+    'Buttons(99).AddWall GetTex("Button99"), (ShaftLeft - 0.17), -27.85 + (15 * 4) - 0.8, (ShaftLeft - 0.17), -27.55 + (15 * 4) - 0.8, 0.3, (Elevator(Number).GetPosition.y + 12) - 0.5, -1, 1
+    Buttons(99).AddWall GetTex("Button99"), (ShaftLeft - 0.17), -27.85 + (15 * 4) - 1.2, (ShaftLeft - 0.17), -27.55 + (15 * 4) - 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 0.5, -1, 1
+    'Buttons(134).AddWall GetTex("Button134"), (ShaftLeft - 0.17), -27.85 + (15 * 4) - 1.6, (ShaftLeft - 0.17), -27.55 + (15 * 4) - 1.6, 0.3, (Elevator(Number).GetPosition.y + 12) - 0.5, -1, 1
+    
+    'Buttons(91).AddWall GetTex("Button91"), (ShaftLeft - 0.17), -27.85 + (15 * 4), (ShaftLeft - 0.17), -27.55 + (15 * 4), 0.3, (Elevator(Number).GetPosition.y + 12) - 1, -1, 1
+    Buttons(96).AddWall GetTex("Button96"), (ShaftLeft - 0.17), -27.85 + (15 * 4) - 0.4, (ShaftLeft - 0.17), -27.55 + (15 * 4) - 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 1, -1, 1
+    'Buttons(99).AddWall GetTex("Button99"), (ShaftLeft - 0.17), -27.85 + (15 * 4) - 0.8, (ShaftLeft - 0.17), -27.55 + (15 * 4) - 0.8, 0.3, (Elevator(Number).GetPosition.y + 12) - 1, -1, 1
+    Buttons(97).AddWall GetTex("Button97"), (ShaftLeft - 0.17), -27.85 + (15 * 4) - 1.2, (ShaftLeft - 0.17), -27.55 + (15 * 4) - 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 1, -1, 1
+    'Buttons(95).AddWall GetTex("Button95"), (ShaftLeft - 0.17), -27.85 + (15 * 4) - 1.6, (ShaftLeft - 0.17), -27.55 + (15 * 4) - 1.6, 0.3, (Elevator(Number).GetPosition.y + 12) - 1, -1, 1
+    
+    'Buttons(96).AddWall GetTex("Button96"), (ShaftLeft - 0.17), -27.85 + (15 * 4), (ShaftLeft - 0.17), -27.55 + (15 * 4), 0.3, (Elevator(Number).GetPosition.y + 12) - 1.5, -1, 1
+    Buttons(94).AddWall GetTex("Button94"), (ShaftLeft - 0.17), -27.85 + (15 * 4) - 0.4, (ShaftLeft - 0.17), -27.55 + (15 * 4) - 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 1.5, -1, 1
+    'Buttons(96).AddWall GetTex("Button96"), (ShaftLeft - 0.17), -27.85 + (15 * 4) - 0.8, (ShaftLeft - 0.17), -27.55 + (15 * 4) - 0.8, 0.3, (Elevator(Number).GetPosition.y + 12) - 1.5, -1, 1
+    Buttons(95).AddWall GetTex("Button95"), (ShaftLeft - 0.17), -27.85 + (15 * 4) - 1.2, (ShaftLeft - 0.17), -27.55 + (15 * 4) - 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 1.5, -1, 1
+    'Buttons(134).AddWall GetTex("Button134"), (ShaftLeft - 0.17), -27.85 + (15 * 4) - 1.6, (ShaftLeft - 0.17), -27.55 + (15 * 4) - 1.6, 0.3, (Elevator(Number).GetPosition.y + 12) - 1.5, -1, 1
+    
+    'Buttons(91).AddWall GetTex("Button91"), (ShaftLeft - 0.17), -27.85 + (15 * 4), (ShaftLeft - 0.17), -27.55 + (15 * 4), 0.3, (Elevator(Number).GetPosition.y + 12) - 2, -1, 1
+    Buttons(92).AddWall GetTex("Button92"), (ShaftLeft - 0.17), -27.85 + (15 * 4) - 0.4, (ShaftLeft - 0.17), -27.55 + (15 * 4) - 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 2, -1, 1
+    'Buttons(93).AddWall GetTex("Button93"), (ShaftLeft - 0.17), -27.85 + (15 * 4) - 0.8, (ShaftLeft - 0.17), -27.55 + (15 * 4) - 0.8, 0.3, (Elevator(Number).GetPosition.y + 12) - 2, -1, 1
+    Buttons(93).AddWall GetTex("Button93"), (ShaftLeft - 0.17), -27.85 + (15 * 4) - 1.2, (ShaftLeft - 0.17), -27.55 + (15 * 4) - 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 2, -1, 1
+    'Buttons(95).AddWall GetTex("Button95"), (ShaftLeft - 0.17), -27.85 + (15 * 4) - 1.6, (ShaftLeft - 0.17), -27.55 + (15 * 4) - 1.6, 0.3, (Elevator(Number).GetPosition.y + 12) - 2, -1, 1
+    
+    'Buttons(86).AddWall GetTex("Button86"), (ShaftLeft - 0.17), -27.85 + (15 * 4), (ShaftLeft - 0.17), -27.55 + (15 * 4), 0.3, (Elevator(Number).GetPosition.y + 12) - 2.5, -1, 1
+    Buttons(90).AddWall GetTex("Button90"), (ShaftLeft - 0.17), -27.85 + (15 * 4) - 0.4, (ShaftLeft - 0.17), -27.55 + (15 * 4) - 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 2.5, -1, 1
+    'Buttons(90).AddWall GetTex("Button90"), (ShaftLeft - 0.17), -27.85 + (15 * 4) - 0.8, (ShaftLeft - 0.17), -27.55 + (15 * 4) - 0.8, 0.3, (Elevator(Number).GetPosition.y + 12) - 2.5, -1, 1
+    Buttons(91).AddWall GetTex("Button91"), (ShaftLeft - 0.17), -27.85 + (15 * 4) - 1.2, (ShaftLeft - 0.17), -27.55 + (15 * 4) - 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 2.5, -1, 1
+    'Buttons(90).AddWall GetTex("Button90"), (ShaftLeft - 0.17), -27.85 + (15 * 4) - 1.6, (ShaftLeft - 0.17), -27.55 + (15 * 4) - 1.6, 0.3, (Elevator(Number).GetPosition.y + 12) - 2.5, -1, 1
+    
+    'Buttons(81).AddWall GetTex("Button81"), (ShaftLeft - 0.17), -27.85 + (15 * 4), (ShaftLeft - 0.17), -27.55 + (15 * 4), 0.3, (Elevator(Number).GetPosition.y + 12) - 3, -1, 1
+    Buttons(88).AddWall GetTex("Button88"), (ShaftLeft - 0.17), -27.85 + (15 * 4) - 0.4, (ShaftLeft - 0.17), -27.55 + (15 * 4) - 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 3, -1, 1
+    'Buttons(87).AddWall GetTex("Button87"), (ShaftLeft - 0.17), -27.85 + (15 * 4) - 0.8, (ShaftLeft - 0.17), -27.55 + (15 * 4) - 0.8, 0.3, (Elevator(Number).GetPosition.y + 12) - 3, -1, 1
+    Buttons(89).AddWall GetTex("Button89"), (ShaftLeft - 0.17), -27.85 + (15 * 4) - 1.2, (ShaftLeft - 0.17), -27.55 + (15 * 4) - 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 3, -1, 1
+    'Buttons(85).AddWall GetTex("Button85"), (ShaftLeft - 0.17), -27.85 + (15 * 4) - 1.6, (ShaftLeft - 0.17), -27.55 + (15 * 4) - 1.6, 0.3, (Elevator(Number).GetPosition.y + 12) - 3, -1, 1
+    
+    'Buttons(90).AddWall GetTex("Button90"), (ShaftLeft - 0.17), -27.85 + (15 * 4), (ShaftLeft - 0.17), -27.55 + (15 * 4), 0.3, (Elevator(Number).GetPosition.y + 12) - 3.5, -1, 1
+    Buttons(86).AddWall GetTex("Button86"), (ShaftLeft - 0.17), -27.85 + (15 * 4) - 0.4, (ShaftLeft - 0.17), -27.55 + (15 * 4) - 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 3.5, -1, 1
+    'Buttons(84).AddWall GetTex("Button84"), (ShaftLeft - 0.17), -27.85 + (15 * 4) - 0.8, (ShaftLeft - 0.17), -27.55 + (15 * 4) - 0.8, 0.3, (Elevator(Number).GetPosition.y + 12) - 3.5, -1, 1
+    Buttons(87).AddWall GetTex("Button87"), (ShaftLeft - 0.17), -27.85 + (15 * 4) - 1.2, (ShaftLeft - 0.17), -27.55 + (15 * 4) - 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 3.5, -1, 1
+    'Buttons(94).AddWall GetTex("Button94"), (ShaftLeft - 0.17), -27.85 + (15 * 4) - 1.6, (ShaftLeft - 0.17), -27.55 + (15 * 4) - 1.6, 0.3, (Elevator(Number).GetPosition.y + 12) - 3.5, -1, 1
+    
+    'Buttons(81).AddWall GetTex("Button85"), (ShaftLeft - 0.17), -27.85 + (15 * 4), (ShaftLeft - 0.17), -27.55 + (15 * 4), 0.3, (Elevator(Number).GetPosition.y + 12) - 4, -1, 1
+    Buttons(84).AddWall GetTex("Button84"), (ShaftLeft - 0.17), -27.85 + (15 * 4) - 0.4, (ShaftLeft - 0.17), -27.55 + (15 * 4) - 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 4, -1, 1
+    'Buttons(81).AddWall GetTex("Button81"), (ShaftLeft - 0.17), -27.85 + (15 * 4) - 0.8, (ShaftLeft - 0.17), -27.55 + (15 * 4) - 0.8, 0.3, (Elevator(Number).GetPosition.y + 12) - 4, -1, 1
+    Buttons(85).AddWall GetTex("Button85"), (ShaftLeft - 0.17), -27.85 + (15 * 4) - 1.2, (ShaftLeft - 0.17), -27.55 + (15 * 4) - 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 4, -1, 1
+    'Buttons(89).AddWall GetTex("Button89"), (ShaftLeft - 0.17), -27.85 + (15 * 4) - 1.6, (ShaftLeft - 0.17), -27.55 + (15 * 4) - 1.6, 0.3, (Elevator(Number).GetPosition.y + 12) - 4, -1, 1
+    
+    'Buttons(80).AddWall GetTex("Button80"), (ShaftLeft - 0.17), -27.85 + (15 * 4), (ShaftLeft - 0.17), -27.55 + (15 * 4), 0.3, (Elevator(Number).GetPosition.y + 12) - 4.5, -1, 1
+    Buttons(82).AddWall GetTex("Button82"), (ShaftLeft - 0.17), -27.85 + (15 * 4) - 0.4, (ShaftLeft - 0.17), -27.55 + (15 * 4) - 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 4.5, -1, 1
+    'Buttons(-1).AddWall GetTex("ButtonL"), (ShaftLeft - 0.17), -27.85 + (15 * 4) - 0.8, (ShaftLeft - 0.17), -27.55 + (15 * 4) - 0.8, 0.3, (Elevator(Number).GetPosition.y + 12) - 4.5, -1, 1
+    Buttons(83).AddWall GetTex("Button83"), (ShaftLeft - 0.17), -27.85 + (15 * 4) - 1.2, (ShaftLeft - 0.17), -27.55 + (15 * 4) - 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 4.5, -1, 1
+    'Buttons(84).AddWall GetTex("Button84"), (ShaftLeft - 0.17), -27.85 + (15 * 4) - 1.6, (ShaftLeft - 0.17), -27.55 + (15 * 4) - 1.6, 0.3, (Elevator(Number).GetPosition.y + 12) - 4.5, -1, 1
+    
+    'Buttons(2).AddWall GetTex("Button2"), (ShaftLeft - 0.17), -27.85 + (15 * 4), (ShaftLeft - 0.17), -27.55 + (15 * 4), 0.3, (Elevator(Number).GetPosition.y + 12) - 5, -1, 1
+    Buttons(80).AddWall GetTex("Button80"), (ShaftLeft - 0.17), -27.85 + (15 * 4) - 0.4, (ShaftLeft - 0.17), -27.55 + (15 * 4) - 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 5, -1, 1
+    'Buttons(-1).AddWall GetTex("ButtonL"), (ShaftLeft - 0.17), -27.85 + (15 * 4) - 0.8, (ShaftLeft - 0.17), -27.55 + (15 * 4) - 0.8, 0.3, (Elevator(Number).GetPosition.y + 12) - 5, -1, 1
+    Buttons(81).AddWall GetTex("Button81"), (ShaftLeft - 0.17), -27.85 + (15 * 4) - 1.2, (ShaftLeft - 0.17), -27.55 + (15 * 4) - 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 5, -1, 1
+    'Buttons(79).AddWall GetTex("Button79"), (ShaftLeft - 0.17), -27.85 + (15 * 4) - 1.6, (ShaftLeft - 0.17), -27.55 + (15 * 4) - 1.6, 0.3, (Elevator(Number).GetPosition.y + 12) - 5, -1, 1
+    
+    Buttons(139).AddWall GetTex("ButtonOpen"), (ShaftLeft - 0.17), -27.85 + (15 * 4), (ShaftLeft - 0.17), -27.55 + (15 * 4), 0.3, (Elevator(Number).GetPosition.Y + 12) - 5.5, -1, 1
+    Buttons(140).AddWall GetTex("ButtonClose"), (ShaftLeft - 0.17), -27.85 + (15 * 4) - 0.4, (ShaftLeft - 0.17), -27.55 + (15 * 4) - 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 5.5, -1, 1
+    Buttons(141).AddWall GetTex("ButtonCancel"), (ShaftLeft - 0.17), -27.85 + (15 * 4) - 0.8, (ShaftLeft - 0.17), -27.55 + (15 * 4) - 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 5.5, -1, 1
+    Buttons(142).AddWall GetTex("ButtonStop"), (ShaftLeft - 0.17), -27.85 + (15 * 4) - 1.2, (ShaftLeft - 0.17), -27.55 + (15 * 4) - 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 5.5, -1, 1
+    Buttons(143).AddWall GetTex("ButtonAlarm"), (ShaftLeft - 0.17), -27.85 + (15 * 4) - 1.6, (ShaftLeft - 0.17), -27.55 + (15 * 4) - 1.6, 0.3, (Elevator(Number).GetPosition.Y + 12) - 5.5, -1, 1
+
+End If
+   
+End Sub
+
+Sub DrawElevatorButtons3(Number As Integer)
+'Elevator Buttons
+Dim ShaftLeft As Single
+ShaftLeft = 90.5
+    
+'Elevator 1
+If Number = 21 Then
+
+    'Buttons(135).AddWall GetTex("Button135"), -(ShaftLeft+0.17), -27.85 , -(ShaftLeft+0.17), -27.55, 0.3, (Elevator(Number).GetPosition.y + 12), -1, 1
+    'Buttons(1).AddWall GetTex("Button1"), -(ShaftLeft+0.17), -27.85 - 0.4, -(ShaftLeft+0.17), -27.55 - 0.4, 0.3, (Elevator(Number).GetPosition.y + 12), -1, 1
+    'Buttons(136).AddWall GetTex("Button136"), -(ShaftLeft+0.17), -27.85 - 0.8, -(ShaftLeft+0.17), -27.55 - 0.8, 0.3, (Elevator(Number).GetPosition.y + 12), -1, 1
+    'Buttons(137).AddWall GetTex("Button137"), -(ShaftLeft+0.17), -27.85 - 1.2, -(ShaftLeft+0.17), -27.55 - 1.2, 0.3, (Elevator(Number).GetPosition.y + 12), -1, 1
+    'Buttons(138).AddWall GetTex("ButtonR"), -(ShaftLeft+0.17), -27.85 - 1.6, -(ShaftLeft+0.17), -27.55 - 1.6, 0.3, (Elevator(Number).GetPosition.y + 12), -1, 1
+    
+    Buttons(75).AddWall GetTex("Button75"), -(ShaftLeft + 0.17), -27.85, -(ShaftLeft + 0.17), -27.5, 0.3, (Elevator(Number).GetPosition.Y + 12) - 0.5, -1, 1
+    Buttons(76).AddWall GetTex("Button76"), -(ShaftLeft + 0.17), -27.85 - 0.4, -(ShaftLeft + 0.17), -27.55 - 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 0.5, -1, 1
+    Buttons(77).AddWall GetTex("Button77"), -(ShaftLeft + 0.17), -27.85 - 0.8, -(ShaftLeft + 0.17), -27.55 - 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 0.5, -1, 1
+    Buttons(78).AddWall GetTex("Button78"), -(ShaftLeft + 0.17), -27.85 - 1.2, -(ShaftLeft + 0.17), -27.55 - 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 0.5, -1, 1
+    Buttons(79).AddWall GetTex("Button79"), -(ShaftLeft + 0.17), -27.85 - 1.6, -(ShaftLeft + 0.17), -27.55 - 1.6, 0.3, (Elevator(Number).GetPosition.Y + 12) - 0.5, -1, 1
+    
+    Buttons(70).AddWall GetTex("Button70"), -(ShaftLeft + 0.17), -27.85, -(ShaftLeft + 0.17), -27.5, 0.3, (Elevator(Number).GetPosition.Y + 12) - 1, -1, 1
+    Buttons(71).AddWall GetTex("Button71"), -(ShaftLeft + 0.17), -27.85 - 0.4, -(ShaftLeft + 0.17), -27.55 - 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 1, -1, 1
+    Buttons(72).AddWall GetTex("Button72"), -(ShaftLeft + 0.17), -27.85 - 0.8, -(ShaftLeft + 0.17), -27.55 - 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 1, -1, 1
+    Buttons(73).AddWall GetTex("Button73"), -(ShaftLeft + 0.17), -27.85 - 1.2, -(ShaftLeft + 0.17), -27.55 - 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 1, -1, 1
+    Buttons(74).AddWall GetTex("Button74"), -(ShaftLeft + 0.17), -27.85 - 1.6, -(ShaftLeft + 0.17), -27.55 - 1.6, 0.3, (Elevator(Number).GetPosition.Y + 12) - 1, -1, 1
+    
+    Buttons(65).AddWall GetTex("Button65"), -(ShaftLeft + 0.17), -27.85, -(ShaftLeft + 0.17), -27.5, 0.3, (Elevator(Number).GetPosition.Y + 12) - 1.5, -1, 1
+    Buttons(66).AddWall GetTex("Button66"), -(ShaftLeft + 0.17), -27.85 - 0.4, -(ShaftLeft + 0.17), -27.55 - 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 1.5, -1, 1
+    Buttons(67).AddWall GetTex("Button67"), -(ShaftLeft + 0.17), -27.85 - 0.8, -(ShaftLeft + 0.17), -27.55 - 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 1.5, -1, 1
+    Buttons(68).AddWall GetTex("Button68"), -(ShaftLeft + 0.17), -27.85 - 1.2, -(ShaftLeft + 0.17), -27.55 - 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 1.5, -1, 1
+    Buttons(69).AddWall GetTex("Button69"), -(ShaftLeft + 0.17), -27.85 - 1.6, -(ShaftLeft + 0.17), -27.55 - 1.6, 0.3, (Elevator(Number).GetPosition.Y + 12) - 1.5, -1, 1
+    
+    Buttons(60).AddWall GetTex("Button60"), -(ShaftLeft + 0.17), -27.85, -(ShaftLeft + 0.17), -27.5, 0.3, (Elevator(Number).GetPosition.Y + 12) - 2, -1, 1
+    Buttons(61).AddWall GetTex("Button61"), -(ShaftLeft + 0.17), -27.85 - 0.4, -(ShaftLeft + 0.17), -27.55 - 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 2, -1, 1
+    Buttons(62).AddWall GetTex("Button62"), -(ShaftLeft + 0.17), -27.85 - 0.8, -(ShaftLeft + 0.17), -27.55 - 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 2, -1, 1
+    Buttons(63).AddWall GetTex("Button63"), -(ShaftLeft + 0.17), -27.85 - 1.2, -(ShaftLeft + 0.17), -27.55 - 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 2, -1, 1
+    Buttons(64).AddWall GetTex("Button64"), -(ShaftLeft + 0.17), -27.85 - 1.6, -(ShaftLeft + 0.17), -27.55 - 1.6, 0.3, (Elevator(Number).GetPosition.Y + 12) - 2, -1, 1
+    
+    Buttons(55).AddWall GetTex("Button55"), -(ShaftLeft + 0.17), -27.85, -(ShaftLeft + 0.17), -27.5, 0.3, (Elevator(Number).GetPosition.Y + 12) - 2.5, -1, 1
+    Buttons(56).AddWall GetTex("Button56"), -(ShaftLeft + 0.17), -27.85 - 0.4, -(ShaftLeft + 0.17), -27.55 - 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 2.5, -1, 1
+    Buttons(57).AddWall GetTex("Button57"), -(ShaftLeft + 0.17), -27.85 - 0.8, -(ShaftLeft + 0.17), -27.55 - 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 2.5, -1, 1
+    Buttons(58).AddWall GetTex("Button58"), -(ShaftLeft + 0.17), -27.85 - 1.2, -(ShaftLeft + 0.17), -27.55 - 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 2.5, -1, 1
+    Buttons(59).AddWall GetTex("Button59"), -(ShaftLeft + 0.17), -27.85 - 1.6, -(ShaftLeft + 0.17), -27.55 - 1.6, 0.3, (Elevator(Number).GetPosition.Y + 12) - 2.5, -1, 1
+    
+    Buttons(50).AddWall GetTex("Button50"), -(ShaftLeft + 0.17), -27.85, -(ShaftLeft + 0.17), -27.5, 0.3, (Elevator(Number).GetPosition.Y + 12) - 3, -1, 1
+    Buttons(51).AddWall GetTex("Button51"), -(ShaftLeft + 0.17), -27.85 - 0.4, -(ShaftLeft + 0.17), -27.55 - 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 3, -1, 1
+    Buttons(52).AddWall GetTex("Button52"), -(ShaftLeft + 0.17), -27.85 - 0.8, -(ShaftLeft + 0.17), -27.55 - 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 3, -1, 1
+    Buttons(53).AddWall GetTex("Button53"), -(ShaftLeft + 0.17), -27.85 - 1.2, -(ShaftLeft + 0.17), -27.55 - 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 3, -1, 1
+    Buttons(54).AddWall GetTex("Button54"), -(ShaftLeft + 0.17), -27.85 - 1.6, -(ShaftLeft + 0.17), -27.55 - 1.6, 0.3, (Elevator(Number).GetPosition.Y + 12) - 3, -1, 1
+    
+    Buttons(45).AddWall GetTex("Button45"), -(ShaftLeft + 0.17), -27.85, -(ShaftLeft + 0.17), -27.5, 0.3, (Elevator(Number).GetPosition.Y + 12) - 3.5, -1, 1
+    Buttons(46).AddWall GetTex("Button46"), -(ShaftLeft + 0.17), -27.85 - 0.4, -(ShaftLeft + 0.17), -27.55 - 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 3.5, -1, 1
+    Buttons(47).AddWall GetTex("Button47"), -(ShaftLeft + 0.17), -27.85 - 0.8, -(ShaftLeft + 0.17), -27.55 - 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 3.5, -1, 1
+    Buttons(48).AddWall GetTex("Button48"), -(ShaftLeft + 0.17), -27.85 - 1.2, -(ShaftLeft + 0.17), -27.55 - 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 3.5, -1, 1
+    Buttons(49).AddWall GetTex("Button49"), -(ShaftLeft + 0.17), -27.85 - 1.6, -(ShaftLeft + 0.17), -27.55 - 1.6, 0.3, (Elevator(Number).GetPosition.Y + 12) - 3.5, -1, 1
+    
+    Buttons(40).AddWall GetTex("Button40"), -(ShaftLeft + 0.17), -27.85, -(ShaftLeft + 0.17), -27.5, 0.3, (Elevator(Number).GetPosition.Y + 12) - 4, -1, 1
+    Buttons(41).AddWall GetTex("Button41"), -(ShaftLeft + 0.17), -27.85 - 0.4, -(ShaftLeft + 0.17), -27.55 - 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 4, -1, 1
+    Buttons(42).AddWall GetTex("Button42"), -(ShaftLeft + 0.17), -27.85 - 0.8, -(ShaftLeft + 0.17), -27.55 - 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 4, -1, 1
+    Buttons(43).AddWall GetTex("Button43"), -(ShaftLeft + 0.17), -27.85 - 1.2, -(ShaftLeft + 0.17), -27.55 - 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 4, -1, 1
+    Buttons(44).AddWall GetTex("Button44"), -(ShaftLeft + 0.17), -27.85 - 1.6, -(ShaftLeft + 0.17), -27.55 - 1.6, 0.3, (Elevator(Number).GetPosition.Y + 12) - 4, -1, 1
+    
+    'Buttons(-1).AddWall GetTex("ButtonL"), -(ShaftLeft+0.17), -27.85 , -(ShaftLeft+0.17), -27.55, 0.3, (Elevator(Number).GetPosition.y + 12) - 4.5, -1, 1
+    'Buttons(81).AddWall GetTex("Button81"), -(ShaftLeft+0.17), -27.85 - 0.4, -(ShaftLeft+0.17), -27.55 - 0.4, 0.3, (Elevator(Number).GetPosition.y + 12) - 4.5, -1, 1
+    Buttons(-1).AddWall GetTex("ButtonL"), -(ShaftLeft + 0.17), -27.85 - 0.8, -(ShaftLeft + 0.17), -27.55 - 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 4.5, -1, 1
+    'Buttons(83).AddWall GetTex("Button83"), -(ShaftLeft+0.17), -27.85 - 1.2, -(ShaftLeft+0.17), -27.55 - 1.2, 0.3, (Elevator(Number).GetPosition.y + 12) - 4.5, -1, 1
+    'Buttons(84).AddWall GetTex("Button84"), -(ShaftLeft+0.17), -27.85 - 1.6, -(ShaftLeft+0.17), -27.55 - 1.6, 0.3, (Elevator(Number).GetPosition.y + 12) - 4.5, -1, 1
+    
+    'Buttons(2).AddWall GetTex("Button2"), -(ShaftLeft+0.17), -27.85 , -(ShaftLeft+0.17), -27.55, 0.3, (Elevator(Number).GetPosition.y + 12) - 5, -1, 1
+    'Buttons(39).AddWall GetTex("Button39"), -(ShaftLeft+0.17), -27.85 - 0.4, -(ShaftLeft+0.17), -27.55 - 0.4, 0.3, (Elevator(Number).GetPosition.y + 12) - 5, -1, 1
+    'Buttons(-1).AddWall GetTex("ButtonL"), -(ShaftLeft+0.17), -27.85 - 0.8, -(ShaftLeft+0.17), -27.55 - 0.8, 0.3, (Elevator(Number).GetPosition.y + 12) - 5, -1, 1
+    'Buttons(65).AddWall GetTex("Button65"), -(ShaftLeft+0.17), -27.85 - 1.2, -(ShaftLeft+0.17), -27.55 - 1.2, 0.3, (Elevator(Number).GetPosition.y + 12) - 5, -1, 1
+    'Buttons(79).AddWall GetTex("Button79"), -(ShaftLeft+0.17), -27.85 - 1.6, -(ShaftLeft+0.17), -27.55 - 1.6, 0.3, (Elevator(Number).GetPosition.y + 12) - 5, -1, 1
+    
+    Buttons(139).AddWall GetTex("ButtonOpen"), -(ShaftLeft + 0.17), -27.85, -(ShaftLeft + 0.17), -27.55, 0.3, (Elevator(Number).GetPosition.Y + 12) - 5.5, -1, 1
+    Buttons(140).AddWall GetTex("ButtonClose"), -(ShaftLeft + 0.17), -27.85 - 0.4, -(ShaftLeft + 0.17), -27.55 - 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 5.5, -1, 1
+    Buttons(141).AddWall GetTex("ButtonCancel"), -(ShaftLeft + 0.17), -27.85 - 0.8, -(ShaftLeft + 0.17), -27.55 - 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 5.5, -1, 1
+    Buttons(142).AddWall GetTex("ButtonStop"), -(ShaftLeft + 0.17), -27.85 - 1.2, -(ShaftLeft + 0.17), -27.55 - 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 5.5, -1, 1
+    Buttons(143).AddWall GetTex("ButtonAlarm"), -(ShaftLeft + 0.17), -27.85 - 1.6, -(ShaftLeft + 0.17), -27.55 - 1.6, 0.3, (Elevator(Number).GetPosition.Y + 12) - 5.5, -1, 1
+
+End If
+
+'Elevator 2
+If Number = 22 Then
+
+    'Buttons(135).AddWall GetTex("Button135"), (ShaftLeft+0.17), -18.45 , (ShaftLeft+0.17), -18.15 , 0.3, (Elevator(Number).GetPosition.y + 12), 1, 1
+    'Buttons(1).AddWall GetTex("Button1"), (ShaftLeft+0.17), -18.45  + 0.4, (ShaftLeft+0.17), -18.15  + 0.4, 0.3, (Elevator(Number).GetPosition.y + 12), 1, 1
+    'Buttons(136).AddWall GetTex("Button136"), (ShaftLeft+0.17), -18.45  + 0.8, (ShaftLeft+0.17), -18.15  + 0.8, 0.3, (Elevator(Number).GetPosition.y + 12), 1, 1
+    'Buttons(137).AddWall GetTex("Button137"), (ShaftLeft+0.17), -18.45  + 1.2, (ShaftLeft+0.17), -18.15  + 1.2, 0.3, (Elevator(Number).GetPosition.y + 12), 1, 1
+    'Buttons(138).AddWall GetTex("ButtonR"), (ShaftLeft+0.17), -18.45  + 1.6, (ShaftLeft+0.17), -18.15  + 1.6, 0.3, (Elevator(Number).GetPosition.y + 12), 1, 1
+    
+    Buttons(75).AddWall GetTex("Button75"), (ShaftLeft + 0.17), -18.45, (ShaftLeft + 0.17), -18.15, 0.3, (Elevator(Number).GetPosition.Y + 12) - 0.5, 1, 1
+    Buttons(76).AddWall GetTex("Button76"), (ShaftLeft + 0.17), -18.45 + 0.4, (ShaftLeft + 0.17), -18.15 + 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 0.5, 1, 1
+    Buttons(77).AddWall GetTex("Button77"), (ShaftLeft + 0.17), -18.45 + 0.8, (ShaftLeft + 0.17), -18.15 + 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 0.5, 1, 1
+    Buttons(78).AddWall GetTex("Button78"), (ShaftLeft + 0.17), -18.45 + 1.2, (ShaftLeft + 0.17), -18.15 + 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 0.5, 1, 1
+    Buttons(79).AddWall GetTex("Button79"), (ShaftLeft + 0.17), -18.45 + 1.6, (ShaftLeft + 0.17), -18.15 + 1.6, 0.3, (Elevator(Number).GetPosition.Y + 12) - 0.5, 1, 1
+    
+    Buttons(70).AddWall GetTex("Button70"), (ShaftLeft + 0.17), -18.45, (ShaftLeft + 0.17), -18.15, 0.3, (Elevator(Number).GetPosition.Y + 12) - 1, 1, 1
+    Buttons(71).AddWall GetTex("Button71"), (ShaftLeft + 0.17), -18.45 + 0.4, (ShaftLeft + 0.17), -18.15 + 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 1, 1, 1
+    Buttons(72).AddWall GetTex("Button72"), (ShaftLeft + 0.17), -18.45 + 0.8, (ShaftLeft + 0.17), -18.15 + 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 1, 1, 1
+    Buttons(73).AddWall GetTex("Button73"), (ShaftLeft + 0.17), -18.45 + 1.2, (ShaftLeft + 0.17), -18.15 + 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 1, 1, 1
+    Buttons(74).AddWall GetTex("Button74"), (ShaftLeft + 0.17), -18.45 + 1.6, (ShaftLeft + 0.17), -18.15 + 1.6, 0.3, (Elevator(Number).GetPosition.Y + 12) - 1, 1, 1
+    
+    Buttons(65).AddWall GetTex("Button65"), (ShaftLeft + 0.17), -18.45, (ShaftLeft + 0.17), -18.15, 0.3, (Elevator(Number).GetPosition.Y + 12) - 1.5, 1, 1
+    Buttons(66).AddWall GetTex("Button66"), (ShaftLeft + 0.17), -18.45 + 0.4, (ShaftLeft + 0.17), -18.15 + 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 1.5, 1, 1
+    Buttons(67).AddWall GetTex("Button67"), (ShaftLeft + 0.17), -18.45 + 0.8, (ShaftLeft + 0.17), -18.15 + 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 1.5, 1, 1
+    Buttons(68).AddWall GetTex("Button68"), (ShaftLeft + 0.17), -18.45 + 1.2, (ShaftLeft + 0.17), -18.15 + 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 1.5, 1, 1
+    Buttons(69).AddWall GetTex("Button69"), (ShaftLeft + 0.17), -18.45 + 1.6, (ShaftLeft + 0.17), -18.15 + 1.6, 0.3, (Elevator(Number).GetPosition.Y + 12) - 1.5, 1, 1
+    
+    Buttons(60).AddWall GetTex("Button60"), (ShaftLeft + 0.17), -18.45, (ShaftLeft + 0.17), -18.15, 0.3, (Elevator(Number).GetPosition.Y + 12) - 2, 1, 1
+    Buttons(61).AddWall GetTex("Button61"), (ShaftLeft + 0.17), -18.45 + 0.4, (ShaftLeft + 0.17), -18.15 + 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 2, 1, 1
+    Buttons(62).AddWall GetTex("Button62"), (ShaftLeft + 0.17), -18.45 + 0.8, (ShaftLeft + 0.17), -18.15 + 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 2, 1, 1
+    Buttons(63).AddWall GetTex("Button63"), (ShaftLeft + 0.17), -18.45 + 1.2, (ShaftLeft + 0.17), -18.15 + 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 2, 1, 1
+    Buttons(64).AddWall GetTex("Button64"), (ShaftLeft + 0.17), -18.45 + 1.6, (ShaftLeft + 0.17), -18.15 + 1.6, 0.3, (Elevator(Number).GetPosition.Y + 12) - 2, 1, 1
+    
+    Buttons(55).AddWall GetTex("Button55"), (ShaftLeft + 0.17), -18.45, (ShaftLeft + 0.17), -18.15, 0.3, (Elevator(Number).GetPosition.Y + 12) - 2.5, 1, 1
+    Buttons(56).AddWall GetTex("Button56"), (ShaftLeft + 0.17), -18.45 + 0.4, (ShaftLeft + 0.17), -18.15 + 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 2.5, 1, 1
+    Buttons(57).AddWall GetTex("Button57"), (ShaftLeft + 0.17), -18.45 + 0.8, (ShaftLeft + 0.17), -18.15 + 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 2.5, 1, 1
+    Buttons(58).AddWall GetTex("Button58"), (ShaftLeft + 0.17), -18.45 + 1.2, (ShaftLeft + 0.17), -18.15 + 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 2.5, 1, 1
+    Buttons(59).AddWall GetTex("Button59"), (ShaftLeft + 0.17), -18.45 + 1.6, (ShaftLeft + 0.17), -18.15 + 1.6, 0.3, (Elevator(Number).GetPosition.Y + 12) - 2.5, 1, 1
+    
+    Buttons(50).AddWall GetTex("Button50"), (ShaftLeft + 0.17), -18.45, (ShaftLeft + 0.17), -18.15, 0.3, (Elevator(Number).GetPosition.Y + 12) - 3, 1, 1
+    Buttons(51).AddWall GetTex("Button51"), (ShaftLeft + 0.17), -18.45 + 0.4, (ShaftLeft + 0.17), -18.15 + 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 3, 1, 1
+    Buttons(52).AddWall GetTex("Button52"), (ShaftLeft + 0.17), -18.45 + 0.8, (ShaftLeft + 0.17), -18.15 + 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 3, 1, 1
+    Buttons(53).AddWall GetTex("Button53"), (ShaftLeft + 0.17), -18.45 + 1.2, (ShaftLeft + 0.17), -18.15 + 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 3, 1, 1
+    Buttons(54).AddWall GetTex("Button54"), (ShaftLeft + 0.17), -18.45 + 1.6, (ShaftLeft + 0.17), -18.15 + 1.6, 0.3, (Elevator(Number).GetPosition.Y + 12) - 3, 1, 1
+    
+    Buttons(45).AddWall GetTex("Button45"), (ShaftLeft + 0.17), -18.45, (ShaftLeft + 0.17), -18.15, 0.3, (Elevator(Number).GetPosition.Y + 12) - 3.5, 1, 1
+    Buttons(46).AddWall GetTex("Button46"), (ShaftLeft + 0.17), -18.45 + 0.4, (ShaftLeft + 0.17), -18.15 + 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 3.5, 1, 1
+    Buttons(47).AddWall GetTex("Button47"), (ShaftLeft + 0.17), -18.45 + 0.8, (ShaftLeft + 0.17), -18.15 + 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 3.5, 1, 1
+    Buttons(48).AddWall GetTex("Button48"), (ShaftLeft + 0.17), -18.45 + 1.2, (ShaftLeft + 0.17), -18.15 + 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 3.5, 1, 1
+    Buttons(49).AddWall GetTex("Button49"), (ShaftLeft + 0.17), -18.45 + 1.6, (ShaftLeft + 0.17), -18.15 + 1.6, 0.3, (Elevator(Number).GetPosition.Y + 12) - 3.5, 1, 1
+    
+    Buttons(40).AddWall GetTex("Button40"), (ShaftLeft + 0.17), -18.45, (ShaftLeft + 0.17), -18.15, 0.3, (Elevator(Number).GetPosition.Y + 12) - 4, 1, 1
+    Buttons(41).AddWall GetTex("Button41"), (ShaftLeft + 0.17), -18.45 + 0.4, (ShaftLeft + 0.17), -18.15 + 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 4, 1, 1
+    Buttons(42).AddWall GetTex("Button42"), (ShaftLeft + 0.17), -18.45 + 0.8, (ShaftLeft + 0.17), -18.15 + 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 4, 1, 1
+    Buttons(43).AddWall GetTex("Button43"), (ShaftLeft + 0.17), -18.45 + 1.2, (ShaftLeft + 0.17), -18.15 + 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 4, 1, 1
+    Buttons(44).AddWall GetTex("Button44"), (ShaftLeft + 0.17), -18.45 + 1.6, (ShaftLeft + 0.17), -18.15 + 1.6, 0.3, (Elevator(Number).GetPosition.Y + 12) - 4, 1, 1
+    
+    'Buttons(-1).AddWall GetTex("ButtonL"), (ShaftLeft+0.17), -18.45 , (ShaftLeft+0.17), -18.15 , 0.3, (Elevator(Number).GetPosition.y + 12) - 4.5, 1, 1
+    'Buttons(81).AddWall GetTex("Button81"), (ShaftLeft+0.17), -18.45  + 0.4, (ShaftLeft+0.17), -18.15  + 0.4, 0.3, (Elevator(Number).GetPosition.y + 12) - 4.5, 1, 1
+    Buttons(-1).AddWall GetTex("ButtonL"), (ShaftLeft + 0.17), -18.45 + 0.8, (ShaftLeft + 0.17), -18.15 + 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 4.5, 1, 1
+    'Buttons(83).AddWall GetTex("Button83"), (ShaftLeft+0.17), -18.45  + 1.2, (ShaftLeft+0.17), -18.15  + 1.2, 0.3, (Elevator(Number).GetPosition.y + 12) - 4.5, 1, 1
+    'Buttons(84).AddWall GetTex("Button84"), (ShaftLeft+0.17), -18.45  + 1.6, (ShaftLeft+0.17), -18.15  + 1.6, 0.3, (Elevator(Number).GetPosition.y + 12) - 4.5, 1, 1
+    
+    'Buttons(2).AddWall GetTex("Button2"), (ShaftLeft+0.17), -18.45 , (ShaftLeft+0.17), -18.15 , 0.3, (Elevator(Number).GetPosition.y + 12) - 5, 1, 1
+    'Buttons(39).AddWall GetTex("Button39"), (ShaftLeft+0.17), -18.45  + 0.4, (ShaftLeft+0.17), -18.15  + 0.4, 0.3, (Elevator(Number).GetPosition.y + 12) - 5, 1, 1
+    'Buttons(-1).AddWall GetTex("ButtonL"), (ShaftLeft+0.17), -18.45  + 0.8, (ShaftLeft+0.17), -18.15  + 0.8, 0.3, (Elevator(Number).GetPosition.y + 12) - 5, 1, 1
+    'Buttons(65).AddWall GetTex("Button65"), (ShaftLeft+0.17), -18.45  + 1.2, (ShaftLeft+0.17), -18.15  + 1.2, 0.3, (Elevator(Number).GetPosition.y + 12) - 5, 1, 1
+    'Buttons(79).AddWall GetTex("Button79"), (ShaftLeft+0.17), -18.45  + 1.6, (ShaftLeft+0.17), -18.15  + 1.6, 0.3, (Elevator(Number).GetPosition.y + 12) - 5, 1, 1
+    
+    Buttons(139).AddWall GetTex("ButtonOpen"), (ShaftLeft + 0.17), -18.45, (ShaftLeft + 0.17), -18.15, 0.3, (Elevator(Number).GetPosition.Y + 12) - 5.5, 1, 1
+    Buttons(140).AddWall GetTex("ButtonClose"), (ShaftLeft + 0.17), -18.45 + 0.4, (ShaftLeft + 0.17), -18.15 + 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 5.5, 1, 1
+    Buttons(141).AddWall GetTex("ButtonCancel"), (ShaftLeft + 0.17), -18.45 + 0.8, (ShaftLeft + 0.17), -18.15 + 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 5.5, 1, 1
+    Buttons(142).AddWall GetTex("ButtonStop"), (ShaftLeft + 0.17), -18.45 + 1.2, (ShaftLeft + 0.17), -18.15 + 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 5.5, 1, 1
+    Buttons(143).AddWall GetTex("ButtonAlarm"), (ShaftLeft + 0.17), -18.45 + 1.6, (ShaftLeft + 0.17), -18.15 + 1.6, 0.3, (Elevator(Number).GetPosition.Y + 12) - 5.5, 1, 1
+
+End If
+
+'Elevator 3
+If Number = 23 Then
+
+    'Buttons(135).AddWall GetTex("Button135"), -(ShaftLeft+0.17), -27.85 + (15 * 1), -(ShaftLeft+0.17), -27.55 + (15 * 1), 0.3, (Elevator(Number).GetPosition.y + 12), -1, 1
+    'Buttons(1).AddWall GetTex("Button1"), -(ShaftLeft+0.17), -27.85 + (15 * 1) - 0.4, -(ShaftLeft+0.17), -27.55 + (15 * 1) - 0.4, 0.3, (Elevator(Number).GetPosition.y + 12), -1, 1
+    'Buttons(136).AddWall GetTex("Button136"), -(ShaftLeft+0.17), -27.85 + (15 * 1) - 0.8, -(ShaftLeft+0.17), -27.55 + (15 * 1) - 0.8, 0.3, (Elevator(Number).GetPosition.y + 12), -1, 1
+    'Buttons(137).AddWall GetTex("Button137"), -(ShaftLeft+0.17), -27.85 + (15 * 1) - 1.2, -(ShaftLeft+0.17), -27.55 + (15 * 1) - 1.2, 0.3, (Elevator(Number).GetPosition.y + 12), -1, 1
+    'Buttons(138).AddWall GetTex("ButtonR"), -(ShaftLeft+0.17), -27.85 + (15 * 1) - 1.6, -(ShaftLeft+0.17), -27.55 + (15 * 1) - 1.6, 0.3, (Elevator(Number).GetPosition.y + 12), -1, 1
+    
+    Buttons(75).AddWall GetTex("Button75"), -(ShaftLeft + 0.17), -27.85 + (15 * 1), -(ShaftLeft + 0.17), -27.55 + (15 * 1), 0.3, (Elevator(Number).GetPosition.Y + 12) - 0.5, -1, 1
+    Buttons(76).AddWall GetTex("Button76"), -(ShaftLeft + 0.17), -27.85 + (15 * 1) - 0.4, -(ShaftLeft + 0.17), -27.55 + (15 * 1) - 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 0.5, -1, 1
+    Buttons(77).AddWall GetTex("Button77"), -(ShaftLeft + 0.17), -27.85 + (15 * 1) - 0.8, -(ShaftLeft + 0.17), -27.55 + (15 * 1) - 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 0.5, -1, 1
+    Buttons(78).AddWall GetTex("Button78"), -(ShaftLeft + 0.17), -27.85 + (15 * 1) - 1.2, -(ShaftLeft + 0.17), -27.55 + (15 * 1) - 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 0.5, -1, 1
+    Buttons(79).AddWall GetTex("Button79"), -(ShaftLeft + 0.17), -27.85 + (15 * 1) - 1.6, -(ShaftLeft + 0.17), -27.55 + (15 * 1) - 1.6, 0.3, (Elevator(Number).GetPosition.Y + 12) - 0.5, -1, 1
+    
+    Buttons(70).AddWall GetTex("Button70"), -(ShaftLeft + 0.17), -27.85 + (15 * 1), -(ShaftLeft + 0.17), -27.55 + (15 * 1), 0.3, (Elevator(Number).GetPosition.Y + 12) - 1, -1, 1
+    Buttons(71).AddWall GetTex("Button71"), -(ShaftLeft + 0.17), -27.85 + (15 * 1) - 0.4, -(ShaftLeft + 0.17), -27.55 + (15 * 1) - 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 1, -1, 1
+    Buttons(72).AddWall GetTex("Button72"), -(ShaftLeft + 0.17), -27.85 + (15 * 1) - 0.8, -(ShaftLeft + 0.17), -27.55 + (15 * 1) - 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 1, -1, 1
+    Buttons(73).AddWall GetTex("Button73"), -(ShaftLeft + 0.17), -27.85 + (15 * 1) - 1.2, -(ShaftLeft + 0.17), -27.55 + (15 * 1) - 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 1, -1, 1
+    Buttons(74).AddWall GetTex("Button74"), -(ShaftLeft + 0.17), -27.85 + (15 * 1) - 1.6, -(ShaftLeft + 0.17), -27.55 + (15 * 1) - 1.6, 0.3, (Elevator(Number).GetPosition.Y + 12) - 1, -1, 1
+    
+    Buttons(65).AddWall GetTex("Button65"), -(ShaftLeft + 0.17), -27.85 + (15 * 1), -(ShaftLeft + 0.17), -27.55 + (15 * 1), 0.3, (Elevator(Number).GetPosition.Y + 12) - 1.5, -1, 1
+    Buttons(66).AddWall GetTex("Button66"), -(ShaftLeft + 0.17), -27.85 + (15 * 1) - 0.4, -(ShaftLeft + 0.17), -27.55 + (15 * 1) - 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 1.5, -1, 1
+    Buttons(67).AddWall GetTex("Button67"), -(ShaftLeft + 0.17), -27.85 + (15 * 1) - 0.8, -(ShaftLeft + 0.17), -27.55 + (15 * 1) - 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 1.5, -1, 1
+    Buttons(68).AddWall GetTex("Button68"), -(ShaftLeft + 0.17), -27.85 + (15 * 1) - 1.2, -(ShaftLeft + 0.17), -27.55 + (15 * 1) - 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 1.5, -1, 1
+    Buttons(69).AddWall GetTex("Button69"), -(ShaftLeft + 0.17), -27.85 + (15 * 1) - 1.6, -(ShaftLeft + 0.17), -27.55 + (15 * 1) - 1.6, 0.3, (Elevator(Number).GetPosition.Y + 12) - 1.5, -1, 1
+    
+    Buttons(60).AddWall GetTex("Button60"), -(ShaftLeft + 0.17), -27.85 + (15 * 1), -(ShaftLeft + 0.17), -27.55 + (15 * 1), 0.3, (Elevator(Number).GetPosition.Y + 12) - 2, -1, 1
+    Buttons(61).AddWall GetTex("Button61"), -(ShaftLeft + 0.17), -27.85 + (15 * 1) - 0.4, -(ShaftLeft + 0.17), -27.55 + (15 * 1) - 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 2, -1, 1
+    Buttons(62).AddWall GetTex("Button62"), -(ShaftLeft + 0.17), -27.85 + (15 * 1) - 0.8, -(ShaftLeft + 0.17), -27.55 + (15 * 1) - 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 2, -1, 1
+    Buttons(63).AddWall GetTex("Button63"), -(ShaftLeft + 0.17), -27.85 + (15 * 1) - 1.2, -(ShaftLeft + 0.17), -27.55 + (15 * 1) - 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 2, -1, 1
+    Buttons(64).AddWall GetTex("Button64"), -(ShaftLeft + 0.17), -27.85 + (15 * 1) - 1.6, -(ShaftLeft + 0.17), -27.55 + (15 * 1) - 1.6, 0.3, (Elevator(Number).GetPosition.Y + 12) - 2, -1, 1
+    
+    Buttons(55).AddWall GetTex("Button55"), -(ShaftLeft + 0.17), -27.85 + (15 * 1), -(ShaftLeft + 0.17), -27.55 + (15 * 1), 0.3, (Elevator(Number).GetPosition.Y + 12) - 2.5, -1, 1
+    Buttons(56).AddWall GetTex("Button56"), -(ShaftLeft + 0.17), -27.85 + (15 * 1) - 0.4, -(ShaftLeft + 0.17), -27.55 + (15 * 1) - 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 2.5, -1, 1
+    Buttons(57).AddWall GetTex("Button57"), -(ShaftLeft + 0.17), -27.85 + (15 * 1) - 0.8, -(ShaftLeft + 0.17), -27.55 + (15 * 1) - 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 2.5, -1, 1
+    Buttons(58).AddWall GetTex("Button58"), -(ShaftLeft + 0.17), -27.85 + (15 * 1) - 1.2, -(ShaftLeft + 0.17), -27.55 + (15 * 1) - 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 2.5, -1, 1
+    Buttons(59).AddWall GetTex("Button59"), -(ShaftLeft + 0.17), -27.85 + (15 * 1) - 1.6, -(ShaftLeft + 0.17), -27.55 + (15 * 1) - 1.6, 0.3, (Elevator(Number).GetPosition.Y + 12) - 2.5, -1, 1
+    
+    Buttons(50).AddWall GetTex("Button50"), -(ShaftLeft + 0.17), -27.85 + (15 * 1), -(ShaftLeft + 0.17), -27.55 + (15 * 1), 0.3, (Elevator(Number).GetPosition.Y + 12) - 3, -1, 1
+    Buttons(51).AddWall GetTex("Button51"), -(ShaftLeft + 0.17), -27.85 + (15 * 1) - 0.4, -(ShaftLeft + 0.17), -27.55 + (15 * 1) - 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 3, -1, 1
+    Buttons(52).AddWall GetTex("Button52"), -(ShaftLeft + 0.17), -27.85 + (15 * 1) - 0.8, -(ShaftLeft + 0.17), -27.55 + (15 * 1) - 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 3, -1, 1
+    Buttons(53).AddWall GetTex("Button53"), -(ShaftLeft + 0.17), -27.85 + (15 * 1) - 1.2, -(ShaftLeft + 0.17), -27.55 + (15 * 1) - 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 3, -1, 1
+    Buttons(54).AddWall GetTex("Button54"), -(ShaftLeft + 0.17), -27.85 + (15 * 1) - 1.6, -(ShaftLeft + 0.17), -27.55 + (15 * 1) - 1.6, 0.3, (Elevator(Number).GetPosition.Y + 12) - 3, -1, 1
+    
+    Buttons(45).AddWall GetTex("Button45"), -(ShaftLeft + 0.17), -27.85 + (15 * 1), -(ShaftLeft + 0.17), -27.55 + (15 * 1), 0.3, (Elevator(Number).GetPosition.Y + 12) - 3.5, -1, 1
+    Buttons(46).AddWall GetTex("Button46"), -(ShaftLeft + 0.17), -27.85 + (15 * 1) - 0.4, -(ShaftLeft + 0.17), -27.55 + (15 * 1) - 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 3.5, -1, 1
+    Buttons(47).AddWall GetTex("Button47"), -(ShaftLeft + 0.17), -27.85 + (15 * 1) - 0.8, -(ShaftLeft + 0.17), -27.55 + (15 * 1) - 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 3.5, -1, 1
+    Buttons(48).AddWall GetTex("Button48"), -(ShaftLeft + 0.17), -27.85 + (15 * 1) - 1.2, -(ShaftLeft + 0.17), -27.55 + (15 * 1) - 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 3.5, -1, 1
+    Buttons(49).AddWall GetTex("Button49"), -(ShaftLeft + 0.17), -27.85 + (15 * 1) - 1.6, -(ShaftLeft + 0.17), -27.55 + (15 * 1) - 1.6, 0.3, (Elevator(Number).GetPosition.Y + 12) - 3.5, -1, 1
+    
+    Buttons(40).AddWall GetTex("Button40"), -(ShaftLeft + 0.17), -27.85 + (15 * 1), -(ShaftLeft + 0.17), -27.55 + (15 * 1), 0.3, (Elevator(Number).GetPosition.Y + 12) - 4, -1, 1
+    Buttons(41).AddWall GetTex("Button41"), -(ShaftLeft + 0.17), -27.85 + (15 * 1) - 0.4, -(ShaftLeft + 0.17), -27.55 + (15 * 1) - 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 4, -1, 1
+    Buttons(42).AddWall GetTex("Button42"), -(ShaftLeft + 0.17), -27.85 + (15 * 1) - 0.8, -(ShaftLeft + 0.17), -27.55 + (15 * 1) - 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 4, -1, 1
+    Buttons(43).AddWall GetTex("Button43"), -(ShaftLeft + 0.17), -27.85 + (15 * 1) - 1.2, -(ShaftLeft + 0.17), -27.55 + (15 * 1) - 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 4, -1, 1
+    Buttons(44).AddWall GetTex("Button44"), -(ShaftLeft + 0.17), -27.85 + (15 * 1) - 1.6, -(ShaftLeft + 0.17), -27.55 + (15 * 1) - 1.6, 0.3, (Elevator(Number).GetPosition.Y + 12) - 4, -1, 1
+    
+    'Buttons(-1).AddWall GetTex("ButtonL"), -(ShaftLeft+0.17), -27.85 + (15 * 1), -(ShaftLeft+0.17), -27.55 + (15 * 1), 0.3, (Elevator(Number).GetPosition.y + 12) - 4.5, -1, 1
+    'Buttons(81).AddWall GetTex("Button81"), -(ShaftLeft+0.17), -27.85 + (15 * 1) - 0.4, -(ShaftLeft+0.17), -27.55 + (15 * 1) - 0.4, 0.3, (Elevator(Number).GetPosition.y + 12) - 4.5, -1, 1
+    Buttons(-1).AddWall GetTex("ButtonL"), -(ShaftLeft + 0.17), -27.85 + (15 * 1) - 0.8, -(ShaftLeft + 0.17), -27.55 + (15 * 1) - 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 4.5, -1, 1
+    'Buttons(83).AddWall GetTex("Button83"), -(ShaftLeft+0.17), -27.85 + (15 * 1) - 1.2, -(ShaftLeft+0.17), -27.55 + (15 * 1) - 1.2, 0.3, (Elevator(Number).GetPosition.y + 12) - 4.5, -1, 1
+    'Buttons(84).AddWall GetTex("Button84"), -(ShaftLeft+0.17), -27.85 + (15 * 1) - 1.6, -(ShaftLeft+0.17), -27.55 + (15 * 1) - 1.6, 0.3, (Elevator(Number).GetPosition.y + 12) - 4.5, -1, 1
+    
+    'Buttons(2).AddWall GetTex("Button2"), -(ShaftLeft+0.17), -27.85 + (15 * 1), -(ShaftLeft+0.17), -27.55 + (15 * 1), 0.3, (Elevator(Number).GetPosition.y + 12) - 5, -1, 1
+    'Buttons(39).AddWall GetTex("Button39"), -(ShaftLeft+0.17), -27.85 + (15 * 1) - 0.4, -(ShaftLeft+0.17), -27.55 + (15 * 1) - 0.4, 0.3, (Elevator(Number).GetPosition.y + 12) - 5, -1, 1
+    'Buttons(-1).AddWall GetTex("ButtonL"), -(ShaftLeft+0.17), -27.85 + (15 * 1) - 0.8, -(ShaftLeft+0.17), -27.55 + (15 * 1) - 0.8, 0.3, (Elevator(Number).GetPosition.y + 12) - 5, -1, 1
+    'Buttons(65).AddWall GetTex("Button65"), -(ShaftLeft+0.17), -27.85 + (15 * 1) - 1.2, -(ShaftLeft+0.17), -27.55 + (15 * 1) - 1.2, 0.3, (Elevator(Number).GetPosition.y + 12) - 5, -1, 1
+    'Buttons(79).AddWall GetTex("Button79"), -(ShaftLeft+0.17), -27.85 + (15 * 1) - 1.6, -(ShaftLeft+0.17), -27.55 + (15 * 1) - 1.6, 0.3, (Elevator(Number).GetPosition.y + 12) - 5, -1, 1
+    
+    Buttons(139).AddWall GetTex("ButtonOpen"), -(ShaftLeft + 0.17), -27.85 + (15 * 1), -(ShaftLeft + 0.17), -27.55 + (15 * 1), 0.3, (Elevator(Number).GetPosition.Y + 12) - 5.5, -1, 1
+    Buttons(140).AddWall GetTex("ButtonClose"), -(ShaftLeft + 0.17), -27.85 + (15 * 1) - 0.4, -(ShaftLeft + 0.17), -27.55 + (15 * 1) - 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 5.5, -1, 1
+    Buttons(141).AddWall GetTex("ButtonCancel"), -(ShaftLeft + 0.17), -27.85 + (15 * 1) - 0.8, -(ShaftLeft + 0.17), -27.55 + (15 * 1) - 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 5.5, -1, 1
+    Buttons(142).AddWall GetTex("ButtonStop"), -(ShaftLeft + 0.17), -27.85 + (15 * 1) - 1.2, -(ShaftLeft + 0.17), -27.55 + (15 * 1) - 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 5.5, -1, 1
+    Buttons(143).AddWall GetTex("ButtonAlarm"), -(ShaftLeft + 0.17), -27.85 + (15 * 1) - 1.6, -(ShaftLeft + 0.17), -27.55 + (15 * 1) - 1.6, 0.3, (Elevator(Number).GetPosition.Y + 12) - 5.5, -1, 1
+
+End If
+
+'Elevator 4
+If Number = 24 Then
+
+    'Buttons(135).AddWall GetTex("Button135"), (ShaftLeft+0.17), -18.45 + (15 * 1), (ShaftLeft+0.17), -18.15 + (15 * 1), 0.3, (Elevator(Number).GetPosition.y + 12), 1, 1
+    'Buttons(1).AddWall GetTex("Button1"), (ShaftLeft+0.17), -18.45 + (15 * 1) + 0.4, (ShaftLeft+0.17), -18.15 + (15 * 1) + 0.4, 0.3, (Elevator(Number).GetPosition.y + 12), 1, 1
+    'Buttons(136).AddWall GetTex("Button136"), (ShaftLeft+0.17), -18.45 + (15 * 1) + 0.8, (ShaftLeft+0.17), -18.15 + (15 * 1) + 0.8, 0.3, (Elevator(Number).GetPosition.y + 12), 1, 1
+    'Buttons(137).AddWall GetTex("Button137"), (ShaftLeft+0.17), -18.45 + (15 * 1) + 1.2, (ShaftLeft+0.17), -18.15 + (15 * 1) + 1.2, 0.3, (Elevator(Number).GetPosition.y + 12), 1, 1
+    'Buttons(138).AddWall GetTex("ButtonR"), (ShaftLeft+0.17), -18.45 + (15 * 1) + 1.6, (ShaftLeft+0.17), -18.15 + (15 * 1) + 1.6, 0.3, (Elevator(Number).GetPosition.y + 12), 1, 1
+    
+    Buttons(75).AddWall GetTex("Button75"), (ShaftLeft + 0.17), -18.45 + (15 * 1), (ShaftLeft + 0.17), -18.15 + (15 * 1), 0.3, (Elevator(Number).GetPosition.Y + 12) - 0.5, 1, 1
+    Buttons(76).AddWall GetTex("Button76"), (ShaftLeft + 0.17), -18.45 + (15 * 1) + 0.4, (ShaftLeft + 0.17), -18.15 + (15 * 1) + 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 0.5, 1, 1
+    Buttons(77).AddWall GetTex("Button77"), (ShaftLeft + 0.17), -18.45 + (15 * 1) + 0.8, (ShaftLeft + 0.17), -18.15 + (15 * 1) + 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 0.5, 1, 1
+    Buttons(78).AddWall GetTex("Button78"), (ShaftLeft + 0.17), -18.45 + (15 * 1) + 1.2, (ShaftLeft + 0.17), -18.15 + (15 * 1) + 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 0.5, 1, 1
+    Buttons(79).AddWall GetTex("Button79"), (ShaftLeft + 0.17), -18.45 + (15 * 1) + 1.6, (ShaftLeft + 0.17), -18.15 + (15 * 1) + 1.6, 0.3, (Elevator(Number).GetPosition.Y + 12) - 0.5, 1, 1
+    
+    Buttons(70).AddWall GetTex("Button70"), (ShaftLeft + 0.17), -18.45 + (15 * 1), (ShaftLeft + 0.17), -18.15 + (15 * 1), 0.3, (Elevator(Number).GetPosition.Y + 12) - 1, 1, 1
+    Buttons(71).AddWall GetTex("Button71"), (ShaftLeft + 0.17), -18.45 + (15 * 1) + 0.4, (ShaftLeft + 0.17), -18.15 + (15 * 1) + 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 1, 1, 1
+    Buttons(72).AddWall GetTex("Button72"), (ShaftLeft + 0.17), -18.45 + (15 * 1) + 0.8, (ShaftLeft + 0.17), -18.15 + (15 * 1) + 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 1, 1, 1
+    Buttons(73).AddWall GetTex("Button73"), (ShaftLeft + 0.17), -18.45 + (15 * 1) + 1.2, (ShaftLeft + 0.17), -18.15 + (15 * 1) + 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 1, 1, 1
+    Buttons(74).AddWall GetTex("Button74"), (ShaftLeft + 0.17), -18.45 + (15 * 1) + 1.6, (ShaftLeft + 0.17), -18.15 + (15 * 1) + 1.6, 0.3, (Elevator(Number).GetPosition.Y + 12) - 1, 1, 1
+    
+    Buttons(65).AddWall GetTex("Button65"), (ShaftLeft + 0.17), -18.45 + (15 * 1), (ShaftLeft + 0.17), -18.15 + (15 * 1), 0.3, (Elevator(Number).GetPosition.Y + 12) - 1.5, 1, 1
+    Buttons(66).AddWall GetTex("Button66"), (ShaftLeft + 0.17), -18.45 + (15 * 1) + 0.4, (ShaftLeft + 0.17), -18.15 + (15 * 1) + 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 1.5, 1, 1
+    Buttons(67).AddWall GetTex("Button67"), (ShaftLeft + 0.17), -18.45 + (15 * 1) + 0.8, (ShaftLeft + 0.17), -18.15 + (15 * 1) + 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 1.5, 1, 1
+    Buttons(68).AddWall GetTex("Button68"), (ShaftLeft + 0.17), -18.45 + (15 * 1) + 1.2, (ShaftLeft + 0.17), -18.15 + (15 * 1) + 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 1.5, 1, 1
+    Buttons(69).AddWall GetTex("Button69"), (ShaftLeft + 0.17), -18.45 + (15 * 1) + 1.6, (ShaftLeft + 0.17), -18.15 + (15 * 1) + 1.6, 0.3, (Elevator(Number).GetPosition.Y + 12) - 1.5, 1, 1
+    
+    Buttons(60).AddWall GetTex("Button60"), (ShaftLeft + 0.17), -18.45 + (15 * 1), (ShaftLeft + 0.17), -18.15 + (15 * 1), 0.3, (Elevator(Number).GetPosition.Y + 12) - 2, 1, 1
+    Buttons(61).AddWall GetTex("Button61"), (ShaftLeft + 0.17), -18.45 + (15 * 1) + 0.4, (ShaftLeft + 0.17), -18.15 + (15 * 1) + 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 2, 1, 1
+    Buttons(62).AddWall GetTex("Button62"), (ShaftLeft + 0.17), -18.45 + (15 * 1) + 0.8, (ShaftLeft + 0.17), -18.15 + (15 * 1) + 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 2, 1, 1
+    Buttons(63).AddWall GetTex("Button63"), (ShaftLeft + 0.17), -18.45 + (15 * 1) + 1.2, (ShaftLeft + 0.17), -18.15 + (15 * 1) + 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 2, 1, 1
+    Buttons(64).AddWall GetTex("Button64"), (ShaftLeft + 0.17), -18.45 + (15 * 1) + 1.6, (ShaftLeft + 0.17), -18.15 + (15 * 1) + 1.6, 0.3, (Elevator(Number).GetPosition.Y + 12) - 2, 1, 1
+    
+    Buttons(55).AddWall GetTex("Button55"), (ShaftLeft + 0.17), -18.45 + (15 * 1), (ShaftLeft + 0.17), -18.15 + (15 * 1), 0.3, (Elevator(Number).GetPosition.Y + 12) - 2.5, 1, 1
+    Buttons(56).AddWall GetTex("Button56"), (ShaftLeft + 0.17), -18.45 + (15 * 1) + 0.4, (ShaftLeft + 0.17), -18.15 + (15 * 1) + 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 2.5, 1, 1
+    Buttons(57).AddWall GetTex("Button57"), (ShaftLeft + 0.17), -18.45 + (15 * 1) + 0.8, (ShaftLeft + 0.17), -18.15 + (15 * 1) + 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 2.5, 1, 1
+    Buttons(58).AddWall GetTex("Button58"), (ShaftLeft + 0.17), -18.45 + (15 * 1) + 1.2, (ShaftLeft + 0.17), -18.15 + (15 * 1) + 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 2.5, 1, 1
+    Buttons(59).AddWall GetTex("Button59"), (ShaftLeft + 0.17), -18.45 + (15 * 1) + 1.6, (ShaftLeft + 0.17), -18.15 + (15 * 1) + 1.6, 0.3, (Elevator(Number).GetPosition.Y + 12) - 2.5, 1, 1
+    
+    Buttons(50).AddWall GetTex("Button50"), (ShaftLeft + 0.17), -18.45 + (15 * 1), (ShaftLeft + 0.17), -18.15 + (15 * 1), 0.3, (Elevator(Number).GetPosition.Y + 12) - 3, 1, 1
+    Buttons(51).AddWall GetTex("Button51"), (ShaftLeft + 0.17), -18.45 + (15 * 1) + 0.4, (ShaftLeft + 0.17), -18.15 + (15 * 1) + 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 3, 1, 1
+    Buttons(52).AddWall GetTex("Button52"), (ShaftLeft + 0.17), -18.45 + (15 * 1) + 0.8, (ShaftLeft + 0.17), -18.15 + (15 * 1) + 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 3, 1, 1
+    Buttons(53).AddWall GetTex("Button53"), (ShaftLeft + 0.17), -18.45 + (15 * 1) + 1.2, (ShaftLeft + 0.17), -18.15 + (15 * 1) + 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 3, 1, 1
+    Buttons(54).AddWall GetTex("Button54"), (ShaftLeft + 0.17), -18.45 + (15 * 1) + 1.6, (ShaftLeft + 0.17), -18.15 + (15 * 1) + 1.6, 0.3, (Elevator(Number).GetPosition.Y + 12) - 3, 1, 1
+    
+    Buttons(45).AddWall GetTex("Button45"), (ShaftLeft + 0.17), -18.45 + (15 * 1), (ShaftLeft + 0.17), -18.15 + (15 * 1), 0.3, (Elevator(Number).GetPosition.Y + 12) - 3.5, 1, 1
+    Buttons(46).AddWall GetTex("Button46"), (ShaftLeft + 0.17), -18.45 + (15 * 1) + 0.4, (ShaftLeft + 0.17), -18.15 + (15 * 1) + 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 3.5, 1, 1
+    Buttons(47).AddWall GetTex("Button47"), (ShaftLeft + 0.17), -18.45 + (15 * 1) + 0.8, (ShaftLeft + 0.17), -18.15 + (15 * 1) + 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 3.5, 1, 1
+    Buttons(48).AddWall GetTex("Button48"), (ShaftLeft + 0.17), -18.45 + (15 * 1) + 1.2, (ShaftLeft + 0.17), -18.15 + (15 * 1) + 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 3.5, 1, 1
+    Buttons(49).AddWall GetTex("Button49"), (ShaftLeft + 0.17), -18.45 + (15 * 1) + 1.6, (ShaftLeft + 0.17), -18.15 + (15 * 1) + 1.6, 0.3, (Elevator(Number).GetPosition.Y + 12) - 3.5, 1, 1
+    
+    Buttons(40).AddWall GetTex("Button40"), (ShaftLeft + 0.17), -18.45 + (15 * 1), (ShaftLeft + 0.17), -18.15 + (15 * 1), 0.3, (Elevator(Number).GetPosition.Y + 12) - 4, 1, 1
+    Buttons(41).AddWall GetTex("Button41"), (ShaftLeft + 0.17), -18.45 + (15 * 1) + 0.4, (ShaftLeft + 0.17), -18.15 + (15 * 1) + 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 4, 1, 1
+    Buttons(42).AddWall GetTex("Button42"), (ShaftLeft + 0.17), -18.45 + (15 * 1) + 0.8, (ShaftLeft + 0.17), -18.15 + (15 * 1) + 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 4, 1, 1
+    Buttons(43).AddWall GetTex("Button43"), (ShaftLeft + 0.17), -18.45 + (15 * 1) + 1.2, (ShaftLeft + 0.17), -18.15 + (15 * 1) + 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 4, 1, 1
+    Buttons(44).AddWall GetTex("Button44"), (ShaftLeft + 0.17), -18.45 + (15 * 1) + 1.6, (ShaftLeft + 0.17), -18.15 + (15 * 1) + 1.6, 0.3, (Elevator(Number).GetPosition.Y + 12) - 4, 1, 1
+    
+    'Buttons(-1).AddWall GetTex("ButtonL"), (ShaftLeft+0.17), -18.45 + (15 * 1), (ShaftLeft+0.17), -18.15 + (15 * 1), 0.3, (Elevator(Number).GetPosition.y + 12) - 4.5, 1, 1
+    'Buttons(81).AddWall GetTex("Button81"), (ShaftLeft+0.17), -18.45 + (15 * 1) + 0.4, (ShaftLeft+0.17), -18.15 + (15 * 1) + 0.4, 0.3, (Elevator(Number).GetPosition.y + 12) - 4.5, 1, 1
+    Buttons(-1).AddWall GetTex("ButtonL"), (ShaftLeft + 0.17), -18.45 + (15 * 1) + 0.8, (ShaftLeft + 0.17), -18.15 + (15 * 1) + 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 4.5, 1, 1
+    'Buttons(83).AddWall GetTex("Button83"), (ShaftLeft+0.17), -18.45 + (15 * 1) + 1.2, (ShaftLeft+0.17), -18.15 + (15 * 1) + 1.2, 0.3, (Elevator(Number).GetPosition.y + 12) - 4.5, 1, 1
+    'Buttons(84).AddWall GetTex("Button84"), (ShaftLeft+0.17), -18.45 + (15 * 1) + 1.6, (ShaftLeft+0.17), -18.15 + (15 * 1) + 1.6, 0.3, (Elevator(Number).GetPosition.y + 12) - 4.5, 1, 1
+    
+    'Buttons(2).AddWall GetTex("Button2"), (ShaftLeft+0.17), -18.45 + (15 * 1), (ShaftLeft+0.17), -18.15 + (15 * 1), 0.3, (Elevator(Number).GetPosition.y + 12) - 5, 1, 1
+    'Buttons(39).AddWall GetTex("Button39"), (ShaftLeft+0.17), -18.45 + (15 * 1) + 0.4, (ShaftLeft+0.17), -18.15 + (15 * 1) + 0.4, 0.3, (Elevator(Number).GetPosition.y + 12) - 5, 1, 1
+    'Buttons(-1).AddWall GetTex("ButtonL"), (ShaftLeft+0.17), -18.45 + (15 * 1) + 0.8, (ShaftLeft+0.17), -18.15 + (15 * 1) + 0.8, 0.3, (Elevator(Number).GetPosition.y + 12) - 5, 1, 1
+    'Buttons(65).AddWall GetTex("Button65"), (ShaftLeft+0.17), -18.45 + (15 * 1) + 1.2, (ShaftLeft+0.17), -18.15 + (15 * 1) + 1.2, 0.3, (Elevator(Number).GetPosition.y + 12) - 5, 1, 1
+    'Buttons(79).AddWall GetTex("Button79"), (ShaftLeft+0.17), -18.45 + (15 * 1) + 1.6, (ShaftLeft+0.17), -18.15 + (15 * 1) + 1.6, 0.3, (Elevator(Number).GetPosition.y + 12) - 5, 1, 1
+    
+    Buttons(139).AddWall GetTex("ButtonOpen"), (ShaftLeft + 0.17), -18.45 + (15 * 1), (ShaftLeft + 0.17), -18.15 + (15 * 1), 0.3, (Elevator(Number).GetPosition.Y + 12) - 5.5, 1, 1
+    Buttons(140).AddWall GetTex("ButtonClose"), (ShaftLeft + 0.17), -18.45 + (15 * 1) + 0.4, (ShaftLeft + 0.17), -18.15 + (15 * 1) + 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 5.5, 1, 1
+    Buttons(141).AddWall GetTex("ButtonCancel"), (ShaftLeft + 0.17), -18.45 + (15 * 1) + 0.8, (ShaftLeft + 0.17), -18.15 + (15 * 1) + 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 5.5, 1, 1
+    Buttons(142).AddWall GetTex("ButtonStop"), (ShaftLeft + 0.17), -18.45 + (15 * 1) + 1.2, (ShaftLeft + 0.17), -18.15 + (15 * 1) + 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 5.5, 1, 1
+    Buttons(143).AddWall GetTex("ButtonAlarm"), (ShaftLeft + 0.17), -18.45 + (15 * 1) + 1.6, (ShaftLeft + 0.17), -18.15 + (15 * 1) + 1.6, 0.3, (Elevator(Number).GetPosition.Y + 12) - 5.5, 1, 1
+
+End If
+
+Call DrawElevatorButtons31(Number)
 
-       'Form2.Text1.Text = "Sound Location=7.75,20,7 " + vbCrLf + "Elevator Floor=" + Str$(ElevatorFloor(6)) + vbCrLf + "Camera Floor=" + Str$(CameraFloor) + vbCrLf + "Current Location= " + Str$(Int(Camera.GetPosition.x)) + "," + Str$(Int(Camera.GetPosition.y)) + "," + Str$(Int(Camera.GetPosition.z)) + vbCrLf + "Distance to Travel=" + Str$(DistanceToTravel(6)) + vbCrLf + "Destination=" + Str$(Destination) + vbCrLf + "Rate=" + Str$(ElevatorEnable(6) / 5)
-        
-        If ElevatorEnable(6) >= 0 And ElevatorDirection(6) = 1 Then
-        'sound
-        If ElevatorSounds(6).PlayState <> TV_PLAYSTATE_PLAYING And ElevatorCheck(6) = 0 And GotoFloor(6) <> ElevatorFloor(6) Then
-        ElevatorSounds(6).Loop_ = False
-        ElevatorSounds(6).Load App.Path + "\elevstart.wav"
-        ElevatorSounds(6).Volume = 0
-        'ElevatorSounds(6).maxDistance = 100
-        'Call ElevatorSounds(6).SetConeOrientation(0, 0, 90)
-        'ElevatorSounds(6).ConeOutsideVolume = 0
-        'Call ElevatorSounds(6).SetPosition(-20.25, Elevator1(6).GetPosition.Y + 20, -23)
-        ElevatorSounds(6).Play
-        ElevatorCheck(6) = 1
-        End If
-        If ElevatorSounds(6).PlayState = TV_PLAYSTATE_ENDED And ElevatorCheck(6) = 1 Then
-        ElevatorSounds(6).Load App.Path + "\elevmove.wav"
-        ElevatorSounds(6).Loop_ = True
-        ElevatorSounds(6).Play
-        End If
-        'movement
-        Elevator(6).MoveRelative 0, (ElevatorEnable(6) / 5), 0
-        ElevatorInsDoorL(6).MoveRelative 0, (ElevatorEnable(6) / 5), 0
-        ElevatorInsDoorR(6).MoveRelative 0, (ElevatorEnable(6) / 5), 0
-        FloorIndicator(6).MoveRelative 0, (ElevatorEnable(6) / 5), 0
-        Plaque(6).MoveRelative 0, (ElevatorEnable(6) / 5), 0
-        For i6 = -1 To 138
-        Buttons6(i6).MoveRelative 0, (ElevatorEnable(6) / 5), 0
-        Next i6
-        If ElevatorSync(6) = True Then Camera.MoveRelative 0, (ElevatorEnable(6) / 5), 0
-        'ElevatorSounds(6).SetPosition -20.25, Elevator(6).GetPosition.Y + 20, -23
-        ''ElevatorMusic(6).SetPosition -20.25, Elevator(6).GetPosition.Y + 20, -23
-        ElevatorEnable(6) = ElevatorEnable(6) + 0.25
-        If ElevatorEnable(6) <= 15 Then StoppingDistance(6) = CurrentFloorExact(6) - OriginalLocation(6) + 0.4
-        If ElevatorEnable(6) > 15 Then ElevatorEnable(6) = 15
-        Destination(6) = ((OriginalLocation(6) * 25) + 25) + DistanceToTravel(6) - 35
-        If GotoFloor(6) <> 0 And elevatorstart(6).Y >= (Destination(6) - (StoppingDistance(6) * 25) + 25) Then ElevatorDirection(6) = -1: ElevatorCheck(6) = 0
-        End If
-      
-        If ElevatorEnable(6) > 0 And ElevatorDirection(6) = -1 Then
-        'Sounds
-        If ElevatorSounds(6).PlayState = TV_PLAYSTATE_PLAYING And ElevatorCheck2(6) = 0 And FineTune(6) = False Then
-        ElevatorSounds(6).Loop_ = False
-        ElevatorSounds(6).Stop_
-        End If
-        If ElevatorSounds(6).PlayState <> TV_PLAYSTATE_PLAYING And ElevatorCheck2(6) = 0 And FineTune(6) = False Then
-        ElevatorSounds(6).Loop_ = False
-        ElevatorSounds(6).Load App.Path + "\elevstop.wav"
-        ElevatorSounds(6).Play
-        ElevatorCheck2(6) = 1
-        End If
-        'Movement
-        Elevator(6).MoveRelative 0, (ElevatorEnable(6) / 5), 0
-        ElevatorInsDoorL(6).MoveRelative 0, (ElevatorEnable(6) / 5), 0
-        ElevatorInsDoorR(6).MoveRelative 0, (ElevatorEnable(6) / 5), 0
-        FloorIndicator(6).MoveRelative 0, (ElevatorEnable(6) / 5), 0
-        Plaque(6).MoveRelative 0, (ElevatorEnable(6) / 5), 0
-        For i6 = -1 To 138
-        Buttons6(i6).MoveRelative 0, (ElevatorEnable(6) / 5), 0
-        Next i6
-        If ElevatorSync(6) = True Then Camera.MoveRelative 0, (ElevatorEnable(6) / 5), 0
-        
-        'ElevatorSounds(6).SetPosition -20.25, Elevator(6).GetPosition.Y + 20, -23
-        ''ElevatorMusic(6).SetPosition -20.25, Elevator(6).GetPosition.Y + 20, -23
-        ElevatorEnable(6) = ElevatorEnable(6) - 0.25
-        If ElevatorEnable(6) < 0 Then ElevatorEnable(6) = 0
-        If ElevatorEnable(6) = 0 Then ElevatorDirection(6) = 0
-        If GotoFloor(6) <> 0 Then ElevatorCheck(6) = 0: FineTune(6) = True
-        End If
-      
-        If ElevatorEnable(6) <= 0 And ElevatorDirection(6) = -1 Then
-        If ElevatorSounds(6).PlayState <> TV_PLAYSTATE_PLAYING And ElevatorCheck(6) = 0 Then
-        ElevatorSounds(6).Loop_ = False
-        ElevatorSounds(6).Load App.Path + "\elevstart.wav"
-        ElevatorSounds(6).Volume = 0
-        'ElevatorSounds(6).maxDistance = 100
-        'Call ElevatorSounds(6).SetConeOrientation(0, 0, 90)
-        'ElevatorSounds(6).ConeOutsideVolume = 0
-        'Call ElevatorSounds(6).SetPosition(-20.25, Elevator(6).GetPosition.Y + 20, -23)
-        ElevatorSounds(6).Play
-        ElevatorCheck(6) = 1
-        End If
-        If ElevatorSounds(6).PlayState = TV_PLAYSTATE_ENDED And ElevatorCheck(6) = 1 Then
-        ElevatorSounds(6).Load App.Path + "\elevmove.wav"
-        ElevatorSounds(6).Loop_ = True
-        ElevatorSounds(6).Play
-        End If
-        Elevator(6).MoveRelative 0, (ElevatorEnable(6) / 5), 0
-        ElevatorInsDoorL(6).MoveRelative 0, (ElevatorEnable(6) / 5), 0
-        ElevatorInsDoorR(6).MoveRelative 0, (ElevatorEnable(6) / 5), 0
-        FloorIndicator(6).MoveRelative 0, (ElevatorEnable(6) / 5), 0
-        Plaque(6).MoveRelative 0, (ElevatorEnable(6) / 5), 0
-        For i6 = -1 To 138
-        Buttons6(i6).MoveRelative 0, (ElevatorEnable(6) / 5), 0
-        Next i6
-        If ElevatorSync(6) = True Then Camera.MoveRelative 0, (ElevatorEnable(6) / 5), 0
-        'ElevatorSounds(6).SetPosition -20.25, Elevator(6).GetPosition.Y + 20, -23
-        ''ElevatorMusic(6).SetPosition -20.25, Elevator(6).GetPosition.Y + 20, -23
-        ElevatorEnable(6) = ElevatorEnable(6) - 0.25
-        If ElevatorEnable(6) >= -15 Then StoppingDistance(6) = OriginalLocation(6) - CurrentFloorExact(6)
-        If ElevatorEnable(6) < -15 Then ElevatorEnable(6) = -15
-        Destination(6) = ((OriginalLocation(6) * 25) + 25) - DistanceToTravel(6)
-        If GotoFloor(6) <> 0 And elevatorstart(6).Y <= (Destination(6) + (StoppingDistance(6) * 25) + 25) Then ElevatorDirection(6) = 1: ElevatorCheck(6) = 0
-        End If
-      
-        If ElevatorEnable(6) < 0 And ElevatorDirection(6) = 1 Then
-        If ElevatorSounds(6).PlayState = TV_PLAYSTATE_PLAYING And ElevatorCheck2(6) = 0 And FineTune(6) = False Then
-        ElevatorSounds(6).Loop_ = False
-        ElevatorSounds(6).Stop_
-        End If
-        If ElevatorSounds(6).PlayState <> TV_PLAYSTATE_PLAYING And ElevatorCheck2(6) = 0 And FineTune(6) = False Then
-        ElevatorSounds(6).Loop_ = False
-        ElevatorSounds(6).Load App.Path + "\elevstop.wav"
-        ElevatorSounds(6).Play
-        ElevatorCheck2(6) = 1
-        End If
-        Elevator(6).MoveRelative 0, (ElevatorEnable(6) / 5), 0
-        ElevatorInsDoorL(6).MoveRelative 0, (ElevatorEnable(6) / 5), 0
-        ElevatorInsDoorR(6).MoveRelative 0, (ElevatorEnable(6) / 5), 0
-        FloorIndicator(6).MoveRelative 0, (ElevatorEnable(6) / 5), 0
-        Plaque(6).MoveRelative 0, (ElevatorEnable(6) / 5), 0
-        For i6 = -1 To 138
-        Buttons6(i6).MoveRelative 0, (ElevatorEnable(6) / 5), 0
-        Next i6
-        If ElevatorSync(6) = True Then Camera.MoveRelative 0, (ElevatorEnable(6) / 5), 0
-        'ElevatorSounds(6).SetPosition -20.25, Elevator(6).GetPosition.Y + 20, -23
-        ''ElevatorMusic(6).SetPosition -20.25, Elevator(6).GetPosition.Y + 20, -23
-        ElevatorEnable(6) = ElevatorEnable(6) + 0.25
-        If ElevatorEnable(6) > 0 Then ElevatorEnable(6) = 0
-        If ElevatorEnable(6) = 0 Then ElevatorDirection(6) = 0
-        If GotoFloor(6) <> 0 Then ElevatorCheck(6) = 0: FineTune(6) = True
-        End If
-      
-      If FineTune(6) = True And ElevatorEnable(6) = 0 And elevatorstart(6).Y > (GotoFloor(6) * 25) + 25 + -0.3 And elevatorstart(6).Y < (GotoFloor(6) * 25) + 25 + 0.3 Then
-      FineTune(6) = False
-      If ElevatorSync(6) = True Then
-      Room(CameraFloor).Enable True
-      ElevatorDoor1L(CameraFloor).Enable True
-      ElevatorDoor1R(CameraFloor).Enable True
-      ElevatorDoor2L(CameraFloor).Enable True
-      ElevatorDoor2R(CameraFloor).Enable True
-      ElevatorDoor3L(CameraFloor).Enable True
-      ElevatorDoor3R(CameraFloor).Enable True
-      ElevatorDoor4L(CameraFloor).Enable True
-      ElevatorDoor4R(CameraFloor).Enable True
-      ElevatorDoor5L(CameraFloor).Enable True
-      ElevatorDoor5R(CameraFloor).Enable True
-      ElevatorDoor6L(CameraFloor).Enable True
-      ElevatorDoor6R(CameraFloor).Enable True
-      ElevatorDoor7L(CameraFloor).Enable True
-      ElevatorDoor7R(CameraFloor).Enable True
-      ElevatorDoor8L(CameraFloor).Enable True
-      ElevatorDoor8R(CameraFloor).Enable True
-      ElevatorDoor9L(CameraFloor).Enable True
-      ElevatorDoor9R(CameraFloor).Enable True
-      ElevatorDoor10L(CameraFloor).Enable True
-      ElevatorDoor10R(CameraFloor).Enable True
-      For i6 = 1 To 10
-      CallButtons(i6).Enable True
-      Next i6
-      ShaftsFloor(CameraFloor).Enable True
-      Stairs(CameraFloor).Enable True
-      Atmos.SkyBox_Enable True
-      'If CameraFloor = 137 Then Shafts.Enable True
-      InitObjectsForFloor (CameraFloor)
-      If CameraFloor < 138 Then Stairs(CameraFloor + 1).Enable True
-      If CameraFloor > 1 Then Stairs(CameraFloor - 1).Enable True
-      End If
-      GotoFloor(6) = 0
-      OpenElevator(6) = 1
-      ElevatorCheck(6) = 0
-      ElevatorCheck2(6) = 0
-      ElevatorCheck3(6) = 0
-      ElevatorCheck4(6) = 0
-      If CameraFloor > 1 Then Camera.SetPosition Camera.GetPosition.X, (CameraFloor * 25) + 25 + 10, Camera.GetPosition.z
-      If CameraFloor = 1 And FloorIndicatorText(6) <> "M" Then Camera.SetPosition Camera.GetPosition.X, 10, Camera.GetPosition.z
-      End If
-      
-      If FineTune(6) = True Then
-      If ElevatorCheck3(6) = 0 Then
-      ElevatorSounds(6).Load App.Path + "\ding1.wav"
-      ElevatorSounds(6).Play
-      ElevatorCheck3(6) = 1
-        For i6 = -1 To 138
-        Buttons6(i6).SetColor RGBA(1, 1, 1, 1)
-        Next i6
-      End If
-      If elevatorstart(6).Y < (GotoFloor(6) * 25) + 25 Then
-      Elevator(6).MoveRelative 0, 0.2, 0
-      ElevatorInsDoorL(6).MoveRelative 0, 0.2, 0
-      ElevatorInsDoorR(6).MoveRelative 0, 0.2, 0
-      Plaque(6).MoveRelative 0, 0.2, 0
-        For i6 = -1 To 138
-        Buttons6(i6).MoveRelative 0, 0.2, 0
-        Next i6
-        FloorIndicator(6).MoveRelative 0, 0.2, 0
-        If ElevatorSync(6) = True Then Camera.MoveRelative 0, 0.2, 0
-      End If
-      If elevatorstart(6).Y > (GotoFloor(6) * 25) + 25 Then
-      Elevator(6).MoveRelative 0, -0.2, 0
-      ElevatorInsDoorL(6).MoveRelative 0, -0.2, 0
-      ElevatorInsDoorR(6).MoveRelative 0, -0.2, 0
-      Plaque(6).MoveRelative 0, -0.2, 0
-        For i6 = -1 To 138
-        Buttons6(i6).MoveRelative 0, -0.2, 0
-        Next i6
-        FloorIndicator(6).MoveRelative 0, -0.2, 0
-        If ElevatorSync(6) = True Then Camera.MoveRelative 0, -0.2, 0
-      End If
-      End If
-      
-      If OpenElevator(6) = 1 Then
-      'If ElevatorInsDoorL(ElevatorFloor2(6)).GetPosition.z >= 4 Then OpenElevator(6) = 0: GoTo OpenElevator1
-      If ElevatorDoor6L(ElevatorFloor2(6)).GetPosition.z >= 4 Then OpenElevator(6) = 0: GoTo OpenElevator1
-      If ElevatorCheck4(6) = 0 Then
-        If ElevatorSounds(6).PlayState = TV_PLAYSTATE_PLAYING Then
-        ElevatorSounds(6).Stop_
-        End If
-        ElevatorSounds(6).Loop_ = False
-        ElevatorSounds(6).Load App.Path + "\elevatoropen.wav"
-        ElevatorSounds(6).Volume = 0
-        'ElevatorSounds(6).maxDistance = 1000
-        'Call ElevatorSounds(6).SetConeOrientation(0, -5, 0)
-        'ElevatorSounds(6).ConeOutsideVolume = 0
-        'Call ElevatorSounds(6).SetPosition(-20.25, Elevator(6).GetPosition.Y, -23)
-        ElevatorSounds(6).Play
-        ElevatorCheck4(6) = 1
-      End If
-      OpenElevatorLoc(6) = OpenElevatorLoc(6) + 0.02
-      ElevatorDoor6L(ElevatorFloor2(6)).MoveRelative OpenElevatorLoc(6), 0, 0
-      ElevatorDoor6R(ElevatorFloor2(6)).MoveRelative -OpenElevatorLoc(6), 0, 0
-      ElevatorInsDoorL(6).MoveRelative OpenElevatorLoc(6), 0, 0
-      ElevatorInsDoorR(6).MoveRelative -OpenElevatorLoc(6), 0, 0
-      'If ElevatorInsDoorL(ElevatorFloor2(6)).GetPosition.z > 1 Then OpenElevator(6) = 2
-      If ElevatorDoor6L(ElevatorFloor2(6)).GetPosition.z > 1 Then OpenElevator(6) = 2
-OpenElevator1:
-      End If
-      
-      If OpenElevator(6) = 2 Then
-      ElevatorDoor6L(ElevatorFloor2(6)).MoveRelative OpenElevatorLoc(6), 0, 0
-      ElevatorDoor6R(ElevatorFloor2(6)).MoveRelative -OpenElevatorLoc(6), 0, 0
-      ElevatorInsDoorL(6).MoveRelative OpenElevatorLoc(6), 0, 0
-      ElevatorInsDoorR(6).MoveRelative -OpenElevatorLoc(6), 0, 0
-      'If ElevatorInsDoorL(ElevatorFloor2(6)).GetPosition.z > 3 Then OpenElevator(6) = 3
-      If ElevatorDoor6L(ElevatorFloor2(6)).GetPosition.z > 3 Then OpenElevator(6) = 3
-      End If
-      
-      If OpenElevator(6) = 3 Then
-      ElevatorCheck4(6) = 0
-      OpenElevatorLoc(6) = OpenElevatorLoc(6) - 0.02
-      'If ElevatorInsDoorL(ElevatorFloor2(6)).GetPosition.z < 7 And OpenElevatorLoc(6) = 0 Then OpenElevatorLoc(6) = 0.02
-      If ElevatorDoor6L(ElevatorFloor2(6)).GetPosition.z < 7 And OpenElevatorLoc(6) = 0 Then OpenElevatorLoc(6) = 0.02
-      ElevatorDoor6L(ElevatorFloor2(6)).MoveRelative OpenElevatorLoc(6), 0, 0
-      ElevatorDoor6R(ElevatorFloor2(6)).MoveRelative -OpenElevatorLoc(6), 0, 0
-      ElevatorInsDoorL(6).MoveRelative OpenElevatorLoc(6), 0, 0
-      ElevatorInsDoorR(6).MoveRelative -OpenElevatorLoc(6), 0, 0
-      If OpenElevatorLoc(6) <= 0 Then
-      OpenElevator(6) = 0
-      OpenElevatorLoc(6) = 0
-      Form1.Timer6.Enabled = True
-      End If
-      End If
-      
-      If OpenElevator(6) = -1 Then
-      'If ElevatorInsDoorL(ElevatorFloor2(6)).GetPosition.z <= 0 Then OpenElevator(6) = 0: GoTo OpenElevator2
-      If ElevatorDoor6L(ElevatorFloor2(6)).GetPosition.z <= 0 Then OpenElevator(6) = 0: GoTo OpenElevator2
-      If ElevatorCheck4(6) = 0 Then
-        If ElevatorSounds(6).PlayState = TV_PLAYSTATE_PLAYING Then
-        ElevatorSounds(6).Stop_
-        End If
-        ElevatorSounds(6).Loop_ = False
-        ElevatorSounds(6).Load App.Path + "\elevatorclose.wav"
-        ElevatorSounds(6).Volume = 0
-        'ElevatorSounds(6).maxDistance = 1000
-        'Call ElevatorSounds(6).SetConeOrientation(0, 0, 90)
-        'ElevatorSounds(6).ConeOutsideVolume = 0
-        'Call ElevatorSounds(6).SetPosition(-20.25, Elevator(6).GetPosition.Y, -23)
-        ElevatorSounds(6).Play
-        ElevatorCheck4(6) = 1
-      End If
-      OpenElevatorLoc(6) = OpenElevatorLoc(6) - 0.02
-      ElevatorDoor6L(ElevatorFloor2(6)).MoveRelative OpenElevatorLoc(6), 0, 0
-      ElevatorDoor6R(ElevatorFloor2(6)).MoveRelative -OpenElevatorLoc(6), 0, 0
-      ElevatorInsDoorL(6).MoveRelative OpenElevatorLoc(6), 0, 0
-      ElevatorInsDoorR(6).MoveRelative -OpenElevatorLoc(6), 0, 0
-      'If ElevatorInsDoorL(ElevatorFloor2(6)).GetPosition.z < 3 Then OpenElevator(6) = -2
-      If ElevatorDoor6L(ElevatorFloor2(6)).GetPosition.z < 3 Then OpenElevator(6) = -2
-OpenElevator2:
-      End If
-      
-      If OpenElevator(6) = -2 Then
-      ElevatorDoor6L(ElevatorFloor2(6)).MoveRelative OpenElevatorLoc(6), 0, 0
-      ElevatorDoor6R(ElevatorFloor2(6)).MoveRelative -OpenElevatorLoc(6), 0, 0
-      ElevatorInsDoorL(6).MoveRelative OpenElevatorLoc(6), 0, 0
-      ElevatorInsDoorR(6).MoveRelative -OpenElevatorLoc(6), 0, 0
-      'If ElevatorInsDoorL(ElevatorFloor2(6)).GetPosition.z < 1 Then OpenElevator(6) = -3
-      If ElevatorDoor6L(ElevatorFloor2(6)).GetPosition.z < 1 Then OpenElevator(6) = -3
-      End If
-      
-      If OpenElevator(6) = -3 Then
-      ElevatorCheck4(6) = 0
-      OpenElevatorLoc(6) = OpenElevatorLoc(6) + 0.02
-      'If ElevatorInsDoorL(ElevatorFloor2(6)).GetPosition.z > 0 And OpenElevatorLoc(6) >= 0 Then OpenElevatorLoc(6) = -0.02
-      If ElevatorDoor6L(ElevatorFloor2(6)).GetPosition.z > 0 And OpenElevatorLoc(6) >= 0 Then OpenElevatorLoc(6) = -0.02
-      ElevatorDoor6L(ElevatorFloor2(6)).MoveRelative OpenElevatorLoc(6), 0, 0
-      ElevatorDoor6R(ElevatorFloor2(6)).MoveRelative -OpenElevatorLoc(6), 0, 0
-      ElevatorInsDoorL(6).MoveRelative OpenElevatorLoc(6), 0, 0
-      ElevatorInsDoorR(6).MoveRelative -OpenElevatorLoc(6), 0, 0
-      If OpenElevatorLoc(6) >= 0 Then
-      OpenElevator(6) = 0
-      OpenElevatorLoc(6) = 0
-      ElevatorInsDoorL(6).SetPosition ElevatorInsDoorL(6).GetPosition.X, ElevatorInsDoorL(6).GetPosition.Y, 0
-      ElevatorInsDoorR(6).SetPosition ElevatorInsDoorR(6).GetPosition.X, ElevatorInsDoorR(6).GetPosition.Y, 0
-      ElevatorDoor6L(ElevatorFloor2(6)).SetPosition ElevatorDoor6L(ElevatorFloor2(6)).GetPosition.X, ElevatorDoor6L(ElevatorFloor2(6)).GetPosition.Y, 0
-      ElevatorDoor6R(ElevatorFloor2(6)).SetPosition ElevatorDoor6R(ElevatorFloor2(6)).GetPosition.X, ElevatorDoor6R(ElevatorFloor2(6)).GetPosition.Y, 0
-      End If
-      End If
-      
-      
 End Sub
 
-Sub Elevator7Loop()
+Sub DrawElevatorButtons31(Number As Integer)
+'Elevator Buttons
+Dim ShaftLeft As Single
+ShaftLeft = 90.5
+    
+'Elevator 5
+If Number = 25 Then
 
-elevatorstart(7) = Elevator(7).GetPosition
+    'Buttons(135).AddWall GetTex("Button135"), -(ShaftLeft+0.17), -27.85 + (15 * 2), -(ShaftLeft+0.17), -27.55 + (15 * 2), 0.3, (Elevator(Number).GetPosition.y + 12), -1, 1
+    'Buttons(1).AddWall GetTex("Button1"), -(ShaftLeft+0.17), -27.85 + (15 * 2) - 0.4, -(ShaftLeft+0.17), -27.55 + (15 * 2) - 0.4, 0.3, (Elevator(Number).GetPosition.y + 12), -1, 1
+    'Buttons(136).AddWall GetTex("Button136"), -(ShaftLeft+0.17), -27.85 + (15 * 2) - 0.8, -(ShaftLeft+0.17), -27.55 + (15 * 2) - 0.8, 0.3, (Elevator(Number).GetPosition.y + 12), -1, 1
+    'Buttons(137).AddWall GetTex("Button137"), -(ShaftLeft+0.17), -27.85 + (15 * 2) - 1.2, -(ShaftLeft+0.17), -27.55 + (15 * 2) - 1.2, 0.3, (Elevator(Number).GetPosition.y + 12), -1, 1
+    'Buttons(138).AddWall GetTex("ButtonR"), -(ShaftLeft+0.17), -27.85 + (15 * 2) - 1.6, -(ShaftLeft+0.17), -27.55 + (15 * 2) - 1.6, 0.3, (Elevator(Number).GetPosition.y + 12), -1, 1
+    
+    Buttons(75).AddWall GetTex("Button75"), -(ShaftLeft + 0.17), -27.85 + (15 * 2), -(ShaftLeft + 0.17), -27.55 + (15 * 2), 0.3, (Elevator(Number).GetPosition.Y + 12) - 0.5, -1, 1
+    Buttons(76).AddWall GetTex("Button76"), -(ShaftLeft + 0.17), -27.85 + (15 * 2) - 0.4, -(ShaftLeft + 0.17), -27.55 + (15 * 2) - 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 0.5, -1, 1
+    Buttons(77).AddWall GetTex("Button77"), -(ShaftLeft + 0.17), -27.85 + (15 * 2) - 0.8, -(ShaftLeft + 0.17), -27.55 + (15 * 2) - 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 0.5, -1, 1
+    Buttons(78).AddWall GetTex("Button78"), -(ShaftLeft + 0.17), -27.85 + (15 * 2) - 1.2, -(ShaftLeft + 0.17), -27.55 + (15 * 2) - 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 0.5, -1, 1
+    Buttons(79).AddWall GetTex("Button79"), -(ShaftLeft + 0.17), -27.85 + (15 * 2) - 1.6, -(ShaftLeft + 0.17), -27.55 + (15 * 2) - 1.6, 0.3, (Elevator(Number).GetPosition.Y + 12) - 0.5, -1, 1
+    
+    Buttons(70).AddWall GetTex("Button70"), -(ShaftLeft + 0.17), -27.85 + (15 * 2), -(ShaftLeft + 0.17), -27.55 + (15 * 2), 0.3, (Elevator(Number).GetPosition.Y + 12) - 1, -1, 1
+    Buttons(71).AddWall GetTex("Button71"), -(ShaftLeft + 0.17), -27.85 + (15 * 2) - 0.4, -(ShaftLeft + 0.17), -27.55 + (15 * 2) - 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 1, -1, 1
+    Buttons(72).AddWall GetTex("Button72"), -(ShaftLeft + 0.17), -27.85 + (15 * 2) - 0.8, -(ShaftLeft + 0.17), -27.55 + (15 * 2) - 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 1, -1, 1
+    Buttons(73).AddWall GetTex("Button73"), -(ShaftLeft + 0.17), -27.85 + (15 * 2) - 1.2, -(ShaftLeft + 0.17), -27.55 + (15 * 2) - 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 1, -1, 1
+    Buttons(74).AddWall GetTex("Button74"), -(ShaftLeft + 0.17), -27.85 + (15 * 2) - 1.6, -(ShaftLeft + 0.17), -27.55 + (15 * 2) - 1.6, 0.3, (Elevator(Number).GetPosition.Y + 12) - 1, -1, 1
+    
+    Buttons(65).AddWall GetTex("Button65"), -(ShaftLeft + 0.17), -27.85 + (15 * 2), -(ShaftLeft + 0.17), -27.55 + (15 * 2), 0.3, (Elevator(Number).GetPosition.Y + 12) - 1.5, -1, 1
+    Buttons(66).AddWall GetTex("Button66"), -(ShaftLeft + 0.17), -27.85 + (15 * 2) - 0.4, -(ShaftLeft + 0.17), -27.55 + (15 * 2) - 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 1.5, -1, 1
+    Buttons(67).AddWall GetTex("Button67"), -(ShaftLeft + 0.17), -27.85 + (15 * 2) - 0.8, -(ShaftLeft + 0.17), -27.55 + (15 * 2) - 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 1.5, -1, 1
+    Buttons(68).AddWall GetTex("Button68"), -(ShaftLeft + 0.17), -27.85 + (15 * 2) - 1.2, -(ShaftLeft + 0.17), -27.55 + (15 * 2) - 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 1.5, -1, 1
+    Buttons(69).AddWall GetTex("Button69"), -(ShaftLeft + 0.17), -27.85 + (15 * 2) - 1.6, -(ShaftLeft + 0.17), -27.55 + (15 * 2) - 1.6, 0.3, (Elevator(Number).GetPosition.Y + 12) - 1.5, -1, 1
+    
+    Buttons(60).AddWall GetTex("Button60"), -(ShaftLeft + 0.17), -27.85 + (15 * 2), -(ShaftLeft + 0.17), -27.55 + (15 * 2), 0.3, (Elevator(Number).GetPosition.Y + 12) - 2, -1, 1
+    Buttons(61).AddWall GetTex("Button61"), -(ShaftLeft + 0.17), -27.85 + (15 * 2) - 0.4, -(ShaftLeft + 0.17), -27.55 + (15 * 2) - 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 2, -1, 1
+    Buttons(62).AddWall GetTex("Button62"), -(ShaftLeft + 0.17), -27.85 + (15 * 2) - 0.8, -(ShaftLeft + 0.17), -27.55 + (15 * 2) - 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 2, -1, 1
+    Buttons(63).AddWall GetTex("Button63"), -(ShaftLeft + 0.17), -27.85 + (15 * 2) - 1.2, -(ShaftLeft + 0.17), -27.55 + (15 * 2) - 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 2, -1, 1
+    Buttons(64).AddWall GetTex("Button64"), -(ShaftLeft + 0.17), -27.85 + (15 * 2) - 1.6, -(ShaftLeft + 0.17), -27.55 + (15 * 2) - 1.6, 0.3, (Elevator(Number).GetPosition.Y + 12) - 2, -1, 1
+    
+    Buttons(55).AddWall GetTex("Button55"), -(ShaftLeft + 0.17), -27.85 + (15 * 2), -(ShaftLeft + 0.17), -27.55 + (15 * 2), 0.3, (Elevator(Number).GetPosition.Y + 12) - 2.5, -1, 1
+    Buttons(56).AddWall GetTex("Button56"), -(ShaftLeft + 0.17), -27.85 + (15 * 2) - 0.4, -(ShaftLeft + 0.17), -27.55 + (15 * 2) - 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 2.5, -1, 1
+    Buttons(57).AddWall GetTex("Button57"), -(ShaftLeft + 0.17), -27.85 + (15 * 2) - 0.8, -(ShaftLeft + 0.17), -27.55 + (15 * 2) - 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 2.5, -1, 1
+    Buttons(58).AddWall GetTex("Button58"), -(ShaftLeft + 0.17), -27.85 + (15 * 2) - 1.2, -(ShaftLeft + 0.17), -27.55 + (15 * 2) - 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 2.5, -1, 1
+    Buttons(59).AddWall GetTex("Button59"), -(ShaftLeft + 0.17), -27.85 + (15 * 2) - 1.6, -(ShaftLeft + 0.17), -27.55 + (15 * 2) - 1.6, 0.3, (Elevator(Number).GetPosition.Y + 12) - 2.5, -1, 1
+    
+    Buttons(50).AddWall GetTex("Button50"), -(ShaftLeft + 0.17), -27.85 + (15 * 2), -(ShaftLeft + 0.17), -27.55 + (15 * 2), 0.3, (Elevator(Number).GetPosition.Y + 12) - 3, -1, 1
+    Buttons(51).AddWall GetTex("Button51"), -(ShaftLeft + 0.17), -27.85 + (15 * 2) - 0.4, -(ShaftLeft + 0.17), -27.55 + (15 * 2) - 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 3, -1, 1
+    Buttons(52).AddWall GetTex("Button52"), -(ShaftLeft + 0.17), -27.85 + (15 * 2) - 0.8, -(ShaftLeft + 0.17), -27.55 + (15 * 2) - 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 3, -1, 1
+    Buttons(53).AddWall GetTex("Button53"), -(ShaftLeft + 0.17), -27.85 + (15 * 2) - 1.2, -(ShaftLeft + 0.17), -27.55 + (15 * 2) - 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 3, -1, 1
+    Buttons(54).AddWall GetTex("Button54"), -(ShaftLeft + 0.17), -27.85 + (15 * 2) - 1.6, -(ShaftLeft + 0.17), -27.55 + (15 * 2) - 1.6, 0.3, (Elevator(Number).GetPosition.Y + 12) - 3, -1, 1
+    
+    Buttons(45).AddWall GetTex("Button45"), -(ShaftLeft + 0.17), -27.85 + (15 * 2), -(ShaftLeft + 0.17), -27.55 + (15 * 2), 0.3, (Elevator(Number).GetPosition.Y + 12) - 3.5, -1, 1
+    Buttons(46).AddWall GetTex("Button46"), -(ShaftLeft + 0.17), -27.85 + (15 * 2) - 0.4, -(ShaftLeft + 0.17), -27.55 + (15 * 2) - 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 3.5, -1, 1
+    Buttons(47).AddWall GetTex("Button47"), -(ShaftLeft + 0.17), -27.85 + (15 * 2) - 0.8, -(ShaftLeft + 0.17), -27.55 + (15 * 2) - 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 3.5, -1, 1
+    Buttons(48).AddWall GetTex("Button48"), -(ShaftLeft + 0.17), -27.85 + (15 * 2) - 1.2, -(ShaftLeft + 0.17), -27.55 + (15 * 2) - 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 3.5, -1, 1
+    Buttons(49).AddWall GetTex("Button49"), -(ShaftLeft + 0.17), -27.85 + (15 * 2) - 1.6, -(ShaftLeft + 0.17), -27.55 + (15 * 2) - 1.6, 0.3, (Elevator(Number).GetPosition.Y + 12) - 3.5, -1, 1
+    
+    Buttons(40).AddWall GetTex("Button40"), -(ShaftLeft + 0.17), -27.85 + (15 * 2), -(ShaftLeft + 0.17), -27.55 + (15 * 2), 0.3, (Elevator(Number).GetPosition.Y + 12) - 4, -1, 1
+    Buttons(41).AddWall GetTex("Button41"), -(ShaftLeft + 0.17), -27.85 + (15 * 2) - 0.4, -(ShaftLeft + 0.17), -27.55 + (15 * 2) - 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 4, -1, 1
+    Buttons(42).AddWall GetTex("Button42"), -(ShaftLeft + 0.17), -27.85 + (15 * 2) - 0.8, -(ShaftLeft + 0.17), -27.55 + (15 * 2) - 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 4, -1, 1
+    Buttons(43).AddWall GetTex("Button43"), -(ShaftLeft + 0.17), -27.85 + (15 * 2) - 1.2, -(ShaftLeft + 0.17), -27.55 + (15 * 2) - 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 4, -1, 1
+    Buttons(44).AddWall GetTex("Button44"), -(ShaftLeft + 0.17), -27.85 + (15 * 2) - 1.6, -(ShaftLeft + 0.17), -27.55 + (15 * 2) - 1.6, 0.3, (Elevator(Number).GetPosition.Y + 12) - 4, -1, 1
+    
+    'Buttons(-1).AddWall GetTex("ButtonL"), -(ShaftLeft+0.17), -27.85 + (15 * 2), -(ShaftLeft+0.17), -27.55 + (15 * 2), 0.3, (Elevator(Number).GetPosition.y + 12) - 4.5, -1, 1
+    'Buttons(81).AddWall GetTex("Button81"), -(ShaftLeft+0.17), -27.85 + (15 * 2) - 0.4, -(ShaftLeft+0.17), -27.55 + (15 * 2) - 0.4, 0.3, (Elevator(Number).GetPosition.y + 12) - 4.5, -1, 1
+    Buttons(-1).AddWall GetTex("ButtonL"), -(ShaftLeft + 0.17), -27.85 + (15 * 2) - 0.8, -(ShaftLeft + 0.17), -27.55 + (15 * 2) - 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 4.5, -1, 1
+    'Buttons(83).AddWall GetTex("Button83"), -(ShaftLeft+0.17), -27.85 + (15 * 2) - 1.2, -(ShaftLeft+0.17), -27.55 + (15 * 2) - 1.2, 0.3, (Elevator(Number).GetPosition.y + 12) - 4.5, -1, 1
+    'Buttons(84).AddWall GetTex("Button84"), -(ShaftLeft+0.17), -27.85 + (15 * 2) - 1.6, -(ShaftLeft+0.17), -27.55 + (15 * 2) - 1.6, 0.3, (Elevator(Number).GetPosition.y + 12) - 4.5, -1, 1
+    
+    'Buttons(2).AddWall GetTex("Button2"), -(ShaftLeft+0.17), -27.85 + (15 * 2), -(ShaftLeft+0.17), -27.55 + (15 * 2), 0.3, (Elevator(Number).GetPosition.y + 12) - 5, -1, 1
+    'Buttons(39).AddWall GetTex("Button39"), -(ShaftLeft+0.17), -27.85 + (15 * 2) - 0.4, -(ShaftLeft+0.17), -27.55 + (15 * 2) - 0.4, 0.3, (Elevator(Number).GetPosition.y + 12) - 5, -1, 1
+    'Buttons(-1).AddWall GetTex("ButtonL"), -(ShaftLeft+0.17), -27.85 + (15 * 2) - 0.8, -(ShaftLeft+0.17), -27.55 + (15 * 2) - 0.8, 0.3, (Elevator(Number).GetPosition.y + 12) - 5, -1, 1
+    'Buttons(65).AddWall GetTex("Button65"), -(ShaftLeft+0.17), -27.85 + (15 * 2) - 1.2, -(ShaftLeft+0.17), -27.55 + (15 * 2) - 1.2, 0.3, (Elevator(Number).GetPosition.y + 12) - 5, -1, 1
+    'Buttons(79).AddWall GetTex("Button79"), -(ShaftLeft+0.17), -27.85 + (15 * 2) - 1.6, -(ShaftLeft+0.17), -27.55 + (15 * 2) - 1.6, 0.3, (Elevator(Number).GetPosition.y + 12) - 5, -1, 1
+    
+    Buttons(139).AddWall GetTex("ButtonOpen"), -(ShaftLeft + 0.17), -27.85 + (15 * 2), -(ShaftLeft + 0.17), -27.55 + (15 * 2), 0.3, (Elevator(Number).GetPosition.Y + 12) - 5.5, -1, 1
+    Buttons(140).AddWall GetTex("ButtonClose"), -(ShaftLeft + 0.17), -27.85 + (15 * 2) - 0.4, -(ShaftLeft + 0.17), -27.55 + (15 * 2) - 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 5.5, -1, 1
+    Buttons(141).AddWall GetTex("ButtonCancel"), -(ShaftLeft + 0.17), -27.85 + (15 * 2) - 0.8, -(ShaftLeft + 0.17), -27.55 + (15 * 2) - 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 5.5, -1, 1
+    Buttons(142).AddWall GetTex("ButtonStop"), -(ShaftLeft + 0.17), -27.85 + (15 * 2) - 1.2, -(ShaftLeft + 0.17), -27.55 + (15 * 2) - 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 5.5, -1, 1
+    Buttons(143).AddWall GetTex("ButtonAlarm"), -(ShaftLeft + 0.17), -27.85 + (15 * 2) - 1.6, -(ShaftLeft + 0.17), -27.55 + (15 * 2) - 1.6, 0.3, (Elevator(Number).GetPosition.Y + 12) - 5.5, -1, 1
 
-'Find the floor that the elevator's on
-ElevatorFloor(7) = (Elevator(7).GetPosition.Y - 25) / 25
-      
-      'If elevator goes below floor 2, then set elevatorfloor as 1
-      If ElevatorFloor(7) < 1 Then ElevatorFloor(7) = 1
-      
-      If GotoFloor(7) = ElevatorFloor(7) - 1 Then CurrentFloor(7) = ElevatorFloor(7)
-
-      'If GotoFloor(7) <> 0 And GotoFloor(7) > CurrentFloor(7) And ElevatorDirection(7) = 0 And ElevatorInsDoorL(ElevatorFloor2(7)).GetPosition.z <= 0 Then
-      If GotoFloor(7) <> 0 And GotoFloor(7) > CurrentFloor(7) And ElevatorDirection(7) = 0 And ElevatorDoor7L(ElevatorFloor2(7)).GetPosition.z <= 0 Then
-      ElevatorDirection(7) = 1
-      OriginalLocation(7) = CurrentFloorExact(7)
-      DistanceToTravel(7) = ((GotoFloor(7) * 25) + 25) - ((CurrentFloorExact(7) * 25) + 25)
-      If ElevatorSync(7) = True Then
-      Room(CameraFloor).Enable False
-      For i7 = 1 To 10
-      CallButtons(i7).Enable False
-      Next i7
-      ElevatorDoor1L(CameraFloor).Enable False
-      ElevatorDoor1R(CameraFloor).Enable False
-      ElevatorDoor2L(CameraFloor).Enable False
-      ElevatorDoor2R(CameraFloor).Enable False
-      ElevatorDoor3L(CameraFloor).Enable False
-      ElevatorDoor3R(CameraFloor).Enable False
-      ElevatorDoor4L(CameraFloor).Enable False
-      ElevatorDoor4R(CameraFloor).Enable False
-      ElevatorDoor5L(CameraFloor).Enable False
-      ElevatorDoor5R(CameraFloor).Enable False
-      ElevatorDoor6L(CameraFloor).Enable False
-      ElevatorDoor6R(CameraFloor).Enable False
-      ElevatorDoor7L(CameraFloor).Enable False
-      ElevatorDoor7R(CameraFloor).Enable False
-      ElevatorDoor8L(CameraFloor).Enable False
-      ElevatorDoor8R(CameraFloor).Enable False
-      ElevatorDoor9L(CameraFloor).Enable False
-      ElevatorDoor9R(CameraFloor).Enable False
-      ElevatorDoor10L(CameraFloor).Enable False
-      ElevatorDoor10R(CameraFloor).Enable False
-      DestroyObjects (CameraFloor)
-      ShaftsFloor(CameraFloor).Enable False
-      Atmos.SkyBox_Enable False
-      Stairs(CameraFloor).Enable False
-      If CameraFloor < 138 Then Stairs(CameraFloor + 1).Enable False
-      If CameraFloor > 1 Then Stairs(CameraFloor - 1).Enable False
-      End If
-      End If
-      'If GotoFloor(7) <> 0 And GotoFloor(7) < CurrentFloor(7) And ElevatorDirection(7) = 0 And ElevatorInsDoorL(ElevatorFloor2(7)).GetPosition.z <= 0 Then
-      If GotoFloor(7) <> 0 And GotoFloor(7) < CurrentFloor(7) And ElevatorDirection(7) = 0 And ElevatorDoor7L(ElevatorFloor2(7)).GetPosition.z <= 0 Then
-      ElevatorDirection(7) = -1
-      OriginalLocation(7) = CurrentFloorExact(7)
-      DistanceToTravel(7) = ((CurrentFloorExact(7) * 25) + 25) - ((GotoFloor(7) * 25) + 25)
-      If ElevatorSync(7) = True Then
-      Room(CameraFloor).Enable False
-      For i7 = 1 To 10
-      CallButtons(i7).Enable False
-      Next i7
-      ElevatorDoor1L(CameraFloor).Enable False
-      ElevatorDoor1R(CameraFloor).Enable False
-      ElevatorDoor2L(CameraFloor).Enable False
-      ElevatorDoor2R(CameraFloor).Enable False
-      ElevatorDoor3L(CameraFloor).Enable False
-      ElevatorDoor3R(CameraFloor).Enable False
-      ElevatorDoor4L(CameraFloor).Enable False
-      ElevatorDoor4R(CameraFloor).Enable False
-      ElevatorDoor5L(CameraFloor).Enable False
-      ElevatorDoor5R(CameraFloor).Enable False
-      ElevatorDoor6L(CameraFloor).Enable False
-      ElevatorDoor6R(CameraFloor).Enable False
-      ElevatorDoor7L(CameraFloor).Enable False
-      ElevatorDoor7R(CameraFloor).Enable False
-      ElevatorDoor8L(CameraFloor).Enable False
-      ElevatorDoor8R(CameraFloor).Enable False
-      ElevatorDoor9L(CameraFloor).Enable False
-      ElevatorDoor9R(CameraFloor).Enable False
-      ElevatorDoor10L(CameraFloor).Enable False
-      ElevatorDoor10R(CameraFloor).Enable False
-      DestroyObjects (CameraFloor)
-      ShaftsFloor(CameraFloor).Enable False
-      Atmos.SkyBox_Enable False
-      Stairs(CameraFloor).Enable False
-      If CameraFloor < 138 Then Stairs(CameraFloor + 1).Enable False
-      If CameraFloor > 1 Then Stairs(CameraFloor - 1).Enable False
-      End If
-      End If
-      
-       CurrentFloor(7) = Int((elevatorstart(7).Y - 25) / 25)
-       CurrentFloorExact(7) = (elevatorstart(7).Y - 25) / 25
-       'CurrentFloor(7) = (Elevator(7).GetPosition.y / 25) - 1
-       'CurrentFloorExact(7) = Int((Elevator(7).GetPosition.y / 25) - 1)
+End If
 
-       'Form2.Text1.Text = "Sound Location=7.75,20,7 " + vbCrLf + "Elevator Floor=" + Str$(ElevatorFloor(7)) + vbCrLf + "Camera Floor=" + Str$(CameraFloor) + vbCrLf + "Current Location= " + Str$(Int(Camera.GetPosition.x)) + "," + Str$(Int(Camera.GetPosition.y)) + "," + Str$(Int(Camera.GetPosition.z)) + vbCrLf + "Distance to Travel=" + Str$(DistanceToTravel(7)) + vbCrLf + "Destination=" + Str$(Destination) + vbCrLf + "Rate=" + Str$(ElevatorEnable(7) / 5)
-        
-        If ElevatorEnable(7) >= 0 And ElevatorDirection(7) = 1 Then
-        'sound
-        If ElevatorSounds(7).PlayState <> TV_PLAYSTATE_PLAYING And ElevatorCheck(7) = 0 And GotoFloor(7) <> ElevatorFloor(7) Then
-        ElevatorSounds(7).Loop_ = False
-        ElevatorSounds(7).Load App.Path + "\elevstart.wav"
-        ElevatorSounds(7).Volume = 0
-        'ElevatorSounds(7).maxDistance = 100
-        'Call ElevatorSounds(7).SetConeOrientation(0, 0, 90)
-        'ElevatorSounds(7).ConeOutsideVolume = 0
-        'Call ElevatorSounds(7).SetPosition(-20.25, Elevator1(7).GetPosition.Y + 20, -23)
-        ElevatorSounds(7).Play
-        ElevatorCheck(7) = 1
-        End If
-        If ElevatorSounds(7).PlayState = TV_PLAYSTATE_ENDED And ElevatorCheck(7) = 1 Then
-        ElevatorSounds(7).Load App.Path + "\elevmove.wav"
-        ElevatorSounds(7).Loop_ = True
-        ElevatorSounds(7).Play
-        End If
-        'movement
-        Elevator(7).MoveRelative 0, (ElevatorEnable(7) / 5), 0
-        ElevatorInsDoorL(7).MoveRelative 0, (ElevatorEnable(7) / 5), 0
-        ElevatorInsDoorR(7).MoveRelative 0, (ElevatorEnable(7) / 5), 0
-        FloorIndicator(7).MoveRelative 0, (ElevatorEnable(7) / 5), 0
-        Plaque(7).MoveRelative 0, (ElevatorEnable(7) / 5), 0
-        For i7 = -1 To 138
-        Buttons7(i7).MoveRelative 0, (ElevatorEnable(7) / 5), 0
-        Next i7
-        If ElevatorSync(7) = True Then Camera.MoveRelative 0, (ElevatorEnable(7) / 5), 0
-        'ElevatorSounds(7).SetPosition -20.25, Elevator(7).GetPosition.Y + 20, -23
-        ''ElevatorMusic(7).SetPosition -20.25, Elevator(7).GetPosition.Y + 20, -23
-        ElevatorEnable(7) = ElevatorEnable(7) + 0.25
-        If ElevatorEnable(7) <= 15 Then StoppingDistance(7) = CurrentFloorExact(7) - OriginalLocation(7) + 0.4
-        If ElevatorEnable(7) > 15 Then ElevatorEnable(7) = 15
-        Destination(7) = ((OriginalLocation(7) * 25) + 25) + DistanceToTravel(7) - 35
-        If GotoFloor(7) <> 0 And elevatorstart(7).Y >= (Destination(7) - (StoppingDistance(7) * 25) + 25) Then ElevatorDirection(7) = -1: ElevatorCheck(7) = 0
-        End If
-      
-        If ElevatorEnable(7) > 0 And ElevatorDirection(7) = -1 Then
-        'Sounds
-        If ElevatorSounds(7).PlayState = TV_PLAYSTATE_PLAYING And ElevatorCheck2(7) = 0 And FineTune(7) = False Then
-        ElevatorSounds(7).Loop_ = False
-        ElevatorSounds(7).Stop_
-        End If
-        If ElevatorSounds(7).PlayState <> TV_PLAYSTATE_PLAYING And ElevatorCheck2(7) = 0 And FineTune(7) = False Then
-        ElevatorSounds(7).Loop_ = False
-        ElevatorSounds(7).Load App.Path + "\elevstop.wav"
-        ElevatorSounds(7).Play
-        ElevatorCheck2(7) = 1
-        End If
-        'Movement
-        Elevator(7).MoveRelative 0, (ElevatorEnable(7) / 5), 0
-        ElevatorInsDoorL(7).MoveRelative 0, (ElevatorEnable(7) / 5), 0
-        ElevatorInsDoorR(7).MoveRelative 0, (ElevatorEnable(7) / 5), 0
-        FloorIndicator(7).MoveRelative 0, (ElevatorEnable(7) / 5), 0
-        Plaque(7).MoveRelative 0, (ElevatorEnable(7) / 5), 0
-        For i7 = -1 To 138
-        Buttons7(i7).MoveRelative 0, (ElevatorEnable(7) / 5), 0
-        Next i7
-        If ElevatorSync(7) = True Then Camera.MoveRelative 0, (ElevatorEnable(7) / 5), 0
-        
-        'ElevatorSounds(7).SetPosition -20.25, Elevator(7).GetPosition.Y + 20, -23
-        ''ElevatorMusic(7).SetPosition -20.25, Elevator(7).GetPosition.Y + 20, -23
-        ElevatorEnable(7) = ElevatorEnable(7) - 0.25
-        If ElevatorEnable(7) < 0 Then ElevatorEnable(7) = 0
-        If ElevatorEnable(7) = 0 Then ElevatorDirection(7) = 0
-        If GotoFloor(7) <> 0 Then ElevatorCheck(7) = 0: FineTune(7) = True
-        End If
-      
-        If ElevatorEnable(7) <= 0 And ElevatorDirection(7) = -1 Then
-        If ElevatorSounds(7).PlayState <> TV_PLAYSTATE_PLAYING And ElevatorCheck(7) = 0 Then
-        ElevatorSounds(7).Loop_ = False
-        ElevatorSounds(7).Load App.Path + "\elevstart.wav"
-        ElevatorSounds(7).Volume = 0
-        'ElevatorSounds(7).maxDistance = 100
-        'Call ElevatorSounds(7).SetConeOrientation(0, 0, 90)
-        'ElevatorSounds(7).ConeOutsideVolume = 0
-        'Call ElevatorSounds(7).SetPosition(-20.25, Elevator(7).GetPosition.Y + 20, -23)
-        ElevatorSounds(7).Play
-        ElevatorCheck(7) = 1
-        End If
-        If ElevatorSounds(7).PlayState = TV_PLAYSTATE_ENDED And ElevatorCheck(7) = 1 Then
-        ElevatorSounds(7).Load App.Path + "\elevmove.wav"
-        ElevatorSounds(7).Loop_ = True
-        ElevatorSounds(7).Play
-        End If
-        Elevator(7).MoveRelative 0, (ElevatorEnable(7) / 5), 0
-        ElevatorInsDoorL(7).MoveRelative 0, (ElevatorEnable(7) / 5), 0
-        ElevatorInsDoorR(7).MoveRelative 0, (ElevatorEnable(7) / 5), 0
-        FloorIndicator(7).MoveRelative 0, (ElevatorEnable(7) / 5), 0
-        Plaque(7).MoveRelative 0, (ElevatorEnable(7) / 5), 0
-        For i7 = -1 To 138
-        Buttons7(i7).MoveRelative 0, (ElevatorEnable(7) / 5), 0
-        Next i7
-        If ElevatorSync(7) = True Then Camera.MoveRelative 0, (ElevatorEnable(7) / 5), 0
-        'ElevatorSounds(7).SetPosition -20.25, Elevator(7).GetPosition.Y + 20, -23
-        ''ElevatorMusic(7).SetPosition -20.25, Elevator(7).GetPosition.Y + 20, -23
-        ElevatorEnable(7) = ElevatorEnable(7) - 0.25
-        If ElevatorEnable(7) >= -15 Then StoppingDistance(7) = OriginalLocation(7) - CurrentFloorExact(7)
-        If ElevatorEnable(7) < -15 Then ElevatorEnable(7) = -15
-        Destination(7) = ((OriginalLocation(7) * 25) + 25) - DistanceToTravel(7)
-        If GotoFloor(7) <> 0 And elevatorstart(7).Y <= (Destination(7) + (StoppingDistance(7) * 25) + 25) Then ElevatorDirection(7) = 1: ElevatorCheck(7) = 0
-        End If
-      
-        If ElevatorEnable(7) < 0 And ElevatorDirection(7) = 1 Then
-        If ElevatorSounds(7).PlayState = TV_PLAYSTATE_PLAYING And ElevatorCheck2(7) = 0 And FineTune(7) = False Then
-        ElevatorSounds(7).Loop_ = False
-        ElevatorSounds(7).Stop_
-        End If
-        If ElevatorSounds(7).PlayState <> TV_PLAYSTATE_PLAYING And ElevatorCheck2(7) = 0 And FineTune(7) = False Then
-        ElevatorSounds(7).Loop_ = False
-        ElevatorSounds(7).Load App.Path + "\elevstop.wav"
-        ElevatorSounds(7).Play
-        ElevatorCheck2(7) = 1
-        End If
-        Elevator(7).MoveRelative 0, (ElevatorEnable(7) / 5), 0
-        ElevatorInsDoorL(7).MoveRelative 0, (ElevatorEnable(7) / 5), 0
-        ElevatorInsDoorR(7).MoveRelative 0, (ElevatorEnable(7) / 5), 0
-        FloorIndicator(7).MoveRelative 0, (ElevatorEnable(7) / 5), 0
-        Plaque(7).MoveRelative 0, (ElevatorEnable(7) / 5), 0
-        For i7 = -1 To 138
-        Buttons7(i7).MoveRelative 0, (ElevatorEnable(7) / 5), 0
-        Next i7
-        If ElevatorSync(7) = True Then Camera.MoveRelative 0, (ElevatorEnable(7) / 5), 0
-        'ElevatorSounds(7).SetPosition -20.25, Elevator(7).GetPosition.Y + 20, -23
-        ''ElevatorMusic(7).SetPosition -20.25, Elevator(7).GetPosition.Y + 20, -23
-        ElevatorEnable(7) = ElevatorEnable(7) + 0.25
-        If ElevatorEnable(7) > 0 Then ElevatorEnable(7) = 0
-        If ElevatorEnable(7) = 0 Then ElevatorDirection(7) = 0
-        If GotoFloor(7) <> 0 Then ElevatorCheck(7) = 0: FineTune(7) = True
-        End If
-      
-      If FineTune(7) = True And ElevatorEnable(7) = 0 And elevatorstart(7).Y > (GotoFloor(7) * 25) + 25 + -0.3 And elevatorstart(7).Y < (GotoFloor(7) * 25) + 25 + 0.3 Then
-      FineTune(7) = False
-      If ElevatorSync(7) = True Then
-      Room(CameraFloor).Enable True
-      ElevatorDoor1L(CameraFloor).Enable True
-      ElevatorDoor1R(CameraFloor).Enable True
-      ElevatorDoor2L(CameraFloor).Enable True
-      ElevatorDoor2R(CameraFloor).Enable True
-      ElevatorDoor3L(CameraFloor).Enable True
-      ElevatorDoor3R(CameraFloor).Enable True
-      ElevatorDoor4L(CameraFloor).Enable True
-      ElevatorDoor4R(CameraFloor).Enable True
-      ElevatorDoor5L(CameraFloor).Enable True
-      ElevatorDoor5R(CameraFloor).Enable True
-      ElevatorDoor6L(CameraFloor).Enable True
-      ElevatorDoor6R(CameraFloor).Enable True
-      ElevatorDoor7L(CameraFloor).Enable True
-      ElevatorDoor7R(CameraFloor).Enable True
-      ElevatorDoor8L(CameraFloor).Enable True
-      ElevatorDoor8R(CameraFloor).Enable True
-      ElevatorDoor9L(CameraFloor).Enable True
-      ElevatorDoor9R(CameraFloor).Enable True
-      ElevatorDoor10L(CameraFloor).Enable True
-      ElevatorDoor10R(CameraFloor).Enable True
-      For i7 = 1 To 10
-      CallButtons(i7).Enable True
-      Next i7
-      ShaftsFloor(CameraFloor).Enable True
-      Stairs(CameraFloor).Enable True
-      Atmos.SkyBox_Enable True
-      'If CameraFloor = 137 Then Shafts.Enable True
-      InitObjectsForFloor (CameraFloor)
-      If CameraFloor < 138 Then Stairs(CameraFloor + 1).Enable True
-      If CameraFloor > 1 Then Stairs(CameraFloor - 1).Enable True
-      End If
-      GotoFloor(7) = 0
-      OpenElevator(7) = 1
-      ElevatorCheck(7) = 0
-      ElevatorCheck2(7) = 0
-      ElevatorCheck3(7) = 0
-      ElevatorCheck4(7) = 0
-      If CameraFloor > 1 Then Camera.SetPosition Camera.GetPosition.X, (CameraFloor * 25) + 25 + 10, Camera.GetPosition.z
-      If CameraFloor = 1 And FloorIndicatorText(7) <> "M" Then Camera.SetPosition Camera.GetPosition.X, 10, Camera.GetPosition.z
-      End If
-      
-      If FineTune(7) = True Then
-      If ElevatorCheck3(7) = 0 Then
-      ElevatorSounds(7).Load App.Path + "\ding1.wav"
-      ElevatorSounds(7).Play
-      ElevatorCheck3(7) = 1
-        For i7 = -1 To 138
-        Buttons7(i7).SetColor RGBA(1, 1, 1, 1)
-        Next i7
-      End If
-      If elevatorstart(7).Y < (GotoFloor(7) * 25) + 25 Then
-      Elevator(7).MoveRelative 0, 0.2, 0
-      ElevatorInsDoorL(7).MoveRelative 0, 0.2, 0
-      ElevatorInsDoorR(7).MoveRelative 0, 0.2, 0
-      Plaque(7).MoveRelative 0, 0.2, 0
-        For i7 = -1 To 138
-        Buttons7(i7).MoveRelative 0, 0.2, 0
-        Next i7
-        FloorIndicator(7).MoveRelative 0, 0.2, 0
-        If ElevatorSync(7) = True Then Camera.MoveRelative 0, 0.2, 0
-      End If
-      If elevatorstart(7).Y > (GotoFloor(7) * 25) + 25 Then
-      Elevator(7).MoveRelative 0, -0.2, 0
-      ElevatorInsDoorL(7).MoveRelative 0, -0.2, 0
-      ElevatorInsDoorR(7).MoveRelative 0, -0.2, 0
-      Plaque(7).MoveRelative 0, -0.2, 0
-        For i7 = -1 To 138
-        Buttons7(i7).MoveRelative 0, -0.2, 0
-        Next i7
-        FloorIndicator(7).MoveRelative 0, -0.2, 0
-        If ElevatorSync(7) = True Then Camera.MoveRelative 0, -0.2, 0
-      End If
-      End If
-      
-      If OpenElevator(7) = 1 Then
-      'If ElevatorInsDoorL(ElevatorFloor2(7)).GetPosition.z >= 4 Then OpenElevator(7) = 0: GoTo OpenElevator1
-      If ElevatorDoor7L(ElevatorFloor2(7)).GetPosition.z >= 4 Then OpenElevator(7) = 0: GoTo OpenElevator1
-      If ElevatorCheck4(7) = 0 Then
-        If ElevatorSounds(7).PlayState = TV_PLAYSTATE_PLAYING Then
-        ElevatorSounds(7).Stop_
-        End If
-        ElevatorSounds(7).Loop_ = False
-        ElevatorSounds(7).Load App.Path + "\elevatoropen.wav"
-        ElevatorSounds(7).Volume = 0
-        'ElevatorSounds(7).maxDistance = 1000
-        'Call ElevatorSounds(7).SetConeOrientation(0, -5, 0)
-        'ElevatorSounds(7).ConeOutsideVolume = 0
-        'Call ElevatorSounds(7).SetPosition(-20.25, Elevator(7).GetPosition.Y, -23)
-        ElevatorSounds(7).Play
-        ElevatorCheck4(7) = 1
-      End If
-      OpenElevatorLoc(7) = OpenElevatorLoc(7) + 0.02
-      ElevatorDoor7L(ElevatorFloor2(7)).MoveRelative OpenElevatorLoc(7), 0, 0
-      ElevatorDoor7R(ElevatorFloor2(7)).MoveRelative -OpenElevatorLoc(7), 0, 0
-      ElevatorInsDoorL(7).MoveRelative OpenElevatorLoc(7), 0, 0
-      ElevatorInsDoorR(7).MoveRelative -OpenElevatorLoc(7), 0, 0
-      'If ElevatorInsDoorL(ElevatorFloor2(7)).GetPosition.z > 1 Then OpenElevator(7) = 2
-      If ElevatorDoor7L(ElevatorFloor2(7)).GetPosition.z > 1 Then OpenElevator(7) = 2
-OpenElevator1:
-      End If
-      
-      If OpenElevator(7) = 2 Then
-      ElevatorDoor7L(ElevatorFloor2(7)).MoveRelative OpenElevatorLoc(7), 0, 0
-      ElevatorDoor7R(ElevatorFloor2(7)).MoveRelative -OpenElevatorLoc(7), 0, 0
-      ElevatorInsDoorL(7).MoveRelative OpenElevatorLoc(7), 0, 0
-      ElevatorInsDoorR(7).MoveRelative -OpenElevatorLoc(7), 0, 0
-      'If ElevatorInsDoorL(ElevatorFloor2(7)).GetPosition.z > 3 Then OpenElevator(7) = 3
-      If ElevatorDoor7L(ElevatorFloor2(7)).GetPosition.z > 3 Then OpenElevator(7) = 3
-      End If
-      
-      If OpenElevator(7) = 3 Then
-      ElevatorCheck4(7) = 0
-      OpenElevatorLoc(7) = OpenElevatorLoc(7) - 0.02
-      'If ElevatorInsDoorL(ElevatorFloor2(7)).GetPosition.z < 7 And OpenElevatorLoc(7) = 0 Then OpenElevatorLoc(7) = 0.02
-      If ElevatorDoor7L(ElevatorFloor2(7)).GetPosition.z < 7 And OpenElevatorLoc(7) = 0 Then OpenElevatorLoc(7) = 0.02
-      ElevatorDoor7L(ElevatorFloor2(7)).MoveRelative OpenElevatorLoc(7), 0, 0
-      ElevatorDoor7R(ElevatorFloor2(7)).MoveRelative -OpenElevatorLoc(7), 0, 0
-      ElevatorInsDoorL(7).MoveRelative OpenElevatorLoc(7), 0, 0
-      ElevatorInsDoorR(7).MoveRelative -OpenElevatorLoc(7), 0, 0
-      If OpenElevatorLoc(7) <= 0 Then
-      OpenElevator(7) = 0
-      OpenElevatorLoc(7) = 0
-      Form1.Timer7.Enabled = True
-      End If
-      End If
-      
-      If OpenElevator(7) = -1 Then
-      'If ElevatorInsDoorL(ElevatorFloor2(7)).GetPosition.z <= 0 Then OpenElevator(7) = 0: GoTo OpenElevator2
-      If ElevatorDoor7L(ElevatorFloor2(7)).GetPosition.z <= 0 Then OpenElevator(7) = 0: GoTo OpenElevator2
-      If ElevatorCheck4(7) = 0 Then
-        If ElevatorSounds(7).PlayState = TV_PLAYSTATE_PLAYING Then
-        ElevatorSounds(7).Stop_
-        End If
-        ElevatorSounds(7).Loop_ = False
-        ElevatorSounds(7).Load App.Path + "\elevatorclose.wav"
-        ElevatorSounds(7).Volume = 0
-        'ElevatorSounds(7).maxDistance = 1000
-        'Call ElevatorSounds(7).SetConeOrientation(0, 0, 90)
-        'ElevatorSounds(7).ConeOutsideVolume = 0
-        'Call ElevatorSounds(7).SetPosition(-20.25, Elevator(7).GetPosition.Y, -23)
-        ElevatorSounds(7).Play
-        ElevatorCheck4(7) = 1
-      End If
-      OpenElevatorLoc(7) = OpenElevatorLoc(7) - 0.02
-      ElevatorDoor7L(ElevatorFloor2(7)).MoveRelative OpenElevatorLoc(7), 0, 0
-      ElevatorDoor7R(ElevatorFloor2(7)).MoveRelative -OpenElevatorLoc(7), 0, 0
-      ElevatorInsDoorL(7).MoveRelative OpenElevatorLoc(7), 0, 0
-      ElevatorInsDoorR(7).MoveRelative -OpenElevatorLoc(7), 0, 0
-      'If ElevatorInsDoorL(ElevatorFloor2(7)).GetPosition.z < 3 Then OpenElevator(7) = -2
-      If ElevatorDoor7L(ElevatorFloor2(7)).GetPosition.z < 3 Then OpenElevator(7) = -2
-OpenElevator2:
-      End If
-      
-      If OpenElevator(7) = -2 Then
-      ElevatorDoor7L(ElevatorFloor2(7)).MoveRelative OpenElevatorLoc(7), 0, 0
-      ElevatorDoor7R(ElevatorFloor2(7)).MoveRelative -OpenElevatorLoc(7), 0, 0
-      ElevatorInsDoorL(7).MoveRelative OpenElevatorLoc(7), 0, 0
-      ElevatorInsDoorR(7).MoveRelative -OpenElevatorLoc(7), 0, 0
-      'If ElevatorInsDoorL(ElevatorFloor2(7)).GetPosition.z < 1 Then OpenElevator(7) = -3
-      If ElevatorDoor7L(ElevatorFloor2(7)).GetPosition.z < 1 Then OpenElevator(7) = -3
-      End If
-      
-      If OpenElevator(7) = -3 Then
-      ElevatorCheck4(7) = 0
-      OpenElevatorLoc(7) = OpenElevatorLoc(7) + 0.02
-      'If ElevatorInsDoorL(ElevatorFloor2(7)).GetPosition.z > 0 And OpenElevatorLoc(7) >= 0 Then OpenElevatorLoc(7) = -0.02
-      If ElevatorDoor7L(ElevatorFloor2(7)).GetPosition.z > 0 And OpenElevatorLoc(7) >= 0 Then OpenElevatorLoc(7) = -0.02
-      ElevatorDoor7L(ElevatorFloor2(7)).MoveRelative OpenElevatorLoc(7), 0, 0
-      ElevatorDoor7R(ElevatorFloor2(7)).MoveRelative -OpenElevatorLoc(7), 0, 0
-      ElevatorInsDoorL(7).MoveRelative OpenElevatorLoc(7), 0, 0
-      ElevatorInsDoorR(7).MoveRelative -OpenElevatorLoc(7), 0, 0
-      If OpenElevatorLoc(7) >= 0 Then
-      OpenElevator(7) = 0
-      OpenElevatorLoc(7) = 0
-      ElevatorInsDoorL(7).SetPosition ElevatorInsDoorL(7).GetPosition.X, ElevatorInsDoorL(7).GetPosition.Y, 0
-      ElevatorInsDoorR(7).SetPosition ElevatorInsDoorR(7).GetPosition.X, ElevatorInsDoorR(7).GetPosition.Y, 0
-      ElevatorDoor7L(ElevatorFloor2(7)).SetPosition ElevatorDoor7L(ElevatorFloor2(7)).GetPosition.X, ElevatorDoor7L(ElevatorFloor2(7)).GetPosition.Y, 0
-      ElevatorDoor7R(ElevatorFloor2(7)).SetPosition ElevatorDoor7R(ElevatorFloor2(7)).GetPosition.X, ElevatorDoor7R(ElevatorFloor2(7)).GetPosition.Y, 0
-      End If
-      End If
-      
-      
+'Elevator 6
+If Number = 26 Then
+
+'Buttons(135).AddWall GetTex("Button135"), (ShaftLeft+0.17), -18.45 + (15 * 2), (ShaftLeft+0.17), -18.15 + (15 * 2), 0.3, (Elevator(Number).GetPosition.y + 12), 1, 1
+    'Buttons(1).AddWall GetTex("Button1"), (ShaftLeft+0.17), -18.45 + (15 * 2) + 0.4, (ShaftLeft+0.17), -18.15 + (15 * 2) + 0.4, 0.3, (Elevator(Number).GetPosition.y + 12), 1, 1
+    'Buttons(136).AddWall GetTex("Button136"), (ShaftLeft+0.17), -18.45 + (15 * 2) + 0.8, (ShaftLeft+0.17), -18.15 + (15 * 2) + 0.8, 0.3, (Elevator(Number).GetPosition.y + 12), 1, 1
+    'Buttons(137).AddWall GetTex("Button137"), (ShaftLeft+0.17), -18.45 + (15 * 2) + 1.2, (ShaftLeft+0.17), -18.15 + (15 * 2) + 1.2, 0.3, (Elevator(Number).GetPosition.y + 12), 1, 1
+    'Buttons(138).AddWall GetTex("ButtonR"), (ShaftLeft+0.17), -18.45 + (15 * 2) + 1.6, (ShaftLeft+0.17), -18.15 + (15 * 2) + 1.6, 0.3, (Elevator(Number).GetPosition.y + 12), 1, 1
+    
+    Buttons(75).AddWall GetTex("Button75"), (ShaftLeft + 0.17), -18.45 + (15 * 2), (ShaftLeft + 0.17), -18.15 + (15 * 2), 0.3, (Elevator(Number).GetPosition.Y + 12) - 0.5, 1, 1
+    Buttons(76).AddWall GetTex("Button76"), (ShaftLeft + 0.17), -18.45 + (15 * 2) + 0.4, (ShaftLeft + 0.17), -18.15 + (15 * 2) + 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 0.5, 1, 1
+    Buttons(77).AddWall GetTex("Button77"), (ShaftLeft + 0.17), -18.45 + (15 * 2) + 0.8, (ShaftLeft + 0.17), -18.15 + (15 * 2) + 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 0.5, 1, 1
+    Buttons(78).AddWall GetTex("Button78"), (ShaftLeft + 0.17), -18.45 + (15 * 2) + 1.2, (ShaftLeft + 0.17), -18.15 + (15 * 2) + 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 0.5, 1, 1
+    Buttons(79).AddWall GetTex("Button79"), (ShaftLeft + 0.17), -18.45 + (15 * 2) + 1.6, (ShaftLeft + 0.17), -18.15 + (15 * 2) + 1.6, 0.3, (Elevator(Number).GetPosition.Y + 12) - 0.5, 1, 1
+    
+    Buttons(70).AddWall GetTex("Button70"), (ShaftLeft + 0.17), -18.45 + (15 * 2), (ShaftLeft + 0.17), -18.15 + (15 * 2), 0.3, (Elevator(Number).GetPosition.Y + 12) - 1, 1, 1
+    Buttons(71).AddWall GetTex("Button71"), (ShaftLeft + 0.17), -18.45 + (15 * 2) + 0.4, (ShaftLeft + 0.17), -18.15 + (15 * 2) + 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 1, 1, 1
+    Buttons(72).AddWall GetTex("Button72"), (ShaftLeft + 0.17), -18.45 + (15 * 2) + 0.8, (ShaftLeft + 0.17), -18.15 + (15 * 2) + 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 1, 1, 1
+    Buttons(73).AddWall GetTex("Button73"), (ShaftLeft + 0.17), -18.45 + (15 * 2) + 1.2, (ShaftLeft + 0.17), -18.15 + (15 * 2) + 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 1, 1, 1
+    Buttons(74).AddWall GetTex("Button74"), (ShaftLeft + 0.17), -18.45 + (15 * 2) + 1.6, (ShaftLeft + 0.17), -18.15 + (15 * 2) + 1.6, 0.3, (Elevator(Number).GetPosition.Y + 12) - 1, 1, 1
+    
+    Buttons(65).AddWall GetTex("Button65"), (ShaftLeft + 0.17), -18.45 + (15 * 2), (ShaftLeft + 0.17), -18.15 + (15 * 2), 0.3, (Elevator(Number).GetPosition.Y + 12) - 1.5, 1, 1
+    Buttons(66).AddWall GetTex("Button66"), (ShaftLeft + 0.17), -18.45 + (15 * 2) + 0.4, (ShaftLeft + 0.17), -18.15 + (15 * 2) + 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 1.5, 1, 1
+    Buttons(67).AddWall GetTex("Button67"), (ShaftLeft + 0.17), -18.45 + (15 * 2) + 0.8, (ShaftLeft + 0.17), -18.15 + (15 * 2) + 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 1.5, 1, 1
+    Buttons(68).AddWall GetTex("Button68"), (ShaftLeft + 0.17), -18.45 + (15 * 2) + 1.2, (ShaftLeft + 0.17), -18.15 + (15 * 2) + 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 1.5, 1, 1
+    Buttons(69).AddWall GetTex("Button69"), (ShaftLeft + 0.17), -18.45 + (15 * 2) + 1.6, (ShaftLeft + 0.17), -18.15 + (15 * 2) + 1.6, 0.3, (Elevator(Number).GetPosition.Y + 12) - 1.5, 1, 1
+    
+    Buttons(60).AddWall GetTex("Button60"), (ShaftLeft + 0.17), -18.45 + (15 * 2), (ShaftLeft + 0.17), -18.15 + (15 * 2), 0.3, (Elevator(Number).GetPosition.Y + 12) - 2, 1, 1
+    Buttons(61).AddWall GetTex("Button61"), (ShaftLeft + 0.17), -18.45 + (15 * 2) + 0.4, (ShaftLeft + 0.17), -18.15 + (15 * 2) + 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 2, 1, 1
+    Buttons(62).AddWall GetTex("Button62"), (ShaftLeft + 0.17), -18.45 + (15 * 2) + 0.8, (ShaftLeft + 0.17), -18.15 + (15 * 2) + 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 2, 1, 1
+    Buttons(63).AddWall GetTex("Button63"), (ShaftLeft + 0.17), -18.45 + (15 * 2) + 1.2, (ShaftLeft + 0.17), -18.15 + (15 * 2) + 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 2, 1, 1
+    Buttons(64).AddWall GetTex("Button64"), (ShaftLeft + 0.17), -18.45 + (15 * 2) + 1.6, (ShaftLeft + 0.17), -18.15 + (15 * 2) + 1.6, 0.3, (Elevator(Number).GetPosition.Y + 12) - 2, 1, 1
+    
+    Buttons(55).AddWall GetTex("Button55"), (ShaftLeft + 0.17), -18.45 + (15 * 2), (ShaftLeft + 0.17), -18.15 + (15 * 2), 0.3, (Elevator(Number).GetPosition.Y + 12) - 2.5, 1, 1
+    Buttons(56).AddWall GetTex("Button56"), (ShaftLeft + 0.17), -18.45 + (15 * 2) + 0.4, (ShaftLeft + 0.17), -18.15 + (15 * 2) + 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 2.5, 1, 1
+    Buttons(57).AddWall GetTex("Button57"), (ShaftLeft + 0.17), -18.45 + (15 * 2) + 0.8, (ShaftLeft + 0.17), -18.15 + (15 * 2) + 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 2.5, 1, 1
+    Buttons(58).AddWall GetTex("Button58"), (ShaftLeft + 0.17), -18.45 + (15 * 2) + 1.2, (ShaftLeft + 0.17), -18.15 + (15 * 2) + 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 2.5, 1, 1
+    Buttons(59).AddWall GetTex("Button59"), (ShaftLeft + 0.17), -18.45 + (15 * 2) + 1.6, (ShaftLeft + 0.17), -18.15 + (15 * 2) + 1.6, 0.3, (Elevator(Number).GetPosition.Y + 12) - 2.5, 1, 1
+    
+    Buttons(50).AddWall GetTex("Button50"), (ShaftLeft + 0.17), -18.45 + (15 * 2), (ShaftLeft + 0.17), -18.15 + (15 * 2), 0.3, (Elevator(Number).GetPosition.Y + 12) - 3, 1, 1
+    Buttons(51).AddWall GetTex("Button51"), (ShaftLeft + 0.17), -18.45 + (15 * 2) + 0.4, (ShaftLeft + 0.17), -18.15 + (15 * 2) + 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 3, 1, 1
+    Buttons(52).AddWall GetTex("Button52"), (ShaftLeft + 0.17), -18.45 + (15 * 2) + 0.8, (ShaftLeft + 0.17), -18.15 + (15 * 2) + 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 3, 1, 1
+    Buttons(53).AddWall GetTex("Button53"), (ShaftLeft + 0.17), -18.45 + (15 * 2) + 1.2, (ShaftLeft + 0.17), -18.15 + (15 * 2) + 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 3, 1, 1
+    Buttons(54).AddWall GetTex("Button54"), (ShaftLeft + 0.17), -18.45 + (15 * 2) + 1.6, (ShaftLeft + 0.17), -18.15 + (15 * 2) + 1.6, 0.3, (Elevator(Number).GetPosition.Y + 12) - 3, 1, 1
+    
+    Buttons(45).AddWall GetTex("Button45"), (ShaftLeft + 0.17), -18.45 + (15 * 2), (ShaftLeft + 0.17), -18.15 + (15 * 2), 0.3, (Elevator(Number).GetPosition.Y + 12) - 3.5, 1, 1
+    Buttons(46).AddWall GetTex("Button46"), (ShaftLeft + 0.17), -18.45 + (15 * 2) + 0.4, (ShaftLeft + 0.17), -18.15 + (15 * 2) + 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 3.5, 1, 1
+    Buttons(47).AddWall GetTex("Button47"), (ShaftLeft + 0.17), -18.45 + (15 * 2) + 0.8, (ShaftLeft + 0.17), -18.15 + (15 * 2) + 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 3.5, 1, 1
+    Buttons(48).AddWall GetTex("Button48"), (ShaftLeft + 0.17), -18.45 + (15 * 2) + 1.2, (ShaftLeft + 0.17), -18.15 + (15 * 2) + 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 3.5, 1, 1
+    Buttons(49).AddWall GetTex("Button49"), (ShaftLeft + 0.17), -18.45 + (15 * 2) + 1.6, (ShaftLeft + 0.17), -18.15 + (15 * 2) + 1.6, 0.3, (Elevator(Number).GetPosition.Y + 12) - 3.5, 1, 1
+    
+    Buttons(40).AddWall GetTex("Button40"), (ShaftLeft + 0.17), -18.45 + (15 * 2), (ShaftLeft + 0.17), -18.15 + (15 * 2), 0.3, (Elevator(Number).GetPosition.Y + 12) - 4, 1, 1
+    Buttons(41).AddWall GetTex("Button41"), (ShaftLeft + 0.17), -18.45 + (15 * 2) + 0.4, (ShaftLeft + 0.17), -18.15 + (15 * 2) + 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 4, 1, 1
+    Buttons(42).AddWall GetTex("Button42"), (ShaftLeft + 0.17), -18.45 + (15 * 2) + 0.8, (ShaftLeft + 0.17), -18.15 + (15 * 2) + 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 4, 1, 1
+    Buttons(43).AddWall GetTex("Button43"), (ShaftLeft + 0.17), -18.45 + (15 * 2) + 1.2, (ShaftLeft + 0.17), -18.15 + (15 * 2) + 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 4, 1, 1
+    Buttons(44).AddWall GetTex("Button44"), (ShaftLeft + 0.17), -18.45 + (15 * 2) + 1.6, (ShaftLeft + 0.17), -18.15 + (15 * 2) + 1.6, 0.3, (Elevator(Number).GetPosition.Y + 12) - 4, 1, 1
+    
+    'Buttons(-1).AddWall GetTex("ButtonL"), (ShaftLeft+0.17), -18.45 + (15 * 2), (ShaftLeft+0.17), -18.15 + (15 * 2), 0.3, (Elevator(Number).GetPosition.y + 12) - 4.5, 1, 1
+    'Buttons(81).AddWall GetTex("Button81"), (ShaftLeft+0.17), -18.45 + (15 * 2) + 0.4, (ShaftLeft+0.17), -18.15 + (15 * 2) + 0.4, 0.3, (Elevator(Number).GetPosition.y + 12) - 4.5, 1, 1
+    Buttons(-1).AddWall GetTex("ButtonL"), (ShaftLeft + 0.17), -18.45 + (15 * 2) + 0.8, (ShaftLeft + 0.17), -18.15 + (15 * 2) + 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 4.5, 1, 1
+    'Buttons(83).AddWall GetTex("Button83"), (ShaftLeft+0.17), -18.45 + (15 * 2) + 1.2, (ShaftLeft+0.17), -18.15 + (15 * 2) + 1.2, 0.3, (Elevator(Number).GetPosition.y + 12) - 4.5, 1, 1
+    'Buttons(84).AddWall GetTex("Button84"), (ShaftLeft+0.17), -18.45 + (15 * 2) + 1.6, (ShaftLeft+0.17), -18.15 + (15 * 2) + 1.6, 0.3, (Elevator(Number).GetPosition.y + 12) - 4.5, 1, 1
+    
+    'Buttons(2).AddWall GetTex("Button2"), (ShaftLeft+0.17), -18.45 + (15 * 2), (ShaftLeft+0.17), -18.15 + (15 * 2), 0.3, (Elevator(Number).GetPosition.y + 12) - 5, 1, 1
+    'Buttons(39).AddWall GetTex("Button39"), (ShaftLeft+0.17), -18.45 + (15 * 2) + 0.4, (ShaftLeft+0.17), -18.15 + (15 * 2) + 0.4, 0.3, (Elevator(Number).GetPosition.y + 12) - 5, 1, 1
+    'Buttons(-1).AddWall GetTex("ButtonL"), (ShaftLeft+0.17), -18.45 + (15 * 2) + 0.8, (ShaftLeft+0.17), -18.15 + (15 * 2) + 0.8, 0.3, (Elevator(Number).GetPosition.y + 12) - 5, 1, 1
+    'Buttons(65).AddWall GetTex("Button65"), (ShaftLeft+0.17), -18.45 + (15 * 2) + 1.2, (ShaftLeft+0.17), -18.15 + (15 * 2) + 1.2, 0.3, (Elevator(Number).GetPosition.y + 12) - 5, 1, 1
+    'Buttons(79).AddWall GetTex("Button79"), (ShaftLeft+0.17), -18.45 + (15 * 2) + 1.6, (ShaftLeft+0.17), -18.15 + (15 * 2) + 1.6, 0.3, (Elevator(Number).GetPosition.y + 12) - 5, 1, 1
+    
+    Buttons(139).AddWall GetTex("ButtonOpen"), (ShaftLeft + 0.17), -18.45 + (15 * 2), (ShaftLeft + 0.17), -18.15 + (15 * 2), 0.3, (Elevator(Number).GetPosition.Y + 12) - 5.5, 1, 1
+    Buttons(140).AddWall GetTex("ButtonClose"), (ShaftLeft + 0.17), -18.45 + (15 * 2) + 0.4, (ShaftLeft + 0.17), -18.15 + (15 * 2) + 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 5.5, 1, 1
+    Buttons(141).AddWall GetTex("ButtonCancel"), (ShaftLeft + 0.17), -18.45 + (15 * 2) + 0.8, (ShaftLeft + 0.17), -18.15 + (15 * 2) + 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 5.5, 1, 1
+    Buttons(142).AddWall GetTex("ButtonStop"), (ShaftLeft + 0.17), -18.45 + (15 * 2) + 1.2, (ShaftLeft + 0.17), -18.15 + (15 * 2) + 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 5.5, 1, 1
+    Buttons(143).AddWall GetTex("ButtonAlarm"), (ShaftLeft + 0.17), -18.45 + (15 * 2) + 1.6, (ShaftLeft + 0.17), -18.15 + (15 * 2) + 1.6, 0.3, (Elevator(Number).GetPosition.Y + 12) - 5.5, 1, 1
+
+End If
+
+'Elevator 7
+If Number = 27 Then
+
+'Buttons(135).AddWall GetTex("Button135"), -(ShaftLeft+0.17), -27.85 + (15 * 3), -(ShaftLeft+0.17), -27.55 + (15 * 3), 0.3, (Elevator(Number).GetPosition.y + 12), -1, 1
+    'Buttons(1).AddWall GetTex("Button1"), -(ShaftLeft+0.17), -27.85 + (15 * 3) - 0.4, -(ShaftLeft+0.17), -27.55 + (15 * 3) - 0.4, 0.3, (Elevator(Number).GetPosition.y + 12), -1, 1
+    'Buttons(136).AddWall GetTex("Button136"), -(ShaftLeft+0.17), -27.85 + (15 * 3) - 0.8, -(ShaftLeft+0.17), -27.55 + (15 * 3) - 0.8, 0.3, (Elevator(Number).GetPosition.y + 12), -1, 1
+    'Buttons(137).AddWall GetTex("Button137"), -(ShaftLeft+0.17), -27.85 + (15 * 3) - 1.2, -(ShaftLeft+0.17), -27.55 + (15 * 3) - 1.2, 0.3, (Elevator(Number).GetPosition.y + 12), -1, 1
+    'Buttons(138).AddWall GetTex("ButtonR"), -(ShaftLeft+0.17), -27.85 + (15 * 3) - 1.6, -(ShaftLeft+0.17), -27.55 + (15 * 3) - 1.6, 0.3, (Elevator(Number).GetPosition.y + 12), -1, 1
+    
+    Buttons(75).AddWall GetTex("Button75"), -(ShaftLeft + 0.17), -27.85 + (15 * 3), -(ShaftLeft + 0.17), -27.55 + (15 * 3), 0.3, (Elevator(Number).GetPosition.Y + 12) - 0.5, -1, 1
+    Buttons(76).AddWall GetTex("Button76"), -(ShaftLeft + 0.17), -27.85 + (15 * 3) - 0.4, -(ShaftLeft + 0.17), -27.55 + (15 * 3) - 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 0.5, -1, 1
+    Buttons(77).AddWall GetTex("Button77"), -(ShaftLeft + 0.17), -27.85 + (15 * 3) - 0.8, -(ShaftLeft + 0.17), -27.55 + (15 * 3) - 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 0.5, -1, 1
+    Buttons(78).AddWall GetTex("Button78"), -(ShaftLeft + 0.17), -27.85 + (15 * 3) - 1.2, -(ShaftLeft + 0.17), -27.55 + (15 * 3) - 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 0.5, -1, 1
+    Buttons(79).AddWall GetTex("Button79"), -(ShaftLeft + 0.17), -27.85 + (15 * 3) - 1.6, -(ShaftLeft + 0.17), -27.55 + (15 * 3) - 1.6, 0.3, (Elevator(Number).GetPosition.Y + 12) - 0.5, -1, 1
+    
+    Buttons(70).AddWall GetTex("Button70"), -(ShaftLeft + 0.17), -27.85 + (15 * 3), -(ShaftLeft + 0.17), -27.55 + (15 * 3), 0.3, (Elevator(Number).GetPosition.Y + 12) - 1, -1, 1
+    Buttons(71).AddWall GetTex("Button71"), -(ShaftLeft + 0.17), -27.85 + (15 * 3) - 0.4, -(ShaftLeft + 0.17), -27.55 + (15 * 3) - 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 1, -1, 1
+    Buttons(72).AddWall GetTex("Button72"), -(ShaftLeft + 0.17), -27.85 + (15 * 3) - 0.8, -(ShaftLeft + 0.17), -27.55 + (15 * 3) - 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 1, -1, 1
+    Buttons(73).AddWall GetTex("Button73"), -(ShaftLeft + 0.17), -27.85 + (15 * 3) - 1.2, -(ShaftLeft + 0.17), -27.55 + (15 * 3) - 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 1, -1, 1
+    Buttons(74).AddWall GetTex("Button74"), -(ShaftLeft + 0.17), -27.85 + (15 * 3) - 1.6, -(ShaftLeft + 0.17), -27.55 + (15 * 3) - 1.6, 0.3, (Elevator(Number).GetPosition.Y + 12) - 1, -1, 1
+    
+    Buttons(65).AddWall GetTex("Button65"), -(ShaftLeft + 0.17), -27.85 + (15 * 3), -(ShaftLeft + 0.17), -27.55 + (15 * 3), 0.3, (Elevator(Number).GetPosition.Y + 12) - 1.5, -1, 1
+    Buttons(66).AddWall GetTex("Button66"), -(ShaftLeft + 0.17), -27.85 + (15 * 3) - 0.4, -(ShaftLeft + 0.17), -27.55 + (15 * 3) - 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 1.5, -1, 1
+    Buttons(67).AddWall GetTex("Button67"), -(ShaftLeft + 0.17), -27.85 + (15 * 3) - 0.8, -(ShaftLeft + 0.17), -27.55 + (15 * 3) - 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 1.5, -1, 1
+    Buttons(68).AddWall GetTex("Button68"), -(ShaftLeft + 0.17), -27.85 + (15 * 3) - 1.2, -(ShaftLeft + 0.17), -27.55 + (15 * 3) - 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 1.5, -1, 1
+    Buttons(69).AddWall GetTex("Button69"), -(ShaftLeft + 0.17), -27.85 + (15 * 3) - 1.6, -(ShaftLeft + 0.17), -27.55 + (15 * 3) - 1.6, 0.3, (Elevator(Number).GetPosition.Y + 12) - 1.5, -1, 1
+    
+    Buttons(60).AddWall GetTex("Button60"), -(ShaftLeft + 0.17), -27.85 + (15 * 3), -(ShaftLeft + 0.17), -27.55 + (15 * 3), 0.3, (Elevator(Number).GetPosition.Y + 12) - 2, -1, 1
+    Buttons(61).AddWall GetTex("Button61"), -(ShaftLeft + 0.17), -27.85 + (15 * 3) - 0.4, -(ShaftLeft + 0.17), -27.55 + (15 * 3) - 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 2, -1, 1
+    Buttons(62).AddWall GetTex("Button62"), -(ShaftLeft + 0.17), -27.85 + (15 * 3) - 0.8, -(ShaftLeft + 0.17), -27.55 + (15 * 3) - 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 2, -1, 1
+    Buttons(63).AddWall GetTex("Button63"), -(ShaftLeft + 0.17), -27.85 + (15 * 3) - 1.2, -(ShaftLeft + 0.17), -27.55 + (15 * 3) - 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 2, -1, 1
+    Buttons(64).AddWall GetTex("Button64"), -(ShaftLeft + 0.17), -27.85 + (15 * 3) - 1.6, -(ShaftLeft + 0.17), -27.55 + (15 * 3) - 1.6, 0.3, (Elevator(Number).GetPosition.Y + 12) - 2, -1, 1
+    
+    Buttons(55).AddWall GetTex("Button55"), -(ShaftLeft + 0.17), -27.85 + (15 * 3), -(ShaftLeft + 0.17), -27.55 + (15 * 3), 0.3, (Elevator(Number).GetPosition.Y + 12) - 2.5, -1, 1
+    Buttons(56).AddWall GetTex("Button56"), -(ShaftLeft + 0.17), -27.85 + (15 * 3) - 0.4, -(ShaftLeft + 0.17), -27.55 + (15 * 3) - 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 2.5, -1, 1
+    Buttons(57).AddWall GetTex("Button57"), -(ShaftLeft + 0.17), -27.85 + (15 * 3) - 0.8, -(ShaftLeft + 0.17), -27.55 + (15 * 3) - 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 2.5, -1, 1
+    Buttons(58).AddWall GetTex("Button58"), -(ShaftLeft + 0.17), -27.85 + (15 * 3) - 1.2, -(ShaftLeft + 0.17), -27.55 + (15 * 3) - 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 2.5, -1, 1
+    Buttons(59).AddWall GetTex("Button59"), -(ShaftLeft + 0.17), -27.85 + (15 * 3) - 1.6, -(ShaftLeft + 0.17), -27.55 + (15 * 3) - 1.6, 0.3, (Elevator(Number).GetPosition.Y + 12) - 2.5, -1, 1
+    
+    Buttons(50).AddWall GetTex("Button50"), -(ShaftLeft + 0.17), -27.85 + (15 * 3), -(ShaftLeft + 0.17), -27.55 + (15 * 3), 0.3, (Elevator(Number).GetPosition.Y + 12) - 3, -1, 1
+    Buttons(51).AddWall GetTex("Button51"), -(ShaftLeft + 0.17), -27.85 + (15 * 3) - 0.4, -(ShaftLeft + 0.17), -27.55 + (15 * 3) - 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 3, -1, 1
+    Buttons(52).AddWall GetTex("Button52"), -(ShaftLeft + 0.17), -27.85 + (15 * 3) - 0.8, -(ShaftLeft + 0.17), -27.55 + (15 * 3) - 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 3, -1, 1
+    Buttons(53).AddWall GetTex("Button53"), -(ShaftLeft + 0.17), -27.85 + (15 * 3) - 1.2, -(ShaftLeft + 0.17), -27.55 + (15 * 3) - 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 3, -1, 1
+    Buttons(54).AddWall GetTex("Button54"), -(ShaftLeft + 0.17), -27.85 + (15 * 3) - 1.6, -(ShaftLeft + 0.17), -27.55 + (15 * 3) - 1.6, 0.3, (Elevator(Number).GetPosition.Y + 12) - 3, -1, 1
+    
+    Buttons(45).AddWall GetTex("Button45"), -(ShaftLeft + 0.17), -27.85 + (15 * 3), -(ShaftLeft + 0.17), -27.55 + (15 * 3), 0.3, (Elevator(Number).GetPosition.Y + 12) - 3.5, -1, 1
+    Buttons(46).AddWall GetTex("Button46"), -(ShaftLeft + 0.17), -27.85 + (15 * 3) - 0.4, -(ShaftLeft + 0.17), -27.55 + (15 * 3) - 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 3.5, -1, 1
+    Buttons(47).AddWall GetTex("Button47"), -(ShaftLeft + 0.17), -27.85 + (15 * 3) - 0.8, -(ShaftLeft + 0.17), -27.55 + (15 * 3) - 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 3.5, -1, 1
+    Buttons(48).AddWall GetTex("Button48"), -(ShaftLeft + 0.17), -27.85 + (15 * 3) - 1.2, -(ShaftLeft + 0.17), -27.55 + (15 * 3) - 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 3.5, -1, 1
+    Buttons(49).AddWall GetTex("Button49"), -(ShaftLeft + 0.17), -27.85 + (15 * 3) - 1.6, -(ShaftLeft + 0.17), -27.55 + (15 * 3) - 1.6, 0.3, (Elevator(Number).GetPosition.Y + 12) - 3.5, -1, 1
+    
+    Buttons(40).AddWall GetTex("Button40"), -(ShaftLeft + 0.17), -27.85 + (15 * 3), -(ShaftLeft + 0.17), -27.55 + (15 * 3), 0.3, (Elevator(Number).GetPosition.Y + 12) - 4, -1, 1
+    Buttons(41).AddWall GetTex("Button41"), -(ShaftLeft + 0.17), -27.85 + (15 * 3) - 0.4, -(ShaftLeft + 0.17), -27.55 + (15 * 3) - 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 4, -1, 1
+    Buttons(42).AddWall GetTex("Button42"), -(ShaftLeft + 0.17), -27.85 + (15 * 3) - 0.8, -(ShaftLeft + 0.17), -27.55 + (15 * 3) - 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 4, -1, 1
+    Buttons(43).AddWall GetTex("Button43"), -(ShaftLeft + 0.17), -27.85 + (15 * 3) - 1.2, -(ShaftLeft + 0.17), -27.55 + (15 * 3) - 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 4, -1, 1
+    Buttons(44).AddWall GetTex("Button44"), -(ShaftLeft + 0.17), -27.85 + (15 * 3) - 1.6, -(ShaftLeft + 0.17), -27.55 + (15 * 3) - 1.6, 0.3, (Elevator(Number).GetPosition.Y + 12) - 4, -1, 1
+    
+    'Buttons(-1).AddWall GetTex("ButtonL"), -(ShaftLeft+0.17), -27.85 + (15 * 3), -(ShaftLeft+0.17), -27.55 + (15 * 3), 0.3, (Elevator(Number).GetPosition.y + 12) - 4.5, -1, 1
+    'Buttons(81).AddWall GetTex("Button81"), -(ShaftLeft+0.17), -27.85 + (15 * 3) - 0.4, -(ShaftLeft+0.17), -27.55 + (15 * 3) - 0.4, 0.3, (Elevator(Number).GetPosition.y + 12) - 4.5, -1, 1
+    Buttons(-1).AddWall GetTex("ButtonL"), -(ShaftLeft + 0.17), -27.85 + (15 * 3) - 0.8, -(ShaftLeft + 0.17), -27.55 + (15 * 3) - 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 4.5, -1, 1
+    'Buttons(83).AddWall GetTex("Button83"), -(ShaftLeft+0.17), -27.85 + (15 * 3) - 1.2, -(ShaftLeft+0.17), -27.55 + (15 * 3) - 1.2, 0.3, (Elevator(Number).GetPosition.y + 12) - 4.5, -1, 1
+    'Buttons(84).AddWall GetTex("Button84"), -(ShaftLeft+0.17), -27.85 + (15 * 3) - 1.6, -(ShaftLeft+0.17), -27.55 + (15 * 3) - 1.6, 0.3, (Elevator(Number).GetPosition.y + 12) - 4.5, -1, 1
+    
+    'Buttons(2).AddWall GetTex("Button2"), -(ShaftLeft+0.17), -27.85 + (15 * 3), -(ShaftLeft+0.17), -27.55 + (15 * 3), 0.3, (Elevator(Number).GetPosition.y + 12) - 5, -1, 1
+    'Buttons(39).AddWall GetTex("Button39"), -(ShaftLeft+0.17), -27.85 + (15 * 3) - 0.4, -(ShaftLeft+0.17), -27.55 + (15 * 3) - 0.4, 0.3, (Elevator(Number).GetPosition.y + 12) - 5, -1, 1
+    'Buttons(-1).AddWall GetTex("ButtonL"), -(ShaftLeft+0.17), -27.85 + (15 * 3) - 0.8, -(ShaftLeft+0.17), -27.55 + (15 * 3) - 0.8, 0.3, (Elevator(Number).GetPosition.y + 12) - 5, -1, 1
+    'Buttons(65).AddWall GetTex("Button65"), -(ShaftLeft+0.17), -27.85 + (15 * 3) - 1.2, -(ShaftLeft+0.17), -27.55 + (15 * 3) - 1.2, 0.3, (Elevator(Number).GetPosition.y + 12) - 5, -1, 1
+    'Buttons(79).AddWall GetTex("Button79"), -(ShaftLeft+0.17), -27.85 + (15 * 3) - 1.6, -(ShaftLeft+0.17), -27.55 + (15 * 3) - 1.6, 0.3, (Elevator(Number).GetPosition.y + 12) - 5, -1, 1
+    
+    Buttons(139).AddWall GetTex("ButtonOpen"), -(ShaftLeft + 0.17), -27.85 + (15 * 3), -(ShaftLeft + 0.17), -27.55 + (15 * 3), 0.3, (Elevator(Number).GetPosition.Y + 12) - 5.5, -1, 1
+    Buttons(140).AddWall GetTex("ButtonClose"), -(ShaftLeft + 0.17), -27.85 + (15 * 3) - 0.4, -(ShaftLeft + 0.17), -27.55 + (15 * 3) - 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 5.5, -1, 1
+    Buttons(141).AddWall GetTex("ButtonCancel"), -(ShaftLeft + 0.17), -27.85 + (15 * 3) - 0.8, -(ShaftLeft + 0.17), -27.55 + (15 * 3) - 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 5.5, -1, 1
+    Buttons(142).AddWall GetTex("ButtonStop"), -(ShaftLeft + 0.17), -27.85 + (15 * 3) - 1.2, -(ShaftLeft + 0.17), -27.55 + (15 * 3) - 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 5.5, -1, 1
+    Buttons(143).AddWall GetTex("ButtonAlarm"), -(ShaftLeft + 0.17), -27.85 + (15 * 3) - 1.6, -(ShaftLeft + 0.17), -27.55 + (15 * 3) - 1.6, 0.3, (Elevator(Number).GetPosition.Y + 12) - 5.5, -1, 1
+
+End If
+
+'Elevator 8
+If Number = 28 Then
+
+'Buttons(135).AddWall GetTex("Button135"), (ShaftLeft+0.17), -18.45 + (15 * 3), (ShaftLeft+0.17), -18.15 + (15 * 3), 0.3, (Elevator(Number).GetPosition.y + 12), 1, 1
+    'Buttons(1).AddWall GetTex("Button1"), (ShaftLeft+0.17), -18.45 + (15 * 3) + 0.4, (ShaftLeft+0.17), -18.15 + (15 * 3) + 0.4, 0.3, (Elevator(Number).GetPosition.y + 12), 1, 1
+    'Buttons(136).AddWall GetTex("Button136"), (ShaftLeft+0.17), -18.45 + (15 * 3) + 0.8, (ShaftLeft+0.17), -18.15 + (15 * 3) + 0.8, 0.3, (Elevator(Number).GetPosition.y + 12), 1, 1
+    'Buttons(137).AddWall GetTex("Button137"), (ShaftLeft+0.17), -18.45 + (15 * 3) + 1.2, (ShaftLeft+0.17), -18.15 + (15 * 3) + 1.2, 0.3, (Elevator(Number).GetPosition.y + 12), 1, 1
+    'Buttons(138).AddWall GetTex("ButtonR"), (ShaftLeft+0.17), -18.45 + (15 * 3) + 1.6, (ShaftLeft+0.17), -18.15 + (15 * 3) + 1.6, 0.3, (Elevator(Number).GetPosition.y + 12), 1, 1
+    
+    Buttons(75).AddWall GetTex("Button75"), (ShaftLeft + 0.17), -18.45 + (15 * 3), (ShaftLeft + 0.17), -18.15 + (15 * 3), 0.3, (Elevator(Number).GetPosition.Y + 12) - 0.5, 1, 1
+    Buttons(76).AddWall GetTex("Button76"), (ShaftLeft + 0.17), -18.45 + (15 * 3) + 0.4, (ShaftLeft + 0.17), -18.15 + (15 * 3) + 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 0.5, 1, 1
+    Buttons(77).AddWall GetTex("Button77"), (ShaftLeft + 0.17), -18.45 + (15 * 3) + 0.8, (ShaftLeft + 0.17), -18.15 + (15 * 3) + 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 0.5, 1, 1
+    Buttons(78).AddWall GetTex("Button78"), (ShaftLeft + 0.17), -18.45 + (15 * 3) + 1.2, (ShaftLeft + 0.17), -18.15 + (15 * 3) + 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 0.5, 1, 1
+    Buttons(79).AddWall GetTex("Button79"), (ShaftLeft + 0.17), -18.45 + (15 * 3) + 1.6, (ShaftLeft + 0.17), -18.15 + (15 * 3) + 1.6, 0.3, (Elevator(Number).GetPosition.Y + 12) - 0.5, 1, 1
+    
+    Buttons(70).AddWall GetTex("Button70"), (ShaftLeft + 0.17), -18.45 + (15 * 3), (ShaftLeft + 0.17), -18.15 + (15 * 3), 0.3, (Elevator(Number).GetPosition.Y + 12) - 1, 1, 1
+    Buttons(71).AddWall GetTex("Button71"), (ShaftLeft + 0.17), -18.45 + (15 * 3) + 0.4, (ShaftLeft + 0.17), -18.15 + (15 * 3) + 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 1, 1, 1
+    Buttons(72).AddWall GetTex("Button72"), (ShaftLeft + 0.17), -18.45 + (15 * 3) + 0.8, (ShaftLeft + 0.17), -18.15 + (15 * 3) + 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 1, 1, 1
+    Buttons(73).AddWall GetTex("Button73"), (ShaftLeft + 0.17), -18.45 + (15 * 3) + 1.2, (ShaftLeft + 0.17), -18.15 + (15 * 3) + 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 1, 1, 1
+    Buttons(74).AddWall GetTex("Button74"), (ShaftLeft + 0.17), -18.45 + (15 * 3) + 1.6, (ShaftLeft + 0.17), -18.15 + (15 * 3) + 1.6, 0.3, (Elevator(Number).GetPosition.Y + 12) - 1, 1, 1
+    
+    Buttons(65).AddWall GetTex("Button65"), (ShaftLeft + 0.17), -18.45 + (15 * 3), (ShaftLeft + 0.17), -18.15 + (15 * 3), 0.3, (Elevator(Number).GetPosition.Y + 12) - 1.5, 1, 1
+    Buttons(66).AddWall GetTex("Button66"), (ShaftLeft + 0.17), -18.45 + (15 * 3) + 0.4, (ShaftLeft + 0.17), -18.15 + (15 * 3) + 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 1.5, 1, 1
+    Buttons(67).AddWall GetTex("Button67"), (ShaftLeft + 0.17), -18.45 + (15 * 3) + 0.8, (ShaftLeft + 0.17), -18.15 + (15 * 3) + 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 1.5, 1, 1
+    Buttons(68).AddWall GetTex("Button68"), (ShaftLeft + 0.17), -18.45 + (15 * 3) + 1.2, (ShaftLeft + 0.17), -18.15 + (15 * 3) + 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 1.5, 1, 1
+    Buttons(69).AddWall GetTex("Button69"), (ShaftLeft + 0.17), -18.45 + (15 * 3) + 1.6, (ShaftLeft + 0.17), -18.15 + (15 * 3) + 1.6, 0.3, (Elevator(Number).GetPosition.Y + 12) - 1.5, 1, 1
+    
+    Buttons(60).AddWall GetTex("Button60"), (ShaftLeft + 0.17), -18.45 + (15 * 3), (ShaftLeft + 0.17), -18.15 + (15 * 3), 0.3, (Elevator(Number).GetPosition.Y + 12) - 2, 1, 1
+    Buttons(61).AddWall GetTex("Button61"), (ShaftLeft + 0.17), -18.45 + (15 * 3) + 0.4, (ShaftLeft + 0.17), -18.15 + (15 * 3) + 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 2, 1, 1
+    Buttons(62).AddWall GetTex("Button62"), (ShaftLeft + 0.17), -18.45 + (15 * 3) + 0.8, (ShaftLeft + 0.17), -18.15 + (15 * 3) + 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 2, 1, 1
+    Buttons(63).AddWall GetTex("Button63"), (ShaftLeft + 0.17), -18.45 + (15 * 3) + 1.2, (ShaftLeft + 0.17), -18.15 + (15 * 3) + 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 2, 1, 1
+    Buttons(64).AddWall GetTex("Button64"), (ShaftLeft + 0.17), -18.45 + (15 * 3) + 1.6, (ShaftLeft + 0.17), -18.15 + (15 * 3) + 1.6, 0.3, (Elevator(Number).GetPosition.Y + 12) - 2, 1, 1
+    
+    Buttons(55).AddWall GetTex("Button55"), (ShaftLeft + 0.17), -18.45 + (15 * 3), (ShaftLeft + 0.17), -18.15 + (15 * 3), 0.3, (Elevator(Number).GetPosition.Y + 12) - 2.5, 1, 1
+    Buttons(56).AddWall GetTex("Button56"), (ShaftLeft + 0.17), -18.45 + (15 * 3) + 0.4, (ShaftLeft + 0.17), -18.15 + (15 * 3) + 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 2.5, 1, 1
+    Buttons(57).AddWall GetTex("Button57"), (ShaftLeft + 0.17), -18.45 + (15 * 3) + 0.8, (ShaftLeft + 0.17), -18.15 + (15 * 3) + 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 2.5, 1, 1
+    Buttons(58).AddWall GetTex("Button58"), (ShaftLeft + 0.17), -18.45 + (15 * 3) + 1.2, (ShaftLeft + 0.17), -18.15 + (15 * 3) + 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 2.5, 1, 1
+    Buttons(59).AddWall GetTex("Button59"), (ShaftLeft + 0.17), -18.45 + (15 * 3) + 1.6, (ShaftLeft + 0.17), -18.15 + (15 * 3) + 1.6, 0.3, (Elevator(Number).GetPosition.Y + 12) - 2.5, 1, 1
+    
+    Buttons(50).AddWall GetTex("Button50"), (ShaftLeft + 0.17), -18.45 + (15 * 3), (ShaftLeft + 0.17), -18.15 + (15 * 3), 0.3, (Elevator(Number).GetPosition.Y + 12) - 3, 1, 1
+    Buttons(51).AddWall GetTex("Button51"), (ShaftLeft + 0.17), -18.45 + (15 * 3) + 0.4, (ShaftLeft + 0.17), -18.15 + (15 * 3) + 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 3, 1, 1
+    Buttons(52).AddWall GetTex("Button52"), (ShaftLeft + 0.17), -18.45 + (15 * 3) + 0.8, (ShaftLeft + 0.17), -18.15 + (15 * 3) + 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 3, 1, 1
+    Buttons(53).AddWall GetTex("Button53"), (ShaftLeft + 0.17), -18.45 + (15 * 3) + 1.2, (ShaftLeft + 0.17), -18.15 + (15 * 3) + 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 3, 1, 1
+    Buttons(54).AddWall GetTex("Button54"), (ShaftLeft + 0.17), -18.45 + (15 * 3) + 1.6, (ShaftLeft + 0.17), -18.15 + (15 * 3) + 1.6, 0.3, (Elevator(Number).GetPosition.Y + 12) - 3, 1, 1
+    
+    Buttons(45).AddWall GetTex("Button45"), (ShaftLeft + 0.17), -18.45 + (15 * 3), (ShaftLeft + 0.17), -18.15 + (15 * 3), 0.3, (Elevator(Number).GetPosition.Y + 12) - 3.5, 1, 1
+    Buttons(46).AddWall GetTex("Button46"), (ShaftLeft + 0.17), -18.45 + (15 * 3) + 0.4, (ShaftLeft + 0.17), -18.15 + (15 * 3) + 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 3.5, 1, 1
+    Buttons(47).AddWall GetTex("Button47"), (ShaftLeft + 0.17), -18.45 + (15 * 3) + 0.8, (ShaftLeft + 0.17), -18.15 + (15 * 3) + 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 3.5, 1, 1
+    Buttons(48).AddWall GetTex("Button48"), (ShaftLeft + 0.17), -18.45 + (15 * 3) + 1.2, (ShaftLeft + 0.17), -18.15 + (15 * 3) + 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 3.5, 1, 1
+    Buttons(49).AddWall GetTex("Button49"), (ShaftLeft + 0.17), -18.45 + (15 * 3) + 1.6, (ShaftLeft + 0.17), -18.15 + (15 * 3) + 1.6, 0.3, (Elevator(Number).GetPosition.Y + 12) - 3.5, 1, 1
+    
+    Buttons(40).AddWall GetTex("Button40"), (ShaftLeft + 0.17), -18.45 + (15 * 3), (ShaftLeft + 0.17), -18.15 + (15 * 3), 0.3, (Elevator(Number).GetPosition.Y + 12) - 4, 1, 1
+    Buttons(41).AddWall GetTex("Button41"), (ShaftLeft + 0.17), -18.45 + (15 * 3) + 0.4, (ShaftLeft + 0.17), -18.15 + (15 * 3) + 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 4, 1, 1
+    Buttons(42).AddWall GetTex("Button42"), (ShaftLeft + 0.17), -18.45 + (15 * 3) + 0.8, (ShaftLeft + 0.17), -18.15 + (15 * 3) + 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 4, 1, 1
+    Buttons(43).AddWall GetTex("Button43"), (ShaftLeft + 0.17), -18.45 + (15 * 3) + 1.2, (ShaftLeft + 0.17), -18.15 + (15 * 3) + 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 4, 1, 1
+    Buttons(44).AddWall GetTex("Button44"), (ShaftLeft + 0.17), -18.45 + (15 * 3) + 1.6, (ShaftLeft + 0.17), -18.15 + (15 * 3) + 1.6, 0.3, (Elevator(Number).GetPosition.Y + 12) - 4, 1, 1
+    
+    'Buttons(-1).AddWall GetTex("ButtonL"), (ShaftLeft+0.17), -18.45 + (15 * 3), (ShaftLeft+0.17), -18.15 + (15 * 3), 0.3, (Elevator(Number).GetPosition.y + 12) - 4.5, 1, 1
+    'Buttons(81).AddWall GetTex("Button81"), (ShaftLeft+0.17), -18.45 + (15 * 3) + 0.4, (ShaftLeft+0.17), -18.15 + (15 * 3) + 0.4, 0.3, (Elevator(Number).GetPosition.y + 12) - 4.5, 1, 1
+    Buttons(-1).AddWall GetTex("ButtonL"), (ShaftLeft + 0.17), -18.45 + (15 * 3) + 0.8, (ShaftLeft + 0.17), -18.15 + (15 * 3) + 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 4.5, 1, 1
+    'Buttons(83).AddWall GetTex("Button83"), (ShaftLeft+0.17), -18.45 + (15 * 3) + 1.2, (ShaftLeft+0.17), -18.15 + (15 * 3) + 1.2, 0.3, (Elevator(Number).GetPosition.y + 12) - 4.5, 1, 1
+    'Buttons(84).AddWall GetTex("Button84"), (ShaftLeft+0.17), -18.45 + (15 * 3) + 1.6, (ShaftLeft+0.17), -18.15 + (15 * 3) + 1.6, 0.3, (Elevator(Number).GetPosition.y + 12) - 4.5, 1, 1
+    
+    'Buttons(2).AddWall GetTex("Button2"), (ShaftLeft+0.17), -18.45 + (15 * 3), (ShaftLeft+0.17), -18.15 + (15 * 3), 0.3, (Elevator(Number).GetPosition.y + 12) - 5, 1, 1
+    'Buttons(39).AddWall GetTex("Button39"), (ShaftLeft+0.17), -18.45 + (15 * 3) + 0.4, (ShaftLeft+0.17), -18.15 + (15 * 3) + 0.4, 0.3, (Elevator(Number).GetPosition.y + 12) - 5, 1, 1
+    'Buttons(-1).AddWall GetTex("ButtonL"), (ShaftLeft+0.17), -18.45 + (15 * 3) + 0.8, (ShaftLeft+0.17), -18.15 + (15 * 3) + 0.8, 0.3, (Elevator(Number).GetPosition.y + 12) - 5, 1, 1
+    'Buttons(65).AddWall GetTex("Button65"), (ShaftLeft+0.17), -18.45 + (15 * 3) + 1.2, (ShaftLeft+0.17), -18.15 + (15 * 3) + 1.2, 0.3, (Elevator(Number).GetPosition.y + 12) - 5, 1, 1
+    'Buttons(79).AddWall GetTex("Button79"), (ShaftLeft+0.17), -18.45 + (15 * 3) + 1.6, (ShaftLeft+0.17), -18.15 + (15 * 3) + 1.6, 0.3, (Elevator(Number).GetPosition.y + 12) - 5, 1, 1
+    
+    Buttons(139).AddWall GetTex("ButtonOpen"), (ShaftLeft + 0.17), -18.45 + (15 * 3), (ShaftLeft + 0.17), -18.15 + (15 * 3), 0.3, (Elevator(Number).GetPosition.Y + 12) - 5.5, 1, 1
+    Buttons(140).AddWall GetTex("ButtonClose"), (ShaftLeft + 0.17), -18.45 + (15 * 3) + 0.4, (ShaftLeft + 0.17), -18.15 + (15 * 3) + 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 5.5, 1, 1
+    Buttons(141).AddWall GetTex("ButtonCancel"), (ShaftLeft + 0.17), -18.45 + (15 * 3) + 0.8, (ShaftLeft + 0.17), -18.15 + (15 * 3) + 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 5.5, 1, 1
+    Buttons(142).AddWall GetTex("ButtonStop"), (ShaftLeft + 0.17), -18.45 + (15 * 3) + 1.2, (ShaftLeft + 0.17), -18.15 + (15 * 3) + 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 5.5, 1, 1
+    Buttons(143).AddWall GetTex("ButtonAlarm"), (ShaftLeft + 0.17), -18.45 + (15 * 3) + 1.6, (ShaftLeft + 0.17), -18.15 + (15 * 3) + 1.6, 0.3, (Elevator(Number).GetPosition.Y + 12) - 5.5, 1, 1
+
+End If
+
+'Elevator 9
+If Number = 29 Then
+
+'Buttons(135).AddWall GetTex("Button135"), -(ShaftLeft+0.17), -27.85 + (15 * 4), -(ShaftLeft+0.17), -27.55 + (15 * 4), 0.3, (Elevator(Number).GetPosition.y + 12), -1, 1
+    'Buttons(1).AddWall GetTex("Button1"), -(ShaftLeft+0.17), -27.85 + (15 * 4) - 0.4, -(ShaftLeft+0.17), -27.55 + (15 * 4) - 0.4, 0.3, (Elevator(Number).GetPosition.y + 12), -1, 1
+    'Buttons(136).AddWall GetTex("Button136"), -(ShaftLeft+0.17), -27.85 + (15 * 4) - 0.8, -(ShaftLeft+0.17), -27.55 + (15 * 4) - 0.8, 0.3, (Elevator(Number).GetPosition.y + 12), -1, 1
+    'Buttons(137).AddWall GetTex("Button137"), -(ShaftLeft+0.17), -27.85 + (15 * 4) - 1.2, -(ShaftLeft+0.17), -27.55 + (15 * 4) - 1.2, 0.3, (Elevator(Number).GetPosition.y + 12), -1, 1
+    'Buttons(138).AddWall GetTex("ButtonR"), -(ShaftLeft+0.17), -27.85 + (15 * 4) - 1.6, -(ShaftLeft+0.17), -27.55 + (15 * 4) - 1.6, 0.3, (Elevator(Number).GetPosition.y + 12), -1, 1
+    
+    Buttons(75).AddWall GetTex("Button75"), -(ShaftLeft + 0.17), -27.85 + (15 * 4), -(ShaftLeft + 0.17), -27.55 + (15 * 4), 0.3, (Elevator(Number).GetPosition.Y + 12) - 0.5, -1, 1
+    Buttons(76).AddWall GetTex("Button76"), -(ShaftLeft + 0.17), -27.85 + (15 * 4) - 0.4, -(ShaftLeft + 0.17), -27.55 + (15 * 4) - 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 0.5, -1, 1
+    Buttons(77).AddWall GetTex("Button77"), -(ShaftLeft + 0.17), -27.85 + (15 * 4) - 0.8, -(ShaftLeft + 0.17), -27.55 + (15 * 4) - 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 0.5, -1, 1
+    Buttons(78).AddWall GetTex("Button78"), -(ShaftLeft + 0.17), -27.85 + (15 * 4) - 1.2, -(ShaftLeft + 0.17), -27.55 + (15 * 4) - 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 0.5, -1, 1
+    Buttons(79).AddWall GetTex("Button79"), -(ShaftLeft + 0.17), -27.85 + (15 * 4) - 1.6, -(ShaftLeft + 0.17), -27.55 + (15 * 4) - 1.6, 0.3, (Elevator(Number).GetPosition.Y + 12) - 0.5, -1, 1
+    
+    Buttons(70).AddWall GetTex("Button70"), -(ShaftLeft + 0.17), -27.85 + (15 * 4), -(ShaftLeft + 0.17), -27.55 + (15 * 4), 0.3, (Elevator(Number).GetPosition.Y + 12) - 1, -1, 1
+    Buttons(71).AddWall GetTex("Button71"), -(ShaftLeft + 0.17), -27.85 + (15 * 4) - 0.4, -(ShaftLeft + 0.17), -27.55 + (15 * 4) - 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 1, -1, 1
+    Buttons(72).AddWall GetTex("Button72"), -(ShaftLeft + 0.17), -27.85 + (15 * 4) - 0.8, -(ShaftLeft + 0.17), -27.55 + (15 * 4) - 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 1, -1, 1
+    Buttons(73).AddWall GetTex("Button73"), -(ShaftLeft + 0.17), -27.85 + (15 * 4) - 1.2, -(ShaftLeft + 0.17), -27.55 + (15 * 4) - 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 1, -1, 1
+    Buttons(74).AddWall GetTex("Button74"), -(ShaftLeft + 0.17), -27.85 + (15 * 4) - 1.6, -(ShaftLeft + 0.17), -27.55 + (15 * 4) - 1.6, 0.3, (Elevator(Number).GetPosition.Y + 12) - 1, -1, 1
+    
+    Buttons(65).AddWall GetTex("Button65"), -(ShaftLeft + 0.17), -27.85 + (15 * 4), -(ShaftLeft + 0.17), -27.55 + (15 * 4), 0.3, (Elevator(Number).GetPosition.Y + 12) - 1.5, -1, 1
+    Buttons(66).AddWall GetTex("Button66"), -(ShaftLeft + 0.17), -27.85 + (15 * 4) - 0.4, -(ShaftLeft + 0.17), -27.55 + (15 * 4) - 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 1.5, -1, 1
+    Buttons(67).AddWall GetTex("Button67"), -(ShaftLeft + 0.17), -27.85 + (15 * 4) - 0.8, -(ShaftLeft + 0.17), -27.55 + (15 * 4) - 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 1.5, -1, 1
+    Buttons(68).AddWall GetTex("Button68"), -(ShaftLeft + 0.17), -27.85 + (15 * 4) - 1.2, -(ShaftLeft + 0.17), -27.55 + (15 * 4) - 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 1.5, -1, 1
+    Buttons(69).AddWall GetTex("Button69"), -(ShaftLeft + 0.17), -27.85 + (15 * 4) - 1.6, -(ShaftLeft + 0.17), -27.55 + (15 * 4) - 1.6, 0.3, (Elevator(Number).GetPosition.Y + 12) - 1.5, -1, 1
+    
+    Buttons(60).AddWall GetTex("Button60"), -(ShaftLeft + 0.17), -27.85 + (15 * 4), -(ShaftLeft + 0.17), -27.55 + (15 * 4), 0.3, (Elevator(Number).GetPosition.Y + 12) - 2, -1, 1
+    Buttons(61).AddWall GetTex("Button61"), -(ShaftLeft + 0.17), -27.85 + (15 * 4) - 0.4, -(ShaftLeft + 0.17), -27.55 + (15 * 4) - 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 2, -1, 1
+    Buttons(62).AddWall GetTex("Button62"), -(ShaftLeft + 0.17), -27.85 + (15 * 4) - 0.8, -(ShaftLeft + 0.17), -27.55 + (15 * 4) - 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 2, -1, 1
+    Buttons(63).AddWall GetTex("Button63"), -(ShaftLeft + 0.17), -27.85 + (15 * 4) - 1.2, -(ShaftLeft + 0.17), -27.55 + (15 * 4) - 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 2, -1, 1
+    Buttons(64).AddWall GetTex("Button64"), -(ShaftLeft + 0.17), -27.85 + (15 * 4) - 1.6, -(ShaftLeft + 0.17), -27.55 + (15 * 4) - 1.6, 0.3, (Elevator(Number).GetPosition.Y + 12) - 2, -1, 1
+    
+    Buttons(55).AddWall GetTex("Button55"), -(ShaftLeft + 0.17), -27.85 + (15 * 4), -(ShaftLeft + 0.17), -27.55 + (15 * 4), 0.3, (Elevator(Number).GetPosition.Y + 12) - 2.5, -1, 1
+    Buttons(56).AddWall GetTex("Button56"), -(ShaftLeft + 0.17), -27.85 + (15 * 4) - 0.4, -(ShaftLeft + 0.17), -27.55 + (15 * 4) - 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 2.5, -1, 1
+    Buttons(57).AddWall GetTex("Button57"), -(ShaftLeft + 0.17), -27.85 + (15 * 4) - 0.8, -(ShaftLeft + 0.17), -27.55 + (15 * 4) - 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 2.5, -1, 1
+    Buttons(58).AddWall GetTex("Button58"), -(ShaftLeft + 0.17), -27.85 + (15 * 4) - 1.2, -(ShaftLeft + 0.17), -27.55 + (15 * 4) - 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 2.5, -1, 1
+    Buttons(59).AddWall GetTex("Button59"), -(ShaftLeft + 0.17), -27.85 + (15 * 4) - 1.6, -(ShaftLeft + 0.17), -27.55 + (15 * 4) - 1.6, 0.3, (Elevator(Number).GetPosition.Y + 12) - 2.5, -1, 1
+    
+    Buttons(50).AddWall GetTex("Button50"), -(ShaftLeft + 0.17), -27.85 + (15 * 4), -(ShaftLeft + 0.17), -27.55 + (15 * 4), 0.3, (Elevator(Number).GetPosition.Y + 12) - 3, -1, 1
+    Buttons(51).AddWall GetTex("Button51"), -(ShaftLeft + 0.17), -27.85 + (15 * 4) - 0.4, -(ShaftLeft + 0.17), -27.55 + (15 * 4) - 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 3, -1, 1
+    Buttons(52).AddWall GetTex("Button52"), -(ShaftLeft + 0.17), -27.85 + (15 * 4) - 0.8, -(ShaftLeft + 0.17), -27.55 + (15 * 4) - 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 3, -1, 1
+    Buttons(53).AddWall GetTex("Button53"), -(ShaftLeft + 0.17), -27.85 + (15 * 4) - 1.2, -(ShaftLeft + 0.17), -27.55 + (15 * 4) - 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 3, -1, 1
+    Buttons(54).AddWall GetTex("Button54"), -(ShaftLeft + 0.17), -27.85 + (15 * 4) - 1.6, -(ShaftLeft + 0.17), -27.55 + (15 * 4) - 1.6, 0.3, (Elevator(Number).GetPosition.Y + 12) - 3, -1, 1
+    
+    Buttons(45).AddWall GetTex("Button45"), -(ShaftLeft + 0.17), -27.85 + (15 * 4), -(ShaftLeft + 0.17), -27.55 + (15 * 4), 0.3, (Elevator(Number).GetPosition.Y + 12) - 3.5, -1, 1
+    Buttons(46).AddWall GetTex("Button46"), -(ShaftLeft + 0.17), -27.85 + (15 * 4) - 0.4, -(ShaftLeft + 0.17), -27.55 + (15 * 4) - 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 3.5, -1, 1
+    Buttons(47).AddWall GetTex("Button47"), -(ShaftLeft + 0.17), -27.85 + (15 * 4) - 0.8, -(ShaftLeft + 0.17), -27.55 + (15 * 4) - 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 3.5, -1, 1
+    Buttons(48).AddWall GetTex("Button48"), -(ShaftLeft + 0.17), -27.85 + (15 * 4) - 1.2, -(ShaftLeft + 0.17), -27.55 + (15 * 4) - 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 3.5, -1, 1
+    Buttons(49).AddWall GetTex("Button49"), -(ShaftLeft + 0.17), -27.85 + (15 * 4) - 1.6, -(ShaftLeft + 0.17), -27.55 + (15 * 4) - 1.6, 0.3, (Elevator(Number).GetPosition.Y + 12) - 3.5, -1, 1
+    
+    Buttons(40).AddWall GetTex("Button40"), -(ShaftLeft + 0.17), -27.85 + (15 * 4), -(ShaftLeft + 0.17), -27.55 + (15 * 4), 0.3, (Elevator(Number).GetPosition.Y + 12) - 4, -1, 1
+    Buttons(41).AddWall GetTex("Button41"), -(ShaftLeft + 0.17), -27.85 + (15 * 4) - 0.4, -(ShaftLeft + 0.17), -27.55 + (15 * 4) - 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 4, -1, 1
+    Buttons(42).AddWall GetTex("Button42"), -(ShaftLeft + 0.17), -27.85 + (15 * 4) - 0.8, -(ShaftLeft + 0.17), -27.55 + (15 * 4) - 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 4, -1, 1
+    Buttons(43).AddWall GetTex("Button43"), -(ShaftLeft + 0.17), -27.85 + (15 * 4) - 1.2, -(ShaftLeft + 0.17), -27.55 + (15 * 4) - 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 4, -1, 1
+    Buttons(44).AddWall GetTex("Button44"), -(ShaftLeft + 0.17), -27.85 + (15 * 4) - 1.6, -(ShaftLeft + 0.17), -27.55 + (15 * 4) - 1.6, 0.3, (Elevator(Number).GetPosition.Y + 12) - 4, -1, 1
+    
+    'Buttons(-1).AddWall GetTex("ButtonL"), -(ShaftLeft+0.17), -27.85 + (15 * 4), -(ShaftLeft+0.17), -27.55 + (15 * 4), 0.3, (Elevator(Number).GetPosition.y + 12) - 4.5, -1, 1
+    'Buttons(81).AddWall GetTex("Button81"), -(ShaftLeft+0.17), -27.85 + (15 * 4) - 0.4, -(ShaftLeft+0.17), -27.55 + (15 * 4) - 0.4, 0.3, (Elevator(Number).GetPosition.y + 12) - 4.5, -1, 1
+    Buttons(-1).AddWall GetTex("ButtonL"), -(ShaftLeft + 0.17), -27.85 + (15 * 4) - 0.8, -(ShaftLeft + 0.17), -27.55 + (15 * 4) - 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 4.5, -1, 1
+    'Buttons(83).AddWall GetTex("Button83"), -(ShaftLeft+0.17), -27.85 + (15 * 4) - 1.2, -(ShaftLeft+0.17), -27.55 + (15 * 4) - 1.2, 0.3, (Elevator(Number).GetPosition.y + 12) - 4.5, -1, 1
+    'Buttons(84).AddWall GetTex("Button84"), -(ShaftLeft+0.17), -27.85 + (15 * 4) - 1.6, -(ShaftLeft+0.17), -27.55 + (15 * 4) - 1.6, 0.3, (Elevator(Number).GetPosition.y + 12) - 4.5, -1, 1
+    
+    'Buttons(2).AddWall GetTex("Button2"), -(ShaftLeft+0.17), -27.85 + (15 * 4), -(ShaftLeft+0.17), -27.55 + (15 * 4), 0.3, (Elevator(Number).GetPosition.y + 12) - 5, -1, 1
+    'Buttons(39).AddWall GetTex("Button39"), -(ShaftLeft+0.17), -27.85 + (15 * 4) - 0.4, -(ShaftLeft+0.17), -27.55 + (15 * 4) - 0.4, 0.3, (Elevator(Number).GetPosition.y + 12) - 5, -1, 1
+    'Buttons(-1).AddWall GetTex("ButtonL"), -(ShaftLeft+0.17), -27.85 + (15 * 4) - 0.8, -(ShaftLeft+0.17), -27.55 + (15 * 4) - 0.8, 0.3, (Elevator(Number).GetPosition.y + 12) - 5, -1, 1
+    'Buttons(65).AddWall GetTex("Button65"), -(ShaftLeft+0.17), -27.85 + (15 * 4) - 1.2, -(ShaftLeft+0.17), -27.55 + (15 * 4) - 1.2, 0.3, (Elevator(Number).GetPosition.y + 12) - 5, -1, 1
+    'Buttons(79).AddWall GetTex("Button79"), -(ShaftLeft+0.17), -27.85 + (15 * 4) - 1.6, -(ShaftLeft+0.17), -27.55 + (15 * 4) - 1.6, 0.3, (Elevator(Number).GetPosition.y + 12) - 5, -1, 1
+    
+    Buttons(139).AddWall GetTex("ButtonOpen"), -(ShaftLeft + 0.17), -27.85 + (15 * 4), -(ShaftLeft + 0.17), -27.55 + (15 * 4), 0.3, (Elevator(Number).GetPosition.Y + 12) - 5.5, -1, 1
+    Buttons(140).AddWall GetTex("ButtonClose"), -(ShaftLeft + 0.17), -27.85 + (15 * 4) - 0.4, -(ShaftLeft + 0.17), -27.55 + (15 * 4) - 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 5.5, -1, 1
+    Buttons(141).AddWall GetTex("ButtonCancel"), -(ShaftLeft + 0.17), -27.85 + (15 * 4) - 0.8, -(ShaftLeft + 0.17), -27.55 + (15 * 4) - 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 5.5, -1, 1
+    Buttons(142).AddWall GetTex("ButtonStop"), -(ShaftLeft + 0.17), -27.85 + (15 * 4) - 1.2, -(ShaftLeft + 0.17), -27.55 + (15 * 4) - 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 5.5, -1, 1
+    Buttons(143).AddWall GetTex("ButtonAlarm"), -(ShaftLeft + 0.17), -27.85 + (15 * 4) - 1.6, -(ShaftLeft + 0.17), -27.55 + (15 * 4) - 1.6, 0.3, (Elevator(Number).GetPosition.Y + 12) - 5.5, -1, 1
+
+End If
+
+'Elevator 10
+If Number = 30 Then
+
+'Buttons(135).AddWall GetTex("Button135"), (ShaftLeft+0.17), -18.45 + (15 * 4), (ShaftLeft+0.17), -18.15 + (15 * 4), 0.3, (Elevator(Number).GetPosition.y + 12), 1, 1
+    'Buttons(1).AddWall GetTex("Button1"), (ShaftLeft+0.17), -18.45 + (15 * 4) + 0.4, (ShaftLeft+0.17), -18.15 + (15 * 4) + 0.4, 0.3, (Elevator(Number).GetPosition.y + 12), 1, 1
+    'Buttons(136).AddWall GetTex("Button136"), (ShaftLeft+0.17), -18.45 + (15 * 4) + 0.8, (ShaftLeft+0.17), -18.15 + (15 * 4) + 0.8, 0.3, (Elevator(Number).GetPosition.y + 12), 1, 1
+    'Buttons(137).AddWall GetTex("Button137"), (ShaftLeft+0.17), -18.45 + (15 * 4) + 1.2, (ShaftLeft+0.17), -18.15 + (15 * 4) + 1.2, 0.3, (Elevator(Number).GetPosition.y + 12), 1, 1
+    'Buttons(138).AddWall GetTex("ButtonR"), (ShaftLeft+0.17), -18.45 + (15 * 4) + 1.6, (ShaftLeft+0.17), -18.15 + (15 * 4) + 1.6, 0.3, (Elevator(Number).GetPosition.y + 12), 1, 1
+    
+    Buttons(75).AddWall GetTex("Button75"), (ShaftLeft + 0.17), -18.45 + (15 * 4), (ShaftLeft + 0.17), -18.15 + (15 * 4), 0.3, (Elevator(Number).GetPosition.Y + 12) - 0.5, 1, 1
+    Buttons(76).AddWall GetTex("Button76"), (ShaftLeft + 0.17), -18.45 + (15 * 4) + 0.4, (ShaftLeft + 0.17), -18.15 + (15 * 4) + 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 0.5, 1, 1
+    Buttons(77).AddWall GetTex("Button77"), (ShaftLeft + 0.17), -18.45 + (15 * 4) + 0.8, (ShaftLeft + 0.17), -18.15 + (15 * 4) + 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 0.5, 1, 1
+    Buttons(78).AddWall GetTex("Button78"), (ShaftLeft + 0.17), -18.45 + (15 * 4) + 1.2, (ShaftLeft + 0.17), -18.15 + (15 * 4) + 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 0.5, 1, 1
+    Buttons(79).AddWall GetTex("Button79"), (ShaftLeft + 0.17), -18.45 + (15 * 4) + 1.6, (ShaftLeft + 0.17), -18.15 + (15 * 4) + 1.6, 0.3, (Elevator(Number).GetPosition.Y + 12) - 0.5, 1, 1
+    
+    Buttons(70).AddWall GetTex("Button70"), (ShaftLeft + 0.17), -18.45 + (15 * 4), (ShaftLeft + 0.17), -18.15 + (15 * 4), 0.3, (Elevator(Number).GetPosition.Y + 12) - 1, 1, 1
+    Buttons(71).AddWall GetTex("Button71"), (ShaftLeft + 0.17), -18.45 + (15 * 4) + 0.4, (ShaftLeft + 0.17), -18.15 + (15 * 4) + 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 1, 1, 1
+    Buttons(72).AddWall GetTex("Button72"), (ShaftLeft + 0.17), -18.45 + (15 * 4) + 0.8, (ShaftLeft + 0.17), -18.15 + (15 * 4) + 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 1, 1, 1
+    Buttons(73).AddWall GetTex("Button73"), (ShaftLeft + 0.17), -18.45 + (15 * 4) + 1.2, (ShaftLeft + 0.17), -18.15 + (15 * 4) + 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 1, 1, 1
+    Buttons(74).AddWall GetTex("Button74"), (ShaftLeft + 0.17), -18.45 + (15 * 4) + 1.6, (ShaftLeft + 0.17), -18.15 + (15 * 4) + 1.6, 0.3, (Elevator(Number).GetPosition.Y + 12) - 1, 1, 1
+    
+    Buttons(65).AddWall GetTex("Button65"), (ShaftLeft + 0.17), -18.45 + (15 * 4), (ShaftLeft + 0.17), -18.15 + (15 * 4), 0.3, (Elevator(Number).GetPosition.Y + 12) - 1.5, 1, 1
+    Buttons(66).AddWall GetTex("Button66"), (ShaftLeft + 0.17), -18.45 + (15 * 4) + 0.4, (ShaftLeft + 0.17), -18.15 + (15 * 4) + 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 1.5, 1, 1
+    Buttons(67).AddWall GetTex("Button67"), (ShaftLeft + 0.17), -18.45 + (15 * 4) + 0.8, (ShaftLeft + 0.17), -18.15 + (15 * 4) + 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 1.5, 1, 1
+    Buttons(68).AddWall GetTex("Button68"), (ShaftLeft + 0.17), -18.45 + (15 * 4) + 1.2, (ShaftLeft + 0.17), -18.15 + (15 * 4) + 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 1.5, 1, 1
+    Buttons(69).AddWall GetTex("Button69"), (ShaftLeft + 0.17), -18.45 + (15 * 4) + 1.6, (ShaftLeft + 0.17), -18.15 + (15 * 4) + 1.6, 0.3, (Elevator(Number).GetPosition.Y + 12) - 1.5, 1, 1
+    
+    Buttons(60).AddWall GetTex("Button60"), (ShaftLeft + 0.17), -18.45 + (15 * 4), (ShaftLeft + 0.17), -18.15 + (15 * 4), 0.3, (Elevator(Number).GetPosition.Y + 12) - 2, 1, 1
+    Buttons(61).AddWall GetTex("Button61"), (ShaftLeft + 0.17), -18.45 + (15 * 4) + 0.4, (ShaftLeft + 0.17), -18.15 + (15 * 4) + 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 2, 1, 1
+    Buttons(62).AddWall GetTex("Button62"), (ShaftLeft + 0.17), -18.45 + (15 * 4) + 0.8, (ShaftLeft + 0.17), -18.15 + (15 * 4) + 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 2, 1, 1
+    Buttons(63).AddWall GetTex("Button63"), (ShaftLeft + 0.17), -18.45 + (15 * 4) + 1.2, (ShaftLeft + 0.17), -18.15 + (15 * 4) + 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 2, 1, 1
+    Buttons(64).AddWall GetTex("Button64"), (ShaftLeft + 0.17), -18.45 + (15 * 4) + 1.6, (ShaftLeft + 0.17), -18.15 + (15 * 4) + 1.6, 0.3, (Elevator(Number).GetPosition.Y + 12) - 2, 1, 1
+    
+    Buttons(55).AddWall GetTex("Button55"), (ShaftLeft + 0.17), -18.45 + (15 * 4), (ShaftLeft + 0.17), -18.15 + (15 * 4), 0.3, (Elevator(Number).GetPosition.Y + 12) - 2.5, 1, 1
+    Buttons(56).AddWall GetTex("Button56"), (ShaftLeft + 0.17), -18.45 + (15 * 4) + 0.4, (ShaftLeft + 0.17), -18.15 + (15 * 4) + 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 2.5, 1, 1
+    Buttons(57).AddWall GetTex("Button57"), (ShaftLeft + 0.17), -18.45 + (15 * 4) + 0.8, (ShaftLeft + 0.17), -18.15 + (15 * 4) + 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 2.5, 1, 1
+    Buttons(58).AddWall GetTex("Button58"), (ShaftLeft + 0.17), -18.45 + (15 * 4) + 1.2, (ShaftLeft + 0.17), -18.15 + (15 * 4) + 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 2.5, 1, 1
+    Buttons(59).AddWall GetTex("Button59"), (ShaftLeft + 0.17), -18.45 + (15 * 4) + 1.6, (ShaftLeft + 0.17), -18.15 + (15 * 4) + 1.6, 0.3, (Elevator(Number).GetPosition.Y + 12) - 2.5, 1, 1
+    
+    Buttons(50).AddWall GetTex("Button50"), (ShaftLeft + 0.17), -18.45 + (15 * 4), (ShaftLeft + 0.17), -18.15 + (15 * 4), 0.3, (Elevator(Number).GetPosition.Y + 12) - 3, 1, 1
+    Buttons(51).AddWall GetTex("Button51"), (ShaftLeft + 0.17), -18.45 + (15 * 4) + 0.4, (ShaftLeft + 0.17), -18.15 + (15 * 4) + 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 3, 1, 1
+    Buttons(52).AddWall GetTex("Button52"), (ShaftLeft + 0.17), -18.45 + (15 * 4) + 0.8, (ShaftLeft + 0.17), -18.15 + (15 * 4) + 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 3, 1, 1
+    Buttons(53).AddWall GetTex("Button53"), (ShaftLeft + 0.17), -18.45 + (15 * 4) + 1.2, (ShaftLeft + 0.17), -18.15 + (15 * 4) + 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 3, 1, 1
+    Buttons(54).AddWall GetTex("Button54"), (ShaftLeft + 0.17), -18.45 + (15 * 4) + 1.6, (ShaftLeft + 0.17), -18.15 + (15 * 4) + 1.6, 0.3, (Elevator(Number).GetPosition.Y + 12) - 3, 1, 1
+    
+    Buttons(45).AddWall GetTex("Button45"), (ShaftLeft + 0.17), -18.45 + (15 * 4), (ShaftLeft + 0.17), -18.15 + (15 * 4), 0.3, (Elevator(Number).GetPosition.Y + 12) - 3.5, 1, 1
+    Buttons(46).AddWall GetTex("Button46"), (ShaftLeft + 0.17), -18.45 + (15 * 4) + 0.4, (ShaftLeft + 0.17), -18.15 + (15 * 4) + 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 3.5, 1, 1
+    Buttons(47).AddWall GetTex("Button47"), (ShaftLeft + 0.17), -18.45 + (15 * 4) + 0.8, (ShaftLeft + 0.17), -18.15 + (15 * 4) + 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 3.5, 1, 1
+    Buttons(48).AddWall GetTex("Button48"), (ShaftLeft + 0.17), -18.45 + (15 * 4) + 1.2, (ShaftLeft + 0.17), -18.15 + (15 * 4) + 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 3.5, 1, 1
+    Buttons(49).AddWall GetTex("Button49"), (ShaftLeft + 0.17), -18.45 + (15 * 4) + 1.6, (ShaftLeft + 0.17), -18.15 + (15 * 4) + 1.6, 0.3, (Elevator(Number).GetPosition.Y + 12) - 3.5, 1, 1
+    
+    Buttons(40).AddWall GetTex("Button40"), (ShaftLeft + 0.17), -18.45 + (15 * 4), (ShaftLeft + 0.17), -18.15 + (15 * 4), 0.3, (Elevator(Number).GetPosition.Y + 12) - 4, 1, 1
+    Buttons(41).AddWall GetTex("Button41"), (ShaftLeft + 0.17), -18.45 + (15 * 4) + 0.4, (ShaftLeft + 0.17), -18.15 + (15 * 4) + 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 4, 1, 1
+    Buttons(42).AddWall GetTex("Button42"), (ShaftLeft + 0.17), -18.45 + (15 * 4) + 0.8, (ShaftLeft + 0.17), -18.15 + (15 * 4) + 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 4, 1, 1
+    Buttons(43).AddWall GetTex("Button43"), (ShaftLeft + 0.17), -18.45 + (15 * 4) + 1.2, (ShaftLeft + 0.17), -18.15 + (15 * 4) + 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 4, 1, 1
+    Buttons(44).AddWall GetTex("Button44"), (ShaftLeft + 0.17), -18.45 + (15 * 4) + 1.6, (ShaftLeft + 0.17), -18.15 + (15 * 4) + 1.6, 0.3, (Elevator(Number).GetPosition.Y + 12) - 4, 1, 1
+    
+    'Buttons(-1).AddWall GetTex("ButtonL"), (ShaftLeft+0.17), -18.45 + (15 * 4), (ShaftLeft+0.17), -18.15 + (15 * 4), 0.3, (Elevator(Number).GetPosition.y + 12) - 4.5, 1, 1
+    'Buttons(81).AddWall GetTex("Button81"), (ShaftLeft+0.17), -18.45 + (15 * 4) + 0.4, (ShaftLeft+0.17), -18.15 + (15 * 4) + 0.4, 0.3, (Elevator(Number).GetPosition.y + 12) - 4.5, 1, 1
+    Buttons(-1).AddWall GetTex("ButtonL"), (ShaftLeft + 0.17), -18.45 + (15 * 4) + 0.8, (ShaftLeft + 0.17), -18.15 + (15 * 4) + 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 4.5, 1, 1
+    'Buttons(83).AddWall GetTex("Button83"), (ShaftLeft+0.17), -18.45 + (15 * 4) + 1.2, (ShaftLeft+0.17), -18.15 + (15 * 4) + 1.2, 0.3, (Elevator(Number).GetPosition.y + 12) - 4.5, 1, 1
+    'Buttons(84).AddWall GetTex("Button84"), (ShaftLeft+0.17), -18.45 + (15 * 4) + 1.6, (ShaftLeft+0.17), -18.15 + (15 * 4) + 1.6, 0.3, (Elevator(Number).GetPosition.y + 12) - 4.5, 1, 1
+    
+    'Buttons(2).AddWall GetTex("Button2"), (ShaftLeft+0.17), -18.45 + (15 * 4), (ShaftLeft+0.17), -18.15 + (15 * 4), 0.3, (Elevator(Number).GetPosition.y + 12) - 5, 1, 1
+    'Buttons(39).AddWall GetTex("Button39"), (ShaftLeft+0.17), -18.45 + (15 * 4) + 0.4, (ShaftLeft+0.17), -18.15 + (15 * 4) + 0.4, 0.3, (Elevator(Number).GetPosition.y + 12) - 5, 1, 1
+    'Buttons(-1).AddWall GetTex("ButtonL"), (ShaftLeft+0.17), -18.45 + (15 * 4) + 0.8, (ShaftLeft+0.17), -18.15 + (15 * 4) + 0.8, 0.3, (Elevator(Number).GetPosition.y + 12) - 5, 1, 1
+    'Buttons(65).AddWall GetTex("Button65"), (ShaftLeft+0.17), -18.45 + (15 * 4) + 1.2, (ShaftLeft+0.17), -18.15 + (15 * 4) + 1.2, 0.3, (Elevator(Number).GetPosition.y + 12) - 5, 1, 1
+    'Buttons(79).AddWall GetTex("Button79"), (ShaftLeft+0.17), -18.45 + (15 * 4) + 1.6, (ShaftLeft+0.17), -18.15 + (15 * 4) + 1.6, 0.3, (Elevator(Number).GetPosition.y + 12) - 5, 1, 1
+    
+    Buttons(139).AddWall GetTex("ButtonOpen"), (ShaftLeft + 0.17), -18.45 + (15 * 4), (ShaftLeft + 0.17), -18.15 + (15 * 4), 0.3, (Elevator(Number).GetPosition.Y + 12) - 5.5, 1, 1
+    Buttons(140).AddWall GetTex("ButtonClose"), (ShaftLeft + 0.17), -18.45 + (15 * 4) + 0.4, (ShaftLeft + 0.17), -18.15 + (15 * 4) + 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 5.5, 1, 1
+    Buttons(141).AddWall GetTex("ButtonCancel"), (ShaftLeft + 0.17), -18.45 + (15 * 4) + 0.8, (ShaftLeft + 0.17), -18.15 + (15 * 4) + 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 5.5, 1, 1
+    Buttons(142).AddWall GetTex("ButtonStop"), (ShaftLeft + 0.17), -18.45 + (15 * 4) + 1.2, (ShaftLeft + 0.17), -18.15 + (15 * 4) + 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 5.5, 1, 1
+    Buttons(143).AddWall GetTex("ButtonAlarm"), (ShaftLeft + 0.17), -18.45 + (15 * 4) + 1.6, (ShaftLeft + 0.17), -18.15 + (15 * 4) + 1.6, 0.3, (Elevator(Number).GetPosition.Y + 12) - 5.5, 1, 1
+
+End If
+
+End Sub
+
+
+Sub DrawElevatorButtons4(Number As Integer)
+'Elevator Buttons
+Dim ShaftLeft As Single
+ShaftLeft = 130.5
+
+'Elevator 1
+If Number = 31 Then
+
+    'Buttons(135).AddWall GetTex("Button135"), -(ShaftLeft - 0.17), -18.45 , -(ShaftLeft - 0.17), -18.15 , 0.3, (Elevator(Number).GetPosition.y + 12), 1, 1
+    'Buttons(1).AddWall GetTex("Button1"), -(ShaftLeft - 0.17), -18.45 + 0.4, -(ShaftLeft - 0.17), -18.15 + 0.4, 0.3, (Elevator(Number).GetPosition.y + 12), 1, 1
+    'Buttons(136).AddWall GetTex("Button136"), -(ShaftLeft - 0.17), -18.45 + 0.8, -(ShaftLeft - 0.17), -18.15 + 0.8, 0.3, (Elevator(Number).GetPosition.y + 12), 1, 1
+    'Buttons(137).AddWall GetTex("Button137"), -(ShaftLeft - 0.17), -18.45 + 1.2, -(ShaftLeft - 0.17), -18.15 + 1.2, 0.3, (Elevator(Number).GetPosition.y + 12), 1, 1
+    'Buttons(138).AddWall GetTex("ButtonR"), -(ShaftLeft - 0.17), -18.45 + 1.6, -(ShaftLeft - 0.17), -18.15 + 1.6, 0.3, (Elevator(Number).GetPosition.y + 12), 1, 1
+    
+    'Buttons(37).AddWall GetTex("Button37"), -(ShaftLeft - 0.17), -18.45 , -(ShaftLeft - 0.17), -18.15 , 0.3, (Elevator(Number).GetPosition.y + 12) - 0.5, 1, 1
+    Buttons(37).AddWall GetTex("Button37"), -(ShaftLeft - 0.17), -18.45 + 0.4, -(ShaftLeft - 0.17), -18.15 + 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 0.5, 1, 1
+    Buttons(38).AddWall GetTex("Button38"), -(ShaftLeft - 0.17), -18.45 + 0.8, -(ShaftLeft - 0.17), -18.15 + 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 0.5, 1, 1
+    Buttons(39).AddWall GetTex("Button39"), -(ShaftLeft - 0.17), -18.45 + 1.2, -(ShaftLeft - 0.17), -18.15 + 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 0.5, 1, 1
+    'Buttons(39).AddWall GetTex("Button39"), -(ShaftLeft - 0.17), -18.45 + 1.6, -(ShaftLeft - 0.17), -18.15 + 1.6, 0.3, (Elevator(Number).GetPosition.y + 12) - 0.5, 1, 1
+    
+    Buttons(32).AddWall GetTex("Button32"), -(ShaftLeft - 0.17), -18.45, -(ShaftLeft - 0.17), -18.15, 0.3, (Elevator(Number).GetPosition.Y + 12) - 1, 1, 1
+    Buttons(33).AddWall GetTex("Button33"), -(ShaftLeft - 0.17), -18.45 + 0.4, -(ShaftLeft - 0.17), -18.15 + 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 1, 1, 1
+    Buttons(34).AddWall GetTex("Button34"), -(ShaftLeft - 0.17), -18.45 + 0.8, -(ShaftLeft - 0.17), -18.15 + 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 1, 1, 1
+    Buttons(35).AddWall GetTex("Button35"), -(ShaftLeft - 0.17), -18.45 + 1.2, -(ShaftLeft - 0.17), -18.15 + 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 1, 1, 1
+    Buttons(36).AddWall GetTex("Button36"), -(ShaftLeft - 0.17), -18.45 + 1.6, -(ShaftLeft - 0.17), -18.15 + 1.6, 0.3, (Elevator(Number).GetPosition.Y + 12) - 1, 1, 1
+    
+    Buttons(27).AddWall GetTex("Button27"), -(ShaftLeft - 0.17), -18.45, -(ShaftLeft - 0.17), -18.15, 0.3, (Elevator(Number).GetPosition.Y + 12) - 1.5, 1, 1
+    Buttons(28).AddWall GetTex("Button28"), -(ShaftLeft - 0.17), -18.45 + 0.4, -(ShaftLeft - 0.17), -18.15 + 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 1.5, 1, 1
+    Buttons(29).AddWall GetTex("Button29"), -(ShaftLeft - 0.17), -18.45 + 0.8, -(ShaftLeft - 0.17), -18.15 + 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 1.5, 1, 1
+    Buttons(30).AddWall GetTex("Button30"), -(ShaftLeft - 0.17), -18.45 + 1.2, -(ShaftLeft - 0.17), -18.15 + 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 1.5, 1, 1
+    Buttons(31).AddWall GetTex("Button31"), -(ShaftLeft - 0.17), -18.45 + 1.6, -(ShaftLeft - 0.17), -18.15 + 1.6, 0.3, (Elevator(Number).GetPosition.Y + 12) - 1.5, 1, 1
+    
+    Buttons(22).AddWall GetTex("Button22"), -(ShaftLeft - 0.17), -18.45, -(ShaftLeft - 0.17), -18.15, 0.3, (Elevator(Number).GetPosition.Y + 12) - 2, 1, 1
+    Buttons(23).AddWall GetTex("Button23"), -(ShaftLeft - 0.17), -18.45 + 0.4, -(ShaftLeft - 0.17), -18.15 + 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 2, 1, 1
+    Buttons(24).AddWall GetTex("Button24"), -(ShaftLeft - 0.17), -18.45 + 0.8, -(ShaftLeft - 0.17), -18.15 + 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 2, 1, 1
+    Buttons(25).AddWall GetTex("Button25"), -(ShaftLeft - 0.17), -18.45 + 1.2, -(ShaftLeft - 0.17), -18.15 + 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 2, 1, 1
+    Buttons(26).AddWall GetTex("Button26"), -(ShaftLeft - 0.17), -18.45 + 1.6, -(ShaftLeft - 0.17), -18.15 + 1.6, 0.3, (Elevator(Number).GetPosition.Y + 12) - 2, 1, 1
+    
+    Buttons(17).AddWall GetTex("Button17"), -(ShaftLeft - 0.17), -18.45, -(ShaftLeft - 0.17), -18.15, 0.3, (Elevator(Number).GetPosition.Y + 12) - 2.5, 1, 1
+    Buttons(18).AddWall GetTex("Button18"), -(ShaftLeft - 0.17), -18.45 + 0.4, -(ShaftLeft - 0.17), -18.15 + 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 2.5, 1, 1
+    Buttons(19).AddWall GetTex("Button19"), -(ShaftLeft - 0.17), -18.45 + 0.8, -(ShaftLeft - 0.17), -18.15 + 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 2.5, 1, 1
+    Buttons(20).AddWall GetTex("Button20"), -(ShaftLeft - 0.17), -18.45 + 1.2, -(ShaftLeft - 0.17), -18.15 + 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 2.5, 1, 1
+    Buttons(21).AddWall GetTex("Button21"), -(ShaftLeft - 0.17), -18.45 + 1.6, -(ShaftLeft - 0.17), -18.15 + 1.6, 0.3, (Elevator(Number).GetPosition.Y + 12) - 2.5, 1, 1
+    
+    Buttons(12).AddWall GetTex("Button12"), -(ShaftLeft - 0.17), -18.45, -(ShaftLeft - 0.17), -18.15, 0.3, (Elevator(Number).GetPosition.Y + 12) - 3, 1, 1
+    Buttons(13).AddWall GetTex("Button13"), -(ShaftLeft - 0.17), -18.45 + 0.4, -(ShaftLeft - 0.17), -18.15 + 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 3, 1, 1
+    Buttons(14).AddWall GetTex("Button14"), -(ShaftLeft - 0.17), -18.45 + 0.8, -(ShaftLeft - 0.17), -18.15 + 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 3, 1, 1
+    Buttons(15).AddWall GetTex("Button15"), -(ShaftLeft - 0.17), -18.45 + 1.2, -(ShaftLeft - 0.17), -18.15 + 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 3, 1, 1
+    Buttons(16).AddWall GetTex("Button16"), -(ShaftLeft - 0.17), -18.45 + 1.6, -(ShaftLeft - 0.17), -18.15 + 1.6, 0.3, (Elevator(Number).GetPosition.Y + 12) - 3, 1, 1
+    
+    Buttons(7).AddWall GetTex("Button7"), -(ShaftLeft - 0.17), -18.45, -(ShaftLeft - 0.17), -18.15, 0.3, (Elevator(Number).GetPosition.Y + 12) - 3.5, 1, 1
+    Buttons(8).AddWall GetTex("Button8"), -(ShaftLeft - 0.17), -18.45 + 0.4, -(ShaftLeft - 0.17), -18.15 + 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 3.5, 1, 1
+    Buttons(9).AddWall GetTex("Button9"), -(ShaftLeft - 0.17), -18.45 + 0.8, -(ShaftLeft - 0.17), -18.15 + 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 3.5, 1, 1
+    Buttons(10).AddWall GetTex("Button10"), -(ShaftLeft - 0.17), -18.45 + 1.2, -(ShaftLeft - 0.17), -18.15 + 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 3.5, 1, 1
+    Buttons(11).AddWall GetTex("Button11"), -(ShaftLeft - 0.17), -18.45 + 1.6, -(ShaftLeft - 0.17), -18.15 + 1.6, 0.3, (Elevator(Number).GetPosition.Y + 12) - 3.5, 1, 1
+    
+    Buttons(2).AddWall GetTex("Button2"), -(ShaftLeft - 0.17), -18.45, -(ShaftLeft - 0.17), -18.15, 0.3, (Elevator(Number).GetPosition.Y + 12) - 4, 1, 1
+    Buttons(3).AddWall GetTex("Button3"), -(ShaftLeft - 0.17), -18.45 + 0.4, -(ShaftLeft - 0.17), -18.15 + 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 4, 1, 1
+    Buttons(4).AddWall GetTex("Button4"), -(ShaftLeft - 0.17), -18.45 + 0.8, -(ShaftLeft - 0.17), -18.15 + 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 4, 1, 1
+    Buttons(5).AddWall GetTex("Button5"), -(ShaftLeft - 0.17), -18.45 + 1.2, -(ShaftLeft - 0.17), -18.15 + 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 4, 1, 1
+    Buttons(6).AddWall GetTex("Button6"), -(ShaftLeft - 0.17), -18.45 + 1.6, -(ShaftLeft - 0.17), -18.15 + 1.6, 0.3, (Elevator(Number).GetPosition.Y + 12) - 4, 1, 1
+    
+    'Buttons(-1).AddWall GetTex("ButtonL"), -(ShaftLeft - 0.17), -18.45 , -(ShaftLeft - 0.17), -18.15 , 0.3, (Elevator(Number).GetPosition.y + 12) - 4.5, 1, 1
+    'Buttons(81).AddWall GetTex("Button81"), -(ShaftLeft - 0.17), -18.45 + 0.4, -(ShaftLeft - 0.17), -18.15 + 0.4, 0.3, (Elevator(Number).GetPosition.y + 12) - 4.5, 1, 1
+    Buttons(-1).AddWall GetTex("ButtonL"), -(ShaftLeft - 0.17), -18.45 + 0.8, -(ShaftLeft - 0.17), -18.15 + 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 4.5, 1, 1
+    'Buttons(83).AddWall GetTex("Button83"), -(ShaftLeft - 0.17), -18.45 + 1.2, -(ShaftLeft - 0.17), -18.15 + 1.2, 0.3, (Elevator(Number).GetPosition.y + 12) - 4.5, 1, 1
+    'Buttons(84).AddWall GetTex("Button84"), -(ShaftLeft - 0.17), -18.45 + 1.6, -(ShaftLeft - 0.17), -18.15 + 1.6, 0.3, (Elevator(Number).GetPosition.y + 12) - 4.5, 1, 1
+    
+    'Buttons(2).AddWall GetTex("Button2"), -(ShaftLeft - 0.17), -18.45 , -(ShaftLeft - 0.17), -18.15 , 0.3, (Elevator(Number).GetPosition.y + 12) - 5, 1, 1
+    'Buttons(39).AddWall GetTex("Button39"), -(ShaftLeft - 0.17), -18.45 + 0.4, -(ShaftLeft - 0.17), -18.15 + 0.4, 0.3, (Elevator(Number).GetPosition.y + 12) - 5, 1, 1
+    'Buttons(-1).AddWall GetTex("ButtonL"), -(ShaftLeft - 0.17), -18.45 + 0.8, -(ShaftLeft - 0.17), -18.15 + 0.8, 0.3, (Elevator(Number).GetPosition.y + 12) - 5, 1, 1
+    'Buttons(65).AddWall GetTex("Button65"), -(ShaftLeft - 0.17), -18.45 + 1.2, -(ShaftLeft - 0.17), -18.15 + 1.2, 0.3, (Elevator(Number).GetPosition.y + 12) - 5, 1, 1
+    'Buttons(79).AddWall GetTex("Button79"), -(ShaftLeft - 0.17), -18.45 + 1.6, -(ShaftLeft - 0.17), -18.15 + 1.6, 0.3, (Elevator(Number).GetPosition.y + 12) - 5, 1, 1
+    
+    Buttons(139).AddWall GetTex("ButtonOpen"), -(ShaftLeft - 0.17), -18.45, -(ShaftLeft - 0.17), -18.15, 0.3, (Elevator(Number).GetPosition.Y + 12) - 5.5, 1, 1
+    Buttons(140).AddWall GetTex("ButtonClose"), -(ShaftLeft - 0.17), -18.45 + 0.4, -(ShaftLeft - 0.17), -18.15 + 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 5.5, 1, 1
+    Buttons(141).AddWall GetTex("ButtonCancel"), -(ShaftLeft - 0.17), -18.45 + 0.8, -(ShaftLeft - 0.17), -18.15 + 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 5.5, 1, 1
+    Buttons(142).AddWall GetTex("ButtonStop"), -(ShaftLeft - 0.17), -18.45 + 1.2, -(ShaftLeft - 0.17), -18.15 + 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 5.5, 1, 1
+    Buttons(143).AddWall GetTex("ButtonAlarm"), -(ShaftLeft - 0.17), -18.45 + 1.6, -(ShaftLeft - 0.17), -18.15 + 1.6, 0.3, (Elevator(Number).GetPosition.Y + 12) - 5.5, 1, 1
+
+End If
+
+'Elevator 2
+If Number = 32 Then
+
+    'Buttons(135).AddWall GetTex("Button135"), (ShaftLeft - 0.17), -27.85 , (ShaftLeft - 0.17), -27.55 , 0.3, (Elevator(Number).GetPosition.y + 12), -1, 1
+    'Buttons(1).AddWall GetTex("Button1"), (ShaftLeft - 0.17), -27.85 - 0.4, (ShaftLeft - 0.17), -27.55 - 0.4, 0.3, (Elevator(Number).GetPosition.y + 12), -1, 1
+    'Buttons(136).AddWall GetTex("Button136"), (ShaftLeft - 0.17), -27.85 - 0.8, (ShaftLeft - 0.17), -27.55 - 0.8, 0.3, (Elevator(Number).GetPosition.y + 12), -1, 1
+    'Buttons(137).AddWall GetTex("Button137"), (ShaftLeft - 0.17), -27.85 - 1.2, (ShaftLeft - 0.17), -27.55 - 1.2, 0.3, (Elevator(Number).GetPosition.y + 12), -1, 1
+    'Buttons(138).AddWall GetTex("ButtonR"), (ShaftLeft - 0.17), -27.85 - 1.6, (ShaftLeft - 0.17), -27.55 - 1.6, 0.3, (Elevator(Number).GetPosition.y + 12), -1, 1
+    
+    'Buttons(37).AddWall GetTex("Button37"), (ShaftLeft - 0.17), -27.85 , (ShaftLeft - 0.17), -27.55 , 0.3, (Elevator(Number).GetPosition.y + 12) - 0.5, -1, 1
+    Buttons(37).AddWall GetTex("Button37"), (ShaftLeft - 0.17), -27.85 - 0.4, (ShaftLeft - 0.17), -27.55 - 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 0.5, -1, 1
+    Buttons(38).AddWall GetTex("Button38"), (ShaftLeft - 0.17), -27.85 - 0.8, (ShaftLeft - 0.17), -27.55 - 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 0.5, -1, 1
+    Buttons(39).AddWall GetTex("Button39"), (ShaftLeft - 0.17), -27.85 - 1.2, (ShaftLeft - 0.17), -27.55 - 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 0.5, -1, 1
+    'Buttons(39).AddWall GetTex("Button39"), (ShaftLeft - 0.17), -27.85 - 1.6, (ShaftLeft - 0.17), -27.55 - 1.6, 0.3, (Elevator(Number).GetPosition.y + 12) - 0.5, -1, 1
+    
+    Buttons(32).AddWall GetTex("Button32"), (ShaftLeft - 0.17), -27.85, (ShaftLeft - 0.17), -27.55, 0.3, (Elevator(Number).GetPosition.Y + 12) - 1, -1, 1
+    Buttons(33).AddWall GetTex("Button33"), (ShaftLeft - 0.17), -27.85 - 0.4, (ShaftLeft - 0.17), -27.55 - 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 1, -1, 1
+    Buttons(34).AddWall GetTex("Button34"), (ShaftLeft - 0.17), -27.85 - 0.8, (ShaftLeft - 0.17), -27.55 - 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 1, -1, 1
+    Buttons(35).AddWall GetTex("Button35"), (ShaftLeft - 0.17), -27.85 - 1.2, (ShaftLeft - 0.17), -27.55 - 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 1, -1, 1
+    Buttons(36).AddWall GetTex("Button36"), (ShaftLeft - 0.17), -27.85 - 1.6, (ShaftLeft - 0.17), -27.55 - 1.6, 0.3, (Elevator(Number).GetPosition.Y + 12) - 1, -1, 1
+    
+    Buttons(27).AddWall GetTex("Button27"), (ShaftLeft - 0.17), -27.85, (ShaftLeft - 0.17), -27.55, 0.3, (Elevator(Number).GetPosition.Y + 12) - 1.5, -1, 1
+    Buttons(28).AddWall GetTex("Button28"), (ShaftLeft - 0.17), -27.85 - 0.4, (ShaftLeft - 0.17), -27.55 - 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 1.5, -1, 1
+    Buttons(29).AddWall GetTex("Button29"), (ShaftLeft - 0.17), -27.85 - 0.8, (ShaftLeft - 0.17), -27.55 - 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 1.5, -1, 1
+    Buttons(30).AddWall GetTex("Button30"), (ShaftLeft - 0.17), -27.85 - 1.2, (ShaftLeft - 0.17), -27.55 - 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 1.5, -1, 1
+    Buttons(31).AddWall GetTex("Button31"), (ShaftLeft - 0.17), -27.85 - 1.6, (ShaftLeft - 0.17), -27.55 - 1.6, 0.3, (Elevator(Number).GetPosition.Y + 12) - 1.5, -1, 1
+    
+    Buttons(22).AddWall GetTex("Button22"), (ShaftLeft - 0.17), -27.85, (ShaftLeft - 0.17), -27.55, 0.3, (Elevator(Number).GetPosition.Y + 12) - 2, -1, 1
+    Buttons(23).AddWall GetTex("Button23"), (ShaftLeft - 0.17), -27.85 - 0.4, (ShaftLeft - 0.17), -27.55 - 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 2, -1, 1
+    Buttons(24).AddWall GetTex("Button24"), (ShaftLeft - 0.17), -27.85 - 0.8, (ShaftLeft - 0.17), -27.55 - 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 2, -1, 1
+    Buttons(25).AddWall GetTex("Button25"), (ShaftLeft - 0.17), -27.85 - 1.2, (ShaftLeft - 0.17), -27.55 - 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 2, -1, 1
+    Buttons(26).AddWall GetTex("Button26"), (ShaftLeft - 0.17), -27.85 - 1.6, (ShaftLeft - 0.17), -27.55 - 1.6, 0.3, (Elevator(Number).GetPosition.Y + 12) - 2, -1, 1
+    
+    Buttons(17).AddWall GetTex("Button17"), (ShaftLeft - 0.17), -27.85, (ShaftLeft - 0.17), -27.55, 0.3, (Elevator(Number).GetPosition.Y + 12) - 2.5, -1, 1
+    Buttons(18).AddWall GetTex("Button18"), (ShaftLeft - 0.17), -27.85 - 0.4, (ShaftLeft - 0.17), -27.55 - 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 2.5, -1, 1
+    Buttons(19).AddWall GetTex("Button19"), (ShaftLeft - 0.17), -27.85 - 0.8, (ShaftLeft - 0.17), -27.55 - 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 2.5, -1, 1
+    Buttons(20).AddWall GetTex("Button20"), (ShaftLeft - 0.17), -27.85 - 1.2, (ShaftLeft - 0.17), -27.55 - 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 2.5, -1, 1
+    Buttons(21).AddWall GetTex("Button21"), (ShaftLeft - 0.17), -27.85 - 1.6, (ShaftLeft - 0.17), -27.55 - 1.6, 0.3, (Elevator(Number).GetPosition.Y + 12) - 2.5, -1, 1
+    
+    Buttons(12).AddWall GetTex("Button12"), (ShaftLeft - 0.17), -27.85, (ShaftLeft - 0.17), -27.55, 0.3, (Elevator(Number).GetPosition.Y + 12) - 3, -1, 1
+    Buttons(13).AddWall GetTex("Button13"), (ShaftLeft - 0.17), -27.85 - 0.4, (ShaftLeft - 0.17), -27.55 - 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 3, -1, 1
+    Buttons(14).AddWall GetTex("Button14"), (ShaftLeft - 0.17), -27.85 - 0.8, (ShaftLeft - 0.17), -27.55 - 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 3, -1, 1
+    Buttons(15).AddWall GetTex("Button15"), (ShaftLeft - 0.17), -27.85 - 1.2, (ShaftLeft - 0.17), -27.55 - 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 3, -1, 1
+    Buttons(16).AddWall GetTex("Button16"), (ShaftLeft - 0.17), -27.85 - 1.6, (ShaftLeft - 0.17), -27.55 - 1.6, 0.3, (Elevator(Number).GetPosition.Y + 12) - 3, -1, 1
+    
+    Buttons(7).AddWall GetTex("Button7"), (ShaftLeft - 0.17), -27.85, (ShaftLeft - 0.17), -27.55, 0.3, (Elevator(Number).GetPosition.Y + 12) - 3.5, -1, 1
+    Buttons(8).AddWall GetTex("Button8"), (ShaftLeft - 0.17), -27.85 - 0.4, (ShaftLeft - 0.17), -27.55 - 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 3.5, -1, 1
+    Buttons(9).AddWall GetTex("Button9"), (ShaftLeft - 0.17), -27.85 - 0.8, (ShaftLeft - 0.17), -27.55 - 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 3.5, -1, 1
+    Buttons(10).AddWall GetTex("Button10"), (ShaftLeft - 0.17), -27.85 - 1.2, (ShaftLeft - 0.17), -27.55 - 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 3.5, -1, 1
+    Buttons(11).AddWall GetTex("Button11"), (ShaftLeft - 0.17), -27.85 - 1.6, (ShaftLeft - 0.17), -27.55 - 1.6, 0.3, (Elevator(Number).GetPosition.Y + 12) - 3.5, -1, 1
+    
+    Buttons(2).AddWall GetTex("Button2"), (ShaftLeft - 0.17), -27.85, (ShaftLeft - 0.17), -27.55, 0.3, (Elevator(Number).GetPosition.Y + 12) - 4, -1, 1
+    Buttons(3).AddWall GetTex("Button3"), (ShaftLeft - 0.17), -27.85 - 0.4, (ShaftLeft - 0.17), -27.55 - 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 4, -1, 1
+    Buttons(4).AddWall GetTex("Button4"), (ShaftLeft - 0.17), -27.85 - 0.8, (ShaftLeft - 0.17), -27.55 - 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 4, -1, 1
+    Buttons(5).AddWall GetTex("Button5"), (ShaftLeft - 0.17), -27.85 - 1.2, (ShaftLeft - 0.17), -27.55 - 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 4, -1, 1
+    Buttons(6).AddWall GetTex("Button6"), (ShaftLeft - 0.17), -27.85 - 1.6, (ShaftLeft - 0.17), -27.55 - 1.6, 0.3, (Elevator(Number).GetPosition.Y + 12) - 4, -1, 1
+    
+    'Buttons(-1).AddWall GetTex("ButtonL"), (ShaftLeft - 0.17), -27.85 , (ShaftLeft - 0.17), -27.55 , 0.3, (Elevator(Number).GetPosition.y + 12) - 4.5, -1, 1
+    'Buttons(81).AddWall GetTex("Button81"), (ShaftLeft - 0.17), -27.85 - 0.4, (ShaftLeft - 0.17), -27.55 - 0.4, 0.3, (Elevator(Number).GetPosition.y + 12) - 4.5, -1, 1
+    Buttons(-1).AddWall GetTex("ButtonL"), (ShaftLeft - 0.17), -27.85 - 0.8, (ShaftLeft - 0.17), -27.55 - 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 4.5, -1, 1
+    'Buttons(83).AddWall GetTex("Button83"), (ShaftLeft - 0.17), -27.85 - 1.2, (ShaftLeft - 0.17), -27.55 - 1.2, 0.3, (Elevator(Number).GetPosition.y + 12) - 4.5, -1, 1
+    'Buttons(84).AddWall GetTex("Button84"), (ShaftLeft - 0.17), -27.85 - 1.6, (ShaftLeft - 0.17), -27.55 - 1.6, 0.3, (Elevator(Number).GetPosition.y + 12) - 4.5, -1, 1
+    
+    'Buttons(2).AddWall GetTex("Button2"), (ShaftLeft - 0.17), -27.85 , (ShaftLeft - 0.17), -27.55 , 0.3, (Elevator(Number).GetPosition.y + 12) - 5, -1, 1
+    'Buttons(39).AddWall GetTex("Button39"), (ShaftLeft - 0.17), -27.85 - 0.4, (ShaftLeft - 0.17), -27.55 - 0.4, 0.3, (Elevator(Number).GetPosition.y + 12) - 5, -1, 1
+    'Buttons(-1).AddWall GetTex("ButtonL"), (ShaftLeft - 0.17), -27.85 - 0.8, (ShaftLeft - 0.17), -27.55 - 0.8, 0.3, (Elevator(Number).GetPosition.y + 12) - 5, -1, 1
+    'Buttons(65).AddWall GetTex("Button65"), (ShaftLeft - 0.17), -27.85 - 1.2, (ShaftLeft - 0.17), -27.55 - 1.2, 0.3, (Elevator(Number).GetPosition.y + 12) - 5, -1, 1
+    'Buttons(79).AddWall GetTex("Button79"), (ShaftLeft - 0.17), -27.85 - 1.6, (ShaftLeft - 0.17), -27.55 - 1.6, 0.3, (Elevator(Number).GetPosition.y + 12) - 5, -1, 1
+    
+    Buttons(139).AddWall GetTex("ButtonOpen"), (ShaftLeft - 0.17), -27.85, (ShaftLeft - 0.17), -27.55, 0.3, (Elevator(Number).GetPosition.Y + 12) - 5.5, -1, 1
+    Buttons(140).AddWall GetTex("ButtonClose"), (ShaftLeft - 0.17), -27.85 - 0.4, (ShaftLeft - 0.17), -27.55 - 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 5.5, -1, 1
+    Buttons(141).AddWall GetTex("ButtonCancel"), (ShaftLeft - 0.17), -27.85 - 0.8, (ShaftLeft - 0.17), -27.55 - 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 5.5, -1, 1
+    Buttons(142).AddWall GetTex("ButtonStop"), (ShaftLeft - 0.17), -27.85 - 1.2, (ShaftLeft - 0.17), -27.55 - 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 5.5, -1, 1
+    Buttons(143).AddWall GetTex("ButtonAlarm"), (ShaftLeft - 0.17), -27.85 - 1.6, (ShaftLeft - 0.17), -27.55 - 1.6, 0.3, (Elevator(Number).GetPosition.Y + 12) - 5.5, -1, 1
+
+End If
+
+'Elevator 3
+If Number = 33 Then
+
+    'Buttons(135).AddWall GetTex("Button135"), -(ShaftLeft - 0.17), -18.45 + (15 * 1), -(ShaftLeft - 0.17), -18.15 + (15 * 1), 0.3, (Elevator(Number).GetPosition.y + 12), 1, 1
+    'Buttons(1).AddWall GetTex("Button1"), -(ShaftLeft - 0.17), -18.45 + (15 * 1) + 0.4, -(ShaftLeft - 0.17), -18.15 + (15 * 1) + 0.4, 0.3, (Elevator(Number).GetPosition.y + 12), 1, 1
+    'Buttons(136).AddWall GetTex("Button136"), -(ShaftLeft - 0.17), -18.45 + (15 * 1) + 0.8, -(ShaftLeft - 0.17), -18.15 + (15 * 1) + 0.8, 0.3, (Elevator(Number).GetPosition.y + 12), 1, 1
+    'Buttons(137).AddWall GetTex("Button137"), -(ShaftLeft - 0.17), -18.45 + (15 * 1) + 1.2, -(ShaftLeft - 0.17), -18.15 + (15 * 1) + 1.2, 0.3, (Elevator(Number).GetPosition.y + 12), 1, 1
+    'Buttons(138).AddWall GetTex("ButtonR"), -(ShaftLeft - 0.17), -18.45 + (15 * 1) + 1.6, -(ShaftLeft - 0.17), -18.15 + (15 * 1) + 1.6, 0.3, (Elevator(Number).GetPosition.y + 12), 1, 1
+    
+    'Buttons(37).AddWall GetTex("Button37"), -(ShaftLeft - 0.17), -18.45 + (15 * 1), -(ShaftLeft - 0.17), -18.15 + (15 * 1), 0.3, (Elevator(Number).GetPosition.y + 12) - 0.5, 1, 1
+    Buttons(37).AddWall GetTex("Button37"), -(ShaftLeft - 0.17), -18.45 + (15 * 1) + 0.4, -(ShaftLeft - 0.17), -18.15 + (15 * 1) + 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 0.5, 1, 1
+    Buttons(38).AddWall GetTex("Button38"), -(ShaftLeft - 0.17), -18.45 + (15 * 1) + 0.8, -(ShaftLeft - 0.17), -18.15 + (15 * 1) + 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 0.5, 1, 1
+    Buttons(39).AddWall GetTex("Button39"), -(ShaftLeft - 0.17), -18.45 + (15 * 1) + 1.2, -(ShaftLeft - 0.17), -18.15 + (15 * 1) + 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 0.5, 1, 1
+    'Buttons(39).AddWall GetTex("Button39"), -(ShaftLeft - 0.17), -18.45 + (15 * 1) + 1.6, -(ShaftLeft - 0.17), -18.15 + (15 * 1) + 1.6, 0.3, (Elevator(Number).GetPosition.y + 12) - 0.5, 1, 1
+    
+    Buttons(32).AddWall GetTex("Button32"), -(ShaftLeft - 0.17), -18.45 + (15 * 1), -(ShaftLeft - 0.17), -18.15 + (15 * 1), 0.3, (Elevator(Number).GetPosition.Y + 12) - 1, 1, 1
+    Buttons(33).AddWall GetTex("Button33"), -(ShaftLeft - 0.17), -18.45 + (15 * 1) + 0.4, -(ShaftLeft - 0.17), -18.15 + (15 * 1) + 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 1, 1, 1
+    Buttons(34).AddWall GetTex("Button34"), -(ShaftLeft - 0.17), -18.45 + (15 * 1) + 0.8, -(ShaftLeft - 0.17), -18.15 + (15 * 1) + 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 1, 1, 1
+    Buttons(35).AddWall GetTex("Button35"), -(ShaftLeft - 0.17), -18.45 + (15 * 1) + 1.2, -(ShaftLeft - 0.17), -18.15 + (15 * 1) + 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 1, 1, 1
+    Buttons(36).AddWall GetTex("Button36"), -(ShaftLeft - 0.17), -18.45 + (15 * 1) + 1.6, -(ShaftLeft - 0.17), -18.15 + (15 * 1) + 1.6, 0.3, (Elevator(Number).GetPosition.Y + 12) - 1, 1, 1
+    
+    Buttons(27).AddWall GetTex("Button27"), -(ShaftLeft - 0.17), -18.45 + (15 * 1), -(ShaftLeft - 0.17), -18.15 + (15 * 1), 0.3, (Elevator(Number).GetPosition.Y + 12) - 1.5, 1, 1
+    Buttons(28).AddWall GetTex("Button28"), -(ShaftLeft - 0.17), -18.45 + (15 * 1) + 0.4, -(ShaftLeft - 0.17), -18.15 + (15 * 1) + 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 1.5, 1, 1
+    Buttons(29).AddWall GetTex("Button29"), -(ShaftLeft - 0.17), -18.45 + (15 * 1) + 0.8, -(ShaftLeft - 0.17), -18.15 + (15 * 1) + 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 1.5, 1, 1
+    Buttons(30).AddWall GetTex("Button30"), -(ShaftLeft - 0.17), -18.45 + (15 * 1) + 1.2, -(ShaftLeft - 0.17), -18.15 + (15 * 1) + 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 1.5, 1, 1
+    Buttons(31).AddWall GetTex("Button31"), -(ShaftLeft - 0.17), -18.45 + (15 * 1) + 1.6, -(ShaftLeft - 0.17), -18.15 + (15 * 1) + 1.6, 0.3, (Elevator(Number).GetPosition.Y + 12) - 1.5, 1, 1
+    
+    Buttons(22).AddWall GetTex("Button22"), -(ShaftLeft - 0.17), -18.45 + (15 * 1), -(ShaftLeft - 0.17), -18.15 + (15 * 1), 0.3, (Elevator(Number).GetPosition.Y + 12) - 2, 1, 1
+    Buttons(23).AddWall GetTex("Button23"), -(ShaftLeft - 0.17), -18.45 + (15 * 1) + 0.4, -(ShaftLeft - 0.17), -18.15 + (15 * 1) + 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 2, 1, 1
+    Buttons(24).AddWall GetTex("Button24"), -(ShaftLeft - 0.17), -18.45 + (15 * 1) + 0.8, -(ShaftLeft - 0.17), -18.15 + (15 * 1) + 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 2, 1, 1
+    Buttons(25).AddWall GetTex("Button25"), -(ShaftLeft - 0.17), -18.45 + (15 * 1) + 1.2, -(ShaftLeft - 0.17), -18.15 + (15 * 1) + 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 2, 1, 1
+    Buttons(26).AddWall GetTex("Button26"), -(ShaftLeft - 0.17), -18.45 + (15 * 1) + 1.6, -(ShaftLeft - 0.17), -18.15 + (15 * 1) + 1.6, 0.3, (Elevator(Number).GetPosition.Y + 12) - 2, 1, 1
+    
+    Buttons(17).AddWall GetTex("Button17"), -(ShaftLeft - 0.17), -18.45 + (15 * 1), -(ShaftLeft - 0.17), -18.15 + (15 * 1), 0.3, (Elevator(Number).GetPosition.Y + 12) - 2.5, 1, 1
+    Buttons(18).AddWall GetTex("Button18"), -(ShaftLeft - 0.17), -18.45 + (15 * 1) + 0.4, -(ShaftLeft - 0.17), -18.15 + (15 * 1) + 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 2.5, 1, 1
+    Buttons(19).AddWall GetTex("Button19"), -(ShaftLeft - 0.17), -18.45 + (15 * 1) + 0.8, -(ShaftLeft - 0.17), -18.15 + (15 * 1) + 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 2.5, 1, 1
+    Buttons(20).AddWall GetTex("Button20"), -(ShaftLeft - 0.17), -18.45 + (15 * 1) + 1.2, -(ShaftLeft - 0.17), -18.15 + (15 * 1) + 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 2.5, 1, 1
+    Buttons(21).AddWall GetTex("Button21"), -(ShaftLeft - 0.17), -18.45 + (15 * 1) + 1.6, -(ShaftLeft - 0.17), -18.15 + (15 * 1) + 1.6, 0.3, (Elevator(Number).GetPosition.Y + 12) - 2.5, 1, 1
+    
+    Buttons(12).AddWall GetTex("Button12"), -(ShaftLeft - 0.17), -18.45 + (15 * 1), -(ShaftLeft - 0.17), -18.15 + (15 * 1), 0.3, (Elevator(Number).GetPosition.Y + 12) - 3, 1, 1
+    Buttons(13).AddWall GetTex("Button13"), -(ShaftLeft - 0.17), -18.45 + (15 * 1) + 0.4, -(ShaftLeft - 0.17), -18.15 + (15 * 1) + 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 3, 1, 1
+    Buttons(14).AddWall GetTex("Button14"), -(ShaftLeft - 0.17), -18.45 + (15 * 1) + 0.8, -(ShaftLeft - 0.17), -18.15 + (15 * 1) + 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 3, 1, 1
+    Buttons(15).AddWall GetTex("Button15"), -(ShaftLeft - 0.17), -18.45 + (15 * 1) + 1.2, -(ShaftLeft - 0.17), -18.15 + (15 * 1) + 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 3, 1, 1
+    Buttons(16).AddWall GetTex("Button16"), -(ShaftLeft - 0.17), -18.45 + (15 * 1) + 1.6, -(ShaftLeft - 0.17), -18.15 + (15 * 1) + 1.6, 0.3, (Elevator(Number).GetPosition.Y + 12) - 3, 1, 1
+    
+    Buttons(7).AddWall GetTex("Button7"), -(ShaftLeft - 0.17), -18.45 + (15 * 1), -(ShaftLeft - 0.17), -18.15 + (15 * 1), 0.3, (Elevator(Number).GetPosition.Y + 12) - 3.5, 1, 1
+    Buttons(8).AddWall GetTex("Button8"), -(ShaftLeft - 0.17), -18.45 + (15 * 1) + 0.4, -(ShaftLeft - 0.17), -18.15 + (15 * 1) + 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 3.5, 1, 1
+    Buttons(9).AddWall GetTex("Button9"), -(ShaftLeft - 0.17), -18.45 + (15 * 1) + 0.8, -(ShaftLeft - 0.17), -18.15 + (15 * 1) + 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 3.5, 1, 1
+    Buttons(10).AddWall GetTex("Button10"), -(ShaftLeft - 0.17), -18.45 + (15 * 1) + 1.2, -(ShaftLeft - 0.17), -18.15 + (15 * 1) + 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 3.5, 1, 1
+    Buttons(11).AddWall GetTex("Button11"), -(ShaftLeft - 0.17), -18.45 + (15 * 1) + 1.6, -(ShaftLeft - 0.17), -18.15 + (15 * 1) + 1.6, 0.3, (Elevator(Number).GetPosition.Y + 12) - 3.5, 1, 1
+    
+    Buttons(2).AddWall GetTex("Button2"), -(ShaftLeft - 0.17), -18.45 + (15 * 1), -(ShaftLeft - 0.17), -18.15 + (15 * 1), 0.3, (Elevator(Number).GetPosition.Y + 12) - 4, 1, 1
+    Buttons(3).AddWall GetTex("Button3"), -(ShaftLeft - 0.17), -18.45 + (15 * 1) + 0.4, -(ShaftLeft - 0.17), -18.15 + (15 * 1) + 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 4, 1, 1
+    Buttons(4).AddWall GetTex("Button4"), -(ShaftLeft - 0.17), -18.45 + (15 * 1) + 0.8, -(ShaftLeft - 0.17), -18.15 + (15 * 1) + 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 4, 1, 1
+    Buttons(5).AddWall GetTex("Button5"), -(ShaftLeft - 0.17), -18.45 + (15 * 1) + 1.2, -(ShaftLeft - 0.17), -18.15 + (15 * 1) + 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 4, 1, 1
+    Buttons(6).AddWall GetTex("Button6"), -(ShaftLeft - 0.17), -18.45 + (15 * 1) + 1.6, -(ShaftLeft - 0.17), -18.15 + (15 * 1) + 1.6, 0.3, (Elevator(Number).GetPosition.Y + 12) - 4, 1, 1
+    
+    'Buttons(-1).AddWall GetTex("ButtonL"), -(ShaftLeft - 0.17), -18.45 + (15 * 1), -(ShaftLeft - 0.17), -18.15 + (15 * 1), 0.3, (Elevator(Number).GetPosition.y + 12) - 4.5, 1, 1
+    'Buttons(81).AddWall GetTex("Button81"), -(ShaftLeft - 0.17), -18.45 + (15 * 1) + 0.4, -(ShaftLeft - 0.17), -18.15 + (15 * 1) + 0.4, 0.3, (Elevator(Number).GetPosition.y + 12) - 4.5, 1, 1
+    Buttons(-1).AddWall GetTex("ButtonL"), -(ShaftLeft - 0.17), -18.45 + (15 * 1) + 0.8, -(ShaftLeft - 0.17), -18.15 + (15 * 1) + 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 4.5, 1, 1
+    'Buttons(83).AddWall GetTex("Button83"), -(ShaftLeft - 0.17), -18.45 + (15 * 1) + 1.2, -(ShaftLeft - 0.17), -18.15 + (15 * 1) + 1.2, 0.3, (Elevator(Number).GetPosition.y + 12) - 4.5, 1, 1
+    'Buttons(84).AddWall GetTex("Button84"), -(ShaftLeft - 0.17), -18.45 + (15 * 1) + 1.6, -(ShaftLeft - 0.17), -18.15 + (15 * 1) + 1.6, 0.3, (Elevator(Number).GetPosition.y + 12) - 4.5, 1, 1
+    
+    'Buttons(2).AddWall GetTex("Button2"), -(ShaftLeft - 0.17), -18.45 + (15 * 1), -(ShaftLeft - 0.17), -18.15 + (15 * 1), 0.3, (Elevator(Number).GetPosition.y + 12) - 5, 1, 1
+    'Buttons(39).AddWall GetTex("Button39"), -(ShaftLeft - 0.17), -18.45 + (15 * 1) + 0.4, -(ShaftLeft - 0.17), -18.15 + (15 * 1) + 0.4, 0.3, (Elevator(Number).GetPosition.y + 12) - 5, 1, 1
+    'Buttons(-1).AddWall GetTex("ButtonL"), -(ShaftLeft - 0.17), -18.45 + (15 * 1) + 0.8, -(ShaftLeft - 0.17), -18.15 + (15 * 1) + 0.8, 0.3, (Elevator(Number).GetPosition.y + 12) - 5, 1, 1
+    'Buttons(65).AddWall GetTex("Button65"), -(ShaftLeft - 0.17), -18.45 + (15 * 1) + 1.2, -(ShaftLeft - 0.17), -18.15 + (15 * 1) + 1.2, 0.3, (Elevator(Number).GetPosition.y + 12) - 5, 1, 1
+    'Buttons(79).AddWall GetTex("Button79"), -(ShaftLeft - 0.17), -18.45 + (15 * 1) + 1.6, -(ShaftLeft - 0.17), -18.15 + (15 * 1) + 1.6, 0.3, (Elevator(Number).GetPosition.y + 12) - 5, 1, 1
+    
+    Buttons(139).AddWall GetTex("ButtonOpen"), -(ShaftLeft - 0.17), -18.45 + (15 * 1), -(ShaftLeft - 0.17), -18.15 + (15 * 1), 0.3, (Elevator(Number).GetPosition.Y + 12) - 5.5, 1, 1
+    Buttons(140).AddWall GetTex("ButtonClose"), -(ShaftLeft - 0.17), -18.45 + (15 * 1) + 0.4, -(ShaftLeft - 0.17), -18.15 + (15 * 1) + 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 5.5, 1, 1
+    Buttons(141).AddWall GetTex("ButtonCancel"), -(ShaftLeft - 0.17), -18.45 + (15 * 1) + 0.8, -(ShaftLeft - 0.17), -18.15 + (15 * 1) + 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 5.5, 1, 1
+    Buttons(142).AddWall GetTex("ButtonStop"), -(ShaftLeft - 0.17), -18.45 + (15 * 1) + 1.2, -(ShaftLeft - 0.17), -18.15 + (15 * 1) + 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 5.5, 1, 1
+    Buttons(143).AddWall GetTex("ButtonAlarm"), -(ShaftLeft - 0.17), -18.45 + (15 * 1) + 1.6, -(ShaftLeft - 0.17), -18.15 + (15 * 1) + 1.6, 0.3, (Elevator(Number).GetPosition.Y + 12) - 5.5, 1, 1
+
+End If
+
+'Elevator 4
+If Number = 34 Then
+
+    'Buttons(135).AddWall GetTex("Button135"), (ShaftLeft - 0.17), -27.85 + (15 * 1), (ShaftLeft - 0.17), -27.55 + (15 * 1), 0.3, (Elevator(Number).GetPosition.y + 12), -1, 1
+    'Buttons(1).AddWall GetTex("Button1"), (ShaftLeft - 0.17), -27.85 + (15 * 1) - 0.4, (ShaftLeft - 0.17), -27.55 + (15 * 1) - 0.4, 0.3, (Elevator(Number).GetPosition.y + 12), -1, 1
+    'Buttons(136).AddWall GetTex("Button136"), (ShaftLeft - 0.17), -27.85 + (15 * 1) - 0.8, (ShaftLeft - 0.17), -27.55 + (15 * 1) - 0.8, 0.3, (Elevator(Number).GetPosition.y + 12), -1, 1
+    'Buttons(137).AddWall GetTex("Button137"), (ShaftLeft - 0.17), -27.85 + (15 * 1) - 1.2, (ShaftLeft - 0.17), -27.55 + (15 * 1) - 1.2, 0.3, (Elevator(Number).GetPosition.y + 12), -1, 1
+    'Buttons(138).AddWall GetTex("ButtonR"), (ShaftLeft - 0.17), -27.85 + (15 * 1) - 1.6, (ShaftLeft - 0.17), -27.55 + (15 * 1) - 1.6, 0.3, (Elevator(Number).GetPosition.y + 12), -1, 1
+    
+    'Buttons(37).AddWall GetTex("Button37"), (ShaftLeft - 0.17), -27.85 + (15 * 1), (ShaftLeft - 0.17), -27.55 + (15 * 1), 0.3, (Elevator(Number).GetPosition.y + 12) - 0.5, -1, 1
+    Buttons(37).AddWall GetTex("Button37"), (ShaftLeft - 0.17), -27.85 + (15 * 1) - 0.4, (ShaftLeft - 0.17), -27.55 + (15 * 1) - 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 0.5, -1, 1
+    Buttons(38).AddWall GetTex("Button38"), (ShaftLeft - 0.17), -27.85 + (15 * 1) - 0.8, (ShaftLeft - 0.17), -27.55 + (15 * 1) - 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 0.5, -1, 1
+    Buttons(39).AddWall GetTex("Button39"), (ShaftLeft - 0.17), -27.85 + (15 * 1) - 1.2, (ShaftLeft - 0.17), -27.55 + (15 * 1) - 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 0.5, -1, 1
+    'Buttons(39).AddWall GetTex("Button39"), (ShaftLeft - 0.17), -27.85 + (15 * 1) - 1.6, (ShaftLeft - 0.17), -27.55 + (15 * 1) - 1.6, 0.3, (Elevator(Number).GetPosition.y + 12) - 0.5, -1, 1
+    
+    Buttons(32).AddWall GetTex("Button32"), (ShaftLeft - 0.17), -27.85 + (15 * 1), (ShaftLeft - 0.17), -27.55 + (15 * 1), 0.3, (Elevator(Number).GetPosition.Y + 12) - 1, -1, 1
+    Buttons(33).AddWall GetTex("Button33"), (ShaftLeft - 0.17), -27.85 + (15 * 1) - 0.4, (ShaftLeft - 0.17), -27.55 + (15 * 1) - 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 1, -1, 1
+    Buttons(34).AddWall GetTex("Button34"), (ShaftLeft - 0.17), -27.85 + (15 * 1) - 0.8, (ShaftLeft - 0.17), -27.55 + (15 * 1) - 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 1, -1, 1
+    Buttons(35).AddWall GetTex("Button35"), (ShaftLeft - 0.17), -27.85 + (15 * 1) - 1.2, (ShaftLeft - 0.17), -27.55 + (15 * 1) - 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 1, -1, 1
+    Buttons(36).AddWall GetTex("Button36"), (ShaftLeft - 0.17), -27.85 + (15 * 1) - 1.6, (ShaftLeft - 0.17), -27.55 + (15 * 1) - 1.6, 0.3, (Elevator(Number).GetPosition.Y + 12) - 1, -1, 1
+    
+    Buttons(27).AddWall GetTex("Button27"), (ShaftLeft - 0.17), -27.85 + (15 * 1), (ShaftLeft - 0.17), -27.55 + (15 * 1), 0.3, (Elevator(Number).GetPosition.Y + 12) - 1.5, -1, 1
+    Buttons(28).AddWall GetTex("Button28"), (ShaftLeft - 0.17), -27.85 + (15 * 1) - 0.4, (ShaftLeft - 0.17), -27.55 + (15 * 1) - 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 1.5, -1, 1
+    Buttons(29).AddWall GetTex("Button29"), (ShaftLeft - 0.17), -27.85 + (15 * 1) - 0.8, (ShaftLeft - 0.17), -27.55 + (15 * 1) - 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 1.5, -1, 1
+    Buttons(30).AddWall GetTex("Button30"), (ShaftLeft - 0.17), -27.85 + (15 * 1) - 1.2, (ShaftLeft - 0.17), -27.55 + (15 * 1) - 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 1.5, -1, 1
+    Buttons(31).AddWall GetTex("Button31"), (ShaftLeft - 0.17), -27.85 + (15 * 1) - 1.6, (ShaftLeft - 0.17), -27.55 + (15 * 1) - 1.6, 0.3, (Elevator(Number).GetPosition.Y + 12) - 1.5, -1, 1
+    
+    Buttons(22).AddWall GetTex("Button22"), (ShaftLeft - 0.17), -27.85 + (15 * 1), (ShaftLeft - 0.17), -27.55 + (15 * 1), 0.3, (Elevator(Number).GetPosition.Y + 12) - 2, -1, 1
+    Buttons(23).AddWall GetTex("Button23"), (ShaftLeft - 0.17), -27.85 + (15 * 1) - 0.4, (ShaftLeft - 0.17), -27.55 + (15 * 1) - 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 2, -1, 1
+    Buttons(24).AddWall GetTex("Button24"), (ShaftLeft - 0.17), -27.85 + (15 * 1) - 0.8, (ShaftLeft - 0.17), -27.55 + (15 * 1) - 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 2, -1, 1
+    Buttons(25).AddWall GetTex("Button25"), (ShaftLeft - 0.17), -27.85 + (15 * 1) - 1.2, (ShaftLeft - 0.17), -27.55 + (15 * 1) - 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 2, -1, 1
+    Buttons(26).AddWall GetTex("Button26"), (ShaftLeft - 0.17), -27.85 + (15 * 1) - 1.6, (ShaftLeft - 0.17), -27.55 + (15 * 1) - 1.6, 0.3, (Elevator(Number).GetPosition.Y + 12) - 2, -1, 1
+    
+    Buttons(17).AddWall GetTex("Button17"), (ShaftLeft - 0.17), -27.85 + (15 * 1), (ShaftLeft - 0.17), -27.55 + (15 * 1), 0.3, (Elevator(Number).GetPosition.Y + 12) - 2.5, -1, 1
+    Buttons(18).AddWall GetTex("Button18"), (ShaftLeft - 0.17), -27.85 + (15 * 1) - 0.4, (ShaftLeft - 0.17), -27.55 + (15 * 1) - 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 2.5, -1, 1
+    Buttons(19).AddWall GetTex("Button19"), (ShaftLeft - 0.17), -27.85 + (15 * 1) - 0.8, (ShaftLeft - 0.17), -27.55 + (15 * 1) - 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 2.5, -1, 1
+    Buttons(20).AddWall GetTex("Button20"), (ShaftLeft - 0.17), -27.85 + (15 * 1) - 1.2, (ShaftLeft - 0.17), -27.55 + (15 * 1) - 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 2.5, -1, 1
+    Buttons(21).AddWall GetTex("Button21"), (ShaftLeft - 0.17), -27.85 + (15 * 1) - 1.6, (ShaftLeft - 0.17), -27.55 + (15 * 1) - 1.6, 0.3, (Elevator(Number).GetPosition.Y + 12) - 2.5, -1, 1
+    
+    Buttons(12).AddWall GetTex("Button12"), (ShaftLeft - 0.17), -27.85 + (15 * 1), (ShaftLeft - 0.17), -27.55 + (15 * 1), 0.3, (Elevator(Number).GetPosition.Y + 12) - 3, -1, 1
+    Buttons(13).AddWall GetTex("Button13"), (ShaftLeft - 0.17), -27.85 + (15 * 1) - 0.4, (ShaftLeft - 0.17), -27.55 + (15 * 1) - 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 3, -1, 1
+    Buttons(14).AddWall GetTex("Button14"), (ShaftLeft - 0.17), -27.85 + (15 * 1) - 0.8, (ShaftLeft - 0.17), -27.55 + (15 * 1) - 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 3, -1, 1
+    Buttons(15).AddWall GetTex("Button15"), (ShaftLeft - 0.17), -27.85 + (15 * 1) - 1.2, (ShaftLeft - 0.17), -27.55 + (15 * 1) - 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 3, -1, 1
+    Buttons(16).AddWall GetTex("Button16"), (ShaftLeft - 0.17), -27.85 + (15 * 1) - 1.6, (ShaftLeft - 0.17), -27.55 + (15 * 1) - 1.6, 0.3, (Elevator(Number).GetPosition.Y + 12) - 3, -1, 1
+    
+    Buttons(7).AddWall GetTex("Button7"), (ShaftLeft - 0.17), -27.85 + (15 * 1), (ShaftLeft - 0.17), -27.55 + (15 * 1), 0.3, (Elevator(Number).GetPosition.Y + 12) - 3.5, -1, 1
+    Buttons(8).AddWall GetTex("Button8"), (ShaftLeft - 0.17), -27.85 + (15 * 1) - 0.4, (ShaftLeft - 0.17), -27.55 + (15 * 1) - 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 3.5, -1, 1
+    Buttons(9).AddWall GetTex("Button9"), (ShaftLeft - 0.17), -27.85 + (15 * 1) - 0.8, (ShaftLeft - 0.17), -27.55 + (15 * 1) - 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 3.5, -1, 1
+    Buttons(10).AddWall GetTex("Button10"), (ShaftLeft - 0.17), -27.85 + (15 * 1) - 1.2, (ShaftLeft - 0.17), -27.55 + (15 * 1) - 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 3.5, -1, 1
+    Buttons(11).AddWall GetTex("Button11"), (ShaftLeft - 0.17), -27.85 + (15 * 1) - 1.6, (ShaftLeft - 0.17), -27.55 + (15 * 1) - 1.6, 0.3, (Elevator(Number).GetPosition.Y + 12) - 3.5, -1, 1
+    
+    Buttons(2).AddWall GetTex("Button2"), (ShaftLeft - 0.17), -27.85 + (15 * 1), (ShaftLeft - 0.17), -27.55 + (15 * 1), 0.3, (Elevator(Number).GetPosition.Y + 12) - 4, -1, 1
+    Buttons(3).AddWall GetTex("Button3"), (ShaftLeft - 0.17), -27.85 + (15 * 1) - 0.4, (ShaftLeft - 0.17), -27.55 + (15 * 1) - 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 4, -1, 1
+    Buttons(4).AddWall GetTex("Button4"), (ShaftLeft - 0.17), -27.85 + (15 * 1) - 0.8, (ShaftLeft - 0.17), -27.55 + (15 * 1) - 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 4, -1, 1
+    Buttons(5).AddWall GetTex("Button5"), (ShaftLeft - 0.17), -27.85 + (15 * 1) - 1.2, (ShaftLeft - 0.17), -27.55 + (15 * 1) - 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 4, -1, 1
+    Buttons(6).AddWall GetTex("Button6"), (ShaftLeft - 0.17), -27.85 + (15 * 1) - 1.6, (ShaftLeft - 0.17), -27.55 + (15 * 1) - 1.6, 0.3, (Elevator(Number).GetPosition.Y + 12) - 4, -1, 1
+    
+    'Buttons(-1).AddWall GetTex("ButtonL"), (ShaftLeft - 0.17), -27.85 + (15 * 1), (ShaftLeft - 0.17), -27.55 + (15 * 1), 0.3, (Elevator(Number).GetPosition.y + 12) - 4.5, -1, 1
+    'Buttons(81).AddWall GetTex("Button81"), (ShaftLeft - 0.17), -27.85 + (15 * 1) - 0.4, (ShaftLeft - 0.17), -27.55 + (15 * 1) - 0.4, 0.3, (Elevator(Number).GetPosition.y + 12) - 4.5, -1, 1
+    Buttons(-1).AddWall GetTex("ButtonL"), (ShaftLeft - 0.17), -27.85 + (15 * 1) - 0.8, (ShaftLeft - 0.17), -27.55 + (15 * 1) - 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 4.5, -1, 1
+    'Buttons(83).AddWall GetTex("Button83"), (ShaftLeft - 0.17), -27.85 + (15 * 1) - 1.2, (ShaftLeft - 0.17), -27.55 + (15 * 1) - 1.2, 0.3, (Elevator(Number).GetPosition.y + 12) - 4.5, -1, 1
+    'Buttons(84).AddWall GetTex("Button84"), (ShaftLeft - 0.17), -27.85 + (15 * 1) - 1.6, (ShaftLeft - 0.17), -27.55 + (15 * 1) - 1.6, 0.3, (Elevator(Number).GetPosition.y + 12) - 4.5, -1, 1
+    
+    'Buttons(2).AddWall GetTex("Button2"), (ShaftLeft - 0.17), -27.85 + (15 * 1), (ShaftLeft - 0.17), -27.55 + (15 * 1), 0.3, (Elevator(Number).GetPosition.y + 12) - 5, -1, 1
+    'Buttons(39).AddWall GetTex("Button39"), (ShaftLeft - 0.17), -27.85 + (15 * 1) - 0.4, (ShaftLeft - 0.17), -27.55 + (15 * 1) - 0.4, 0.3, (Elevator(Number).GetPosition.y + 12) - 5, -1, 1
+    'Buttons(-1).AddWall GetTex("ButtonL"), (ShaftLeft - 0.17), -27.85 + (15 * 1) - 0.8, (ShaftLeft - 0.17), -27.55 + (15 * 1) - 0.8, 0.3, (Elevator(Number).GetPosition.y + 12) - 5, -1, 1
+    'Buttons(65).AddWall GetTex("Button65"), (ShaftLeft - 0.17), -27.85 + (15 * 1) - 1.2, (ShaftLeft - 0.17), -27.55 + (15 * 1) - 1.2, 0.3, (Elevator(Number).GetPosition.y + 12) - 5, -1, 1
+    'Buttons(79).AddWall GetTex("Button79"), (ShaftLeft - 0.17), -27.85 + (15 * 1) - 1.6, (ShaftLeft - 0.17), -27.55 + (15 * 1) - 1.6, 0.3, (Elevator(Number).GetPosition.y + 12) - 5, -1, 1
+    
+    Buttons(139).AddWall GetTex("ButtonOpen"), (ShaftLeft - 0.17), -27.85 + (15 * 1), (ShaftLeft - 0.17), -27.55 + (15 * 1), 0.3, (Elevator(Number).GetPosition.Y + 12) - 5.5, -1, 1
+    Buttons(140).AddWall GetTex("ButtonClose"), (ShaftLeft - 0.17), -27.85 + (15 * 1) - 0.4, (ShaftLeft - 0.17), -27.55 + (15 * 1) - 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 5.5, -1, 1
+    Buttons(141).AddWall GetTex("ButtonCancel"), (ShaftLeft - 0.17), -27.85 + (15 * 1) - 0.8, (ShaftLeft - 0.17), -27.55 + (15 * 1) - 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 5.5, -1, 1
+    Buttons(142).AddWall GetTex("ButtonStop"), (ShaftLeft - 0.17), -27.85 + (15 * 1) - 1.2, (ShaftLeft - 0.17), -27.55 + (15 * 1) - 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 5.5, -1, 1
+    Buttons(143).AddWall GetTex("ButtonAlarm"), (ShaftLeft - 0.17), -27.85 + (15 * 1) - 1.6, (ShaftLeft - 0.17), -27.55 + (15 * 1) - 1.6, 0.3, (Elevator(Number).GetPosition.Y + 12) - 5.5, -1, 1
+
+End If
+
+Call DrawElevatorButtons41(Number)
+
+End Sub
+
+Sub CheckElevatorButtons()
+If InElevator = False Then Exit Sub
+
+'collision routine for checking if an elevator button is pressed
+
+For i52 = -1 To 144
+If i52 = 1 Then i52 = 2
+
+If CollisionResult.GetCollisionMesh.GetMeshName = Buttons(i52).GetMeshName Then
+    If i52 > 138 Then
+        If i52 = 139 Then OpenElevator(ElevatorNumber) = 1
+        If i52 = 140 Then OpenElevator(ElevatorNumber) = -1
+        If i52 = 142 And GotoFloor(ElevatorNumber) < ElevatorFloor(ElevatorNumber) And GotoFloor(ElevatorNumber) <> 0 Then
+            Buttons(i52).SetColor RGBA(1, 1, 0, 1)
+            GotoFloor(ElevatorNumber) = CurrentFloorExact(ElevatorNumber) - 1
+            FineTune(ElevatorNumber) = True
+        End If
+        If i52 = 142 And GotoFloor(ElevatorNumber) > ElevatorFloor(ElevatorNumber) And GotoFloor(ElevatorNumber) <> 0 Then
+            Buttons(i52).SetColor RGBA(1, 1, 0, 1)
+            GotoFloor(ElevatorNumber) = CurrentFloorExact(ElevatorNumber) + 1
+            FineTune(ElevatorNumber) = True
+        End If
+        Exit Sub
+    End If
+    Buttons(i52).SetColor RGBA(1, 1, 0, 1)
+    ElevatorSync(ElevatorNumber) = True
+    OpenElevator(ElevatorNumber) = -1
+    GotoFloor(ElevatorNumber) = i52
+End If
+
+Next i52
 End Sub
 
-Sub Elevator8Loop()
 
-elevatorstart(8) = Elevator(8).GetPosition
+Sub DrawElevatorButtons41(Number As Integer)
+'Elevator Buttons
+Dim ShaftLeft As Single
+ShaftLeft = 130.5
+
+'Elevator 5
+If Number = 35 Then
+
+    'Buttons(135).AddWall GetTex("Button135"), -(ShaftLeft - 0.17), -18.45 + (15 * 2), -(ShaftLeft - 0.17), -18.15 + (15 * 2), 0.3, (Elevator(Number).GetPosition.y + 12), 1, 1
+    'Buttons(1).AddWall GetTex("Button1"), -(ShaftLeft - 0.17), -18.45 + (15 * 2) + 0.4, -(ShaftLeft - 0.17), -18.15 + (15 * 2) + 0.4, 0.3, (Elevator(Number).GetPosition.y + 12), 1, 1
+    'Buttons(136).AddWall GetTex("Button136"), -(ShaftLeft - 0.17), -18.45 + (15 * 2) + 0.8, -(ShaftLeft - 0.17), -18.15 + (15 * 2) + 0.8, 0.3, (Elevator(Number).GetPosition.y + 12), 1, 1
+    'Buttons(137).AddWall GetTex("Button137"), -(ShaftLeft - 0.17), -18.45 + (15 * 2) + 1.2, -(ShaftLeft - 0.17), -18.15 + (15 * 2) + 1.2, 0.3, (Elevator(Number).GetPosition.y + 12), 1, 1
+    'Buttons(138).AddWall GetTex("ButtonR"), -(ShaftLeft - 0.17), -18.45 + (15 * 2) + 1.6, -(ShaftLeft - 0.17), -18.15 + (15 * 2) + 1.6, 0.3, (Elevator(Number).GetPosition.y + 12), 1, 1
+    
+    'Buttons(37).AddWall GetTex("Button37"), -(ShaftLeft - 0.17), -18.45 + (15 * 2), -(ShaftLeft - 0.17), -18.15 + (15 * 2), 0.3, (Elevator(Number).GetPosition.y + 12) - 0.5, 1, 1
+    Buttons(37).AddWall GetTex("Button37"), -(ShaftLeft - 0.17), -18.45 + (15 * 2) + 0.4, -(ShaftLeft - 0.17), -18.15 + (15 * 2) + 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 0.5, 1, 1
+    Buttons(38).AddWall GetTex("Button38"), -(ShaftLeft - 0.17), -18.45 + (15 * 2) + 0.8, -(ShaftLeft - 0.17), -18.15 + (15 * 2) + 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 0.5, 1, 1
+    Buttons(39).AddWall GetTex("Button39"), -(ShaftLeft - 0.17), -18.45 + (15 * 2) + 1.2, -(ShaftLeft - 0.17), -18.15 + (15 * 2) + 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 0.5, 1, 1
+    'Buttons(39).AddWall GetTex("Button39"), -(ShaftLeft - 0.17), -18.45 + (15 * 2) + 1.6, -(ShaftLeft - 0.17), -18.15 + (15 * 2) + 1.6, 0.3, (Elevator(Number).GetPosition.y + 12) - 0.5, 1, 1
+    
+    Buttons(32).AddWall GetTex("Button32"), -(ShaftLeft - 0.17), -18.45 + (15 * 2), -(ShaftLeft - 0.17), -18.15 + (15 * 2), 0.3, (Elevator(Number).GetPosition.Y + 12) - 1, 1, 1
+    Buttons(33).AddWall GetTex("Button33"), -(ShaftLeft - 0.17), -18.45 + (15 * 2) + 0.4, -(ShaftLeft - 0.17), -18.15 + (15 * 2) + 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 1, 1, 1
+    Buttons(34).AddWall GetTex("Button34"), -(ShaftLeft - 0.17), -18.45 + (15 * 2) + 0.8, -(ShaftLeft - 0.17), -18.15 + (15 * 2) + 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 1, 1, 1
+    Buttons(35).AddWall GetTex("Button35"), -(ShaftLeft - 0.17), -18.45 + (15 * 2) + 1.2, -(ShaftLeft - 0.17), -18.15 + (15 * 2) + 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 1, 1, 1
+    Buttons(36).AddWall GetTex("Button36"), -(ShaftLeft - 0.17), -18.45 + (15 * 2) + 1.6, -(ShaftLeft - 0.17), -18.15 + (15 * 2) + 1.6, 0.3, (Elevator(Number).GetPosition.Y + 12) - 1, 1, 1
+    
+    Buttons(27).AddWall GetTex("Button27"), -(ShaftLeft - 0.17), -18.45 + (15 * 2), -(ShaftLeft - 0.17), -18.15 + (15 * 2), 0.3, (Elevator(Number).GetPosition.Y + 12) - 1.5, 1, 1
+    Buttons(28).AddWall GetTex("Button28"), -(ShaftLeft - 0.17), -18.45 + (15 * 2) + 0.4, -(ShaftLeft - 0.17), -18.15 + (15 * 2) + 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 1.5, 1, 1
+    Buttons(29).AddWall GetTex("Button29"), -(ShaftLeft - 0.17), -18.45 + (15 * 2) + 0.8, -(ShaftLeft - 0.17), -18.15 + (15 * 2) + 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 1.5, 1, 1
+    Buttons(30).AddWall GetTex("Button30"), -(ShaftLeft - 0.17), -18.45 + (15 * 2) + 1.2, -(ShaftLeft - 0.17), -18.15 + (15 * 2) + 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 1.5, 1, 1
+    Buttons(31).AddWall GetTex("Button31"), -(ShaftLeft - 0.17), -18.45 + (15 * 2) + 1.6, -(ShaftLeft - 0.17), -18.15 + (15 * 2) + 1.6, 0.3, (Elevator(Number).GetPosition.Y + 12) - 1.5, 1, 1
+    
+    Buttons(22).AddWall GetTex("Button22"), -(ShaftLeft - 0.17), -18.45 + (15 * 2), -(ShaftLeft - 0.17), -18.15 + (15 * 2), 0.3, (Elevator(Number).GetPosition.Y + 12) - 2, 1, 1
+    Buttons(23).AddWall GetTex("Button23"), -(ShaftLeft - 0.17), -18.45 + (15 * 2) + 0.4, -(ShaftLeft - 0.17), -18.15 + (15 * 2) + 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 2, 1, 1
+    Buttons(24).AddWall GetTex("Button24"), -(ShaftLeft - 0.17), -18.45 + (15 * 2) + 0.8, -(ShaftLeft - 0.17), -18.15 + (15 * 2) + 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 2, 1, 1
+    Buttons(25).AddWall GetTex("Button25"), -(ShaftLeft - 0.17), -18.45 + (15 * 2) + 1.2, -(ShaftLeft - 0.17), -18.15 + (15 * 2) + 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 2, 1, 1
+    Buttons(26).AddWall GetTex("Button26"), -(ShaftLeft - 0.17), -18.45 + (15 * 2) + 1.6, -(ShaftLeft - 0.17), -18.15 + (15 * 2) + 1.6, 0.3, (Elevator(Number).GetPosition.Y + 12) - 2, 1, 1
+    
+    Buttons(17).AddWall GetTex("Button17"), -(ShaftLeft - 0.17), -18.45 + (15 * 2), -(ShaftLeft - 0.17), -18.15 + (15 * 2), 0.3, (Elevator(Number).GetPosition.Y + 12) - 2.5, 1, 1
+    Buttons(18).AddWall GetTex("Button18"), -(ShaftLeft - 0.17), -18.45 + (15 * 2) + 0.4, -(ShaftLeft - 0.17), -18.15 + (15 * 2) + 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 2.5, 1, 1
+    Buttons(19).AddWall GetTex("Button19"), -(ShaftLeft - 0.17), -18.45 + (15 * 2) + 0.8, -(ShaftLeft - 0.17), -18.15 + (15 * 2) + 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 2.5, 1, 1
+    Buttons(20).AddWall GetTex("Button20"), -(ShaftLeft - 0.17), -18.45 + (15 * 2) + 1.2, -(ShaftLeft - 0.17), -18.15 + (15 * 2) + 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 2.5, 1, 1
+    Buttons(21).AddWall GetTex("Button21"), -(ShaftLeft - 0.17), -18.45 + (15 * 2) + 1.6, -(ShaftLeft - 0.17), -18.15 + (15 * 2) + 1.6, 0.3, (Elevator(Number).GetPosition.Y + 12) - 2.5, 1, 1
+    
+    Buttons(12).AddWall GetTex("Button12"), -(ShaftLeft - 0.17), -18.45 + (15 * 2), -(ShaftLeft - 0.17), -18.15 + (15 * 2), 0.3, (Elevator(Number).GetPosition.Y + 12) - 3, 1, 1
+    Buttons(13).AddWall GetTex("Button13"), -(ShaftLeft - 0.17), -18.45 + (15 * 2) + 0.4, -(ShaftLeft - 0.17), -18.15 + (15 * 2) + 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 3, 1, 1
+    Buttons(14).AddWall GetTex("Button14"), -(ShaftLeft - 0.17), -18.45 + (15 * 2) + 0.8, -(ShaftLeft - 0.17), -18.15 + (15 * 2) + 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 3, 1, 1
+    Buttons(15).AddWall GetTex("Button15"), -(ShaftLeft - 0.17), -18.45 + (15 * 2) + 1.2, -(ShaftLeft - 0.17), -18.15 + (15 * 2) + 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 3, 1, 1
+    Buttons(16).AddWall GetTex("Button16"), -(ShaftLeft - 0.17), -18.45 + (15 * 2) + 1.6, -(ShaftLeft - 0.17), -18.15 + (15 * 2) + 1.6, 0.3, (Elevator(Number).GetPosition.Y + 12) - 3, 1, 1
+    
+    Buttons(7).AddWall GetTex("Button7"), -(ShaftLeft - 0.17), -18.45 + (15 * 2), -(ShaftLeft - 0.17), -18.15 + (15 * 2), 0.3, (Elevator(Number).GetPosition.Y + 12) - 3.5, 1, 1
+    Buttons(8).AddWall GetTex("Button8"), -(ShaftLeft - 0.17), -18.45 + (15 * 2) + 0.4, -(ShaftLeft - 0.17), -18.15 + (15 * 2) + 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 3.5, 1, 1
+    Buttons(9).AddWall GetTex("Button9"), -(ShaftLeft - 0.17), -18.45 + (15 * 2) + 0.8, -(ShaftLeft - 0.17), -18.15 + (15 * 2) + 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 3.5, 1, 1
+    Buttons(10).AddWall GetTex("Button10"), -(ShaftLeft - 0.17), -18.45 + (15 * 2) + 1.2, -(ShaftLeft - 0.17), -18.15 + (15 * 2) + 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 3.5, 1, 1
+    Buttons(11).AddWall GetTex("Button11"), -(ShaftLeft - 0.17), -18.45 + (15 * 2) + 1.6, -(ShaftLeft - 0.17), -18.15 + (15 * 2) + 1.6, 0.3, (Elevator(Number).GetPosition.Y + 12) - 3.5, 1, 1
+    
+    Buttons(2).AddWall GetTex("Button2"), -(ShaftLeft - 0.17), -18.45 + (15 * 2), -(ShaftLeft - 0.17), -18.15 + (15 * 2), 0.3, (Elevator(Number).GetPosition.Y + 12) - 4, 1, 1
+    Buttons(3).AddWall GetTex("Button3"), -(ShaftLeft - 0.17), -18.45 + (15 * 2) + 0.4, -(ShaftLeft - 0.17), -18.15 + (15 * 2) + 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 4, 1, 1
+    Buttons(4).AddWall GetTex("Button4"), -(ShaftLeft - 0.17), -18.45 + (15 * 2) + 0.8, -(ShaftLeft - 0.17), -18.15 + (15 * 2) + 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 4, 1, 1
+    Buttons(5).AddWall GetTex("Button5"), -(ShaftLeft - 0.17), -18.45 + (15 * 2) + 1.2, -(ShaftLeft - 0.17), -18.15 + (15 * 2) + 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 4, 1, 1
+    Buttons(6).AddWall GetTex("Button6"), -(ShaftLeft - 0.17), -18.45 + (15 * 2) + 1.6, -(ShaftLeft - 0.17), -18.15 + (15 * 2) + 1.6, 0.3, (Elevator(Number).GetPosition.Y + 12) - 4, 1, 1
+    
+    'Buttons(-1).AddWall GetTex("ButtonL"), -(ShaftLeft - 0.17), -18.45 + (15 * 2), -(ShaftLeft - 0.17), -18.15 + (15 * 2), 0.3, (Elevator(Number).GetPosition.y + 12) - 4.5, 1, 1
+    'Buttons(81).AddWall GetTex("Button81"), -(ShaftLeft - 0.17), -18.45 + (15 * 2) + 0.4, -(ShaftLeft - 0.17), -18.15 + (15 * 2) + 0.4, 0.3, (Elevator(Number).GetPosition.y + 12) - 4.5, 1, 1
+    Buttons(-1).AddWall GetTex("ButtonL"), -(ShaftLeft - 0.17), -18.45 + (15 * 2) + 0.8, -(ShaftLeft - 0.17), -18.15 + (15 * 2) + 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 4.5, 1, 1
+    'Buttons(83).AddWall GetTex("Button83"), -(ShaftLeft - 0.17), -18.45 + (15 * 2) + 1.2, -(ShaftLeft - 0.17), -18.15 + (15 * 2) + 1.2, 0.3, (Elevator(Number).GetPosition.y + 12) - 4.5, 1, 1
+    'Buttons(84).AddWall GetTex("Button84"), -(ShaftLeft - 0.17), -18.45 + (15 * 2) + 1.6, -(ShaftLeft - 0.17), -18.15 + (15 * 2) + 1.6, 0.3, (Elevator(Number).GetPosition.y + 12) - 4.5, 1, 1
+    
+    'Buttons(2).AddWall GetTex("Button2"), -(ShaftLeft - 0.17), -18.45 + (15 * 2), -(ShaftLeft - 0.17), -18.15 + (15 * 2), 0.3, (Elevator(Number).GetPosition.y + 12) - 5, 1, 1
+    'Buttons(39).AddWall GetTex("Button39"), -(ShaftLeft - 0.17), -18.45 + (15 * 2) + 0.4, -(ShaftLeft - 0.17), -18.15 + (15 * 2) + 0.4, 0.3, (Elevator(Number).GetPosition.y + 12) - 5, 1, 1
+    'Buttons(-1).AddWall GetTex("ButtonL"), -(ShaftLeft - 0.17), -18.45 + (15 * 2) + 0.8, -(ShaftLeft - 0.17), -18.15 + (15 * 2) + 0.8, 0.3, (Elevator(Number).GetPosition.y + 12) - 5, 1, 1
+    'Buttons(65).AddWall GetTex("Button65"), -(ShaftLeft - 0.17), -18.45 + (15 * 2) + 1.2, -(ShaftLeft - 0.17), -18.15 + (15 * 2) + 1.2, 0.3, (Elevator(Number).GetPosition.y + 12) - 5, 1, 1
+    'Buttons(79).AddWall GetTex("Button79"), -(ShaftLeft - 0.17), -18.45 + (15 * 2) + 1.6, -(ShaftLeft - 0.17), -18.15 + (15 * 2) + 1.6, 0.3, (Elevator(Number).GetPosition.y + 12) - 5, 1, 1
+    
+    Buttons(139).AddWall GetTex("ButtonOpen"), -(ShaftLeft - 0.17), -18.45 + (15 * 2), -(ShaftLeft - 0.17), -18.15 + (15 * 2), 0.3, (Elevator(Number).GetPosition.Y + 12) - 5.5, 1, 1
+    Buttons(140).AddWall GetTex("ButtonClose"), -(ShaftLeft - 0.17), -18.45 + (15 * 2) + 0.4, -(ShaftLeft - 0.17), -18.15 + (15 * 2) + 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 5.5, 1, 1
+    Buttons(141).AddWall GetTex("ButtonCancel"), -(ShaftLeft - 0.17), -18.45 + (15 * 2) + 0.8, -(ShaftLeft - 0.17), -18.15 + (15 * 2) + 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 5.5, 1, 1
+    Buttons(142).AddWall GetTex("ButtonStop"), -(ShaftLeft - 0.17), -18.45 + (15 * 2) + 1.2, -(ShaftLeft - 0.17), -18.15 + (15 * 2) + 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 5.5, 1, 1
+    Buttons(143).AddWall GetTex("ButtonAlarm"), -(ShaftLeft - 0.17), -18.45 + (15 * 2) + 1.6, -(ShaftLeft - 0.17), -18.15 + (15 * 2) + 1.6, 0.3, (Elevator(Number).GetPosition.Y + 12) - 5.5, 1, 1
+
+End If
+
+'Elevator 6
+If Number = 36 Then
+
+    'Buttons(135).AddWall GetTex("Button135"), (ShaftLeft - 0.17), -27.85 + (15 * 2), (ShaftLeft - 0.17), -27.55 + (15 * 2), 0.3, (Elevator(Number).GetPosition.y + 12), -1, 1
+    'Buttons(1).AddWall GetTex("Button1"), (ShaftLeft - 0.17), -27.85 + (15 * 2) - 0.4, (ShaftLeft - 0.17), -27.55 + (15 * 2) - 0.4, 0.3, (Elevator(Number).GetPosition.y + 12), -1, 1
+    'Buttons(136).AddWall GetTex("Button136"), (ShaftLeft - 0.17), -27.85 + (15 * 2) - 0.8, (ShaftLeft - 0.17), -27.55 + (15 * 2) - 0.8, 0.3, (Elevator(Number).GetPosition.y + 12), -1, 1
+    'Buttons(137).AddWall GetTex("Button137"), (ShaftLeft - 0.17), -27.85 + (15 * 2) - 1.2, (ShaftLeft - 0.17), -27.55 + (15 * 2) - 1.2, 0.3, (Elevator(Number).GetPosition.y + 12), -1, 1
+    'Buttons(138).AddWall GetTex("ButtonR"), (ShaftLeft - 0.17), -27.85 + (15 * 2) - 1.6, (ShaftLeft - 0.17), -27.55 + (15 * 2) - 1.6, 0.3, (Elevator(Number).GetPosition.y + 12), -1, 1
+    
+    'Buttons(37).AddWall GetTex("Button37"), (ShaftLeft - 0.17), -27.85 + (15 * 2), (ShaftLeft - 0.17), -27.55 + (15 * 2), 0.3, (Elevator(Number).GetPosition.y + 12) - 0.5, -1, 1
+    Buttons(37).AddWall GetTex("Button37"), (ShaftLeft - 0.17), -27.85 + (15 * 2) - 0.4, (ShaftLeft - 0.17), -27.55 + (15 * 2) - 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 0.5, -1, 1
+    Buttons(38).AddWall GetTex("Button38"), (ShaftLeft - 0.17), -27.85 + (15 * 2) - 0.8, (ShaftLeft - 0.17), -27.55 + (15 * 2) - 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 0.5, -1, 1
+    Buttons(39).AddWall GetTex("Button39"), (ShaftLeft - 0.17), -27.85 + (15 * 2) - 1.2, (ShaftLeft - 0.17), -27.55 + (15 * 2) - 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 0.5, -1, 1
+    'Buttons(39).AddWall GetTex("Button39"), (ShaftLeft - 0.17), -27.85 + (15 * 2) - 1.6, (ShaftLeft - 0.17), -27.55 + (15 * 2) - 1.6, 0.3, (Elevator(Number).GetPosition.y + 12) - 0.5, -1, 1
+    
+    Buttons(32).AddWall GetTex("Button32"), (ShaftLeft - 0.17), -27.85 + (15 * 2), (ShaftLeft - 0.17), -27.55 + (15 * 2), 0.3, (Elevator(Number).GetPosition.Y + 12) - 1, -1, 1
+    Buttons(33).AddWall GetTex("Button33"), (ShaftLeft - 0.17), -27.85 + (15 * 2) - 0.4, (ShaftLeft - 0.17), -27.55 + (15 * 2) - 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 1, -1, 1
+    Buttons(34).AddWall GetTex("Button34"), (ShaftLeft - 0.17), -27.85 + (15 * 2) - 0.8, (ShaftLeft - 0.17), -27.55 + (15 * 2) - 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 1, -1, 1
+    Buttons(35).AddWall GetTex("Button35"), (ShaftLeft - 0.17), -27.85 + (15 * 2) - 1.2, (ShaftLeft - 0.17), -27.55 + (15 * 2) - 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 1, -1, 1
+    Buttons(36).AddWall GetTex("Button36"), (ShaftLeft - 0.17), -27.85 + (15 * 2) - 1.6, (ShaftLeft - 0.17), -27.55 + (15 * 2) - 1.6, 0.3, (Elevator(Number).GetPosition.Y + 12) - 1, -1, 1
+    
+    Buttons(27).AddWall GetTex("Button27"), (ShaftLeft - 0.17), -27.85 + (15 * 2), (ShaftLeft - 0.17), -27.55 + (15 * 2), 0.3, (Elevator(Number).GetPosition.Y + 12) - 1.5, -1, 1
+    Buttons(28).AddWall GetTex("Button28"), (ShaftLeft - 0.17), -27.85 + (15 * 2) - 0.4, (ShaftLeft - 0.17), -27.55 + (15 * 2) - 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 1.5, -1, 1
+    Buttons(29).AddWall GetTex("Button29"), (ShaftLeft - 0.17), -27.85 + (15 * 2) - 0.8, (ShaftLeft - 0.17), -27.55 + (15 * 2) - 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 1.5, -1, 1
+    Buttons(30).AddWall GetTex("Button30"), (ShaftLeft - 0.17), -27.85 + (15 * 2) - 1.2, (ShaftLeft - 0.17), -27.55 + (15 * 2) - 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 1.5, -1, 1
+    Buttons(31).AddWall GetTex("Button31"), (ShaftLeft - 0.17), -27.85 + (15 * 2) - 1.6, (ShaftLeft - 0.17), -27.55 + (15 * 2) - 1.6, 0.3, (Elevator(Number).GetPosition.Y + 12) - 1.5, -1, 1
+    
+    Buttons(22).AddWall GetTex("Button22"), (ShaftLeft - 0.17), -27.85 + (15 * 2), (ShaftLeft - 0.17), -27.55 + (15 * 2), 0.3, (Elevator(Number).GetPosition.Y + 12) - 2, -1, 1
+    Buttons(23).AddWall GetTex("Button23"), (ShaftLeft - 0.17), -27.85 + (15 * 2) - 0.4, (ShaftLeft - 0.17), -27.55 + (15 * 2) - 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 2, -1, 1
+    Buttons(24).AddWall GetTex("Button24"), (ShaftLeft - 0.17), -27.85 + (15 * 2) - 0.8, (ShaftLeft - 0.17), -27.55 + (15 * 2) - 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 2, -1, 1
+    Buttons(25).AddWall GetTex("Button25"), (ShaftLeft - 0.17), -27.85 + (15 * 2) - 1.2, (ShaftLeft - 0.17), -27.55 + (15 * 2) - 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 2, -1, 1
+    Buttons(26).AddWall GetTex("Button26"), (ShaftLeft - 0.17), -27.85 + (15 * 2) - 1.6, (ShaftLeft - 0.17), -27.55 + (15 * 2) - 1.6, 0.3, (Elevator(Number).GetPosition.Y + 12) - 2, -1, 1
+    
+    Buttons(17).AddWall GetTex("Button17"), (ShaftLeft - 0.17), -27.85 + (15 * 2), (ShaftLeft - 0.17), -27.55 + (15 * 2), 0.3, (Elevator(Number).GetPosition.Y + 12) - 2.5, -1, 1
+    Buttons(18).AddWall GetTex("Button18"), (ShaftLeft - 0.17), -27.85 + (15 * 2) - 0.4, (ShaftLeft - 0.17), -27.55 + (15 * 2) - 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 2.5, -1, 1
+    Buttons(19).AddWall GetTex("Button19"), (ShaftLeft - 0.17), -27.85 + (15 * 2) - 0.8, (ShaftLeft - 0.17), -27.55 + (15 * 2) - 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 2.5, -1, 1
+    Buttons(20).AddWall GetTex("Button20"), (ShaftLeft - 0.17), -27.85 + (15 * 2) - 1.2, (ShaftLeft - 0.17), -27.55 + (15 * 2) - 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 2.5, -1, 1
+    Buttons(21).AddWall GetTex("Button21"), (ShaftLeft - 0.17), -27.85 + (15 * 2) - 1.6, (ShaftLeft - 0.17), -27.55 + (15 * 2) - 1.6, 0.3, (Elevator(Number).GetPosition.Y + 12) - 2.5, -1, 1
+    
+    Buttons(12).AddWall GetTex("Button12"), (ShaftLeft - 0.17), -27.85 + (15 * 2), (ShaftLeft - 0.17), -27.55 + (15 * 2), 0.3, (Elevator(Number).GetPosition.Y + 12) - 3, -1, 1
+    Buttons(13).AddWall GetTex("Button13"), (ShaftLeft - 0.17), -27.85 + (15 * 2) - 0.4, (ShaftLeft - 0.17), -27.55 + (15 * 2) - 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 3, -1, 1
+    Buttons(14).AddWall GetTex("Button14"), (ShaftLeft - 0.17), -27.85 + (15 * 2) - 0.8, (ShaftLeft - 0.17), -27.55 + (15 * 2) - 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 3, -1, 1
+    Buttons(15).AddWall GetTex("Button15"), (ShaftLeft - 0.17), -27.85 + (15 * 2) - 1.2, (ShaftLeft - 0.17), -27.55 + (15 * 2) - 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 3, -1, 1
+    Buttons(16).AddWall GetTex("Button16"), (ShaftLeft - 0.17), -27.85 + (15 * 2) - 1.6, (ShaftLeft - 0.17), -27.55 + (15 * 2) - 1.6, 0.3, (Elevator(Number).GetPosition.Y + 12) - 3, -1, 1
+    
+    Buttons(7).AddWall GetTex("Button7"), (ShaftLeft - 0.17), -27.85 + (15 * 2), (ShaftLeft - 0.17), -27.55 + (15 * 2), 0.3, (Elevator(Number).GetPosition.Y + 12) - 3.5, -1, 1
+    Buttons(8).AddWall GetTex("Button8"), (ShaftLeft - 0.17), -27.85 + (15 * 2) - 0.4, (ShaftLeft - 0.17), -27.55 + (15 * 2) - 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 3.5, -1, 1
+    Buttons(9).AddWall GetTex("Button9"), (ShaftLeft - 0.17), -27.85 + (15 * 2) - 0.8, (ShaftLeft - 0.17), -27.55 + (15 * 2) - 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 3.5, -1, 1
+    Buttons(10).AddWall GetTex("Button10"), (ShaftLeft - 0.17), -27.85 + (15 * 2) - 1.2, (ShaftLeft - 0.17), -27.55 + (15 * 2) - 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 3.5, -1, 1
+    Buttons(11).AddWall GetTex("Button11"), (ShaftLeft - 0.17), -27.85 + (15 * 2) - 1.6, (ShaftLeft - 0.17), -27.55 + (15 * 2) - 1.6, 0.3, (Elevator(Number).GetPosition.Y + 12) - 3.5, -1, 1
+    
+    Buttons(2).AddWall GetTex("Button2"), (ShaftLeft - 0.17), -27.85 + (15 * 2), (ShaftLeft - 0.17), -27.55 + (15 * 2), 0.3, (Elevator(Number).GetPosition.Y + 12) - 4, -1, 1
+    Buttons(3).AddWall GetTex("Button3"), (ShaftLeft - 0.17), -27.85 + (15 * 2) - 0.4, (ShaftLeft - 0.17), -27.55 + (15 * 2) - 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 4, -1, 1
+    Buttons(4).AddWall GetTex("Button4"), (ShaftLeft - 0.17), -27.85 + (15 * 2) - 0.8, (ShaftLeft - 0.17), -27.55 + (15 * 2) - 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 4, -1, 1
+    Buttons(5).AddWall GetTex("Button5"), (ShaftLeft - 0.17), -27.85 + (15 * 2) - 1.2, (ShaftLeft - 0.17), -27.55 + (15 * 2) - 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 4, -1, 1
+    Buttons(6).AddWall GetTex("Button6"), (ShaftLeft - 0.17), -27.85 + (15 * 2) - 1.6, (ShaftLeft - 0.17), -27.55 + (15 * 2) - 1.6, 0.3, (Elevator(Number).GetPosition.Y + 12) - 4, -1, 1
+    
+    'Buttons(-1).AddWall GetTex("ButtonL"), (ShaftLeft - 0.17), -27.85 + (15 * 2), (ShaftLeft - 0.17), -27.55 + (15 * 2), 0.3, (Elevator(Number).GetPosition.y + 12) - 4.5, -1, 1
+    'Buttons(81).AddWall GetTex("Button81"), (ShaftLeft - 0.17), -27.85 + (15 * 2) - 0.4, (ShaftLeft - 0.17), -27.55 + (15 * 2) - 0.4, 0.3, (Elevator(Number).GetPosition.y + 12) - 4.5, -1, 1
+    Buttons(-1).AddWall GetTex("ButtonL"), (ShaftLeft - 0.17), -27.85 + (15 * 2) - 0.8, (ShaftLeft - 0.17), -27.55 + (15 * 2) - 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 4.5, -1, 1
+    'Buttons(83).AddWall GetTex("Button83"), (ShaftLeft - 0.17), -27.85 + (15 * 2) - 1.2, (ShaftLeft - 0.17), -27.55 + (15 * 2) - 1.2, 0.3, (Elevator(Number).GetPosition.y + 12) - 4.5, -1, 1
+    'Buttons(84).AddWall GetTex("Button84"), (ShaftLeft - 0.17), -27.85 + (15 * 2) - 1.6, (ShaftLeft - 0.17), -27.55 + (15 * 2) - 1.6, 0.3, (Elevator(Number).GetPosition.y + 12) - 4.5, -1, 1
+    
+    'Buttons(2).AddWall GetTex("Button2"), (ShaftLeft - 0.17), -27.85 + (15 * 2), (ShaftLeft - 0.17), -27.55 + (15 * 2), 0.3, (Elevator(Number).GetPosition.y + 12) - 5, -1, 1
+    'Buttons(39).AddWall GetTex("Button39"), (ShaftLeft - 0.17), -27.85 + (15 * 2) - 0.4, (ShaftLeft - 0.17), -27.55 + (15 * 2) - 0.4, 0.3, (Elevator(Number).GetPosition.y + 12) - 5, -1, 1
+    'Buttons(-1).AddWall GetTex("ButtonL"), (ShaftLeft - 0.17), -27.85 + (15 * 2) - 0.8, (ShaftLeft - 0.17), -27.55 + (15 * 2) - 0.8, 0.3, (Elevator(Number).GetPosition.y + 12) - 5, -1, 1
+    'Buttons(65).AddWall GetTex("Button65"), (ShaftLeft - 0.17), -27.85 + (15 * 2) - 1.2, (ShaftLeft - 0.17), -27.55 + (15 * 2) - 1.2, 0.3, (Elevator(Number).GetPosition.y + 12) - 5, -1, 1
+    'Buttons(79).AddWall GetTex("Button79"), (ShaftLeft - 0.17), -27.85 + (15 * 2) - 1.6, (ShaftLeft - 0.17), -27.55 + (15 * 2) - 1.6, 0.3, (Elevator(Number).GetPosition.y + 12) - 5, -1, 1
+    
+    Buttons(139).AddWall GetTex("ButtonOpen"), (ShaftLeft - 0.17), -27.85 + (15 * 2), (ShaftLeft - 0.17), -27.55 + (15 * 2), 0.3, (Elevator(Number).GetPosition.Y + 12) - 5.5, -1, 1
+    Buttons(140).AddWall GetTex("ButtonClose"), (ShaftLeft - 0.17), -27.85 + (15 * 2) - 0.4, (ShaftLeft - 0.17), -27.55 + (15 * 2) - 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 5.5, -1, 1
+    Buttons(141).AddWall GetTex("ButtonCancel"), (ShaftLeft - 0.17), -27.85 + (15 * 2) - 0.8, (ShaftLeft - 0.17), -27.55 + (15 * 2) - 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 5.5, -1, 1
+    Buttons(142).AddWall GetTex("ButtonStop"), (ShaftLeft - 0.17), -27.85 + (15 * 2) - 1.2, (ShaftLeft - 0.17), -27.55 + (15 * 2) - 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 5.5, -1, 1
+    Buttons(143).AddWall GetTex("ButtonAlarm"), (ShaftLeft - 0.17), -27.85 + (15 * 2) - 1.6, (ShaftLeft - 0.17), -27.55 + (15 * 2) - 1.6, 0.3, (Elevator(Number).GetPosition.Y + 12) - 5.5, -1, 1
+
+End If
+
+'Elevator 7
+If Number = 37 Then
 
-'Find the floor that the elevator's on
-ElevatorFloor(8) = (Elevator(8).GetPosition.Y - 25) / 25
-      
-      'If elevator goes below floor 2, then set elevatorfloor as 1
-      If ElevatorFloor(8) < 1 Then ElevatorFloor(8) = 1
-      
-      If GotoFloor(8) = ElevatorFloor(8) - 1 Then CurrentFloor(8) = ElevatorFloor(8)
-
-      'If GotoFloor(8) <> 0 And GotoFloor(8) > CurrentFloor(8) And ElevatorDirection(8) = 0 And ElevatorInsDoorL(ElevatorFloor2(8)).GetPosition.z <= 0 Then
-      If GotoFloor(8) <> 0 And GotoFloor(8) > CurrentFloor(8) And ElevatorDirection(8) = 0 And ElevatorDoor8L(ElevatorFloor2(8)).GetPosition.z <= 0 Then
-      ElevatorDirection(8) = 1
-      OriginalLocation(8) = CurrentFloorExact(8)
-      DistanceToTravel(8) = ((GotoFloor(8) * 25) + 25) - ((CurrentFloorExact(8) * 25) + 25)
-      If ElevatorSync(8) = True Then
-      Room(CameraFloor).Enable False
-      For i8 = 1 To 10
-      CallButtons(i8).Enable False
-      Next i8
-      ElevatorDoor1L(CameraFloor).Enable False
-      ElevatorDoor1R(CameraFloor).Enable False
-      ElevatorDoor2L(CameraFloor).Enable False
-      ElevatorDoor2R(CameraFloor).Enable False
-      ElevatorDoor3L(CameraFloor).Enable False
-      ElevatorDoor3R(CameraFloor).Enable False
-      ElevatorDoor4L(CameraFloor).Enable False
-      ElevatorDoor4R(CameraFloor).Enable False
-      ElevatorDoor5L(CameraFloor).Enable False
-      ElevatorDoor5R(CameraFloor).Enable False
-      ElevatorDoor6L(CameraFloor).Enable False
-      ElevatorDoor6R(CameraFloor).Enable False
-      ElevatorDoor7L(CameraFloor).Enable False
-      ElevatorDoor7R(CameraFloor).Enable False
-      ElevatorDoor8L(CameraFloor).Enable False
-      ElevatorDoor8R(CameraFloor).Enable False
-      ElevatorDoor9L(CameraFloor).Enable False
-      ElevatorDoor9R(CameraFloor).Enable False
-      ElevatorDoor10L(CameraFloor).Enable False
-      ElevatorDoor10R(CameraFloor).Enable False
-      DestroyObjects (CameraFloor)
-      ShaftsFloor(CameraFloor).Enable False
-      Atmos.SkyBox_Enable False
-      Stairs(CameraFloor).Enable False
-      If CameraFloor < 138 Then Stairs(CameraFloor + 1).Enable False
-      If CameraFloor > 1 Then Stairs(CameraFloor - 1).Enable False
-      End If
-      End If
-      'If GotoFloor(8) <> 0 And GotoFloor(8) < CurrentFloor(8) And ElevatorDirection(8) = 0 And ElevatorInsDoorL(ElevatorFloor2(8)).GetPosition.z <= 0 Then
-      If GotoFloor(8) <> 0 And GotoFloor(8) < CurrentFloor(8) And ElevatorDirection(8) = 0 And ElevatorDoor8L(ElevatorFloor2(8)).GetPosition.z <= 0 Then
-      ElevatorDirection(8) = -1
-      OriginalLocation(8) = CurrentFloorExact(8)
-      DistanceToTravel(8) = ((CurrentFloorExact(8) * 25) + 25) - ((GotoFloor(8) * 25) + 25)
-      If ElevatorSync(8) = True Then
-      Room(CameraFloor).Enable False
-      For i8 = 1 To 10
-      CallButtons(i8).Enable False
-      Next i8
-      ElevatorDoor1L(CameraFloor).Enable False
-      ElevatorDoor1R(CameraFloor).Enable False
-      ElevatorDoor2L(CameraFloor).Enable False
-      ElevatorDoor2R(CameraFloor).Enable False
-      ElevatorDoor3L(CameraFloor).Enable False
-      ElevatorDoor3R(CameraFloor).Enable False
-      ElevatorDoor4L(CameraFloor).Enable False
-      ElevatorDoor4R(CameraFloor).Enable False
-      ElevatorDoor5L(CameraFloor).Enable False
-      ElevatorDoor5R(CameraFloor).Enable False
-      ElevatorDoor6L(CameraFloor).Enable False
-      ElevatorDoor6R(CameraFloor).Enable False
-      ElevatorDoor7L(CameraFloor).Enable False
-      ElevatorDoor7R(CameraFloor).Enable False
-      ElevatorDoor8L(CameraFloor).Enable False
-      ElevatorDoor8R(CameraFloor).Enable False
-      ElevatorDoor9L(CameraFloor).Enable False
-      ElevatorDoor9R(CameraFloor).Enable False
-      ElevatorDoor10L(CameraFloor).Enable False
-      ElevatorDoor10R(CameraFloor).Enable False
-      DestroyObjects (CameraFloor)
-      ShaftsFloor(CameraFloor).Enable False
-      Atmos.SkyBox_Enable False
-      Stairs(CameraFloor).Enable False
-      If CameraFloor < 138 Then Stairs(CameraFloor + 1).Enable False
-      If CameraFloor > 1 Then Stairs(CameraFloor - 1).Enable False
-      End If
-      End If
-      
-       CurrentFloor(8) = Int((elevatorstart(8).Y - 25) / 25)
-       CurrentFloorExact(8) = (elevatorstart(8).Y - 25) / 25
-       'CurrentFloor(8) = (Elevator(8).GetPosition.y / 25) - 1
-       'CurrentFloorExact(8) = Int((Elevator(8).GetPosition.y / 25) - 1)
+    'Buttons(135).AddWall GetTex("Button135"), -(ShaftLeft - 0.17), -18.45 + (15 * 3), -(ShaftLeft - 0.17), -18.15 + (15 * 3), 0.3, (Elevator(Number).GetPosition.y + 12), 1, 1
+    'Buttons(1).AddWall GetTex("Button1"), -(ShaftLeft - 0.17), -18.45 + (15 * 3) + 0.4, -(ShaftLeft - 0.17), -18.15 + (15 * 3) + 0.4, 0.3, (Elevator(Number).GetPosition.y + 12), 1, 1
+    'Buttons(136).AddWall GetTex("Button136"), -(ShaftLeft - 0.17), -18.45 + (15 * 3) + 0.8, -(ShaftLeft - 0.17), -18.15 + (15 * 3) + 0.8, 0.3, (Elevator(Number).GetPosition.y + 12), 1, 1
+    'Buttons(137).AddWall GetTex("Button137"), -(ShaftLeft - 0.17), -18.45 + (15 * 3) + 1.2, -(ShaftLeft - 0.17), -18.15 + (15 * 3) + 1.2, 0.3, (Elevator(Number).GetPosition.y + 12), 1, 1
+    'Buttons(138).AddWall GetTex("ButtonR"), -(ShaftLeft - 0.17), -18.45 + (15 * 3) + 1.6, -(ShaftLeft - 0.17), -18.15 + (15 * 3) + 1.6, 0.3, (Elevator(Number).GetPosition.y + 12), 1, 1
+    
+    'Buttons(37).AddWall GetTex("Button37"), -(ShaftLeft - 0.17), -18.45 + (15 * 3), -(ShaftLeft - 0.17), -18.15 + (15 * 3), 0.3, (Elevator(Number).GetPosition.y + 12) - 0.5, 1, 1
+    Buttons(37).AddWall GetTex("Button37"), -(ShaftLeft - 0.17), -18.45 + (15 * 3) + 0.4, -(ShaftLeft - 0.17), -18.15 + (15 * 3) + 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 0.5, 1, 1
+    Buttons(38).AddWall GetTex("Button38"), -(ShaftLeft - 0.17), -18.45 + (15 * 3) + 0.8, -(ShaftLeft - 0.17), -18.15 + (15 * 3) + 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 0.5, 1, 1
+    Buttons(39).AddWall GetTex("Button39"), -(ShaftLeft - 0.17), -18.45 + (15 * 3) + 1.2, -(ShaftLeft - 0.17), -18.15 + (15 * 3) + 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 0.5, 1, 1
+    'Buttons(39).AddWall GetTex("Button39"), -(ShaftLeft - 0.17), -18.45 + (15 * 3) + 1.6, -(ShaftLeft - 0.17), -18.15 + (15 * 3) + 1.6, 0.3, (Elevator(Number).GetPosition.y + 12) - 0.5, 1, 1
+    
+    Buttons(32).AddWall GetTex("Button32"), -(ShaftLeft - 0.17), -18.45 + (15 * 3), -(ShaftLeft - 0.17), -18.15 + (15 * 3), 0.3, (Elevator(Number).GetPosition.Y + 12) - 1, 1, 1
+    Buttons(33).AddWall GetTex("Button33"), -(ShaftLeft - 0.17), -18.45 + (15 * 3) + 0.4, -(ShaftLeft - 0.17), -18.15 + (15 * 3) + 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 1, 1, 1
+    Buttons(34).AddWall GetTex("Button34"), -(ShaftLeft - 0.17), -18.45 + (15 * 3) + 0.8, -(ShaftLeft - 0.17), -18.15 + (15 * 3) + 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 1, 1, 1
+    Buttons(35).AddWall GetTex("Button35"), -(ShaftLeft - 0.17), -18.45 + (15 * 3) + 1.2, -(ShaftLeft - 0.17), -18.15 + (15 * 3) + 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 1, 1, 1
+    Buttons(36).AddWall GetTex("Button36"), -(ShaftLeft - 0.17), -18.45 + (15 * 3) + 1.6, -(ShaftLeft - 0.17), -18.15 + (15 * 3) + 1.6, 0.3, (Elevator(Number).GetPosition.Y + 12) - 1, 1, 1
+    
+    Buttons(27).AddWall GetTex("Button27"), -(ShaftLeft - 0.17), -18.45 + (15 * 3), -(ShaftLeft - 0.17), -18.15 + (15 * 3), 0.3, (Elevator(Number).GetPosition.Y + 12) - 1.5, 1, 1
+    Buttons(28).AddWall GetTex("Button28"), -(ShaftLeft - 0.17), -18.45 + (15 * 3) + 0.4, -(ShaftLeft - 0.17), -18.15 + (15 * 3) + 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 1.5, 1, 1
+    Buttons(29).AddWall GetTex("Button29"), -(ShaftLeft - 0.17), -18.45 + (15 * 3) + 0.8, -(ShaftLeft - 0.17), -18.15 + (15 * 3) + 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 1.5, 1, 1
+    Buttons(30).AddWall GetTex("Button30"), -(ShaftLeft - 0.17), -18.45 + (15 * 3) + 1.2, -(ShaftLeft - 0.17), -18.15 + (15 * 3) + 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 1.5, 1, 1
+    Buttons(31).AddWall GetTex("Button31"), -(ShaftLeft - 0.17), -18.45 + (15 * 3) + 1.6, -(ShaftLeft - 0.17), -18.15 + (15 * 3) + 1.6, 0.3, (Elevator(Number).GetPosition.Y + 12) - 1.5, 1, 1
+    
+    Buttons(22).AddWall GetTex("Button22"), -(ShaftLeft - 0.17), -18.45 + (15 * 3), -(ShaftLeft - 0.17), -18.15 + (15 * 3), 0.3, (Elevator(Number).GetPosition.Y + 12) - 2, 1, 1
+    Buttons(23).AddWall GetTex("Button23"), -(ShaftLeft - 0.17), -18.45 + (15 * 3) + 0.4, -(ShaftLeft - 0.17), -18.15 + (15 * 3) + 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 2, 1, 1
+    Buttons(24).AddWall GetTex("Button24"), -(ShaftLeft - 0.17), -18.45 + (15 * 3) + 0.8, -(ShaftLeft - 0.17), -18.15 + (15 * 3) + 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 2, 1, 1
+    Buttons(25).AddWall GetTex("Button25"), -(ShaftLeft - 0.17), -18.45 + (15 * 3) + 1.2, -(ShaftLeft - 0.17), -18.15 + (15 * 3) + 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 2, 1, 1
+    Buttons(26).AddWall GetTex("Button26"), -(ShaftLeft - 0.17), -18.45 + (15 * 3) + 1.6, -(ShaftLeft - 0.17), -18.15 + (15 * 3) + 1.6, 0.3, (Elevator(Number).GetPosition.Y + 12) - 2, 1, 1
+    
+    Buttons(17).AddWall GetTex("Button17"), -(ShaftLeft - 0.17), -18.45 + (15 * 3), -(ShaftLeft - 0.17), -18.15 + (15 * 3), 0.3, (Elevator(Number).GetPosition.Y + 12) - 2.5, 1, 1
+    Buttons(18).AddWall GetTex("Button18"), -(ShaftLeft - 0.17), -18.45 + (15 * 3) + 0.4, -(ShaftLeft - 0.17), -18.15 + (15 * 3) + 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 2.5, 1, 1
+    Buttons(19).AddWall GetTex("Button19"), -(ShaftLeft - 0.17), -18.45 + (15 * 3) + 0.8, -(ShaftLeft - 0.17), -18.15 + (15 * 3) + 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 2.5, 1, 1
+    Buttons(20).AddWall GetTex("Button20"), -(ShaftLeft - 0.17), -18.45 + (15 * 3) + 1.2, -(ShaftLeft - 0.17), -18.15 + (15 * 3) + 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 2.5, 1, 1
+    Buttons(21).AddWall GetTex("Button21"), -(ShaftLeft - 0.17), -18.45 + (15 * 3) + 1.6, -(ShaftLeft - 0.17), -18.15 + (15 * 3) + 1.6, 0.3, (Elevator(Number).GetPosition.Y + 12) - 2.5, 1, 1
+    
+    Buttons(12).AddWall GetTex("Button12"), -(ShaftLeft - 0.17), -18.45 + (15 * 3), -(ShaftLeft - 0.17), -18.15 + (15 * 3), 0.3, (Elevator(Number).GetPosition.Y + 12) - 3, 1, 1
+    Buttons(13).AddWall GetTex("Button13"), -(ShaftLeft - 0.17), -18.45 + (15 * 3) + 0.4, -(ShaftLeft - 0.17), -18.15 + (15 * 3) + 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 3, 1, 1
+    Buttons(14).AddWall GetTex("Button14"), -(ShaftLeft - 0.17), -18.45 + (15 * 3) + 0.8, -(ShaftLeft - 0.17), -18.15 + (15 * 3) + 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 3, 1, 1
+    Buttons(15).AddWall GetTex("Button15"), -(ShaftLeft - 0.17), -18.45 + (15 * 3) + 1.2, -(ShaftLeft - 0.17), -18.15 + (15 * 3) + 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 3, 1, 1
+    Buttons(16).AddWall GetTex("Button16"), -(ShaftLeft - 0.17), -18.45 + (15 * 3) + 1.6, -(ShaftLeft - 0.17), -18.15 + (15 * 3) + 1.6, 0.3, (Elevator(Number).GetPosition.Y + 12) - 3, 1, 1
+    
+    Buttons(7).AddWall GetTex("Button7"), -(ShaftLeft - 0.17), -18.45 + (15 * 3), -(ShaftLeft - 0.17), -18.15 + (15 * 3), 0.3, (Elevator(Number).GetPosition.Y + 12) - 3.5, 1, 1
+    Buttons(8).AddWall GetTex("Button8"), -(ShaftLeft - 0.17), -18.45 + (15 * 3) + 0.4, -(ShaftLeft - 0.17), -18.15 + (15 * 3) + 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 3.5, 1, 1
+    Buttons(9).AddWall GetTex("Button9"), -(ShaftLeft - 0.17), -18.45 + (15 * 3) + 0.8, -(ShaftLeft - 0.17), -18.15 + (15 * 3) + 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 3.5, 1, 1
+    Buttons(10).AddWall GetTex("Button10"), -(ShaftLeft - 0.17), -18.45 + (15 * 3) + 1.2, -(ShaftLeft - 0.17), -18.15 + (15 * 3) + 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 3.5, 1, 1
+    Buttons(11).AddWall GetTex("Button11"), -(ShaftLeft - 0.17), -18.45 + (15 * 3) + 1.6, -(ShaftLeft - 0.17), -18.15 + (15 * 3) + 1.6, 0.3, (Elevator(Number).GetPosition.Y + 12) - 3.5, 1, 1
+    
+    Buttons(2).AddWall GetTex("Button2"), -(ShaftLeft - 0.17), -18.45 + (15 * 3), -(ShaftLeft - 0.17), -18.15 + (15 * 3), 0.3, (Elevator(Number).GetPosition.Y + 12) - 4, 1, 1
+    Buttons(3).AddWall GetTex("Button3"), -(ShaftLeft - 0.17), -18.45 + (15 * 3) + 0.4, -(ShaftLeft - 0.17), -18.15 + (15 * 3) + 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 4, 1, 1
+    Buttons(4).AddWall GetTex("Button4"), -(ShaftLeft - 0.17), -18.45 + (15 * 3) + 0.8, -(ShaftLeft - 0.17), -18.15 + (15 * 3) + 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 4, 1, 1
+    Buttons(5).AddWall GetTex("Button5"), -(ShaftLeft - 0.17), -18.45 + (15 * 3) + 1.2, -(ShaftLeft - 0.17), -18.15 + (15 * 3) + 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 4, 1, 1
+    Buttons(6).AddWall GetTex("Button6"), -(ShaftLeft - 0.17), -18.45 + (15 * 3) + 1.6, -(ShaftLeft - 0.17), -18.15 + (15 * 3) + 1.6, 0.3, (Elevator(Number).GetPosition.Y + 12) - 4, 1, 1
+    
+    'Buttons(-1).AddWall GetTex("ButtonL"), -(ShaftLeft - 0.17), -18.45 + (15 * 3), -(ShaftLeft - 0.17), -18.15 + (15 * 3), 0.3, (Elevator(Number).GetPosition.y + 12) - 4.5, 1, 1
+    'Buttons(81).AddWall GetTex("Button81"), -(ShaftLeft - 0.17), -18.45 + (15 * 3) + 0.4, -(ShaftLeft - 0.17), -18.15 + (15 * 3) + 0.4, 0.3, (Elevator(Number).GetPosition.y + 12) - 4.5, 1, 1
+    Buttons(-1).AddWall GetTex("ButtonL"), -(ShaftLeft - 0.17), -18.45 + (15 * 3) + 0.8, -(ShaftLeft - 0.17), -18.15 + (15 * 3) + 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 4.5, 1, 1
+    'Buttons(83).AddWall GetTex("Button83"), -(ShaftLeft - 0.17), -18.45 + (15 * 3) + 1.2, -(ShaftLeft - 0.17), -18.15 + (15 * 3) + 1.2, 0.3, (Elevator(Number).GetPosition.y + 12) - 4.5, 1, 1
+    'Buttons(84).AddWall GetTex("Button84"), -(ShaftLeft - 0.17), -18.45 + (15 * 3) + 1.6, -(ShaftLeft - 0.17), -18.15 + (15 * 3) + 1.6, 0.3, (Elevator(Number).GetPosition.y + 12) - 4.5, 1, 1
+    
+    'Buttons(2).AddWall GetTex("Button2"), -(ShaftLeft - 0.17), -18.45 + (15 * 3), -(ShaftLeft - 0.17), -18.15 + (15 * 3), 0.3, (Elevator(Number).GetPosition.y + 12) - 5, 1, 1
+    'Buttons(39).AddWall GetTex("Button39"), -(ShaftLeft - 0.17), -18.45 + (15 * 3) + 0.4, -(ShaftLeft - 0.17), -18.15 + (15 * 3) + 0.4, 0.3, (Elevator(Number).GetPosition.y + 12) - 5, 1, 1
+    'Buttons(-1).AddWall GetTex("ButtonL"), -(ShaftLeft - 0.17), -18.45 + (15 * 3) + 0.8, -(ShaftLeft - 0.17), -18.15 + (15 * 3) + 0.8, 0.3, (Elevator(Number).GetPosition.y + 12) - 5, 1, 1
+    'Buttons(65).AddWall GetTex("Button65"), -(ShaftLeft - 0.17), -18.45 + (15 * 3) + 1.2, -(ShaftLeft - 0.17), -18.15 + (15 * 3) + 1.2, 0.3, (Elevator(Number).GetPosition.y + 12) - 5, 1, 1
+    'Buttons(79).AddWall GetTex("Button79"), -(ShaftLeft - 0.17), -18.45 + (15 * 3) + 1.6, -(ShaftLeft - 0.17), -18.15 + (15 * 3) + 1.6, 0.3, (Elevator(Number).GetPosition.y + 12) - 5, 1, 1
+    
+    Buttons(139).AddWall GetTex("ButtonOpen"), -(ShaftLeft - 0.17), -18.45 + (15 * 3), -(ShaftLeft - 0.17), -18.15 + (15 * 3), 0.3, (Elevator(Number).GetPosition.Y + 12) - 5.5, 1, 1
+    Buttons(140).AddWall GetTex("ButtonClose"), -(ShaftLeft - 0.17), -18.45 + (15 * 3) + 0.4, -(ShaftLeft - 0.17), -18.15 + (15 * 3) + 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 5.5, 1, 1
+    Buttons(141).AddWall GetTex("ButtonCancel"), -(ShaftLeft - 0.17), -18.45 + (15 * 3) + 0.8, -(ShaftLeft - 0.17), -18.15 + (15 * 3) + 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 5.5, 1, 1
+    Buttons(142).AddWall GetTex("ButtonStop"), -(ShaftLeft - 0.17), -18.45 + (15 * 3) + 1.2, -(ShaftLeft - 0.17), -18.15 + (15 * 3) + 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 5.5, 1, 1
+    Buttons(143).AddWall GetTex("ButtonAlarm"), -(ShaftLeft - 0.17), -18.45 + (15 * 3) + 1.6, -(ShaftLeft - 0.17), -18.15 + (15 * 3) + 1.6, 0.3, (Elevator(Number).GetPosition.Y + 12) - 5.5, 1, 1
 
-       'Form2.Text1.Text = "Sound Location=7.75,20,7 " + vbCrLf + "Elevator Floor=" + Str$(ElevatorFloor(8)) + vbCrLf + "Camera Floor=" + Str$(CameraFloor) + vbCrLf + "Current Location= " + Str$(Int(Camera.GetPosition.x)) + "," + Str$(Int(Camera.GetPosition.y)) + "," + Str$(Int(Camera.GetPosition.z)) + vbCrLf + "Distance to Travel=" + Str$(DistanceToTravel(8)) + vbCrLf + "Destination=" + Str$(Destination) + vbCrLf + "Rate=" + Str$(ElevatorEnable(8) / 5)
-        
-        If ElevatorEnable(8) >= 0 And ElevatorDirection(8) = 1 Then
-        'sound
-        If ElevatorSounds(8).PlayState <> TV_PLAYSTATE_PLAYING And ElevatorCheck(8) = 0 And GotoFloor(8) <> ElevatorFloor(8) Then
-        ElevatorSounds(8).Loop_ = False
-        ElevatorSounds(8).Load App.Path + "\elevstart.wav"
-        ElevatorSounds(8).Volume = 0
-        'ElevatorSounds(8).maxDistance = 100
-        'Call ElevatorSounds(8).SetConeOrientation(0, 0, 90)
-        'ElevatorSounds(8).ConeOutsideVolume = 0
-        'Call ElevatorSounds(8).SetPosition(-20.25, Elevator1(8).GetPosition.Y + 20, -23)
-        ElevatorSounds(8).Play
-        ElevatorCheck(8) = 1
-        End If
-        If ElevatorSounds(8).PlayState = TV_PLAYSTATE_ENDED And ElevatorCheck(8) = 1 Then
-        ElevatorSounds(8).Load App.Path + "\elevmove.wav"
-        ElevatorSounds(8).Loop_ = True
-        ElevatorSounds(8).Play
-        End If
-        'movement
-        Elevator(8).MoveRelative 0, (ElevatorEnable(8) / 5), 0
-        ElevatorInsDoorL(8).MoveRelative 0, (ElevatorEnable(8) / 5), 0
-        ElevatorInsDoorR(8).MoveRelative 0, (ElevatorEnable(8) / 5), 0
-        FloorIndicator(8).MoveRelative 0, (ElevatorEnable(8) / 5), 0
-        Plaque(8).MoveRelative 0, (ElevatorEnable(8) / 5), 0
-        For i8 = -1 To 138
-        Buttons8(i8).MoveRelative 0, (ElevatorEnable(8) / 5), 0
-        Next i8
-        If ElevatorSync(8) = True Then Camera.MoveRelative 0, (ElevatorEnable(8) / 5), 0
-        'ElevatorSounds(8).SetPosition -20.25, Elevator(8).GetPosition.Y + 20, -23
-        ''ElevatorMusic(8).SetPosition -20.25, Elevator(8).GetPosition.Y + 20, -23
-        ElevatorEnable(8) = ElevatorEnable(8) + 0.25
-        If ElevatorEnable(8) <= 15 Then StoppingDistance(8) = CurrentFloorExact(8) - OriginalLocation(8) + 0.4
-        If ElevatorEnable(8) > 15 Then ElevatorEnable(8) = 15
-        Destination(8) = ((OriginalLocation(8) * 25) + 25) + DistanceToTravel(8) - 35
-        If GotoFloor(8) <> 0 And elevatorstart(8).Y >= (Destination(8) - (StoppingDistance(8) * 25) + 25) Then ElevatorDirection(8) = -1: ElevatorCheck(8) = 0
-        End If
-      
-        If ElevatorEnable(8) > 0 And ElevatorDirection(8) = -1 Then
-        'Sounds
-        If ElevatorSounds(8).PlayState = TV_PLAYSTATE_PLAYING And ElevatorCheck2(8) = 0 And FineTune(8) = False Then
-        ElevatorSounds(8).Loop_ = False
-        ElevatorSounds(8).Stop_
-        End If
-        If ElevatorSounds(8).PlayState <> TV_PLAYSTATE_PLAYING And ElevatorCheck2(8) = 0 And FineTune(8) = False Then
-        ElevatorSounds(8).Loop_ = False
-        ElevatorSounds(8).Load App.Path + "\elevstop.wav"
-        ElevatorSounds(8).Play
-        ElevatorCheck2(8) = 1
-        End If
-        'Movement
-        Elevator(8).MoveRelative 0, (ElevatorEnable(8) / 5), 0
-        ElevatorInsDoorL(8).MoveRelative 0, (ElevatorEnable(8) / 5), 0
-        ElevatorInsDoorR(8).MoveRelative 0, (ElevatorEnable(8) / 5), 0
-        FloorIndicator(8).MoveRelative 0, (ElevatorEnable(8) / 5), 0
-        Plaque(8).MoveRelative 0, (ElevatorEnable(8) / 5), 0
-        For i8 = -1 To 138
-        Buttons8(i8).MoveRelative 0, (ElevatorEnable(8) / 5), 0
-        Next i8
-        If ElevatorSync(8) = True Then Camera.MoveRelative 0, (ElevatorEnable(8) / 5), 0
-        
-        'ElevatorSounds(8).SetPosition -20.25, Elevator(8).GetPosition.Y + 20, -23
-        ''ElevatorMusic(8).SetPosition -20.25, Elevator(8).GetPosition.Y + 20, -23
-        ElevatorEnable(8) = ElevatorEnable(8) - 0.25
-        If ElevatorEnable(8) < 0 Then ElevatorEnable(8) = 0
-        If ElevatorEnable(8) = 0 Then ElevatorDirection(8) = 0
-        If GotoFloor(8) <> 0 Then ElevatorCheck(8) = 0: FineTune(8) = True
-        End If
-      
-        If ElevatorEnable(8) <= 0 And ElevatorDirection(8) = -1 Then
-        If ElevatorSounds(8).PlayState <> TV_PLAYSTATE_PLAYING And ElevatorCheck(8) = 0 Then
-        ElevatorSounds(8).Loop_ = False
-        ElevatorSounds(8).Load App.Path + "\elevstart.wav"
-        ElevatorSounds(8).Volume = 0
-        'ElevatorSounds(8).maxDistance = 100
-        'Call ElevatorSounds(8).SetConeOrientation(0, 0, 90)
-        'ElevatorSounds(8).ConeOutsideVolume = 0
-        'Call ElevatorSounds(8).SetPosition(-20.25, Elevator(8).GetPosition.Y + 20, -23)
-        ElevatorSounds(8).Play
-        ElevatorCheck(8) = 1
-        End If
-        If ElevatorSounds(8).PlayState = TV_PLAYSTATE_ENDED And ElevatorCheck(8) = 1 Then
-        ElevatorSounds(8).Load App.Path + "\elevmove.wav"
-        ElevatorSounds(8).Loop_ = True
-        ElevatorSounds(8).Play
-        End If
-        Elevator(8).MoveRelative 0, (ElevatorEnable(8) / 5), 0
-        ElevatorInsDoorL(8).MoveRelative 0, (ElevatorEnable(8) / 5), 0
-        ElevatorInsDoorR(8).MoveRelative 0, (ElevatorEnable(8) / 5), 0
-        FloorIndicator(8).MoveRelative 0, (ElevatorEnable(8) / 5), 0
-        Plaque(8).MoveRelative 0, (ElevatorEnable(8) / 5), 0
-        For i8 = -1 To 138
-        Buttons8(i8).MoveRelative 0, (ElevatorEnable(8) / 5), 0
-        Next i8
-        If ElevatorSync(8) = True Then Camera.MoveRelative 0, (ElevatorEnable(8) / 5), 0
-        'ElevatorSounds(8).SetPosition -20.25, Elevator(8).GetPosition.Y + 20, -23
-        ''ElevatorMusic(8).SetPosition -20.25, Elevator(8).GetPosition.Y + 20, -23
-        ElevatorEnable(8) = ElevatorEnable(8) - 0.25
-        If ElevatorEnable(8) >= -15 Then StoppingDistance(8) = OriginalLocation(8) - CurrentFloorExact(8)
-        If ElevatorEnable(8) < -15 Then ElevatorEnable(8) = -15
-        Destination(8) = ((OriginalLocation(8) * 25) + 25) - DistanceToTravel(8)
-        If GotoFloor(8) <> 0 And elevatorstart(8).Y <= (Destination(8) + (StoppingDistance(8) * 25) + 25) Then ElevatorDirection(8) = 1: ElevatorCheck(8) = 0
-        End If
-      
-        If ElevatorEnable(8) < 0 And ElevatorDirection(8) = 1 Then
-        If ElevatorSounds(8).PlayState = TV_PLAYSTATE_PLAYING And ElevatorCheck2(8) = 0 And FineTune(8) = False Then
-        ElevatorSounds(8).Loop_ = False
-        ElevatorSounds(8).Stop_
-        End If
-        If ElevatorSounds(8).PlayState <> TV_PLAYSTATE_PLAYING And ElevatorCheck2(8) = 0 And FineTune(8) = False Then
-        ElevatorSounds(8).Loop_ = False
-        ElevatorSounds(8).Load App.Path + "\elevstop.wav"
-        ElevatorSounds(8).Play
-        ElevatorCheck2(8) = 1
-        End If
-        Elevator(8).MoveRelative 0, (ElevatorEnable(8) / 5), 0
-        ElevatorInsDoorL(8).MoveRelative 0, (ElevatorEnable(8) / 5), 0
-        ElevatorInsDoorR(8).MoveRelative 0, (ElevatorEnable(8) / 5), 0
-        FloorIndicator(8).MoveRelative 0, (ElevatorEnable(8) / 5), 0
-        Plaque(8).MoveRelative 0, (ElevatorEnable(8) / 5), 0
-        For i8 = -1 To 138
-        Buttons8(i8).MoveRelative 0, (ElevatorEnable(8) / 5), 0
-        Next i8
-        If ElevatorSync(8) = True Then Camera.MoveRelative 0, (ElevatorEnable(8) / 5), 0
-        'ElevatorSounds(8).SetPosition -20.25, Elevator(8).GetPosition.Y + 20, -23
-        ''ElevatorMusic(8).SetPosition -20.25, Elevator(8).GetPosition.Y + 20, -23
-        ElevatorEnable(8) = ElevatorEnable(8) + 0.25
-        If ElevatorEnable(8) > 0 Then ElevatorEnable(8) = 0
-        If ElevatorEnable(8) = 0 Then ElevatorDirection(8) = 0
-        If GotoFloor(8) <> 0 Then ElevatorCheck(8) = 0: FineTune(8) = True
-        End If
-      
-      If FineTune(8) = True And ElevatorEnable(8) = 0 And elevatorstart(8).Y > (GotoFloor(8) * 25) + 25 + -0.3 And elevatorstart(8).Y < (GotoFloor(8) * 25) + 25 + 0.3 Then
-      FineTune(8) = False
-      If ElevatorSync(8) = True Then
-      Room(CameraFloor).Enable True
-      ElevatorDoor1L(CameraFloor).Enable True
-      ElevatorDoor1R(CameraFloor).Enable True
-      ElevatorDoor2L(CameraFloor).Enable True
-      ElevatorDoor2R(CameraFloor).Enable True
-      ElevatorDoor3L(CameraFloor).Enable True
-      ElevatorDoor3R(CameraFloor).Enable True
-      ElevatorDoor4L(CameraFloor).Enable True
-      ElevatorDoor4R(CameraFloor).Enable True
-      ElevatorDoor5L(CameraFloor).Enable True
-      ElevatorDoor5R(CameraFloor).Enable True
-      ElevatorDoor6L(CameraFloor).Enable True
-      ElevatorDoor6R(CameraFloor).Enable True
-      ElevatorDoor7L(CameraFloor).Enable True
-      ElevatorDoor7R(CameraFloor).Enable True
-      ElevatorDoor8L(CameraFloor).Enable True
-      ElevatorDoor8R(CameraFloor).Enable True
-      ElevatorDoor9L(CameraFloor).Enable True
-      ElevatorDoor9R(CameraFloor).Enable True
-      ElevatorDoor10L(CameraFloor).Enable True
-      ElevatorDoor10R(CameraFloor).Enable True
-      For i8 = 1 To 10
-      CallButtons(i8).Enable True
-      Next i8
-      ShaftsFloor(CameraFloor).Enable True
-      Stairs(CameraFloor).Enable True
-      Atmos.SkyBox_Enable True
-      'If CameraFloor = 137 Then Shafts.Enable True
-      InitObjectsForFloor (CameraFloor)
-      If CameraFloor < 138 Then Stairs(CameraFloor + 1).Enable True
-      If CameraFloor > 1 Then Stairs(CameraFloor - 1).Enable True
-      End If
-      GotoFloor(8) = 0
-      OpenElevator(8) = 1
-      ElevatorCheck(8) = 0
-      ElevatorCheck2(8) = 0
-      ElevatorCheck3(8) = 0
-      ElevatorCheck4(8) = 0
-      If CameraFloor > 1 Then Camera.SetPosition Camera.GetPosition.X, (CameraFloor * 25) + 25 + 10, Camera.GetPosition.z
-      If CameraFloor = 1 And FloorIndicatorText(8) <> "M" Then Camera.SetPosition Camera.GetPosition.X, 10, Camera.GetPosition.z
-      End If
-      
-      If FineTune(8) = True Then
-      If ElevatorCheck3(8) = 0 Then
-      ElevatorSounds(8).Load App.Path + "\ding1.wav"
-      ElevatorSounds(8).Play
-      ElevatorCheck3(8) = 1
-        For i8 = -1 To 138
-        Buttons8(i8).SetColor RGBA(1, 1, 1, 1)
-        Next i8
-      End If
-      If elevatorstart(8).Y < (GotoFloor(8) * 25) + 25 Then
-      Elevator(8).MoveRelative 0, 0.2, 0
-      ElevatorInsDoorL(8).MoveRelative 0, 0.2, 0
-      ElevatorInsDoorR(8).MoveRelative 0, 0.2, 0
-      Plaque(8).MoveRelative 0, 0.2, 0
-        For i8 = -1 To 138
-        Buttons8(i8).MoveRelative 0, 0.2, 0
-        Next i8
-        FloorIndicator(8).MoveRelative 0, 0.2, 0
-        If ElevatorSync(8) = True Then Camera.MoveRelative 0, 0.2, 0
-      End If
-      If elevatorstart(8).Y > (GotoFloor(8) * 25) + 25 Then
-      Elevator(8).MoveRelative 0, -0.2, 0
-      ElevatorInsDoorL(8).MoveRelative 0, -0.2, 0
-      ElevatorInsDoorR(8).MoveRelative 0, -0.2, 0
-      Plaque(8).MoveRelative 0, -0.2, 0
-        For i8 = -1 To 138
-        Buttons8(i8).MoveRelative 0, -0.2, 0
-        Next i8
-        FloorIndicator(8).MoveRelative 0, -0.2, 0
-        If ElevatorSync(8) = True Then Camera.MoveRelative 0, -0.2, 0
-      End If
-      End If
-      
-      If OpenElevator(8) = 1 Then
-      'If ElevatorInsDoorL(ElevatorFloor2(8)).GetPosition.z >= 4 Then OpenElevator(8) = 0: GoTo OpenElevator1
-      If ElevatorDoor8L(ElevatorFloor2(8)).GetPosition.z >= 4 Then OpenElevator(8) = 0: GoTo OpenElevator1
-      If ElevatorCheck4(8) = 0 Then
-        If ElevatorSounds(8).PlayState = TV_PLAYSTATE_PLAYING Then
-        ElevatorSounds(8).Stop_
-        End If
-        ElevatorSounds(8).Loop_ = False
-        ElevatorSounds(8).Load App.Path + "\elevatoropen.wav"
-        ElevatorSounds(8).Volume = 0
-        'ElevatorSounds(8).maxDistance = 1000
-        'Call ElevatorSounds(8).SetConeOrientation(0, -5, 0)
-        'ElevatorSounds(8).ConeOutsideVolume = 0
-        'Call ElevatorSounds(8).SetPosition(-20.25, Elevator(8).GetPosition.Y, -23)
-        ElevatorSounds(8).Play
-        ElevatorCheck4(8) = 1
-      End If
-      OpenElevatorLoc(8) = OpenElevatorLoc(8) + 0.02
-      ElevatorDoor8L(ElevatorFloor2(8)).MoveRelative OpenElevatorLoc(8), 0, 0
-      ElevatorDoor8R(ElevatorFloor2(8)).MoveRelative -OpenElevatorLoc(8), 0, 0
-      ElevatorInsDoorL(8).MoveRelative OpenElevatorLoc(8), 0, 0
-      ElevatorInsDoorR(8).MoveRelative -OpenElevatorLoc(8), 0, 0
-      'If ElevatorInsDoorL(ElevatorFloor2(8)).GetPosition.z > 1 Then OpenElevator(8) = 2
-      If ElevatorDoor8L(ElevatorFloor2(8)).GetPosition.z > 1 Then OpenElevator(8) = 2
-OpenElevator1:
-      End If
-      
-      If OpenElevator(8) = 2 Then
-      ElevatorDoor8L(ElevatorFloor2(8)).MoveRelative OpenElevatorLoc(8), 0, 0
-      ElevatorDoor8R(ElevatorFloor2(8)).MoveRelative -OpenElevatorLoc(8), 0, 0
-      ElevatorInsDoorL(8).MoveRelative OpenElevatorLoc(8), 0, 0
-      ElevatorInsDoorR(8).MoveRelative -OpenElevatorLoc(8), 0, 0
-      'If ElevatorInsDoorL(ElevatorFloor2(8)).GetPosition.z > 3 Then OpenElevator(8) = 3
-      If ElevatorDoor8L(ElevatorFloor2(8)).GetPosition.z > 3 Then OpenElevator(8) = 3
-      End If
-      
-      If OpenElevator(8) = 3 Then
-      ElevatorCheck4(8) = 0
-      OpenElevatorLoc(8) = OpenElevatorLoc(8) - 0.02
-      'If ElevatorInsDoorL(ElevatorFloor2(8)).GetPosition.z < 7 And OpenElevatorLoc(8) = 0 Then OpenElevatorLoc(8) = 0.02
-      If ElevatorDoor8L(ElevatorFloor2(8)).GetPosition.z < 7 And OpenElevatorLoc(8) = 0 Then OpenElevatorLoc(8) = 0.02
-      ElevatorDoor8L(ElevatorFloor2(8)).MoveRelative OpenElevatorLoc(8), 0, 0
-      ElevatorDoor8R(ElevatorFloor2(8)).MoveRelative -OpenElevatorLoc(8), 0, 0
-      ElevatorInsDoorL(8).MoveRelative OpenElevatorLoc(8), 0, 0
-      ElevatorInsDoorR(8).MoveRelative -OpenElevatorLoc(8), 0, 0
-      If OpenElevatorLoc(8) <= 0 Then
-      OpenElevator(8) = 0
-      OpenElevatorLoc(8) = 0
-      Form1.Timer8.Enabled = True
-      End If
-      End If
-      
-      If OpenElevator(8) = -1 Then
-      'If ElevatorInsDoorL(ElevatorFloor2(8)).GetPosition.z <= 0 Then OpenElevator(8) = 0: GoTo OpenElevator2
-      If ElevatorDoor8L(ElevatorFloor2(8)).GetPosition.z <= 0 Then OpenElevator(8) = 0: GoTo OpenElevator2
-      If ElevatorCheck4(8) = 0 Then
-        If ElevatorSounds(8).PlayState = TV_PLAYSTATE_PLAYING Then
-        ElevatorSounds(8).Stop_
-        End If
-        ElevatorSounds(8).Loop_ = False
-        ElevatorSounds(8).Load App.Path + "\elevatorclose.wav"
-        ElevatorSounds(8).Volume = 0
-        'ElevatorSounds(8).maxDistance = 1000
-        'Call ElevatorSounds(8).SetConeOrientation(0, 0, 90)
-        'ElevatorSounds(8).ConeOutsideVolume = 0
-        'Call ElevatorSounds(8).SetPosition(-20.25, Elevator(8).GetPosition.Y, -23)
-        ElevatorSounds(8).Play
-        ElevatorCheck4(8) = 1
-      End If
-      OpenElevatorLoc(8) = OpenElevatorLoc(8) - 0.02
-      ElevatorDoor8L(ElevatorFloor2(8)).MoveRelative OpenElevatorLoc(8), 0, 0
-      ElevatorDoor8R(ElevatorFloor2(8)).MoveRelative -OpenElevatorLoc(8), 0, 0
-      ElevatorInsDoorL(8).MoveRelative OpenElevatorLoc(8), 0, 0
-      ElevatorInsDoorR(8).MoveRelative -OpenElevatorLoc(8), 0, 0
-      'If ElevatorInsDoorL(ElevatorFloor2(8)).GetPosition.z < 3 Then OpenElevator(8) = -2
-      If ElevatorDoor8L(ElevatorFloor2(8)).GetPosition.z < 3 Then OpenElevator(8) = -2
-OpenElevator2:
-      End If
-      
-      If OpenElevator(8) = -2 Then
-      ElevatorDoor8L(ElevatorFloor2(8)).MoveRelative OpenElevatorLoc(8), 0, 0
-      ElevatorDoor8R(ElevatorFloor2(8)).MoveRelative -OpenElevatorLoc(8), 0, 0
-      ElevatorInsDoorL(8).MoveRelative OpenElevatorLoc(8), 0, 0
-      ElevatorInsDoorR(8).MoveRelative -OpenElevatorLoc(8), 0, 0
-      'If ElevatorInsDoorL(ElevatorFloor2(8)).GetPosition.z < 1 Then OpenElevator(8) = -3
-      If ElevatorDoor8L(ElevatorFloor2(8)).GetPosition.z < 1 Then OpenElevator(8) = -3
-      End If
-      
-      If OpenElevator(8) = -3 Then
-      ElevatorCheck4(8) = 0
-      OpenElevatorLoc(8) = OpenElevatorLoc(8) + 0.02
-      'If ElevatorInsDoorL(ElevatorFloor2(8)).GetPosition.z > 0 And OpenElevatorLoc(8) >= 0 Then OpenElevatorLoc(8) = -0.02
-      If ElevatorDoor8L(ElevatorFloor2(8)).GetPosition.z > 0 And OpenElevatorLoc(8) >= 0 Then OpenElevatorLoc(8) = -0.02
-      ElevatorDoor8L(ElevatorFloor2(8)).MoveRelative OpenElevatorLoc(8), 0, 0
-      ElevatorDoor8R(ElevatorFloor2(8)).MoveRelative -OpenElevatorLoc(8), 0, 0
-      ElevatorInsDoorL(8).MoveRelative OpenElevatorLoc(8), 0, 0
-      ElevatorInsDoorR(8).MoveRelative -OpenElevatorLoc(8), 0, 0
-      If OpenElevatorLoc(8) >= 0 Then
-      OpenElevator(8) = 0
-      OpenElevatorLoc(8) = 0
-      ElevatorInsDoorL(8).SetPosition ElevatorInsDoorL(8).GetPosition.X, ElevatorInsDoorL(8).GetPosition.Y, 0
-      ElevatorInsDoorR(8).SetPosition ElevatorInsDoorR(8).GetPosition.X, ElevatorInsDoorR(8).GetPosition.Y, 0
-      ElevatorDoor8L(ElevatorFloor2(8)).SetPosition ElevatorDoor8L(ElevatorFloor2(8)).GetPosition.X, ElevatorDoor8L(ElevatorFloor2(8)).GetPosition.Y, 0
-      ElevatorDoor8R(ElevatorFloor2(8)).SetPosition ElevatorDoor8R(ElevatorFloor2(8)).GetPosition.X, ElevatorDoor8R(ElevatorFloor2(8)).GetPosition.Y, 0
-      End If
-      End If
-      
-      
-End Sub
+End If
 
-Sub Elevator9Loop()
+'Elevator 8
+If Number = 38 Then
 
-elevatorstart(9) = Elevator(9).GetPosition
+    'Buttons(135).AddWall GetTex("Button135"), (ShaftLeft - 0.17), -27.85 + (15 * 3), (ShaftLeft - 0.17), -27.55 + (15 * 3), 0.3, (Elevator(Number).GetPosition.y + 12), -1, 1
+    'Buttons(1).AddWall GetTex("Button1"), (ShaftLeft - 0.17), -27.85 + (15 * 3) - 0.4, (ShaftLeft - 0.17), -27.55 + (15 * 3) - 0.4, 0.3, (Elevator(Number).GetPosition.y + 12), -1, 1
+    'Buttons(136).AddWall GetTex("Button136"), (ShaftLeft - 0.17), -27.85 + (15 * 3) - 0.8, (ShaftLeft - 0.17), -27.55 + (15 * 3) - 0.8, 0.3, (Elevator(Number).GetPosition.y + 12), -1, 1
+    'Buttons(137).AddWall GetTex("Button137"), (ShaftLeft - 0.17), -27.85 + (15 * 3) - 1.2, (ShaftLeft - 0.17), -27.55 + (15 * 3) - 1.2, 0.3, (Elevator(Number).GetPosition.y + 12), -1, 1
+    'Buttons(138).AddWall GetTex("ButtonR"), (ShaftLeft - 0.17), -27.85 + (15 * 3) - 1.6, (ShaftLeft - 0.17), -27.55 + (15 * 3) - 1.6, 0.3, (Elevator(Number).GetPosition.y + 12), -1, 1
+    
+    'Buttons(37).AddWall GetTex("Button37"), (ShaftLeft - 0.17), -27.85 + (15 * 3), (ShaftLeft - 0.17), -27.55 + (15 * 3), 0.3, (Elevator(Number).GetPosition.y + 12) - 0.5, -1, 1
+    Buttons(37).AddWall GetTex("Button37"), (ShaftLeft - 0.17), -27.85 + (15 * 3) - 0.4, (ShaftLeft - 0.17), -27.55 + (15 * 3) - 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 0.5, -1, 1
+    Buttons(38).AddWall GetTex("Button38"), (ShaftLeft - 0.17), -27.85 + (15 * 3) - 0.8, (ShaftLeft - 0.17), -27.55 + (15 * 3) - 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 0.5, -1, 1
+    Buttons(39).AddWall GetTex("Button39"), (ShaftLeft - 0.17), -27.85 + (15 * 3) - 1.2, (ShaftLeft - 0.17), -27.55 + (15 * 3) - 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 0.5, -1, 1
+    'Buttons(39).AddWall GetTex("Button39"), (ShaftLeft - 0.17), -27.85 + (15 * 3) - 1.6, (ShaftLeft - 0.17), -27.55 + (15 * 3) - 1.6, 0.3, (Elevator(Number).GetPosition.y + 12) - 0.5, -1, 1
+    
+    Buttons(32).AddWall GetTex("Button32"), (ShaftLeft - 0.17), -27.85 + (15 * 3), (ShaftLeft - 0.17), -27.55 + (15 * 3), 0.3, (Elevator(Number).GetPosition.Y + 12) - 1, -1, 1
+    Buttons(33).AddWall GetTex("Button33"), (ShaftLeft - 0.17), -27.85 + (15 * 3) - 0.4, (ShaftLeft - 0.17), -27.55 + (15 * 3) - 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 1, -1, 1
+    Buttons(34).AddWall GetTex("Button34"), (ShaftLeft - 0.17), -27.85 + (15 * 3) - 0.8, (ShaftLeft - 0.17), -27.55 + (15 * 3) - 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 1, -1, 1
+    Buttons(35).AddWall GetTex("Button35"), (ShaftLeft - 0.17), -27.85 + (15 * 3) - 1.2, (ShaftLeft - 0.17), -27.55 + (15 * 3) - 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 1, -1, 1
+    Buttons(36).AddWall GetTex("Button36"), (ShaftLeft - 0.17), -27.85 + (15 * 3) - 1.6, (ShaftLeft - 0.17), -27.55 + (15 * 3) - 1.6, 0.3, (Elevator(Number).GetPosition.Y + 12) - 1, -1, 1
+    
+    Buttons(27).AddWall GetTex("Button27"), (ShaftLeft - 0.17), -27.85 + (15 * 3), (ShaftLeft - 0.17), -27.55 + (15 * 3), 0.3, (Elevator(Number).GetPosition.Y + 12) - 1.5, -1, 1
+    Buttons(28).AddWall GetTex("Button28"), (ShaftLeft - 0.17), -27.85 + (15 * 3) - 0.4, (ShaftLeft - 0.17), -27.55 + (15 * 3) - 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 1.5, -1, 1
+    Buttons(29).AddWall GetTex("Button29"), (ShaftLeft - 0.17), -27.85 + (15 * 3) - 0.8, (ShaftLeft - 0.17), -27.55 + (15 * 3) - 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 1.5, -1, 1
+    Buttons(30).AddWall GetTex("Button30"), (ShaftLeft - 0.17), -27.85 + (15 * 3) - 1.2, (ShaftLeft - 0.17), -27.55 + (15 * 3) - 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 1.5, -1, 1
+    Buttons(31).AddWall GetTex("Button31"), (ShaftLeft - 0.17), -27.85 + (15 * 3) - 1.6, (ShaftLeft - 0.17), -27.55 + (15 * 3) - 1.6, 0.3, (Elevator(Number).GetPosition.Y + 12) - 1.5, -1, 1
+    
+    Buttons(22).AddWall GetTex("Button22"), (ShaftLeft - 0.17), -27.85 + (15 * 3), (ShaftLeft - 0.17), -27.55 + (15 * 3), 0.3, (Elevator(Number).GetPosition.Y + 12) - 2, -1, 1
+    Buttons(23).AddWall GetTex("Button23"), (ShaftLeft - 0.17), -27.85 + (15 * 3) - 0.4, (ShaftLeft - 0.17), -27.55 + (15 * 3) - 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 2, -1, 1
+    Buttons(24).AddWall GetTex("Button24"), (ShaftLeft - 0.17), -27.85 + (15 * 3) - 0.8, (ShaftLeft - 0.17), -27.55 + (15 * 3) - 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 2, -1, 1
+    Buttons(25).AddWall GetTex("Button25"), (ShaftLeft - 0.17), -27.85 + (15 * 3) - 1.2, (ShaftLeft - 0.17), -27.55 + (15 * 3) - 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 2, -1, 1
+    Buttons(26).AddWall GetTex("Button26"), (ShaftLeft - 0.17), -27.85 + (15 * 3) - 1.6, (ShaftLeft - 0.17), -27.55 + (15 * 3) - 1.6, 0.3, (Elevator(Number).GetPosition.Y + 12) - 2, -1, 1
+    
+    Buttons(17).AddWall GetTex("Button17"), (ShaftLeft - 0.17), -27.85 + (15 * 3), (ShaftLeft - 0.17), -27.55 + (15 * 3), 0.3, (Elevator(Number).GetPosition.Y + 12) - 2.5, -1, 1
+    Buttons(18).AddWall GetTex("Button18"), (ShaftLeft - 0.17), -27.85 + (15 * 3) - 0.4, (ShaftLeft - 0.17), -27.55 + (15 * 3) - 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 2.5, -1, 1
+    Buttons(19).AddWall GetTex("Button19"), (ShaftLeft - 0.17), -27.85 + (15 * 3) - 0.8, (ShaftLeft - 0.17), -27.55 + (15 * 3) - 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 2.5, -1, 1
+    Buttons(20).AddWall GetTex("Button20"), (ShaftLeft - 0.17), -27.85 + (15 * 3) - 1.2, (ShaftLeft - 0.17), -27.55 + (15 * 3) - 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 2.5, -1, 1
+    Buttons(21).AddWall GetTex("Button21"), (ShaftLeft - 0.17), -27.85 + (15 * 3) - 1.6, (ShaftLeft - 0.17), -27.55 + (15 * 3) - 1.6, 0.3, (Elevator(Number).GetPosition.Y + 12) - 2.5, -1, 1
+    
+    Buttons(12).AddWall GetTex("Button12"), (ShaftLeft - 0.17), -27.85 + (15 * 3), (ShaftLeft - 0.17), -27.55 + (15 * 3), 0.3, (Elevator(Number).GetPosition.Y + 12) - 3, -1, 1
+    Buttons(13).AddWall GetTex("Button13"), (ShaftLeft - 0.17), -27.85 + (15 * 3) - 0.4, (ShaftLeft - 0.17), -27.55 + (15 * 3) - 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 3, -1, 1
+    Buttons(14).AddWall GetTex("Button14"), (ShaftLeft - 0.17), -27.85 + (15 * 3) - 0.8, (ShaftLeft - 0.17), -27.55 + (15 * 3) - 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 3, -1, 1
+    Buttons(15).AddWall GetTex("Button15"), (ShaftLeft - 0.17), -27.85 + (15 * 3) - 1.2, (ShaftLeft - 0.17), -27.55 + (15 * 3) - 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 3, -1, 1
+    Buttons(16).AddWall GetTex("Button16"), (ShaftLeft - 0.17), -27.85 + (15 * 3) - 1.6, (ShaftLeft - 0.17), -27.55 + (15 * 3) - 1.6, 0.3, (Elevator(Number).GetPosition.Y + 12) - 3, -1, 1
+    
+    Buttons(7).AddWall GetTex("Button7"), (ShaftLeft - 0.17), -27.85 + (15 * 3), (ShaftLeft - 0.17), -27.55 + (15 * 3), 0.3, (Elevator(Number).GetPosition.Y + 12) - 3.5, -1, 1
+    Buttons(8).AddWall GetTex("Button8"), (ShaftLeft - 0.17), -27.85 + (15 * 3) - 0.4, (ShaftLeft - 0.17), -27.55 + (15 * 3) - 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 3.5, -1, 1
+    Buttons(9).AddWall GetTex("Button9"), (ShaftLeft - 0.17), -27.85 + (15 * 3) - 0.8, (ShaftLeft - 0.17), -27.55 + (15 * 3) - 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 3.5, -1, 1
+    Buttons(10).AddWall GetTex("Button10"), (ShaftLeft - 0.17), -27.85 + (15 * 3) - 1.2, (ShaftLeft - 0.17), -27.55 + (15 * 3) - 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 3.5, -1, 1
+    Buttons(11).AddWall GetTex("Button11"), (ShaftLeft - 0.17), -27.85 + (15 * 3) - 1.6, (ShaftLeft - 0.17), -27.55 + (15 * 3) - 1.6, 0.3, (Elevator(Number).GetPosition.Y + 12) - 3.5, -1, 1
+    
+    Buttons(2).AddWall GetTex("Button2"), (ShaftLeft - 0.17), -27.85 + (15 * 3), (ShaftLeft - 0.17), -27.55 + (15 * 3), 0.3, (Elevator(Number).GetPosition.Y + 12) - 4, -1, 1
+    Buttons(3).AddWall GetTex("Button3"), (ShaftLeft - 0.17), -27.85 + (15 * 3) - 0.4, (ShaftLeft - 0.17), -27.55 + (15 * 3) - 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 4, -1, 1
+    Buttons(4).AddWall GetTex("Button4"), (ShaftLeft - 0.17), -27.85 + (15 * 3) - 0.8, (ShaftLeft - 0.17), -27.55 + (15 * 3) - 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 4, -1, 1
+    Buttons(5).AddWall GetTex("Button5"), (ShaftLeft - 0.17), -27.85 + (15 * 3) - 1.2, (ShaftLeft - 0.17), -27.55 + (15 * 3) - 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 4, -1, 1
+    Buttons(6).AddWall GetTex("Button6"), (ShaftLeft - 0.17), -27.85 + (15 * 3) - 1.6, (ShaftLeft - 0.17), -27.55 + (15 * 3) - 1.6, 0.3, (Elevator(Number).GetPosition.Y + 12) - 4, -1, 1
+    
+    'Buttons(-1).AddWall GetTex("ButtonL"), (ShaftLeft - 0.17), -27.85 + (15 * 3), (ShaftLeft - 0.17), -27.55 + (15 * 3), 0.3, (Elevator(Number).GetPosition.y + 12) - 4.5, -1, 1
+    'Buttons(81).AddWall GetTex("Button81"), (ShaftLeft - 0.17), -27.85 + (15 * 3) - 0.4, (ShaftLeft - 0.17), -27.55 + (15 * 3) - 0.4, 0.3, (Elevator(Number).GetPosition.y + 12) - 4.5, -1, 1
+    Buttons(-1).AddWall GetTex("ButtonL"), (ShaftLeft - 0.17), -27.85 + (15 * 3) - 0.8, (ShaftLeft - 0.17), -27.55 + (15 * 3) - 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 4.5, -1, 1
+    'Buttons(83).AddWall GetTex("Button83"), (ShaftLeft - 0.17), -27.85 + (15 * 3) - 1.2, (ShaftLeft - 0.17), -27.55 + (15 * 3) - 1.2, 0.3, (Elevator(Number).GetPosition.y + 12) - 4.5, -1, 1
+    'Buttons(84).AddWall GetTex("Button84"), (ShaftLeft - 0.17), -27.85 + (15 * 3) - 1.6, (ShaftLeft - 0.17), -27.55 + (15 * 3) - 1.6, 0.3, (Elevator(Number).GetPosition.y + 12) - 4.5, -1, 1
+    
+    'Buttons(2).AddWall GetTex("Button2"), (ShaftLeft - 0.17), -27.85 + (15 * 3), (ShaftLeft - 0.17), -27.55 + (15 * 3), 0.3, (Elevator(Number).GetPosition.y + 12) - 5, -1, 1
+    'Buttons(39).AddWall GetTex("Button39"), (ShaftLeft - 0.17), -27.85 + (15 * 3) - 0.4, (ShaftLeft - 0.17), -27.55 + (15 * 3) - 0.4, 0.3, (Elevator(Number).GetPosition.y + 12) - 5, -1, 1
+    'Buttons(-1).AddWall GetTex("ButtonL"), (ShaftLeft - 0.17), -27.85 + (15 * 3) - 0.8, (ShaftLeft - 0.17), -27.55 + (15 * 3) - 0.8, 0.3, (Elevator(Number).GetPosition.y + 12) - 5, -1, 1
+    'Buttons(65).AddWall GetTex("Button65"), (ShaftLeft - 0.17), -27.85 + (15 * 3) - 1.2, (ShaftLeft - 0.17), -27.55 + (15 * 3) - 1.2, 0.3, (Elevator(Number).GetPosition.y + 12) - 5, -1, 1
+    'Buttons(79).AddWall GetTex("Button79"), (ShaftLeft - 0.17), -27.85 + (15 * 3) - 1.6, (ShaftLeft - 0.17), -27.55 + (15 * 3) - 1.6, 0.3, (Elevator(Number).GetPosition.y + 12) - 5, -1, 1
+    
+    Buttons(139).AddWall GetTex("ButtonOpen"), (ShaftLeft - 0.17), -27.85 + (15 * 3), (ShaftLeft - 0.17), -27.55 + (15 * 3), 0.3, (Elevator(Number).GetPosition.Y + 12) - 5.5, -1, 1
+    Buttons(140).AddWall GetTex("ButtonClose"), (ShaftLeft - 0.17), -27.85 + (15 * 3) - 0.4, (ShaftLeft - 0.17), -27.55 + (15 * 3) - 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 5.5, -1, 1
+    Buttons(141).AddWall GetTex("ButtonCancel"), (ShaftLeft - 0.17), -27.85 + (15 * 3) - 0.8, (ShaftLeft - 0.17), -27.55 + (15 * 3) - 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 5.5, -1, 1
+    Buttons(142).AddWall GetTex("ButtonStop"), (ShaftLeft - 0.17), -27.85 + (15 * 3) - 1.2, (ShaftLeft - 0.17), -27.55 + (15 * 3) - 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 5.5, -1, 1
+    Buttons(143).AddWall GetTex("ButtonAlarm"), (ShaftLeft - 0.17), -27.85 + (15 * 3) - 1.6, (ShaftLeft - 0.17), -27.55 + (15 * 3) - 1.6, 0.3, (Elevator(Number).GetPosition.Y + 12) - 5.5, -1, 1
 
-'Find the floor that the elevator's on
-ElevatorFloor(9) = (Elevator(9).GetPosition.Y - 25) / 25
-      
-      'If elevator goes below floor 2, then set elevatorfloor as 1
-      If ElevatorFloor(9) < 1 Then ElevatorFloor(9) = 1
-      
-      If GotoFloor(9) = ElevatorFloor(9) - 1 Then CurrentFloor(9) = ElevatorFloor(9)
-
-      'If GotoFloor(9) <> 0 And GotoFloor(9) > CurrentFloor(9) And ElevatorDirection(9) = 0 And ElevatorInsDoorL(ElevatorFloor2(9)).GetPosition.z <= 0 Then
-      If GotoFloor(9) <> 0 And GotoFloor(9) > CurrentFloor(9) And ElevatorDirection(9) = 0 And ElevatorDoor9L(ElevatorFloor2(9)).GetPosition.z <= 0 Then
-      ElevatorDirection(9) = 1
-      OriginalLocation(9) = CurrentFloorExact(9)
-      DistanceToTravel(9) = ((GotoFloor(9) * 25) + 25) - ((CurrentFloorExact(9) * 25) + 25)
-      If ElevatorSync(9) = True Then
-      Room(CameraFloor).Enable False
-      For i9 = 1 To 10
-      CallButtons(i9).Enable False
-      Next i9
-      ElevatorDoor1L(CameraFloor).Enable False
-      ElevatorDoor1R(CameraFloor).Enable False
-      ElevatorDoor2L(CameraFloor).Enable False
-      ElevatorDoor2R(CameraFloor).Enable False
-      ElevatorDoor3L(CameraFloor).Enable False
-      ElevatorDoor3R(CameraFloor).Enable False
-      ElevatorDoor4L(CameraFloor).Enable False
-      ElevatorDoor4R(CameraFloor).Enable False
-      ElevatorDoor5L(CameraFloor).Enable False
-      ElevatorDoor5R(CameraFloor).Enable False
-      ElevatorDoor6L(CameraFloor).Enable False
-      ElevatorDoor6R(CameraFloor).Enable False
-      ElevatorDoor7L(CameraFloor).Enable False
-      ElevatorDoor7R(CameraFloor).Enable False
-      ElevatorDoor8L(CameraFloor).Enable False
-      ElevatorDoor8R(CameraFloor).Enable False
-      ElevatorDoor9L(CameraFloor).Enable False
-      ElevatorDoor9R(CameraFloor).Enable False
-      ElevatorDoor10L(CameraFloor).Enable False
-      ElevatorDoor10R(CameraFloor).Enable False
-      DestroyObjects (CameraFloor)
-      ShaftsFloor(CameraFloor).Enable False
-      Atmos.SkyBox_Enable False
-      Stairs(CameraFloor).Enable False
-      If CameraFloor < 138 Then Stairs(CameraFloor + 1).Enable False
-      If CameraFloor > 1 Then Stairs(CameraFloor - 1).Enable False
-      End If
-      End If
-      'If GotoFloor(9) <> 0 And GotoFloor(9) < CurrentFloor(9) And ElevatorDirection(9) = 0 And ElevatorInsDoorL(ElevatorFloor2(9)).GetPosition.z <= 0 Then
-      If GotoFloor(9) <> 0 And GotoFloor(9) < CurrentFloor(9) And ElevatorDirection(9) = 0 And ElevatorDoor9L(ElevatorFloor2(9)).GetPosition.z <= 0 Then
-      ElevatorDirection(9) = -1
-      OriginalLocation(9) = CurrentFloorExact(9)
-      DistanceToTravel(9) = ((CurrentFloorExact(9) * 25) + 25) - ((GotoFloor(9) * 25) + 25)
-      If ElevatorSync(9) = True Then
-      Room(CameraFloor).Enable False
-      For i9 = 1 To 10
-      CallButtons(i9).Enable False
-      Next i9
-      ElevatorDoor1L(CameraFloor).Enable False
-      ElevatorDoor1R(CameraFloor).Enable False
-      ElevatorDoor2L(CameraFloor).Enable False
-      ElevatorDoor2R(CameraFloor).Enable False
-      ElevatorDoor3L(CameraFloor).Enable False
-      ElevatorDoor3R(CameraFloor).Enable False
-      ElevatorDoor4L(CameraFloor).Enable False
-      ElevatorDoor4R(CameraFloor).Enable False
-      ElevatorDoor5L(CameraFloor).Enable False
-      ElevatorDoor5R(CameraFloor).Enable False
-      ElevatorDoor6L(CameraFloor).Enable False
-      ElevatorDoor6R(CameraFloor).Enable False
-      ElevatorDoor7L(CameraFloor).Enable False
-      ElevatorDoor7R(CameraFloor).Enable False
-      ElevatorDoor8L(CameraFloor).Enable False
-      ElevatorDoor8R(CameraFloor).Enable False
-      ElevatorDoor9L(CameraFloor).Enable False
-      ElevatorDoor9R(CameraFloor).Enable False
-      ElevatorDoor10L(CameraFloor).Enable False
-      ElevatorDoor10R(CameraFloor).Enable False
-      DestroyObjects (CameraFloor)
-      ShaftsFloor(CameraFloor).Enable False
-      Atmos.SkyBox_Enable False
-      Stairs(CameraFloor).Enable False
-      If CameraFloor < 138 Then Stairs(CameraFloor + 1).Enable False
-      If CameraFloor > 1 Then Stairs(CameraFloor - 1).Enable False
-      End If
-      End If
-      
-       CurrentFloor(9) = Int((elevatorstart(9).Y - 25) / 25)
-       CurrentFloorExact(9) = (elevatorstart(9).Y - 25) / 25
-       'CurrentFloor(9) = (Elevator(9).GetPosition.y / 25) - 1
-       'CurrentFloorExact(9) = Int((Elevator(9).GetPosition.y / 25) - 1)
+End If
 
-       'Form2.Text1.Text = "Sound Location=7.75,20,7 " + vbCrLf + "Elevator Floor=" + Str$(ElevatorFloor(9)) + vbCrLf + "Camera Floor=" + Str$(CameraFloor) + vbCrLf + "Current Location= " + Str$(Int(Camera.GetPosition.x)) + "," + Str$(Int(Camera.GetPosition.y)) + "," + Str$(Int(Camera.GetPosition.z)) + vbCrLf + "Distance to Travel=" + Str$(DistanceToTravel(9)) + vbCrLf + "Destination=" + Str$(Destination) + vbCrLf + "Rate=" + Str$(ElevatorEnable(9) / 5)
-        
-        If ElevatorEnable(9) >= 0 And ElevatorDirection(9) = 1 Then
-        'sound
-        If ElevatorSounds(9).PlayState <> TV_PLAYSTATE_PLAYING And ElevatorCheck(9) = 0 And GotoFloor(9) <> ElevatorFloor(9) Then
-        ElevatorSounds(9).Loop_ = False
-        ElevatorSounds(9).Load App.Path + "\elevstart.wav"
-        ElevatorSounds(9).Volume = 0
-        'ElevatorSounds(9).maxDistance = 100
-        'Call ElevatorSounds(9).SetConeOrientation(0, 0, 90)
-        'ElevatorSounds(9).ConeOutsideVolume = 0
-        'Call ElevatorSounds(9).SetPosition(-20.25, Elevator1(9).GetPosition.Y + 20, -23)
-        ElevatorSounds(9).Play
-        ElevatorCheck(9) = 1
-        End If
-        If ElevatorSounds(9).PlayState = TV_PLAYSTATE_ENDED And ElevatorCheck(9) = 1 Then
-        ElevatorSounds(9).Load App.Path + "\elevmove.wav"
-        ElevatorSounds(9).Loop_ = True
-        ElevatorSounds(9).Play
-        End If
-        'movement
-        Elevator(9).MoveRelative 0, (ElevatorEnable(9) / 5), 0
-        ElevatorInsDoorL(9).MoveRelative 0, (ElevatorEnable(9) / 5), 0
-        ElevatorInsDoorR(9).MoveRelative 0, (ElevatorEnable(9) / 5), 0
-        FloorIndicator(9).MoveRelative 0, (ElevatorEnable(9) / 5), 0
-        Plaque(9).MoveRelative 0, (ElevatorEnable(9) / 5), 0
-        For i9 = -1 To 138
-        Buttons9(i9).MoveRelative 0, (ElevatorEnable(9) / 5), 0
-        Next i9
-        If ElevatorSync(9) = True Then Camera.MoveRelative 0, (ElevatorEnable(9) / 5), 0
-        'ElevatorSounds(9).SetPosition -20.25, Elevator(9).GetPosition.Y + 20, -23
-        ''ElevatorMusic(9).SetPosition -20.25, Elevator(9).GetPosition.Y + 20, -23
-        ElevatorEnable(9) = ElevatorEnable(9) + 0.25
-        If ElevatorEnable(9) <= 15 Then StoppingDistance(9) = CurrentFloorExact(9) - OriginalLocation(9) + 0.4
-        If ElevatorEnable(9) > 15 Then ElevatorEnable(9) = 15
-        Destination(9) = ((OriginalLocation(9) * 25) + 25) + DistanceToTravel(9) - 35
-        If GotoFloor(9) <> 0 And elevatorstart(9).Y >= (Destination(9) - (StoppingDistance(9) * 25) + 25) Then ElevatorDirection(9) = -1: ElevatorCheck(9) = 0
-        End If
-      
-        If ElevatorEnable(9) > 0 And ElevatorDirection(9) = -1 Then
-        'Sounds
-        If ElevatorSounds(9).PlayState = TV_PLAYSTATE_PLAYING And ElevatorCheck2(9) = 0 And FineTune(9) = False Then
-        ElevatorSounds(9).Loop_ = False
-        ElevatorSounds(9).Stop_
-        End If
-        If ElevatorSounds(9).PlayState <> TV_PLAYSTATE_PLAYING And ElevatorCheck2(9) = 0 And FineTune(9) = False Then
-        ElevatorSounds(9).Loop_ = False
-        ElevatorSounds(9).Load App.Path + "\elevstop.wav"
-        ElevatorSounds(9).Play
-        ElevatorCheck2(9) = 1
-        End If
-        'Movement
-        Elevator(9).MoveRelative 0, (ElevatorEnable(9) / 5), 0
-        ElevatorInsDoorL(9).MoveRelative 0, (ElevatorEnable(9) / 5), 0
-        ElevatorInsDoorR(9).MoveRelative 0, (ElevatorEnable(9) / 5), 0
-        FloorIndicator(9).MoveRelative 0, (ElevatorEnable(9) / 5), 0
-        Plaque(9).MoveRelative 0, (ElevatorEnable(9) / 5), 0
-        For i9 = -1 To 138
-        Buttons9(i9).MoveRelative 0, (ElevatorEnable(9) / 5), 0
-        Next i9
-        If ElevatorSync(9) = True Then Camera.MoveRelative 0, (ElevatorEnable(9) / 5), 0
-        
-        'ElevatorSounds(9).SetPosition -20.25, Elevator(9).GetPosition.Y + 20, -23
-        ''ElevatorMusic(9).SetPosition -20.25, Elevator(9).GetPosition.Y + 20, -23
-        ElevatorEnable(9) = ElevatorEnable(9) - 0.25
-        If ElevatorEnable(9) < 0 Then ElevatorEnable(9) = 0
-        If ElevatorEnable(9) = 0 Then ElevatorDirection(9) = 0
-        If GotoFloor(9) <> 0 Then ElevatorCheck(9) = 0: FineTune(9) = True
-        End If
-      
-        If ElevatorEnable(9) <= 0 And ElevatorDirection(9) = -1 Then
-        If ElevatorSounds(9).PlayState <> TV_PLAYSTATE_PLAYING And ElevatorCheck(9) = 0 Then
-        ElevatorSounds(9).Loop_ = False
-        ElevatorSounds(9).Load App.Path + "\elevstart.wav"
-        ElevatorSounds(9).Volume = 0
-        'ElevatorSounds(9).maxDistance = 100
-        'Call ElevatorSounds(9).SetConeOrientation(0, 0, 90)
-        'ElevatorSounds(9).ConeOutsideVolume = 0
-        'Call ElevatorSounds(9).SetPosition(-20.25, Elevator(9).GetPosition.Y + 20, -23)
-        ElevatorSounds(9).Play
-        ElevatorCheck(9) = 1
-        End If
-        If ElevatorSounds(9).PlayState = TV_PLAYSTATE_ENDED And ElevatorCheck(9) = 1 Then
-        ElevatorSounds(9).Load App.Path + "\elevmove.wav"
-        ElevatorSounds(9).Loop_ = True
-        ElevatorSounds(9).Play
-        End If
-        Elevator(9).MoveRelative 0, (ElevatorEnable(9) / 5), 0
-        ElevatorInsDoorL(9).MoveRelative 0, (ElevatorEnable(9) / 5), 0
-        ElevatorInsDoorR(9).MoveRelative 0, (ElevatorEnable(9) / 5), 0
-        FloorIndicator(9).MoveRelative 0, (ElevatorEnable(9) / 5), 0
-        Plaque(9).MoveRelative 0, (ElevatorEnable(9) / 5), 0
-        For i9 = -1 To 138
-        Buttons9(i9).MoveRelative 0, (ElevatorEnable(9) / 5), 0
-        Next i9
-        If ElevatorSync(9) = True Then Camera.MoveRelative 0, (ElevatorEnable(9) / 5), 0
-        'ElevatorSounds(9).SetPosition -20.25, Elevator(9).GetPosition.Y + 20, -23
-        ''ElevatorMusic(9).SetPosition -20.25, Elevator(9).GetPosition.Y + 20, -23
-        ElevatorEnable(9) = ElevatorEnable(9) - 0.25
-        If ElevatorEnable(9) >= -15 Then StoppingDistance(9) = OriginalLocation(9) - CurrentFloorExact(9)
-        If ElevatorEnable(9) < -15 Then ElevatorEnable(9) = -15
-        Destination(9) = ((OriginalLocation(9) * 25) + 25) - DistanceToTravel(9)
-        If GotoFloor(9) <> 0 And elevatorstart(9).Y <= (Destination(9) + (StoppingDistance(9) * 25) + 25) Then ElevatorDirection(9) = 1: ElevatorCheck(9) = 0
-        End If
-      
-        If ElevatorEnable(9) < 0 And ElevatorDirection(9) = 1 Then
-        If ElevatorSounds(9).PlayState = TV_PLAYSTATE_PLAYING And ElevatorCheck2(9) = 0 And FineTune(9) = False Then
-        ElevatorSounds(9).Loop_ = False
-        ElevatorSounds(9).Stop_
-        End If
-        If ElevatorSounds(9).PlayState <> TV_PLAYSTATE_PLAYING And ElevatorCheck2(9) = 0 And FineTune(9) = False Then
-        ElevatorSounds(9).Loop_ = False
-        ElevatorSounds(9).Load App.Path + "\elevstop.wav"
-        ElevatorSounds(9).Play
-        ElevatorCheck2(9) = 1
-        End If
-        Elevator(9).MoveRelative 0, (ElevatorEnable(9) / 5), 0
-        ElevatorInsDoorL(9).MoveRelative 0, (ElevatorEnable(9) / 5), 0
-        ElevatorInsDoorR(9).MoveRelative 0, (ElevatorEnable(9) / 5), 0
-        FloorIndicator(9).MoveRelative 0, (ElevatorEnable(9) / 5), 0
-        Plaque(9).MoveRelative 0, (ElevatorEnable(9) / 5), 0
-        For i9 = -1 To 138
-        Buttons9(i9).MoveRelative 0, (ElevatorEnable(9) / 5), 0
-        Next i9
-        If ElevatorSync(9) = True Then Camera.MoveRelative 0, (ElevatorEnable(9) / 5), 0
-        'ElevatorSounds(9).SetPosition -20.25, Elevator(9).GetPosition.Y + 20, -23
-        ''ElevatorMusic(9).SetPosition -20.25, Elevator(9).GetPosition.Y + 20, -23
-        ElevatorEnable(9) = ElevatorEnable(9) + 0.25
-        If ElevatorEnable(9) > 0 Then ElevatorEnable(9) = 0
-        If ElevatorEnable(9) = 0 Then ElevatorDirection(9) = 0
-        If GotoFloor(9) <> 0 Then ElevatorCheck(9) = 0: FineTune(9) = True
-        End If
-      
-      If FineTune(9) = True And ElevatorEnable(9) = 0 And elevatorstart(9).Y > (GotoFloor(9) * 25) + 25 + -0.3 And elevatorstart(9).Y < (GotoFloor(9) * 25) + 25 + 0.3 Then
-      FineTune(9) = False
-      If ElevatorSync(9) = True Then
-      Room(CameraFloor).Enable True
-      ElevatorDoor1L(CameraFloor).Enable True
-      ElevatorDoor1R(CameraFloor).Enable True
-      ElevatorDoor2L(CameraFloor).Enable True
-      ElevatorDoor2R(CameraFloor).Enable True
-      ElevatorDoor3L(CameraFloor).Enable True
-      ElevatorDoor3R(CameraFloor).Enable True
-      ElevatorDoor4L(CameraFloor).Enable True
-      ElevatorDoor4R(CameraFloor).Enable True
-      ElevatorDoor5L(CameraFloor).Enable True
-      ElevatorDoor5R(CameraFloor).Enable True
-      ElevatorDoor6L(CameraFloor).Enable True
-      ElevatorDoor6R(CameraFloor).Enable True
-      ElevatorDoor7L(CameraFloor).Enable True
-      ElevatorDoor7R(CameraFloor).Enable True
-      ElevatorDoor8L(CameraFloor).Enable True
-      ElevatorDoor8R(CameraFloor).Enable True
-      ElevatorDoor9L(CameraFloor).Enable True
-      ElevatorDoor9R(CameraFloor).Enable True
-      ElevatorDoor10L(CameraFloor).Enable True
-      ElevatorDoor10R(CameraFloor).Enable True
-      For i9 = 1 To 10
-      CallButtons(i9).Enable True
-      Next i9
-      ShaftsFloor(CameraFloor).Enable True
-      Stairs(CameraFloor).Enable True
-      Atmos.SkyBox_Enable True
-      'If CameraFloor = 137 Then Shafts.Enable True
-      InitObjectsForFloor (CameraFloor)
-      If CameraFloor < 138 Then Stairs(CameraFloor + 1).Enable True
-      If CameraFloor > 1 Then Stairs(CameraFloor - 1).Enable True
-      End If
-      GotoFloor(9) = 0
-      OpenElevator(9) = 1
-      ElevatorCheck(9) = 0
-      ElevatorCheck2(9) = 0
-      ElevatorCheck3(9) = 0
-      ElevatorCheck4(9) = 0
-      If CameraFloor > 1 Then Camera.SetPosition Camera.GetPosition.X, (CameraFloor * 25) + 25 + 10, Camera.GetPosition.z
-      If CameraFloor = 1 And FloorIndicatorText(9) <> "M" Then Camera.SetPosition Camera.GetPosition.X, 10, Camera.GetPosition.z
-      End If
-      
-      If FineTune(9) = True Then
-      If ElevatorCheck3(9) = 0 Then
-      ElevatorSounds(9).Load App.Path + "\ding1.wav"
-      ElevatorSounds(9).Play
-      ElevatorCheck3(9) = 1
-        For i9 = -1 To 138
-        Buttons9(i9).SetColor RGBA(1, 1, 1, 1)
-        Next i9
-      End If
-      If elevatorstart(9).Y < (GotoFloor(9) * 25) + 25 Then
-      Elevator(9).MoveRelative 0, 0.2, 0
-      ElevatorInsDoorL(9).MoveRelative 0, 0.2, 0
-      ElevatorInsDoorR(9).MoveRelative 0, 0.2, 0
-      Plaque(9).MoveRelative 0, 0.2, 0
-        For i9 = -1 To 138
-        Buttons9(i9).MoveRelative 0, 0.2, 0
-        Next i9
-        FloorIndicator(9).MoveRelative 0, 0.2, 0
-        If ElevatorSync(9) = True Then Camera.MoveRelative 0, 0.2, 0
-      End If
-      If elevatorstart(9).Y > (GotoFloor(9) * 25) + 25 Then
-      Elevator(9).MoveRelative 0, -0.2, 0
-      ElevatorInsDoorL(9).MoveRelative 0, -0.2, 0
-      ElevatorInsDoorR(9).MoveRelative 0, -0.2, 0
-      Plaque(9).MoveRelative 0, -0.2, 0
-        For i9 = -1 To 138
-        Buttons9(i9).MoveRelative 0, -0.2, 0
-        Next i9
-        FloorIndicator(9).MoveRelative 0, -0.2, 0
-        If ElevatorSync(9) = True Then Camera.MoveRelative 0, -0.2, 0
-      End If
-      End If
-      
-      If OpenElevator(9) = 1 Then
-      'If ElevatorInsDoorL(ElevatorFloor2(9)).GetPosition.z >= 4 Then OpenElevator(9) = 0: GoTo OpenElevator1
-      If ElevatorDoor9L(ElevatorFloor2(9)).GetPosition.z >= 4 Then OpenElevator(9) = 0: GoTo OpenElevator1
-      If ElevatorCheck4(9) = 0 Then
-        If ElevatorSounds(9).PlayState = TV_PLAYSTATE_PLAYING Then
-        ElevatorSounds(9).Stop_
-        End If
-        ElevatorSounds(9).Loop_ = False
-        ElevatorSounds(9).Load App.Path + "\elevatoropen.wav"
-        ElevatorSounds(9).Volume = 0
-        'ElevatorSounds(9).maxDistance = 1000
-        'Call ElevatorSounds(9).SetConeOrientation(0, -5, 0)
-        'ElevatorSounds(9).ConeOutsideVolume = 0
-        'Call ElevatorSounds(9).SetPosition(-20.25, Elevator(9).GetPosition.Y, -23)
-        ElevatorSounds(9).Play
-        ElevatorCheck4(9) = 1
-      End If
-      OpenElevatorLoc(9) = OpenElevatorLoc(9) + 0.02
-      ElevatorDoor9L(ElevatorFloor2(9)).MoveRelative OpenElevatorLoc(9), 0, 0
-      ElevatorDoor9R(ElevatorFloor2(9)).MoveRelative -OpenElevatorLoc(9), 0, 0
-      ElevatorInsDoorL(9).MoveRelative OpenElevatorLoc(9), 0, 0
-      ElevatorInsDoorR(9).MoveRelative -OpenElevatorLoc(9), 0, 0
-      'If ElevatorInsDoorL(ElevatorFloor2(9)).GetPosition.z > 1 Then OpenElevator(9) = 2
-      If ElevatorDoor9L(ElevatorFloor2(9)).GetPosition.z > 1 Then OpenElevator(9) = 2
-OpenElevator1:
-      End If
-      
-      If OpenElevator(9) = 2 Then
-      ElevatorDoor9L(ElevatorFloor2(9)).MoveRelative OpenElevatorLoc(9), 0, 0
-      ElevatorDoor9R(ElevatorFloor2(9)).MoveRelative -OpenElevatorLoc(9), 0, 0
-      ElevatorInsDoorL(9).MoveRelative OpenElevatorLoc(9), 0, 0
-      ElevatorInsDoorR(9).MoveRelative -OpenElevatorLoc(9), 0, 0
-      'If ElevatorInsDoorL(ElevatorFloor2(9)).GetPosition.z > 3 Then OpenElevator(9) = 3
-      If ElevatorDoor9L(ElevatorFloor2(9)).GetPosition.z > 3 Then OpenElevator(9) = 3
-      End If
-      
-      If OpenElevator(9) = 3 Then
-      ElevatorCheck4(9) = 0
-      OpenElevatorLoc(9) = OpenElevatorLoc(9) - 0.02
-      'If ElevatorInsDoorL(ElevatorFloor2(9)).GetPosition.z < 7 And OpenElevatorLoc(9) = 0 Then OpenElevatorLoc(9) = 0.02
-      If ElevatorDoor9L(ElevatorFloor2(9)).GetPosition.z < 7 And OpenElevatorLoc(9) = 0 Then OpenElevatorLoc(9) = 0.02
-      ElevatorDoor9L(ElevatorFloor2(9)).MoveRelative OpenElevatorLoc(9), 0, 0
-      ElevatorDoor9R(ElevatorFloor2(9)).MoveRelative -OpenElevatorLoc(9), 0, 0
-      ElevatorInsDoorL(9).MoveRelative OpenElevatorLoc(9), 0, 0
-      ElevatorInsDoorR(9).MoveRelative -OpenElevatorLoc(9), 0, 0
-      If OpenElevatorLoc(9) <= 0 Then
-      OpenElevator(9) = 0
-      OpenElevatorLoc(9) = 0
-      Form1.Timer9.Enabled = True
-      End If
-      End If
-      
-      If OpenElevator(9) = -1 Then
-      'If ElevatorInsDoorL(ElevatorFloor2(9)).GetPosition.z <= 0 Then OpenElevator(9) = 0: GoTo OpenElevator2
-      If ElevatorDoor9L(ElevatorFloor2(9)).GetPosition.z <= 0 Then OpenElevator(9) = 0: GoTo OpenElevator2
-      If ElevatorCheck4(9) = 0 Then
-        If ElevatorSounds(9).PlayState = TV_PLAYSTATE_PLAYING Then
-        ElevatorSounds(9).Stop_
-        End If
-        ElevatorSounds(9).Loop_ = False
-        ElevatorSounds(9).Load App.Path + "\elevatorclose.wav"
-        ElevatorSounds(9).Volume = 0
-        'ElevatorSounds(9).maxDistance = 1000
-        'Call ElevatorSounds(9).SetConeOrientation(0, 0, 90)
-        'ElevatorSounds(9).ConeOutsideVolume = 0
-        'Call ElevatorSounds(9).SetPosition(-20.25, Elevator(9).GetPosition.Y, -23)
-        ElevatorSounds(9).Play
-        ElevatorCheck4(9) = 1
-      End If
-      OpenElevatorLoc(9) = OpenElevatorLoc(9) - 0.02
-      ElevatorDoor9L(ElevatorFloor2(9)).MoveRelative OpenElevatorLoc(9), 0, 0
-      ElevatorDoor9R(ElevatorFloor2(9)).MoveRelative -OpenElevatorLoc(9), 0, 0
-      ElevatorInsDoorL(9).MoveRelative OpenElevatorLoc(9), 0, 0
-      ElevatorInsDoorR(9).MoveRelative -OpenElevatorLoc(9), 0, 0
-      'If ElevatorInsDoorL(ElevatorFloor2(9)).GetPosition.z < 3 Then OpenElevator(9) = -2
-      If ElevatorDoor9L(ElevatorFloor2(9)).GetPosition.z < 3 Then OpenElevator(9) = -2
-OpenElevator2:
-      End If
-      
-      If OpenElevator(9) = -2 Then
-      ElevatorDoor9L(ElevatorFloor2(9)).MoveRelative OpenElevatorLoc(9), 0, 0
-      ElevatorDoor9R(ElevatorFloor2(9)).MoveRelative -OpenElevatorLoc(9), 0, 0
-      ElevatorInsDoorL(9).MoveRelative OpenElevatorLoc(9), 0, 0
-      ElevatorInsDoorR(9).MoveRelative -OpenElevatorLoc(9), 0, 0
-      'If ElevatorInsDoorL(ElevatorFloor2(9)).GetPosition.z < 1 Then OpenElevator(9) = -3
-      If ElevatorDoor9L(ElevatorFloor2(9)).GetPosition.z < 1 Then OpenElevator(9) = -3
-      End If
-      
-      If OpenElevator(9) = -3 Then
-      ElevatorCheck4(9) = 0
-      OpenElevatorLoc(9) = OpenElevatorLoc(9) + 0.02
-      'If ElevatorInsDoorL(ElevatorFloor2(9)).GetPosition.z > 0 And OpenElevatorLoc(9) >= 0 Then OpenElevatorLoc(9) = -0.02
-      If ElevatorDoor9L(ElevatorFloor2(9)).GetPosition.z > 0 And OpenElevatorLoc(9) >= 0 Then OpenElevatorLoc(9) = -0.02
-      ElevatorDoor9L(ElevatorFloor2(9)).MoveRelative OpenElevatorLoc(9), 0, 0
-      ElevatorDoor9R(ElevatorFloor2(9)).MoveRelative -OpenElevatorLoc(9), 0, 0
-      ElevatorInsDoorL(9).MoveRelative OpenElevatorLoc(9), 0, 0
-      ElevatorInsDoorR(9).MoveRelative -OpenElevatorLoc(9), 0, 0
-      If OpenElevatorLoc(9) >= 0 Then
-      OpenElevator(9) = 0
-      OpenElevatorLoc(9) = 0
-      ElevatorInsDoorL(9).SetPosition ElevatorInsDoorL(9).GetPosition.X, ElevatorInsDoorL(9).GetPosition.Y, 0
-      ElevatorInsDoorR(9).SetPosition ElevatorInsDoorR(9).GetPosition.X, ElevatorInsDoorR(9).GetPosition.Y, 0
-      ElevatorDoor9L(ElevatorFloor2(9)).SetPosition ElevatorDoor9L(ElevatorFloor2(9)).GetPosition.X, ElevatorDoor9L(ElevatorFloor2(9)).GetPosition.Y, 0
-      ElevatorDoor9R(ElevatorFloor2(9)).SetPosition ElevatorDoor9R(ElevatorFloor2(9)).GetPosition.X, ElevatorDoor9R(ElevatorFloor2(9)).GetPosition.Y, 0
-      End If
-      End If
-      
-      
+'Elevator 9
+If Number = 39 Then
+
+    'Buttons(135).AddWall GetTex("Button135"), -(ShaftLeft - 0.17), -18.45 + (15 * 4), -(ShaftLeft - 0.17), -18.15 + (15 * 4), 0.3, (Elevator(Number).GetPosition.y + 12), 1, 1
+    'Buttons(1).AddWall GetTex("Button1"), -(ShaftLeft - 0.17), -18.45 + (15 * 4) + 0.4, -(ShaftLeft - 0.17), -18.15 + (15 * 4) + 0.4, 0.3, (Elevator(Number).GetPosition.y + 12), 1, 1
+    'Buttons(136).AddWall GetTex("Button136"), -(ShaftLeft - 0.17), -18.45 + (15 * 4) + 0.8, -(ShaftLeft - 0.17), -18.15 + (15 * 4) + 0.8, 0.3, (Elevator(Number).GetPosition.y + 12), 1, 1
+    'Buttons(137).AddWall GetTex("Button137"), -(ShaftLeft - 0.17), -18.45 + (15 * 4) + 1.2, -(ShaftLeft - 0.17), -18.15 + (15 * 4) + 1.2, 0.3, (Elevator(Number).GetPosition.y + 12), 1, 1
+    'Buttons(138).AddWall GetTex("ButtonR"), -(ShaftLeft - 0.17), -18.45 + (15 * 4) + 1.6, -(ShaftLeft - 0.17), -18.15 + (15 * 4) + 1.6, 0.3, (Elevator(Number).GetPosition.y + 12), 1, 1
+    
+    'Buttons(37).AddWall GetTex("Button37"), -(ShaftLeft - 0.17), -18.45 + (15 * 4), -(ShaftLeft - 0.17), -18.15 + (15 * 4), 0.3, (Elevator(Number).GetPosition.y + 12) - 0.5, 1, 1
+    Buttons(37).AddWall GetTex("Button37"), -(ShaftLeft - 0.17), -18.45 + (15 * 4) + 0.4, -(ShaftLeft - 0.17), -18.15 + (15 * 4) + 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 0.5, 1, 1
+    Buttons(38).AddWall GetTex("Button38"), -(ShaftLeft - 0.17), -18.45 + (15 * 4) + 0.8, -(ShaftLeft - 0.17), -18.15 + (15 * 4) + 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 0.5, 1, 1
+    Buttons(39).AddWall GetTex("Button39"), -(ShaftLeft - 0.17), -18.45 + (15 * 4) + 1.2, -(ShaftLeft - 0.17), -18.15 + (15 * 4) + 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 0.5, 1, 1
+    'Buttons(39).AddWall GetTex("Button39"), -(ShaftLeft - 0.17), -18.45 + (15 * 4) + 1.6, -(ShaftLeft - 0.17), -18.15 + (15 * 4) + 1.6, 0.3, (Elevator(Number).GetPosition.y + 12) - 0.5, 1, 1
+    
+    Buttons(32).AddWall GetTex("Button32"), -(ShaftLeft - 0.17), -18.45 + (15 * 4), -(ShaftLeft - 0.17), -18.15 + (15 * 4), 0.3, (Elevator(Number).GetPosition.Y + 12) - 1, 1, 1
+    Buttons(33).AddWall GetTex("Button33"), -(ShaftLeft - 0.17), -18.45 + (15 * 4) + 0.4, -(ShaftLeft - 0.17), -18.15 + (15 * 4) + 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 1, 1, 1
+    Buttons(34).AddWall GetTex("Button34"), -(ShaftLeft - 0.17), -18.45 + (15 * 4) + 0.8, -(ShaftLeft - 0.17), -18.15 + (15 * 4) + 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 1, 1, 1
+    Buttons(35).AddWall GetTex("Button35"), -(ShaftLeft - 0.17), -18.45 + (15 * 4) + 1.2, -(ShaftLeft - 0.17), -18.15 + (15 * 4) + 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 1, 1, 1
+    Buttons(36).AddWall GetTex("Button36"), -(ShaftLeft - 0.17), -18.45 + (15 * 4) + 1.6, -(ShaftLeft - 0.17), -18.15 + (15 * 4) + 1.6, 0.3, (Elevator(Number).GetPosition.Y + 12) - 1, 1, 1
+    
+    Buttons(27).AddWall GetTex("Button27"), -(ShaftLeft - 0.17), -18.45 + (15 * 4), -(ShaftLeft - 0.17), -18.15 + (15 * 4), 0.3, (Elevator(Number).GetPosition.Y + 12) - 1.5, 1, 1
+    Buttons(28).AddWall GetTex("Button28"), -(ShaftLeft - 0.17), -18.45 + (15 * 4) + 0.4, -(ShaftLeft - 0.17), -18.15 + (15 * 4) + 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 1.5, 1, 1
+    Buttons(29).AddWall GetTex("Button29"), -(ShaftLeft - 0.17), -18.45 + (15 * 4) + 0.8, -(ShaftLeft - 0.17), -18.15 + (15 * 4) + 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 1.5, 1, 1
+    Buttons(30).AddWall GetTex("Button30"), -(ShaftLeft - 0.17), -18.45 + (15 * 4) + 1.2, -(ShaftLeft - 0.17), -18.15 + (15 * 4) + 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 1.5, 1, 1
+    Buttons(31).AddWall GetTex("Button31"), -(ShaftLeft - 0.17), -18.45 + (15 * 4) + 1.6, -(ShaftLeft - 0.17), -18.15 + (15 * 4) + 1.6, 0.3, (Elevator(Number).GetPosition.Y + 12) - 1.5, 1, 1
+    
+    Buttons(22).AddWall GetTex("Button22"), -(ShaftLeft - 0.17), -18.45 + (15 * 4), -(ShaftLeft - 0.17), -18.15 + (15 * 4), 0.3, (Elevator(Number).GetPosition.Y + 12) - 2, 1, 1
+    Buttons(23).AddWall GetTex("Button23"), -(ShaftLeft - 0.17), -18.45 + (15 * 4) + 0.4, -(ShaftLeft - 0.17), -18.15 + (15 * 4) + 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 2, 1, 1
+    Buttons(24).AddWall GetTex("Button24"), -(ShaftLeft - 0.17), -18.45 + (15 * 4) + 0.8, -(ShaftLeft - 0.17), -18.15 + (15 * 4) + 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 2, 1, 1
+    Buttons(25).AddWall GetTex("Button25"), -(ShaftLeft - 0.17), -18.45 + (15 * 4) + 1.2, -(ShaftLeft - 0.17), -18.15 + (15 * 4) + 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 2, 1, 1
+    Buttons(26).AddWall GetTex("Button26"), -(ShaftLeft - 0.17), -18.45 + (15 * 4) + 1.6, -(ShaftLeft - 0.17), -18.15 + (15 * 4) + 1.6, 0.3, (Elevator(Number).GetPosition.Y + 12) - 2, 1, 1
+    
+    Buttons(17).AddWall GetTex("Button17"), -(ShaftLeft - 0.17), -18.45 + (15 * 4), -(ShaftLeft - 0.17), -18.15 + (15 * 4), 0.3, (Elevator(Number).GetPosition.Y + 12) - 2.5, 1, 1
+    Buttons(18).AddWall GetTex("Button18"), -(ShaftLeft - 0.17), -18.45 + (15 * 4) + 0.4, -(ShaftLeft - 0.17), -18.15 + (15 * 4) + 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 2.5, 1, 1
+    Buttons(19).AddWall GetTex("Button19"), -(ShaftLeft - 0.17), -18.45 + (15 * 4) + 0.8, -(ShaftLeft - 0.17), -18.15 + (15 * 4) + 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 2.5, 1, 1
+    Buttons(20).AddWall GetTex("Button20"), -(ShaftLeft - 0.17), -18.45 + (15 * 4) + 1.2, -(ShaftLeft - 0.17), -18.15 + (15 * 4) + 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 2.5, 1, 1
+    Buttons(21).AddWall GetTex("Button21"), -(ShaftLeft - 0.17), -18.45 + (15 * 4) + 1.6, -(ShaftLeft - 0.17), -18.15 + (15 * 4) + 1.6, 0.3, (Elevator(Number).GetPosition.Y + 12) - 2.5, 1, 1
+    
+    Buttons(12).AddWall GetTex("Button12"), -(ShaftLeft - 0.17), -18.45 + (15 * 4), -(ShaftLeft - 0.17), -18.15 + (15 * 4), 0.3, (Elevator(Number).GetPosition.Y + 12) - 3, 1, 1
+    Buttons(13).AddWall GetTex("Button13"), -(ShaftLeft - 0.17), -18.45 + (15 * 4) + 0.4, -(ShaftLeft - 0.17), -18.15 + (15 * 4) + 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 3, 1, 1
+    Buttons(14).AddWall GetTex("Button14"), -(ShaftLeft - 0.17), -18.45 + (15 * 4) + 0.8, -(ShaftLeft - 0.17), -18.15 + (15 * 4) + 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 3, 1, 1
+    Buttons(15).AddWall GetTex("Button15"), -(ShaftLeft - 0.17), -18.45 + (15 * 4) + 1.2, -(ShaftLeft - 0.17), -18.15 + (15 * 4) + 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 3, 1, 1
+    Buttons(16).AddWall GetTex("Button16"), -(ShaftLeft - 0.17), -18.45 + (15 * 4) + 1.6, -(ShaftLeft - 0.17), -18.15 + (15 * 4) + 1.6, 0.3, (Elevator(Number).GetPosition.Y + 12) - 3, 1, 1
+    
+    Buttons(7).AddWall GetTex("Button7"), -(ShaftLeft - 0.17), -18.45 + (15 * 4), -(ShaftLeft - 0.17), -18.15 + (15 * 4), 0.3, (Elevator(Number).GetPosition.Y + 12) - 3.5, 1, 1
+    Buttons(8).AddWall GetTex("Button8"), -(ShaftLeft - 0.17), -18.45 + (15 * 4) + 0.4, -(ShaftLeft - 0.17), -18.15 + (15 * 4) + 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 3.5, 1, 1
+    Buttons(9).AddWall GetTex("Button9"), -(ShaftLeft - 0.17), -18.45 + (15 * 4) + 0.8, -(ShaftLeft - 0.17), -18.15 + (15 * 4) + 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 3.5, 1, 1
+    Buttons(10).AddWall GetTex("Button10"), -(ShaftLeft - 0.17), -18.45 + (15 * 4) + 1.2, -(ShaftLeft - 0.17), -18.15 + (15 * 4) + 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 3.5, 1, 1
+    Buttons(11).AddWall GetTex("Button11"), -(ShaftLeft - 0.17), -18.45 + (15 * 4) + 1.6, -(ShaftLeft - 0.17), -18.15 + (15 * 4) + 1.6, 0.3, (Elevator(Number).GetPosition.Y + 12) - 3.5, 1, 1
+    
+    Buttons(2).AddWall GetTex("Button2"), -(ShaftLeft - 0.17), -18.45 + (15 * 4), -(ShaftLeft - 0.17), -18.15 + (15 * 4), 0.3, (Elevator(Number).GetPosition.Y + 12) - 4, 1, 1
+    Buttons(3).AddWall GetTex("Button3"), -(ShaftLeft - 0.17), -18.45 + (15 * 4) + 0.4, -(ShaftLeft - 0.17), -18.15 + (15 * 4) + 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 4, 1, 1
+    Buttons(4).AddWall GetTex("Button4"), -(ShaftLeft - 0.17), -18.45 + (15 * 4) + 0.8, -(ShaftLeft - 0.17), -18.15 + (15 * 4) + 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 4, 1, 1
+    Buttons(5).AddWall GetTex("Button5"), -(ShaftLeft - 0.17), -18.45 + (15 * 4) + 1.2, -(ShaftLeft - 0.17), -18.15 + (15 * 4) + 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 4, 1, 1
+    Buttons(6).AddWall GetTex("Button6"), -(ShaftLeft - 0.17), -18.45 + (15 * 4) + 1.6, -(ShaftLeft - 0.17), -18.15 + (15 * 4) + 1.6, 0.3, (Elevator(Number).GetPosition.Y + 12) - 4, 1, 1
+    
+    'Buttons(-1).AddWall GetTex("ButtonL"), -(ShaftLeft - 0.17), -18.45 + (15 * 4), -(ShaftLeft - 0.17), -18.15 + (15 * 4), 0.3, (Elevator(Number).GetPosition.y + 12) - 4.5, 1, 1
+    'Buttons(81).AddWall GetTex("Button81"), -(ShaftLeft - 0.17), -18.45 + (15 * 4) + 0.4, -(ShaftLeft - 0.17), -18.15 + (15 * 4) + 0.4, 0.3, (Elevator(Number).GetPosition.y + 12) - 4.5, 1, 1
+    Buttons(-1).AddWall GetTex("ButtonL"), -(ShaftLeft - 0.17), -18.45 + (15 * 4) + 0.8, -(ShaftLeft - 0.17), -18.15 + (15 * 4) + 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 4.5, 1, 1
+    'Buttons(83).AddWall GetTex("Button83"), -(ShaftLeft - 0.17), -18.45 + (15 * 4) + 1.2, -(ShaftLeft - 0.17), -18.15 + (15 * 4) + 1.2, 0.3, (Elevator(Number).GetPosition.y + 12) - 4.5, 1, 1
+    'Buttons(84).AddWall GetTex("Button84"), -(ShaftLeft - 0.17), -18.45 + (15 * 4) + 1.6, -(ShaftLeft - 0.17), -18.15 + (15 * 4) + 1.6, 0.3, (Elevator(Number).GetPosition.y + 12) - 4.5, 1, 1
+    
+    'Buttons(2).AddWall GetTex("Button2"), -(ShaftLeft - 0.17), -18.45 + (15 * 4), -(ShaftLeft - 0.17), -18.15 + (15 * 4), 0.3, (Elevator(Number).GetPosition.y + 12) - 5, 1, 1
+    'Buttons(39).AddWall GetTex("Button39"), -(ShaftLeft - 0.17), -18.45 + (15 * 4) + 0.4, -(ShaftLeft - 0.17), -18.15 + (15 * 4) + 0.4, 0.3, (Elevator(Number).GetPosition.y + 12) - 5, 1, 1
+    'Buttons(-1).AddWall GetTex("ButtonL"), -(ShaftLeft - 0.17), -18.45 + (15 * 4) + 0.8, -(ShaftLeft - 0.17), -18.15 + (15 * 4) + 0.8, 0.3, (Elevator(Number).GetPosition.y + 12) - 5, 1, 1
+    'Buttons(65).AddWall GetTex("Button65"), -(ShaftLeft - 0.17), -18.45 + (15 * 4) + 1.2, -(ShaftLeft - 0.17), -18.15 + (15 * 4) + 1.2, 0.3, (Elevator(Number).GetPosition.y + 12) - 5, 1, 1
+    'Buttons(79).AddWall GetTex("Button79"), -(ShaftLeft - 0.17), -18.45 + (15 * 4) + 1.6, -(ShaftLeft - 0.17), -18.15 + (15 * 4) + 1.6, 0.3, (Elevator(Number).GetPosition.y + 12) - 5, 1, 1
+    
+    Buttons(139).AddWall GetTex("ButtonOpen"), -(ShaftLeft - 0.17), -18.45 + (15 * 4), -(ShaftLeft - 0.17), -18.15 + (15 * 4), 0.3, (Elevator(Number).GetPosition.Y + 12) - 5.5, 1, 1
+    Buttons(140).AddWall GetTex("ButtonClose"), -(ShaftLeft - 0.17), -18.45 + (15 * 4) + 0.4, -(ShaftLeft - 0.17), -18.15 + (15 * 4) + 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 5.5, 1, 1
+    Buttons(141).AddWall GetTex("ButtonCancel"), -(ShaftLeft - 0.17), -18.45 + (15 * 4) + 0.8, -(ShaftLeft - 0.17), -18.15 + (15 * 4) + 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 5.5, 1, 1
+    Buttons(142).AddWall GetTex("ButtonStop"), -(ShaftLeft - 0.17), -18.45 + (15 * 4) + 1.2, -(ShaftLeft - 0.17), -18.15 + (15 * 4) + 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 5.5, 1, 1
+    Buttons(143).AddWall GetTex("ButtonAlarm"), -(ShaftLeft - 0.17), -18.45 + (15 * 4) + 1.6, -(ShaftLeft - 0.17), -18.15 + (15 * 4) + 1.6, 0.3, (Elevator(Number).GetPosition.Y + 12) - 5.5, 1, 1
+
+End If
+
+'Elevator 10
+If Number = 40 Then
+
+    'Buttons(135).AddWall GetTex("Button135"), (ShaftLeft - 0.17), -27.85 + (15 * 4), (ShaftLeft - 0.17), -27.55 + (15 * 4), 0.3, (Elevator(Number).GetPosition.y + 12), -1, 1
+    'Buttons(1).AddWall GetTex("Button1"), (ShaftLeft - 0.17), -27.85 + (15 * 4) - 0.4, (ShaftLeft - 0.17), -27.55 + (15 * 4) - 0.4, 0.3, (Elevator(Number).GetPosition.y + 12), -1, 1
+    'Buttons(136).AddWall GetTex("Button136"), (ShaftLeft - 0.17), -27.85 + (15 * 4) - 0.8, (ShaftLeft - 0.17), -27.55 + (15 * 4) - 0.8, 0.3, (Elevator(Number).GetPosition.y + 12), -1, 1
+    'Buttons(137).AddWall GetTex("Button137"), (ShaftLeft - 0.17), -27.85 + (15 * 4) - 1.2, (ShaftLeft - 0.17), -27.55 + (15 * 4) - 1.2, 0.3, (Elevator(Number).GetPosition.y + 12), -1, 1
+    'Buttons(138).AddWall GetTex("ButtonR"), (ShaftLeft - 0.17), -27.85 + (15 * 4) - 1.6, (ShaftLeft - 0.17), -27.55 + (15 * 4) - 1.6, 0.3, (Elevator(Number).GetPosition.y + 12), -1, 1
+    
+    'Buttons(37).AddWall GetTex("Button37"), (ShaftLeft - 0.17), -27.85 + (15 * 4), (ShaftLeft - 0.17), -27.55 + (15 * 4), 0.3, (Elevator(Number).GetPosition.y + 12) - 0.5, -1, 1
+    Buttons(37).AddWall GetTex("Button37"), (ShaftLeft - 0.17), -27.85 + (15 * 4) - 0.4, (ShaftLeft - 0.17), -27.55 + (15 * 4) - 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 0.5, -1, 1
+    Buttons(38).AddWall GetTex("Button38"), (ShaftLeft - 0.17), -27.85 + (15 * 4) - 0.8, (ShaftLeft - 0.17), -27.55 + (15 * 4) - 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 0.5, -1, 1
+    Buttons(39).AddWall GetTex("Button39"), (ShaftLeft - 0.17), -27.85 + (15 * 4) - 1.2, (ShaftLeft - 0.17), -27.55 + (15 * 4) - 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 0.5, -1, 1
+    'Buttons(39).AddWall GetTex("Button39"), (ShaftLeft - 0.17), -27.85 + (15 * 4) - 1.6, (ShaftLeft - 0.17), -27.55 + (15 * 4) - 1.6, 0.3, (Elevator(Number).GetPosition.y + 12) - 0.5, -1, 1
+    
+    Buttons(32).AddWall GetTex("Button32"), (ShaftLeft - 0.17), -27.85 + (15 * 4), (ShaftLeft - 0.17), -27.55 + (15 * 4), 0.3, (Elevator(Number).GetPosition.Y + 12) - 1, -1, 1
+    Buttons(33).AddWall GetTex("Button33"), (ShaftLeft - 0.17), -27.85 + (15 * 4) - 0.4, (ShaftLeft - 0.17), -27.55 + (15 * 4) - 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 1, -1, 1
+    Buttons(34).AddWall GetTex("Button34"), (ShaftLeft - 0.17), -27.85 + (15 * 4) - 0.8, (ShaftLeft - 0.17), -27.55 + (15 * 4) - 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 1, -1, 1
+    Buttons(35).AddWall GetTex("Button35"), (ShaftLeft - 0.17), -27.85 + (15 * 4) - 1.2, (ShaftLeft - 0.17), -27.55 + (15 * 4) - 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 1, -1, 1
+    Buttons(36).AddWall GetTex("Button36"), (ShaftLeft - 0.17), -27.85 + (15 * 4) - 1.6, (ShaftLeft - 0.17), -27.55 + (15 * 4) - 1.6, 0.3, (Elevator(Number).GetPosition.Y + 12) - 1, -1, 1
+    
+    Buttons(27).AddWall GetTex("Button27"), (ShaftLeft - 0.17), -27.85 + (15 * 4), (ShaftLeft - 0.17), -27.55 + (15 * 4), 0.3, (Elevator(Number).GetPosition.Y + 12) - 1.5, -1, 1
+    Buttons(28).AddWall GetTex("Button28"), (ShaftLeft - 0.17), -27.85 + (15 * 4) - 0.4, (ShaftLeft - 0.17), -27.55 + (15 * 4) - 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 1.5, -1, 1
+    Buttons(29).AddWall GetTex("Button29"), (ShaftLeft - 0.17), -27.85 + (15 * 4) - 0.8, (ShaftLeft - 0.17), -27.55 + (15 * 4) - 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 1.5, -1, 1
+    Buttons(30).AddWall GetTex("Button30"), (ShaftLeft - 0.17), -27.85 + (15 * 4) - 1.2, (ShaftLeft - 0.17), -27.55 + (15 * 4) - 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 1.5, -1, 1
+    Buttons(31).AddWall GetTex("Button31"), (ShaftLeft - 0.17), -27.85 + (15 * 4) - 1.6, (ShaftLeft - 0.17), -27.55 + (15 * 4) - 1.6, 0.3, (Elevator(Number).GetPosition.Y + 12) - 1.5, -1, 1
+    
+    Buttons(22).AddWall GetTex("Button22"), (ShaftLeft - 0.17), -27.85 + (15 * 4), (ShaftLeft - 0.17), -27.55 + (15 * 4), 0.3, (Elevator(Number).GetPosition.Y + 12) - 2, -1, 1
+    Buttons(23).AddWall GetTex("Button23"), (ShaftLeft - 0.17), -27.85 + (15 * 4) - 0.4, (ShaftLeft - 0.17), -27.55 + (15 * 4) - 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 2, -1, 1
+    Buttons(24).AddWall GetTex("Button24"), (ShaftLeft - 0.17), -27.85 + (15 * 4) - 0.8, (ShaftLeft - 0.17), -27.55 + (15 * 4) - 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 2, -1, 1
+    Buttons(25).AddWall GetTex("Button25"), (ShaftLeft - 0.17), -27.85 + (15 * 4) - 1.2, (ShaftLeft - 0.17), -27.55 + (15 * 4) - 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 2, -1, 1
+    Buttons(26).AddWall GetTex("Button26"), (ShaftLeft - 0.17), -27.85 + (15 * 4) - 1.6, (ShaftLeft - 0.17), -27.55 + (15 * 4) - 1.6, 0.3, (Elevator(Number).GetPosition.Y + 12) - 2, -1, 1
+    
+    Buttons(17).AddWall GetTex("Button17"), (ShaftLeft - 0.17), -27.85 + (15 * 4), (ShaftLeft - 0.17), -27.55 + (15 * 4), 0.3, (Elevator(Number).GetPosition.Y + 12) - 2.5, -1, 1
+    Buttons(18).AddWall GetTex("Button18"), (ShaftLeft - 0.17), -27.85 + (15 * 4) - 0.4, (ShaftLeft - 0.17), -27.55 + (15 * 4) - 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 2.5, -1, 1
+    Buttons(19).AddWall GetTex("Button19"), (ShaftLeft - 0.17), -27.85 + (15 * 4) - 0.8, (ShaftLeft - 0.17), -27.55 + (15 * 4) - 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 2.5, -1, 1
+    Buttons(20).AddWall GetTex("Button20"), (ShaftLeft - 0.17), -27.85 + (15 * 4) - 1.2, (ShaftLeft - 0.17), -27.55 + (15 * 4) - 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 2.5, -1, 1
+    Buttons(21).AddWall GetTex("Button21"), (ShaftLeft - 0.17), -27.85 + (15 * 4) - 1.6, (ShaftLeft - 0.17), -27.55 + (15 * 4) - 1.6, 0.3, (Elevator(Number).GetPosition.Y + 12) - 2.5, -1, 1
+    
+    Buttons(12).AddWall GetTex("Button12"), (ShaftLeft - 0.17), -27.85 + (15 * 4), (ShaftLeft - 0.17), -27.55 + (15 * 4), 0.3, (Elevator(Number).GetPosition.Y + 12) - 3, -1, 1
+    Buttons(13).AddWall GetTex("Button13"), (ShaftLeft - 0.17), -27.85 + (15 * 4) - 0.4, (ShaftLeft - 0.17), -27.55 + (15 * 4) - 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 3, -1, 1
+    Buttons(14).AddWall GetTex("Button14"), (ShaftLeft - 0.17), -27.85 + (15 * 4) - 0.8, (ShaftLeft - 0.17), -27.55 + (15 * 4) - 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 3, -1, 1
+    Buttons(15).AddWall GetTex("Button15"), (ShaftLeft - 0.17), -27.85 + (15 * 4) - 1.2, (ShaftLeft - 0.17), -27.55 + (15 * 4) - 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 3, -1, 1
+    Buttons(16).AddWall GetTex("Button16"), (ShaftLeft - 0.17), -27.85 + (15 * 4) - 1.6, (ShaftLeft - 0.17), -27.55 + (15 * 4) - 1.6, 0.3, (Elevator(Number).GetPosition.Y + 12) - 3, -1, 1
+    
+    Buttons(7).AddWall GetTex("Button7"), (ShaftLeft - 0.17), -27.85 + (15 * 4), (ShaftLeft - 0.17), -27.55 + (15 * 4), 0.3, (Elevator(Number).GetPosition.Y + 12) - 3.5, -1, 1
+    Buttons(8).AddWall GetTex("Button8"), (ShaftLeft - 0.17), -27.85 + (15 * 4) - 0.4, (ShaftLeft - 0.17), -27.55 + (15 * 4) - 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 3.5, -1, 1
+    Buttons(9).AddWall GetTex("Button9"), (ShaftLeft - 0.17), -27.85 + (15 * 4) - 0.8, (ShaftLeft - 0.17), -27.55 + (15 * 4) - 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 3.5, -1, 1
+    Buttons(10).AddWall GetTex("Button10"), (ShaftLeft - 0.17), -27.85 + (15 * 4) - 1.2, (ShaftLeft - 0.17), -27.55 + (15 * 4) - 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 3.5, -1, 1
+    Buttons(11).AddWall GetTex("Button11"), (ShaftLeft - 0.17), -27.85 + (15 * 4) - 1.6, (ShaftLeft - 0.17), -27.55 + (15 * 4) - 1.6, 0.3, (Elevator(Number).GetPosition.Y + 12) - 3.5, -1, 1
+    
+    Buttons(2).AddWall GetTex("Button2"), (ShaftLeft - 0.17), -27.85 + (15 * 4), (ShaftLeft - 0.17), -27.55 + (15 * 4), 0.3, (Elevator(Number).GetPosition.Y + 12) - 4, -1, 1
+    Buttons(3).AddWall GetTex("Button3"), (ShaftLeft - 0.17), -27.85 + (15 * 4) - 0.4, (ShaftLeft - 0.17), -27.55 + (15 * 4) - 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 4, -1, 1
+    Buttons(4).AddWall GetTex("Button4"), (ShaftLeft - 0.17), -27.85 + (15 * 4) - 0.8, (ShaftLeft - 0.17), -27.55 + (15 * 4) - 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 4, -1, 1
+    Buttons(5).AddWall GetTex("Button5"), (ShaftLeft - 0.17), -27.85 + (15 * 4) - 1.2, (ShaftLeft - 0.17), -27.55 + (15 * 4) - 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 4, -1, 1
+    Buttons(6).AddWall GetTex("Button6"), (ShaftLeft - 0.17), -27.85 + (15 * 4) - 1.6, (ShaftLeft - 0.17), -27.55 + (15 * 4) - 1.6, 0.3, (Elevator(Number).GetPosition.Y + 12) - 4, -1, 1
+    
+    'Buttons(-1).AddWall GetTex("ButtonL"), (ShaftLeft - 0.17), -27.85 + (15 * 4), (ShaftLeft - 0.17), -27.55 + (15 * 4), 0.3, (Elevator(Number).GetPosition.y + 12) - 4.5, -1, 1
+    'Buttons(81).AddWall GetTex("Button81"), (ShaftLeft - 0.17), -27.85 + (15 * 4) - 0.4, (ShaftLeft - 0.17), -27.55 + (15 * 4) - 0.4, 0.3, (Elevator(Number).GetPosition.y + 12) - 4.5, -1, 1
+    Buttons(-1).AddWall GetTex("ButtonL"), (ShaftLeft - 0.17), -27.85 + (15 * 4) - 0.8, (ShaftLeft - 0.17), -27.55 + (15 * 4) - 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 4.5, -1, 1
+    'Buttons(83).AddWall GetTex("Button83"), (ShaftLeft - 0.17), -27.85 + (15 * 4) - 1.2, (ShaftLeft - 0.17), -27.55 + (15 * 4) - 1.2, 0.3, (Elevator(Number).GetPosition.y + 12) - 4.5, -1, 1
+    'Buttons(84).AddWall GetTex("Button84"), (ShaftLeft - 0.17), -27.85 + (15 * 4) - 1.6, (ShaftLeft - 0.17), -27.55 + (15 * 4) - 1.6, 0.3, (Elevator(Number).GetPosition.y + 12) - 4.5, -1, 1
+    
+    'Buttons(2).AddWall GetTex("Button2"), (ShaftLeft - 0.17), -27.85 + (15 * 4), (ShaftLeft - 0.17), -27.55 + (15 * 4), 0.3, (Elevator(Number).GetPosition.y + 12) - 5, -1, 1
+    'Buttons(39).AddWall GetTex("Button39"), (ShaftLeft - 0.17), -27.85 + (15 * 4) - 0.4, (ShaftLeft - 0.17), -27.55 + (15 * 4) - 0.4, 0.3, (Elevator(Number).GetPosition.y + 12) - 5, -1, 1
+    'Buttons(-1).AddWall GetTex("ButtonL"), (ShaftLeft - 0.17), -27.85 + (15 * 4) - 0.8, (ShaftLeft - 0.17), -27.55 + (15 * 4) - 0.8, 0.3, (Elevator(Number).GetPosition.y + 12) - 5, -1, 1
+    'Buttons(65).AddWall GetTex("Button65"), (ShaftLeft - 0.17), -27.85 + (15 * 4) - 1.2, (ShaftLeft - 0.17), -27.55 + (15 * 4) - 1.2, 0.3, (Elevator(Number).GetPosition.y + 12) - 5, -1, 1
+    'Buttons(79).AddWall GetTex("Button79"), (ShaftLeft - 0.17), -27.85 + (15 * 4) - 1.6, (ShaftLeft - 0.17), -27.55 + (15 * 4) - 1.6, 0.3, (Elevator(Number).GetPosition.y + 12) - 5, -1, 1
+    
+    Buttons(139).AddWall GetTex("ButtonOpen"), (ShaftLeft - 0.17), -27.85 + (15 * 4), (ShaftLeft - 0.17), -27.55 + (15 * 4), 0.3, (Elevator(Number).GetPosition.Y + 12) - 5.5, -1, 1
+    Buttons(140).AddWall GetTex("ButtonClose"), (ShaftLeft - 0.17), -27.85 + (15 * 4) - 0.4, (ShaftLeft - 0.17), -27.55 + (15 * 4) - 0.4, 0.3, (Elevator(Number).GetPosition.Y + 12) - 5.5, -1, 1
+    Buttons(141).AddWall GetTex("ButtonCancel"), (ShaftLeft - 0.17), -27.85 + (15 * 4) - 0.8, (ShaftLeft - 0.17), -27.55 + (15 * 4) - 0.8, 0.3, (Elevator(Number).GetPosition.Y + 12) - 5.5, -1, 1
+    Buttons(142).AddWall GetTex("ButtonStop"), (ShaftLeft - 0.17), -27.85 + (15 * 4) - 1.2, (ShaftLeft - 0.17), -27.55 + (15 * 4) - 1.2, 0.3, (Elevator(Number).GetPosition.Y + 12) - 5.5, -1, 1
+    Buttons(143).AddWall GetTex("ButtonAlarm"), (ShaftLeft - 0.17), -27.85 + (15 * 4) - 1.6, (ShaftLeft - 0.17), -27.55 + (15 * 4) - 1.6, 0.3, (Elevator(Number).GetPosition.Y + 12) - 5.5, -1, 1
+
+End If
+   
 End Sub
 
-Sub Elevator10Loop()
+Sub ElevatorLoop(Number As Single)
+On Error Resume Next
 
-elevatorstart(10) = Elevator(10).GetPosition
+If ElevatorEnable(Number) = 0 And GotoFloor(Number) = 0 And OpenElevator(Number) = 0 And FineTune(Number) = False Then Exit Sub
+
+elevatorstart(Number) = Elevator(Number).GetPosition
 
 'Find the floor that the elevator's on
-ElevatorFloor(10) = (Elevator(10).GetPosition.Y - 25) / 25
+ElevatorFloor(Number) = (Elevator(Number).GetPosition.Y - FloorHeight) / FloorHeight
       
       'If elevator goes below floor 2, then set elevatorfloor as 1
-      If ElevatorFloor(10) < 1 Then ElevatorFloor(10) = 1
+      If ElevatorFloor(Number) < 1 Then ElevatorFloor(Number) = 1
       
-      If GotoFloor(10) = ElevatorFloor(10) - 1 Then CurrentFloor(10) = ElevatorFloor(10)
-
-      'If GotoFloor(10) <> 0 And GotoFloor(10) > CurrentFloor(10) And ElevatorDirection(10) = 0 And ElevatorInsDoorL(ElevatorFloor2(10)).GetPosition.z <= 0 Then
-      If GotoFloor(10) <> 0 And GotoFloor(10) > CurrentFloor(10) And ElevatorDirection(10) = 0 And ElevatorDoor10L(ElevatorFloor2(10)).GetPosition.z <= 0 Then
-      ElevatorDirection(10) = 1
-      OriginalLocation(10) = CurrentFloorExact(10)
-      DistanceToTravel(10) = ((GotoFloor(10) * 25) + 25) - ((CurrentFloorExact(10) * 25) + 25)
-      If ElevatorSync(10) = True Then
+      If GotoFloor(Number) = ElevatorFloor(Number) - 1 Then CurrentFloor(Number) = ElevatorFloor(Number)
+
+      'If GotoFloor(Number) <> 0 And GotoFloor(Number) > CurrentFloor(Number) And ElevatorDirection(Number) = 0 And ElevatorInsDoorL(ElevatorFloor2(Number)).GetPosition.z <= 0 Then
+      If GotoFloor(Number) <> 0 And GotoFloor(Number) > CurrentFloor(Number) And ElevatorDirection(Number) = 0 And ElevatorDoorL(Number).GetPosition.z <= 0 Then
+      ElevatorDirection(Number) = 1
+      OriginalLocation(Number) = CurrentFloorExact(Number)
+      DistanceToTravel(Number) = ((GotoFloor(Number) * FloorHeight) + FloorHeight) - ((CurrentFloorExact(Number) * FloorHeight) + FloorHeight)
+      If ElevatorSync(Number) = True Then
       Room(CameraFloor).Enable False
-      For i10 = 1 To 10
-      CallButtons(i10).Enable False
-      Next i10
-      ElevatorDoor1L(CameraFloor).Enable False
-      ElevatorDoor1R(CameraFloor).Enable False
-      ElevatorDoor2L(CameraFloor).Enable False
-      ElevatorDoor2R(CameraFloor).Enable False
-      ElevatorDoor3L(CameraFloor).Enable False
-      ElevatorDoor3R(CameraFloor).Enable False
-      ElevatorDoor4L(CameraFloor).Enable False
-      ElevatorDoor4R(CameraFloor).Enable False
-      ElevatorDoor5L(CameraFloor).Enable False
-      ElevatorDoor5R(CameraFloor).Enable False
-      ElevatorDoor6L(CameraFloor).Enable False
-      ElevatorDoor6R(CameraFloor).Enable False
-      ElevatorDoor7L(CameraFloor).Enable False
-      ElevatorDoor7R(CameraFloor).Enable False
-      ElevatorDoor8L(CameraFloor).Enable False
-      ElevatorDoor8R(CameraFloor).Enable False
-      ElevatorDoor9L(CameraFloor).Enable False
-      ElevatorDoor9R(CameraFloor).Enable False
-      ElevatorDoor10L(CameraFloor).Enable False
-      ElevatorDoor10R(CameraFloor).Enable False
+      For ElevTemp(Number) = 1 To 40
+      CallButtons(ElevTemp(Number)).Enable False
+      Next ElevTemp(Number)
+      For ElevTemp(Number) = 1 To 40
+      ElevatorDoorL(ElevTemp(Number)).Enable False
+      ElevatorDoorR(ElevTemp(Number)).Enable False
+      Next ElevTemp(Number)
       DestroyObjects (CameraFloor)
       ShaftsFloor(CameraFloor).Enable False
       Atmos.SkyBox_Enable False
@@ -3825,36 +3248,21 @@ ElevatorFloor(10) = (Elevator(10).GetPosition.Y - 25) / 25
       If CameraFloor > 1 Then Stairs(CameraFloor - 1).Enable False
       End If
       End If
-      'If GotoFloor(10) <> 0 And GotoFloor(10) < CurrentFloor(10) And ElevatorDirection(10) = 0 And ElevatorInsDoorL(ElevatorFloor2(10)).GetPosition.z <= 0 Then
-      If GotoFloor(10) <> 0 And GotoFloor(10) < CurrentFloor(10) And ElevatorDirection(10) = 0 And ElevatorDoor10L(ElevatorFloor2(10)).GetPosition.z <= 0 Then
-      ElevatorDirection(10) = -1
-      OriginalLocation(10) = CurrentFloorExact(10)
-      DistanceToTravel(10) = ((CurrentFloorExact(10) * 25) + 25) - ((GotoFloor(10) * 25) + 25)
-      If ElevatorSync(10) = True Then
+      'If GotoFloor(Number) <> 0 And GotoFloor(Number) < CurrentFloor(Number) And ElevatorDirection(Number) = 0 And ElevatorInsDoorL(ElevatorFloor2(Number)).GetPosition.z <= 0 Then
+      If GotoFloor(Number) <> 0 And GotoFloor(Number) < CurrentFloor(Number) And ElevatorDirection(Number) = 0 And ElevatorDoorL(Number).GetPosition.z <= 0 Then
+      Elevator(Number).Enable True
+      ElevatorDirection(Number) = -1
+      OriginalLocation(Number) = CurrentFloorExact(Number)
+      DistanceToTravel(Number) = ((CurrentFloorExact(Number) * FloorHeight) + FloorHeight) - ((GotoFloor(Number) * FloorHeight) + FloorHeight)
+      If ElevatorSync(Number) = True Then
       Room(CameraFloor).Enable False
-      For i10 = 1 To 10
-      CallButtons(i10).Enable False
-      Next i10
-      ElevatorDoor1L(CameraFloor).Enable False
-      ElevatorDoor1R(CameraFloor).Enable False
-      ElevatorDoor2L(CameraFloor).Enable False
-      ElevatorDoor2R(CameraFloor).Enable False
-      ElevatorDoor3L(CameraFloor).Enable False
-      ElevatorDoor3R(CameraFloor).Enable False
-      ElevatorDoor4L(CameraFloor).Enable False
-      ElevatorDoor4R(CameraFloor).Enable False
-      ElevatorDoor5L(CameraFloor).Enable False
-      ElevatorDoor5R(CameraFloor).Enable False
-      ElevatorDoor6L(CameraFloor).Enable False
-      ElevatorDoor6R(CameraFloor).Enable False
-      ElevatorDoor7L(CameraFloor).Enable False
-      ElevatorDoor7R(CameraFloor).Enable False
-      ElevatorDoor8L(CameraFloor).Enable False
-      ElevatorDoor8R(CameraFloor).Enable False
-      ElevatorDoor9L(CameraFloor).Enable False
-      ElevatorDoor9R(CameraFloor).Enable False
-      ElevatorDoor10L(CameraFloor).Enable False
-      ElevatorDoor10R(CameraFloor).Enable False
+      For ElevTemp(Number) = 1 To 40
+      CallButtons(ElevTemp(Number)).Enable False
+      Next ElevTemp(Number)
+      For ElevTemp(Number) = 1 To 40
+      ElevatorDoorL(ElevTemp(Number)).Enable False
+      ElevatorDoorR(ElevTemp(Number)).Enable False
+      Next ElevTemp(Number)
       DestroyObjects (CameraFloor)
       ShaftsFloor(CameraFloor).Enable False
       Atmos.SkyBox_Enable False
@@ -3864,328 +3272,353 @@ ElevatorFloor(10) = (Elevator(10).GetPosition.Y - 25) / 25
       End If
       End If
       
-       CurrentFloor(10) = Int((elevatorstart(10).Y - 25) / 25)
-       CurrentFloorExact(10) = (elevatorstart(10).Y - 25) / 25
-       'CurrentFloor(10) = (Elevator(10).GetPosition.y / 25) - 1
-       'CurrentFloorExact(10) = Int((Elevator(10).GetPosition.y / 25) - 1)
+       CurrentFloor(Number) = Int((elevatorstart(Number).Y - FloorHeight) / FloorHeight)
+       CurrentFloorExact(Number) = (elevatorstart(Number).Y - FloorHeight) / FloorHeight
+       'CurrentFloor(Number) = (Elevator(Number).GetPosition.y / FloorHeight) - 1
+       'CurrentFloorExact(Number) = Int((Elevator(Number).GetPosition.y / FloorHeight) - 1)
 
-       'Form2.Text1.Text = "Sound Location=7.75,20,7 " + vbCrLf + "Elevator Floor=" + Str$(ElevatorFloor(10)) + vbCrLf + "Camera Floor=" + Str$(CameraFloor) + vbCrLf + "Current Location= " + Str$(Int(Camera.GetPosition.x)) + "," + Str$(Int(Camera.GetPosition.y)) + "," + Str$(Int(Camera.GetPosition.z)) + vbCrLf + "Distance to Travel=" + Str$(DistanceToTravel(10)) + vbCrLf + "Destination=" + Str$(Destination) + vbCrLf + "Rate=" + Str$(ElevatorEnable(10) / 5)
+       'Form2.Text1.Text = "Sound Location=7.75,20,7 " + vbCrLf + "Elevator Floor=" + Str$(ElevatorFloor(Number)) + vbCrLf + "Camera Floor=" + Str$(CameraFloor) + vbCrLf + "Current Location= " + Str$(Int(Camera.GetPosition.x)) + "," + Str$(Int(Camera.GetPosition.y)) + "," + Str$(Int(Camera.GetPosition.z)) + vbCrLf + "Distance to Travel=" + Str$(DistanceToTravel(Number)) + vbCrLf + "Destination=" + Str$(Destination) + vbCrLf + "Rate=" + Str$(ElevatorEnable(Number) / 5)
         
-        If ElevatorEnable(10) >= 0 And ElevatorDirection(10) = 1 Then
+        If ElevatorEnable(Number) >= 0 And ElevatorDirection(Number) = 1 Then
         'sound
-        If ElevatorSounds(10).PlayState <> TV_PLAYSTATE_PLAYING And ElevatorCheck(10) = 0 And GotoFloor(10) <> ElevatorFloor(10) Then
-        ElevatorSounds(10).Loop_ = False
-        ElevatorSounds(10).Load App.Path + "\elevstart.wav"
-        ElevatorSounds(10).Volume = 0
-        'ElevatorSounds(10).maxDistance = 100
-        'Call ElevatorSounds(10).SetConeOrientation(0, 0, 90)
-        'ElevatorSounds(10).ConeOutsideVolume = 0
-        'Call ElevatorSounds(10).SetPosition(-20.25, Elevator1(10).GetPosition.Y + 20, -23)
-        ElevatorSounds(10).Play
-        ElevatorCheck(10) = 1
-        End If
-        If ElevatorSounds(10).PlayState = TV_PLAYSTATE_ENDED And ElevatorCheck(10) = 1 Then
-        ElevatorSounds(10).Load App.Path + "\elevmove.wav"
-        ElevatorSounds(10).Loop_ = True
-        ElevatorSounds(10).Play
+        If ElevatorSounds(Number).PlayState <> TV_PLAYSTATE_PLAYING And ElevatorCheck(Number) = 0 And GotoFloor(Number) <> ElevatorFloor(Number) Then
+        ElevatorSounds(Number).Loop_ = False
+        ElevatorSounds(Number).Load App.Path + "\elevstart.wav"
+        ElevatorSounds(Number).Volume = 0
+        'ElevatorSounds(Number).maxDistance = 100
+        'Call ElevatorSounds(Number).SetConeOrientation(0, 0, 90)
+        'ElevatorSounds(Number).ConeOutsideVolume = 0
+        'Call ElevatorSounds(Number).SetPosition(-20.25, Elevator1(Number).GetPosition.Y + 20, -23)
+        ElevatorSounds(Number).Play
+        ElevatorCheck(Number) = 1
+        End If
+        If ElevatorSounds(Number).PlayState = TV_PLAYSTATE_ENDED And ElevatorCheck(Number) = 1 Then
+        ElevatorSounds(Number).Load App.Path + "\elevmove.wav"
+        ElevatorSounds(Number).Loop_ = True
+        ElevatorSounds(Number).Play
         End If
         'movement
-        Elevator(10).MoveRelative 0, (ElevatorEnable(10) / 5), 0
-        ElevatorInsDoorL(10).MoveRelative 0, (ElevatorEnable(10) / 5), 0
-        ElevatorInsDoorR(10).MoveRelative 0, (ElevatorEnable(10) / 5), 0
-        FloorIndicator(10).MoveRelative 0, (ElevatorEnable(10) / 5), 0
-        Plaque(10).MoveRelative 0, (ElevatorEnable(10) / 5), 0
-        For i10 = -1 To 138
-        Buttons10(i10).MoveRelative 0, (ElevatorEnable(10) / 5), 0
-        Next i10
-        If ElevatorSync(10) = True Then Camera.MoveRelative 0, (ElevatorEnable(10) / 5), 0
-        'ElevatorSounds(10).SetPosition -20.25, Elevator(10).GetPosition.Y + 20, -23
-        ''ElevatorMusic(10).SetPosition -20.25, Elevator(10).GetPosition.Y + 20, -23
-        ElevatorEnable(10) = ElevatorEnable(10) + 0.25
-        If ElevatorEnable(10) <= 15 Then StoppingDistance(10) = CurrentFloorExact(10) - OriginalLocation(10) + 0.4
-        If ElevatorEnable(10) > 15 Then ElevatorEnable(10) = 15
-        Destination(10) = ((OriginalLocation(10) * 25) + 25) + DistanceToTravel(10) - 35
-        If GotoFloor(10) <> 0 And elevatorstart(10).Y >= (Destination(10) - (StoppingDistance(10) * 25) + 25) Then ElevatorDirection(10) = -1: ElevatorCheck(10) = 0
-        End If
-      
-        If ElevatorEnable(10) > 0 And ElevatorDirection(10) = -1 Then
+        Elevator(Number).MoveRelative 0, (ElevatorEnable(Number) / ElevatorSpeed), 0
+        ElevatorInsDoorL(Number).MoveRelative 0, (ElevatorEnable(Number) / ElevatorSpeed), 0
+        ElevatorInsDoorR(Number).MoveRelative 0, (ElevatorEnable(Number) / ElevatorSpeed), 0
+        FloorIndicator(Number).MoveRelative 0, (ElevatorEnable(Number) / ElevatorSpeed), 0
+        Plaque(Number).MoveRelative 0, (ElevatorEnable(Number) / ElevatorSpeed), 0
+        For ElevTemp(Number) = -1 To 144
+        If ButtonsEnabled = True And ElevatorSync(Number) = True Then Buttons(ElevTemp(Number)).MoveRelative 0, (ElevatorEnable(Number) / ElevatorSpeed), 0
+        Next ElevTemp(Number)
+        If ElevatorSync(Number) = True Then Camera.MoveRelative 0, (ElevatorEnable(Number) / ElevatorSpeed), 0
+        'ElevatorSounds(Number).SetPosition -20.25, Elevator(Number).GetPosition.Y + 20, -23
+        ''ElevatorMusic(Number).SetPosition -20.25, Elevator(Number).GetPosition.Y + 20, -23
+        ElevatorEnable(Number) = ElevatorEnable(Number) + 0.25
+        If ElevatorEnable(Number) <= 15 Then StoppingDistance(Number) = CurrentFloorExact(Number) - OriginalLocation(Number) + 0.4
+        If ElevatorEnable(Number) > 15 Then ElevatorEnable(Number) = 15
+        Destination(Number) = ((OriginalLocation(Number) * FloorHeight) + FloorHeight) + DistanceToTravel(Number) - 35
+        If GotoFloor(Number) <> 0 And elevatorstart(Number).Y >= (Destination(Number) - (StoppingDistance(Number) * FloorHeight) + FloorHeight) Then ElevatorDirection(Number) = -1: ElevatorCheck(Number) = 0
+        End If
+      
+        If ElevatorEnable(Number) > 0 And ElevatorDirection(Number) = -1 Then
         'Sounds
-        If ElevatorSounds(10).PlayState = TV_PLAYSTATE_PLAYING And ElevatorCheck2(10) = 0 And FineTune(10) = False Then
-        ElevatorSounds(10).Loop_ = False
-        ElevatorSounds(10).Stop_
+        If ElevatorSounds(Number).PlayState = TV_PLAYSTATE_PLAYING And ElevatorCheck2(Number) = 0 And FineTune(Number) = False Then
+        ElevatorSounds(Number).Loop_ = False
+        ElevatorSounds(Number).Stop_
         End If
-        If ElevatorSounds(10).PlayState <> TV_PLAYSTATE_PLAYING And ElevatorCheck2(10) = 0 And FineTune(10) = False Then
-        ElevatorSounds(10).Loop_ = False
-        ElevatorSounds(10).Load App.Path + "\elevstop.wav"
-        ElevatorSounds(10).Play
-        ElevatorCheck2(10) = 1
+        If ElevatorSounds(Number).PlayState <> TV_PLAYSTATE_PLAYING And ElevatorCheck2(Number) = 0 And FineTune(Number) = False Then
+        ElevatorSounds(Number).Loop_ = False
+        ElevatorSounds(Number).Load App.Path + "\elevstop.wav"
+        ElevatorSounds(Number).Play
+        ElevatorCheck2(Number) = 1
         End If
         'Movement
-        Elevator(10).MoveRelative 0, (ElevatorEnable(10) / 5), 0
-        ElevatorInsDoorL(10).MoveRelative 0, (ElevatorEnable(10) / 5), 0
-        ElevatorInsDoorR(10).MoveRelative 0, (ElevatorEnable(10) / 5), 0
-        FloorIndicator(10).MoveRelative 0, (ElevatorEnable(10) / 5), 0
-        Plaque(10).MoveRelative 0, (ElevatorEnable(10) / 5), 0
-        For i10 = -1 To 138
-        Buttons10(i10).MoveRelative 0, (ElevatorEnable(10) / 5), 0
-        Next i10
-        If ElevatorSync(10) = True Then Camera.MoveRelative 0, (ElevatorEnable(10) / 5), 0
+        Elevator(Number).MoveRelative 0, (ElevatorEnable(Number) / ElevatorSpeed), 0
+        ElevatorInsDoorL(Number).MoveRelative 0, (ElevatorEnable(Number) / ElevatorSpeed), 0
+        ElevatorInsDoorR(Number).MoveRelative 0, (ElevatorEnable(Number) / ElevatorSpeed), 0
+        FloorIndicator(Number).MoveRelative 0, (ElevatorEnable(Number) / ElevatorSpeed), 0
+        Plaque(Number).MoveRelative 0, (ElevatorEnable(Number) / ElevatorSpeed), 0
+        For ElevTemp(Number) = -1 To 144
+        If ButtonsEnabled = True And ElevatorSync(Number) = True Then Buttons(ElevTemp(Number)).MoveRelative 0, (ElevatorEnable(Number) / ElevatorSpeed), 0
+        Next ElevTemp(Number)
+        If ElevatorSync(Number) = True Then Camera.MoveRelative 0, (ElevatorEnable(Number) / ElevatorSpeed), 0
         
-        'ElevatorSounds(10).SetPosition -20.25, Elevator(10).GetPosition.Y + 20, -23
-        ''ElevatorMusic(10).SetPosition -20.25, Elevator(10).GetPosition.Y + 20, -23
-        ElevatorEnable(10) = ElevatorEnable(10) - 0.25
-        If ElevatorEnable(10) < 0 Then ElevatorEnable(10) = 0
-        If ElevatorEnable(10) = 0 Then ElevatorDirection(10) = 0
-        If GotoFloor(10) <> 0 Then ElevatorCheck(10) = 0: FineTune(10) = True
-        End If
-      
-        If ElevatorEnable(10) <= 0 And ElevatorDirection(10) = -1 Then
-        If ElevatorSounds(10).PlayState <> TV_PLAYSTATE_PLAYING And ElevatorCheck(10) = 0 Then
-        ElevatorSounds(10).Loop_ = False
-        ElevatorSounds(10).Load App.Path + "\elevstart.wav"
-        ElevatorSounds(10).Volume = 0
-        'ElevatorSounds(10).maxDistance = 100
-        'Call ElevatorSounds(10).SetConeOrientation(0, 0, 90)
-        'ElevatorSounds(10).ConeOutsideVolume = 0
-        'Call ElevatorSounds(10).SetPosition(-20.25, Elevator(10).GetPosition.Y + 20, -23)
-        ElevatorSounds(10).Play
-        ElevatorCheck(10) = 1
-        End If
-        If ElevatorSounds(10).PlayState = TV_PLAYSTATE_ENDED And ElevatorCheck(10) = 1 Then
-        ElevatorSounds(10).Load App.Path + "\elevmove.wav"
-        ElevatorSounds(10).Loop_ = True
-        ElevatorSounds(10).Play
-        End If
-        Elevator(10).MoveRelative 0, (ElevatorEnable(10) / 5), 0
-        ElevatorInsDoorL(10).MoveRelative 0, (ElevatorEnable(10) / 5), 0
-        ElevatorInsDoorR(10).MoveRelative 0, (ElevatorEnable(10) / 5), 0
-        FloorIndicator(10).MoveRelative 0, (ElevatorEnable(10) / 5), 0
-        Plaque(10).MoveRelative 0, (ElevatorEnable(10) / 5), 0
-        For i10 = -1 To 138
-        Buttons10(i10).MoveRelative 0, (ElevatorEnable(10) / 5), 0
-        Next i10
-        If ElevatorSync(10) = True Then Camera.MoveRelative 0, (ElevatorEnable(10) / 5), 0
-        'ElevatorSounds(10).SetPosition -20.25, Elevator(10).GetPosition.Y + 20, -23
-        ''ElevatorMusic(10).SetPosition -20.25, Elevator(10).GetPosition.Y + 20, -23
-        ElevatorEnable(10) = ElevatorEnable(10) - 0.25
-        If ElevatorEnable(10) >= -15 Then StoppingDistance(10) = OriginalLocation(10) - CurrentFloorExact(10)
-        If ElevatorEnable(10) < -15 Then ElevatorEnable(10) = -15
-        Destination(10) = ((OriginalLocation(10) * 25) + 25) - DistanceToTravel(10)
-        If GotoFloor(10) <> 0 And elevatorstart(10).Y <= (Destination(10) + (StoppingDistance(10) * 25) + 25) Then ElevatorDirection(10) = 1: ElevatorCheck(10) = 0
-        End If
-      
-        If ElevatorEnable(10) < 0 And ElevatorDirection(10) = 1 Then
-        If ElevatorSounds(10).PlayState = TV_PLAYSTATE_PLAYING And ElevatorCheck2(10) = 0 And FineTune(10) = False Then
-        ElevatorSounds(10).Loop_ = False
-        ElevatorSounds(10).Stop_
-        End If
-        If ElevatorSounds(10).PlayState <> TV_PLAYSTATE_PLAYING And ElevatorCheck2(10) = 0 And FineTune(10) = False Then
-        ElevatorSounds(10).Loop_ = False
-        ElevatorSounds(10).Load App.Path + "\elevstop.wav"
-        ElevatorSounds(10).Play
-        ElevatorCheck2(10) = 1
-        End If
-        Elevator(10).MoveRelative 0, (ElevatorEnable(10) / 5), 0
-        ElevatorInsDoorL(10).MoveRelative 0, (ElevatorEnable(10) / 5), 0
-        ElevatorInsDoorR(10).MoveRelative 0, (ElevatorEnable(10) / 5), 0
-        FloorIndicator(10).MoveRelative 0, (ElevatorEnable(10) / 5), 0
-        Plaque(10).MoveRelative 0, (ElevatorEnable(10) / 5), 0
-        For i10 = -1 To 138
-        Buttons10(i10).MoveRelative 0, (ElevatorEnable(10) / 5), 0
-        Next i10
-        If ElevatorSync(10) = True Then Camera.MoveRelative 0, (ElevatorEnable(10) / 5), 0
-        'ElevatorSounds(10).SetPosition -20.25, Elevator(10).GetPosition.Y + 20, -23
-        ''ElevatorMusic(10).SetPosition -20.25, Elevator(10).GetPosition.Y + 20, -23
-        ElevatorEnable(10) = ElevatorEnable(10) + 0.25
-        If ElevatorEnable(10) > 0 Then ElevatorEnable(10) = 0
-        If ElevatorEnable(10) = 0 Then ElevatorDirection(10) = 0
-        If GotoFloor(10) <> 0 Then ElevatorCheck(10) = 0: FineTune(10) = True
-        End If
-      
-      If FineTune(10) = True And ElevatorEnable(10) = 0 And elevatorstart(10).Y > (GotoFloor(10) * 25) + 25 + -0.3 And elevatorstart(10).Y < (GotoFloor(10) * 25) + 25 + 0.3 Then
-      FineTune(10) = False
-      If ElevatorSync(10) = True Then
+        'ElevatorSounds(Number).SetPosition -20.25, Elevator(Number).GetPosition.Y + 20, -23
+        ''ElevatorMusic(Number).SetPosition -20.25, Elevator(Number).GetPosition.Y + 20, -23
+        ElevatorEnable(Number) = ElevatorEnable(Number) - 0.25
+        If ElevatorEnable(Number) < 0 Then ElevatorEnable(Number) = 0
+        If ElevatorEnable(Number) = 0 Then ElevatorDirection(Number) = 0
+        If GotoFloor(Number) <> 0 Then ElevatorCheck(Number) = 0: FineTune(Number) = True
+        End If
+      
+        If ElevatorEnable(Number) <= 0 And ElevatorDirection(Number) = -1 Then
+        If ElevatorSounds(Number).PlayState <> TV_PLAYSTATE_PLAYING And ElevatorCheck(Number) = 0 Then
+        ElevatorSounds(Number).Loop_ = False
+        ElevatorSounds(Number).Load App.Path + "\elevstart.wav"
+        ElevatorSounds(Number).Volume = 0
+        'ElevatorSounds(Number).maxDistance = 100
+        'Call ElevatorSounds(Number).SetConeOrientation(0, 0, 90)
+        'ElevatorSounds(Number).ConeOutsideVolume = 0
+        'Call ElevatorSounds(Number).SetPosition(-20.25, Elevator(Number).GetPosition.Y + 20, -23)
+        ElevatorSounds(Number).Play
+        ElevatorCheck(Number) = 1
+        End If
+        If ElevatorSounds(Number).PlayState = TV_PLAYSTATE_ENDED And ElevatorCheck(Number) = 1 Then
+        ElevatorSounds(Number).Load App.Path + "\elevmove.wav"
+        ElevatorSounds(Number).Loop_ = True
+        ElevatorSounds(Number).Play
+        End If
+        Elevator(Number).MoveRelative 0, (ElevatorEnable(Number) / ElevatorSpeed), 0
+        ElevatorInsDoorL(Number).MoveRelative 0, (ElevatorEnable(Number) / ElevatorSpeed), 0
+        ElevatorInsDoorR(Number).MoveRelative 0, (ElevatorEnable(Number) / ElevatorSpeed), 0
+        FloorIndicator(Number).MoveRelative 0, (ElevatorEnable(Number) / ElevatorSpeed), 0
+        Plaque(Number).MoveRelative 0, (ElevatorEnable(Number) / ElevatorSpeed), 0
+        For ElevTemp(Number) = -1 To 144
+        If ButtonsEnabled = True And ElevatorSync(Number) = True Then Buttons(ElevTemp(Number)).MoveRelative 0, (ElevatorEnable(Number) / ElevatorSpeed), 0
+        Next ElevTemp(Number)
+        If ElevatorSync(Number) = True Then Camera.MoveRelative 0, (ElevatorEnable(Number) / ElevatorSpeed), 0
+        'ElevatorSounds(Number).SetPosition -20.25, Elevator(Number).GetPosition.Y + 20, -23
+        ''ElevatorMusic(Number).SetPosition -20.25, Elevator(Number).GetPosition.Y + 20, -23
+        ElevatorEnable(Number) = ElevatorEnable(Number) - 0.25
+        If ElevatorEnable(Number) >= -15 Then StoppingDistance(Number) = OriginalLocation(Number) - CurrentFloorExact(Number)
+        If ElevatorEnable(Number) < -15 Then ElevatorEnable(Number) = -15
+        Destination(Number) = ((OriginalLocation(Number) * FloorHeight) + FloorHeight) - DistanceToTravel(Number)
+        If GotoFloor(Number) <> 0 And elevatorstart(Number).Y <= (Destination(Number) + (StoppingDistance(Number) * FloorHeight) + FloorHeight) Then ElevatorDirection(Number) = 1: ElevatorCheck(Number) = 0
+        End If
+      
+        If ElevatorEnable(Number) < 0 And ElevatorDirection(Number) = 1 Then
+        If ElevatorSounds(Number).PlayState = TV_PLAYSTATE_PLAYING And ElevatorCheck2(Number) = 0 And FineTune(Number) = False Then
+        ElevatorSounds(Number).Loop_ = False
+        ElevatorSounds(Number).Stop_
+        End If
+        If ElevatorSounds(Number).PlayState <> TV_PLAYSTATE_PLAYING And ElevatorCheck2(Number) = 0 And FineTune(Number) = False Then
+        ElevatorSounds(Number).Loop_ = False
+        ElevatorSounds(Number).Load App.Path + "\elevstop.wav"
+        ElevatorSounds(Number).Play
+        ElevatorCheck2(Number) = 1
+        End If
+        Elevator(Number).MoveRelative 0, (ElevatorEnable(Number) / ElevatorSpeed), 0
+        ElevatorInsDoorL(Number).MoveRelative 0, (ElevatorEnable(Number) / ElevatorSpeed), 0
+        ElevatorInsDoorR(Number).MoveRelative 0, (ElevatorEnable(Number) / ElevatorSpeed), 0
+        FloorIndicator(Number).MoveRelative 0, (ElevatorEnable(Number) / ElevatorSpeed), 0
+        Plaque(Number).MoveRelative 0, (ElevatorEnable(Number) / ElevatorSpeed), 0
+        For ElevTemp(Number) = -1 To 144
+        If ButtonsEnabled = True And ElevatorSync(Number) = True Then Buttons(ElevTemp(Number)).MoveRelative 0, (ElevatorEnable(Number) / ElevatorSpeed), 0
+        Next ElevTemp(Number)
+        If ElevatorSync(Number) = True Then Camera.MoveRelative 0, (ElevatorEnable(Number) / ElevatorSpeed), 0
+        'ElevatorSounds(Number).SetPosition -20.25, Elevator(Number).GetPosition.Y + 20, -23
+        ''ElevatorMusic(Number).SetPosition -20.25, Elevator(Number).GetPosition.Y + 20, -23
+        ElevatorEnable(Number) = ElevatorEnable(Number) + 0.25
+        If ElevatorEnable(Number) > 0 Then ElevatorEnable(Number) = 0
+        If ElevatorEnable(Number) = 0 Then ElevatorDirection(Number) = 0
+        If GotoFloor(Number) <> 0 Then ElevatorCheck(Number) = 0: FineTune(Number) = True
+        End If
+      
+      If FineTune(Number) = True And ElevatorEnable(Number) = 0 And elevatorstart(Number).Y > (GotoFloor(Number) * FloorHeight) + FloorHeight + -0.3 And elevatorstart(Number).Y < (GotoFloor(Number) * FloorHeight) + FloorHeight + 0.3 Then
+      FineTune(Number) = False
       Room(CameraFloor).Enable True
-      ElevatorDoor1L(CameraFloor).Enable True
-      ElevatorDoor1R(CameraFloor).Enable True
-      ElevatorDoor2L(CameraFloor).Enable True
-      ElevatorDoor2R(CameraFloor).Enable True
-      ElevatorDoor3L(CameraFloor).Enable True
-      ElevatorDoor3R(CameraFloor).Enable True
-      ElevatorDoor4L(CameraFloor).Enable True
-      ElevatorDoor4R(CameraFloor).Enable True
-      ElevatorDoor5L(CameraFloor).Enable True
-      ElevatorDoor5R(CameraFloor).Enable True
-      ElevatorDoor6L(CameraFloor).Enable True
-      ElevatorDoor6R(CameraFloor).Enable True
-      ElevatorDoor7L(CameraFloor).Enable True
-      ElevatorDoor7R(CameraFloor).Enable True
-      ElevatorDoor8L(CameraFloor).Enable True
-      ElevatorDoor8R(CameraFloor).Enable True
-      ElevatorDoor9L(CameraFloor).Enable True
-      ElevatorDoor9R(CameraFloor).Enable True
-      ElevatorDoor10L(CameraFloor).Enable True
-      ElevatorDoor10R(CameraFloor).Enable True
-      For i10 = 1 To 10
-      CallButtons(i10).Enable True
-      Next i10
+      If ElevatorSync(Number) = True Then
+      For ElevTemp(Number) = 1 To 40
+      ElevatorDoorL(ElevTemp(Number)).Enable True
+      ElevatorDoorR(ElevTemp(Number)).Enable True
+      Next ElevTemp(Number)
+      For ElevTemp(Number) = 1 To 40
+      CallButtons(ElevTemp(Number)).Enable True
+      Next ElevTemp(Number)
       ShaftsFloor(CameraFloor).Enable True
       Stairs(CameraFloor).Enable True
       Atmos.SkyBox_Enable True
       'If CameraFloor = 137 Then Shafts.Enable True
+      Call InitRealtime(CameraFloor)
       InitObjectsForFloor (CameraFloor)
       If CameraFloor < 138 Then Stairs(CameraFloor + 1).Enable True
       If CameraFloor > 1 Then Stairs(CameraFloor - 1).Enable True
       End If
-      GotoFloor(10) = 0
-      OpenElevator(10) = 1
-      ElevatorCheck(10) = 0
-      ElevatorCheck2(10) = 0
-      ElevatorCheck3(10) = 0
-      ElevatorCheck4(10) = 0
-      If CameraFloor > 1 Then Camera.SetPosition Camera.GetPosition.X, (CameraFloor * 25) + 25 + 10, Camera.GetPosition.z
-      If CameraFloor = 1 And FloorIndicatorText(10) <> "M" Then Camera.SetPosition Camera.GetPosition.X, 10, Camera.GetPosition.z
-      End If
-      
-      If FineTune(10) = True Then
-      If ElevatorCheck3(10) = 0 Then
-      ElevatorSounds(10).Load App.Path + "\ding1.wav"
-      ElevatorSounds(10).Play
-      ElevatorCheck3(10) = 1
-        For i10 = -1 To 138
-        Buttons10(i10).SetColor RGBA(1, 1, 1, 1)
-        Next i10
-      End If
-      If elevatorstart(10).Y < (GotoFloor(10) * 25) + 25 Then
-      Elevator(10).MoveRelative 0, 0.2, 0
-      ElevatorInsDoorL(10).MoveRelative 0, 0.2, 0
-      ElevatorInsDoorR(10).MoveRelative 0, 0.2, 0
-      Plaque(10).MoveRelative 0, 0.2, 0
-        For i10 = -1 To 138
-        Buttons10(i10).MoveRelative 0, 0.2, 0
-        Next i10
-        FloorIndicator(10).MoveRelative 0, 0.2, 0
-        If ElevatorSync(10) = True Then Camera.MoveRelative 0, 0.2, 0
-      End If
-      If elevatorstart(10).Y > (GotoFloor(10) * 25) + 25 Then
-      Elevator(10).MoveRelative 0, -0.2, 0
-      ElevatorInsDoorL(10).MoveRelative 0, -0.2, 0
-      ElevatorInsDoorR(10).MoveRelative 0, -0.2, 0
-      Plaque(10).MoveRelative 0, -0.2, 0
-        For i10 = -1 To 138
-        Buttons10(i10).MoveRelative 0, -0.2, 0
-        Next i10
-        FloorIndicator(10).MoveRelative 0, -0.2, 0
-        If ElevatorSync(10) = True Then Camera.MoveRelative 0, -0.2, 0
-      End If
-      End If
-      
-      If OpenElevator(10) = 1 Then
-      'If ElevatorInsDoorL(ElevatorFloor2(10)).GetPosition.z >= 4 Then OpenElevator(10) = 0: GoTo OpenElevator1
-      If ElevatorDoor10L(ElevatorFloor2(10)).GetPosition.z >= 4 Then OpenElevator(10) = 0: GoTo OpenElevator1
-      If ElevatorCheck4(10) = 0 Then
-        If ElevatorSounds(10).PlayState = TV_PLAYSTATE_PLAYING Then
-        ElevatorSounds(10).Stop_
-        End If
-        ElevatorSounds(10).Loop_ = False
-        ElevatorSounds(10).Load App.Path + "\elevatoropen.wav"
-        ElevatorSounds(10).Volume = 0
-        'ElevatorSounds(10).maxDistance = 1000
-        'Call ElevatorSounds(10).SetConeOrientation(0, -5, 0)
-        'ElevatorSounds(10).ConeOutsideVolume = 0
-        'Call ElevatorSounds(10).SetPosition(-20.25, Elevator(10).GetPosition.Y, -23)
-        ElevatorSounds(10).Play
-        ElevatorCheck4(10) = 1
-      End If
-      OpenElevatorLoc(10) = OpenElevatorLoc(10) + 0.02
-      ElevatorDoor10L(ElevatorFloor2(10)).MoveRelative OpenElevatorLoc(10), 0, 0
-      ElevatorDoor10R(ElevatorFloor2(10)).MoveRelative -OpenElevatorLoc(10), 0, 0
-      ElevatorInsDoorL(10).MoveRelative OpenElevatorLoc(10), 0, 0
-      ElevatorInsDoorR(10).MoveRelative -OpenElevatorLoc(10), 0, 0
-      'If ElevatorInsDoorL(ElevatorFloor2(10)).GetPosition.z > 1 Then OpenElevator(10) = 2
-      If ElevatorDoor10L(ElevatorFloor2(10)).GetPosition.z > 1 Then OpenElevator(10) = 2
+      GotoFloor(Number) = 0
+      OpenElevator(Number) = 1
+      ElevatorCheck(Number) = 0
+      ElevatorCheck2(Number) = 0
+      ElevatorCheck3(Number) = 0
+      ElevatorCheck4(Number) = 0
+      If CameraFloor > 1 And ElevatorSync(Number) = True Then Camera.SetPosition Camera.GetPosition.X, (CameraFloor * FloorHeight) + FloorHeight + 10, Camera.GetPosition.z
+      If CameraFloor = 1 And ElevatorSync(Number) = True And FloorIndicatorText(Number) <> "M" Then Camera.SetPosition Camera.GetPosition.X, 10, Camera.GetPosition.z
+      End If
+      
+      If FineTune(Number) = True Then
+      If ElevatorCheck3(Number) = 0 Then
+      ElevatorSounds(Number).Load App.Path + "\ding1.wav"
+      ElevatorSounds(Number).Play
+      ElevatorCheck3(Number) = 1
+        For ElevTemp(Number) = -1 To 144
+        If ButtonsEnabled = True And ElevatorSync(Number) = True Then Buttons(ElevTemp(Number)).SetColor RGBA(1, 1, 1, 1)
+        Next ElevTemp(Number)
+      End If
+      If elevatorstart(Number).Y < (GotoFloor(Number) * FloorHeight) + FloorHeight Then
+      Elevator(Number).MoveRelative 0, ElevatorFineTuneSpeed, 0
+      ElevatorInsDoorL(Number).MoveRelative 0, ElevatorFineTuneSpeed, 0
+      ElevatorInsDoorR(Number).MoveRelative 0, ElevatorFineTuneSpeed, 0
+      Plaque(Number).MoveRelative 0, ElevatorFineTuneSpeed, 0
+        For ElevTemp(Number) = -1 To 144
+        If ButtonsEnabled = True And ElevatorSync(Number) = True Then Buttons(ElevTemp(Number)).MoveRelative 0, ElevatorFineTuneSpeed, 0
+        Next ElevTemp(Number)
+        FloorIndicator(Number).MoveRelative 0, ElevatorFineTuneSpeed, 0
+        If ElevatorSync(Number) = True Then Camera.MoveRelative 0, ElevatorFineTuneSpeed, 0
+      End If
+      If elevatorstart(Number).Y > (GotoFloor(Number) * FloorHeight) + FloorHeight Then
+      Elevator(Number).MoveRelative 0, -ElevatorFineTuneSpeed, 0
+      ElevatorInsDoorL(Number).MoveRelative 0, -ElevatorFineTuneSpeed, 0
+      ElevatorInsDoorR(Number).MoveRelative 0, -ElevatorFineTuneSpeed, 0
+      Plaque(Number).MoveRelative 0, -ElevatorFineTuneSpeed, 0
+        For ElevTemp(Number) = -1 To 144
+        If ButtonsEnabled = True And ElevatorSync(Number) = True Then Buttons(ElevTemp(Number)).MoveRelative 0, -ElevatorFineTuneSpeed, 0
+        Next ElevTemp(Number)
+        FloorIndicator(Number).MoveRelative 0, -ElevatorFineTuneSpeed, 0
+        If ElevatorSync(Number) = True Then Camera.MoveRelative 0, -ElevatorFineTuneSpeed, 0
+      End If
+      End If
+      
+      If OpenElevator(Number) = 1 Then
+      'If ElevatorInsDoorL(ElevatorFloor2(Number)).GetPosition.z >= 4 Then OpenElevator(Number) = 0: GoTo OpenElevator1
+      If ElevatorDoorL(Number).GetPosition.z >= 4 Then OpenElevator(Number) = 0: GoTo OpenElevator1
+      If ElevatorCheck4(Number) = 0 Then
+        If ElevatorSounds(Number).PlayState = TV_PLAYSTATE_PLAYING Then
+        ElevatorSounds(Number).Stop_
+        End If
+        ElevatorSounds(Number).Loop_ = False
+        ElevatorSounds(Number).Load App.Path + "\elevatoropen.wav"
+        ElevatorSounds(Number).Volume = 0
+        'ElevatorSounds(Number).maxDistance = 1000
+        'Call ElevatorSounds(Number).SetConeOrientation(0, -5, 0)
+        'ElevatorSounds(Number).ConeOutsideVolume = 0
+        'Call ElevatorSounds(Number).SetPosition(-20.25, Elevator(Number).GetPosition.Y, -23)
+        ElevatorSounds(Number).Play
+        ElevatorCheck4(Number) = 1
+      End If
+      OpenElevatorLoc(Number) = OpenElevatorLoc(Number) + 0.02
+      ElevatorDoorL(Number).MoveRelative OpenElevatorLoc(Number), 0, 0
+      ElevatorDoorR(Number).MoveRelative -OpenElevatorLoc(Number), 0, 0
+      ElevatorInsDoorL(Number).MoveRelative OpenElevatorLoc(Number), 0, 0
+      ElevatorInsDoorR(Number).MoveRelative -OpenElevatorLoc(Number), 0, 0
+      'If ElevatorInsDoorL(ElevatorFloor2(Number)).GetPosition.z > 1 Then OpenElevator(Number) = 2
+      If ElevatorDoorL(Number).GetPosition.z > 1 Then OpenElevator(Number) = 2
 OpenElevator1:
       End If
       
-      If OpenElevator(10) = 2 Then
-      ElevatorDoor10L(ElevatorFloor2(10)).MoveRelative OpenElevatorLoc(10), 0, 0
-      ElevatorDoor10R(ElevatorFloor2(10)).MoveRelative -OpenElevatorLoc(10), 0, 0
-      ElevatorInsDoorL(10).MoveRelative OpenElevatorLoc(10), 0, 0
-      ElevatorInsDoorR(10).MoveRelative -OpenElevatorLoc(10), 0, 0
-      'If ElevatorInsDoorL(ElevatorFloor2(10)).GetPosition.z > 3 Then OpenElevator(10) = 3
-      If ElevatorDoor10L(ElevatorFloor2(10)).GetPosition.z > 3 Then OpenElevator(10) = 3
-      End If
-      
-      If OpenElevator(10) = 3 Then
-      ElevatorCheck4(10) = 0
-      OpenElevatorLoc(10) = OpenElevatorLoc(10) - 0.02
-      'If ElevatorInsDoorL(ElevatorFloor2(10)).GetPosition.z < 7 And OpenElevatorLoc(10) = 0 Then OpenElevatorLoc(10) = 0.02
-      If ElevatorDoor10L(ElevatorFloor2(10)).GetPosition.z < 7 And OpenElevatorLoc(10) = 0 Then OpenElevatorLoc(10) = 0.02
-      ElevatorDoor10L(ElevatorFloor2(10)).MoveRelative OpenElevatorLoc(10), 0, 0
-      ElevatorDoor10R(ElevatorFloor2(10)).MoveRelative -OpenElevatorLoc(10), 0, 0
-      ElevatorInsDoorL(10).MoveRelative OpenElevatorLoc(10), 0, 0
-      ElevatorInsDoorR(10).MoveRelative -OpenElevatorLoc(10), 0, 0
-      If OpenElevatorLoc(10) <= 0 Then
-      OpenElevator(10) = 0
-      OpenElevatorLoc(10) = 0
-      Form1.Timer10.Enabled = True
-      End If
-      End If
-      
-      If OpenElevator(10) = -1 Then
-      'If ElevatorInsDoorL(ElevatorFloor2(10)).GetPosition.z <= 0 Then OpenElevator(10) = 0: GoTo OpenElevator2
-      If ElevatorDoor10L(ElevatorFloor2(10)).GetPosition.z <= 0 Then OpenElevator(10) = 0: GoTo OpenElevator2
-      If ElevatorCheck4(10) = 0 Then
-        If ElevatorSounds(10).PlayState = TV_PLAYSTATE_PLAYING Then
-        ElevatorSounds(10).Stop_
-        End If
-        ElevatorSounds(10).Loop_ = False
-        ElevatorSounds(10).Load App.Path + "\elevatorclose.wav"
-        ElevatorSounds(10).Volume = 0
-        'ElevatorSounds(10).maxDistance = 1000
-        'Call ElevatorSounds(10).SetConeOrientation(0, 0, 90)
-        'ElevatorSounds(10).ConeOutsideVolume = 0
-        'Call ElevatorSounds(10).SetPosition(-20.25, Elevator(10).GetPosition.Y, -23)
-        ElevatorSounds(10).Play
-        ElevatorCheck4(10) = 1
-      End If
-      OpenElevatorLoc(10) = OpenElevatorLoc(10) - 0.02
-      ElevatorDoor10L(ElevatorFloor2(10)).MoveRelative OpenElevatorLoc(10), 0, 0
-      ElevatorDoor10R(ElevatorFloor2(10)).MoveRelative -OpenElevatorLoc(10), 0, 0
-      ElevatorInsDoorL(10).MoveRelative OpenElevatorLoc(10), 0, 0
-      ElevatorInsDoorR(10).MoveRelative -OpenElevatorLoc(10), 0, 0
-      'If ElevatorInsDoorL(ElevatorFloor2(10)).GetPosition.z < 3 Then OpenElevator(10) = -2
-      If ElevatorDoor10L(ElevatorFloor2(10)).GetPosition.z < 3 Then OpenElevator(10) = -2
+      If OpenElevator(Number) = 2 Then
+      ElevatorDoorL(Number).MoveRelative OpenElevatorLoc(Number), 0, 0
+      ElevatorDoorR(Number).MoveRelative -OpenElevatorLoc(Number), 0, 0
+      ElevatorInsDoorL(Number).MoveRelative OpenElevatorLoc(Number), 0, 0
+      ElevatorInsDoorR(Number).MoveRelative -OpenElevatorLoc(Number), 0, 0
+      'If ElevatorInsDoorL(ElevatorFloor2(Number)).GetPosition.z > 3 Then OpenElevator(Number) = 3
+      If ElevatorDoorL(Number).GetPosition.z > 3 Then OpenElevator(Number) = 3
+      End If
+      
+      If OpenElevator(Number) = 3 Then
+      ElevatorCheck4(Number) = 0
+      OpenElevatorLoc(Number) = OpenElevatorLoc(Number) - 0.02
+      'If ElevatorInsDoorL(ElevatorFloor2(Number)).GetPosition.z < 7 And OpenElevatorLoc(Number) = 0 Then OpenElevatorLoc(Number) = 0.02
+      If ElevatorDoorL(Number).GetPosition.z < 7 And OpenElevatorLoc(Number) = 0 Then OpenElevatorLoc(Number) = 0.02
+      ElevatorDoorL(Number).MoveRelative OpenElevatorLoc(Number), 0, 0
+      ElevatorDoorR(Number).MoveRelative -OpenElevatorLoc(Number), 0, 0
+      ElevatorInsDoorL(Number).MoveRelative OpenElevatorLoc(Number), 0, 0
+      ElevatorInsDoorR(Number).MoveRelative -OpenElevatorLoc(Number), 0, 0
+      If OpenElevatorLoc(Number) <= 0 Then
+      OpenElevator(Number) = 0
+      OpenElevatorLoc(Number) = 0
+      If Number = 1 Then Form1.Timer1.Enabled = True
+      If Number = 2 Then Form1.Timer2.Enabled = True
+      If Number = 3 Then Form1.Timer3.Enabled = True
+      If Number = 4 Then Form1.Timer4.Enabled = True
+      If Number = 5 Then Form1.Timer5.Enabled = True
+      If Number = 6 Then Form1.Timer6.Enabled = True
+      If Number = 7 Then Form1.Timer7.Enabled = True
+      If Number = 8 Then Form1.Timer8.Enabled = True
+      If Number = 9 Then Form1.Timer9.Enabled = True
+      If Number = 10 Then Form1.Timer10.Enabled = True
+      If Number = 11 Then Form1.Timer11.Enabled = True
+      If Number = 12 Then Form1.Timer12.Enabled = True
+      If Number = 13 Then Form1.Timer13.Enabled = True
+      If Number = 14 Then Form1.Timer14.Enabled = True
+      If Number = 15 Then Form1.Timer15.Enabled = True
+      If Number = 16 Then Form1.Timer16.Enabled = True
+      If Number = 17 Then Form1.Timer17.Enabled = True
+      If Number = 18 Then Form1.Timer18.Enabled = True
+      If Number = 19 Then Form1.Timer19.Enabled = True
+      If Number = 20 Then Form1.Timer20.Enabled = True
+      If Number = 21 Then Form1.Timer21.Enabled = True
+      If Number = 22 Then Form1.Timer22.Enabled = True
+      If Number = 23 Then Form1.Timer23.Enabled = True
+      If Number = 24 Then Form1.Timer24.Enabled = True
+      If Number = 25 Then Form1.Timer25.Enabled = True
+      If Number = 26 Then Form1.Timer26.Enabled = True
+      If Number = 27 Then Form1.Timer27.Enabled = True
+      If Number = 28 Then Form1.Timer28.Enabled = True
+      If Number = 29 Then Form1.Timer29.Enabled = True
+      If Number = 30 Then Form1.Timer30.Enabled = True
+      If Number = 31 Then Form1.Timer31.Enabled = True
+      If Number = 32 Then Form1.Timer32.Enabled = True
+      If Number = 33 Then Form1.Timer33.Enabled = True
+      If Number = 34 Then Form1.Timer34.Enabled = True
+      If Number = 35 Then Form1.Timer35.Enabled = True
+      If Number = 36 Then Form1.Timer36.Enabled = True
+      If Number = 37 Then Form1.Timer37.Enabled = True
+      If Number = 38 Then Form1.Timer38.Enabled = True
+      If Number = 39 Then Form1.Timer39.Enabled = True
+      If Number = 40 Then Form1.Timer40.Enabled = True
+      End If
+      End If
+      
+      If OpenElevator(Number) = -1 Then
+      'If ElevatorInsDoorL(ElevatorFloor2(Number)).GetPosition.z <= 0 Then OpenElevator(Number) = 0: GoTo OpenElevator2
+      If ElevatorDoorL(Number).GetPosition.z <= 0 Then OpenElevator(Number) = 0: GoTo OpenElevator2
+      If ElevatorCheck4(Number) = 0 Then
+        If ElevatorSounds(Number).PlayState = TV_PLAYSTATE_PLAYING Then
+        ElevatorSounds(Number).Stop_
+        End If
+        ElevatorSounds(Number).Loop_ = False
+        ElevatorSounds(Number).Load App.Path + "\elevatorclose.wav"
+        ElevatorSounds(Number).Volume = 0
+        'ElevatorSounds(Number).maxDistance = 1000
+        'Call ElevatorSounds(Number).SetConeOrientation(0, 0, 90)
+        'ElevatorSounds(Number).ConeOutsideVolume = 0
+        'Call ElevatorSounds(Number).SetPosition(-20.25, Elevator(Number).GetPosition.Y, -23)
+        ElevatorSounds(Number).Play
+        ElevatorCheck4(Number) = 1
+      End If
+      OpenElevatorLoc(Number) = OpenElevatorLoc(Number) - 0.02
+      ElevatorDoorL(Number).MoveRelative OpenElevatorLoc(Number), 0, 0
+      ElevatorDoorR(Number).MoveRelative -OpenElevatorLoc(Number), 0, 0
+      ElevatorInsDoorL(Number).MoveRelative OpenElevatorLoc(Number), 0, 0
+      ElevatorInsDoorR(Number).MoveRelative -OpenElevatorLoc(Number), 0, 0
+      'If ElevatorInsDoorL(ElevatorFloor2(Number)).GetPosition.z < 3 Then OpenElevator(Number) = -2
+      If ElevatorDoorL(Number).GetPosition.z < 3 Then OpenElevator(Number) = -2
 OpenElevator2:
       End If
       
-      If OpenElevator(10) = -2 Then
-      ElevatorDoor10L(ElevatorFloor2(10)).MoveRelative OpenElevatorLoc(10), 0, 0
-      ElevatorDoor10R(ElevatorFloor2(10)).MoveRelative -OpenElevatorLoc(10), 0, 0
-      ElevatorInsDoorL(10).MoveRelative OpenElevatorLoc(10), 0, 0
-      ElevatorInsDoorR(10).MoveRelative -OpenElevatorLoc(10), 0, 0
-      'If ElevatorInsDoorL(ElevatorFloor2(10)).GetPosition.z < 1 Then OpenElevator(10) = -3
-      If ElevatorDoor10L(ElevatorFloor2(10)).GetPosition.z < 1 Then OpenElevator(10) = -3
+      If OpenElevator(Number) = -2 Then
+      ElevatorDoorL(Number).MoveRelative OpenElevatorLoc(Number), 0, 0
+      ElevatorDoorR(Number).MoveRelative -OpenElevatorLoc(Number), 0, 0
+      ElevatorInsDoorL(Number).MoveRelative OpenElevatorLoc(Number), 0, 0
+      ElevatorInsDoorR(Number).MoveRelative -OpenElevatorLoc(Number), 0, 0
+      'If ElevatorInsDoorL(ElevatorFloor2(Number)).GetPosition.z < 1 Then OpenElevator(Number) = -3
+      If ElevatorDoorL(Number).GetPosition.z < 1 Then OpenElevator(Number) = -3
       End If
       
-      If OpenElevator(10) = -3 Then
-      ElevatorCheck4(10) = 0
-      OpenElevatorLoc(10) = OpenElevatorLoc(10) + 0.02
-      'If ElevatorInsDoorL(ElevatorFloor2(10)).GetPosition.z > 0 And OpenElevatorLoc(10) >= 0 Then OpenElevatorLoc(10) = -0.02
-      If ElevatorDoor10L(ElevatorFloor2(10)).GetPosition.z > 0 And OpenElevatorLoc(10) >= 0 Then OpenElevatorLoc(10) = -0.02
-      ElevatorDoor10L(ElevatorFloor2(10)).MoveRelative OpenElevatorLoc(10), 0, 0
-      ElevatorDoor10R(ElevatorFloor2(10)).MoveRelative -OpenElevatorLoc(10), 0, 0
-      ElevatorInsDoorL(10).MoveRelative OpenElevatorLoc(10), 0, 0
-      ElevatorInsDoorR(10).MoveRelative -OpenElevatorLoc(10), 0, 0
-      If OpenElevatorLoc(10) >= 0 Then
-      OpenElevator(10) = 0
-      OpenElevatorLoc(10) = 0
-      ElevatorInsDoorL(10).SetPosition ElevatorInsDoorL(10).GetPosition.X, ElevatorInsDoorL(10).GetPosition.Y, 0
-      ElevatorInsDoorR(10).SetPosition ElevatorInsDoorR(10).GetPosition.X, ElevatorInsDoorR(10).GetPosition.Y, 0
-      ElevatorDoor10L(ElevatorFloor2(10)).SetPosition ElevatorDoor10L(ElevatorFloor2(10)).GetPosition.X, ElevatorDoor10L(ElevatorFloor2(10)).GetPosition.Y, 0
-      ElevatorDoor10R(ElevatorFloor2(10)).SetPosition ElevatorDoor10R(ElevatorFloor2(10)).GetPosition.X, ElevatorDoor10R(ElevatorFloor2(10)).GetPosition.Y, 0
+      If OpenElevator(Number) = -3 Then
+      ElevatorCheck4(Number) = 0
+      OpenElevatorLoc(Number) = OpenElevatorLoc(Number) + 0.02
+      'If ElevatorInsDoorL(ElevatorFloor2(Number)).GetPosition.z > 0 And OpenElevatorLoc(Number) >= 0 Then OpenElevatorLoc(Number) = -0.02
+      If ElevatorDoorL(Number).GetPosition.z > 0 And OpenElevatorLoc(Number) >= 0 Then OpenElevatorLoc(Number) = -0.02
+      ElevatorDoorL(Number).MoveRelative OpenElevatorLoc(Number), 0, 0
+      ElevatorDoorR(Number).MoveRelative -OpenElevatorLoc(Number), 0, 0
+      ElevatorInsDoorL(Number).MoveRelative OpenElevatorLoc(Number), 0, 0
+      ElevatorInsDoorR(Number).MoveRelative -OpenElevatorLoc(Number), 0, 0
+      If OpenElevatorLoc(Number) >= 0 Then
+      OpenElevator(Number) = 0
+      OpenElevatorLoc(Number) = 0
+      ElevatorInsDoorL(Number).SetPosition ElevatorInsDoorL(Number).GetPosition.X, ElevatorInsDoorL(Number).GetPosition.Y, 0
+      ElevatorInsDoorR(Number).SetPosition ElevatorInsDoorR(Number).GetPosition.X, ElevatorInsDoorR(Number).GetPosition.Y, 0
+      ElevatorDoorL(Number).SetPosition ElevatorDoorL(Number).GetPosition.X, ElevatorDoorL(Number).GetPosition.Y, 0
+      ElevatorDoorR(Number).SetPosition ElevatorDoorR(Number).GetPosition.X, ElevatorDoorR(Number).GetPosition.Y, 0
       End If
       End If
       
-      
+    
 End Sub
+
index b1dbcd0..955024d 100755 (executable)
--- a/Form1.frm
+++ b/Form1.frm
@@ -3,8 +3,8 @@ Begin VB.Form Form1
    BorderStyle     =   1  'Fixed Single
    Caption         =   "SkyScraper"
    ClientHeight    =   7920
-   ClientLeft      =   1080
-   ClientTop       =   2775
+   ClientLeft      =   1200
+   ClientTop       =   2760
    ClientWidth     =   10440
    Icon            =   "Form1.frx":0000
    LinkTopic       =   "Form1"
@@ -12,59 +12,419 @@ Begin VB.Form Form1
    MinButton       =   0   'False
    ScaleHeight     =   7920
    ScaleWidth      =   10440
-   Begin VB.Timer Timer10 
+   Begin VB.Timer Timer31 
+      Enabled         =   0   'False
+      Interval        =   5000
+      Left            =   1200
+      Top             =   5400
+   End
+   Begin VB.Timer Timer32 
+      Enabled         =   0   'False
+      Interval        =   5000
+      Left            =   1800
+      Top             =   5400
+   End
+   Begin VB.Timer Timer33 
+      Enabled         =   0   'False
+      Interval        =   5000
+      Left            =   2400
+      Top             =   5400
+   End
+   Begin VB.Timer Timer34 
+      Enabled         =   0   'False
+      Interval        =   5000
+      Left            =   3000
+      Top             =   5400
+   End
+   Begin VB.Timer Timer35 
+      Enabled         =   0   'False
+      Interval        =   5000
+      Left            =   3600
+      Top             =   5400
+   End
+   Begin VB.Timer Timer36 
+      Enabled         =   0   'False
+      Interval        =   5000
+      Left            =   4200
+      Top             =   5400
+   End
+   Begin VB.Timer Timer37 
+      Enabled         =   0   'False
+      Interval        =   5000
+      Left            =   4800
+      Top             =   5400
+   End
+   Begin VB.Timer Timer38 
+      Enabled         =   0   'False
+      Interval        =   5000
+      Left            =   5400
+      Top             =   5400
+   End
+   Begin VB.Timer Timer39 
+      Enabled         =   0   'False
+      Interval        =   5000
+      Left            =   6000
+      Top             =   5400
+   End
+   Begin VB.Timer Timer40 
+      Enabled         =   0   'False
+      Interval        =   5000
+      Left            =   6600
+      Top             =   5400
+   End
+   Begin VB.Timer Timer21 
+      Enabled         =   0   'False
+      Interval        =   5000
+      Left            =   1200
+      Top             =   4920
+   End
+   Begin VB.Timer Timer22 
+      Enabled         =   0   'False
+      Interval        =   5000
+      Left            =   1800
+      Top             =   4920
+   End
+   Begin VB.Timer Timer23 
+      Enabled         =   0   'False
+      Interval        =   5000
+      Left            =   2400
+      Top             =   4920
+   End
+   Begin VB.Timer Timer24 
+      Enabled         =   0   'False
+      Interval        =   5000
+      Left            =   3000
+      Top             =   4920
+   End
+   Begin VB.Timer Timer25 
+      Enabled         =   0   'False
+      Interval        =   5000
+      Left            =   3600
+      Top             =   4920
+   End
+   Begin VB.Timer Timer26 
+      Enabled         =   0   'False
+      Interval        =   5000
+      Left            =   4200
+      Top             =   4920
+   End
+   Begin VB.Timer Timer27 
+      Enabled         =   0   'False
+      Interval        =   5000
+      Left            =   4800
+      Top             =   4920
+   End
+   Begin VB.Timer Timer28 
+      Enabled         =   0   'False
+      Interval        =   5000
+      Left            =   5400
+      Top             =   4920
+   End
+   Begin VB.Timer Timer29 
+      Enabled         =   0   'False
+      Interval        =   5000
+      Left            =   6000
+      Top             =   4920
+   End
+   Begin VB.Timer Timer30 
+      Enabled         =   0   'False
+      Interval        =   5000
+      Left            =   6600
+      Top             =   4920
+   End
+   Begin VB.Timer Timer11 
+      Enabled         =   0   'False
+      Interval        =   5000
+      Left            =   1200
+      Top             =   4440
+   End
+   Begin VB.Timer Timer12 
+      Enabled         =   0   'False
+      Interval        =   5000
+      Left            =   1800
+      Top             =   4440
+   End
+   Begin VB.Timer Timer13 
+      Enabled         =   0   'False
+      Interval        =   5000
+      Left            =   2400
+      Top             =   4440
+   End
+   Begin VB.Timer Timer14 
+      Enabled         =   0   'False
+      Interval        =   5000
+      Left            =   3000
+      Top             =   4440
+   End
+   Begin VB.Timer Timer15 
+      Enabled         =   0   'False
+      Interval        =   5000
+      Left            =   3600
+      Top             =   4440
+   End
+   Begin VB.Timer Timer16 
+      Enabled         =   0   'False
+      Interval        =   5000
+      Left            =   4200
+      Top             =   4440
+   End
+   Begin VB.Timer Timer17 
+      Enabled         =   0   'False
+      Interval        =   5000
+      Left            =   4800
+      Top             =   4440
+   End
+   Begin VB.Timer Timer18 
+      Enabled         =   0   'False
+      Interval        =   5000
+      Left            =   5400
+      Top             =   4440
+   End
+   Begin VB.Timer Timer19 
       Enabled         =   0   'False
       Interval        =   5000
+      Left            =   6000
+      Top             =   4440
+   End
+   Begin VB.Timer Timer20 
+      Enabled         =   0   'False
+      Interval        =   5000
+      Left            =   6600
+      Top             =   4440
+   End
+   Begin VB.Timer Elevator40Timer 
+      Enabled         =   0   'False
+      Interval        =   1
+      Left            =   6600
+      Top             =   3240
+   End
+   Begin VB.Timer Elevator39Timer 
+      Enabled         =   0   'False
+      Interval        =   1
+      Left            =   6000
+      Top             =   3240
+   End
+   Begin VB.Timer Elevator38Timer 
+      Enabled         =   0   'False
+      Interval        =   1
+      Left            =   5400
+      Top             =   3240
+   End
+   Begin VB.Timer Elevator37Timer 
+      Enabled         =   0   'False
+      Interval        =   1
+      Left            =   4800
+      Top             =   3240
+   End
+   Begin VB.Timer Elevator36Timer 
+      Enabled         =   0   'False
+      Interval        =   1
+      Left            =   4200
+      Top             =   3240
+   End
+   Begin VB.Timer Elevator35Timer 
+      Enabled         =   0   'False
+      Interval        =   1
+      Left            =   3600
+      Top             =   3240
+   End
+   Begin VB.Timer Elevator34Timer 
+      Enabled         =   0   'False
+      Interval        =   1
+      Left            =   3000
+      Top             =   3240
+   End
+   Begin VB.Timer Elevator33Timer 
+      Enabled         =   0   'False
+      Interval        =   1
+      Left            =   2400
+      Top             =   3240
+   End
+   Begin VB.Timer Elevator32Timer 
+      Enabled         =   0   'False
+      Interval        =   1
+      Left            =   1800
+      Top             =   3240
+   End
+   Begin VB.Timer Elevator31Timer 
+      Enabled         =   0   'False
+      Interval        =   1
+      Left            =   1200
+      Top             =   3240
+   End
+   Begin VB.Timer Elevator30Timer 
+      Enabled         =   0   'False
+      Interval        =   1
       Left            =   6600
       Top             =   2760
    End
+   Begin VB.Timer Elevator29Timer 
+      Enabled         =   0   'False
+      Interval        =   1
+      Left            =   6000
+      Top             =   2760
+   End
+   Begin VB.Timer Elevator28Timer 
+      Enabled         =   0   'False
+      Interval        =   1
+      Left            =   5400
+      Top             =   2760
+   End
+   Begin VB.Timer Elevator27Timer 
+      Enabled         =   0   'False
+      Interval        =   1
+      Left            =   4800
+      Top             =   2760
+   End
+   Begin VB.Timer Elevator26Timer 
+      Enabled         =   0   'False
+      Interval        =   1
+      Left            =   4200
+      Top             =   2760
+   End
+   Begin VB.Timer Elevator25Timer 
+      Enabled         =   0   'False
+      Interval        =   1
+      Left            =   3600
+      Top             =   2760
+   End
+   Begin VB.Timer Elevator24Timer 
+      Enabled         =   0   'False
+      Interval        =   1
+      Left            =   3000
+      Top             =   2760
+   End
+   Begin VB.Timer Elevator23Timer 
+      Enabled         =   0   'False
+      Interval        =   1
+      Left            =   2400
+      Top             =   2760
+   End
+   Begin VB.Timer Elevator22Timer 
+      Enabled         =   0   'False
+      Interval        =   1
+      Left            =   1800
+      Top             =   2760
+   End
+   Begin VB.Timer Elevator21Timer 
+      Enabled         =   0   'False
+      Interval        =   1
+      Left            =   1200
+      Top             =   2760
+   End
+   Begin VB.Timer Elevator20Timer 
+      Enabled         =   0   'False
+      Interval        =   1
+      Left            =   6600
+      Top             =   2280
+   End
+   Begin VB.Timer Elevator19Timer 
+      Enabled         =   0   'False
+      Interval        =   1
+      Left            =   6000
+      Top             =   2280
+   End
+   Begin VB.Timer Elevator18Timer 
+      Enabled         =   0   'False
+      Interval        =   1
+      Left            =   5400
+      Top             =   2280
+   End
+   Begin VB.Timer Elevator17Timer 
+      Enabled         =   0   'False
+      Interval        =   1
+      Left            =   4800
+      Top             =   2280
+   End
+   Begin VB.Timer Elevator16Timer 
+      Enabled         =   0   'False
+      Interval        =   1
+      Left            =   4200
+      Top             =   2280
+   End
+   Begin VB.Timer Elevator15Timer 
+      Enabled         =   0   'False
+      Interval        =   1
+      Left            =   3600
+      Top             =   2280
+   End
+   Begin VB.Timer Elevator14Timer 
+      Enabled         =   0   'False
+      Interval        =   1
+      Left            =   3000
+      Top             =   2280
+   End
+   Begin VB.Timer Elevator13Timer 
+      Enabled         =   0   'False
+      Interval        =   1
+      Left            =   2400
+      Top             =   2280
+   End
+   Begin VB.Timer Elevator12Timer 
+      Enabled         =   0   'False
+      Interval        =   1
+      Left            =   1800
+      Top             =   2280
+   End
+   Begin VB.Timer Elevator11Timer 
+      Enabled         =   0   'False
+      Interval        =   1
+      Left            =   1200
+      Top             =   2280
+   End
+   Begin VB.Timer Timer10 
+      Enabled         =   0   'False
+      Interval        =   5000
+      Left            =   6600
+      Top             =   3960
+   End
    Begin VB.Timer Timer9 
       Enabled         =   0   'False
       Interval        =   5000
       Left            =   6000
-      Top             =   2760
+      Top             =   3960
    End
    Begin VB.Timer Timer8 
       Enabled         =   0   'False
       Interval        =   5000
       Left            =   5400
-      Top             =   2760
+      Top             =   3960
    End
    Begin VB.Timer Timer7 
       Enabled         =   0   'False
       Interval        =   5000
       Left            =   4800
-      Top             =   2760
+      Top             =   3960
    End
    Begin VB.Timer Timer6 
       Enabled         =   0   'False
       Interval        =   5000
       Left            =   4200
-      Top             =   2760
+      Top             =   3960
    End
    Begin VB.Timer Timer5 
       Enabled         =   0   'False
       Interval        =   5000
       Left            =   3600
-      Top             =   2760
+      Top             =   3960
    End
    Begin VB.Timer Timer4 
       Enabled         =   0   'False
       Interval        =   5000
       Left            =   3000
-      Top             =   2760
+      Top             =   3960
    End
    Begin VB.Timer Timer3 
       Enabled         =   0   'False
       Interval        =   5000
       Left            =   2400
-      Top             =   2760
+      Top             =   3960
    End
    Begin VB.Timer Timer2 
       Enabled         =   0   'False
       Interval        =   5000
       Left            =   1800
-      Top             =   2760
+      Top             =   3960
    End
    Begin VB.Timer Elevator10Timer 
       Enabled         =   0   'False
@@ -142,7 +502,21 @@ Begin VB.Form Form1
       Enabled         =   0   'False
       Interval        =   5000
       Left            =   1200
-      Top             =   2760
+      Top             =   3960
+   End
+   Begin VB.Label Label2 
+      Height          =   1215
+      Left            =   120
+      TabIndex        =   1
+      Top             =   2040
+      Width           =   6495
+   End
+   Begin VB.Label Label1 
+      Height          =   1815
+      Left            =   120
+      TabIndex        =   0
+      Top             =   120
+      Width           =   6495
    End
 End
 Attribute VB_Name = "Form1"
@@ -150,9 +524,10 @@ Attribute VB_GlobalNameSpace = False
 Attribute VB_Creatable = False
 Attribute VB_PredeclaredId = True
 Attribute VB_Exposed = False
-'Skycraper 0.91 Beta
+'Skycraper 0.92 Beta
 'Copyright (C) 2003 Ryan Thoryk
 'http://www.tliquest.net/skyscraper
+'http://sourceforge.net/projects/skyscraper
 'Contact - ryan@tliquest.net
 
 'This program is free software; you can redistribute it and/or
@@ -176,52 +551,201 @@ Option Explicit
 
 
 Private Sub Elevator10Timer_Timer()
-Call Elevator10Loop
+Call ElevatorLoop(10)
+
+End Sub
+
+Private Sub Elevator11Timer_Timer()
+Call ElevatorLoop(11)
+
+End Sub
+
+Private Sub Elevator12Timer_Timer()
+Call ElevatorLoop(12)
+
+End Sub
+
+Private Sub Elevator13Timer_Timer()
+Call ElevatorLoop(13)
+
+End Sub
+
+Private Sub Elevator14Timer_Timer()
+Call ElevatorLoop(14)
+
+End Sub
+
+Private Sub Elevator15Timer_Timer()
+Call ElevatorLoop(15)
+
+End Sub
+
+Private Sub Elevator16Timer_Timer()
+Call ElevatorLoop(16)
+
+End Sub
+
+Private Sub Elevator17Timer_Timer()
+Call ElevatorLoop(17)
+
+End Sub
+
+Private Sub Elevator18Timer_Timer()
+Call ElevatorLoop(18)
+
+End Sub
+
+Private Sub Elevator19Timer_Timer()
+Call ElevatorLoop(19)
 
 End Sub
 
 Private Sub Elevator1Timer_Timer()
-'Sleep 30
-Call Elevator1Loop
+Call ElevatorLoop(1)
+End Sub
+
+Private Sub Elevator20Timer_Timer()
+Call ElevatorLoop(20)
+
+End Sub
+
+Private Sub Elevator21Timer_Timer()
+Call ElevatorLoop(21)
+
+End Sub
+
+Private Sub Elevator22Timer_Timer()
+Call ElevatorLoop(22)
+
+End Sub
+
+Private Sub Elevator23Timer_Timer()
+Call ElevatorLoop(23)
+
+End Sub
+
+Private Sub Elevator24Timer_Timer()
+Call ElevatorLoop(24)
+
+End Sub
+
+Private Sub Elevator25Timer_Timer()
+Call ElevatorLoop(25)
+
+End Sub
+
+Private Sub Elevator26Timer_Timer()
+Call ElevatorLoop(26)
+
+End Sub
+
+Private Sub Elevator27Timer_Timer()
+Call ElevatorLoop(27)
+
+End Sub
+
+Private Sub Elevator28Timer_Timer()
+Call ElevatorLoop(28)
+
+End Sub
+
+Private Sub Elevator29Timer_Timer()
+Call ElevatorLoop(29)
+
 End Sub
 
 Private Sub Elevator2Timer_Timer()
-Call Elevator2Loop
+Call ElevatorLoop(2)
+
+End Sub
+
+Private Sub Elevator30Timer_Timer()
+Call ElevatorLoop(30)
+
+End Sub
+
+Private Sub Elevator31Timer_Timer()
+Call ElevatorLoop(31)
+
+End Sub
+
+Private Sub Elevator32Timer_Timer()
+Call ElevatorLoop(32)
+
+End Sub
+
+Private Sub Elevator33Timer_Timer()
+Call ElevatorLoop(33)
+
+End Sub
+
+Private Sub Elevator34Timer_Timer()
+Call ElevatorLoop(34)
+
+End Sub
+
+Private Sub Elevator35Timer_Timer()
+Call ElevatorLoop(35)
+
+End Sub
+
+Private Sub Elevator36Timer_Timer()
+Call ElevatorLoop(36)
+
+End Sub
+
+Private Sub Elevator37Timer_Timer()
+Call ElevatorLoop(37)
+
+End Sub
+
+Private Sub Elevator38Timer_Timer()
+Call ElevatorLoop(38)
+
+End Sub
+
+Private Sub Elevator39Timer_Timer()
+Call ElevatorLoop(39)
 
 End Sub
 
 Private Sub Elevator3Timer_Timer()
-Call Elevator3Loop
+Call ElevatorLoop(3)
+
+End Sub
+
+Private Sub Elevator40Timer_Timer()
+Call ElevatorLoop(40)
 
 End Sub
 
 Private Sub Elevator4Timer_Timer()
-Call Elevator4Loop
+Call ElevatorLoop(4)
 
 End Sub
 
 Private Sub Elevator5Timer_Timer()
-Call Elevator5Loop
+Call ElevatorLoop(5)
 
 End Sub
 
 Private Sub Elevator6Timer_Timer()
-Call Elevator6Loop
+Call ElevatorLoop(6)
 
 End Sub
 
 Private Sub Elevator7Timer_Timer()
-Call Elevator7Loop
+Call ElevatorLoop(7)
 
 End Sub
 
 Private Sub Elevator8Timer_Timer()
-Call Elevator8Loop
+Call ElevatorLoop(8)
 
 End Sub
 
 Private Sub Elevator9Timer_Timer()
-Call Elevator9Loop
+Call ElevatorLoop(9)
 
 End Sub
 
@@ -236,8 +760,12 @@ End Sub
 
 Private Sub Form_Load()
 ElevatorNumber = 1
+FloorHeight = 32
+'With the next 2 variables, lower=faster
+ElevatorSpeed = 8
+ElevatorFineTuneSpeed = 0.15
 
-FileName = App.Path + "\triton.dat"
+'FileName = App.Path + "\triton.dat"
 Call Init_Simulator
 Call ProcessFloors
     
@@ -273,49 +801,30 @@ Call ProcessFloors
   ShaftsFloor(i).Enable False
   Shafts1(i).Enable False
   Shafts2(i).Enable False
+  Shafts3(i).Enable False
+  Shafts4(i).Enable False
   Next i
   
-  For i = 1 To 10
+  For i = -1 To 138
+  StairDoor(i).Enable False
+  Next i
+  
+  For i = 1 To 40
     Plaque(i).Enable False
     FloorIndicator(i).Enable False
     'Elevator(i).Enable False
   Next i
   
-  For i = -1 To 138
-    ElevatorDoor1L(i).Enable False
-    ElevatorDoor1R(i).Enable False
-    ElevatorDoor2L(i).Enable False
-    ElevatorDoor2R(i).Enable False
-    ElevatorDoor3L(i).Enable False
-    ElevatorDoor3R(i).Enable False
-    ElevatorDoor4L(i).Enable False
-    ElevatorDoor4R(i).Enable False
-    ElevatorDoor5L(i).Enable False
-    ElevatorDoor5R(i).Enable False
-    ElevatorDoor6L(i).Enable False
-    ElevatorDoor6R(i).Enable False
-    ElevatorDoor7L(i).Enable False
-    ElevatorDoor7R(i).Enable False
-    ElevatorDoor8L(i).Enable False
-    ElevatorDoor8R(i).Enable False
-    ElevatorDoor9L(i).Enable False
-    ElevatorDoor9R(i).Enable False
-    ElevatorDoor10L(i).Enable False
-    ElevatorDoor10R(i).Enable False
-    Buttons1(i).Enable False
-    Buttons2(i).Enable False
-    Buttons3(i).Enable False
-    Buttons4(i).Enable False
-    Buttons5(i).Enable False
-    Buttons6(i).Enable False
-    Buttons7(i).Enable False
-    Buttons8(i).Enable False
-    Buttons9(i).Enable False
-    Buttons10(i).Enable False
-  Next i
+  'For j = 1 To 40
+  'ElevatorDoorL(j).Enable False
+  'ElevatorDoorR(j).Enable False
+  'Next j
+  'For i = -1 To 144
+  '  Buttons(i).Enable False
+  'Next i
   Room(1).Enable True
-  'ElevatorDoorL(-1).Enable True
-  'ElevatorDoorR(-1).Enable True
+  'ElevatorDoorL(1).Enable True
+  'ElevatorDoorR(1).Enable True
   Stairs(1).Enable True
   ShaftsFloor(1).Enable True
   
@@ -356,6 +865,36 @@ Elevator7Timer.Enabled = True
 Elevator8Timer.Enabled = True
 Elevator9Timer.Enabled = True
 Elevator10Timer.Enabled = True
+Elevator11Timer.Enabled = True
+Elevator12Timer.Enabled = True
+Elevator13Timer.Enabled = True
+Elevator14Timer.Enabled = True
+Elevator15Timer.Enabled = True
+Elevator16Timer.Enabled = True
+Elevator17Timer.Enabled = True
+Elevator18Timer.Enabled = True
+Elevator19Timer.Enabled = True
+Elevator20Timer.Enabled = True
+Elevator21Timer.Enabled = True
+Elevator22Timer.Enabled = True
+Elevator23Timer.Enabled = True
+Elevator24Timer.Enabled = True
+Elevator25Timer.Enabled = True
+Elevator26Timer.Enabled = True
+Elevator27Timer.Enabled = True
+Elevator28Timer.Enabled = True
+Elevator29Timer.Enabled = True
+Elevator30Timer.Enabled = True
+Elevator31Timer.Enabled = True
+Elevator32Timer.Enabled = True
+Elevator33Timer.Enabled = True
+Elevator34Timer.Enabled = True
+Elevator35Timer.Enabled = True
+Elevator36Timer.Enabled = True
+Elevator37Timer.Enabled = True
+Elevator38Timer.Enabled = True
+Elevator39Timer.Enabled = True
+Elevator40Timer.Enabled = True
 StairsTimer.Enabled = True
   'Do Until isRunning = False Or Inp.IsKeyPressed(TV_KEY_ESCAPE) = True
 'Loop
@@ -391,7 +930,7 @@ Private Sub Form_Unload(Cancel As Integer)
     Set Scene = Nothing
     Set External = Nothing
     'Set Shafts = Nothing
-    For i = 1 To 10
+    For i = 1 To 40
     Set Elevator(i) = Nothing
     'Set ElevatorMusic(i) = Nothing
     Set ElevatorSounds(i) = Nothing
@@ -419,24 +958,204 @@ Timer10.Enabled = False
 
 End Sub
 
+Private Sub Timer11_Timer()
+OpenElevator(11) = -1
+Timer11.Enabled = False
+
+End Sub
+
+Private Sub Timer12_Timer()
+OpenElevator(12) = -1
+Timer12.Enabled = False
+
+End Sub
+
+Private Sub Timer13_Timer()
+OpenElevator(13) = -1
+Timer13.Enabled = False
+
+End Sub
+
+Private Sub Timer14_Timer()
+OpenElevator(14) = -1
+Timer14.Enabled = False
+
+End Sub
+
+Private Sub Timer15_Timer()
+OpenElevator(15) = -1
+Timer15.Enabled = False
+
+End Sub
+
+Private Sub Timer16_Timer()
+OpenElevator(16) = -1
+Timer16.Enabled = False
+
+End Sub
+
+Private Sub Timer17_Timer()
+OpenElevator(17) = -1
+Timer17.Enabled = False
+
+End Sub
+
+Private Sub Timer18_Timer()
+OpenElevator(18) = -1
+Timer18.Enabled = False
+
+End Sub
+
+Private Sub Timer19_Timer()
+OpenElevator(19) = -1
+Timer19.Enabled = False
+
+End Sub
+
 Private Sub Timer2_Timer()
 OpenElevator(2) = -1
 Timer2.Enabled = False
 
 End Sub
 
+Private Sub Timer20_Timer()
+OpenElevator(20) = -1
+Timer20.Enabled = False
+
+End Sub
+
+Private Sub Timer21_Timer()
+OpenElevator(21) = -1
+Timer21.Enabled = False
+
+End Sub
+
+Private Sub Timer22_Timer()
+OpenElevator(22) = -1
+Timer22.Enabled = False
+
+End Sub
+
+Private Sub Timer23_Timer()
+OpenElevator(23) = -1
+Timer23.Enabled = False
+
+End Sub
+
+Private Sub Timer24_Timer()
+OpenElevator(24) = -1
+Timer24.Enabled = False
+
+End Sub
+
+Private Sub Timer25_Timer()
+OpenElevator(25) = -1
+Timer25.Enabled = False
+
+End Sub
+
+Private Sub Timer26_Timer()
+OpenElevator(26) = -1
+Timer26.Enabled = False
+
+End Sub
+
+Private Sub Timer27_Timer()
+OpenElevator(27) = -1
+Timer27.Enabled = False
+
+End Sub
+
+Private Sub Timer28_Timer()
+OpenElevator(28) = -1
+Timer28.Enabled = False
+
+End Sub
+
+Private Sub Timer29_Timer()
+OpenElevator(29) = -1
+Timer29.Enabled = False
+
+End Sub
+
 Private Sub Timer3_Timer()
 OpenElevator(3) = -1
 Timer3.Enabled = False
 
 End Sub
 
+Private Sub Timer30_Timer()
+OpenElevator(30) = -1
+Timer30.Enabled = False
+
+End Sub
+
+Private Sub Timer31_Timer()
+OpenElevator(31) = -1
+Timer31.Enabled = False
+
+End Sub
+
+Private Sub Timer32_Timer()
+OpenElevator(32) = -1
+Timer32.Enabled = False
+
+End Sub
+
+Private Sub Timer33_Timer()
+OpenElevator(33) = -1
+Timer33.Enabled = False
+
+End Sub
+
+Private Sub Timer34_Timer()
+OpenElevator(34) = -1
+Timer34.Enabled = False
+
+End Sub
+
+Private Sub Timer35_Timer()
+OpenElevator(35) = -1
+Timer35.Enabled = False
+
+End Sub
+
+Private Sub Timer36_Timer()
+OpenElevator(36) = -1
+Timer36.Enabled = False
+
+End Sub
+
+Private Sub Timer37_Timer()
+OpenElevator(37) = -1
+Timer37.Enabled = False
+
+End Sub
+
+Private Sub Timer38_Timer()
+OpenElevator(38) = -1
+Timer38.Enabled = False
+
+End Sub
+
+Private Sub Timer39_Timer()
+OpenElevator(39) = -1
+Timer39.Enabled = False
+
+End Sub
+
 Private Sub Timer4_Timer()
 OpenElevator(4) = -1
 Timer4.Enabled = False
 
 End Sub
 
+Private Sub Timer40_Timer()
+OpenElevator(40) = -1
+Timer40.Enabled = False
+
+End Sub
+
 Private Sub Timer5_Timer()
 OpenElevator(5) = -1
 Timer5.Enabled = False
index 0751fb1..52359d5 100755 (executable)
--- a/Form2.frm
+++ b/Form2.frm
@@ -1,23 +1,40 @@
 VERSION 5.00
-Object = "{831FDD16-0C5C-11D2-A9FC-0000F8754DA1}#2.0#0"; "mscomctl.ocx"
+Object = "{831FDD16-0C5C-11D2-A9FC-0000F8754DA1}#2.0#0"; "MSCOMCTL.OCX"
 Begin VB.Form Form2 
    BorderStyle     =   1  'Fixed Single
-   Caption         =   "SkyScraper 0.9 Beta - Simulator Control Panel"
-   ClientHeight    =   4410
-   ClientLeft      =   1500
-   ClientTop       =   1770
+   Caption         =   "SkyScraper 0.92 Beta - Simulator Control Panel"
+   ClientHeight    =   5115
+   ClientLeft      =   1980
+   ClientTop       =   1710
    ClientWidth     =   6720
    Icon            =   "Form2.frx":0000
    LinkTopic       =   "Form2"
    MaxButton       =   0   'False
    MinButton       =   0   'False
-   ScaleHeight     =   4410
+   ScaleHeight     =   5115
    ScaleWidth      =   6720
+   Begin VB.CommandButton Command16 
+      Caption         =   "InitRealtime"
+      Height          =   255
+      Left            =   5160
+      TabIndex        =   67
+      Top             =   4800
+      Width           =   975
+   End
+   Begin VB.CheckBox Check5 
+      Caption         =   "Call Buttons"
+      Height          =   255
+      Left            =   5040
+      TabIndex        =   36
+      Top             =   1680
+      Value           =   1  'Checked
+      Width           =   1695
+   End
    Begin VB.CommandButton Command13 
       Caption         =   "Land Off"
       Height          =   255
       Left            =   5640
-      TabIndex        =   36
+      TabIndex        =   35
       Top             =   1320
       Width           =   855
    End
@@ -25,7 +42,7 @@ Begin VB.Form Form2
       Caption         =   "Land On"
       Height          =   255
       Left            =   4680
-      TabIndex        =   35
+      TabIndex        =   34
       Top             =   1320
       Width           =   855
    End
@@ -33,8 +50,8 @@ Begin VB.Form Form2
       Caption         =   "Collision Detection"
       Height          =   255
       Left            =   5040
-      TabIndex        =   34
-      Top             =   1560
+      TabIndex        =   33
+      Top             =   2040
       Value           =   1  'Checked
       Width           =   1695
    End
@@ -42,7 +59,7 @@ Begin VB.Form Form2
       Caption         =   "Bldgs Off"
       Height          =   255
       Left            =   5640
-      TabIndex        =   33
+      TabIndex        =   32
       Top             =   1080
       Width           =   855
    End
@@ -50,28 +67,30 @@ Begin VB.Form Form2
       Caption         =   "Bldgs On"
       Height          =   255
       Left            =   4680
-      TabIndex        =   32
+      TabIndex        =   31
       Top             =   1080
       Width           =   855
    End
    Begin MSComctlLib.Slider Slider2 
       Height          =   495
       Left            =   0
-      TabIndex        =   22
-      Top             =   2520
+      TabIndex        =   21
+      Top             =   3480
       Width           =   1695
       _ExtentX        =   2990
       _ExtentY        =   873
       _Version        =   393216
       Min             =   1
+      Max             =   40
       SelStart        =   1
+      TickFrequency   =   3
       Value           =   1
    End
    Begin VB.CommandButton Command11 
       Caption         =   "Shaftf Off"
       Height          =   255
       Left            =   5640
-      TabIndex        =   21
+      TabIndex        =   20
       Top             =   840
       Width           =   855
    End
@@ -79,7 +98,7 @@ Begin VB.Form Form2
       Caption         =   "Shaftf On"
       Height          =   255
       Left            =   4680
-      TabIndex        =   20
+      TabIndex        =   19
       Top             =   840
       Width           =   855
    End
@@ -87,16 +106,16 @@ Begin VB.Form Form2
       Caption         =   "Close Elevator"
       Height          =   495
       Left            =   3960
-      TabIndex        =   19
-      Top             =   2760
+      TabIndex        =   18
+      Top             =   3480
       Width           =   855
    End
    Begin VB.CommandButton Command8 
       Caption         =   "Open Elevator"
       Height          =   495
       Left            =   3120
-      TabIndex        =   18
-      Top             =   2760
+      TabIndex        =   17
+      Top             =   3480
       Width           =   855
    End
    Begin VB.CommandButton Command7 
@@ -104,7 +123,7 @@ Begin VB.Form Form2
       Enabled         =   0   'False
       Height          =   255
       Left            =   5640
-      TabIndex        =   17
+      TabIndex        =   16
       Top             =   600
       Width           =   855
    End
@@ -113,7 +132,7 @@ Begin VB.Form Form2
       Enabled         =   0   'False
       Height          =   255
       Left            =   4680
-      TabIndex        =   16
+      TabIndex        =   15
       Top             =   600
       Width           =   855
    End
@@ -121,24 +140,25 @@ Begin VB.Form Form2
       Caption         =   "Recreate Objects"
       Height          =   495
       Left            =   4800
-      TabIndex        =   15
-      Top             =   3600
+      TabIndex        =   14
+      Top             =   3720
       Width           =   855
    End
    Begin VB.CommandButton Command4 
       Caption         =   "Remove Objects"
       Height          =   495
       Left            =   5760
-      TabIndex        =   14
-      Top             =   3600
+      TabIndex        =   13
+      Top             =   3720
       Width           =   855
    End
    Begin VB.CheckBox Check9 
       Caption         =   "Sync"
+      Enabled         =   0   'False
       Height          =   375
       Left            =   5040
-      TabIndex        =   13
-      Top             =   4080
+      TabIndex        =   12
+      Top             =   4200
       Value           =   1  'Checked
       Width           =   975
    End
@@ -146,16 +166,16 @@ Begin VB.Form Form2
       Caption         =   "Goto M"
       Height          =   375
       Left            =   3360
-      TabIndex        =   11
-      Top             =   3960
+      TabIndex        =   10
+      Top             =   4560
       Width           =   975
    End
    Begin VB.CheckBox Check1 
       Caption         =   "Sky"
       Height          =   375
       Left            =   5040
-      TabIndex        =   10
-      Top             =   3240
+      TabIndex        =   9
+      Top             =   3360
       Value           =   1  'Checked
       Width           =   1575
    End
@@ -163,16 +183,16 @@ Begin VB.Form Form2
       Caption         =   "Call Elevator"
       Height          =   375
       Left            =   1800
-      TabIndex        =   9
-      Top             =   2880
+      TabIndex        =   8
+      Top             =   3600
       Width           =   1215
    End
    Begin VB.CheckBox Check8 
       Caption         =   "Stairs (floor)"
       Height          =   375
       Left            =   5040
-      TabIndex        =   8
-      Top             =   2880
+      TabIndex        =   7
+      Top             =   3000
       Value           =   1  'Checked
       Width           =   1575
    End
@@ -180,8 +200,8 @@ Begin VB.Form Form2
       Caption         =   "Shaft Doors"
       Height          =   375
       Left            =   5040
-      TabIndex        =   7
-      Top             =   2520
+      TabIndex        =   6
+      Top             =   2640
       Value           =   1  'Checked
       Width           =   1575
    End
@@ -189,18 +209,8 @@ Begin VB.Form Form2
       Caption         =   "Elevator Doors"
       Height          =   375
       Left            =   5040
-      TabIndex        =   6
-      Top             =   2160
-      Value           =   1  'Checked
-      Width           =   1575
-   End
-   Begin VB.CheckBox Check5 
-      Caption         =   "Elevators"
-      Enabled         =   0   'False
-      Height          =   375
-      Left            =   5040
       TabIndex        =   5
-      Top             =   1800
+      Top             =   2280
       Value           =   1  'Checked
       Width           =   1575
    End
@@ -227,14 +237,14 @@ Begin VB.Form Form2
       Height          =   375
       Left            =   1920
       TabIndex        =   2
-      Top             =   3960
+      Top             =   4560
       Width           =   855
    End
    Begin MSComctlLib.Slider Slider1 
       Height          =   510
       Left            =   120
       TabIndex        =   1
-      Top             =   3360
+      Top             =   4080
       Width           =   4335
       _ExtentX        =   7646
       _ExtentY        =   900
@@ -255,7 +265,7 @@ Begin VB.Form Form2
       Top             =   120
       Width           =   4335
    End
-   Begin VB.Label Label1
+   Begin VB.Label Label4
       Alignment       =   2  'Center
       BorderStyle     =   1  'Fixed Single
       BeginProperty Font 
@@ -269,11 +279,11 @@ Begin VB.Form Form2
       EndProperty
       Height          =   375
       Left            =   4320
-      TabIndex        =   31
-      Top             =   1920
+      TabIndex        =   66
+      Top             =   3000
       Width           =   495
    End
-   Begin VB.Label Label9 
+   Begin VB.Label Label3
       Alignment       =   2  'Center
       BorderStyle     =   1  'Fixed Single
       BeginProperty Font 
@@ -287,11 +297,11 @@ Begin VB.Form Form2
       EndProperty
       Height          =   375
       Left            =   3840
-      TabIndex        =   30
-      Top             =   1920
+      TabIndex        =   65
+      Top             =   3000
       Width           =   495
    End
-   Begin VB.Label Label8 
+   Begin VB.Label Label3
       Alignment       =   2  'Center
       BorderStyle     =   1  'Fixed Single
       BeginProperty Font 
@@ -305,11 +315,11 @@ Begin VB.Form Form2
       EndProperty
       Height          =   375
       Left            =   3360
-      TabIndex        =   29
-      Top             =   1920
+      TabIndex        =   64
+      Top             =   3000
       Width           =   495
    End
-   Begin VB.Label Label7 
+   Begin VB.Label Label3
       Alignment       =   2  'Center
       BorderStyle     =   1  'Fixed Single
       BeginProperty Font 
@@ -323,11 +333,11 @@ Begin VB.Form Form2
       EndProperty
       Height          =   375
       Left            =   2880
-      TabIndex        =   28
-      Top             =   1920
+      TabIndex        =   63
+      Top             =   3000
       Width           =   495
    End
-   Begin VB.Label Label6 
+   Begin VB.Label Label3
       Alignment       =   2  'Center
       BorderStyle     =   1  'Fixed Single
       BeginProperty Font 
@@ -341,11 +351,11 @@ Begin VB.Form Form2
       EndProperty
       Height          =   375
       Left            =   2400
-      TabIndex        =   27
-      Top             =   1920
+      TabIndex        =   62
+      Top             =   3000
       Width           =   495
    End
-   Begin VB.Label Label5 
+   Begin VB.Label Label3
       Alignment       =   2  'Center
       BorderStyle     =   1  'Fixed Single
       BeginProperty Font 
@@ -359,11 +369,11 @@ Begin VB.Form Form2
       EndProperty
       Height          =   375
       Left            =   1920
-      TabIndex        =   26
-      Top             =   1920
+      TabIndex        =   61
+      Top             =   3000
       Width           =   495
    End
-   Begin VB.Label Label4 
+   Begin VB.Label Label3
       Alignment       =   2  'Center
       BorderStyle     =   1  'Fixed Single
       BeginProperty Font 
@@ -377,11 +387,11 @@ Begin VB.Form Form2
       EndProperty
       Height          =   375
       Left            =   1440
-      TabIndex        =   25
-      Top             =   1920
+      TabIndex        =   60
+      Top             =   3000
       Width           =   495
    End
-   Begin VB.Label Label3 
+   Begin VB.Label Label33 
       Alignment       =   2  'Center
       BorderStyle     =   1  'Fixed Single
       BeginProperty Font 
@@ -395,11 +405,11 @@ Begin VB.Form Form2
       EndProperty
       Height          =   375
       Left            =   960
-      TabIndex        =   24
-      Top             =   1920
+      TabIndex        =   59
+      Top             =   3000
       Width           =   495
    End
-   Begin VB.Label Label2 
+   Begin VB.Label Label3
       Alignment       =   2  'Center
       BorderStyle     =   1  'Fixed Single
       BeginProperty Font 
@@ -413,11 +423,11 @@ Begin VB.Form Form2
       EndProperty
       Height          =   375
       Left            =   480
-      TabIndex        =   23
-      Top             =   1920
+      TabIndex        =   58
+      Top             =   3000
       Width           =   495
    End
-   Begin VB.Label Label1 
+   Begin VB.Label Label3
       Alignment       =   2  'Center
       BorderStyle     =   1  'Fixed Single
       BeginProperty Font 
@@ -431,150 +441,684 @@ Begin VB.Form Form2
       EndProperty
       Height          =   375
       Left            =   0
-      TabIndex        =   12
-      Top             =   1920
+      TabIndex        =   57
+      Top             =   3000
       Width           =   495
    End
-End
-Attribute VB_Name = "Form2"
-Attribute VB_GlobalNameSpace = False
-Attribute VB_Creatable = False
-Attribute VB_PredeclaredId = True
-Attribute VB_Exposed = False
-'Skycraper 0.91 Beta
-'Copyright (C) 2003 Ryan Thoryk
-'http://www.tliquest.net/skyscraper
-
-'This program is free software; you can redistribute it and/or
-'modify it under the terms of the GNU General Public License
-'as published by the Free Software Foundation; either version 2
-'of the License, or (at your option) any later version.
-
-'This program is distributed in the hope that it will be useful,
-'but WITHOUT ANY WARRANTY; without even the implied warranty of
-'MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-'GNU General Public License for more details.
-
-'You should have received a copy of the GNU General Public License
-'along with this program; if not, write to the Free Software
-'Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
-
-Option Explicit
-
-
-Private Sub Check1_Click()
-If Check1.Value = 1 Then Atmos.SkyBox_Enable True
-If Check1.Value = 0 Then Atmos.SkyBox_Enable False
-
-End Sub
-
-
-
-Private Sub Check2_Click()
-If Check2.Value = 1 Then External.Enable True
-If Check2.Value = 0 Then External.Enable False
-
-End Sub
-
-Private Sub Check3_Click()
-If Check3.Value = 1 Then Room(CameraFloor).Enable True
-If Check3.Value = 0 Then Room(CameraFloor).Enable False
-End Sub
-
-
-Private Sub Check4_Click()
-If Check4.Value = 1 Then EnableCollisions = True
-If Check4.Value = 0 Then EnableCollisions = False: FallRate = 0
-End Sub
-
-Private Sub Check5_Click()
-For i = 1 To 10
-If Check5.Value = 1 Then Elevator(i).Enable True
-If Check5.Value = 0 Then Elevator(i).Enable False
-Next i
-End Sub
-
-Private Sub Check6_Click()
-For i = 1 To 10
-If Check6.Value = 1 Then ElevatorInsDoorL(i).Enable True: ElevatorInsDoorR(i).Enable True
-If Check6.Value = 0 Then ElevatorInsDoorL(i).Enable False: ElevatorInsDoorR(i).Enable False
-Next i
-End Sub
-
-Private Sub Check7_Click()
-i = CameraFloor
-If i = 1 Then i = -1
-If Check7.Value = 1 Then
-ElevatorDoor1L(i).Enable True: ElevatorDoor1R(i).Enable True
-ElevatorDoor2L(i).Enable True: ElevatorDoor2R(i).Enable True
-ElevatorDoor3L(i).Enable True: ElevatorDoor3R(i).Enable True
-ElevatorDoor4L(i).Enable True: ElevatorDoor4R(i).Enable True
-ElevatorDoor5L(i).Enable True: ElevatorDoor5R(i).Enable True
-ElevatorDoor6L(i).Enable True: ElevatorDoor6R(i).Enable True
-ElevatorDoor7L(i).Enable True: ElevatorDoor7R(i).Enable True
-ElevatorDoor8L(i).Enable True: ElevatorDoor8R(i).Enable True
-ElevatorDoor9L(i).Enable True: ElevatorDoor9R(i).Enable True
-ElevatorDoor10L(i).Enable True: ElevatorDoor10R(i).Enable True
-End If
-
-If Check7.Value = 0 Then ElevatorDoor1L(i).Enable False: ElevatorDoor1R(i).Enable False
-If Check7.Value = 0 Then ElevatorDoor2L(i).Enable False: ElevatorDoor2R(i).Enable False
-If Check7.Value = 0 Then ElevatorDoor3L(i).Enable False: ElevatorDoor3R(i).Enable False
-If Check7.Value = 0 Then ElevatorDoor4L(i).Enable False: ElevatorDoor4R(i).Enable False
-If Check7.Value = 0 Then ElevatorDoor5L(i).Enable False: ElevatorDoor5R(i).Enable False
-If Check7.Value = 0 Then ElevatorDoor6L(i).Enable False: ElevatorDoor6R(i).Enable False
-If Check7.Value = 0 Then ElevatorDoor7L(i).Enable False: ElevatorDoor7R(i).Enable False
-If Check7.Value = 0 Then ElevatorDoor8L(i).Enable False: ElevatorDoor8R(i).Enable False
-If Check7.Value = 0 Then ElevatorDoor9L(i).Enable False: ElevatorDoor9R(i).Enable False
-If Check7.Value = 0 Then ElevatorDoor10L(i).Enable False: ElevatorDoor10R(i).Enable False
-
-End Sub
-
-Private Sub Check8_Click()
-If Check8.Value = 1 Then
-Stairs(CameraFloor).Enable True
-If CameraFloor < 138 Then Stairs(CameraFloor + 1).Enable True
-If CameraFloor > 1 Then Stairs(CameraFloor - 1).Enable True
-End If
-
-If Check8.Value = 0 Then
-Stairs(CameraFloor).Enable False
-If CameraFloor < 138 Then Stairs(CameraFloor + 1).Enable False
-If CameraFloor > 1 Then Stairs(CameraFloor - 1).Enable False
-End If
-End Sub
-
-Private Sub Command1_Click()
-ElevatorNumber = Slider2.Value
-If Check9.Value = 1 Then ElevatorSync(ElevatorNumber) = True Else ElevatorSync(ElevatorNumber) = False
-OpenElevator(ElevatorNumber) = -1
-GotoFloor(ElevatorNumber) = Slider1.Value
-If GotoFloor(ElevatorNumber) = 1 Then GotoFloor(ElevatorNumber) = -1
-End Sub
-
-Private Sub Command10_Click()
-ShaftsFloor(CameraFloor).Enable True
-End Sub
-
-Private Sub Command11_Click()
-ShaftsFloor(CameraFloor).Enable False
-End Sub
-
-
-Private Sub Command12_Click()
-Landscape.Enable True
-End Sub
-
-Private Sub Command13_Click()
-Landscape.Enable False
-End Sub
-
-Private Sub Command14_Click()
-Buildings.Enable True
-End Sub
-
-Private Sub Command15_Click()
-Buildings.Enable False
+   Begin VB.Label Label30 
+      Alignment       =   2  'Center
+      BorderStyle     =   1  'Fixed Single
+      BeginProperty Font 
+         Name            =   "MS Sans Serif"
+         Size            =   9.75
+         Charset         =   0
+         Weight          =   700
+         Underline       =   0   'False
+         Italic          =   0   'False
+         Strikethrough   =   0   'False
+      EndProperty
+      Height          =   375
+      Left            =   4320
+      TabIndex        =   56
+      Top             =   2640
+      Width           =   495
+   End
+   Begin VB.Label Label29 
+      Alignment       =   2  'Center
+      BorderStyle     =   1  'Fixed Single
+      BeginProperty Font 
+         Name            =   "MS Sans Serif"
+         Size            =   9.75
+         Charset         =   0
+         Weight          =   700
+         Underline       =   0   'False
+         Italic          =   0   'False
+         Strikethrough   =   0   'False
+      EndProperty
+      Height          =   375
+      Left            =   3840
+      TabIndex        =   55
+      Top             =   2640
+      Width           =   495
+   End
+   Begin VB.Label Label28 
+      Alignment       =   2  'Center
+      BorderStyle     =   1  'Fixed Single
+      BeginProperty Font 
+         Name            =   "MS Sans Serif"
+         Size            =   9.75
+         Charset         =   0
+         Weight          =   700
+         Underline       =   0   'False
+         Italic          =   0   'False
+         Strikethrough   =   0   'False
+      EndProperty
+      Height          =   375
+      Left            =   3360
+      TabIndex        =   54
+      Top             =   2640
+      Width           =   495
+   End
+   Begin VB.Label Label27 
+      Alignment       =   2  'Center
+      BorderStyle     =   1  'Fixed Single
+      BeginProperty Font 
+         Name            =   "MS Sans Serif"
+         Size            =   9.75
+         Charset         =   0
+         Weight          =   700
+         Underline       =   0   'False
+         Italic          =   0   'False
+         Strikethrough   =   0   'False
+      EndProperty
+      Height          =   375
+      Left            =   2880
+      TabIndex        =   53
+      Top             =   2640
+      Width           =   495
+   End
+   Begin VB.Label Label26 
+      Alignment       =   2  'Center
+      BorderStyle     =   1  'Fixed Single
+      BeginProperty Font 
+         Name            =   "MS Sans Serif"
+         Size            =   9.75
+         Charset         =   0
+         Weight          =   700
+         Underline       =   0   'False
+         Italic          =   0   'False
+         Strikethrough   =   0   'False
+      EndProperty
+      Height          =   375
+      Left            =   2400
+      TabIndex        =   52
+      Top             =   2640
+      Width           =   495
+   End
+   Begin VB.Label Label25 
+      Alignment       =   2  'Center
+      BorderStyle     =   1  'Fixed Single
+      BeginProperty Font 
+         Name            =   "MS Sans Serif"
+         Size            =   9.75
+         Charset         =   0
+         Weight          =   700
+         Underline       =   0   'False
+         Italic          =   0   'False
+         Strikethrough   =   0   'False
+      EndProperty
+      Height          =   375
+      Left            =   1920
+      TabIndex        =   51
+      Top             =   2640
+      Width           =   495
+   End
+   Begin VB.Label Label24 
+      Alignment       =   2  'Center
+      BorderStyle     =   1  'Fixed Single
+      BeginProperty Font 
+         Name            =   "MS Sans Serif"
+         Size            =   9.75
+         Charset         =   0
+         Weight          =   700
+         Underline       =   0   'False
+         Italic          =   0   'False
+         Strikethrough   =   0   'False
+      EndProperty
+      Height          =   375
+      Left            =   1440
+      TabIndex        =   50
+      Top             =   2640
+      Width           =   495
+   End
+   Begin VB.Label Label23 
+      Alignment       =   2  'Center
+      BorderStyle     =   1  'Fixed Single
+      BeginProperty Font 
+         Name            =   "MS Sans Serif"
+         Size            =   9.75
+         Charset         =   0
+         Weight          =   700
+         Underline       =   0   'False
+         Italic          =   0   'False
+         Strikethrough   =   0   'False
+      EndProperty
+      Height          =   375
+      Left            =   960
+      TabIndex        =   49
+      Top             =   2640
+      Width           =   495
+   End
+   Begin VB.Label Label22 
+      Alignment       =   2  'Center
+      BorderStyle     =   1  'Fixed Single
+      BeginProperty Font 
+         Name            =   "MS Sans Serif"
+         Size            =   9.75
+         Charset         =   0
+         Weight          =   700
+         Underline       =   0   'False
+         Italic          =   0   'False
+         Strikethrough   =   0   'False
+      EndProperty
+      Height          =   375
+      Left            =   480
+      TabIndex        =   48
+      Top             =   2640
+      Width           =   495
+   End
+   Begin VB.Label Label21 
+      Alignment       =   2  'Center
+      BorderStyle     =   1  'Fixed Single
+      BeginProperty Font 
+         Name            =   "MS Sans Serif"
+         Size            =   9.75
+         Charset         =   0
+         Weight          =   700
+         Underline       =   0   'False
+         Italic          =   0   'False
+         Strikethrough   =   0   'False
+      EndProperty
+      Height          =   375
+      Left            =   0
+      TabIndex        =   47
+      Top             =   2640
+      Width           =   495
+   End
+   Begin VB.Label Label20 
+      Alignment       =   2  'Center
+      BorderStyle     =   1  'Fixed Single
+      BeginProperty Font 
+         Name            =   "MS Sans Serif"
+         Size            =   9.75
+         Charset         =   0
+         Weight          =   700
+         Underline       =   0   'False
+         Italic          =   0   'False
+         Strikethrough   =   0   'False
+      EndProperty
+      Height          =   375
+      Left            =   4320
+      TabIndex        =   46
+      Top             =   2280
+      Width           =   495
+   End
+   Begin VB.Label Label19 
+      Alignment       =   2  'Center
+      BorderStyle     =   1  'Fixed Single
+      BeginProperty Font 
+         Name            =   "MS Sans Serif"
+         Size            =   9.75
+         Charset         =   0
+         Weight          =   700
+         Underline       =   0   'False
+         Italic          =   0   'False
+         Strikethrough   =   0   'False
+      EndProperty
+      Height          =   375
+      Left            =   3840
+      TabIndex        =   45
+      Top             =   2280
+      Width           =   495
+   End
+   Begin VB.Label Label18 
+      Alignment       =   2  'Center
+      BorderStyle     =   1  'Fixed Single
+      BeginProperty Font 
+         Name            =   "MS Sans Serif"
+         Size            =   9.75
+         Charset         =   0
+         Weight          =   700
+         Underline       =   0   'False
+         Italic          =   0   'False
+         Strikethrough   =   0   'False
+      EndProperty
+      Height          =   375
+      Left            =   3360
+      TabIndex        =   44
+      Top             =   2280
+      Width           =   495
+   End
+   Begin VB.Label Label17 
+      Alignment       =   2  'Center
+      BorderStyle     =   1  'Fixed Single
+      BeginProperty Font 
+         Name            =   "MS Sans Serif"
+         Size            =   9.75
+         Charset         =   0
+         Weight          =   700
+         Underline       =   0   'False
+         Italic          =   0   'False
+         Strikethrough   =   0   'False
+      EndProperty
+      Height          =   375
+      Left            =   2880
+      TabIndex        =   43
+      Top             =   2280
+      Width           =   495
+   End
+   Begin VB.Label Label16 
+      Alignment       =   2  'Center
+      BorderStyle     =   1  'Fixed Single
+      BeginProperty Font 
+         Name            =   "MS Sans Serif"
+         Size            =   9.75
+         Charset         =   0
+         Weight          =   700
+         Underline       =   0   'False
+         Italic          =   0   'False
+         Strikethrough   =   0   'False
+      EndProperty
+      Height          =   375
+      Left            =   2400
+      TabIndex        =   42
+      Top             =   2280
+      Width           =   495
+   End
+   Begin VB.Label Label15 
+      Alignment       =   2  'Center
+      BorderStyle     =   1  'Fixed Single
+      BeginProperty Font 
+         Name            =   "MS Sans Serif"
+         Size            =   9.75
+         Charset         =   0
+         Weight          =   700
+         Underline       =   0   'False
+         Italic          =   0   'False
+         Strikethrough   =   0   'False
+      EndProperty
+      Height          =   375
+      Left            =   1920
+      TabIndex        =   41
+      Top             =   2280
+      Width           =   495
+   End
+   Begin VB.Label Label14 
+      Alignment       =   2  'Center
+      BorderStyle     =   1  'Fixed Single
+      BeginProperty Font 
+         Name            =   "MS Sans Serif"
+         Size            =   9.75
+         Charset         =   0
+         Weight          =   700
+         Underline       =   0   'False
+         Italic          =   0   'False
+         Strikethrough   =   0   'False
+      EndProperty
+      Height          =   375
+      Left            =   1440
+      TabIndex        =   40
+      Top             =   2280
+      Width           =   495
+   End
+   Begin VB.Label Label13 
+      Alignment       =   2  'Center
+      BorderStyle     =   1  'Fixed Single
+      BeginProperty Font 
+         Name            =   "MS Sans Serif"
+         Size            =   9.75
+         Charset         =   0
+         Weight          =   700
+         Underline       =   0   'False
+         Italic          =   0   'False
+         Strikethrough   =   0   'False
+      EndProperty
+      Height          =   375
+      Left            =   960
+      TabIndex        =   39
+      Top             =   2280
+      Width           =   495
+   End
+   Begin VB.Label Label12 
+      Alignment       =   2  'Center
+      BorderStyle     =   1  'Fixed Single
+      BeginProperty Font 
+         Name            =   "MS Sans Serif"
+         Size            =   9.75
+         Charset         =   0
+         Weight          =   700
+         Underline       =   0   'False
+         Italic          =   0   'False
+         Strikethrough   =   0   'False
+      EndProperty
+      Height          =   375
+      Left            =   480
+      TabIndex        =   38
+      Top             =   2280
+      Width           =   495
+   End
+   Begin VB.Label Label11 
+      Alignment       =   2  'Center
+      BorderStyle     =   1  'Fixed Single
+      BeginProperty Font 
+         Name            =   "MS Sans Serif"
+         Size            =   9.75
+         Charset         =   0
+         Weight          =   700
+         Underline       =   0   'False
+         Italic          =   0   'False
+         Strikethrough   =   0   'False
+      EndProperty
+      Height          =   375
+      Left            =   0
+      TabIndex        =   37
+      Top             =   2280
+      Width           =   495
+   End
+   Begin VB.Label Label10 
+      Alignment       =   2  'Center
+      BorderStyle     =   1  'Fixed Single
+      BeginProperty Font 
+         Name            =   "MS Sans Serif"
+         Size            =   9.75
+         Charset         =   0
+         Weight          =   700
+         Underline       =   0   'False
+         Italic          =   0   'False
+         Strikethrough   =   0   'False
+      EndProperty
+      Height          =   375
+      Left            =   4320
+      TabIndex        =   30
+      Top             =   1920
+      Width           =   495
+   End
+   Begin VB.Label Label9 
+      Alignment       =   2  'Center
+      BorderStyle     =   1  'Fixed Single
+      BeginProperty Font 
+         Name            =   "MS Sans Serif"
+         Size            =   9.75
+         Charset         =   0
+         Weight          =   700
+         Underline       =   0   'False
+         Italic          =   0   'False
+         Strikethrough   =   0   'False
+      EndProperty
+      Height          =   375
+      Left            =   3840
+      TabIndex        =   29
+      Top             =   1920
+      Width           =   495
+   End
+   Begin VB.Label Label8 
+      Alignment       =   2  'Center
+      BorderStyle     =   1  'Fixed Single
+      BeginProperty Font 
+         Name            =   "MS Sans Serif"
+         Size            =   9.75
+         Charset         =   0
+         Weight          =   700
+         Underline       =   0   'False
+         Italic          =   0   'False
+         Strikethrough   =   0   'False
+      EndProperty
+      Height          =   375
+      Left            =   3360
+      TabIndex        =   28
+      Top             =   1920
+      Width           =   495
+   End
+   Begin VB.Label Label7 
+      Alignment       =   2  'Center
+      BorderStyle     =   1  'Fixed Single
+      BeginProperty Font 
+         Name            =   "MS Sans Serif"
+         Size            =   9.75
+         Charset         =   0
+         Weight          =   700
+         Underline       =   0   'False
+         Italic          =   0   'False
+         Strikethrough   =   0   'False
+      EndProperty
+      Height          =   375
+      Left            =   2880
+      TabIndex        =   27
+      Top             =   1920
+      Width           =   495
+   End
+   Begin VB.Label Label6 
+      Alignment       =   2  'Center
+      BorderStyle     =   1  'Fixed Single
+      BeginProperty Font 
+         Name            =   "MS Sans Serif"
+         Size            =   9.75
+         Charset         =   0
+         Weight          =   700
+         Underline       =   0   'False
+         Italic          =   0   'False
+         Strikethrough   =   0   'False
+      EndProperty
+      Height          =   375
+      Left            =   2400
+      TabIndex        =   26
+      Top             =   1920
+      Width           =   495
+   End
+   Begin VB.Label Label5 
+      Alignment       =   2  'Center
+      BorderStyle     =   1  'Fixed Single
+      BeginProperty Font 
+         Name            =   "MS Sans Serif"
+         Size            =   9.75
+         Charset         =   0
+         Weight          =   700
+         Underline       =   0   'False
+         Italic          =   0   'False
+         Strikethrough   =   0   'False
+      EndProperty
+      Height          =   375
+      Left            =   1920
+      TabIndex        =   25
+      Top             =   1920
+      Width           =   495
+   End
+   Begin VB.Label Label4 
+      Alignment       =   2  'Center
+      BorderStyle     =   1  'Fixed Single
+      BeginProperty Font 
+         Name            =   "MS Sans Serif"
+         Size            =   9.75
+         Charset         =   0
+         Weight          =   700
+         Underline       =   0   'False
+         Italic          =   0   'False
+         Strikethrough   =   0   'False
+      EndProperty
+      Height          =   375
+      Left            =   1440
+      TabIndex        =   24
+      Top             =   1920
+      Width           =   495
+   End
+   Begin VB.Label Label3 
+      Alignment       =   2  'Center
+      BorderStyle     =   1  'Fixed Single
+      BeginProperty Font 
+         Name            =   "MS Sans Serif"
+         Size            =   9.75
+         Charset         =   0
+         Weight          =   700
+         Underline       =   0   'False
+         Italic          =   0   'False
+         Strikethrough   =   0   'False
+      EndProperty
+      Height          =   375
+      Left            =   960
+      TabIndex        =   23
+      Top             =   1920
+      Width           =   495
+   End
+   Begin VB.Label Label2 
+      Alignment       =   2  'Center
+      BorderStyle     =   1  'Fixed Single
+      BeginProperty Font 
+         Name            =   "MS Sans Serif"
+         Size            =   9.75
+         Charset         =   0
+         Weight          =   700
+         Underline       =   0   'False
+         Italic          =   0   'False
+         Strikethrough   =   0   'False
+      EndProperty
+      Height          =   375
+      Left            =   480
+      TabIndex        =   22
+      Top             =   1920
+      Width           =   495
+   End
+   Begin VB.Label Label1 
+      Alignment       =   2  'Center
+      BorderStyle     =   1  'Fixed Single
+      BeginProperty Font 
+         Name            =   "MS Sans Serif"
+         Size            =   9.75
+         Charset         =   0
+         Weight          =   700
+         Underline       =   0   'False
+         Italic          =   0   'False
+         Strikethrough   =   0   'False
+      EndProperty
+      Height          =   375
+      Left            =   0
+      TabIndex        =   11
+      Top             =   1920
+      Width           =   495
+   End
+End
+Attribute VB_Name = "Form2"
+Attribute VB_GlobalNameSpace = False
+Attribute VB_Creatable = False
+Attribute VB_PredeclaredId = True
+Attribute VB_Exposed = False
+'Skycraper 0.92 Beta
+'Copyright (C) 2003 Ryan Thoryk
+'http://www.tliquest.net/skyscraper
+'http://sourceforge.net/projects/skyscraper
+
+'This program is free software; you can redistribute it and/or
+'modify it under the terms of the GNU General Public License
+'as published by the Free Software Foundation; either version 2
+'of the License, or (at your option) any later version.
+
+'This program is distributed in the hope that it will be useful,
+'but WITHOUT ANY WARRANTY; without even the implied warranty of
+'MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+'GNU General Public License for more details.
+
+'You should have received a copy of the GNU General Public License
+'along with this program; if not, write to the Free Software
+'Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
+
+Option Explicit
+
+
+Private Sub Check1_Click()
+If Check1.Value = 1 Then Atmos.SkyBox_Enable True
+If Check1.Value = 0 Then Atmos.SkyBox_Enable False
+
+End Sub
+
+
+
+Private Sub Check2_Click()
+If Check2.Value = 1 Then External.Enable True
+If Check2.Value = 0 Then External.Enable False
+
+End Sub
+
+Private Sub Check3_Click()
+If Check3.Value = 1 Then Room(CameraFloor).Enable True
+If Check3.Value = 0 Then Room(CameraFloor).Enable False
+End Sub
+
+
+Private Sub Check4_Click()
+If Check4.Value = 1 Then EnableCollisions = True
+If Check4.Value = 0 Then EnableCollisions = False: FallRate = 0
+End Sub
+
+Private Sub Check5_Click()
+For i = 1 To 40
+If Check5.Value = 1 Then CallButtons(i).Enable True
+If Check5.Value = 0 Then CallButtons(i).Enable False
+Next i
+End Sub
+
+Private Sub Check6_Click()
+For i = 1 To 40
+If Check6.Value = 1 Then ElevatorInsDoorL(i).Enable True: ElevatorInsDoorR(i).Enable True
+If Check6.Value = 0 Then ElevatorInsDoorL(i).Enable False: ElevatorInsDoorR(i).Enable False
+Next i
+End Sub
+
+Private Sub Check7_Click()
+On Error Resume Next
+'i = CameraFloor
+'If i = 1 Then i = -1
+If Check7.Value = 1 Then
+For i = 1 To 40
+ElevatorDoorL(i).Enable True
+ElevatorDoorR(i).Enable True
+Next i
+End If
+If Check7.Value = 0 Then
+For i = 1 To 40
+ElevatorDoorL(i).Enable False
+ElevatorDoorR(i).Enable False
+Next i
+End If
+End Sub
+
+Private Sub Check8_Click()
+If Check8.Value = 1 Then
+Stairs(CameraFloor).Enable True
+If CameraFloor < 138 Then Stairs(CameraFloor + 1).Enable True
+If CameraFloor > 1 Then Stairs(CameraFloor - 1).Enable True
+End If
+
+If Check8.Value = 0 Then
+Stairs(CameraFloor).Enable False
+If CameraFloor < 138 Then Stairs(CameraFloor + 1).Enable False
+If CameraFloor > 1 Then Stairs(CameraFloor - 1).Enable False
+End If
+End Sub
+
+Private Sub Command1_Click()
+ElevatorNumber = Slider2.Value
+If Check9.Value = 1 Then ElevatorSync(ElevatorNumber) = True Else ElevatorSync(ElevatorNumber) = False
+OpenElevator(ElevatorNumber) = -1
+GotoFloor(ElevatorNumber) = Slider1.Value
+If GotoFloor(ElevatorNumber) = 1 Then GotoFloor(ElevatorNumber) = -1
+End Sub
+
+Private Sub Command10_Click()
+ShaftsFloor(CameraFloor).Enable True
+End Sub
+
+Private Sub Command11_Click()
+ShaftsFloor(CameraFloor).Enable False
+End Sub
+
+
+Private Sub Command12_Click()
+Landscape.Enable True
+End Sub
+
+Private Sub Command13_Click()
+Landscape.Enable False
+End Sub
+
+Private Sub Command14_Click()
+Buildings.Enable True
+End Sub
+
+Private Sub Command15_Click()
+Buildings.Enable False
+End Sub
+
+Private Sub Command16_Click()
+Call InitRealtime(CameraFloor)
 End Sub
 
 Private Sub Command2_Click()
@@ -582,7 +1126,7 @@ ElevatorNumber = Slider2.Value
 ElevatorSync(ElevatorNumber) = False
 OpenElevator(ElevatorNumber) = -1
 GotoFloor(ElevatorNumber) = CameraFloor
-If CameraFloor = 1 And Camera.GetPosition.Y > 27 Then GotoFloor(ElevatorNumber) = 0.1
+If CameraFloor = 1 And Camera.GetPosition.Y > FloorHeight Then GotoFloor(ElevatorNumber) = 0.1
 If GotoFloor(ElevatorNumber) = 1 Then GotoFloor(ElevatorNumber) = -1
 End Sub
 
@@ -600,6 +1144,7 @@ End Sub
 
 Private Sub Command5_Click()
 Test1 = True
+Call InitRealtime(CameraFloor)
 InitObjectsForFloor (CameraFloor)
 
 End Sub
index c754d18..52df967 100755 (executable)
--- a/Form3.frm
+++ b/Form3.frm
@@ -16,9 +16,10 @@ Attribute VB_GlobalNameSpace = False
 Attribute VB_Creatable = False
 Attribute VB_PredeclaredId = True
 Attribute VB_Exposed = False
-'Skycraper 0.91 Beta
+'Skycraper 0.92 Beta
 'Copyright (C) 2003 Ryan Thoryk
 'http://www.tliquest.net/skyscraper
+'http://sourceforge.net/projects/skyscraper
 
 'This program is free software; you can redistribute it and/or
 'modify it under the terms of the GNU General Public License
index dd648e5..9ca1c91 100755 (executable)
@@ -3,14 +3,15 @@ Reference=*\G{00020430-0000-0000-C000-000000000046}#2.0#0#..\WINNT\System32\stdo
 Reference=*\G{E1211242-8E94-11D1-8808-00C04FC2C603}#1.0#0#..\WINNT\System32\dx8vb.dll#DirectX 8 for Visual Basic Type Library
 Reference=*\G{E6241C9D-371E-44C7-9579-F208B7B5F89F}#9.0#0#..\TV3DSDK\Bin\truevision3d.dll#TrueVision3D DX8 v6.0 (rc2.8) engine
 Reference=*\G{8DEE1F7E-510D-4F7A-98A6-3C7766D3C823}#1.0#0#..\TV3DSDK\Bin\tvmedia.dll#TV3D SDK 6.0 - TV3DMedia
-Object={831FDD16-0C5C-11D2-A9FC-0000F8754DA1}#2.0#0; mscomctl.ocx
-Object={86CF1D34-0C5F-11D2-A9FC-0000F8754DA1}#2.0#0; mscomct2.ocx
+Object={831FDD16-0C5C-11D2-A9FC-0000F8754DA1}#2.0#0; MSCOMCTL.OCX
+Object={86CF1D34-0C5F-11D2-A9FC-0000F8754DA1}#2.0#0; MSCOMCT2.OCX
 Object={38911DA0-E448-11D0-84A3-00DD01104159}#1.1#0; COMCT332.OCX
 Form=Form1.frm
 Form=Form2.frm
 Form=Form3.frm
 Module=CoreRoutines; CoreRoutines.bas
 Module=ElevatorCode; ElevatorCode.bas
+Module=CoreRoutines2; CoreRoutines2.bas
 IconForm="Form1"
 Startup="Form1"
 HelpFile=""
@@ -22,14 +23,14 @@ HelpContextID="0"
 Description="Virtual Skyscraper Simulator"
 CompatibleMode="0"
 MajorVer=0
-MinorVer=91
-RevisionVer=69
+MinorVer=92
+RevisionVer=101
 AutoIncrementVer=1
 ServerSupportFiles=0
 VersionComments="http://www.tliquest.net/skyscraper"
 VersionCompanyName="TLI Networks"
 VersionFileDescription="Virtual Skyscraper Simulator"
-VersionLegalCopyright="Copyright 2003 Ryan Thoryk"
+VersionLegalCopyright="Copyright 2003 Ryan Thoryk, released under the GPL"
 VersionProductName="Skyscraper"
 CompilationType=0
 OptimizationType=0
@@ -46,6 +47,7 @@ Unattended=0
 Retained=0
 ThreadPerObject=0
 MaxNumberOfThreads=1
+DebugStartupOption=0
 
 [MS Transaction Server]
 AutoRefresh=1
index c57513a..e36a18e 100755 (executable)
@@ -1,5 +1,6 @@
-Form1 = 134, 209, 730, 691, C, 0, 0, 754, 566, C
-Form2 = 44, 134, 578, 582, C, 0, 0, 614, 402, C
+Form1 = 160, 172, 756, 654, C, 0, 0, 754, 566, C
+Form2 = 135, 145, 669, 593, C, 0, 0, 614, 402, C
 Form3 = 110, 110, 644, 558, C, 88, 88, 622, 536, C
-CoreRoutines = 69, 100, 774, 744, C
-ElevatorCode = 62, 157, 660, 733, 
+CoreRoutines = 133, 167, 785, 659, C
+ElevatorCode = 110, 113, 911, 703, C
+CoreRoutines2 = 100, 86, 763, 718, C
index 1f36731..9f49974 100755 (executable)
@@ -1,6 +1,8 @@
-Skyscraper version 0.91 - Beta
+Skyscraper version 0.92 - Beta
 ©2003 Ryan Thoryk
 http://www.tliquest.net/skyscraper
+http://sourceforge.net/projects/skyscraper
+email: ryan@tliquest.net
 
 Legal Notice
 ------------------------------
@@ -30,8 +32,14 @@ which originally got it's inspiration from the 137-story Glass Tower in the movi
 Inferno, and 7 South Dearborn, a 112-story proposed building for downtown Chicago.
 Original models (2D and 3D) of the Triton Center were made in MyHouse for Windows 6.5.
 The building's features and locations of equipment currently don't aim to be 100% accurate
-or even realistic, for example, the single stairwell for the whole building.  These might
-be changed in newer models of the Triton Center, but we'll see.
+or even realistic, but they might be changed in newer models of the Triton Center.
+
+This release, version 0.92, contains 40 elevators, redesigned floor layouts, redesigned elevator
+floor assignments, crawlspaces between each floor, multiple pipe shafts, multiple stairwells, 
+many bugfixes, some adjustable variables (like elevator speed, height of crawlspaces, etc), code
+cleanups, speed optimizations, and more.
+
+--------------------
 
 Important keys used in the game:
 5 - play elevator music (disabled in this release)