Jump to content

  • Curse Sites
Help

Sascatuan

Member Since 04 Feb 2011
Offline Last Active Yesterday, 12:08 AM
-----

#3686809 Default UI Scripts

Posted Thaya on 17 April 2012 - 08:57 AM

This thread is a work in progress. I'm posting it before its done because if I don't post it, I'll never finish it and it will just rot on my desktop in a .txt for eternity like all my other unfinished articles.

Known issues/to-do list:
- Add screenshot examples of every script
- Fix minor inconsistencies in format (use of colons, descriptions, etc)

Scripts to add:
- Scale up buffs/debuffs on target/focus frames - still looking for a decent script for this
- Raid/party buff/debuff tweaks for healers. I got some scripts lying about like prioritizing UA debuff, moving debuffs to the right of the frame etc, but I have no idea how useful this actually is. Need a healer PoV/opinion on these
- hp/mana text on arena frames - not sure if this shows by default or not (couldn't test)
- move/resize action bars scripts. Same as with pvp trinkets - I just didn't get around to it, don't bother linking me those
- Change status bar color of uninterruptable casts - wonder if this is at all possible?
- Stopwatch stuff. Will look at Xandyns scripts, just haven't gotten around to it yet
- Hidden cooldown tracker for things like hamstring or mage frostbolt. Got a script for hamstring, just wonder if I can adapt it to other stuff, maybe even proc trinkets
- Hide chat tab highlight on whispers - saw Navariums script for this, but it just hides the buttons for me (not even clickable). Like the idea though

What I don't want to do with this thread, at least not now:
- Miniports of other addons, such as omnicc, losecontrol, spellalert, etc. If you want that functionality, you might as well just use the addons, there's really no reason not to unless you're going to LAN. Don't bother posting these. Otherwise I'm open to any suggestions.

If you spot any errors - spelling, code, grammar, anything - let me know.


#3686808 Default UI Scripts

Posted Thaya on 17 April 2012 - 08:57 AM

Table of contents
  • How to use scripts
  • General/uncategorized scripts
    • Disable damage/healing spam in floating text
    • Add more "power auras"
    • Darken all the graphics Ibo/Lorti UI style
    • Hide the error frame (red text in top middle)
  • Unit frame scripts
    • Class icons instead of portraits
    • Class colors in hp bars
    • Class colors behind names
    • Disable healing/damage spam over player/pet frame
    • Flashy spellsteal border for non-mages and/or enrage effects
    • Change the format of hp/mana text to absolute values ("140k")
    • Hide the faction/PvP icon
    • Disable the group number frame
    • Scaling/moving unitframes
  • Arena frame scripts
    • Show frames outside of arena (macro)
    • Scaling/moving arenaframes and castbars
    • Arena trinkets tracker
  • Action bar scripts
    • Hide graphics
    • Hide macro labels
    • Hide hotkeys
  • Cast bar scripts
    • Text cast timer ("0.8 / 1.5")
    • Scaling/moving castbars
  • Quality of life scripts
    • Autosell grey trash and repair
    • Minimap tweaks
    • Extra slash commands
            

1. How to use scripts

You either need to create your own addon, add the code to an existing addon (I don't recommend this), or run it in-game via the /run command. The latter, in most cases, requires a condensed form of the script to fit the 255 character limit of input/macros; macros often need to be executed after every reload or zone. Unless you're going to Blizzcon tomorrow, there's really no reason to use macros - just create an addon. I will, however, add macros where available (i.e. those I already have in macro form).

Download this template: http://www.mediafire...b4cj4r0fcqcwquj

This already has the folder structure and the .toc file, at this point you only need to open the .lua file as a text file (with notepad/wordpad or anything that works with raw text), and simply copy/paste the code you want from below.

You don't need to relog every time you edit a .lua file if the addon is loaded, a /reloadui is enough.

Comments start with "--", multi-line comments look like this:
--[[
This code
won't execute.
]]

-- This is a single-line comment
This way you can enable/disable certain features, or just add comments to organize your code better.

If you're a do it yourself type, here's how you create an addon:
1. Create YourAddon folder in Interface/Addons
2. Create a text file called YourAddon.toc (has to be the same name as the folder), content should be:
## Title: YourAddon
## Interface: 50001

YourAddon.lua
3. Create YourAddon.lua (can be any filename, but it has to be mentioned in the .toc file to load), copy scripts into that file.

Make sure that you see the actual extensions of files - this is disabled by default in Windows. So the files you are looking at might actually be YourAddon.toc.txt and YourAddon.lua.txt, and of course it doesn't work in this case.

2. General/uncategorized scripts

2.1. Disable damage/healing spam in floating text:
LoadAddOn("Blizzard_CombatText")

COMBAT_TEXT_TYPE_INFO["PERIODIC_HEAL"] = {var = nil, show = nil}
COMBAT_TEXT_TYPE_INFO["HEAL_CRIT"] = {var = nil, show = nil}
COMBAT_TEXT_TYPE_INFO["HEAL"] = {var = nil, show = nil}
COMBAT_TEXT_TYPE_INFO["PERIODIC_HEAL_ABSORB"] = {var = nil, show = nil}
COMBAT_TEXT_TYPE_INFO["HEAL_CRIT_ABSORB"] = {var = nil, show = nil}
COMBAT_TEXT_TYPE_INFO["HEAL_ABSORB"] = {var = nil, show = nil}

COMBAT_TEXT_TYPE_INFO["DAMAGE_CRIT"] = {var = nil, show = nil}
COMBAT_TEXT_TYPE_INFO["DAMAGE"] = {var = nil, show = nil}
COMBAT_TEXT_TYPE_INFO["SPELL_DAMAGE_CRIT"] = {var = nil, show = nil}
COMBAT_TEXT_TYPE_INFO["SPELL_DAMAGE"] = {var = nil, show = nil}
Macros:
/run CTTI=COMBAT_TEXT_TYPE_INFO CTTI.PERIODIC_HEAL={var=nil,show=nil} CTTI.HEAL_CRIT={var=nil,show=nil} CTTI.HEAL={var=nil,show=nil} CTTI.PERIODIC_HEAL_ABSORB={var=nil,show=nil} CTTI.HEAL_CRIT_ABSORB={var=nil,show=nil} CTTI.HEAL_ABSORB={var=nil,show=nil}
/run CTTI.DAMAGE_CRIT={var=nil,show=nil} CTTI.DAMAGE={var=nil,show=nil} CTTI.SPELL_DAMAGE_CRIT={var=nil,show=nil} CTTI.SPELL_DAMAGE={var=nil,show=nil}

2.2. Add more "power auras":
local frame = CreateFrame("FRAME")
frame:RegisterEvent("UNIT_AURA")

frame:SetScript("OnEvent", function(self, event, ...)
	local unitid = ... if unitid ~= "player" then return end

	if UnitBuff("player", "Eradication") then
		SpellActivationOverlay_ShowOverlay(SpellActivationOverlayFrame, 64371, "TEXTURES\\SPELLACTIVATIONOVERLAYS\\GENERICTOP_01.BLP", "TOP", 1.2, 139, 65, 239, false, false)
	else
		SpellActivationOverlay_HideOverlays(SpellActivationOverlayFrame, 64371)
	end
end)
First, change "Eradication" to whatever you need. (Use the locale/language you actually play on.)

Next, here's how you configure this whole thing:
SpellActivationOverlay_ShowOverlay(self, spellID, texturePath, location, scale, r, g, b, info.vFlip, info.hFlip)
It's all pretty self-explanatory. Keep the first argument as it is in the script above, everything else you can change/edit as you wish to. The last two arguments are vertical and horizontal flips, "r, g, b" are red/green/blue color codes (0-255).

To get the spellID, find your spell/aura on wowhead and look at the address bar. The number is the spellID. Keep in mind you need the spellID of the buff, not the spell that triggers it - they are sometimes different.

Textures created for the default UI and available in the game files:
Spoiler
Just change the last part of the texture path provided in the example above to any of these.

If that's not enough, you can always steal a file from Power Auras or other addons. To specify an external texture: "Interface\\AddOns\\YourAddon\\yourtexture.tga" - you can use .tga files; in general, you can use any texture/picture available to the game (anything in the game files and anything in addon folders).

2.3. Darken all the graphics Ibo/Lorti UI style:
This particular script is stolen from Ibo UI. You'll also need some textures to make it look right, simply put them into the /Interface/ folder alongside the Addons folder:
http://www.mediafire...mpaxe6jfllwa5q8

local frame=CreateFrame("Frame")
frame:RegisterEvent("ADDON_LOADED")

frame:SetScript("OnEvent", function(self, event, addon)
	if (addon == "Blizzard_TimeManager") then
		for i, v in pairs({PlayerFrameTexture, TargetFrameTextureFrameTexture, PetFrameTexture, PartyMemberFrame1Texture, PartyMemberFrame2Texture, PartyMemberFrame3Texture, PartyMemberFrame4Texture,
			PartyMemberFrame1PetFrameTexture, PartyMemberFrame2PetFrameTexture, PartyMemberFrame3PetFrameTexture, PartyMemberFrame4PetFrameTexture, FocusFrameTextureFrameTexture,
			TargetFrameToTTextureFrameTexture, FocusFrameToTTextureFrameTexture, BonusActionBarFrameTexture0, BonusActionBarFrameTexture1, BonusActionBarFrameTexture2, BonusActionBarFrameTexture3,
			BonusActionBarFrameTexture4, MainMenuBarTexture0, MainMenuBarTexture1, MainMenuBarTexture2, MainMenuBarTexture3, MainMenuMaxLevelBar0, MainMenuMaxLevelBar1, MainMenuMaxLevelBar2,
			MainMenuMaxLevelBar3, MinimapBorder, CastingBarFrameBorder, FocusFrameSpellBarBorder, TargetFrameSpellBarBorder, MiniMapTrackingButtonBorder, MiniMapLFGFrameBorder, MiniMapBattlefieldBorder,
			MiniMapMailBorder, MinimapBorderTop,
			select(1, TimeManagerClockButton:GetRegions())
		}) do
			v:SetVertexColor(.4, .4, .4)
		end

		for i,v in pairs({ select(2, TimeManagerClockButton:GetRegions()) }) do
			v:SetVertexColor(1, 1, 1)
		end

		self:UnregisterEvent("ADDON_LOADED")
		frame:SetScript("OnEvent", nil)
	end
end)

for i, v in pairs({ MainMenuBarLeftEndCap, MainMenuBarRightEndCap }) do
	v:SetVertexColor(.35, .35, .35)
end

2.4. Hide the error frame (red text in top middle):
UIErrorsFrame:SetAlpha(0)

3. Unit frame scripts

3.1. Class icons instead of portraits:
hooksecurefunc("UnitFramePortrait_Update",function(self)
	if self.portrait then
		if UnitIsPlayer(self.unit) then				
			local t = CLASS_ICON_TCOORDS[select(2, UnitClass(self.unit))]
			if t then
				self.portrait:SetTexture("Interface\\TargetingFrame\\UI-Classes-Circles")
				self.portrait:SetTexCoord(unpack(t))
			end
		else
			self.portrait:SetTexCoord(0,1,0,1)
		end
	end
end)
Macros:
/run UFP="UnitFramePortrait_Update" UICC="Interface\\TargetingFrame\\UI-Classes-Circles" CIT=CLASS_ICON_TCOORDS UC=UnitClass
/run hooksecurefunc(UFP,function(self) if self.portrait then t=CIT[select(2,UC(self.unit))] if t and UnitIsPlayer(self.unit) then self.portrait:SetTexture(UICC) self.portrait:SetTexCoord(unpack(t)) else self.portrait:SetTexCoord(0,1,0,1) end end end)

3.2. Class colors in hp bars:
local function colour(statusbar, unit)
	local _, class, c
	if UnitIsPlayer(unit) and UnitIsConnected(unit) and unit == statusbar.unit and UnitClass(unit) then
		_, class = UnitClass(unit)
		c = CUSTOM_CLASS_COLORS and CUSTOM_CLASS_COLORS[class] or RAID_CLASS_COLORS[class]
		statusbar:SetStatusBarColor(c.r, c.g, c.b)
		PlayerFrameHealthBar:SetStatusBarColor(0,1,0)
	end
end

hooksecurefunc("UnitFrameHealthBar_Update", colour)
hooksecurefunc("HealthBar_OnValueChanged", function(self)
	colour(self, self.unit)
end)
Macros:
/run UIP=UnitIsPlayer UIC=UnitIsConnected RCC=RAID_CLASS_COLORS PFHB=PlayerFrameHealthBar UC=UnitClass
/run function colour(sb,unit) if UIP(unit) and UIC(unit) and unit==sb.unit and UC(unit) then _,cl=UC(unit) c=RAID_CLASS_COLORS[cl] sb:SetStatusBarColor(c.r,c.g,c.b) PFHB:SetStatusBarColor(0,1,0) end end
/run hooksecurefunc("UnitFrameHealthBar_Update", colour) hooksecurefunc("HealthBar_OnValueChanged", function(self) colour(self, self.unit) end)

3.3. Class colors behind names:
local frame = CreateFrame("FRAME")
frame:RegisterEvent("GROUP_ROSTER_UPDATE")
frame:RegisterEvent("PLAYER_TARGET_CHANGED")
frame:RegisterEvent("PLAYER_FOCUS_CHANGED")
frame:RegisterEvent("UNIT_FACTION")

local function eventHandler(self, event, ...)
	if UnitIsPlayer("target") then
		c = RAID_CLASS_COLORS[select(2, UnitClass("target"))]
		TargetFrameNameBackground:SetVertexColor(c.r, c.g, c.b)
	end
	if UnitIsPlayer("focus") then
		c = RAID_CLASS_COLORS[select(2, UnitClass("focus"))]
		FocusFrameNameBackground:SetVertexColor(c.r, c.g, c.b)
	end
end

frame:SetScript("OnEvent", eventHandler)

for _, BarTextures in pairs({TargetFrameNameBackground, FocusFrameNameBackground}) do
	BarTextures:SetTexture("Interface\\TargetingFrame\\UI-StatusBar")
end
Macros:
/run UIP=UnitIsPlayer RCC=RAID_CLASS_COLORS UC=UnitClass TFNB=TargetFrameNameBackground FFNB=FocusFrameNameBackground
/run f=CreateFrame("FRAME") f:RegisterEvent("PARTY_MEMBERS_CHANGED") f:RegisterEvent("PLAYER_TARGET_CHANGED") f:RegisterEvent("PLAYER_FOCUS_CHANGED") f:RegisterEvent("UNIT_FACTION")
/run function e(self,event,...) if UIP("target") then c=RCC[select(2,UC("target"))] TFNB:SetVertexColor(c.r,c.g,c.b) end if UIP("focus") then c=RCC[select(2,UC("focus"))] FFNB:SetVertexColor(c.r,c.g,c.b) end end f:SetScript("OnEvent",e)

3.4. Disable healing/damage spam over player/pet frame:
PlayerHitIndicator:SetText(nil)
PlayerHitIndicator.SetText = function() end

PetHitIndicator:SetText(nil)
PetHitIndicator.SetText = function() end

3.5. Flashy spellsteal border for non-mages and/or enrage effects:
hooksecurefunc("TargetFrame_UpdateAuras", function(s)
	for i = 1, MAX_TARGET_BUFFS do
		_, _, ic, _, dT = UnitBuff(s.unit, i)
		if(ic and (not s.maxBuffs or i<=s.maxBuffs)) then
			fS=_G[s:GetName()..'Buff'..i..'Stealable']
			if(UnitIsEnemy(PlayerFrame.unit, s.unit) and dT=='Magic') then
				fS:Show()
			else
				fS:Hide()
			end
		end
	end
end)
Macros:
/run b = 'Buff' st = 'Stealable' mM = 'Magic' mB = maxBuffs TFUA = 'TargetFrame_UpdateAuras' PFu = PlayerFrame.unit MTB = MAX_TARGET_BUFFS UB = UnitBuff UIE = UnitIsEnemy
/run hooksecurefunc(TFUA,function(s) for i=1,MTB do _,_,ic,_,dT=UB(s.unit,i) if(ic and (not s.mB or i<=s.mB)) then fS=_G[s:GetName()..b..i..st] if (UIE(PFu,s.unit) and dT==mM) then fS:Show() else fS:Hide() end end end end)
You can adapt this to enrages by changing the dT=='Magic' line to dT='' (or in the macro, mM='' instead of mM='Magic'). For an unknown reason, enrage effects return an empty string as their debuff type.

3.6. Change the format of hp/mana text to absolute values ("140k"):
hooksecurefunc("TextStatusBar_UpdateTextStringWithValues", function()
	PlayerFrameHealthBar.TextString:SetText(AbbreviateLargeNumbers(UnitHealth("player")))
	PlayerFrameManaBar.TextString:SetText(AbbreviateLargeNumbers(UnitMana("player")))

	TargetFrameHealthBar.TextString:SetText(AbbreviateLargeNumbers(UnitHealth("target")))
	TargetFrameManaBar.TextString:SetText(AbbreviateLargeNumbers(UnitMana("target")))

	FocusFrameHealthBar.TextString:SetText(AbbreviateLargeNumbers(UnitHealth("focus")))
	FocusFrameManaBar.TextString:SetText(AbbreviateLargeNumbers(UnitMana("focus")))
end)

3.7. Hide faction/PvP icon:
PlayerPVPIcon:SetAlpha(0)
TargetFrameTextureFramePVPIcon:SetAlpha(0)
FocusFrameTextureFramePVPIcon:SetAlpha(0)

3.8. Disable the group number frame:
PlayerFrameGroupIndicator.Show = function() return end

3.9. Scaling/moving frames:
framename:SetScale(1.1)
You can find the frame name by using /fstack. Value is in %, i.e. 1.1 is 110%.

Move most frames on the default UI:
/run local f=framename; f:SetMovable(true); f:EnableMouse(true); f:SetUserPlaced(true); f:SetScript("OnMouseDown", f.StartMoving); f:SetScript("OnMouseUp", f.StopMovingOrSizing);
You can find the frame name by using /fstack. Drag the frame where you want it to be, reload. (If it doesn't save, type /console synchronizeSettings 0 and try again.)

I personally recommend to move the TargetFrameToT (target of target) frame at least, because it often overlaps the last debuff. Just move it a little bit to the right. This method works for sure for the ToT frame.

If the above method doesn't work or doesn't save position for the frame you're trying to move (doesn't for pet frame, for example), paste this into your addon:
framename:ClearAllPoints()
framename:SetPoint("CENTER", x, y)
framename.SetPoint = function() end
Also, you can move the player, target and focus frames within the default UI by right clicking on it and unlocking/locking. That's much better than moving it with scripts due to some weird interactions with vehicle UI if you move those frames with scripts.

4. Arena frame scripts

4.1. Show frames outside of arena (macro):
/run LoadAddOn("Blizzard_ArenaUI") ArenaEnemyFrames:Show() ArenaEnemyFrame1:Show() ArenaEnemyFrame2:Show() ArenaEnemyFrame3:Show() ArenaEnemyFrame1CastingBar:Show() ArenaEnemyFrame2CastingBar:Show() ArenaEnemyFrame3CastingBar:Show()
This will display frames 1, 2 and 3 with the cast bars.

4.2. Scaling/moving arenaframes and castbars:
LoadAddOn("Blizzard_ArenaUI") -- You only need to run this once. You can safely delete any copies of this line.

ArenaEnemyFrame1:ClearAllPoints()
ArenaEnemyFrame2:ClearAllPoints()
ArenaEnemyFrame3:ClearAllPoints()
ArenaEnemyFrame4:ClearAllPoints()
ArenaEnemyFrame5:ClearAllPoints()

ArenaEnemyFrame1:SetPoint("CENTER",UIParent,"CENTER",350,50)
ArenaEnemyFrame2:SetPoint("CENTER",UIParent,"CENTER",350,0)
ArenaEnemyFrame3:SetPoint("CENTER",UIParent,"CENTER",350,-50)
ArenaEnemyFrame4:SetPoint("CENTER",UIParent,"CENTER",350,-100)
ArenaEnemyFrame5:SetPoint("CENTER",UIParent,"CENTER",350,-150)

ArenaEnemyFrame1.SetPoint = function() end
ArenaEnemyFrame2.SetPoint = function() end
ArenaEnemyFrame3.SetPoint = function() end
ArenaEnemyFrame4.SetPoint = function() end
ArenaEnemyFrame5.SetPoint = function() end
Frames have to be moved separately now. ClearAllPoints and blanketing the SetPoint method are both mandatory now for it to work properly. The only way to fit this in a macro is to loop it, I'll add this in later.

ArenaEnemyFrames:SetScale(1.3)
This scales up the whole thing, everything in the frames will be scaled up equally. Make sure this is after LoadAddOn("Blizzard_ArenaUI").

for i=1, 5 do
	_G["ArenaEnemyFrame"..i]:SetScale(1.3)
	_G["ArenaEnemyFrame"..i.."CastingBar"]:SetScale(1.3)
	-- _G["ArenaEnemyFrame"..i.."CastingBar"]:SetPoint("RIGHT", 95, 0)
end
This lets you scale things up separately if you want to. First line changes the scale of arena frames themselves. Second line changes the scale of the cast bar. Third line moves the cast bar to the right of the frame - its disabled here, just remove the "--" to enable it (just an example of using comments in code).

4.3. Arena trinkets tracker:

LoadAddOn("Blizzard_ArenaUI") -- You only need to run this once. You can safely delete any copies of this line.

trinkets = {}
local arenaFrame, trinket
for i = 1, 5 do
	arenaFrame = "ArenaEnemyFrame"..i
	trinket = CreateFrame("Cooldown", arenaFrame.."Trinket", ArenaEnemyFrames)
	trinket:SetPoint("TOPRIGHT", arenaFrame, 30, -6)
	trinket:SetSize(24, 24)
	trinket.icon = trinket:CreateTexture(nil, "BACKGROUND")
	trinket.icon:SetAllPoints()
	trinket.icon:SetTexture("Interface\\Icons\\inv_jewelry_trinketpvp_01")
	trinket:Hide()
	trinkets["arena"..i] = trinket
end

local events = CreateFrame("Frame")
function events:UNIT_SPELLCAST_SUCCEEDED(unitID, spell, rank, lineID, spellID)
	if not trinkets[unitID] then
		return
	end
	if spellID == 59752 or spellID == 42292 then
		CooldownFrame_SetTimer(trinkets[unitID], GetTime(), 120, 1)
		SendChatMessage("Trinket used by: "..GetUnitName(unitID, true), "PARTY")
	end
end

function events:PLAYER_ENTERING_WORLD()
	local _, instanceType = IsInInstance()
	if instanceType == "arena" then
		self:RegisterEvent("UNIT_SPELLCAST_SUCCEEDED")
	elseif self:IsEventRegistered("UNIT_SPELLCAST_SUCCEEDED") then
		self:UnregisterEvent("UNIT_SPELLCAST_SUCCEEDED")
		for _, trinket in pairs(trinkets) do
			trinket:SetCooldown(0, 0)
			trinket:Hide()
		end
	end
end
events:SetScript("OnEvent", function(self, event, ...) return self[event](self, ...) end)
events:RegisterEvent("PLAYER_ENTERING_WORLD")
This puts icons to the right of the arena frames. Does not track WotF - it now simply shares 30 seconds CD with trinkets, so it's impossible to track with just 1 icon. Only enables in arenas.

5. Action bar scripts

5.1. Hide graphics:
I will just list all the options in one block, you can choose which you want. You can enter them separately with /run if you want to see each individually.
MainMenuBarLeftEndCap:Hide()
MainMenuBarRightEndCap:Hide() -- hide the gryphons

MainMenuExpBar:Hide()
MainMenuBarMaxLevelBar:SetAlpha(0) -- hide the xp bar

MainMenuBarTexture0:Hide() -- hide all the background textures.
MainMenuBarTexture1:Hide() -- leaving them on looks better,
MainMenuBarTexture2:Hide() -- unless you are going to hide the
MainMenuBarTexture3:Hide() -- micromenu and bag buttons too.

BonusActionBarFrameTexture1:SetAlpha(0)
BonusActionBarFrameTexture2:SetAlpha(0) -- this is for druids/rogues/warriors.
BonusActionBarFrameTexture3:SetAlpha(0) -- their stances cause this to show up
BonusActionBarFrameTexture4:SetAlpha(0) -- over the normal bar.

SlidingActionBarTexture0:SetAlpha(0)
SlidingActionBarTexture1:SetAlpha(0) -- hide pet bar background

-- These hide individual elements of the menu bar. Its easy to figure out what is what.
ActionBarUpButton:Hide()
ActionBarDownButton:Hide()
MainMenuBarPageNumber:SetAlpha(0)

CharacterMicroButton:Hide()
SpellbookMicroButton:Hide()
TalentMicroButton:Hide()
AchievementMicroButton:Hide()
QuestLogMicroButton:Hide()
GuildMicroButton:Hide()
PVPMicroButton:Hide()
LFDMicroButton:Hide()
CompanionsMicroButton:Hide()
EJMicroButton:Hide()
MainMenuMicroButton:Hide()
HelpMicroButton:Hide()

CharacterBag3Slot:Hide()
CharacterBag2Slot:Hide()
CharacterBag1Slot:Hide()
CharacterBag0Slot:Hide()
MainMenuBarBackpackButton:Hide()

5.2. Hide macro labels:
for i=1, 12 do
	_G["ActionButton"..i.."Name"]:SetAlpha(0) -- main bar
	_G["MultiBarBottomRightButton"..i.."Name"]:SetAlpha(0) -- bottom right bar
	_G["MultiBarBottomLeftButton"..i.."Name"]:SetAlpha(0) -- bottom left bar
	_G["MultiBarRightButton"..i.."Name"]:SetAlpha(0) -- right bar
	_G["MultiBarLeftButton"..i.."Name"]:SetAlpha(0) -- left bar
end

5.3. Hide hotkeys:
for i=1, 12 do
	_G["ActionButton"..i.."HotKey"]:SetAlpha(0) -- main bar
	_G["MultiBarBottomRightButton"..i.."HotKey"]:SetAlpha(0) -- bottom right bar
	_G["MultiBarBottomLeftButton"..i.."HotKey"]:SetAlpha(0) -- bottom left bar
	_G["MultiBarRightButton"..i.."HotKey"]:SetAlpha(0) -- right bar
	_G["MultiBarLeftButton"..i.."HotKey"]:SetAlpha(0) -- left bar
end

6. Cast bar scripts

6.1. Text cast timer ("0.8 / 1.5"):
CastingBarFrame.timer = CastingBarFrame:CreateFontString(nil);
CastingBarFrame.timer:SetFont(STANDARD_TEXT_FONT,12,"OUTLINE");
CastingBarFrame.timer:SetPoint("TOP", CastingBarFrame, "BOTTOM", 0, 0);
CastingBarFrame.update = .1;

hooksecurefunc("CastingBarFrame_OnUpdate", function(self, elapsed)
	if not self.timer then return end
	if self.update and self.update < elapsed then
		if self.casting then
			self.timer:SetText(format("%2.1f/%1.1f", max(self.maxValue - self.value, 0), self.maxValue))
		elseif self.channeling then
			self.timer:SetText(format("%.1f", max(self.value, 0)))
		else
			self.timer:SetText("")
		end
		self.update = .1
	else
		self.update = self.update - elapsed
	end
end)

6.2. Scaling/moving castbars
Player cast bar:
CastingBarFrame:ClearAllPoints()
CastingBarFrame:SetPoint("CENTER",UIParent,"CENTER", 0, -235)
CastingBarFrame.SetPoint = function() end
CastingBarFrame:SetScale(1.0)

Target cast bar. This one is attached to the target unit frame by default, this script will unattach it and place it in the center:
TargetFrameSpellBar:ClearAllPoints()
TargetFrameSpellBar:SetPoint("CENTER", UIParent, "CENTER", 0, -140)
TargetFrameSpellBar.SetPoint = function() end
TargetFrameSpellBar:SetScale(1.0)
Focus cast bar functions the exact same way as the target cast bar, just that the frame is called FocusFrameSpellBar.

Set the cast bar above the frame instead of under the auras:
TargetFrameSpellBar:ClearAllPoints()
TargetFrameSpellBar:SetPoint("BOTTOM", TargetFrame, "TOP", -15, 0)
TargetFrameSpellBar.SetPoint = function() end
It will still remain attached to the target frame if you decide to move the target frame. Change "Target" to "Focus" everywhere and you'll get the same script for focus frame.

Spoiler

7. Quality of life scripts

7.1. Autosell grey trash and repair:
local g = CreateFrame("Frame")
g:RegisterEvent("MERCHANT_SHOW")

g:SetScript("OnEvent", function()  
	local bag, slot
	for bag = 0, 4 do
		for slot = 0, GetContainerNumSlots(bag) do
			local link = GetContainerItemLink(bag, slot)
			if link and (select(3, GetItemInfo(link)) == 0) then
				UseContainerItem(bag, slot)
			end
		end
	end

	if(CanMerchantRepair()) then
		local cost = GetRepairAllCost()
		if cost > 0 then
			local money = GetMoney()
			if IsInGuild() then
				local guildMoney = GetGuildBankWithdrawMoney()
				if guildMoney > GetGuildBankMoney() then
					guildMoney = GetGuildBankMoney()
				end
				if guildMoney > cost and CanGuildBankRepair() then
					RepairAllItems(1)
					print(format("|cfff07100Repair cost covered by G-Bank: %.1fg|r", cost * 0.0001))
					return
				end
			end
			if money > cost then
				RepairAllItems()
				print(format("|cffead000Repair cost: %.1fg|r", cost * 0.0001))
			else
				print("Not enough gold to cover the repair cost.")
			end
		end
	end
end)
Will use guild bank if available.

7.1. Minimap tweaks:
MinimapZoomIn:Hide()
MinimapZoomOut:Hide()
Minimap:EnableMouseWheel(true)
Minimap:SetScript('OnMouseWheel', function(self, delta)
	if delta > 0 then
		Minimap_ZoomIn()
	else
		Minimap_ZoomOut()
	end
end)
MiniMapTracking:ClearAllPoints()
MiniMapTracking:SetPoint("TOPRIGHT", -26, 7)
Hides zoom in/out buttons, enables mousewheel zoom, and moves the tracking button to top right near the calendar button.

7.3. Extra slash commands:
SlashCmdList["CLCE"] = function() CombatLogClearEntries() end
SLASH_CLCE1 = "/clc"

SlashCmdList["TICKET"] = function() ToggleHelpFrame() end
SLASH_TICKET1 = "/gm"

SlashCmdList["READYCHECK"] = function() DoReadyCheck() end
SLASH_READYCHECK1 = '/rc'

SlashCmdList["CHECKROLE"] = function() InitiateRolePoll() end
SLASH_CHECKROLE1 = '/cr'
- /clc to clear combat log
- /gm to open a GM ticket
- /rc for readycheck
- /cr for check role


#3564793 Season 10-11 Transition FAQ and Guide

Posted Eldacar on 28 November 2011 - 07:06 AM

So I have answered enough questions regarding this matter over the past few weeks across various forums that I decided it was time to just throw together a quick FAQ for everyone. In addition I have added a few recommendations for how you can best prepare your character for the new season at the end of the FAQ. Wish I had time to get it up sooner but I have been very busy lately, hope it's helpful!

Questions answered here:
- When does season 10 end and when does season 11 start?
- What new gear will be available for honor and when?
- What new gear will be available for conquest and when?
- Will new crafted PVP gear be available?
- What about weapons, whats the deal with those?
- What is going to happen to the conquest points I have saved?
- How much honor can I save for next season?
- What will happen to my various Arena and Rated Battleground ratings?
- How are titles like Gladiator being awarded?
- What will I be able to do in the down week between seasons?
- What's the deal with the new epic gems, how can I get them as a PVP'er?
- Will there be a new Baradin Hold boss dropping season 11 gear?
- How are the rewards from random battlegrounds changing?
- How can I best prepare my character for the next season of PVP?

If you have any questions not covered here please feel free to ask and I will do my best to answer them for you.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Q: When does season 10 end and when does season 11 start?

A: Season 10 is scheduled to end on Tuesday November 29th. Season 11 should start one week later on Tuesday December 6th. These dates are still tentative and could change.

Source: http://us.battle.net...opic/3566006978

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Q: What new gear will be available for honor and when?

A: When Season 10 ends the existing ilvl 384 Ruthless gear will become available for honor points for one week. When Season 11 begins a week later new ilvl 390 gear will become available for honor replacing the 384 gear on vendors.

This may seem a bit confusing, but the purpose of the 384 gear being available during the down week is to provide players with a chance to spend their excess honor over the 4,000 point cap on gear instead of having it convert to gold. If you simply want to farm better gear wait until Season 11 starts.

Source: http://us.battle.net...opic/3566006978

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Q: What new gear will be available for conquest and when?

A: When Season 11 starts new ilvl 403 Cataclysmic Gladiator gear will become available for purchase for conquest points. Like the previous seasons there will be an elite version of the gear with cosmetic differences available for players with 2200+ ratings in 3v3, 5v5 or Rated Battlegrounds. This by all indications should be the ultimate PVP set for the remainder of Cataclysm.

The new conquest gear on mmo-champion: http://db.mmo-champi...s_item=1:+level

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Q: Will new crafted PVP gear be available?

A: Yes there will be new ilvl 377 crafted PVP gear available from the various crafting professions.

The new crafted gear on mmo-champion: http://db.mmo-champi...s_item=2: level

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Q: What about weapons, whats the deal with those?

A: When Season 11 starts the old Season 10 ilvl 378 Ruthless weapons will be available for honor but will require that players first earn a total of 7,250 honor points in Season 11 before they will be eligible to purchase them. Additionally new ilvl 396 Cataclysmic weapons will become available for conquest but will require that players first earn a total of 7,800 conquest points in Season 11 before they will be eligible to purchase them. There will also be new ilvl 410 Elite weapons available for conquest points plus the turn in of the applicable 396 weapon, these elite weapons will require players to earn a total of 15,700 conquest points in season 11 and have a 2200+ rating in 3v3, 5v5, or Rated Battlegrounds before they will be eligible to purchase them.

During the down week between seasons the 378 ruthless weapons are available for honor, but require that you earned at least 7,250 honor during Season 10.


- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Q: What is going to happen to the conquest points I have saved?

A: When Season 10 ends all conquest points will be converted into honor points, even if this puts you above the 4,000 honor point cap. During the down week between seasons you can spend the excess honor (the honor above 4,000) if you choose to. If you do not spend your excess honor it will be converted into gold when Season 11 starts at the rate of 35 silver per honor point over the cap. It's important to note that while you have 4,000 or more honor you will be unable to earn more until you spend yourself below 4,000.

If you already have full 384 gear and don't want the gold, a good alternative is to convert the excess honor into justice points, you can then convert the justice points back into honor when season 11 starts after you have spent some of your saved honor on new gear. It's important to note though that this conversion has a cost to it on both ends, 375 honor gives you 250 justice points, and then converting back 375 justice points gives you 250 honor, still it's an additional way to "store" extra honor above the cap.

Source: http://us.battle.net...opic/3566006978

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Q: How much honor can I save for next season?

A: You can only directly carry over 4,000 honor points into the new season, however by using justice points as an additional means of honor storage as I mentioned in the previous question you can effectively store an additional 2,500 honor, for an effective total of 6,500.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Q: What will happen to my various Arena and Rated Battleground ratings?

A: When Season 11 begins ALL PVP ratings will be wiped, this includes matchmaking rating (MMR), team ratings, personal ratings, and Rated BG ratings.

Source: http://us.battle.net...opic/3566006978

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Q: How are titles like gladiator being awarded?

A: Titles like gladiator are being awarded exactly the same way they have been in previous seasons. Honestly everyone here on AJ should know how this works by now but if you don't see the link below.

For more information on how titles are awarded visit the sticky thread by Maarkoo: http://www.arenajunk...ladiator-title/
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Q: What will I be able to do in the down week between seasons?

A: You will be able to participate in random battlegrounds and wargames (wargames dont count for anything or earn you anything). Rated Arena matches and Rated Battlegrounds will not be available during the down week.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Q: What's the deal with the new epic gems, how can I get them as a PVP'er?

A: These are the pre-cut BOP gem's that are available for 750 conquest each:

    Blue +63 Spell Pen
    Green +25 Hit  +25 Resil
    Green +32 Spell Pen +25 Mastery
    Green +25 Crit +32 Spell Pen
    Green +25 Haste +32 Spell Pen
    Green +25 Resil +37 Stam
    Green +25 Spirit +25 Resil
    Green +32 Spell Pen +25 Resil
    Orange +25 Agility +25 Resil
    Orange +25 Strength +25 Resil
    Orange +25 Parry +25 Resil
    Orange +25 Expertise +25 Resil
    Orange +25 Intellect +25 Resil
    Purple +25 Intellect +32 Spell Pen
    Yellow +50 Resil

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Q: Will there be a new Baradin Hold boss dropping season 11 gear?

A: Yes there will be a new 10/25 raid boss named Alizabal available in Baradin Hold after the start of Season 11. She will have a loot table similar to Argaloth and Occu'thar but will drop T13 raid gear and Season 11 PVP gear instead of the items from previous seasons.

For more information about Alizabal visit the WoWpedia page for the boss located here: http://www.wowpedia.org/Alizabal

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Q: How are the rewards from random battlegrounds changing?

A: In patch 4.3 the daily random battelground reward is being changed to reward 100 conquest points for a win (up from 25), additionally every subsequent random battleground win after the first will reward 50 conquest points. There will be no limit to the amount of conquest points you can earn this way up to your weekly conquest cap.

Source: http://us.battle.net...opic/3595670888

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Q: How can I best prepare my character for the next season of PVP?

A: My personal recommendations on how to prepare your character for Season 11 are as follows:

- Buy your PVP head and shoulder enchants now, that is 3,000 honor you can farm and spend on your next season gear right now. If you build more than one set of gear for different specs you can buy and save multiple sets of enchants and save yourself to the need to farm them next season, this is a great thing to during the down week.

- Max out your justice and honor points, combined they will give you 6500 available honor points to buy new gear with in Season 11.

- Complete your daily random BG win every day during the down week. During the season 9-10 transition conquest points that were earned during the down week from the random BG daily and from valor to conquest conversions DID carry over into season 10. That of course may change this time, but right now I am operating under the assumption it will work the same way. It's unclear if patch 4.3 will be released the day season 10 ends or the day season 11 begins, so the change to random bg rewards may or may not be in effect during the down week. If they ARE in effect you should be able to farm out a full conquest cap worth of conquest points that will carry over into season 11. If the changes are not yet in effect during the down week you can still get the 25 conquest points per day from the random BG daily, and you should be able to farm your valor cap through heroics which you can then convert into conquest for extra points to start the season with as well.

- Buy all the gems and enchants you need now, that way when you buy a new piece of gear you can gem and enchant it on the spot, throw it on and hop right back into the queue to farm more honor.

- Complete the "Victory in Tol Barad" weekly quest, and turn it in after Season 11 starts. You can still only complete this once during the first week of Season 11, but it will provide you with a quick 200 honor boost without the need to actually fight the battle. Just make sure you spend some honor before you turn in the quest!

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

I hope you found this FAQ and brief guide helpful, if you have any questions I did not answer please feel free to ask and I will do my best to answer them for you. If you have any additional suggestions for how players can best prepare themselves for Season 11 please post them as well!

Sources:
http://us.battle.net...opic/3566006978
http://us.battle.net...opic/3595670888
db.mmo-champion.com
www.wowpedia.org
The Public Test Realms


<