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 do obliczania kierunku do celu local function GetDirectionToTarget(target) local playerPos = Self.Position() local targetPos = target:GetPosition() if targetPos.x > playerPos.x then return "EAST" elseif targetPos.x < playerPos.x then return "WEST" elseif targetPos.y > playerPos.y then return "SOUTH" elseif targetPos.y < playerPos.y then return "NORTH" end return nil 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 local direction = GetDirectionToTarget(target) if direction then Self.Turn(direction) -- Obróć w odpowiednią stronę 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