#part slicing tool error "Unable to assign property Position. Vector3 expected, got nil "

1 messages · Page 1 of 1 (latest)

analog mantle
#

local script: ```local tool = script.Parent
local target = nil
local userInputService = game:GetService("UserInputService")
local runService = game:GetService("RunService")

local connectionInputBegan = nil
local connectionInputEnded = nil
local connectGroup = nil

local userInput = nil

local serverPosition = nil

local raycastParams = RaycastParams.new()

local function raycast()
local mouse = userInputService:GetMouseLocation()
local ray = game.Workspace.CurrentCamera:ViewportPointToRay(mouse.X,mouse.Y)

local result = workspace:Raycast(ray.Origin,ray.Direction * 100,raycastParams)

if result == nil then
        return ray.Origin + ray.Direction * 100
else
        return result.Position , result.Instance
end

end

local function loop(deltaTime)
local position,instance = raycast()
target.Position = position
if (position - serverPosition).Magnitude > 8 then
serverPosition = position

    tool.PositionEvent:FireServer(serverPosition)
    
    end

end

local function inputEnded(input,processed)
if userInput ~= input then return end

userInput = nil
connectionInputEnded:Disconnect()
connectGroup:Disconnect()
tool.PositionEvent:FireServer(nil)

end```

#
    if userInput ~= nil then return end
    
    if processed == true then return end
    
    if input.UserInputType ~= Enum.UserInputType.MouseButton1 and input.UserInputType ~= Enum.UserInputType.Touch then return end
    connectionInputEnded = userInputService.InputEnded:Connect(inputEnded)
    userInput = input
    serverPosition = raycast()
    
    tool.PositionEvent:FireServer(serverPosition)
    target = tool:WaitForChild("Target")
    connectGroup = runService.Heartbeat:Connect(loop)

    
end

tool.Equipped:Connect(function()
    connectionInputBegan = userInputService.InputBegan:Connect(inputBegan)
end)


tool.Unequipped:Connect(function()
    connectionInputBegan:Disconnect()
end)```