I have a localscript inside a tool that communicates with a serverscript with a remote function. Everything works fine, but the only problem is that if its a different tool with the same scripts and stuff but with a different name, I would have to make an entire new serverscript that is the exact same but just for that new tool only or to make a very long serverscript. Is there a way to make it so I can address all of those tools in one script without having to make it very long? (if that made sense)
So if I had 10 tools that had different names with the same exact scripts but modified slightly to fit the name, I would have to have 10 different serverscripts of 1 long serverscript
The local script
local plr = game.Players.LocalPlayer local ReplicatedStorage = game:GetService("ReplicatedStorage") local Attack = ReplicatedStorage:WaitForChild("OnAttackSword") local char = plr.Character local Tool = script.Parent Tool.Activated:Connect(function() if Tool.Handle.Cooldown.Value == false then Tool.Handle.Cooldown.Value = true print(plr.Name.. "Stone Sword was Activated") game.ReplicatedStorage:FindFirstChild("OnAttackSword"):FireServer(char, Tool) local animation = plr.Character.Humanoid:LoadAnimation(script.Parent.Attack1) animation:Play() wait(1.2) print(plr.Name.. "Stone Sword Recharged") Tool.Handle.Cooldown.Value = false end end) Tool.Unequipped:Connect(function() print(plr.Name.. "Unequipped Stone Sword") Tool.Damage.Disabled = true end)
The serverscript
local ReplicatedStorage = game:GetService("ReplicatedStorage") local Attack = ReplicatedStorage:WaitForChild("OnAttackSword") game.ReplicatedStorage.OnAttackSword.OnServerEvent:Connect(function(player,char,Tool) print("Remote Event OnAttackSword Fired") char.Humanoid.WalkSpeed = 0 char.Humanoid.JumpPower = 0 char.StoneSword.Damage.Disabled = false wait(0.7) char.Humanoid.WalkSpeed = 20 char.Humanoid.JumpPower = 50 char.StoneSword.Damage.Disabled = true end)