Страница 12 из 18

Re: Друид

Добавлено: 25 ноя 2019, 01:38
eminsk
бфа медведь кот сова хил.rar
(39.43 КБ) 383 скачивания

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

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
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
)
Talents = {{}, {}, {}, {}, {}, {}, {}}
Talents.pvp = {}

local function GetTalents()
  for tier=1,7 do
    for value=1,3 do
      Talents[tier][value] = (select(4, GetTalentInfo(tier, value, 1)))
    end
  end
  for slotN, talentID in ipairs (C_SpecializationInfo.GetAllSelectedPvpTalentIDs()) do
    Talents.pvp[talentID] = true
  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
)

function inPvP()
  return C_PvP.IsWarModeActive() or C_PvP.IsPVPMap()
end

Re: Друид

Добавлено: 02 дек 2019, 07:48
stormi47855
eminsk писал(а):
25 ноя 2019, 01:38
бфа медведь кот сова хил.rar

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

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
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
)
Talents = {{}, {}, {}, {}, {}, {}, {}}
Talents.pvp = {}

local function GetTalents()
  for tier=1,7 do
    for value=1,3 do
      Talents[tier][value] = (select(4, GetTalentInfo(tier, value, 1)))
    end
  end
  for slotN, talentID in ipairs (C_SpecializationInfo.GetAllSelectedPvpTalentIDs()) do
    Talents.pvp[talentID] = true
  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
)

function inPvP()
  return C_PvP.IsWarModeActive() or C_PvP.IsPVPMap()
end
брат а можно хоть какоето описание таланты какие брал к примеру и что меняют переключатели в каждой ветке -_-

Re: Друид

Добавлено: 23 фев 2020, 08:10
Byefar
Народ подскажите, как сделать так чтоб Звездопад кастовался сразу в таргет.

Re: Друид

Добавлено: 23 фев 2020, 13:11
Reqqque
Byefar писал(а):
23 фев 2020, 08:10
Народ подскажите, как сделать так чтоб Звездопад кастовался сразу в таргет.
В таргет нельзя, можно только под курсором
/cast [@cursor] Звездопад

Re: Друид

Добавлено: 23 фев 2020, 21:40
Byefar
А как тогда сделать, чтоб бот кастовал Звездопад, а куда его применять я сам уже выбирал, в том плане что когда появляется зеленый круг области Звездопада, чтоб бот остонавливалься и ждал пока я сам выберу и нажму. А не перебивал каст. Надеюсь, както понятно обрисовал проблему.

Re: Друид

Добавлено: 24 фев 2020, 03:57
Reqqque
Byefar писал(а):
23 фев 2020, 21:40
А как тогда сделать, чтоб бот кастовал Звездопад, а куда его применять я сам уже выбирал, в том плане что когда появляется зеленый круг области Звездопада, чтоб бот остонавливалься и ждал пока я сам выберу и нажму. А не перебивал каст. Надеюсь, както понятно обрисовал проблему.
Просто поставить цель на звездопаде таргет
Когда бот дойдет до него и сможет его кастануть он не будет перебивать, а будет ждать каста если выше по приоритету в ротации нету спелов которые он может нажать

Re: Друид

Добавлено: 24 фев 2020, 12:49
lilaa
Изображение
либо начало ротации, либо к каждой способности, которая не должна сбивать звездопад

Re: Друид

Добавлено: 08 мар 2020, 17:37
Kopcap4g
Сборка Баланс Легион 7.3.5 Не судите строго ;)

Re: Друид

Добавлено: 15 мар 2020, 09:13
Anry
Под бфа 8.2 есть?

Re: Друид

Добавлено: 15 мар 2020, 19:16
grettens
eminsk писал(а):
25 ноя 2019, 01:38
бфа медведь кот сова хил.rar

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

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
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
)
Talents = {{}, {}, {}, {}, {}, {}, {}}
Talents.pvp = {}

local function GetTalents()
  for tier=1,7 do
    for value=1,3 do
      Talents[tier][value] = (select(4, GetTalentInfo(tier, value, 1)))
    end
  end
  for slotN, talentID in ipairs (C_SpecializationInfo.GetAllSelectedPvpTalentIDs()) do
    Talents.pvp[talentID] = true
  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
)

function inPvP()
  return C_PvP.IsWarModeActive() or C_PvP.IsPVPMap()
end
изза твоего кода аддон ломается и приходится все переустанавливать.а если не ставить код он тупо спамит омоложение без остановки.