#Part not placing

1 messages · Page 1 of 1 (latest)

azure sentinel
#

-- the modulescript in serverscriptservice
local part = {}

function part.Spawn(player, name, cframe)
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local partExists = ReplicatedStorage.Parts:FindFirstChild(name)

if partExists then
    local newPart = partExists:Clone()
    newPart.Parent = workspace.Parts

    for _, object in newPart:GetDescendants() do
        if object:IsA("BasePart") then
            object.CollisionGroup = "Tower"
        end
    end

    if newPart.PrimaryPart then
        newPart:SetPrimaryPartCFrame(cframe)
    else
        warn("No PrimaryPart set for", newPart.Name)
    end
end

end

return part

-- the script in serverscriptservice
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local Events = ReplicatedStorage:WaitForChild("Events")
local SpawnPartEvent = Events:WaitForChild("SpawnPart")

local part = require(script:WaitForChild("PartModule"))

SpawnPartEvent.OnServerEvent:Connect(part.Spawn)

--script inside the button to place the tower
UserInputService.InputBegan:Connect(function(input, processed)
if processed then return end

if partToSpawn and input.UserInputType == Enum.UserInputType.MouseButton1 then
    if partToSpawn.PrimaryPart then
        print("Sending to server:", partToSpawn.Name)
        SpawnPartEvent:FireServer(partToSpawn.Name, partToSpawn.PrimaryPart.CFrame)
        partToSpawn:Destroy()
        partToSpawn = nil
    else
        warn("PrimaryPart missing on ghost model")
    end
end

end)

please help me i am learning raycasting and its very confusing for me

fresh sun
azure sentinel