nkXtdMacro - sczytywanie cooldownu w makro

Rekrutacja do zespołu RoM PL została otwarta! Więcej informacji: Rekrutacja do zespołu RoM.
  • Szukam sposobu na dodanie wyświetlanego cooldownu do makra, najlepiej żeby sczytywało cooldown ze skilla użytego w tym makro. Samego makra nie udało mi się znaleźć a jedynie addony, sprawdzałem już MacroCooldowns i ExtraActionBars jednak nie spełniają zadania w tym przypadku, makro posiada warunki i nawet jeśli nie użyje skilla to odpala cooldown. Najlepiej wypadł nkXtdMacro który byłby idealny jednak posiada dużą wadę która go skreśla, powoduje mikro ściny podczas używania skilli i to nie tylko makr.


    Sam addon nie jest długi więc może znajdzie się tu programista który wyłapie gdzie leży problem i jak to zmienić, wiem tyle że po wciśnięciu dowolnego skilla addon na to reaguje i sprawdza wszystkie 80 pół na paskach akcji w poszukiwaniu "nazw" i to powoduje ścinę.


    Samo makro na którym ma się pokazać cooldown wygląda tak


    Code: Użyj Strzały Osłabiającej jeśli cel nie posiada już debuffa Ziarna Usychania lub Strzały Osłabiającej
    1. /script i=1;Buff = false;while UnitDebuff("target", i) ~= nil do if UnitDebuff("target", i) == "Ziarno Usychania" or UnitDebuff("target", i) == "Strzała Osłabiająca" then Buff = true;break;end;i=i+1;end;if (not Buff) then CastSpellByName("Strzała Osłabiająca");end;

    [Ukończone misje: 7277] [Zdobyte tytuły: 763] [Zdobyte karty: 1969]


    RAScrn-Shot-20221112-17523236-cleanupoy.jpg

  • Nie wiem czy to jest ten problem, ale istnieje global cooldown. Może przez to wyłapuje cooldown na każdym skilu. Na lua sie nie znam ale wydaje mi się, ze trzeba by ustawić dokładne położenie ikony sprawdzanego skila na pasku akcji, bo sprawdzanie wszystkich jest bez semsu w tym przypadku.

  • Code
    1. /script i=1;Buff = false;while UnitDebuff("target", i) ~= nil do if UnitDebuff("target", i) == "Ziarno Usychania" or UnitDebuff("target", i) == "Strzała Osłabiająca" then Buff = true;break;end;i=i+1;end;if (not Buff) then CastSpellByName("Strzała Osłabiająca") setCooldown (Nazwa_Makra, Ilosc_sekund) ;end;


    Po rozeznaniu po tych addonach tak mysle ,ze ten macro coldowns bedzie sie najlepiej sprawdzal, tylko sprawdz czy ustawienei cooldawnu do odliczania po cascie oslabiajacej wejdzie. zaznacze kolorem pola do zmiany

  • W grze już o tym pisaliśmy ale żeby nie wyglądało na brak odpowiedzi :)

    Wedle tego przykładu makro wyglądało by tak:

    Code
    1. /script i=1;Buff = false;while UnitDebuff("target", i) ~= nil do if UnitDebuff("target", i) == "Ziarno Usychania" or UnitDebuff("target", i) == "Strzała Osłabiająca" then Buff = true;break;end;i=i+1;end;if (not Buff) then CastSpellByName("Strzała Osłabiająca") setCooldown Makro1 20 ;end;

    Niestety to makro nie działa, brak reakcji.


    Gdyby napisać je w takiej formie jak zakłada autor addona MacroCooldowns, czyli:

    Code
    1. /script i=1;Buff = false;while UnitDebuff("target", i) ~= nil do if UnitDebuff("target", i) == "Ziarno Usychania" or UnitDebuff("target", i) == "Strzała Osłabiająca" then Buff = true;break;end;i=i+1;end;if (not Buff) then CastSpellByName("Strzała Osłabiająca");end;
    2. /setCooldown Makro1 20

    Makro wyświetli cooldown ale będzie niepraktyczne, ten addon nie śledzi faktycznego cooldownu na danym skillu.

    Jesteś za daleko od celu? Odpali cooldown.

    Skill się jeszcze odnawia? Odpali cooldown.

    Na bossie jest już debuff Ziarno Usychania lub Strzała Osłabiająca? Skilla nie użyje ale cooldown odpali.


    [Ukończone misje: 7277] [Zdobyte tytuły: 763] [Zdobyte karty: 1969]


    RAScrn-Shot-20221112-17523236-cleanupoy.jpg

  • Też kiedyś szukałam czegoś na pokazywanie cooldownu na makrze, ale z braku lepszych rozwiązań zdecydowałam się właśnie na macrocooldowns. Używałam go głównie do ziaren druidowych i taktycznego i, po przyzwyczajeniu się, w miarę sprawdzał się. Wskazywany cooldown pozwalał mi orientacyjnie wyhaczyć moment, kiedy mam obserwować czy na bossie nie ma taktycznego / kliknąć ziarno i sprawdzić czy się pojawiło. A jeśli mi się odpala cooldown przypadkiem, to... trudno, mój błąd, mój nieogar :P


    edit. A gdybyś spróbował użyć https://runesofmagic.gamepedia.com/API:ExecuteMacroLine w swoim kodzie z posta #4? czyli

    Code
    1. ExecuteMacroLine("/setCooldown Makro1 20")

    <br>

    Nie mam jak sama przetestować, nie chce mi się ściągać patchy :P


    edit2. tomeczkoo, nie zamieszałeś tam ze średnikami na końcu? Tak dawno nie pisałam makr, że nie pamiętam już, czy średniki miały tam znaczenie, ale chyba miały? Więc zdaje mi się, że całość (zakładając, że podstawowe makro Zeno działa tak jak powinno) powinna wyglądać:

    Code
    1. /script i=1;Buff = false;while UnitDebuff("target", i) ~= nil do if UnitDebuff("target", i) == "Ziarno Usychania" or UnitDebuff("target", i) == "Strzała Osłabiająca" then Buff = true;break;end;i=i+1;end;if (not Buff) then CastSpellByName("Strzała Osłabiająca");ExecuteMacroLine("/setCooldown Makro1 20");end;

    edit3. Oczywiście, nawet jeśli to zadziała, to z listy:

    "Jesteś za daleko od celu? Odpali cooldown.

    Skill się jeszcze odnawia? Odpali cooldown.

    Na bossie jest już debuff Ziarno Usychania lub Strzała Osłabiająca? Skilla nie użyje ale cooldown odpali."

    wyeliminuje to tylko 3 problem. 1 i 2 nie wydaje mi się poważny, zwykła obserwacja czy debuff wskoczył czy nie, jak nie, to poprawiasz, różnica czasowa wyświetlanego cd względem prawdziwego będzie zazwyczaj niewielka.

    Edited 4 times, last by Effie ().

  • Code
    1. /script i=1;Buff = false;while UnitDebuff("target", i) ~= nil do if UnitDebuff("target", i) == "Ziarno Usychania" or UnitDebuff("target", i) == "Strzała Osłabiająca" then Buff = true;break;end;i=i+1;end;if (not Buff) then CastSpellByName("Strzała Osłabiająca");ExecuteMacroLine("/setCooldown Makro1 20.3");end;

    Dodałem jeszcze 0.3 sek. by idealnie się synchronizowało, makro z użyciem tej funkcji działa.

    Nie jest idealne ale ten najpoważniejszy problem rozwiązuje, to już spory postęp. Szkoda że z tym nkXtdMacro nie wyszło, no nic od biedy MacroCooldowns wystarczy.

    Dziękuje Effie jak i reszcie za pomoc :)

    [Ukończone misje: 7277] [Zdobyte tytuły: 763] [Zdobyte karty: 1969]


    RAScrn-Shot-20221112-17523236-cleanupoy.jpg

  • Camist

    Closed the thread.