Жрец

Обмен опытом по созданию ротаций
KuBeR
Сообщения: 1
Зарегистрирован: 26 окт 2024, 18:04

Re: Жрец

Сообщение KuBeR » 26 окт 2024, 18:12

есть у кого дц шилдер и диспелер в пвп, для 3.3.5

noname123
Сообщения: 193
Зарегистрирован: 19 мар 2020, 09:15

Re: Жрец

Сообщение noname123 » 02 ноя 2024, 11:25

Способ как избежать дабл кастов вампир тача. (сохраняя при этом возможность прекаста при смене целей)

В боте внизу вставить данный пользовательский код. Он запоминает GUID того в кого начался ваш каст прикосновения вампира и с помощью условий в блоке мы сможем запретить повторное использование этого заклинания в туже самую цель.
После того как каст будет прерван или успешно завершен GUID будет обнуляться.

Код: Выделить всё

local VTtarget = 0
frame = CreateFrame("FRAME")
frame:RegisterEvent("UNIT_SPELLCAST_SUCCEEDED")
frame:RegisterEvent("COMBAT_LOG_EVENT_UNFILTERED")
frame:SetScript("OnEvent", function(self, event, ...)
    if event == "UNIT_SPELLCAST_SUCCEEDED" then
        local unit, spellID, spellName, spellRank;
        if checkVersionOld(1,3) then
            unit, spellName, spellRank = ...;
            spellID = MyGetSpellID(spellName, spellRank)
        elseif checkVersionOld(4,7) then
            unit, _, _, _, spellID = ...;
        else
            unit, _, spellID = ...;
        end
        if spellID == 34914 and unit == "player" then
            VTtarget = 0
        end
    end
    if event == "COMBAT_LOG_EVENT_UNFILTERED" then
        local timestamp, cleuEvent, hideCaster, sourceGUID, sourceName, sourceFlags, sourceRaidFlags, destGUID, destName, destFlags, destRaidFlags, spellId, spellName, spellSchool, param15, param16, param17, param18, param19, param20;
        if checkVersionOld(1,3) then
            timestamp, cleuEvent, sourceGUID, sourceName, sourceFlags, destGUID, destName, destFlags, spellId, spellName, spellSchool, param15, param16, param17, param18, param19, param20 = ...;
        elseif checkVersionOld(4,7) then
            timestamp, cleuEvent, hideCaster, sourceGUID, sourceName, sourceFlags, sourceRaidFlags, destGUID, destName, destFlags, destRaidFlags, spellId, spellName, spellSchool, param15, param16, param17, param18, param19, param20 = ...;
        else
            timestamp, cleuEvent, hideCaster, sourceGUID, sourceName, sourceFlags, sourceRaidFlags, destGUID, destName, destFlags, destRaidFlags, spellId, spellName, spellSchool, param15, param16, param17, param18, param19, param20 = CombatLogGetCurrentEventInfo();
        end
        if cleuEvent == "SPELL_CAST_START" and isPlayer(destName) and spellId == 34914 then
            VTtarget = UnitGUID("focus")
        elseif cleuEvent == "SPELL_CAST_FAILED" and isPlayer(destName) and spellId == 34914 then
            VTtarget = 0
        end
    end
end)
Пример блока при игре через цикл
Изображение


Пример блока при игре через таргет
Изображение

Ответить

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость