AB timers with a narrowed zone map (Cartographer colored icons)
WSG flag carriers with HP percent
AV and WG timers using alternate bar layout
Capping
Capping is just another battleground timer mod with some extras.
Current Features:
All battlegrounds/arenas have start timers
Alterac Valley - Node timers, auto quest turnins, and sync
Arathi Basin - Node timers and final score estimation
Eye of the Storm - Flag respawn timer, flag carrier display, and final score estimation
Isle of Conquest - Node timers and siege engine timer
Warsong Gulch - Flag respawn timer and flag carrier display with health percent
Wintergrasp - Start timers and auto show zone map
Zone Map - Change scale, narrow, and hide border
Other - Port expiration timers, queue wait timers, scoreboard/capture bar/vehicle seat repositioning
How to use:
Show options - "/capping" or right-click on a timer bar/anchor
Toggle anchor - left-click on a timer bar or use options menu
Send time info to SAY - shift left-click on that timer bar
Send time info to BG - ctrl left-click on that timer bar
Hide timer bar (also leaves queue if related) - ctrl, shift, or alt right-click on that timer bar
Target carrier (in WSG or EotS) - left-click on the carrier's display
Send carrier info to BG - ctrl left-click on the carrier's display
Why no auto-release and auto-join?:
I try not to promote bad habits in my mods.
No auto-release because knowing when you should or should not release is a part of being a smart player in battlegrounds. For example, say there is five seconds left to capture blacksmith and you die there. Auto-release will send you to the starting area, but if you wait five seconds, you release to blacksmith graveyard.
Another reason not to use auto-release is to have time to spy on the flag carrier after a failed kill attempt.
Auto-join was useful when there were single queues and long wait time/afk time. Today is different, of course.
I'm not telling you how to play, just giving you my reasons.
Why no convenient "Incoming" and such buttons?:
The users and I had a discussion about this before when Capping was on wowace. If spoiled, the users would not type something important if there's no lazy way to do it. Am I right?.
Messages probably no mod covers:
Incoming? Well, how many? From which direction?
Incoming BS. Oh wait, they're going LM now.
Incoming BS, but we're all here already. I mean fight at the flag, they're capping.
Need help at MT...3 enemies behind
Incoming DR...3 stealth
Flag carrier going ramp side, almost dead
Flag carrier on the way up the roof, behind tree
...and so on
Don't you love seeing "INCOMING BS" "INCOMING BS" "INCOMING BS" with 2 enemies incoming and 5 people already defending? After about 5 more come to help chase these 2 kills, you get spammed "BS CLEAR".
Plenty of standalone mods that do this, so use those if needed.
Known issues:
Narrow map setting will not work if Mapster is installed. Disabling the battlemap module in Mapster will fix this.
Recently, I had some requests for donation info, so here it is. Do not feel obligated; donations (or lack of) will not determine what features I do or do not implement.
Change Log - Capping
3.2.006 09/29/2009:
- fix errors on zone map load on clean variables
- fix potential error with node detection
- cleanups
3.2.004 09/23/2009:
- update queue timers to support new 3.2.2 changes
- fixed mouseover highlighting for carrier targets
- clean up many unused variables
3.2.003 09/04/2009:
- organized code between files
- optimized node conflict detection code
- multiplier for Wintergrasp timer seems to be no longer necessary
- added a new layout for timer bars
- added ConfigMode support
3.2.002 08/13/2009:
- replaced event message parsing with POI landmark scanning
- removed all unnecessary node localization due to new method
- Siege Engine timer can now be retrieved by targeting it
- use map filename instead of zone name for detecting battlegrounds
3.2.001 08/04/2009:
- added timer to WSG when three minutes remain
- updated frFR and deDE localization, everyone else is outta luck
- minor tweaks and removed 3.2 compat checks
3.1.005 07/25/2009:
- many random localization changes, don't know anything got messed up
- would be nice to get some localization updates before 3.2
- sync is now auto-requested, but syncing is no longer broad casted
- attempt to sync WSG carrier names
- attempt to sync IoC siege engine timer
3.1.004 (Beta) 07/10/2009:
- beta support for 3.2 and Isle of Conquest (needs localization)
- merged all the battleground files into one
- cleaned up Wintergrasp code
- use more global strings instead of translations
- added option to make the timer bars non-interactive
3.1.003 05/22/2009:
- nil out global reference to CappingLocale
- the timer text is no longer a font size smaller and hour format changed
3.1.002 05/08/2009 - fix SetTexCoord error
3.1.001 04/14/2009:
- updated for 3.1
- now use the GetWintergraspWaitTime function
- removed chat syncing of Wintergrasp time since it's not so useful anymore
- removed showing the redundant timer bar in Wintergrasp that shows when the battle will end
- slightly improved timer bar performance
- timer bar background colors is now colored as the darkened foreground's
- sparks' height adjusted to better fit the bar's height
- added font shadow
Originally posted by totalpackage Longest timer is at the bottom, by default. There is an option to flip (combo of "Flip Growth" and "Single Group"), but the shortest timer will always be closest to the anchor.
That's odd, since i've tested every option available and this is how i get, no matter how i try:
... and i want to flip the text, so the longest timer is at the bottom... it doesnt work :/
Originally posted by richerich One small question that has been bugging me for a while... Why don't you add a option to flip the timers, so that you can have the longest timer at the bottom and the shortest at the top of the timer?
Longest timer is at the bottom, by default. There is an option to flip (combo of "Flip Growth" and "Single Group"), but the shortest timer will always be closest to the anchor.
One small question that has been bugging me for a while... Why don't you add a option to flip the timers, so that you can have the longest timer at the bottom and the shortest at the top of the timer?
Originally posted by Timothy003 ...Also, one small suggestion. I am using the default action bars, and it conveniently anchors the Zone Map to the bottom-right corner of my screen. Capping currently overrides this behavior by positioning the Zone Map itself, but it does not reposition the map when the scale or dimensions change or when I toggle the right or bottom-right action bars. This creates a tedious task of manually unlocking and repositioning the map every time I change zones or add/remove action bars...
The usefulness of auto-docking to something that rarely changes is questionable. Anyway, it would not be a feature of Capping.
Also, one small suggestion. I am using the default action bars, and it conveniently anchors the Zone Map to the bottom-right corner of my screen. Capping currently overrides this behavior by positioning the Zone Map itself, but it does not reposition the map when the scale or dimensions change or when I toggle the right or bottom-right action bars. This creates a tedious task of manually unlocking and repositioning the map every time I change zones or add/remove action bars.
My current solution is just disabling Capping's Narrow Mode, setting the Map Scale to 1.00, and running the following script after the Zone Map is loaded:
Code:
if ( BattlefieldMinimapTab ) then
BattlefieldMinimapTab:SetUserPlaced(false);
UIParent_ManageFramePositions();
end
This restores the docking behavior for the map. The drawback, however, is that I lose the Narrow Mode appearance and the ability to change the scale. It would be great if you added support for the default anchoring of the Zone Map.
That error only occurs after a saved variables wipe. I will release a fix after some testing. For now, disable Capping, login and show your zone map, logout, and enable Capping. Everything should be fine thereafter.
Originally posted by Flak Just upgraded to 3.2.005, deleted the old capping folder and saved variables before upgrading... getting the following message whenever I enter Arathi Basin:
*haven't tried any other BGs yet.
Code:
Message: Interface\AddOns\Capping\core.lua:271: attempt to index local 'bgopts' (a nil value)
Time: 09/28/09 17:30:19
Count: 1
Stack: [string "Interface\FrameXML\BasicControls.xml:<Scrip..."]:18: in function <[string "Interface\FrameXML\BasicControls.xml:<Scrip..."]:4>
[C]: ?
Interface\AddOns\Capping\core.lua:271: in function `InitBGMap'
Interface\AddOns\Capping\core.lua:243: in function `?'
Interface\AddOns\Capping\core.lua:124: in function <Interface\AddOns\Capping\core.lua:123>
[C]: in function `LoadAddOn'
Interface\FrameXML\UIParent.lua:232: in function `UIParentLoadAddOn'
Interface\FrameXML\UIParent.lua:247: in function `BattlefieldMinimap_LoadUI'
Interface\FrameXML\WorldStateFrame.lua:368: in function `WorldStateFrame_ToggleBattlefieldMinimap'
Interface\FrameXML\WorldStateFrame.lua:103: in function <Interface\FrameXML\WorldStateFrame.lua:101>
Locals: self = Capping {
0 = <userdata>
GetBar = <function> defined @Interface\AddOns\Capping\core.lua:670
ADDON_LOADED = <function> defined @Interface\AddOns\Capping\core.lua:241
close = <unnamed> {
}
CheckCombat = <function> defined @Interface\AddOns\Capping\core.lua:130
StartWSG = <function> defined @Interface\AddOns\Capping\battlegrounds.lua:472
activebars = <table> {
}
CheckStartTimer = <function> defined @Interface\AddOns\Capping\core.lua:768
ResetAll = <function> defined @Interface\AddOns\Capping\core.lua:322
PLAYER_REGEN_ENABLED = <function> defined @Interface\AddOns\Capping\core.lua:138
StartAV = <function> defined @Interface\AddOns\Capping\battlegrounds.lua:216
db = <table> {
}
StartEotS = <function> defined @Interface\AddOns\Capping\battlegrounds.lua:314
ZoneCheck = <function> defined @Interface\AddOns\Capping\core.lua:338
StartIoC = <function> defined @Interface\AddOns\Capping\battlegrounds.lua:395
UpdateCountText = <function> defined @Interface\AddOns\Capping\core.lua:795
StartAB = <function> defined @Interface\AddOns\Capping\battlegrounds.lua:208
ZONE_CHANGED_NEW_AREA = <function> defined @Interface\AddOns\Capping\core.lua:301
InitBGMap = <function> defined @Interface\AddOns\Capping\core.lua:254
WORLD_MAP_UPDATE = <function> defined @Interface\AddOns\Capping\battlegrounds.lua:83
ModMap = <function> defined @Interface\AddOns\Capping\core.lua:394
iconpath = <table> {
}
AddFrameToHide = <function> defined @Interface\AddOns\Capping\core.lua:317
CreateCarrierButton = <function> defined @Interface\AddOns\Capping\battlegrounds.lua:114
StopBar = <function> defined @Interface\AddOns\Capping\core.lua:756
StartBar = <function> defined @Interface\AddOns\Capping\core.lua:716
UPDATE_BATTLEFIELD_STATUS = <function> defined @Interface\AddOns\Capping\core.lua:461
CreateText = <function> defined @Interface\AddOns\Capping\core.lua:818
backdrop = <table> {
}
RegisterTempEvent = <function> defined @Interface\AddOns\Capping\core.lua:126
}
bgopts = nil
(*temporary) = <function> defined =[C]:-1
(*temporary) = BattlefieldMinimapTab {
0 = <userdata>
StopMovingOrSizing = <function> defined =[C]:-1
}
(*temporary) = "StopMovingOrSizing"
(*temporary) = <function> defined =[C]:-1
(*temporary) = "StopMovingOrSizing"
(*temporary) = nil
(*temporary) = nil
(*temporary) = "attempt to index local 'bgopts' (a nil value)"
bgmap = BattlefieldMinimap {
0 = <userdata>
updateTimer = 0
}
bgdd = <table> {
func = <function> defined @Interface\AddOns\Capping\core.lua:828
text = "Capping"
}
ShowOptions = <function> defined @Interface\AddOns\Capping\core.lua:828
floor = <function> defined =[C]:-1
narrowed = nil
pointset = nil
db = <table> {
avquest = true
iconpos = "<-"
fontsize = 10
wsg = true
inset = 0
winter = true
reverse = false
av = true
x = -4
ab = true
mapscale = 1.3
eots = true
rp = "RIGHT"
fill = false
timepos = "<-"
texture = "BantoBarReverse"
width = 200
p = "RIGHT"
hidemapborder = false
mainup = false
colors = <table> {
}
spacing = 1
port = true
wait = true
y = 225
font = "Friz Quadrata TT"
dbinit = 6
Ravencrest = 1254178771
height =
After this error I get a battlefield minimap error that just goes forever. Have to log out and disable capping to be able to play in BGs.
To work around this, you can load the defaults yourself:
Code:
local BattlefieldMinimapDefaults = {
opacity = 0.7,
locked = true,
showPlayers = true,
};
if ( not BattlefieldMinimapOptions ) then
BattlefieldMinimapOptions = BattlefieldMinimapDefaults;
end
Just upgraded to 3.2.005, deleted the old capping folder and saved variables before upgrading... getting the following message whenever I enter Arathi Basin:
*haven't tried any other BGs yet.
Code:
Message: Interface\AddOns\Capping\core.lua:271: attempt to index local 'bgopts' (a nil value)
Time: 09/28/09 17:30:19
Count: 1
Stack: [string "Interface\FrameXML\BasicControls.xml:<Scrip..."]:18: in function <[string "Interface\FrameXML\BasicControls.xml:<Scrip..."]:4>
[C]: ?
Interface\AddOns\Capping\core.lua:271: in function `InitBGMap'
Interface\AddOns\Capping\core.lua:243: in function `?'
Interface\AddOns\Capping\core.lua:124: in function <Interface\AddOns\Capping\core.lua:123>
[C]: in function `LoadAddOn'
Interface\FrameXML\UIParent.lua:232: in function `UIParentLoadAddOn'
Interface\FrameXML\UIParent.lua:247: in function `BattlefieldMinimap_LoadUI'
Interface\FrameXML\WorldStateFrame.lua:368: in function `WorldStateFrame_ToggleBattlefieldMinimap'
Interface\FrameXML\WorldStateFrame.lua:103: in function <Interface\FrameXML\WorldStateFrame.lua:101>
Locals: self = Capping {
0 = <userdata>
GetBar = <function> defined @Interface\AddOns\Capping\core.lua:670
ADDON_LOADED = <function> defined @Interface\AddOns\Capping\core.lua:241
close = <unnamed> {
}
CheckCombat = <function> defined @Interface\AddOns\Capping\core.lua:130
StartWSG = <function> defined @Interface\AddOns\Capping\battlegrounds.lua:472
activebars = <table> {
}
CheckStartTimer = <function> defined @Interface\AddOns\Capping\core.lua:768
ResetAll = <function> defined @Interface\AddOns\Capping\core.lua:322
PLAYER_REGEN_ENABLED = <function> defined @Interface\AddOns\Capping\core.lua:138
StartAV = <function> defined @Interface\AddOns\Capping\battlegrounds.lua:216
db = <table> {
}
StartEotS = <function> defined @Interface\AddOns\Capping\battlegrounds.lua:314
ZoneCheck = <function> defined @Interface\AddOns\Capping\core.lua:338
StartIoC = <function> defined @Interface\AddOns\Capping\battlegrounds.lua:395
UpdateCountText = <function> defined @Interface\AddOns\Capping\core.lua:795
StartAB = <function> defined @Interface\AddOns\Capping\battlegrounds.lua:208
ZONE_CHANGED_NEW_AREA = <function> defined @Interface\AddOns\Capping\core.lua:301
InitBGMap = <function> defined @Interface\AddOns\Capping\core.lua:254
WORLD_MAP_UPDATE = <function> defined @Interface\AddOns\Capping\battlegrounds.lua:83
ModMap = <function> defined @Interface\AddOns\Capping\core.lua:394
iconpath = <table> {
}
AddFrameToHide = <function> defined @Interface\AddOns\Capping\core.lua:317
CreateCarrierButton = <function> defined @Interface\AddOns\Capping\battlegrounds.lua:114
StopBar = <function> defined @Interface\AddOns\Capping\core.lua:756
StartBar = <function> defined @Interface\AddOns\Capping\core.lua:716
UPDATE_BATTLEFIELD_STATUS = <function> defined @Interface\AddOns\Capping\core.lua:461
CreateText = <function> defined @Interface\AddOns\Capping\core.lua:818
backdrop = <table> {
}
RegisterTempEvent = <function> defined @Interface\AddOns\Capping\core.lua:126
}
bgopts = nil
(*temporary) = <function> defined =[C]:-1
(*temporary) = BattlefieldMinimapTab {
0 = <userdata>
StopMovingOrSizing = <function> defined =[C]:-1
}
(*temporary) = "StopMovingOrSizing"
(*temporary) = <function> defined =[C]:-1
(*temporary) = "StopMovingOrSizing"
(*temporary) = nil
(*temporary) = nil
(*temporary) = "attempt to index local 'bgopts' (a nil value)"
bgmap = BattlefieldMinimap {
0 = <userdata>
updateTimer = 0
}
bgdd = <table> {
func = <function> defined @Interface\AddOns\Capping\core.lua:828
text = "Capping"
}
ShowOptions = <function> defined @Interface\AddOns\Capping\core.lua:828
floor = <function> defined =[C]:-1
narrowed = nil
pointset = nil
db = <table> {
avquest = true
iconpos = "<-"
fontsize = 10
wsg = true
inset = 0
winter = true
reverse = false
av = true
x = -4
ab = true
mapscale = 1.3
eots = true
rp = "RIGHT"
fill = false
timepos = "<-"
texture = "BantoBarReverse"
width = 200
p = "RIGHT"
hidemapborder = false
mainup = false
colors = <table> {
}
spacing = 1
port = true
wait = true
y = 225
font = "Friz Quadrata TT"
dbinit = 6
Ravencrest = 1254178771
height =
After this error I get a battlefield minimap error that just goes forever. Have to log out and disable capping to be able to play in BGs.
I am receiving an error when loading Blizzard_BattlefieldMinimap.
From BugSack:
Quote:
[2009/09/27 13:59:15-1090-x1]: Capping-3.2.004\core.lua:267: attempt to perform arithmetic on local 'x' (a nil value)
<in C code>: in function `StopMovingOrSizing'
Capping-3.2.004\core.lua:276: in function `InitBGMap'
Capping-3.2.004\core.lua:243: in function `?'
Capping-3.2.004\core.lua:124: in function <Interface\AddOns\Capping\core.lua:123>
<in C code>: in function `LoadAddOn'
Interface\FrameXML\UIParent.lua:232: in function `UIParentLoadAddOn':
Interface\FrameXML\UIParent.lua:247: in function `BattlefieldMinimap_LoadUI':
Interface\FrameXML\UIParent.lua:480: in function <Interface\FrameXML\UIParent.lua:474>:
I didn't see my problem in this thread, so I'm not sure if I'm the only one having it (which would imply that it's due to one of my other mods?).
Anyway, I've been using Capping for awhile - it's great. But lately the timers in AV have been going a bit wonky.
Example:
AV starts, Alliance cap Snowfall GY and the time pops up and starts counting down - no problem. Shortly thereafter, Horde caps Stonehearth, timer pops up and starts counting down.
Caps continue to happen, and I have a list of about 8 or 9 different timers counting down, and then at some point, for some reason, every single one of them resets to 4 minutes and begins counting down from there, and it refuses to add any new caps, or remove a timer when a building is defended/burned.
This started happening a few weeks ago, and I installed the latest update which didn't fix the problem. I deleted Capping entirely, along with its related files in teh Saved Variables directory and reinstalled from scratch, and still no luck. I've tried the "Request Sync" option in the options menu, and it doesn't seem to help either.
Anything else I can try? (or additional information I can provide?) It's an odd problem, but I love using this mod, and hope the problem can be figured out!
Thanks!
Install BugSack, which will put a minimap icon, when you get an error you will hear an audio trigger sound, click the minimap icon to see the error logs, you can highlight and press ctrl+c to copy the error frame and paste it here.
I use Prat and Cartographer as well and havent had any issue with Capping, which I've used with capping since BC.
An addon list may help, you may be running another BG addon which may conflict.
Originally posted by cesar0 Anyone else having any problems with constant half second or so stutter every 5-10 seconds?
I have no external programs, virus scanners or anything in the background. I have a fast enough system to run this and didn't have any of these problems in any BG's before using Capping. I love the program too much to lose it as it makes BG's miserable.
Anyone ? Buhler?
A lot of addons are making changes to different library files, it may be one of those conflicting. Also try defragging your harddrive.
Anyone else having any problems with constant half second or so stutter every 5-10 seconds?
I have no external programs, virus scanners or anything in the background. I have a fast enough system to run this and didn't have any of these problems in any BG's before using Capping. I love the program too much to lose it as it makes BG's miserable.
Originally posted by totalpackage It could be another addon, maybe something that messes with the world map. Also make sure you can see script errors.
Hm, well at first I tried disabling Prat, thinking that maybe Capping got its info from the chat log, but that didn't help.
Based on your above comment, I tried disabling Cartographer, which has been giving me intermittent errors anyway, but the problem remains with Cartographer disabled as well.
I do have errors being reported, via Swatter, but I never actually get any errors with this problem that is occurring, so I have no log of any sort to send you.