Hello, I made a script that removes health from the stone and finds the damage of your pickaxe. I made a stone respawn, and when stone respawns, the damage goes through two or more times and I don’t know what to do.
ToolScript1 =
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local collect = game:GetService("CollectionService")
local Players = game:GetService("Players")
local Tool = script.Parent
local Remotes = ReplicatedStorage:FindFirstChild("Remotes")
local player = Players.LocalPlayer
local character = player.Character
local humanoid = character:FindFirstChild("Humanoid")
local PickaxeSwingAnim = Instance.new("Animation")
PickaxeSwingAnim.AnimationId = "rbxassetid://11458130668"
local animationTrack1 = humanoid:LoadAnimation(PickaxeSwingAnim)
local ToolConfig = require(ReplicatedStorage:FindFirstChild("Config"):FindFirstChild("ToolConfig"))
local OreConfig = require(ReplicatedStorage:FindFirstChild("Config"):FindFirstChild("OreConfig"))
local inventory = player:FindFirstChild("inventory")
local pickaxeName2 = Tool.Name
print("Found", player.Name, "Pickaxe Equipped Name!")
local pickaxe = player.Character:FindFirstChild(pickaxeName2)
print (pickaxeName2)
local pickaxeDmg = ToolConfig[pickaxeName2].Damage
local Ore = player.leaderstats.Ore
Tool.Activated:Connect(function(player: Player)
if Tool.Enabled == true then
local punch = false
for tool, toolTable in pairs(ToolConfig) do
if tool == pickaxeName2 then
local Lezvie = script.Parent.Handle.Lezvie
Remotes.ToolActivated:FireServer()
animationTrack1:Play()
Tool.Enabled = false
humanoid.WalkSpeed = 0
wait(0.75)
Tool.Enabled = true
humanoid.WalkSpeed = 16
Lezvie.Touched:Connect(function(hit)
if collect:HasTag(hit, "RockHitbox") then
if punch == false then
Remotes.OreDamaged:FireServer()
end
punch = true
end
end)
punch = false
end
end
end
end)
Remotes.OreDestroyed.OnClientEvent:Connect(function()
Remotes.OreDestroyed:FireServer()
end)
Remotes.OreRespawn.OnClientEvent:Connect(function()
Remotes.OreRespawn:FireServer()
end)
Rock script:
local Players = game:GetService("Players")
local ServerStorage = game:GetService("ServerStorage")
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local Remotes = ReplicatedStorage:FindFirstChild("Remotes")
local ToolConfig = require(ReplicatedStorage:FindFirstChild("Config"):FindFirstChild("ToolConfig"))
local OreConfig = require(ReplicatedStorage:FindFirstChild("Config"):FindFirstChild("OreConfig"))
local OreName = script.Parent.Name
local Ore = script.Parent
print(OreName)
local miningSound = Instance.new("Sound", Ore)
miningSound.SoundId = "rbxassetid://5772362759"
miningSound.Name = "MiningSound"
local OreDestroyed = false
Players.PlayerAdded:Connect(function()
if not OreName.Health then
local HP = Instance.new("IntValue", script.Parent)
HP.Name = "Health"
HP.Value = OreConfig[OreName].Health
end
end)
Remotes.OreDamaged.OnServerEvent:Connect(function(player: Player)
local OreL = player.leaderstats.Ore
local pickaxeName = player.inventory.EquippedTool.Value
local pickaxeDamage = ToolConfig[pickaxeName].Damage
print(pickaxeDamage)
local Tool = player.Character:FindFirstChild(pickaxeName)
if OreDestroyed == false then
local HP = script.Parent.Health
print("02")
HP.Value -= pickaxeDamage
OreL.Value += pickaxeDamage
print("02.1")
miningSound:Play()
print(HP.Value, "Rock HP.")
if HP.Value == 0 then
Remotes.OreDestroyed:FireClient(player)
end
end
end)
Remotes.OreDestroyed.OnServerEvent:Connect(function(player: Player)
OreDestroyed = true
Ore.Transparency = 1
Ore.CanCollide = false
Ore.CanTouch = false
Ore.Hitbox.CanCollide = false
Ore.Hitbox.CanTouch = false
Remotes.OreRespawn:FireClient(player)
end)
Remotes.OreRespawn.OnServerEvent:Connect(function(player: player)
local RespawnTime = 1
wait(RespawnTime)
OreDestroyed = false
Ore.Transparency = 0
Ore.CanCollide = true
Ore.CanTouch = true
Ore.Hitbox.CanCollide = true
Ore.Hitbox.CanTouch = true
print("01")
local Health = script.Parent.Health
Health.Value = OreConfig[OreName].Health
print("Rock health after RESPAWN:", Health.Value)
end)
Output:
22:36:19.255 0 Rock HP. - Server - OreScript:46
22:36:19.871 OsipStar4ik Used Pickaxe - Server - toolManger:13
22:36:20.338 01 - Server - OreScript:77
22:36:20.338 Rock health after RESPAWN: 10 - Server - OreScript:80
22:36:22.687 OsipStar4ik Used Pickaxe - Server - toolManger:13
22:36:22.954 1 - Server - OreScript:37
22:36:22.955 02 - Server - OreScript:41
22:36:22.955 02.1 - Server - OreScript:44
22:36:22.955 9 Rock HP. - Server - OreScript:46
22:36:22.955 1 - Server - OreScript:37
22:36:22.955 02 - Server - OreScript:41
22:36:22.955 02.1 - Server - OreScript:44
22:36:22.955 8 Rock HP. - Server - OreScript:46
