mirror of
https://github.com/unixtensor/Roblox-Elevator-Game.git
synced 2025-12-13 22:31:55 +00:00
Restructure the elevator scripts, and gonna try this elevator leveling and call system
This commit is contained in:
File diff suppressed because one or more lines are too long
@@ -2,37 +2,38 @@
|
||||
--!native
|
||||
--!strict
|
||||
|
||||
local MainDir = script.Parent.Parent.Parent
|
||||
local MainDir = script.Parent.Parent
|
||||
local StorageService = game:GetService("ReplicatedStorage")
|
||||
|
||||
local Enums = require(StorageService:WaitForChild("Enums"))
|
||||
local SoundEnums = require(MainDir:WaitForChild("Enums"):WaitForChild("Sounds"))
|
||||
local ElevatorTypes = require(MainDir:WaitForChild("Types"):WaitForChild("Elevator"))
|
||||
|
||||
local ElevatorConfiguration = {} :: ElevatorTypes.ElevatorConfigurationTable
|
||||
ElevatorConfiguration.Name = Enums.Elevator.Otis1960
|
||||
ElevatorConfiguration.FloorLevelingDistance = 4
|
||||
ElevatorConfiguration.FloorLeveling3PhaseDistance = 1.5
|
||||
ElevatorConfiguration.ParkedDistance = 0.2
|
||||
ElevatorConfiguration.Responsiveness = 20
|
||||
ElevatorConfiguration.MaxVelocity = 7
|
||||
ElevatorConfiguration.LevelingVelocity = 2
|
||||
ElevatorConfiguration.Phase3LevelingVelocity = .5
|
||||
|
||||
ElevatorConfiguration.Functions = {
|
||||
local Otis1960Configuration = {} :: ElevatorTypes.ElevatorConfigurationTable
|
||||
Otis1960Configuration.Name = Enums.Elevator.Otis1960
|
||||
Otis1960Configuration.FloorLevelingDistance = 4
|
||||
Otis1960Configuration.FloorLeveling3PhaseDistance = 1.5
|
||||
Otis1960Configuration.ParkedDistance = 0.2
|
||||
Otis1960Configuration.Responsiveness = 20
|
||||
Otis1960Configuration.MaxVelocity = 7
|
||||
Otis1960Configuration.LevelingVelocity = 2
|
||||
Otis1960Configuration.Phase3LevelingVelocity = .5
|
||||
Otis1960Configuration.Functions = {
|
||||
ManualTravelStart = false
|
||||
}
|
||||
|
||||
ElevatorConfiguration.Sounds = {
|
||||
Otis1960Configuration.Sounds = {
|
||||
LanternChimeDirection = SoundEnums.Otis1960.LanternChimeDirection,
|
||||
LanternChimeLanding = SoundEnums.Otis1960.LanternChimeLanding
|
||||
}
|
||||
|
||||
ElevatorConfiguration.Colors = {
|
||||
Otis1960Configuration.Colors = {
|
||||
ButtonActivated = Color3.fromRGB(180,0,0),
|
||||
ButtonDeactivated = Color3.fromRGB(139,139,139),
|
||||
LanternDisplayOn = Color3.fromRGB(255,114,71),
|
||||
LanternDisplayOff = Color3.fromRGB(55,55,55),
|
||||
}
|
||||
|
||||
return ElevatorConfiguration
|
||||
|
||||
|
||||
return {
|
||||
Otis1960Configuration = Otis1960Configuration
|
||||
}
|
||||
@@ -93,7 +93,7 @@ local function Mover(ElevatorBoxModel: UnionOperation, Responsiveness: number, M
|
||||
local BoxAlignPosition = Instance.new("AlignPosition")
|
||||
BoxAlignPosition.Mode = Enum.PositionAlignmentMode.OneAttachment
|
||||
BoxAlignPosition.Attachment0 = BoxAttachment
|
||||
BoxAlignPosition.MaxForce = math.huge
|
||||
BoxAlignPosition.MaxForce = 1e6
|
||||
BoxAlignPosition.Position = ElevatorBoxModel.Position
|
||||
-- BoxAlignPosition.RigidityEnabled = true
|
||||
-- Lines below are disabled with RigidityEnabled true
|
||||
@@ -342,6 +342,7 @@ function Elevator:__TravelToFloorAsync(Level_Int, LEVEL_VEC3_Y_WRAP)
|
||||
self.__Connections.Moving:Disconnect()
|
||||
end
|
||||
|
||||
print("TravelingToFloorAsync")
|
||||
local ElevatorTravelingUpwards = ElevatorGoingUpDirection(self.Attributes.CurrentFloor.Value, Level_Int)
|
||||
self.Attributes.Goal.Value = Level_Int
|
||||
self.Attributes.TravelingUpwards.Value = ElevatorTravelingUpwards
|
||||
|
||||
29
src/server/main/Elevators/Leveling.luau
Normal file
29
src/server/main/Elevators/Leveling.luau
Normal file
@@ -0,0 +1,29 @@
|
||||
--!optimize 2
|
||||
--!native
|
||||
--!strict
|
||||
|
||||
local Otis1960Leveling: {number} = {
|
||||
[1] = 13.041,
|
||||
[2] = 37.973,
|
||||
[3] = 62.978,
|
||||
[4] = 87.968,
|
||||
[5] = 112.952,
|
||||
[6] = 137.988,
|
||||
[7] = 163.009,
|
||||
[8] = 188.007,
|
||||
[9] = 213.058,
|
||||
[10] = 239.245,
|
||||
}
|
||||
|
||||
local HaughtonLeveling: {number} = {
|
||||
[1] = 0,
|
||||
[2] = 0,
|
||||
[3] = 0,
|
||||
[4] = 0,
|
||||
[5] = 0,
|
||||
}
|
||||
|
||||
return {
|
||||
Otis1960Leveling = Otis1960Leveling,
|
||||
HaughtonLeveling = HaughtonLeveling
|
||||
}
|
||||
@@ -1,18 +0,0 @@
|
||||
--!optimize 2
|
||||
--!native
|
||||
--!strict
|
||||
|
||||
local Leveling: {number} = {
|
||||
[1] = 13.041,
|
||||
[2] = 37.973,
|
||||
[3] = 62.978,
|
||||
[4] = 87.968,
|
||||
[5] = 112.952,
|
||||
[6] = 137.988,
|
||||
[7] = 163.009,
|
||||
[8] = 188.007,
|
||||
[9] = 213.058,
|
||||
[10] = 239.245,
|
||||
}
|
||||
|
||||
return Leveling
|
||||
@@ -2,8 +2,8 @@
|
||||
--!native
|
||||
--!strict
|
||||
|
||||
local ParentDir = script.Parent
|
||||
local MainDir = ParentDir.Parent
|
||||
local ParentDir = script.Parent
|
||||
local MainDir = ParentDir.Parent
|
||||
|
||||
local StorageService = game:GetService("ReplicatedStorage")
|
||||
|
||||
@@ -11,8 +11,8 @@ local Enums = require(StorageService:WaitForChild("Enums"))
|
||||
local InitElevator = require(ParentDir:WaitForChild("InitElevator"))
|
||||
local TagsModule = require(MainDir:WaitForChild("Load"):WaitForChild("Tags"))
|
||||
|
||||
local ElevatorConfigurationTable = require(script:WaitForChild("Config"))
|
||||
local FloorLevelingPositions = require(script:WaitForChild("Leveling"))
|
||||
local ElevatorConfigurationTable = require(ParentDir:WaitForChild("Config"))
|
||||
local FloorLevelingPositions = require(ParentDir:WaitForChild("Leveling"))
|
||||
|
||||
-- self.ElevatorBox_1960 = TagsConstructor:Request("ElevatorMover_1960") :: UnionOperation
|
||||
-- self.ElevatorDoor1 = TagsConstructor:Request("ElevatorDoor_1960_1") :: BasePart
|
||||
@@ -32,12 +32,11 @@ local FloorLevelingPositions = require(script:WaitForChild("Leveling"))
|
||||
return function(TagsConstructor: TagsModule.TagsConstructor, ButtonTags: TagsModule.ElevatorButtons, LanternTags: TagsModule.Lanterns, LandingDoorTags: TagsModule.LandingTags)
|
||||
local ElevatorBoxModel = TagsConstructor:Request("ElevatorMover_1960") :: UnionOperation
|
||||
|
||||
local Elevator = InitElevator.constructor(ElevatorBoxModel, ElevatorConfigurationTable, FloorLevelingPositions)
|
||||
local Elevator = InitElevator.constructor(ElevatorBoxModel, ElevatorConfigurationTable.Otis1960Configuration, FloorLevelingPositions)
|
||||
|
||||
Elevator.Events.Progression:Connect(function(PreviousFloor: number, CurrentFloor: number, NextFloor: number)
|
||||
print(CurrentFloor)
|
||||
end)
|
||||
|
||||
Elevator.Attributes.Goal:GetPropertyChangedSignal("Value"):Connect(function()
|
||||
print("Goal=", Elevator.Attributes.Goal.Value)
|
||||
end)
|
||||
@@ -46,14 +45,6 @@ return function(TagsConstructor: TagsModule.TagsConstructor, ButtonTags: TagsMod
|
||||
task.spawn(function()
|
||||
Elevator:RequestLevelAsync(2, Enums.ElevatorCallDirection.Up)
|
||||
end)
|
||||
task.spawn(function()
|
||||
Elevator:RequestLevelAsync(3, Enums.ElevatorCallDirection.Down)
|
||||
end)
|
||||
task.spawn(function()
|
||||
Elevator:RequestLevelAsync(4, Enums.ElevatorCallDirection.Up)
|
||||
end)
|
||||
task.spawn(function()
|
||||
Elevator:RequestLevelAsync(5, Enums.ElevatorCallDirection.Down)
|
||||
end)
|
||||
|
||||
print(Elevator.RelayAlgorithm.FloorQueue.Up)
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user