Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- local Players = game:GetService("Players")
- local ReplicatedStorage = game:GetService("ReplicatedStorage")
- local build_event = ReplicatedStorage.Remotes.BuildEvent
- local fire = build_event.FireServer
- local player = Players.LocalPlayer
- local function Has(_parent, ...)
- for _, v in next, {...} do
- if not _parent:FindFirstChild(v) then
- return false
- end
- end
- return true
- end
- local slots = {}; do
- for _, slot in next, workspace.BuildingZone:GetChildren() do
- if Has(slot, "Creator", "Slot") then
- local slot_number = slot.Name:gsub("Grid", "")
- slots[tonumber(slot_number)] = slot
- end
- end
- end
- local function GetSlot(_player)
- if not _player or not Players[_player] then
- return nil
- end
- warn(Players[_player].PlotNumber.Value)
- return slots[Players[_player].PlotNumber.Value]
- end
- local function GetBlocks(_slot)
- local blocks = {}
- if not _slot then
- return {}
- end
- for _, block in next, _slot:GetChildren() do
- if Has(block, "Part") then
- blocks[#blocks + 1] = block
- end
- end
- return blocks
- end
- function CloneBase(_player)
- local slot = GetSlot(_player)
- if not slot then
- return
- end
- local blocks, player_plate, my_plate = GetBlocks(slot), slot.Plate, GetSlot(player.Name).Plate
- for _, block in next, blocks do
- fire(build_event,
- "VeryEpicName",
- block.Part.CFrame - player_plate.Position + my_plate.Position,
- block.SelectedBlock.Value,
- block.SelectedColor.Value,
- block.SelectedMaterial.Value,
- block.SelectedTransparency.Value,
- block.SelectedEffect.Value
- )
- end
- end
- CloneBase("name_here")
Add Comment
Please, Sign In to add comment