Таланты персонажа: проверка наличия.

deNoor
Сообщения: 33
Зарегистрирован: 20 янв 2018, 18:29

Таланты персонажа: проверка наличия.

Сообщение deNoor » 26 янв 2019, 18:53

В ротации в белом поле своего кода нужно вставить это (или обновить вручную вдумчиво, если уже делаете реакцию на события).

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

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
Дальше в ротации можно добавлять проверки типа "пользовательский код с галкой bool и выбором TRUE", где в поле вставляется Talents[row][position].
Например: Talents[5][2]
TalentsExample.jpg
TalentsExample.jpg (24.4 КБ) 14471 просмотр
Тут row это тир (строчка) в окне талантов, а position это номер 1, 2, 3 таланта, который можно выбрать в этой строчке:
TalentsIngame.jpg
TalentsIngame.jpg (92.57 КБ) 14471 просмотр
Если талант в ячейке выбран, то для его позиции в таблице будет true.

Проверить, правильно ли сейчас эта таблица видит ваши текущие таланты можно, написав в чат это + Enter:

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

/dump Talents
Для конкретного таланта:

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

/dump Talents[5][2]

Для проверки пвп таланта та же схема пользовательского условия, но вложенная таблица Talents.pvp[talentID]
Например: Talents.pvp[3506]
ID пвп таланта нужно смотреть в игре с аддоном IDtip или на вовхеде.
Помните, что выбранные пвп таланты определяются всегда, но работают только с активным вармодом или в пвп-инстансах. Вам нужно в проверке добавлять определение вармода
C_PvP.IsWarModeActive() — возвращает true или false в зависимости от вашего статуса вармода.
C_PvP.IsPVPMap() — возвращает true или false в зависимости от нахождения на пвп карте. Должно помочь определять пвп-инстансы.
Проверка обоих случаев объединена в функцию inPvP(), которую нужно вызывать вместе с проверкой пвп таланта.
Кто пвпшится, тот сам найдёт, как правильно определяется активный пвп режим, при котором пвп таланты работают.

Для вывода только таблицы пвп талантов:

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

/dump Talents.pvp
Для проверки наличия конкретного пвп таланта:

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

/dump Talents.pvp[3506]
Пример условия с пвп талантом:

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

inPvP() and Talents.pvp[3506]
Последний раз редактировалось deNoor 17 апр 2019, 14:28, всего редактировалось 9 раз.

Lil
Сообщения: 39
Зарегистрирован: 19 апр 2018, 19:49

Re: (пве) Таланты персонажа: проверка наличия.

Сообщение Lil » 26 янв 2019, 22:45

Ух, теперь F1-F4 освободятся под что-нибудь другое :D

deNoor
Сообщения: 33
Зарегистрирован: 20 янв 2018, 18:29

Re: (пве) Таланты персонажа: проверка наличия.

Сообщение deNoor » 17 апр 2019, 13:30

Добавлены пвп таланты в виде вложенной таблицы внутри пве талантов. Изменения отражены в функции и добавлены пояснения с инструкциями в первом посте.
Получение и обновление при смене пвп талантов тоже автоматическое.

uaz266
Сообщения: 372
Зарегистрирован: 12 ноя 2016, 03:30

Re: Таланты персонажа: проверка наличия.

Сообщение uaz266 » 03 май 2019, 02:38

Проще же можно сделать,одна строчка и программа будет сама проверять доступен этот талант или нет

nefas
Сообщения: 58
Зарегистрирован: 04 май 2019, 14:40

Re: Таланты персонажа: проверка наличия.

Сообщение nefas » 10 май 2019, 05:56

какая строчка то ?

EnterBrain
Сообщения: 188
Зарегистрирован: 11 апр 2018, 09:29

Re: Таланты персонажа: проверка наличия.

Сообщение EnterBrain » 21 ноя 2022, 02:06

Добавлена проверка из коробки для всех дополнений.
Изображение

просмотреть таблицу талантов можно в игре: /dump PlayerTalents
Discord:EnterBrain#6570

максим
Сообщения: 52
Зарегистрирован: 11 апр 2020, 13:18

Re: Таланты персонажа: проверка наличия.

Сообщение максим » 21 ноя 2022, 08:36

после этой обновы перестал работать бот на личе! не знаю в чем дело чекни плиз

EnterBrain
Сообщения: 188
Зарегистрирован: 11 апр 2018, 09:29

Re: Таланты персонажа: проверка наличия.

Сообщение EnterBrain » 21 ноя 2022, 09:08

максим писал(а):
21 ноя 2022, 08:36
после этой обновы перестал работать бот на личе! не знаю в чем дело чекни плиз
Каком именно личе и какие симптомы?
Discord:EnterBrain#6570

максим
Сообщения: 52
Зарегистрирован: 11 апр 2020, 13:18

Re: Таланты персонажа: проверка наличия.

Сообщение максим » 21 ноя 2022, 09:16

бот не определяется игрой даже переключателей нет сверху! На вотлк классик, что странно на ритейл версии все норм работает. а на классической не как работать не хочет даже через собственный аддон, вчера все нормально определялось!

максим
Сообщения: 52
Зарегистрирован: 11 апр 2020, 13:18

Re: Таланты персонажа: проверка наличия.

Сообщение максим » 21 ноя 2022, 09:19

EnterBrain писал(а):
21 ноя 2022, 09:08
максим писал(а):
21 ноя 2022, 08:36
после этой обновы перестал работать бот на личе! не знаю в чем дело чекни плиз
Каком именно личе и какие симптомы?
в Дискрорде тоже пару человек это обсуждали вот я и подумал что не по моей вине бот отьехал!

Ответить

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

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