TWW (fix)
TWW (fix)
Получилось реанимировать бота под TWW, но из-за того что при сохранении сборки бот генерирует каждый раз свой код, то придётся вносить изменения после этого самостоятельно.
Если вкратце, то нужно будет сохранить свою сборку, в файле AddOns\BlackDPS\Main.lua заменить часть кода и записать свои ID спеллов из сборки чтобы бот мог бинды на них поставить и нажимать соответственно.
Теперь по порядку...
1. Создаём свою сборку(с заклинаниями), меняем в настройках бота "Режим работы через аддон BPDS" и сохраняем её. Это нужно чтобы обновился файл Main.lua с вашей составленной ротацией. После этого (если необходимо) можно сразу режим работы вернуть на TellMeWhen и сохранить ещё раз.
2. Открываем файл AddOns\BlackDPS\Main.lua и спускаемся в самый низ. Там вы найдёте строчку SpellSelector() в ней записана ваша сгенерированная ротация, всё что находится выше этой функции нужно выделить и заменить на подкорректированный код для TWW который можно скачать тут https://cloud.mail.ru/public/GNYt/ChUGGuQnW (открываем файл в ссылке и копируем всё до SpellSelector() в свой Main.lua с заменой)
3. Найдите строчку с названием "local BindingSpells =" и двумя строчками ниже запишите свои ID спеллов через запятую которые присутствуют в вашей сборке.
Если есть в сборке макросы, то чуть ниже будет "local BindingMacroses = " и там по аналогии. В файле рядом с этими строчками есть небольшие подсказки.
4. Сохраняем файл и можно заходить в игру.
Выглядит на первый взгляд немного заморочено, но это не нужно будет делать в полном объёме каждый раз. Просто сохраните копию этого файла где вы уже вписали свои ID спеллов и т.д. и в дальнейшем при добавлении новых условий, после сохранения сборки вы будете просто заменять часть кода до SpellSelector() на свой и сразу пользоваться.
Если вкратце, то нужно будет сохранить свою сборку, в файле AddOns\BlackDPS\Main.lua заменить часть кода и записать свои ID спеллов из сборки чтобы бот мог бинды на них поставить и нажимать соответственно.
Теперь по порядку...
1. Создаём свою сборку(с заклинаниями), меняем в настройках бота "Режим работы через аддон BPDS" и сохраняем её. Это нужно чтобы обновился файл Main.lua с вашей составленной ротацией. После этого (если необходимо) можно сразу режим работы вернуть на TellMeWhen и сохранить ещё раз.
2. Открываем файл AddOns\BlackDPS\Main.lua и спускаемся в самый низ. Там вы найдёте строчку SpellSelector() в ней записана ваша сгенерированная ротация, всё что находится выше этой функции нужно выделить и заменить на подкорректированный код для TWW который можно скачать тут https://cloud.mail.ru/public/GNYt/ChUGGuQnW (открываем файл в ссылке и копируем всё до SpellSelector() в свой Main.lua с заменой)
3. Найдите строчку с названием "local BindingSpells =" и двумя строчками ниже запишите свои ID спеллов через запятую которые присутствуют в вашей сборке.
Если есть в сборке макросы, то чуть ниже будет "local BindingMacroses = " и там по аналогии. В файле рядом с этими строчками есть небольшие подсказки.
4. Сохраняем файл и можно заходить в игру.
Выглядит на первый взгляд немного заморочено, но это не нужно будет делать в полном объёме каждый раз. Просто сохраните копию этого файла где вы уже вписали свои ID спеллов и т.д. и в дальнейшем при добавлении новых условий, после сохранения сборки вы будете просто заменять часть кода до SpellSelector() на свой и сразу пользоваться.
Re: TWW (fix)
Это для пиратки раз если будете использовать в актуале может прилететь бан просто.
Менять нужно снипах в настройке аддона TellMeWhen в папке клиента вов WTF для TWW как раз ...
Re: TWW (fix)
когда заработает то на оффе.
Re: TWW (fix)
ну который только через блекдпс работает?чтоб через тмв работал я не понял как сделать.и когда я запускаю через блекдпс ошибка выскакивает после релога вроде все норм работает.
Re: TWW (fix)
Добавляем это в Пользовательский код (снизу) для совместимости с TWW. И продолжаем пользоваться TMW
Не гарантирую что работает для всех сборок.
Все способности полученые из талантов нужно обернуть в условие Активный талант (idTip в помощь).
Не гарантирую что работает для всех сборок.
Все способности полученые из талантов нужно обернуть в условие Активный талант (idTip в помощь).
Код: Выделить всё
PlayerHeroTrees = {}
function UpdateTalents()
PlayerTalents = {}
PlayerHeroTrees = {}
local ActiveConfigID = C_ClassTalents.GetActiveConfigID()
if ActiveConfigID then
local ConfigInfo = C_Traits.GetConfigInfo(ActiveConfigID)
if ConfigInfo then
local treeIDs = ConfigInfo.treeIDs
if treeIDs then
for idx = 1, #treeIDs do
for _, TreeNodeID in pairs(C_Traits.GetTreeNodes(treeIDs[idx])) do
local NodeInfo = C_Traits.GetNodeInfo(ActiveConfigID, TreeNodeID)
if NodeInfo and NodeInfo.activeEntry and NodeInfo.activeRank > 0 then
local EntryInfo = C_Traits.GetEntryInfo(ActiveConfigID, NodeInfo.activeEntry.entryID)
if EntryInfo.definitionID then
local spellID = C_Traits.GetDefinitionInfo(EntryInfo.definitionID).spellID
PlayerTalents[tostring(spellID)] = true
end
end
if NodeInfo and NodeInfo.subTreeID then
local SubTreeInfo = C_Traits.GetSubTreeInfo(ActiveConfigID, NodeInfo.subTreeID)
if SubTreeInfo and SubTreeInfo.isActive then
PlayerHeroTrees[SubTreeInfo.name] = true
end
end
end
end
end
end
end
for _, talentID in ipairs(C_SpecializationInfo.GetAllSelectedPvpTalentIDs()) do
local _, _, _, _, _, spellID = GetPvpTalentInfoByID(talentID)
PlayerTalents[tostring(spellID)] = true
PlayerTalents[spellID] = true
end
end
function IsHeroTree(TreeName)
if PlayerHeroTrees[TreeName] ~= nil then
return PlayerHeroTrees[TreeName]
else
return false
end
end
function MyIsSpellInRange(SpellName, Unit)
local in_range = C_Spell.IsSpellInRange(SpellName, Unit)
if in_range == nil then return true else return in_range end
end
function CanCastUnit(SpellCode, Unit, InMove)
return UnitExists(Unit) and UnitIsVisible(Unit) and not UnitIsDeadOrGhost(Unit) and Timers["WallBlock" .. UnitGUID(Unit)] == nil and Timers["UnitNotInFront" .. UnitGUID(Unit)] == nil and MyIsSpellInRange(SpellCode, Unit) and CanCast(SpellCode, InMove)
end
function GetSpellInfo(spellIdentifier)
local data = C_Spell.GetSpellInfo(spellIdentifier)
if data ~= nil then
return data.name, 0, data.iconID, data.castTime, data.minRange, data.maxRange, data.spellID, data.originalIconID
end
end
function GetSpellCooldown(spellIdentifier)
local data = C_Spell.GetSpellCooldown(spellIdentifier)
if data ~= nil then
return data.startTime, data.duration, data.isEnabled, data.modRate
end
end
function GetItemCooldown(spellIdentifier)
local data = C_Item.GetItemCooldown(spellIdentifier)
if data ~= nil then
return data.startTime, data.duration, data.isEnabled, data.modRate
end
end
function GetSpellCharges(spellIdentifier)
local data = C_Spell.GetSpellCharges(spellIdentifier)
if data ~= nil then
return data.currentCharges, data.maxCharges, data.cooldownStartTime, data.cooldownDuration, data.chargeModRate
end
end
function GetSpellDescription(spellIdentifier)
return C_Spell.GetSpellDescription(spellIdentifier)
end
function IsSpellInRange(spellIdentifier, unit)
return C_Spell.IsSpellInRange(spellIdentifier, unit)
end
function IsUsableSpell(spellIdentifier)
return C_Spell.IsSpellUsable(spellIdentifier)
end
function GetSpellCount(spellIdentifier)
return C_Spell.GetSpellCastCount(spellIdentifier)
end
function IsCurrentSpell(spellIdentifier)
return C_Spell.IsCurrentSpell(spellIdentifier)
end
function GetSpellPowerCost(spellIdentifier)
return C_Spell.GetSpellPowerCost(spellIdentifier)
end
function UnitAura(unit, i, kind)
if kind == "HARMFUL" then
local data = C_UnitAuras.GetDebuffDataByIndex(unit, i)
if data ~= nil then
return data.name, data.icon, data.applications, data.dispelName, data.duration, data.expirationTime, data.sourceUnit, nil, nil, data.spellId, data.canApplyAura, data.isBossDebuff, data.isFromPlayerOrPlayerPet
end
end
if kind == "HELPFUL" then
local data = C_UnitAuras.GetBuffDataByIndex(unit, i)
if data ~= nil then
return data.name, data.icon, data.applications, data.dispelName, data.duration, data.expirationTime, data.sourceUnit, nil, nil, data.spellId, data.canApplyAura, data.isBossDebuff, data.isFromPlayerOrPlayerPet
end
end
end
-
- Сообщения: 41
- Зарегистрирован: 01 фев 2023, 11:02
Re: TWW (fix)
Прогресс виден, но скилы не нажимает.
Re: TWW (fix)
Перепроверил. Свеже созданная сборка в фиксом для совместимости работает как и должна. Так что проблема не в API TWW.
-
- Сообщения: 41
- Зарегистрирован: 01 фев 2023, 11:02
Re: TWW (fix)
Пишет название скила который нужно нажать но не нажимает его.
По настройкам все проверил, сбросил по умолчанию, переклацал разные варианты... не помогло.
По настройкам все проверил, сбросил по умолчанию, переклацал разные варианты... не помогло.
Re: TWW (fix)
Возьми в фокус цель каторую пишет рядом со спелом и отпиши о результате, плиз.
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость