Shestak UI
Go Back   Shestak UI > Interface Forums > Russian Community > Bugs Reports

Bugs Reports Report any bugs or issues you come across with ShestakUI.

Advertising

 
Thread Tools
Old 16.09.2013, 11:35   #1
 Elder Member User Information

Jarry's Avatar
Bug Кнопки дейстивия в кукинг квесте в 5.4

Нет кнопок приготовления лапши. Зная какие кнопки забиндены можно готовить нажимая их, но самих их нет.:
Если сборку отключить все на месте
Attached Thumbnails
Click image for larger version

Name:	WoWScrnShot_091413_173255.jpg
Views:	66
Size:	901.3 KB
ID:	658  
Old 16.09.2013, 11:35   #1.5 - Disable Ads

Advertise on this site

Old 16.09.2013, 12:08   #2
Wetxius
 Assistant User Information

Wetxius's Avatar
Как туда попасть?
P.S. Понятно, это туеву кучу сделать надо квестов, на цепочку. У меня воодушевления делать нет. Да и в панелях уже прописали, всё что можно, какие там теперь новые условия, даже не представляю.

Добавлено через 5 минут
Версия какая сборки?
https://github.com/Shestak/ShestakUI...c7dd2a8fc95733
Возврат/удаления условия помогает?
Say Thank:
Jarry (17.09.2013)
Old 16.09.2013, 15:55   #3
Jarry
 Elder Member User Information

Jarry's Avatar
Версия последняя с гита.
Проверить возврат/удаление пока не могу, потому что квест сделал ( завтра утром отпишусь
Old 16.09.2013, 20:32   #4
Wetxius
 Assistant User Information

Wetxius's Avatar
http://www.wowinterface.com/forums/s...ad.php?t=48150
Аналогичная проблема.

Добавлено через 2 часа 59 минут
Потестил сам. Проблема не в условиях, с нашей стороны тут все верно. Проблема в том, что кнопки появляются не сразу, а последовательно. А у нас нет обновления для этого. Искать нужно эвент какой-то для этих целей.
P.S. reload помогает кстати

Добавлено через 29 минут
Эвенты не прокатали, хотя они регистрируются. Но как приделать к ним обновление отдельных кнопок, я хз. Готового решения тоже ни у кого нет.
Вообщем ждем, пока что-то прояснится. На кнопки можно наводить кстати, есть подсказка, да и запомнить можно.
P.S. На Freeui работает это. В rActionBarStyler тоже работает
Say Thank:
Jarry (17.09.2013)
Old 16.09.2013, 22:07   #5
Shestak
 Junior Member User Information

Shestak's Avatar
Quote:
Originally Posted by Wetxius View Post
P.S. На Freeui работает это. В rActionBarStyler тоже работает
У них вроде экшн бары по-другому выводятся.
Say Thank:
Jarry (17.09.2013)
Old 17.09.2013, 08:56   #6
Wetxius
 Assistant User Information

Wetxius's Avatar
Quote:
Originally Posted by Shestak View Post
У них вроде экшн бары по-другому выводятся.
Да, там они убирают все панели как на дефолте, и создают одну свою для транспорта, которая проверяет условия [vehicleui].
Offtop
Say Thank:
Jarry (17.09.2013)
Old 17.09.2013, 11:31   #7
Jarry
 Elder Member User Information

Jarry's Avatar
Ну так я написал что делается...просто информировал что есть такое
Old 17.12.2013, 23:20   #8
Wetxius
 Assistant User Information

Wetxius's Avatar
Заменить ShestakUI/Modules/ActionBars/Bar1.lua на:

Hidden text

Code [Select]:
local T, C, L, _ = unpack(select(2, ...))
if C.actionbar.enable ~= true then return end

----------------------------------------------------------------------------------------
--	ActionBar(by Tukz)
----------------------------------------------------------------------------------------
local bar = CreateFrame("Frame", "Bar1Holder", ActionBarAnchor, "SecureHandlerStateTemplate")
bar:SetAllPoints(ActionBarAnchor)

local override = CreateFrame("Frame", nil, UIParent, "SecureHandlerStateTemplate")
override:SetWidth((C.actionbar.button_size * 12) + (C.actionbar.button_space * 11))
override:SetHeight(C.actionbar.button_size)
override:SetPoint(unpack(C.position.bottom_bars))

OverrideActionBar:SetParent(override)
OverrideActionBar:EnableMouse(false)
OverrideActionBar:SetScript("OnShow", nil)

for i = 1, 12 do
	local bu = _G["OverrideActionBarButton"..i]
	if not bu then
		break
	end
	bu:ClearAllPoints()
	bu:SetSize(C.actionbar.button_size, C.actionbar.button_size)
	bu:StyleButton()
	if i == 1 then
		bu:SetPoint("BOTTOMLEFT", override, 0, 0)
	else
		local previous = _G["OverrideActionBarButton"..i-1]
		bu:SetPoint("LEFT", previous, "RIGHT", C.actionbar.button_space, 0)
	end
end

RegisterStateDriver(override, "visibility", "[vehicleui] show; hide")
RegisterStateDriver(OverrideActionBar, "visibility", "[vehicleui] show; hide")

for i = 1, 12 do
	local button = _G["ActionButton"..i]
	button:SetSize(C.actionbar.button_size, C.actionbar.button_size)
	button:ClearAllPoints()
	button:SetParent(Bar1Holder)
	if i == 1 then
		button:SetPoint("BOTTOMLEFT", Bar1Holder, 0, 0)
	else
		local previous = _G["ActionButton"..i-1]
		button:SetPoint("LEFT", previous, "RIGHT", C.actionbar.button_space, 0)
	end
end

local Page = {
	["DRUID"] = "[bonusbar:1,nostealth] 7; [bonusbar:1,stealth] 8; [bonusbar:2] 8; [bonusbar:3] 9; [bonusbar:4] 10;",
	["PRIEST"] = "[bonusbar:1] 7;",
	["MONK"] = "[bonusbar:1] 7; [bonusbar:2] 8; [bonusbar:3] 9;",
	["ROGUE"] = "[bonusbar:1] 7; [form:3] 7;",
	["WARLOCK"] = "[form:2] 10;",
	["DEFAULT"] = "[vehicleui:12] 12; [possessbar] 12; [shapeshift] 13; [overridebar] 14; [bar:2] 2; [bar:3] 3; [bar:4] 4; [bar:5] 5; [bar:6] 6;",
}

local function GetBar()
	local condition = Page["DEFAULT"]
	local class = T.class
	local page = Page[class]
	if page then
		condition = condition.." "..page
	end
	condition = condition.." 1"
	return condition
end

bar:RegisterEvent("PLAYER_LOGIN")
bar:RegisterEvent("KNOWN_CURRENCY_TYPES_UPDATE")
bar:RegisterEvent("CURRENCY_DISPLAY_UPDATE")
bar:RegisterEvent("BAG_UPDATE")
bar:RegisterEvent("ACTIVE_TALENT_GROUP_CHANGED")
bar:SetScript("OnEvent", function(self, event, ...)
	if event == "PLAYER_LOGIN" or event == "ACTIVE_TALENT_GROUP_CHANGED" then
		for i = 1, NUM_ACTIONBAR_BUTTONS do
			local button = _G["ActionButton"..i]
			self:SetFrameRef("ActionButton"..i, button)
		end

		self:Execute([[
			buttons = table.new()
			for i = 1, 12 do
				table.insert(buttons, self:GetFrameRef("ActionButton"..i))
			end
		]])

		self:SetAttribute("_onstate-page", [[
			for i, button in ipairs(buttons) do
				button:SetAttribute("actionpage", tonumber(newstate))
			end
		]])

		RegisterStateDriver(self, "page", GetBar())
	else
		MainMenuBar_OnEvent(self, event, ...)
	end
end)
[hide]

Заменить ShestakUI/Modules/ActionBars/Hide.lua на:

Hidden text

Code [Select]:
local T, C, L, _ = unpack(select(2, ...))
if C.actionbar.enable ~= true then return end

---------------------------------------------------------------------------
--	Hide Blizzard ActionBars stuff(by Tukz)
---------------------------------------------------------------------------
do
	MainMenuBar:SetScale(0.00001)
	MainMenuBar:EnableMouse(false)
	-- OverrideActionBar:SetScale(0.00001)
	-- OverrideActionBar:EnableMouse(false)
	PetActionBarFrame:EnableMouse(false)
	StanceBarFrame:EnableMouse(false)

	local textureList = {"_BG","EndCapL","EndCapR","_Border","Divider1","Divider2","Divider3","ExitBG","MicroBGL","MicroBGR","_MicroBGMid","ButtonBGL","ButtonBGR","_ButtonBGMid"}

	for _, tex in pairs(textureList) do
		OverrideActionBar[tex]:Kill()
	end

	local elements = {
		MainMenuBar, PossessBarFrame, PetActionBarFrame, StanceBarFrame, OverrideActionBarExpBar, OverrideActionBarHealthBar, OverrideActionBarPowerBar, OverrideActionBarPitchFrame, OverrideActionBarLeaveFrame
	}
	for _, element in pairs(elements) do
		if element:GetObjectType() == "Frame" then
			element:UnregisterAllEvents()
		end

		if element ~= MainMenuBar then
			element:Hide()
		end
		element:SetAlpha(0)
	end
	elements = nil

	IconIntroTracker:UnregisterAllEvents()
	IconIntroTracker:Hide()

	MainMenuBar.slideOut.IsPlaying = function() return true end

	for i = 1, 6 do
		local b = _G["OverrideActionBarButton"..i]
		b:SetAttribute("statehidden", 1)
	end

	hooksecurefunc("TalentFrame_LoadUI", function()
		PlayerTalentFrame:UnregisterEvent("ACTIVE_TALENT_GROUP_CHANGED")
	end)
end

do
	local uiManagedFrames = {
		"MultiBarLeft",
		"MultiBarRight",
		"MultiBarBottomLeft",
		"MultiBarBottomRight",
		"StanceBarFrame",
		"PossessBarFrame",
		"PETACTIONBAR_YPOS",
		"ChatFrame1",
		"ChatFrame2",
	}
	for _, frame in pairs(uiManagedFrames) do
		UIPARENT_MANAGED_FRAME_POSITIONS[frame] = nil
	end
	uiManagedFrames = nil
end

function RightBarMouseOver(alpha)
	RightActionBarAnchor:SetAlpha(alpha)
	PetActionBarAnchor:SetAlpha(alpha)
	ShapeShiftBarAnchor:SetAlpha(alpha)

	if MultiBarLeft:IsShown() then
		for i = 1, 12 do
			local pb = _G["MultiBarLeftButton"..i]
			pb:SetAlpha(alpha)
		end
		MultiBarLeft:SetAlpha(alpha)
	end

	if C.actionbar.rightbars > 2 then
		if MultiBarBottomRight:IsShown() then
			for i = 1, 12 do
				local pb = _G["MultiBarBottomRightButton"..i]
				pb:SetAlpha(alpha)
			end
			MultiBarBottomRight:SetAlpha(alpha)
		end
	end

	if MultiBarRight:IsShown() then
		for i = 1, 12 do
			local pb = _G["MultiBarRightButton"..i]
			pb:SetAlpha(alpha)
		end
		MultiBarRight:SetAlpha(alpha)
	end

	if C.actionbar.petbar_horizontal == false and C.actionbar.petbar_hide == false then
		if PetHolder:IsShown() then
			for i = 1, NUM_PET_ACTION_SLOTS do
				local pb = _G["PetActionButton"..i]
				pb:SetAlpha(alpha)
			end
			PetHolder:SetAlpha(alpha)
		end
	end

	if C.actionbar.stancebar_horizontal == false and C.actionbar.stancebar_hide == false then
		if ShiftHolder:IsShown() then
			for i = 1, NUM_STANCE_SLOTS do
				local pb = _G["StanceButton"..i]
				pb:SetAlpha(alpha)
			end
			ShiftHolder:SetAlpha(alpha)
		end
	end
end

function StanceBarMouseOver(alpha)
	for i = 1, NUM_STANCE_SLOTS do
		local pb = _G["StanceButton"..i]
		pb:SetAlpha(alpha)
	end
	ShapeShiftBarAnchor:SetAlpha(alpha)
end

function PetBarMouseOver(alpha)
	for i = 1, NUM_PET_ACTION_SLOTS do
		local pb = _G["PetActionButton"..i]
		pb:SetAlpha(alpha)
	end
	PetHolder:SetAlpha(alpha)
end

do
	if C.actionbar.rightbars_mouseover == true then
		RightActionBarAnchor:SetAlpha(0)
		RightActionBarAnchor:SetScript("OnEnter", function() RightBarMouseOver(1) end)
		RightActionBarAnchor:SetScript("OnLeave", function() if not HoverBind.enabled then RightBarMouseOver(0) end end)
		if C.actionbar.petbar_horizontal == false then
			PetActionBarAnchor:SetAlpha(0)
			PetActionBarAnchor:SetScript("OnEnter", function() RightBarMouseOver(1) end)
			PetActionBarAnchor:SetScript("OnLeave", function() if not HoverBind.enabled then RightBarMouseOver(0) end end)
		end
		if C.actionbar.stancebar_horizontal == false and C.actionbar.stancebar_hide == false then
			ShapeShiftBarAnchor:SetAlpha(0)
			ShapeShiftBarAnchor:SetScript("OnEnter", function() RightBarMouseOver(1) end)
			ShapeShiftBarAnchor:SetScript("OnLeave", function() if not HoverBind.enabled then RightBarMouseOver(0) end end)
		end
	end
	if C.actionbar.petbar_mouseover == true and C.actionbar.petbar_horizontal == true then
		PetActionBarAnchor:SetAlpha(0)
		PetActionBarAnchor:SetScript("OnEnter", function() PetBarMouseOver(1) end)
		PetActionBarAnchor:SetScript("OnLeave", function() if not HoverBind.enabled then PetBarMouseOver(0) end end)
	end
end
[hide]

Кривой недофикс, но работает.
Says Thank:
Jarry (18.12.2013), Shestak (18.12.2013)
Old 18.12.2013, 18:07   #9
Wetxius
 Assistant User Information

Wetxius's Avatar
Способ получше, заменить только Bar1

Hidden text

Code [Select]:
local T, C, L, _ = unpack(select(2, ...))
if C.actionbar.enable ~= true then return end

----------------------------------------------------------------------------------------
--	ActionBar(by Tukz)
----------------------------------------------------------------------------------------
local bar = CreateFrame("Frame", "Bar1Holder", ActionBarAnchor, "SecureHandlerStateTemplate")
bar:SetAllPoints(ActionBarAnchor)

for i = 1, 12 do
	local button = _G["ActionButton"..i]
	button:SetSize(C.actionbar.button_size, C.actionbar.button_size)
	button:ClearAllPoints()
	button:SetParent(Bar1Holder)
	if i == 1 then
		button:SetPoint("BOTTOMLEFT", Bar1Holder, 0, 0)
	else
		local previous = _G["ActionButton"..i-1]
		button:SetPoint("LEFT", previous, "RIGHT", C.actionbar.button_space, 0)
	end
end

local Page = {
	["DRUID"] = "[bonusbar:1,nostealth] 7; [bonusbar:1,stealth] 8; [bonusbar:2] 8; [bonusbar:3] 9; [bonusbar:4] 10;",
	["PRIEST"] = "[bonusbar:1] 7;",
	["MONK"] = "[bonusbar:1] 7; [bonusbar:2] 8; [bonusbar:3] 9;",
	["ROGUE"] = "[bonusbar:1] 7; [form:3] 7;",
	["WARLOCK"] = "[form:2] 10;",
	["DEFAULT"] = "[shapeshift] 13; [overridebar] 14; [bar:2] 2; [bar:3] 3; [bar:4] 4; [bar:5] 5; [bar:6] 6;",
}

local function GetBar()
	local condition = Page["DEFAULT"]
	local class = T.class
	local page = Page[class]
	if page then
		condition = condition.." "..page
	end
	condition = condition.." 1"
	return condition
end

local Page2 = {
	["DEFAULT"] = "[vehicleui] 12; [possessbar] 12;",
}

local function GetBar2()
	local condition = Page2["DEFAULT"]
	local class = T.class
	local page = Page2[class]
	if page then
		condition = condition.." "..page
	end
	condition = condition.." 1"
	return condition
end
local count = 0
bar:RegisterEvent("PLAYER_LOGIN")
bar:RegisterEvent("KNOWN_CURRENCY_TYPES_UPDATE")
bar:RegisterEvent("CURRENCY_DISPLAY_UPDATE")
bar:RegisterEvent("BAG_UPDATE")
bar:RegisterEvent("ACTIVE_TALENT_GROUP_CHANGED")
bar:RegisterEvent("UPDATE_VEHICLE_ACTIONBAR")
bar:SetScript("OnEvent", function(self, event,elapsed, ...)
	if event == "PLAYER_LOGIN" or event == "ACTIVE_TALENT_GROUP_CHANGED" then
		for i = 1, NUM_ACTIONBAR_BUTTONS do
			local button = _G["ActionButton"..i]
			self:SetFrameRef("ActionButton"..i, button)
		end

		self:Execute([[
			buttons = table.new()
			for i = 1, 12 do
				table.insert(buttons, self:GetFrameRef("ActionButton"..i))
			end
		]])

		self:SetAttribute("_onstate-page", [[
			for i, button in ipairs(buttons) do
				button:SetAttribute("actionpage", tonumber(newstate))
			end
		]])

		RegisterStateDriver(self, "page", GetBar())
	else
		MainMenuBar_OnEvent(self, event, ...)
	end

	if event == "UPDATE_VEHICLE_ACTIONBAR" then
		count = count + 1
		local _, instanceType = IsInInstance()

		if (instanceType == "scenario" and count >= 5) or (instanceType ~= "scenario" and count >= 2) then
			for i = 1, NUM_ACTIONBAR_BUTTONS do
				local button = _G["ActionButton"..i]
				self:SetFrameRef("ActionButton"..i, button)
			end

			self:Execute([[
				buttons = table.new()
				for i = 1, 12 do
					table.insert(buttons, self:GetFrameRef("ActionButton"..i))
				end
			]])

			self:SetAttribute("_onstate-page", [[
				for i, button in ipairs(buttons) do
					button:SetAttribute("actionpage", tonumber(newstate))
				end
			]])

			RegisterStateDriver(self, "page", GetBar2())
			count = 0
		end
	end
end)
[hide]

Но, неизвестно, как поведет себя панель в сценариях. Лучше всего проверять номер квеста, и если есть кулинарный, то использовать 5 проверок эвента. Если нет квеста, то как обычно по эвенту сразу.

Добавлено через 3 часа 5 минут
http://ru.wowhead.com/quest=25760
С этим квестом тоже вроде косяк. Но тут не сценарий, и верхний код не поможет. А первый сработает, но он тоже не идеален, в плане того, что остаются близовские элементы (они скрыты, но если понаводить мышкой, то всплывут подсказки)

Добавлено через 35 минут
Bar1
https://gist.github.com/Wetxius/8022197/revisions
Hide
https://gist.github.com/Wetxius/8022224/revisions
Допиленная версия. Должно везде работать.
Из минусов: из 12 кнопок сперва видны наши старые 6, потом они заменяются, после входа в транспорт. То бишь, есть некая задержка. У нас раньше сразу исчезали обычные кнопки, и на их место спавнились транспортные.

Добавлено через 2 часа 43 минуты
Нашел интересный способ.
Если добавить сейчас к https://github.com/Shestak/ShestakUI...s/Bar1.lua#L29
Условие: [vehicleui, mod:alt] 13;
И в сценарии нажать альт, то кнопки появятся.
P.S. Наверно, этот вариант и приделаю. Кому надо кнопки, жмем альт.
Say Thank:
Shestak (18.12.2013)
Old 20.12.2013, 13:50   #10
Wetxius
 Assistant User Information

Wetxius's Avatar
Или может повесить на альт + ктрл, обновление бара?
Я к тому, чтоб не мешало сочетание. Бары будет обновляться только, если вы в технике (условие vehicleui)

Добавлено через 19 часов 58 минут

Info Для показа текстур кнопок, жмем alt + ctrl.


Tags
кнопки панели действия

Thread Tools


Similar Threads
Thread Thread Starter Forum Replies Last Post
Исчезновение "Кнопки каналов чата" Disman Technical Support 1 06.07.2012 11:19
[Fixed] Кнопки каналов + чат Wetxius Bugs Reports 5 21.12.2011 13:11


Mobile Style Русский English Deutsch Italian Chinese