Untitled
unknown
plain_text
10 months ago
2.2 kB
4
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 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)
Editor is loading...
Leave a Comment