-
Notifications
You must be signed in to change notification settings - Fork 78
Events
Events files are located in "ShinraMeter\resources\config\events". Depending on what class you are logged into, it will load a different events file. events-common.xml will always be loaded and will serve as a way to tell you if things like Hurricane or Enrage are currently on the boss, this file will notify you no matter what class you are logged into. But if you main mystic, you'll want to edit events-mystic.xml to your liking.
You can find a list of buffs/debuffs here: https://raw.githubusercontent.com/neowutran/TeraDpsMeterData/master/hotdot/hotdot-EU-EN.tsv (or you can use any other region file from https://github.com/neowutran/TeraDpsMeterData/tree/master/hotdot or even from ./resources/data/hotdot directory of your meter)
- you can use more condensed list from http://moongourd.com/info , that contains most common buffs/debuffs.
Since V1.60 you can disable any event by adding active="false"
attribute to it.
If no active
on event level is specified - one from <events>
node will be used, if there is no active
attribute even there - default is active="true"
.
Look in your class file (or common), copy the abnormality codes and look it up in the above files until you find what it is, and remove any unwanted sounds. To fully remove an event, remove everything between and including and the very next .
I'll have to explain the different kinds of events you can create.
-
Added: When a buff or debuff is added to the boss, yourself, or a party buff such as Energy Stars (set by whether you put "Self", "Boss", "MyBoss", or "Party" as the target), the meter will beep and send you a message.
-
Removed: When a buff or debuff ends and is no longer applicable, the meter can send you a beep and a message.
-
MissingDuringFight: If you start a fight or have recently resurrected and you don't have a certain buff on you, such as Ninja's Focus, or a Complete Crystalbind.
-
Ending (available since 1.79): Same as MissingDuringFight, but triggered only if abnormality exist and going to end soon, but won't trigger if abnormality is missing. Can be used for enrage ending notification, for example.
Triggered when specified skill cooldown has reset, should look like
<cooldown ingame="true" active="true" skill_id="71000">
<actions>
<notify>
<balloon title_text="{skill_name} reset" body_text="{skill_name}" display_time="3000" />
<beeps>
<beep frequency="185" duration="500"/>
</beeps>
</notify>
</actions>
</cooldown>
Since 2.12 you can use skill_id="0"
to trigger event on any skill reset and use {skill_id}
placeholder to see exact skill id that triggered it.
This is what a completed abnormality event looks like:
<abnormality ingame="true" remaining_seconds_before_trigger="0" rewarn_timeout_seconds="0" trigger="MissingDuringFight" target="Self">
<abnormalities>
<abnormality>10154030</abnormality>
</abnormalities>
<actions>
<notify>
<balloon title_text="{abnormality_name}" body_text="{abnormality_name}" display_time="3000" />
<beeps>
<beep frequency="220" duration="500"/>
</beeps>
</notify>
</actions>
</abnormality>
You can change the:
-
remaining_seconds_before_trigger="0" - notify when X seconds remaining before abnormality ends, applied to "MissingDuringFight" and "Ending" events
-
rewarn_timeout_seconds="30" - applied only for "MissingDuringFight" and "Ending" events, delay next check for X seconds after notification
-
trigger to "Added", "Removed", or "MissingDuringFight" as whichever you want.
-
target between "Self", "Boss", "MyBoss" (If there are multiple bosses around you at the same time - you may want to be notified only about "your" boss's debuffs. "MyBoss" events triggers only for the boss that you hit last) , or "Party" depending on what the buff will be affecting.
-
"stack" : filter for all abnormality events: now you can specify which stack count is required for each abnormality to trigger. For example if you add stack in "abnormality missing" event (should look like
<abnormality stack=13>101300</abnormality>
) - event will continue warning you about traverse cut debuff even if you place it on boss, but it doesn't have full stacks. Same thing can be done in "abnormality added" event - you can make it trigger if someone receive more than X stacks of some debuff, but don't trigger on lower stacks. Default to "0" -
find an abnormality in the list (see https://github.com/neowutran/ShinraMeter/wiki/Events#buffdebuff-lists ), then change the number inbetween to the desired one.
-
message that the meter will send you, or you can delete the entire line that starts with "" to not receive a message. The title_text is what shows up at the top of the notification, I'd recommend leaving this the same. But body_text is what is contained in the message, {abnormality_name} will automatically name whatever is in , but after that you can put something like "{abnormality_name} has been put on the boss! Quick, use Fire Avalanche/Burning Heart!" Other macro supported: {player_name} - name of the player, who is missing buff and {time_left} - remaining time left for ending buff. Onto the display_time, this is in milliseconds, so 3000 will display the message for 3 seconds, if you want it to be up for 10 seconds, change it to 10000.
-
The final thing to change is whether you want it to beep, not beep, or play music or use text-to-speech. An easy way to turn off sound - to delete everything inside
<notify>
and</notify>
except<balloon .../>
section. -
Ignore Classes Since 2.50 you can use
ignore_classes
attribute to disable abnormality event for specific classes. For exampleignore_classes="Priest,Mystic"
-
"active" attribute. Value "false" or "true"
-
"priority" attribute. Value: integer, biggest -> most important event. example 'priority="5"'. Default value is "5" In case of multiple events triggered in the same time (we trigger maximum one notification per second) you can specify which event would be shown by adding this attribute.
-
"area_boss_blacklist" block -> disable an event for some area or boss
example:
<area_boss_blacklist>
<blacklist area_id="713" />
<blacklist area_id="813" />
<blacklist area_id="432" />
<blacklist area_id="431" />
<blacklist area_id="433" />
</area_boss_blacklist>
- You can specify exact
boss_id
there, if you want to disable event not for the whole dungeon but for specific boss only. (Note, that event will be disabled if you see this boss fighting, even if you are fighting another boss.)
There are 3 ways of sound notification: beeps, music and text-to-speech:
Here is an example of what you would have it look like if you wanted to be notified by beeps:
<beeps>
<beep frequency="440" duration="500"/>
</beeps>
You can add silence between beeps (using frequency="0"), meter play beeps in separate threads - so you can set up delayed beep.
Here is an example of what you would have it look like if you wanted to be notified by mp3 sound:
<music file="C:\MyMusic\foo.mp3" volume="100" duration="2000"/>
Remember that duration="" is in milliseconds, so 2000 would be 2 seconds. Volume="" is 0-100, so 100 would be if you were listening to it on Windows Media Player at 100% volume.
Here is an example of what you would have it look like if you wanted to be notified by spoken text:
<text_to_speech text="Contagion" />
or more complex one, containing info about which voice to use (here are default values, except meter is using current UI culture by default):
<text_to_speech text="{abnormality_name} on {player_name}" voice_gender="Female" voice_age="Adult" culture="en-US" voice_position="0" volume="30" rate="0" />
- text - what should be spoken. Note that for localized buff and player names can be pronounced only by voices, that are supporting used character set ("en" voice can't say anything written in Cyrillic, for example).
- voice_gender - gender of selected voice ("Female", "Male" or "Neutral")
- voice_age - age of selected voice ("Child", "Teen", "Adult" or "Senior")
- culture - localization of selected voice, should be in the same format as ui_culture.
- voice_position - index (zero based) of selected voice if you have more than one installed.
- rate - speed of speech (-10 to +10)
- volume - speech volume
You can omit any parameter except "text".
If at any point your event file gets corrupted or you mess up, you can just delete the entire file and it will be recreated the next time you open ShinraMeter with latest default settings.
<!-- Enrage is ending -->
<abnormality active="true" priority="8" ingame="true" rewarn_timeout_seconds="6" remaining_seconds_before_trigger="12" trigger="Ending" target="Boss">
<abnormalities>
<abnormality>8888888</abnormality>
</abnormalities>
<actions>
<notify>
<balloon title_text="{abnormality_name} is ending" body_text="{abnormality_name} {time_left} left" display_time="3000" />
<text_to_speech text="{abnormality_name} ending in {time_left} seconds" voice_gender="Female" voice_age="Adult" culture="en-US" voice_position="0" volume="30" rate="0"/>
</notify>
</actions>
</abnormality>