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

Как сделать рандомную генерацию позиций для каждого клона модели в Roblox Studio?

Скрыльникова Алена Ученик (226), на голосовании 4 недели назад
Я начинающий кодер и делаю свою игру про пустыню в роблокс. Я сделал скрипт Server script service чтобы сделать 9 клонов модели вентиля которые клонируются в папке downpipe (возможно мой код будет выглядеть плохо, но я начинающий кодер, не судите строго)

local downpipe = game.Workspace:FindFirstChild("downpipe") -- Находим папку downpipe в Workspace
local VentModel = downpipe:FindFirstChild("VentModel") -- Находим модель VentModel в папке downpipe

for i = 1, 9 do
local newVent = VentModel:Clone()
local newVent1 = VentModel:Clone() -- Создаем клон модели VentModel
local newVent2 = VentModel:Clone()
local newVent3 = VentModel:Clone()
local newVent4 = VentModel:Clone()
local newVent5 = VentModel:Clone()
local newVent6 = VentModel:Clone()
local newVent7 = VentModel:Clone()
local newVent8 = VentModel:Clone()
local newVent9 = VentModel:Clone()

newVent1.Parent = downpipe
newVent2.Parent = downpipe
newVent3.Parent = downpipe
newVent4.Parent = downpipe
newVent5.Parent = downpipe
newVent6.Parent = downpipe
newVent7.Parent = downpipe
newVent.Parent = downpipe
newVent.Parent = downpipe -- Устанавливаем клону родителя - папку downpipe

end

И так : для каждого из клонов мне нужно сделать свою рандомную и уникальную позицию, и чтобы они спавнились не очень далеко друг от друга. Очень долго ломал голову, если поможете буду очень благодарен☺️
Голосование за лучший ответ
Рустам Абдрашитов Мыслитель (9465) 1 месяц назад
 local downpipe = game.Workspace:FindFirstChild("downpipe") 
local VentModel = downpipe:FindFirstChild("VentModel")
local positions = {} -- Таблица для хранения уникальных позиций

for i = 1, 9 do
local newVent = VentModel:Clone()
local position

repeat
local x = math.random(-5, 5) -- Задайте диапазон по оси X
local z = math.random(-5, 5) -- Задайте диапазон по оси Z
position = downpipe.Position + Vector3.new(x, 0, z)
until not table.find(positions, position) -- Проверяем на уникальность позиции

newVent.Position = position -- Установите позицию клона
newVent.Parent = downpipe
table.insert(positions, position) -- Сохраняем позицию в таблицу
end
9 уникальных клонов модели VentModel с случайными позициями в пределах заданного диапазона.
Скрыльникова АленаУченик (226) 1 месяц назад
Спасибо за ответ, но не происходит буквально ничего, я не знаю. В коносле тоже ошибок нету ¯\_(ツ)_/¯
Рустам Абдрашитов Мыслитель (9465) Скрыльникова Алена, надо разобраться код рабочий там надо заполнить некоторые разделы там где координаты и тд
Скрыльникова АленаУченик (226) 1 месяц назад
Не, ну если ты про координаты то я не знаю, что типо они спавнятся где то не там но как я написал не происходит НИЧЕГО, буквально, копии просто не создаются
Похожие вопросы