I have a gun script and I have been working for 6 hours today to get it to damage someone when they get hit in the helmet.
The problem now is when a player gets hit it fires the server, but for some reason when a player gets hit in the helmet it doesnt fire the server even know the code is almost the same.
There are 2 scripts a local and a server side one here they are.
Local script
local Hit,EndPos = RayCast(Start,Direction,5000,Character)
if not Module.ExplosiveEnabled then
if Hit and Hit.Parent then
local TargetHumanoid = Hit.Parent:FindFirstChild("Humanoid") or Hit.Parent.Parent:FindFirstChild("Humanoid")
local TargetTorso = Hit.Parent:FindFirstChild("UpperTorso")
if Hit.Parent.Parent:FindFirstChild("Humanoid") then
print("Helmet Hit")
end
--local TargetTEAM = Hit.Parent:FindFirstChild("TEAM")
if TargetHumanoid and TargetHumanoid.Health > 0 and TargetTorso or Hit.Parent.Parent:FindFirstChild("Humanoid") then
print("ItFired")
--if TargetTEAM and TargetTEAM.Value ~= TEAM.Value then
InflictTarget:FireServer(TargetHumanoid,
TargetTorso,
(Hit.Name == "Head" and Module.HeadshotEnabled) and Module.BaseDamage * Module.HeadshotDamageMultiplier or Module.BaseDamage,
Direction,
Module.Knockback,
Module.Lifesteal,
Module.FlamingBullet)
PiercedHumanoid[TargetHumanoid] = true
--end
else
PierceAvailable = 0
end
end
else
Its just a small chunk of the code, its mostly the important stuff but there is the local script now heres the server script
Server script
InflictTarget.OnServerEvent:connect(function(Player,TargetHumanoid,TargetTorso,Damage,Direction,Knockback,Lifesteal,FlamingBullet)
if Player and TargetHumanoid and TargetHumanoid.Health ~= 0 and TargetTorso then
while TargetHumanoid:FindFirstChild("creator") do
TargetHumanoid.creator:Destroy()
end
local creator = Instance.new("ObjectValue",TargetHumanoid)
creator.Name = "creator"
creator.Value = Player
game.Debris:AddItem(creator,5)
print("Server Fired")
TargetHumanoid:TakeDamage(Damage)
if TargetHumanoid.Health <= 0 then
game.ReplicatedStorage.DataFile[Player.Name].AssaultClassKills.Value = game.ReplicatedStorage.DataFile[Player.Name].AssaultClassKills.Value + 1
end
if Knockback > 0 then
TargetTorso.Velocity = Direction * Knockback
end
if Lifesteal > 0 and Humanoid and Humanoid.Health ~= 0 then
Humanoid.Health = Humanoid.Health + (Damage*Lifesteal)
end
if FlamingBullet then
local Debuff = TargetHumanoid.Parent:FindFirstChild("IgniteScript") or script.IgniteScript:Clone()
Debuff.creator.Value = Player
Debuff.Disabled = false
Debuff.Parent = TargetHumanoid.Parent
end
end
end)
The script is supposed to when a player gets hit in the helmet fire to the server but it doesnt but when they get hit normally it does fire the server.
It prints "Helmet Hit" so it knows the helmet is getting hit it also prints "ItFired" but it doesnt print the serverside stuff when you get hit in the helmet.
Any ideas? Please please please help meeeee
Thank you for your time. :)
