MoP Classic. Чернокнижник. Ресурсы.

Ответить
zero091
Сообщения: 29
Зарегистрирован: 16 мар 2022, 14:55

MoP Classic. Чернокнижник. Ресурсы.

Сообщение zero091 » 06 июл 2025, 19:46

Столкнулся с проблемой.
На классике Пандарии бот не мониторит ресуры у варлока, может быть и на других классах тоже есть проблема, но без понятия.
На варлоке бот не видит ресурсы ни на одном спеке, ни на афли, ни на дкмоне, ни на дестре
Конкретно вопрос вот в чем, может быть кто-нибудь подскажет, как можно прописать кодом ресурс ?
Потому что через конструктор бот не понимает ресурсы и начинает кастовать спеллы в не зависимости от их количества
if (((((MyUnitPower("player", SPELL_POWER_BURNING_EMBERS ))>3)and(((MyUnitHealth("target"))*100/(MyUnitHealthMax("target")))>=20)))) then
if (MyReadyForCast(1,"target",116858, false)) then
return 116858, "target", nil;
Вот что дает LUA генератор с конструктора, условие типо если углей больше 3 и хп и таргета больше 20%, то кастовать спелл 116858, но боту пофиг на количество углей, он кастует этот спелл как может скастовать.
Я так понимаю, что проблема в SPELL_POWER_BURNING_EMBERS.... ну или я совсем ничего не понимаю.
Хотя бы дайте ссылку на API вова нормальную, гугл всякую хрень выдает

zero091
Сообщения: 29
Зарегистрирован: 16 мар 2022, 14:55

Re: MoP Classic. Чернокнижник. Ресурсы.

Сообщение zero091 » 07 июл 2025, 07:30

Разобрался. Вдруг кому еще понадобится
Делаем условие->Пользовательский код пишем вот это
UnitPower("player", Enum.PowerType.BurningEmbers) это конкретно под дестро варлока
Вот тут названия энергий, но не всех, можно логически подобрать нужную вам
https://wowpedia.fandom.com/wiki/API_UnitPower

Tretiy
Сообщения: 16
Зарегистрирован: 24 апр 2018, 06:15

Re: MoP Classic. Чернокнижник. Ресурсы.

Сообщение Tretiy » 30 июл 2025, 05:06

Ещё не определяет спек или наличие таланта.

Tretiy
Сообщения: 16
Зарегистрирован: 24 апр 2018, 06:15

Re: MoP Classic. Чернокнижник. Ресурсы.

Сообщение Tretiy » 30 июл 2025, 05:07

Починить бы

zero091
Сообщения: 29
Зарегистрирован: 16 мар 2022, 14:55

Re: MoP Classic. Чернокнижник. Ресурсы.

Сообщение zero091 » 31 июл 2025, 06:31

Tretiy писал(а):
30 июл 2025, 05:06
Ещё не определяет спек или наличие таланта.
Близзы в этой версии клиента вообще выпилили функцию GetSpecialization, не лечится никак. ТОже самое и с талантами.

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

Re: MoP Classic. Чернокнижник. Ресурсы.

Сообщение noname123 » 04 авг 2025, 10:10

zero091 писал(а):
31 июл 2025, 06:31
Tretiy писал(а):
30 июл 2025, 05:06
Ещё не определяет спек или наличие таланта.
Близзы в этой версии клиента вообще выпилили функцию GetSpecialization, не лечится никак. ТОже самое и с талантами.
https://warcraft.wiki.gg/wiki/API_C_Spe ... TalentInfo

zero091
Сообщения: 29
Зарегистрирован: 16 мар 2022, 14:55

Re: MoP Classic. Чернокнижник. Ресурсы.

Сообщение zero091 » 06 авг 2025, 14:16

Если ьы ты еще подсказал как это в боте прописать, бы ло бы супер :)

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

Re: MoP Classic. Чернокнижник. Ресурсы.

Сообщение noname123 » 07 авг 2025, 10:50

Проверить код не могу к сожалению т.к. не играю на ластовых дополнениях. Вставь данный (самый нижний) код в окно пользовательского кода внизу в боте. Для использования в блоке нужно создать в нём условие "Пользовательский код" с галочкой bool (TRUE) и вписать туда

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

PlayerTalents[talentID] 
talentID соответственно заменить на значение проверяемого айдишника таланта.

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

local PlayerTalents = {}
local function GetTalents()
	for t=1,6 do
		for i=1,3 do
			local talentInfoQuery = {}
			local numColumns = 3
			talentInfoQuery.tier = t
			talentInfoQuery.column = i
			talentInfoQuery.groupIndex = "1"
			talentInfoQuery.isInspect = false
			talentInfoQuery.target = nil
			local talentInfo = C_SpecializationInfo.GetTalentInfo(talentInfoQuery)
			if talentInfo and talentInfo.name and talentInfo.known and talentInfo.spellID then
				PlayerTalents[talentInfo.spellID] = 1
			end
		end
	end
end
local frame = CreateFrame("Frame")
frame:RegisterEvent("PLAYER_ENTERING_WORLD")
frame:RegisterEvent("PLAYER_SPECIALIZATION_CHANGED")
frame:RegisterEvent("PLAYER_TALENT_UPDATE")
frame: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()
		frame:UnregisterEvent("PLAYER_ENTERING_WORLD")
	end
end)

zero091
Сообщения: 29
Зарегистрирован: 16 мар 2022, 14:55

Re: MoP Classic. Чернокнижник. Ресурсы.

Сообщение zero091 » 08 авг 2025, 05:58

Вот спасибо :)

Ответить

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

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