Not a member of gistpad yet?
Sign Up,
it unlocks many cool features!
- local ReplicatedStorage = game:GetService("ReplicatedStorage")
- local CombatEvent = ReplicatedStorage:WaitForChild("CombatEvent")
- print("⚔️ Скрипт Боя (с Маной) загружен")
- -- === НАСТРОЙКА ЦЕНЫ ===
- local MANA_COST = 20
- CombatEvent.OnServerEvent:Connect(function(attacker, targetCharacter, victimAnimId)
- print("Сигнал боя: " .. attacker.Name .. " -> " .. tostring(targetCharacter))
- if not targetCharacter then return end
- local victimHumanoid = targetCharacter:FindFirstChild("Humanoid")
- if not victimHumanoid then return end
- if targetCharacter == attacker.Character then return end
- -- [СПИСАНИЕ МАНЫ У АТАКУЮЩЕГО]
- local char = attacker.Character
- if char then
- local currentMana = char:GetAttribute("Mana") or 0
- if currentMana < MANA_COST then return end -- Отмена, если маны нет
- char:SetAttribute("Mana", currentMana - MANA_COST)
- end
- -- Урон и анимация
- local damage = victimHumanoid.MaxHealth * 0.15
- victimHumanoid:TakeDamage(damage)
- if victimAnimId and victimAnimId ~= "rbxassetid://0" then
- local animator = victimHumanoid:FindFirstChild("Animator") or Instance.new("Animator", victimHumanoid)
- pcall(function()
- local anim = Instance.new("Animation"); anim.AnimationId = victimAnimId
- local track = animator:LoadAnimation(anim); track.Priority = Enum.AnimationPriority.Action; track:Play()
- end)
- end
- end)
RAW Gist Data
Copied
