Download
(266Kb)
Download
Updated: 10-26-16 09:10 AM
Pictures
File Info
Compatibility:
Return to Karazhan (7.1.5)
Legion (7.0.3)
Updated:10-26-16 09:10 AM
Created:unknown
Downloads:1,327,464
Favorites:2,655
MD5:

Scrolling Combat Text  Popular! (More than 5000 hits)

Version: 7.1
by: Grayhoof [More]

Please post all errors and suggestions on http://grayhoof.wowinterface.com/ using the provided forms.

Be sure to check out my simple but enhanced combat log EavesDrop

Also check out SCTD if you want SCT to show your damage.

What is it? - A fairly simple but very configurable mod that adds damage, heals, and events (dodge, parry, windfury, etc...) as scrolling text above you character model, much like what already happens above your target. This makes it so you do not have to watch (or use) your regular combat chat window and gives it a "Final Fantasy" feel.

What can it do?

- Damage messages
- Heals (incoming and outgoing) and Overhealing (with healer ID's), with filtering for small heals.
- Spell Damage/Resists and Damage Type
- All "Miss" events (dodge, block, immune, etc...)
- Custom Colors for all text events
- Config file to setup custom events (self and target), capture data, and display it.
- Debuff/Buff gain and loss Messages
- Low Health and Mana Warnings with values, and optional sounds
- Rage/Mana/Energy Gains
- Enter and Leave Combat Messages
- Rogue Combo Points, 5 CP Alert Message
- Class Skill alerts (Execute, Overpower, CounterAttack, etc...)
- Honor, Reputation, Skill Gain
- Eight Animation Types (Verticle, Rainbow, Horizontal, Angled Down, Angled Up, Sprinkler, Curved HUD, Angled HUD)
- Four Fonts
- Two seperate Animation frames, each with their own settings. Assign any Event to either.
- Ability to flag any event as critical or as a text messages
- Sliders for text size, opacity, animation speed, movement speed, and on screen placement (with custom editbox)
- Lightmode, for when you care most about performance (at the loss of a few features).
- Now Based in Ace3.
- Settings saved per character by default, but supports all Ace3 Profiles
- Load/Delete settings from another character. Load built in Profiles.
- Localized to work in almost all WoW clients.
How do I use it? - First unzip it into your interface\addons directory. For more info on installing, please read install.txt. Now just run WoW and once logged in, type /sctmenu to get the options screen.

SCT_EVENT_CONFIG.LUA is used to setup custom message events. Please open up the file (notepad, etc...) and read the opening section to understand how to use it all.
PLEASE NOTE - THIS IS THE MOST IMPORTANT FILE IN SCT. IF YOU DON'T READ IT AND USE IT, THEN YOU ARE MISSING OUT ON A TON OF WHAT SCT HAS TO OFFER IN CUSTOMIZATION

/sctdisplay is used to create your own custom messages.
Useage:
/sctdisplay 'message' (for white text)
/sctdisplay 'message' red(0-10) green(0-10) blue(0-10)
Example: /sctdisplay 'Heal Me' 10 0 0 - This will display 'Heal Me' in bright red
Some Colors: red = 10 0 0, green = 0 10 0, blue = 0 0 10, yellow = 10 10 0, magenta = 10 0 10, cyan = 0 10 10

FAQ
How do I get My Crits or My Hits to show? I would suggest you get SCTD: http://www.wowinterface.com/download...fo.php?id=4913

I don't understand what the 2 frames are for! - Each frame lets you set different features. So you can set frame one using Sprinker animation and Default font, while frame 2 can be using Veritcle animation and Adventure font. You can then assign each event to a specfic frame using the radio buttons next to the events.

There's too many options. Help someone new see how things work! - Try out some of the new built in profiles. While on the options screen, click the "Profiles" button. At the top of the window will be a listing of some default profiles to try out. Maybe you'll fine one you like or it will spark some ideas for you to try.

How do I change the fonts? - You can now select from many fonts on the options page. You can also change the font of message and apply the font to the in game damage font used for your damage (requires relog)

I don't like friendly nameplates on. How do I make my heals appear over who I heal? - Friendly nameplates have to be on in order to show your heals. SCT will turn them on if you turn on the option, but you must manually turn them off if you don't like it (see Target keybindings).

I don't like the new spell icons, how do I turn them off? - There is an option to turn them off under the spell tab.

Support
Please post all errors and suggestions on http://grayhoof.wowinterface.com/ using the provided forms.

7.1 - Changes for Wow 7.1. Fixes for working with nameplate addons.
7.0 - Changes for WoW 7.0
6.72 - TOC update for 6.2
6.71 - Turned Shorten Value option on by default.
6.7 - Added a Shorten Value option, updated sliders to work better and with newer values (finally).
6.67 - TOC update for 6.1
6.66 - TOC update for 6.02
6.65 - TOC update for 5.4
6.64 - TOC update for 5.3
6.63 - TOC update for 5.2
6.62 - Updates for 5.1 nameplate changes
6.61 - Updates for 5.1
6.6 - Updates for 5.0.4
6.56 - Fix for nil power strings, TOC for 4.3
6.55 - TOC Fix for options
6.54 - Fixes for 4.2
6.53 - TOC Fix for options
6.52 - Fixes for 4.1
6.51 - Fixes for power events and new power types
6.5 - Fixes for 4.0
6.41 - Fix for Nameplates
6.4 - Fixes for 3.2 and TOC
6.33 - Fixes for nameplates and misc errors
6.31 - Fixes for 3.0
6.3 - Updates and fixes for 3.0 patch
6.2 - Added icon support to the message frame. Added Dispel as a default event. Added Dispel and Cast events as custom event. Cleaned up string and cache code. Use 2.4.3 dispel events.
6.1 - Total rewrite of custom event code. sct_event_config.lua can be still be used for custom events (READ THE FILE), but in game option menu fully supports custom events now. Converted to a faster combat log system. Fix for nameplates in PvP. Fix some options not updating when copying or loading a profile. Convert to LibShareMedia-3.0.
6.01 - Added item buffs to buff events and fade events. Fixed interrupts causing errors with nameplates. Fixed timer call. Fix for custom damage and miss events. Fixed active skill names duplicating. Made fades use buff/debuff color. Fixed display usage message. Added CN translation. Allow fonts to scale down to size 8. Made Blizzard options frame movable. Made Blizzard dropdown clamp to the screen.
6.0 - Converted to WoW 2.4 Combat Log. Converted to Ace3. Custom events completely redone, make sure to read SCT_EVENT_CONFIG.LUA. Moved options menu to WoW 2.4 Addons Menu. Options menu reorganized to be much cleaner and simpler.
5.7 - Added optional EavesDrop style spell icons. Added damage filter. Added selfonly flag to debuff custom events. Made all font sizes change 1 step at a time.
5.61 - Fixed some minor bugs with SharedMedia and Messages.
5.6 - Added SharedMedia for fonts. Cleaned up Drain/Leech events. Added option to turn off WoW's 2.1 healing. Cleaned up Unit Nameplate code.
5.5 - Added Spell Name option. Added Truncating or Abbreviating of spell/buff names. Changed buff/debuff events to use SpecialEventsLib; allows for much better buff and debuff tracking. Added Test Button. Removed Light Mode. Added new Custom Event Buff types for much easier buff/debuff event tracking; see sct_event_config.lua for more info.
5.4 - Added Spell Reflection Tracking; only works when combat log reports events in correct order. Added ability to show outgoing heals over friendly nameplates; see FAQ for more info. Temporarily added manual execute/hammer tracking until blizzard fixes 60+ skill auto tracking. Added pet buffs to power gain tracking.
5.31 - Added Diablo Font. Fixed Chat Tab Tainting. Fixed Rampage event to use 20 rage. Fixed Overhealing bug. Fixed Gap Slider not working on all frames.
5.3b - Fixed color change saves.
5.3 - Made spell colors editable. Added interruption events. Added killing blow events. Added Rampage Notification (not 100% prefect, but works most of the time). Cleaned up crit overlapping more. Fixed custom event sorting/parsing issues. Made heal filter based on total amount actually healed (so overhealing spam can be removed). Removed compost lib. Added SpecialEvents-Aura lib (will do more in future with it).
5.2 - Converted to WoW 2.0 standards. Added Text Alignment to Frame: Left, Center, Right, or HUD (based on position around HUD) justified. Added new HUD Curved Animation: moves in a semi circle around your character, ideal for use with curve based HUD bars. Added new HUD Angled Animation: moves in a slight angle around your character, ideal for use with angle based HUD bars. Added Gap Distance to HUD Animations to change the distance they are from center. Made Crits overlap less often. Made spammed text behave better. Made Custom events save to the event that triggers them after being found, improves performance over time.
5.11 - Added glancing and crushing indicators. Added outgoing HOT flag. Added Emblem font. Fixed slider edit box bug.
5.1 - Total new look for options window. Added mana gain filter. More speed optimizations around passed args and function calls. Modified custom events so only events for current class are loaded (make sure to use this for you own events). Option window opens while dead =). Converted all table iterators to use pairs().
5.01 - Slight speed optimizations around passed args and function calls. Added more default events to event file. Added buff counts. Made heal filter defaults to zero.
5.0 - Complete rewrite using Ace2 and ParserLib with more performance in mind. Two seperate animation frames. Angled Up, Sprinkler, and Flash Crit animations. New Skill event. Seperate Buff and Debuff fading. Sounds to health/mana warnings. Color spell damage by spell type. Toggle for Custom events (improves performance when off). Light mode, users WoW's new built in events to gain performance, at the cost of a few features. Sample messages when changing options. Editboxes to position sliders. Sounds to custom events. Healer filter option.
...For full version history, please see here: http://grayhoof.wowinterface.com/portal.php?&id=41&pageid=11
Optional Files (1)
File Name
Version
Size
Author
Date
Type
7.1
38kB
10-26-16 09:11 AM
Addon


Post A Reply Comment Options
Unread 04-28-11, 02:34 AM  
Choonstertwo
A Chromatic Dragonspawn
 
Choonstertwo's Avatar
AddOn Author - Click to view AddOns

Forum posts: 194
File comments: 105
Uploads: 34
Originally posted by sikwidit
hey seiru, your zip files doesnt seem to be available. im a nub at touching lua files. can you post exactly how the line would look for this "change the arguments for the ParseCombat functions in sct.lua and sctd.lua so that they have a "hideCaster" argument after the "event" argument". thx...
sct.lua line 438:
Code:
function SCT:ParseCombat(arg1, timestamp, event, hideCaster, sourceGUID, sourceName, sourceFlags, destGUID, destName, destFlags, ...)


sctd.lua line 378:
Code:
function SCTD:ParseCombat(arg1, timestamp, event, hideCaster, sourceGUID, sourceName, sourceFlags, destGUID, destName, destFlags, ...)
Report comment to moderator  
Reply With Quote
Unread 04-27-11, 09:49 AM  
sikwidit
A Fallenroot Satyr
 
sikwidit's Avatar
AddOn Author - Click to view AddOns

Forum posts: 28
File comments: 89
Uploads: 2
Originally posted by Seiru
If you'd like to edit the files yourself, please remove any instances of "happiness" from all the lua files, and then change the arguments for the ParseCombat functions in sct.lua and sctd.lua so that they have a "hideCaster" argument after the "event" argument".

hey seiru, your zip files doesnt seem to be available. im a nub at touching lua files. can you post exactly how the line would look for this "change the arguments for the ParseCombat functions in sct.lua and sctd.lua so that they have a "hideCaster" argument after the "event" argument". thx...
Report comment to moderator  
Reply With Quote
Unread 04-27-11, 06:08 AM  
Wazzbo
A Kobold Labourer

Forum posts: 0
File comments: 1
Uploads: 0
Originally posted by Seiru
I've managed to update SCT so that it works, and have uploaded my edited copy of both SCT and SCTD here:
http://www.realmdance.com/SCT.zip

If you'd like to edit the files yourself, please remove any instances of "happiness" from all the lua files, and then change the arguments for the ParseCombat functions in sct.lua and sctd.lua so that they have a "hideCaster" argument after the "event" argument".
I FUCKING LOVE YOU
Report comment to moderator  
Reply With Quote
Unread 04-26-11, 06:42 PM  
Xeddicus
A Defias Bandit
AddOn Author - Click to view AddOns

Forum posts: 3
File comments: 32
Uploads: 1
Originally posted by Seiru
I've managed to update SCT so that it works, and have uploaded my edited copy of both SCT and SCTD here:
http://www.realmdance.com/SCT.zip

If you'd like to edit the files yourself, please remove any instances of "happiness" from all the lua files, and then change the arguments for the ParseCombat functions in sct.lua and sctd.lua so that they have a "hideCaster" argument after the "event" argument".
Yeah, much thanks.
Report comment to moderator  
Reply With Quote
Unread 04-26-11, 06:18 PM  
Fragglerock
An Aku'mai Servant

Forum posts: 32
File comments: 62
Uploads: 0
Originally posted by Seiru
I've managed to update SCT so that it works, and have uploaded my edited copy of both SCT and SCTD here:
http://www.realmdance.com/SCT.zip

If you'd like to edit the files yourself, please remove any instances of "happiness" from all the lua files, and then change the arguments for the ParseCombat functions in sct.lua and sctd.lua so that they have a "hideCaster" argument after the "event" argument".
TY TY TY TY
Report comment to moderator  
Reply With Quote
Unread 04-26-11, 05:43 PM  
Seiru
A Kobold Labourer

Forum posts: 0
File comments: 1
Uploads: 0
I've managed to update SCT so that it works, and have uploaded my edited copy of both SCT and SCTD here:
http://www.realmdance.com/SCT.zip

If you'd like to edit the files yourself, please remove any instances of "happiness" from all the lua files, and then change the arguments for the ParseCombat functions in sct.lua and sctd.lua so that they have a "hideCaster" argument after the "event" argument".
Last edited by Seiru : 04-26-11 at 05:43 PM.
Report comment to moderator  
Reply With Quote
Unread 04-26-11, 05:05 PM  
Fragglerock
An Aku'mai Servant

Forum posts: 32
File comments: 62
Uploads: 0
Re: Fix for 4.1

Originally posted by Cybeloras
Fix for 4.1:

Remove line 144 of sct.lua ( [SPELL_POWER_HAPPINESS] = HAPPINESS,)
At login with this fix, I no longer get erros, but then the sct doesn't show in combat and there are too many errors to list.
Report comment to moderator  
Reply With Quote
Unread 04-26-11, 04:45 PM  
Cybeloras
A Fallenroot Satyr
 
Cybeloras's Avatar
AddOn Author - Click to view AddOns

Forum posts: 28
File comments: 273
Uploads: 6
Fix for 4.1

Fix for 4.1:

Remove line 144 of sct.lua ( [SPELL_POWER_HAPPINESS] = HAPPINESS,)
Report comment to moderator  
Reply With Quote
Unread 04-05-11, 08:49 AM  
vognar
A Defias Bandit

Forum posts: 3
File comments: 18
Uploads: 0
<nvm now>
Last edited by vognar : 04-05-11 at 08:59 AM.
Report comment to moderator  
Reply With Quote
Unread 02-18-11, 07:25 PM  
Reverend
A Kobold Labourer

Forum posts: 1
File comments: 4
Uploads: 0
Re: HP/power filters as a % of max

Originally posted by Farmbuyer
This is a patch against 6.51 that I've been using for some time now. It changes the sliders for minimum thresholds for health/power gains from a static number to a percentage of the player's current maximum. The default of 500 is way too high for lowbie toons in Cata, and way way too low for endgame toons.

I present it here as a unified-style diff. Note that it changes both the 'sct' and the 'sct_options' addons, since they're split into two. Those of you familiar with diffs are welcome to apply it, use it, hand it around, whatever.

Those of you who don't know how to use diffs... Google is your friend. Learn. Send me no PMs. I am not your personal helpdesk.

Code:
--- sct/sct.lua.orig	2010-10-15 12:10:03.503750000 -0400
+++ sct/sct.lua	2011-01-28 14:16:07.975750000 -0500
@@ -32,7 +32,10 @@
 -- local constants
 local last_hp_percent = 0
 local last_hp_target_percent = 0
+local last_hp_filter = 0
+local last_hp_full = 99999
 local last_mana_percent = 0
+local last_mana_filter = 0
 local last_mana_full = 99999
 local menuloaded = false
 
@@ -171,6 +174,9 @@
 --Called on login
 function SCT:OnEnable()
   self:RegisterSelfEvents()
+  -- This event does not fire unless the power type *changes*, but we use it
+  -- to set defaults.  Fire it off one time at the start.
+  self:UNIT_DISPLAYPOWER("UNIT_DISPLAYPOWER","player")
 end
 
 ----------------------
@@ -325,10 +331,17 @@
 
 ----------------------
 --Player Health
+function SCT:UNIT_MAXHEALTH(event, larg1)
+  if larg1 == "player" then
+    last_hp_full = UnitHealthMax("player")
+    last_hp_filter = db["HEALFILTER"] / 100 * last_hp_full
+  end
+end
 function SCT:UNIT_HEALTH(event, larg1)
   if (larg1 == "player") then
-    local warnlevel = db["LOWHP"] / 100
-    local HPPercent = UnitHealth("player") / UnitHealthMax("player")
+    --local warnlevel = db["LOWHP"] / 100
+    local warnlevel = db["LOWHP"] / 100 * last_hp_full
+    local HPPercent = UnitHealth("player") / last_hp_full  --UnitHealthMax("player")
     if (HPPercent < warnlevel) and (last_hp_percent >= warnlevel) and (not UnitIsFeignDeath("player")) then
       if (db["PLAYSOUND"] and db["SHOWLOWHP"]) then
         PlaySoundFile("Sound\\Spells\\bind2_Impact_Base.wav")
@@ -360,9 +373,15 @@
 
 ----------------------
 --Player Mana
-function SCT:UNIT_POWER(event, larg1)
-  if (larg1 == "player") and (UnitPowerType("player") == 0)then
-    local warnlevel = db["LOWMANA"] / 100
+function SCT:UNIT_MAXPOWER(event, larg1, powertype)
+  if larg1 == "player" then
+    self:UNIT_DISPLAYPOWER(event,larg1)
+  end
+end
+function SCT:UNIT_POWER(event, larg1, powertype)
+  --if (larg1 == "player") and (UnitPowerType("player") == SPELL_POWER_MANA)then
+  if (larg1 == "player" and powertype == "MANA")then
+    local warnlevel = db["LOWMANA"] / 100 * UnitManaMax("player")
     local ManaPercent = UnitMana("player") / UnitManaMax("player")
     if (ManaPercent < warnlevel) and (last_mana_percent >= warnlevel) and (not UnitIsFeignDeath("player")) then
       if (db["PLAYSOUND"] and db["SHOWLOWMANA"]) then
@@ -393,8 +412,12 @@
 
 ----------------------
 --Power Change
-function SCT:UNIT_DISPLAYPOWER(event)
-  last_mana_full = UnitMana("player")
+function SCT:UNIT_DISPLAYPOWER(event,larg1)
+  if larg1 == "player" then
+    last_mana_full = UnitPowerMax("player")
+    last_mana_filter = db["MANAFILTER"] / 100 * last_mana_full
+    --print("last_mana_filter", last_mana_filter, "out of", last_mana_full)
+  end
 end
 
 ----------------------
@@ -520,7 +543,8 @@
 
     healtot = tostring(amount)
     --heal filter
-    if (amount < db["HEALFILTER"]) then return end
+    if (amount < last_hp_filter) then return end
+    --if (amount < db["HEALFILTER"]) then return end
 
     if toPlayer then
       --self heals
@@ -567,7 +591,8 @@
     if toPlayer then
       self:Display_Event("SHOWPOWER", string_format("-%d %s", amount, POWER_STRINGS[powerType]), nil, nil, nil, nil, nil, nil, spellName, texture)
     elseif fromPlayer and extraAmount and (not db["SHOWALLPOWER"]) then
-      if (extraAmount < db["MANAFILTER"]) then return end
+      if (extraAmount < last_mana_filter) then return end
+      --if (extraAmount < db["MANAFILTER"]) then return end
       self:Display_Event("SHOWPOWER", string_format("+%d %s", extraAmount, POWER_STRINGS[powerType]), nil, nil, nil, nil, nil, nil, spellName, texture)
     elseif fromPlayer then
       return
@@ -578,9 +603,12 @@
   elseif etype == "POWER" then
     spellId, spellName, spellSchool, amount, powerType = select(1, ...)
     texture = select(3, GetSpellInfo(spellId))
-    if (amount < db["MANAFILTER"]) then return end
+    --print("POWER", amount, "out of", last_mana_filter)
+    if (amount < last_mana_filter) then return end
+    --if (amount < db["MANAFILTER"]) then return end
     if toPlayer and (not db["SHOWALLPOWER"]) then
-      self:Display_Event("SHOWPOWER", string_format("+%d %s", amount, POWER_STRINGS[powerType]), nil, nil, nil, nil, nil, nil, spellName, texture)
+		-- XXX "or nil" because the alt power bar also triggers this?  -farmbuyer
+      self:Display_Event("SHOWPOWER", string_format("+%d %s", amount, POWER_STRINGS[powerType] or ""), nil, nil, nil, nil, nil, nil, spellName, texture)
     end
   ------------interrupts----------------
   elseif etype == "INTERRUPT" then
@@ -1004,7 +1032,9 @@
 
   -- Register Main Events
   self:RegisterEvent("UNIT_HEALTH")
+  self:RegisterEvent("UNIT_MAXHEALTH")
   self:RegisterEvent("UNIT_POWER")
+  self:RegisterEvent("UNIT_MAXPOWER")
   self:RegisterEvent("UNIT_DISPLAYPOWER")
   self:RegisterEvent("RUNE_POWER_UPDATE");
   self:RegisterEvent("PLAYER_REGEN_ENABLED")
--- sct_options/options_setup.lua.orig	2010-10-15 12:10:03.519375000 -0400
+++ sct_options/options_setup.lua	2010-10-15 12:10:39.956875000 -0400
@@ -76,8 +76,8 @@
 SCT.OPTIONS.FrameSliders [SCT.LOCALS.OPTION_SLIDER10.name] = { index = 10, SCTVar = "MSGYOFFSET", minValue = -400, maxValue = 400, valueStep = 10, minText=SCT.LOCALS.OPTION_SLIDER10.minText, maxText=SCT.LOCALS.OPTION_SLIDER10.maxText, tooltipText = SCT.LOCALS.OPTION_SLIDER10.tooltipText, SCTTable = SCT.MSG};
 SCT.OPTIONS.FrameSliders [SCT.LOCALS.OPTION_SLIDER11.name] = { index = 11, SCTVar = "MSGFADE", minValue = 1, maxValue = 3, valueStep = .5, minText=SCT.LOCALS.OPTION_SLIDER11.minText, maxText=SCT.LOCALS.OPTION_SLIDER11.maxText, tooltipText = SCT.LOCALS.OPTION_SLIDER11.tooltipText, SCTTable = SCT.MSG};
 SCT.OPTIONS.FrameSliders [SCT.LOCALS.OPTION_SLIDER12.name] = { index = 12, SCTVar = "MSGSIZE", minValue = 8, maxValue = 32, valueStep = 1, minText=SCT.LOCALS.OPTION_SLIDER12.minText, maxText=SCT.LOCALS.OPTION_SLIDER12.maxText, tooltipText = SCT.LOCALS.OPTION_SLIDER12.tooltipText, SCTTable = SCT.MSG};
-SCT.OPTIONS.FrameSliders [SCT.LOCALS.OPTION_SLIDER13.name] = { index = 13, SCTVar = "HEALFILTER", minValue = 0, maxValue = 500, valueStep = 25, minText=SCT.LOCALS.OPTION_SLIDER13.minText, maxText=SCT.LOCALS.OPTION_SLIDER13.maxText, tooltipText = SCT.LOCALS.OPTION_SLIDER13.tooltipText};
-SCT.OPTIONS.FrameSliders [SCT.LOCALS.OPTION_SLIDER14.name] = { index = 14, SCTVar = "MANAFILTER", minValue = 0, maxValue = 500, valueStep = 25, minText=SCT.LOCALS.OPTION_SLIDER14.minText, maxText=SCT.LOCALS.OPTION_SLIDER14.maxText, tooltipText = SCT.LOCALS.OPTION_SLIDER14.tooltipText};
+SCT.OPTIONS.FrameSliders [SCT.LOCALS.OPTION_SLIDER13.name] = { index = 13, SCTVar = "HEALFILTER", minValue = 0, maxValue = 10, valueStep = 0.5, minText=SCT.LOCALS.OPTION_SLIDER13.minText, maxText=SCT.LOCALS.OPTION_SLIDER13.maxText, tooltipText = SCT.LOCALS.OPTION_SLIDER13.tooltipText};
+SCT.OPTIONS.FrameSliders [SCT.LOCALS.OPTION_SLIDER14.name] = { index = 14, SCTVar = "MANAFILTER", minValue = 0, maxValue = 10, valueStep = 0.5, minText=SCT.LOCALS.OPTION_SLIDER14.minText, maxText=SCT.LOCALS.OPTION_SLIDER14.maxText, tooltipText = SCT.LOCALS.OPTION_SLIDER14.tooltipText};
 SCT.OPTIONS.FrameSliders [SCT.LOCALS.OPTION_SLIDER15.name] = { index = 15, SCTVar = "GAPDIST", minValue = 0, maxValue = 200, valueStep = 10, minText=SCT.LOCALS.OPTION_SLIDER15.minText, maxText=SCT.LOCALS.OPTION_SLIDER15.maxText, tooltipText = SCT.LOCALS.OPTION_SLIDER15.tooltipText, SCTTable = SCT.FRAME1};
 SCT.OPTIONS.FrameSliders [SCT.LOCALS.OPTION_SLIDER16.name] = { index = 16, SCTVar = "TRUNCATESIZE", minValue = 1, maxValue = 30, valueStep = 1, minText=SCT.LOCALS.OPTION_SLIDER16.minText, maxText=SCT.LOCALS.OPTION_SLIDER16.maxText, tooltipText = SCT.LOCALS.OPTION_SLIDER16.tooltipText};
 SCT.OPTIONS.FrameSliders [SCT.LOCALS.OPTION_SLIDER17.name] = { index = 17, SCTVar = "DMGFILTER", minValue = 0, maxValue = 500, valueStep = 25, minText=SCT.LOCALS.OPTION_SLIDER17.minText, maxText=SCT.LOCALS.OPTION_SLIDER17.maxText, tooltipText = SCT.LOCALS.OPTION_SLIDER17.tooltipText};
--- sct_options/locals/localization.lua.orig	2010-10-15 12:10:03.519375000 -0400
+++ sct_options/locals/localization.lua	2010-10-15 12:10:39.941250000 -0400
@@ -73,8 +73,8 @@
 SCT.LOCALS.OPTION_SLIDER10 = { name="Message Center Y Position", minText="-400", maxText="400", tooltipText = "Controls the placement of the message center"};
 SCT.LOCALS.OPTION_SLIDER11 = { name="Message Fade Speed", minText="Faster", maxText="Slower", tooltipText = "Controls the speed that messages fade"};
 SCT.LOCALS.OPTION_SLIDER12 = { name="Message Size", minText="Smaller", maxText="Larger", tooltipText = "Controls the size of the message text"};
-SCT.LOCALS.OPTION_SLIDER13 = { name="Healer Filter", minText="0", maxText="500", tooltipText = "Controls the minimum amount a heal needs to heal you for to appear in SCT. Good for filtering out frequent small heals like Totems, Blessings, etc..."};
-SCT.LOCALS.OPTION_SLIDER14 = { name="Mana Filter", minText="0", maxText="500", tooltipText = "Controls the minimum amount a power gain needs to be to appear in SCT. Good for filtering out frequent small power gains like Totems, Blessings, etc..."};
+SCT.LOCALS.OPTION_SLIDER13 = { name="Healer Filter", minText="0", maxText="30", tooltipText = "Controls the minimum amount a heal needs to heal you for to appear in SCT, as a percentage of your health. Good for filtering out frequent small heals like Totems, Blessings, etc..."};
+SCT.LOCALS.OPTION_SLIDER14 = { name="Mana Filter", minText="0", maxText="30", tooltipText = "Controls the minimum amount a power gain needs to be to appear in SCT, as a percentage of your power. Good for filtering out frequent small power gains like Totems, Blessings, etc..."};
 SCT.LOCALS.OPTION_SLIDER15 = { name="HUD Gap Distance", minText="0", maxText="200", tooltipText = "Controls the distance from the center for the HUD animation. Useful when wanting to keep eveything centered but adjust the distance from center"};
 SCT.LOCALS.OPTION_SLIDER16 = { name="Shorten Spell Size", minText="1", maxText="30", tooltipText = "Spell names over this length will be shortend using the selected shorten type."};
 SCT.LOCALS.OPTION_SLIDER17 = { name="Damage Filter", minText="0", maxText="500", tooltipText = "Controls the minimum amount damage needs to be to appear in SCT. Good for filtering out frequent small hits like Damage Shields, Small DOT's, etc..."};
Been wanting something like this for SCT since the beginning of raiding, in Wrath. Oy. This is a much needed change to this addon.
Report comment to moderator  
Reply With Quote
Unread 02-01-11, 04:03 PM  
Farmbuyer
A Cyclonian
AddOn Author - Click to view AddOns

Forum posts: 43
File comments: 36
Uploads: 1
HP/power filters as a % of max

This is a patch against 6.51 that I've been using for some time now. It changes the sliders for minimum thresholds for health/power gains from a static number to a percentage of the player's current maximum. The default of 500 is way too high for lowbie toons in Cata, and way way too low for endgame toons.

I present it here as a unified-style diff. Note that it changes both the 'sct' and the 'sct_options' addons, since they're split into two. Those of you familiar with diffs are welcome to apply it, use it, hand it around, whatever.

Those of you who don't know how to use diffs... Google is your friend. Learn. Send me no PMs. I am not your personal helpdesk.

Code:
--- sct/sct.lua.orig	2010-10-15 12:10:03.503750000 -0400
+++ sct/sct.lua	2011-01-28 14:16:07.975750000 -0500
@@ -32,7 +32,10 @@
 -- local constants
 local last_hp_percent = 0
 local last_hp_target_percent = 0
+local last_hp_filter = 0
+local last_hp_full = 99999
 local last_mana_percent = 0
+local last_mana_filter = 0
 local last_mana_full = 99999
 local menuloaded = false
 
@@ -171,6 +174,9 @@
 --Called on login
 function SCT:OnEnable()
   self:RegisterSelfEvents()
+  -- This event does not fire unless the power type *changes*, but we use it
+  -- to set defaults.  Fire it off one time at the start.
+  self:UNIT_DISPLAYPOWER("UNIT_DISPLAYPOWER","player")
 end
 
 ----------------------
@@ -325,10 +331,17 @@
 
 ----------------------
 --Player Health
+function SCT:UNIT_MAXHEALTH(event, larg1)
+  if larg1 == "player" then
+    last_hp_full = UnitHealthMax("player")
+    last_hp_filter = db["HEALFILTER"] / 100 * last_hp_full
+  end
+end
 function SCT:UNIT_HEALTH(event, larg1)
   if (larg1 == "player") then
-    local warnlevel = db["LOWHP"] / 100
-    local HPPercent = UnitHealth("player") / UnitHealthMax("player")
+    --local warnlevel = db["LOWHP"] / 100
+    local warnlevel = db["LOWHP"] / 100 * last_hp_full
+    local HPPercent = UnitHealth("player") / last_hp_full  --UnitHealthMax("player")
     if (HPPercent < warnlevel) and (last_hp_percent >= warnlevel) and (not UnitIsFeignDeath("player")) then
       if (db["PLAYSOUND"] and db["SHOWLOWHP"]) then
         PlaySoundFile("Sound\\Spells\\bind2_Impact_Base.wav")
@@ -360,9 +373,15 @@
 
 ----------------------
 --Player Mana
-function SCT:UNIT_POWER(event, larg1)
-  if (larg1 == "player") and (UnitPowerType("player") == 0)then
-    local warnlevel = db["LOWMANA"] / 100
+function SCT:UNIT_MAXPOWER(event, larg1, powertype)
+  if larg1 == "player" then
+    self:UNIT_DISPLAYPOWER(event,larg1)
+  end
+end
+function SCT:UNIT_POWER(event, larg1, powertype)
+  --if (larg1 == "player") and (UnitPowerType("player") == SPELL_POWER_MANA)then
+  if (larg1 == "player" and powertype == "MANA")then
+    local warnlevel = db["LOWMANA"] / 100 * UnitManaMax("player")
     local ManaPercent = UnitMana("player") / UnitManaMax("player")
     if (ManaPercent < warnlevel) and (last_mana_percent >= warnlevel) and (not UnitIsFeignDeath("player")) then
       if (db["PLAYSOUND"] and db["SHOWLOWMANA"]) then
@@ -393,8 +412,12 @@
 
 ----------------------
 --Power Change
-function SCT:UNIT_DISPLAYPOWER(event)
-  last_mana_full = UnitMana("player")
+function SCT:UNIT_DISPLAYPOWER(event,larg1)
+  if larg1 == "player" then
+    last_mana_full = UnitPowerMax("player")
+    last_mana_filter = db["MANAFILTER"] / 100 * last_mana_full
+    --print("last_mana_filter", last_mana_filter, "out of", last_mana_full)
+  end
 end
 
 ----------------------
@@ -520,7 +543,8 @@
 
     healtot = tostring(amount)
     --heal filter
-    if (amount < db["HEALFILTER"]) then return end
+    if (amount < last_hp_filter) then return end
+    --if (amount < db["HEALFILTER"]) then return end
 
     if toPlayer then
       --self heals
@@ -567,7 +591,8 @@
     if toPlayer then
       self:Display_Event("SHOWPOWER", string_format("-%d %s", amount, POWER_STRINGS[powerType]), nil, nil, nil, nil, nil, nil, spellName, texture)
     elseif fromPlayer and extraAmount and (not db["SHOWALLPOWER"]) then
-      if (extraAmount < db["MANAFILTER"]) then return end
+      if (extraAmount < last_mana_filter) then return end
+      --if (extraAmount < db["MANAFILTER"]) then return end
       self:Display_Event("SHOWPOWER", string_format("+%d %s", extraAmount, POWER_STRINGS[powerType]), nil, nil, nil, nil, nil, nil, spellName, texture)
     elseif fromPlayer then
       return
@@ -578,9 +603,12 @@
   elseif etype == "POWER" then
     spellId, spellName, spellSchool, amount, powerType = select(1, ...)
     texture = select(3, GetSpellInfo(spellId))
-    if (amount < db["MANAFILTER"]) then return end
+    --print("POWER", amount, "out of", last_mana_filter)
+    if (amount < last_mana_filter) then return end
+    --if (amount < db["MANAFILTER"]) then return end
     if toPlayer and (not db["SHOWALLPOWER"]) then
-      self:Display_Event("SHOWPOWER", string_format("+%d %s", amount, POWER_STRINGS[powerType]), nil, nil, nil, nil, nil, nil, spellName, texture)
+		-- XXX "or nil" because the alt power bar also triggers this?  -farmbuyer
+      self:Display_Event("SHOWPOWER", string_format("+%d %s", amount, POWER_STRINGS[powerType] or ""), nil, nil, nil, nil, nil, nil, spellName, texture)
     end
   ------------interrupts----------------
   elseif etype == "INTERRUPT" then
@@ -1004,7 +1032,9 @@
 
   -- Register Main Events
   self:RegisterEvent("UNIT_HEALTH")
+  self:RegisterEvent("UNIT_MAXHEALTH")
   self:RegisterEvent("UNIT_POWER")
+  self:RegisterEvent("UNIT_MAXPOWER")
   self:RegisterEvent("UNIT_DISPLAYPOWER")
   self:RegisterEvent("RUNE_POWER_UPDATE");
   self:RegisterEvent("PLAYER_REGEN_ENABLED")
--- sct_options/options_setup.lua.orig	2010-10-15 12:10:03.519375000 -0400
+++ sct_options/options_setup.lua	2010-10-15 12:10:39.956875000 -0400
@@ -76,8 +76,8 @@
 SCT.OPTIONS.FrameSliders [SCT.LOCALS.OPTION_SLIDER10.name] = { index = 10, SCTVar = "MSGYOFFSET", minValue = -400, maxValue = 400, valueStep = 10, minText=SCT.LOCALS.OPTION_SLIDER10.minText, maxText=SCT.LOCALS.OPTION_SLIDER10.maxText, tooltipText = SCT.LOCALS.OPTION_SLIDER10.tooltipText, SCTTable = SCT.MSG};
 SCT.OPTIONS.FrameSliders [SCT.LOCALS.OPTION_SLIDER11.name] = { index = 11, SCTVar = "MSGFADE", minValue = 1, maxValue = 3, valueStep = .5, minText=SCT.LOCALS.OPTION_SLIDER11.minText, maxText=SCT.LOCALS.OPTION_SLIDER11.maxText, tooltipText = SCT.LOCALS.OPTION_SLIDER11.tooltipText, SCTTable = SCT.MSG};
 SCT.OPTIONS.FrameSliders [SCT.LOCALS.OPTION_SLIDER12.name] = { index = 12, SCTVar = "MSGSIZE", minValue = 8, maxValue = 32, valueStep = 1, minText=SCT.LOCALS.OPTION_SLIDER12.minText, maxText=SCT.LOCALS.OPTION_SLIDER12.maxText, tooltipText = SCT.LOCALS.OPTION_SLIDER12.tooltipText, SCTTable = SCT.MSG};
-SCT.OPTIONS.FrameSliders [SCT.LOCALS.OPTION_SLIDER13.name] = { index = 13, SCTVar = "HEALFILTER", minValue = 0, maxValue = 500, valueStep = 25, minText=SCT.LOCALS.OPTION_SLIDER13.minText, maxText=SCT.LOCALS.OPTION_SLIDER13.maxText, tooltipText = SCT.LOCALS.OPTION_SLIDER13.tooltipText};
-SCT.OPTIONS.FrameSliders [SCT.LOCALS.OPTION_SLIDER14.name] = { index = 14, SCTVar = "MANAFILTER", minValue = 0, maxValue = 500, valueStep = 25, minText=SCT.LOCALS.OPTION_SLIDER14.minText, maxText=SCT.LOCALS.OPTION_SLIDER14.maxText, tooltipText = SCT.LOCALS.OPTION_SLIDER14.tooltipText};
+SCT.OPTIONS.FrameSliders [SCT.LOCALS.OPTION_SLIDER13.name] = { index = 13, SCTVar = "HEALFILTER", minValue = 0, maxValue = 10, valueStep = 0.5, minText=SCT.LOCALS.OPTION_SLIDER13.minText, maxText=SCT.LOCALS.OPTION_SLIDER13.maxText, tooltipText = SCT.LOCALS.OPTION_SLIDER13.tooltipText};
+SCT.OPTIONS.FrameSliders [SCT.LOCALS.OPTION_SLIDER14.name] = { index = 14, SCTVar = "MANAFILTER", minValue = 0, maxValue = 10, valueStep = 0.5, minText=SCT.LOCALS.OPTION_SLIDER14.minText, maxText=SCT.LOCALS.OPTION_SLIDER14.maxText, tooltipText = SCT.LOCALS.OPTION_SLIDER14.tooltipText};
 SCT.OPTIONS.FrameSliders [SCT.LOCALS.OPTION_SLIDER15.name] = { index = 15, SCTVar = "GAPDIST", minValue = 0, maxValue = 200, valueStep = 10, minText=SCT.LOCALS.OPTION_SLIDER15.minText, maxText=SCT.LOCALS.OPTION_SLIDER15.maxText, tooltipText = SCT.LOCALS.OPTION_SLIDER15.tooltipText, SCTTable = SCT.FRAME1};
 SCT.OPTIONS.FrameSliders [SCT.LOCALS.OPTION_SLIDER16.name] = { index = 16, SCTVar = "TRUNCATESIZE", minValue = 1, maxValue = 30, valueStep = 1, minText=SCT.LOCALS.OPTION_SLIDER16.minText, maxText=SCT.LOCALS.OPTION_SLIDER16.maxText, tooltipText = SCT.LOCALS.OPTION_SLIDER16.tooltipText};
 SCT.OPTIONS.FrameSliders [SCT.LOCALS.OPTION_SLIDER17.name] = { index = 17, SCTVar = "DMGFILTER", minValue = 0, maxValue = 500, valueStep = 25, minText=SCT.LOCALS.OPTION_SLIDER17.minText, maxText=SCT.LOCALS.OPTION_SLIDER17.maxText, tooltipText = SCT.LOCALS.OPTION_SLIDER17.tooltipText};
--- sct_options/locals/localization.lua.orig	2010-10-15 12:10:03.519375000 -0400
+++ sct_options/locals/localization.lua	2010-10-15 12:10:39.941250000 -0400
@@ -73,8 +73,8 @@
 SCT.LOCALS.OPTION_SLIDER10 = { name="Message Center Y Position", minText="-400", maxText="400", tooltipText = "Controls the placement of the message center"};
 SCT.LOCALS.OPTION_SLIDER11 = { name="Message Fade Speed", minText="Faster", maxText="Slower", tooltipText = "Controls the speed that messages fade"};
 SCT.LOCALS.OPTION_SLIDER12 = { name="Message Size", minText="Smaller", maxText="Larger", tooltipText = "Controls the size of the message text"};
-SCT.LOCALS.OPTION_SLIDER13 = { name="Healer Filter", minText="0", maxText="500", tooltipText = "Controls the minimum amount a heal needs to heal you for to appear in SCT. Good for filtering out frequent small heals like Totems, Blessings, etc..."};
-SCT.LOCALS.OPTION_SLIDER14 = { name="Mana Filter", minText="0", maxText="500", tooltipText = "Controls the minimum amount a power gain needs to be to appear in SCT. Good for filtering out frequent small power gains like Totems, Blessings, etc..."};
+SCT.LOCALS.OPTION_SLIDER13 = { name="Healer Filter", minText="0", maxText="30", tooltipText = "Controls the minimum amount a heal needs to heal you for to appear in SCT, as a percentage of your health. Good for filtering out frequent small heals like Totems, Blessings, etc..."};
+SCT.LOCALS.OPTION_SLIDER14 = { name="Mana Filter", minText="0", maxText="30", tooltipText = "Controls the minimum amount a power gain needs to be to appear in SCT, as a percentage of your power. Good for filtering out frequent small power gains like Totems, Blessings, etc..."};
 SCT.LOCALS.OPTION_SLIDER15 = { name="HUD Gap Distance", minText="0", maxText="200", tooltipText = "Controls the distance from the center for the HUD animation. Useful when wanting to keep eveything centered but adjust the distance from center"};
 SCT.LOCALS.OPTION_SLIDER16 = { name="Shorten Spell Size", minText="1", maxText="30", tooltipText = "Spell names over this length will be shortend using the selected shorten type."};
 SCT.LOCALS.OPTION_SLIDER17 = { name="Damage Filter", minText="0", maxText="500", tooltipText = "Controls the minimum amount damage needs to be to appear in SCT. Good for filtering out frequent small hits like Damage Shields, Small DOT's, etc..."};
Report comment to moderator  
Reply With Quote
Unread 01-23-11, 04:52 AM  
DiamondTear
A Kobold Labourer

Forum posts: 0
File comments: 4
Uploads: 0
In the Atramedes encounter you get a very short and annoying freeze every time you your Sound increases.

On Al'akir you get the same freeze when you get interrupted.
Report comment to moderator  
Reply With Quote
Unread 01-23-11, 02:40 AM  
Maximillianm
A Deviate Faerie Dragon

Forum posts: 11
File comments: 30
Uploads: 0
Re: not working

Originally posted by Professør
SCT is not showing my damage at all. I have installed properly and everything. FIX THE ADDON
and you have both SCTD with SCT?
Report comment to moderator  
Reply With Quote
Unread 01-17-11, 07:27 PM  
Professør
A Kobold Labourer

Forum posts: 0
File comments: 1
Uploads: 0
not working

SCT is not showing my damage at all. I have installed properly and everything. FIX THE ADDON
Report comment to moderator  
Reply With Quote
Unread 01-03-11, 02:11 AM  
Trigsten
A Kobold Labourer

Forum posts: 0
File comments: 3
Uploads: 0
I have selected the option of using the SCT messages font for the ingame font and it works. However, it does not change the ingame text size. How can I do this?
Report comment to moderator  
Reply With Quote
Post A Reply



Category Jump:

Support AddOn Development!

You have just downloaded by the author . If you like this AddOn why not consider supporting the author? This author has set up a donation account. Donations ensure that authors can continue to develop useful tools for everyone.