Untitled
unknown
plain_text
a year ago
2.7 kB
6
Indexable
-- 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 (North, East, South, West)
local function GetDirectionToTarget(target)
local playerPos = Self.Position()
local targetPos = target:GetPosition()
-- Sprawdzenie różnicy współrzędnych
if targetPos.x > playerPos.x then
return "EAST" -- Celu jest na wschód
elseif targetPos.x < playerPos.x then
return "WEST" -- Celu jest na zachód
elseif targetPos.y > playerPos.y then
return "SOUTH" -- Celu jest na południe
elseif targetPos.y < playerPos.y then
return "NORTH" -- Celu jest na północ
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)
Editor is loading...
Leave a Comment