-- Stats labels local heartCountLabel = mainFrame.HeartCount local powerLabel = mainFrame.PowerLabel
-- Optional: toggle GUI visibility (press 'G') game:GetService("UserInputService").InputBegan:Connect(function(input, gameProcessed) if gameProcessed then return end if input.KeyCode == Enum.KeyCode.G then mainFrame.Visible = not mainFrame.Visible end end) -- ServerScriptService.DevilAbilities local replicatedStorage = game:GetService("ReplicatedStorage") local remotes = Instance.new("Folder", replicatedStorage) remotes.Name = "DevilRemotes"
-- Remote Events (create these in ReplicatedStorage) local remotes = game:GetService("ReplicatedStorage"):WaitForChild("DevilRemotes") local transformRemote = remotes:WaitForChild("Transform") local bangRemote = remotes:WaitForChild("Bang") local controlRemote = remotes:WaitForChild("Control")
-- Control ability (stun + temporary ally) controlRemote.OnServerEvent:Connect(function(player, targetPlayer) -- Simplified: find nearest enemy local char = player.Character if not char then return end local root = char.HumanoidRootPart local nearest = nil local minDist = 20 --NEW- Chainsaw Man- Devil-s Heart Script GUI ...
bangBtn.MouseButton1Click:Connect(function() bangRemote:FireServer() end)
local function updateUI() heartCountLabel.Text = "❤️ Devil Hearts: " .. hearts.Value powerLabel.Text = "⚡ Power: " .. power.Value end
controlBtn.MouseButton1Click:Connect(function() controlRemote:FireServer() end) -- Stats labels local heartCountLabel = mainFrame
hearts:GetPropertyChangedSignal("Value"):Connect(updateUI) power:GetPropertyChangedSignal("Value"):Connect(updateUI) updateUI()
local transformRemote = Instance.new("RemoteEvent", remotes) transformRemote.Name = "Transform" local bangRemote = Instance.new("RemoteEvent", remotes) bangRemote.Name = "Bang" local controlRemote = Instance.new("RemoteEvent", remotes) controlRemote.Name = "Control"
if nearest then local targetHumanoid = nearest.Character.Humanoid targetHumanoid:SetStateEnabled(Enum.HumanoidStateType.Jumping, false) targetHumanoid:SetStateEnabled(Enum.HumanoidStateType.Moving, false) task.wait(3) targetHumanoid:SetStateEnabled(Enum.HumanoidStateType.Jumping, true) targetHumanoid:SetStateEnabled(Enum.HumanoidStateType.Moving, true) end addPower(player, -15) end) ability (high damage) bangRemote
for _, other in pairs(game.Players:GetPlayers()) do if other ~= player and other.Character and other.Character:FindFirstChild("HumanoidRootPart") then local dist = (root.Position - other.Character.HumanoidRootPart.Position).Magnitude if dist < minDist then minDist = dist nearest = other end end end
-- Bang! ability (high damage) bangRemote.OnServerEvent:Connect(function(player) -- Raycast forward, deal damage local char = player.Character if not char then return end local root = char:FindFirstChild("HumanoidRootPart") if not root then return end
-- Button actions (send to server) chainsawBtn.MouseButton1Click:Connect(function() transformRemote:FireServer() end)
-- Transform ability (Chainsaw Man form) transformRemote.OnServerEvent:Connect(function(player) local char = player.Character or player.CharacterAdded:Wait() local humanoid = char:FindFirstChild("Humanoid") if humanoid then -- Apply Chainsaw Man visuals + speed boost humanoid.WalkSpeed = 24 -- Add chainsaw arms (model swap example) task.wait(10) humanoid.WalkSpeed = 16 -- revert after 10 sec end addPower(player, -5) -- cost power end)
-- Buttons local chainsawBtn = mainFrame.ChainsawButton local bangBtn = mainFrame.BangButton local controlBtn = mainFrame.ControlButton