Как вы обнаружили, когда вы передаете объект мыши серверу, он становится равным нулю. Согласно документам Player: GetMouse () :
Этот элемент должен использоваться в LocalScript для нормальной работы в режиме онлайн.
You следует просто установить положение мыши на клиенте и передать результат на сервер с помощью функции RemoteFunction.
LocalScript
-- get the mouse object
local mouse = game.Players.LocalPlayer:GetMouse()
local function onMousedClicked(actionName,inputState, inputObject)
if inputState == Enum.UserInputState.Begin then
-- pass the mouse position and any other information to the server
local result = CheckIfDamagable:InvokeServer(mouse.Hit)
print("Mouse Clicked : ", result)
end
end
Script
function CheckIfDamagableObject(player, mousePos)
print("Mouse CFrame : ", mousePos)
-- Unrelated codes here
end
CheckIfDamagable.OnServerInvoke = CheckIfDamagableObject