Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Помогите сделать генерацию в роблокс студио!

Савелий Мухин Ученик (102), на голосовании 2 недели назад
У меня проблема в роблокс студио, я хотел бы создать игру с бесконечной генерацией. Сама генерация у меня уже есть, но я не могу сделать так чтобы последняя комната всегда была определённой.
Вот скрипт на генерацию комнат:
local RoomsLimit = 100

function GenerateRoom(ConnectPoint)
if #workspace.Rooms:GetChildren() < RoomsLimit and ConnectPoint then
local PointCFrame = ConnectPoint.CFrame
ConnectPoint:Destroy()

local NewRoom = game.ReplicatedStorage.RoomsAssets:GetChildren()[math.random(1, #game.ReplicatedStorage.RoomsAssets:GetChildren())]:Clone()
NewRoom.Parent = workspace.Rooms

local TouchConnection = NewRoom.Hitbox.Touched:Connect(function()end)

local SelectedPointIndex = math.random(1, #NewRoom.Connections:GetChildren())
local SelectedPoint = NewRoom.Connections:GetChildren()[SelectedPointIndex]
local SelectedPoints = NewRoom.Connections:GetChildren()

table.remove(SelectedPoints, SelectedPointIndex)

NewRoom.PrimaryPart = SelectedPoint

NewRoom:PivotTo(PointCFrame * CFrame.new (0, 0, -1) * CFrame.Angles(0, math.rad(180), 0))

NewRoom.PrimaryPart:Destroy()

for _, Part in pairs(NewRoom.Hitbox:GetTouchingParts()) do
if not Part:IsDescendantOf(NewRoom) then
NewRoom:Destroy()
NewRoom = nil

local NewDeadEnd = script.DeadEnd:Clone()
NewDeadEnd.CFrame = PointCFrame

break
end
end

TouchConnection:Disconnect()

task.spawn(function()
for _, Point in pairs(SelectedPoints) do
GenerateRoom(Point)
end
end)
end
end

GenerateRoom(workspace.StartPoint)
Голосование за лучший ответ
Похожие вопросы