So i'm trying to use "mouse" to detect where a players mouse is hitting when they activate my tool and it keeps throwing the error (title)
the code here (line 4 is the error)
Tool=script.Parent
vCharacter = Tool.Parent
vPlayer = game.Players:GetPlayerFromCharacter(vCharacter)
mouse=vPlayer:GetMouse()
is it because i'm using a server script that i cannot get it?

2 comments
using tools is done by the player; so yes I'm thinking you should use a local script instead because the player is local and is using the tool, not the server
I made an edit to my answer, it should help you understand Remote Events a bit more.