Обмен опытом по созданию ротаций
-
eminsk
- Сообщения: 253
- Зарегистрирован: 19 фев 2016, 17:15
Сообщение
eminsk » 25 ноя 2019, 01:38
Код: Выделить всё
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
-
stormi47855
- Сообщения: 221
- Зарегистрирован: 25 ноя 2016, 10:13
Сообщение
stormi47855 » 02 дек 2019, 07:48
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
брат а можно хоть какоето описание таланты какие брал к примеру и что меняют переключатели в каждой ветке -_-
-
Byefar
- Сообщения: 17
- Зарегистрирован: 27 май 2016, 08:11
Сообщение
Byefar » 23 фев 2020, 08:10
Народ подскажите, как сделать так чтоб Звездопад кастовался сразу в таргет.
-
Reqqque
- Сообщения: 215
- Зарегистрирован: 01 дек 2018, 20:28
Сообщение
Reqqque » 23 фев 2020, 13:11
Byefar писал(а): ↑23 фев 2020, 08:10
Народ подскажите, как сделать так чтоб Звездопад кастовался сразу в таргет.
В таргет нельзя, можно только под курсором
/cast [@cursor] Звездопад
-
Byefar
- Сообщения: 17
- Зарегистрирован: 27 май 2016, 08:11
Сообщение
Byefar » 23 фев 2020, 21:40
А как тогда сделать, чтоб бот кастовал Звездопад, а куда его применять я сам уже выбирал, в том плане что когда появляется зеленый круг области Звездопада, чтоб бот остонавливалься и ждал пока я сам выберу и нажму. А не перебивал каст. Надеюсь, както понятно обрисовал проблему.
-
Reqqque
- Сообщения: 215
- Зарегистрирован: 01 дек 2018, 20:28
Сообщение
Reqqque » 24 фев 2020, 03:57
Byefar писал(а): ↑23 фев 2020, 21:40
А как тогда сделать, чтоб бот кастовал Звездопад, а куда его применять я сам уже выбирал, в том плане что когда появляется зеленый круг области Звездопада, чтоб бот остонавливалься и ждал пока я сам выберу и нажму. А не перебивал каст. Надеюсь, както понятно обрисовал проблему.
Просто поставить цель на звездопаде таргет
Когда бот дойдет до него и сможет его кастануть он не будет перебивать, а будет ждать каста если выше по приоритету в ротации нету спелов которые он может нажать
-
lilaa
- Сообщения: 18
- Зарегистрирован: 03 сен 2019, 12:52
Сообщение
lilaa » 24 фев 2020, 12:49
либо начало ротации, либо к каждой способности, которая не должна сбивать звездопад
-
Kopcap4g
- Сообщения: 64
- Зарегистрирован: 06 янв 2019, 19:00
Сообщение
Kopcap4g » 08 мар 2020, 17:37
Сборка Баланс Легион 7.3.5 Не судите строго
-
Вложения
-
- Баланс.rar
- (4.42 КБ) 303 скачивания
-
Anry
- Сообщения: 32
- Зарегистрирован: 04 мар 2020, 17:10
- Откуда: Калининград
Сообщение
Anry » 15 мар 2020, 09:13
Под бфа 8.2 есть?
-
grettens
- Сообщения: 2
- Зарегистрирован: 12 мар 2020, 17:31
Сообщение
grettens » 15 мар 2020, 19:16
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
изза твоего кода аддон ломается и приходится все переустанавливать.а если не ставить код он тупо спамит омоложение без остановки.
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость