Harrowstorm zone Announcer
I wish I had the time myself:
Addon that posts into zone chat where a harrowstorm is happening. - Precollect coordinates for different harrowstorm locations - register for combat events, - register for chat channel - listen for addon zone hs announcments - keep last received datetime for each location - when combat starts do basic checks: - within range of center? - not pvp (so ppl can't trigger it with duels while waiting) - oponent is one of harrowstorm ennemies (ppl tend to bring aggroed mobs with them) - when determined is harrowstorm combat - check timestamp of last heard announcment for this harrowstorm - if timestamp is old enough - wait random(0..x) seconds then broadcast Announcment to zone if none have been received in the meantime (random( 0..x) seconds to avoid 50 parallel zone chat announcments by different players with addon) (x might have to be sufficiently high, zone chat lags sometimes) Optionally notification/popup/whatever if hs announcement has been detected in zonechat (or little window with location of last hs announcment and time since reception) I'd love if this existed :-) |
Code:
oponent is one of harrowstorm ennemies (ppl tend to bring aggroed mobs with them) Maybe the "sourceType" states that it was a kind of NPC and you can use this to track it was not done by other players. But afaik ZOs changed the combat event results (at least for other "players") to retrur nothing anymore. Found this in the Wiki: Note: In most cases combat events will only return relevant values if the player character is either the source or the target of the event! In most other cases they only return the abilityId and the target's unitId! So you'd ned to use the unitId and GetUnitName(unitId), multi language, as I thought :-( And for those you get hit it would be sourceType = COMBAT_UNIT_TYPE_NONE I guess, as (COMBAT_UNIT_TYPE_OTHER would be another player, says the Wiki) Code:
(random( 0..x) seconds to avoid 50 parallel zone chat announcments by different players with addon) Else you still get the chat spam by 20+ addon users within a few secons which will be makign A LOT of the players mad that woudl like to use teh chat for other searches (mobs, bosses, qeusts) as well :p Maybe also/instead of using the harrowstorm coordinates on the map, simply add a context menu to the harrowstorms map pin. Users can start the broadcast via the context menu more reliably as the name of the map pin should be unique and reusable for the chat broadcast. You'd only need to pre-collect the multiple languages of the Harrowstorm names... But easier than collecting the "positions" imo Maybe there also is some kind of function in the LibGPS and/or other libraries to track if you are near such a map pin, already |
Quote:
the 0..x random delay is to prevent message spam from 3 players with addon that have just been waiting there. Harrowstorm goes up. They are all very fast at reacting and attacking. All three detect its happening and broadcast because it all happened before any broadcast by one player to zone chat would have even been received by other players with addon due to chat lag. The random wait makes it so ideally player 1 gets short wait say 0.5 seconds...player 2 gets medium wait say 3 seconds and player 3 gets long wait of 9.7 seconds. If chat lag is 2 seconds, then player 2 and 3 receive player 1's announcement in time and dont broadcast. Without random delay all three would have broadcast.... Obviously rng is a harsh mistress and chances are that at least two players would have gotten delays within "chat lag" seconds of each other and will all broadcast anyway. But in general would cut down on multiple broadcasts quite a bit.... a kindom for a hidden addon channel for addons to communicate with each other.... |
Quote:
https://www.esoui.com/forums/showthread.php?t=6911 |
Quote:
Addon communication Channel: - not user visible - not user postable - only read/postable by Addons through special functions Edit: Nothing against user created channels... just way bigger scope...less likely to get picked up as a feature ;-) |
This was requested as well (via other channels I could not find again) and most likely it won't ever happen :(
Not sure if it's a political decision or it's thought of affecting the server performance (which already IS an actual issue). |
All times are GMT -6. The time now is 09:18 AM. |
vBulletin © 2024, Jelsoft Enterprises Ltd
© 2014 - 2022 MMOUI