So the part gets created on the client after that I fire a remote event with the Cframe and size but the part ends up super small and not the right cframe here's the script on the client
local UIS = game:GetService("UserInputService")
local RunService = game:GetService("RunService")
local Player = game.Players.LocalPlayer
local Character = Player.Character or Player.CharacterAdded:Wait()
local Mouse = Player:GetMouse()
local Counter = 1
local Grid = 4
local Toggle = false
local PointA = script.Point:Clone()
local PointB = script.Point:Clone()
local PosA
local PosB
local LRA
function Round(Num, To)
return math.floor(Num / To + 0.5) * To
end
RunService.RenderStepped:Connect(function()
if Toggle then
if Counter == 1 then
PointA.Parent = workspace
PosA = Vector3.new(Round(Mouse.Hit.p.X, Grid), .5, Round(Mouse.Hit.p.Z, Grid))
PointA.CFrame = CFrame.new(PosA) + Vector3.new(0,5,0)
PointA.Orientation = Vector3.new(0, 90, -90)
elseif Counter == 2 then
PointB.Parent = workspace
PosB = Vector3.new(Round(Mouse.Hit.p.X, Grid), .5, Round(Mouse.Hit.p.Z, Grid))
PointB.CFrame = CFrame.new(PosB) + Vector3.new(0,5,0)
PointB.Orientation = Vector3.new(0, 90, -90)
if LRA then
LRA:Destroy()
LRA = nil
end
local Mag = (PosA - PosB).magnitude
local ray = Ray.new(PosA, (PosA - PosB).unit * Mag)
local part, position = workspace:FindPartOnRay(ray, workspace.Baseplate, false, true)
local beam = Instance.new("Part", workspace)
beam.BrickColor = BrickColor.new("Bright yellow")
beam.FormFactor = "Custom"
beam.Material = "Neon"
beam.Transparency = 0.25
beam.Anchored = true
beam.Locked = true
beam.CanCollide = false
local distance = (PosA - position).magnitude
beam.Size = Vector3.new(0.3, 10, distance)
beam.CFrame = CFrame.new(PosA, position) * CFrame.new(0, 0, distance / 2) + Vector3.new(0,5,0)
LRA = beam
end
end
end)
Mouse.Button1Down:Connect(function()
if Toggle then
if Counter == 1 then
Counter = 2
elseif Counter == 2 then
Counter = 1
local Mag = (PosA - PosB).magnitude
local ray = Ray.new(PosA, (PosA - PosB).unit * Mag)
local part, position = workspace:FindPartOnRay(ray, workspace.Baseplate, false, true)
local beam = Instance.new("Part", workspace)
beam.BrickColor = BrickColor.new("Medium stone grey")
beam.FormFactor = "Custom"
beam.Material = Enum.Material.SmoothPlastic
beam.Transparency = 0
beam.Anchored = true
beam.Locked = false
beam.CanCollide = true
local distance = (PosA - position).magnitude
beam.Size = Vector3.new(0.3, 10, distance) + Vector3.new(0,0,.25)
beam.CFrame = CFrame.new(PosA, position) * CFrame.new(0, 0, distance / 2) + Vector3.new(0,5,0)
wait(1)
game.ReplicatedStorage.bulid:FireServer(beam.CFrame, beam.Size)
LRA:Destroy()
PointA:Destroy()
PointB:Destroy()
PointA = script.Point:Clone()
PointB = script.Point:Clone()
end
end
end)
script.Parent.MouseButton1Click:Connect(function()
Toggle = true
end)
UIS.InputBegan:Connect(function(Input)
if Input.KeyCode == Enum.KeyCode.X then
script.Parent.Parent.Parent:TweenPosition(UDim2.new(.5,0,.5,0), Enum.EasingDirection.InOut, Enum.EasingStyle.Quart, .1)
script.Parent.Parent.Parent.Parent.Parent.Button.Visible = true
LRA:Destroy()
PointA:Destroy()
PointB:Destroy()
PointA = script.Point:Clone()
PointB = script.Point:Clone()
Toggle = false
Counter = 1
end
end)
server code:
game.ReplicatedStorage.bulid.OnServerEvent:Connect(function(beamclonep,beamclonepc)
local ab = Instance.new("Part")
ab.Anchored = true
ab.BrickColor = BrickColor.new("Medium stone grey")
ab.FormFactor = "Custom"
ab.Material = Enum.Material.SmoothPlastic
ab.Transparency = 0
ab.Anchored = true
ab.Locked = false
ab.CanCollide = true
ab.Size = Vector3.new(beamclonepc)
ab.CFrame = CFrame.new(beamclonep)
ab.Name = "servrereswersare"
ab.Parent = game.Workspace
end)
How do I fix this?
