Jump to content


Member Since 12 Dec 2010
Offline Last Active Dec 13 2013 06:41 PM

#3961856 Is It NOT A Problem?-

Posted Icekingx on 11 October 2013 - 06:43 PM

So this is what I got out of this thread. I agree with Tuxer I believe aoe SR & disrupting shout need to be on the same tier also being able to use rally/fear/shout during bladestorm is pretty stupid.

Braindance vs Infernion at blizzcon
More bitching about warriors (when clearly EVERYONE knows how they are currently so why even say something?)
Braindance vs EVERYONE

#3961592 Is It NOT A Problem?-

Posted dionim on 11 October 2013 - 01:21 PM

Braindance is a tipycal forum player, to bad forum doenst give you ratings/tittles/mounts

#3961553 Is It NOT A Problem?-

Posted Infernion on 11 October 2013 - 12:52 PM

View PostBraindance, on 11 October 2013 - 12:44 PM, said:

Spoken like a true autistic puppet.

So dumb you didn't even Even in game I hit 90 like 1 month before the season ended and I finished the season with 70% dreadful. I didn't even see avatar, pummel silence and 5 stack TfB. I have like 1 balance related post ROFL.

Where the fuck did I say anything about warriors you fucking cocroach? I mean you went through  40 fucking 1 pages on my profile to make a point. For fuck sake you OCD ridden whore.

Go listen to some Bieber shit and leave me alone fucko.

Posted Image
You're flaming everyone not agreeing with you on this forum.
You're calling everyone liars and biased.
You make up random excuses for warriors state if they're good.
You whine infinitely if they're bad.
(You're shit)

You're the biggest hypocrite. Now you flame someone for PROVING you're lying? You're pathetic dude.

Trying to cover up you not being able to get gladiator in S12? (Or any season before that rofl)
Trying to make up excuses for you not being able to go high this season? (Or any other season)

Numbers and stats speak for themselves.

"Learn to play" yourself, and stop flaming everyone. Why isn't this guy banned from the forums yet? Calling people whore, autistic and so much other shit?

In before "I got 2400 on PTR" (lol no one cares), "Warriors scale bad with gear, just wait and see" (jk), "Insert random flame" (standard Braindance)

#3904527 FocusFrame Inverter Script

Posted Spyrö on 25 June 2013 - 11:04 PM

FocusFrame Inverter Script

Posted Image

Script code:

#3877645 Fixed your class

Posted Filthpig on 19 April 2013 - 09:54 AM

Hey here's an idea: Don't post bad ideas.

#3862829 Rogues: You all hit this High?

Posted Ayrasaurus on 17 March 2013 - 02:34 AM

View PostZerlog, on 15 March 2013 - 11:52 PM, said:

Rogues should be called Demon hunters or something
Posted Image

I would be more worried about the frost mage that killed me in deep freeze from 100-0 with a blanket on my healer. Or the fire mage that killed me in a deep freeze from 100-0 with a blanket on my healer (Neither of them casted exdee )

Shuriken is good yes probs overpowered but they are far from what is ruining arena atm, mages in the current state are making arena almost unplayable as any class if you don't have a mage on your team.

I would much much much much much much rather have them find a way to put mages in line so they can't use instants and a deep blanket to kill most players instead of fixing ST any day.

Edit: I noticed someone had said something about they shouldn't be able to do that sort of damage at range because they are melee but if thats the case then why do casters not actually have to cast to do damage. Shuriken is more annoying than crazy broken and them numbers really are wrong or somethings up with them because even in battle stance i only take 15-30ks from it depending on crit or not so idk maybe zerker or something weird was going on.

Edit Edit: Keep in mind i fucking hate rogues by default as i'm a warrior/dk but tbh they still drop like a sack of shit in a stun and get kited so easy so it's kind of fair they get something to do at range. If they had good  mobility we could argue this is wrong but they just seem to do fuck all and waddle about after a ranged unless they have step or cloak and dagger up. Just deep him and kill him in the deep no biggie and stop bitching about some BG freak damage which wouldn't happen in a 3v3 enviroment because he would have got stunned and killed in the opener or you would have killed his healer in the opener with instants.

#3862607 Fear still broken?

Posted GrieverZ on 16 March 2013 - 05:00 PM

View PostWallirik, on 16 March 2013 - 05:23 AM, said:

yeah, dno why people whine about this. the only reason it doesn't break fast is because dots don't do a lot of dmg fast lol

Fear not breaking off dots is a thing, fear not breaking when i have a DK smashing my face in is another.

#3861077 Khan Title

Posted Saikx on 13 March 2013 - 11:55 AM

So theres a new title you get AFTER your name when you have master of IoC,BfG,TP,ToK and SSM.(Battleground)

e.g. "Shearpermbanmdr Khan"

If you admire me so much Blizzard you could've just asked, but this?

#3860314 [Sub] Subterfuge openers

Posted mimmick on 11 March 2013 - 10:26 PM

View PostWildeHilde, on 11 March 2013 - 03:00 PM, said:

I agree, but Reckful said that using Rupture after Cheap Shot is not worth it and so a lot of rogues share this opinion.
He hes played warrior 99% of the season got his rogue half geard in a few weeks and thinks he knows everything about it. His opinion on anything about rogues isnt worth shit.

#3786586 MoP Arena: First Impressions

Posted Kunuxx on 04 October 2012 - 03:02 PM

you are right, next time im getting heroic striked for 210k im just gonna adjust properly.

#3738723 Default UI Scripts

Posted XqzN on 04 August 2012 - 04:53 PM

Really cool stuff Syncrow!

I tried to use your Stopwatch-Look and positioning, but I just get errors when trying.

My error "attempt to index global 'StopwatchFrame' (a nil value)"

#3701256 New MoP rogue changes

Posted Novakayne on 11 May 2012 - 01:52 AM

View Postvarellol, on 10 May 2012 - 09:18 PM, said:

nice, evasion   25 range dodge is "gone" but its just because dodge is now for range attacks aswell so we have +50% dodge against that shitty hunters with evasion up,  yay!
yeah i saw that and was confused why they removed that then i actually played the beta and realized that you can dodge ranged attacks then was like yessssssssssssss... but this also means blind can be dodged :(

#3700471 Jahmilli #1 crop

Posted bobjob1 on 09 May 2012 - 08:28 AM

so many fake titles

#3697040 cant click links.

Posted Cutebaby on 02 May 2012 - 12:00 PM

If anyone is still experiencing this issue that none of the developers here at AJ seems to care to fix, here is how to fix it (For Windows 7/Vista/XP etc. For other OS the hosts file will be located elsewhere);

Open: C:\Windows\System32\drivers\etc\hosts in notepad
Type " adserver.adtechus.com " at the end of the file.

Now you will be unable to load any of the shitty content from this address, and arenajunkies will work perfectly  B)

#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

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:

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["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}
/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: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)
		SpellActivationOverlay_HideOverlays(SpellActivationOverlayFrame, 64371)
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:
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:

local frame=CreateFrame("Frame")

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)

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

		frame:SetScript("OnEvent", nil)

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

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

3. Unit frame scripts

3.1. Class icons instead of portraits:
	if self.portrait then
		if UnitIsPlayer(self.unit) then				
			local t = CLASS_ICON_TCOORDS[select(2, UnitClass(self.unit))]
			if t then
/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)
		statusbar:SetStatusBarColor(c.r, c.g, c.b)

hooksecurefunc("UnitFrameHealthBar_Update", colour)
hooksecurefunc("HealthBar_OnValueChanged", function(self)
	colour(self, self.unit)
/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")

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)
	if UnitIsPlayer("focus") then
		c = RAID_CLASS_COLORS[select(2, UnitClass("focus"))]
		FocusFrameNameBackground:SetVertexColor(c.r, c.g, c.b)

frame:SetScript("OnEvent", eventHandler)

for _, BarTextures in pairs({TargetFrameNameBackground, FocusFrameNameBackground}) do
/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 = function() end

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
			if(UnitIsEnemy(PlayerFrame.unit, s.unit) and dT=='Magic') then
/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()



3.7. Hide faction/PvP icon:

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

3.9. Scaling/moving frames:
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: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.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.

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.."CastingBar"]:SetPoint("RIGHT", 95, 0)
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")
	trinkets["arena"..i] = trinket

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

function events:PLAYER_ENTERING_WORLD()
	local _, instanceType = IsInInstance()
	if instanceType == "arena" then
	elseif self:IsEventRegistered("UNIT_SPELLCAST_SUCCEEDED") then
		for _, trinket in pairs(trinkets) do
			trinket:SetCooldown(0, 0)
events:SetScript("OnEvent", function(self, event, ...) return self[event](self, ...) end)
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.
MainMenuBarRightEndCap:Hide() -- hide the gryphons

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.

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.

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

-- These hide individual elements of the menu bar. Its easy to figure out what is what.



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

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

6. Cast bar scripts

6.1. Text cast timer ("0.8 / 1.5"):
CastingBarFrame.timer = CastingBarFrame:CreateFontString(nil);
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)))
		self.update = .1
		self.update = self.update - elapsed

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

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:SetPoint("CENTER", UIParent, "CENTER", 0, -140)
TargetFrameSpellBar.SetPoint = function() end
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: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.


7. Quality of life scripts

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

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)

	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()
				if guildMoney > cost and CanGuildBankRepair() then
					print(format("|cfff07100Repair cost covered by G-Bank: %.1fg|r", cost * 0.0001))
			if money > cost then
				print(format("|cffead000Repair cost: %.1fg|r", cost * 0.0001))
				print("Not enough gold to cover the repair cost.")
Will use guild bank if available.

7.1. Minimap tweaks:
Minimap:SetScript('onmousewheel', function(self, delta)
	if delta > 0 then
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

SlashCmdList["READYCHECK"] = function() DoReadyCheck() end

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