Untitled
-- Konfiguracja local manaPotionID = 268 -- ID mana potiona -- Definicja czarów i opcji local spells = { {name = "utito tempo", mana = 50, cooldown = 20000, range = 7, count = 1, padding = 2}, -- Buff czar, rzucany rzadziej {name = "exori gran", mana = 90, cooldown = 1000, range = 1, count = 1, padding = 2}, {name = "exori", mana = 80, cooldown = 1000, range = 1, count = 1, padding = 2}, {name = "exori amp kor", mana = 120, cooldown = 1000, range = 1, count = 1, padding = 2}, {name = "exori min", mana = 60, cooldown = 500, range = 1, count = 1, padding = 2} -- Dodany Exori Min } -- Zmienna przechowująca czas ostatniego rzucenia dla każdego czaru local lastCasts = {} for _, spell in ipairs(spells) do lastCasts[spell.name] = 0 end -- Funkcja główna Module.New("Cast Spell Combo", function(module) -- Sprawdź, czy istnieje cel local targetID = Self.TargetID() if targetID == 0 then return -- Brak celu, zakończ wykonanie tej iteracji end -- Utwórz obiekt celu local target = Creature.New(targetID) -- Obróć postać w stronę celu przed rzutem czaru if target:DistanceFromSelf() <= 7 then -- Użyj MoveTo do obrócenia w stronę celu local targetPos = target:GetPosition() Self.MoveTo(targetPos.x, targetPos.y, targetPos.z) end -- Iteruj przez listę czarów for _, spell in ipairs(spells) do local currentTime = os.clock() * 1000 -- Sprawdź warunki: mana, odległość, liczba celów, brak cooldownu if Self.Mana() >= spell.mana and target:DistanceFromSelf() <= spell.range and Self.CanCastSpell(spell.name) then -- Rzuć czar Self.Say(spell.name) lastCasts[spell.name] = currentTime -- Użyj mana potiona po rzuceniu "exori gran" if spell.name == "exori gran" then Self.UseItemWithMe(manaPotionID) end -- Przerywamy po rzuceniu czaru, przechodzimy do następnego czaru w następnej iteracji break end end end)
Leave a Comment