Паладин

Обмен опытом по созданию ротаций
markovchina1990
Сообщения: 30
Зарегистрирован: 31 мар 2018, 09:51

Re: Паладин

Сообщение markovchina1990 » 04 ноя 2019, 16:04

Нужно держать босса в таргете а в условии ставить targettarget

end
Сообщения: 97
Зарегистрирован: 01 май 2018, 10:28

Re: Паладин

Сообщение end » 05 ноя 2019, 05:33

Хе.
Тут не так просто. Самый лучший вариант получился при использовании полу автоматического режима.
Выглядит так, по порядку блоки:
-хил ротация в таргет.
-хил ротация в цикл по союзникам.
-дд ротация через таргеттаргет
-дд ротация в таргет.

Конечно у некоторых классов свои фишки. Например шам между 1 и 2 блоком использует дотку на врага и скидывает проки магмы.

eminsk
Сообщения: 191
Зарегистрирован: 19 фев 2016, 17:15

Re: Паладин

Сообщение eminsk » 06 ноя 2019, 01:33

MoRFiuSka писал(а):
04 ноя 2019, 15:17
Что делать если хпал в рейде просто кидает частицу на танков? Т.к. танков 2, то он просто по кд кидает по очереди на них частицу
Делай проверки через нажатие клавиш F1-F4 и проверяй чтобы чтобы был главный танк который держит босса.

eminsk
Сообщения: 191
Зарегистрирован: 19 фев 2016, 17:15

Re: Паладин

Сообщение eminsk » 22 ноя 2019, 15:33

бфа паладин.rar
(23.5 КБ) 6 скачиваний

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

function CheckUseItem(itemId)
local status = false;
local count = GetItemCount(itemId);
    if (count or 0) > 0 then
        local start,duration,enable = GetItemCooldown(itemId);
        if start == 0 and duration == 0 and enable then
            status = true;
        end
end
return status;
end
Talents = {{}, {}, {}, {}, {}, {}, {}}

local function GetTalents()
  for tier=1,7 do
    for value=1,3 do
      Talents[tier][value] = (select(4, GetTalentInfo(tier, value, 1)))
    end
  end
end

local Eye = CreateFrame("Frame")
Eye:RegisterEvent("PLAYER_ENTERING_WORLD")
Eye:RegisterEvent("PLAYER_SPECIALIZATION_CHANGED")
Eye:RegisterEvent("PLAYER_TALENT_UPDATE")
Eye:SetScript("OnEvent", 
  function(self, event, ...)
    if event == "PLAYER_TALENT_UPDATE" then
      GetTalents()
    elseif event == "PLAYER_SPECIALIZATION_CHANGED" then
      GetTalents()
    elseif event == "PLAYER_ENTERING_WORLD" then
      GetTalents()
      Eye:UnregisterEvent("PLAYER_ENTERING_WORLD")
    end
  end
)
AzeriteSpells = {}

local function GetAzeriteSpells()
  local slotIDs = {1, 3, 5} -- Inventory slots with azerite talents
  for _,slot in ipairs(slotIDs) do
    if GetInventoryItemID("player",slot)~=nil then
      local itemLocation = ItemLocation:CreateFromEquipmentSlot(slot)
      if C_AzeriteEmpoweredItem.IsAzeriteEmpoweredItem(itemLocation) then
        local  allTierInfo = C_AzeriteEmpoweredItem.GetAllTierInfo(itemLocation)
        for _, tier in ipairs(allTierInfo) do
          for _, azeritePowerID in ipairs(tier.azeritePowerIDs) do
            if C_AzeriteEmpoweredItem.IsPowerSelected(itemLocation, azeritePowerID) then
              AzeriteSpells[C_AzeriteEmpoweredItem.GetPowerInfo(azeritePowerID).spellID]=true
            end
          end
        end
      end
    end
  end
end

local Eye = CreateFrame("Frame")
Eye:RegisterEvent("PLAYER_ENTERING_WORLD")
Eye:RegisterEvent("PLAYER_EQUIPMENT_CHANGED")
Eye:RegisterEvent("PLAYER_SPECIALIZATION_CHANGED")
Eye:RegisterEvent("AZERITE_EMPOWERED_ITEM_SELECTION_UPDATED")
Eye:SetScript("OnEvent", 
  function(self, event, ...)
    if event == "PLAYER_EQUIPMENT_CHANGED" then
      GetAzeriteSpells()
    elseif event == "AZERITE_EMPOWERED_ITEM_SELECTION_UPDATED" then
      GetAzeriteSpells()
    elseif event == "PLAYER_SPECIALIZATION_CHANGED" then
      GetAzeriteSpells()
    elseif event == "PLAYER_ENTERING_WORLD" then
      GetAzeriteSpells()
      Eye:UnregisterEvent("PLAYER_ENTERING_WORLD")
    end
  end
)

eminsk
Сообщения: 191
Зарегистрирован: 19 фев 2016, 17:15

Re: Паладин

Сообщение eminsk » 24 ноя 2019, 20:54

ретрик.rar
(7.87 КБ) 5 скачиваний

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

function uaz266_Disease()
 local i = 1
 local buff,_,_,count,bufftype,duration = UnitDebuff("player", i)
 while buff do 
  if bufftype == "Disease" then return true end
  i = i + 1;
  buff,_,_,count,bufftype,duration = UnitDebuff("player", i)
 end
 return false
end

function uaz266_Poison()
 local i = 1
 local buff,_,_,count,bufftype,duration = UnitDebuff("player", i)
 while buff do 
  if bufftype == "Poison" then return true end
  i = i + 1;
  buff,_,_,count,bufftype,duration = UnitDebuff("player", i)
 end
 return false
end

Ответить

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

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