Hello, I’m currently attempting to make an admin script for my game. I wanted to make a command for fun that would trip a chosen player. However, due to the method i’m using to trip the player not working server-side, I have to communicate the info back to a localscript. Currently, I have it set up so that a localscript fires the server with the command’s input. Then, a server script gets that input and determines a command that should be run, with the commands being stored in a modulescript. Currently, the main section of the trip command looks like this:
if target == nil then
consoleOutput(sender,"ERROR: Player Not Found", true)
else
local remoteEvent = ReplicatedStorage:FindFirstChild("TripPlayer")
remoteEvent:FireClient(Players:FindFirstChild(target), Players:FindFirstChild(target).Character)
end
This fires the client with the tripPlayer remote, which has a localscript connected to it:
local function Trip(Character: Model)
local RootPart = Character.PrimaryPart
local Humanoid = Character.Humanoid
Humanoid:ChangeState(Enum.HumanoidStateType.FallingDown)
RootPart.AssemblyLinearVelocity += RootPart.CFrame.LookVector * 5
end
remoteEvent.OnClientEvent:Connect(Trip)
my question is, does this method of essentially allowing the client to fire any other client with the admin gui open it up for exploiters to take advantage of this and trip any player whenever they want? Obviously not everyone will have access to this gui, but anyone would be able to fire that remote manually, right?
I’m not very experienced with server-client replication, so apologies if I’m not wording this right.