Hellooo! Im making a game and am using a knife tool from the toolbox that’s supposed to damage other players. In an empty game if I use the tool it works and does damage, but in my actual game where I have everything else, it does the sounds and stuff but it doesn’t cause any damage. And I’m not changing anything on it in the actual game and my game isn’t laggy or anything it runs smoothly so idk what the problem is, I’d really appreciate some help! I’m not sure if this is a studio or a script thing because I literally can’t tell what the problem is but I’m posting it here!
#Weapon damage doesn’t work
1 messages · Page 1 of 1 (latest)
Dm me
Whatsoever
local DamageEvent = game:GetService("ReplicatedStorage"):WaitForChild("KnifeDamageEvent")
DamageEvent.OnServerEvent:Connect(function(player, targetHumanoid, damage)
-- Validate to prevent exploits
if typeof(targetHumanoid) == "Instance" and targetHumanoid:IsA("Humanoid") then
targetHumanoid:TakeDamage(damage)
end
end)
But first add a remoteevent
Create a RemoteEvent in ReplicatedStorage (e.g., KnifeDamageEvent).
Then server side damage script Place this in `ServerScriptService
.
And modify ur tknife script : Replace humanoid:TakeDamage(35) in your tool with:
Gotcha — I’ve seen this happen a lot with toolbox melee tools when moving from a blank place into a “real” game.
It’s usually not because the script is broken, but because something in your actual game’s setup prevents damage from being applied.
Here are the most common culprits to check:
- The tool’s damage script is being blocked by FilteringEnabled / Server-Side checks
Many toolbox melee tools run on the client and directly change Humanoid.Health.
In an empty baseplate, that works because nothing is stopping it, but in a real game with FilteringEnabled (default now), those changes don’t replicate to the server — so other players won’t take damage.
Fix: Make sure damage is applied on the server (e.g., using a RemoteEvent from the client to tell the server who was hit, then the server sets health).
- Custom character systems or hitbox scripts
If your game has a custom character controller, ragdoll system, or modified Humanoid setup, the knife script might be looking for "Humanoid" in a model but not finding it.
Check that the target’s Humanoid name hasn’t been changed, and it’s still in the same structure the knife expects.
- Collision Groups
If your knife’s hit detection uses .Touched events, but the knife and the player are in collision groups that don’t collide, .Touched will never fire.
Go to Workspace → Collision Groups and make sure the knife’s parts can collide with the player’s hitboxes.
- Team / Friendly Fire settings
Some toolbox weapons check teams and refuse to damage same-team players.
If in your actual game players are on the same team, the script may just skip the damage.
- LocalScript running in wrong environment
If it’s a LocalScript inside the tool, in an empty baseplate it runs fine because the player owns the tool.
In your real game, if you moved the tool to a place like ServerStorage or a location where LocalScripts don’t run, it won’t execute.
Stfu
no you sybau
game:GetService("ReplicatedStorage").KnifeDamageEvent:FireServer(targetHumanoid, 35)
im helping him
Chat gpt final boss
yeah
U aint helping him i already did it
lvl 999
fair enough
@vocal nebula shoot you shot
You also sent him like the most exploitable piece of code known to mankind, so hopefully he properly sanity checks it
typeof(targetHumanoid) == "Instance"why this
Why not
Here is the corrected validation :
DamageEvent.OnServerEvent:Connect(function(player, targetHumanoid, damage)
-- PROPER validation (order matters for short-circuiting!)
if targetHumanoid and targetHumanoid:IsA("Humanoid") and targetHumanoid.Parent then
local character = targetHumanoid.Parent
-- Optional: Verify target is not the attacker
if character ~= player.Character then
targetHumanoid:TakeDamage(damage)
end
end
end)
What do you think
ig
exploiter just fires this remote event and passes 999999 damage
yeah
I dont think they will because its not good to do it
they could create a loop kill for every player in the server in like 3 seconds
wym 😭
Its not cool
oh wait
why
actually not even that ig
real

I may have forgot how clients work for like 2 minutes there 😔
-- FUCKENG EXPLOIT
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local KnifeDamageEvent = ReplicatedStorage:WaitForChild("KnifeDamageEvent")
for _,v in game.Players:GetPlayers() do
if v.Character then
local hum = v.Character:FindFirstChildOfClass("Humanoid")
KnifeDamageEvent:FireServer(hum, hum.Health)
end
end
boom hacked
Stop thats not cool

exploiters don't care 😭
ofc
I dont think dollette will keep up with all these texts 
Lemme ask an ai real quick
i didn't even read his msg
make a hitbox system

He's most likely having a problem where he's doing damage on the client and it's not replicating on the server, which yeah I'd just recommend this
hm
first thing is
damage variable should be on server
and you shouldn't pass it
nah just make a hitbox system hehe
He should send in a snippet of what he's doing ngl
Might be an entirely other problem
im just looking at my combat system
Hello claude
this is chatgpt.
😔
yeah i just have a hitbox system and it fires a remote event
hitboxRE:FireServer("M1Sword", hit, hrp, Combo[plr], ep, pp, false, hitsound)
Just let ai do all of the code
and its not exploitable cuz yeah im pro
fr
Imagine scripting in 2025
Imagone stealing peoples tag
especially now with chatgpt 5
** You are now Level 6! **
Stfu clanker
Leome
Its trash 👿
Claude and deepseek on top
Taiwan is a country
Never say it three times
Or he’ll appear
And slim you
I sure do love that we're helping this guy with his damage so much
And not talking about taiwan
Never talk about ######
HELP WHAT HAPPENED WHILE I WASNT HERE??
Okay I hope that in between all those messages there’s a solution 😇
Script.parent
None
Loose all hope in your game
Oh….! 🥰
Only solution
The solution was that you should prob send in a snippet of the code and make a hitbox system
If I put that in my game will it fix my whole world? 😁
Ooooo I hadn’t thought about that
That would probably work rlly well actually thx!
Yes
Add script.parent and it will fix
For better results, define a variable of script.Parent, and then use script.Parent for everything else, anyways
Wait actually?
Yes
Do I put it in a script inside the tool?
I feel like ur all lying to me….😞💔💔💔💔💔
I'd also just make a hitbox system, just to be safe
I’m still gonna try it duhhh
And thx guys I rlly appreciate the help 🥰🥰
Such a sweet community
Yeah hopefully what u said works but if it doesn’t I’m probs gonna do that
I can't see any reason why script.Parent wouldn't work...
Okay so I just went onto the Knife tool, inserted a script and wrote that
Is that right?
Yes
I could've never expected this outcome
Okay i guess I’ll do the hitbox
Same...
Oh my god you little liars
That’s it Im never trusting anyone ever again and it’s all YOUR fault..
If you believed "script.Parent" in a random script would solve anything, that's kinda on you ngl
💀
Well tbh with how weird scripting is I thought that maybe random stuff like that would work
** You are now Level 4! **