-
Legendary
[V9.x] [INTERNATIONAL] [RNN] EnmityVisionPlugin
- Features:
1) Notifies when new visions appear (near or far) or when the current vision is closed
2) Provides relevant information about visions: levels found, elapsed time, location of the entrance (act and area), goblin/chest detection.
3) Labels on portals, both on the ground and on the minimap.
4) Voice alerts of the most important events. To disable them all at the same time you will have to assign the value false to EnableSpeak, and to disable a specific one you can do it by assigning the value "" or null to the corresponding message (string)
5) Option to play a sound every time a new Vision is opened.
- Considerations:
1) The area of visions, unlike NR/GR, is not indexed, so counting the total levels is not a trivial task. In order for the plugin to assign a number to each portal found (count levels) it will be necessary to have traveled/sighted at some point all the portals prior to this one, including the entrance portal.
2) In order to detect the opening of new Viisions in remote areas, and for certain conditions, the closing of an active Vision, the plugin needs to read the text of the corresponding UI dialogs, which will be different for each language. I've made sure that this plugin is compatible with all the languages available in D3 (enUS, esES, esMX, frFR, deDE, pt.BR, itIT, plPL, ruRU, zhCN, koKR). Let me know if you find any problems with the notification of these 2 events, I will try to fix them. Anyway I've added multiple additional checks to the code so that even when reading those Dialog UIs isn't available, the plugin still works reasonably well, it hasn't been an easy task.
3) Portals can only be detected if they are very close to your character, so sometimes you can see them on the minimap and still not be detected by the plugin. It's not a limitation imposed by the plugin, i don't know if it can be fixed.
4) The name of the area will appear in the language you set up the overlay with (NameLocalized). The rest of the messages can be edited to the desired language, which by default will be in (bad) English.
I don't plan to add new features such as statistics of the last open Visions. Feel free to make modifications to this plugin and share them in this or any other thread.
Installation: Place in folder "plugins\RNN"
Download: EnmityVisionPlugin.cs
Custom code (Plugins\User\PluginEnablerOrDisablerPlugin.cs , is Optional) :
Code:
Hud.GetPlugin<RNN.EnmityVisionPlugin>().Enabled = true;
Hud.RunOnPlugin<RNN.EnmityVisionPlugin>(plugin =>
{
plugin.ShowWaypoint = true;
plugin.SoundEnabled = true; // Alert sound for a new Vision
plugin.FileSound = "notification_9.wav"; // File to be played. It must be in the Sounds\ folder
plugin.EnableSpeak = true; // false to disable all speak
plugin.SpeakOpenPortalUI = "A portal opens away from you"; // null or empty not to speak, vision is detected via UI
plugin.SpeakOpenPortalArea = "A portal opens near you"; // null or empty not to speak, vision is detected via portal. A nearby portal is typically detected before the UI notification
plugin.SpeakClosingPortal = "The portal is closing"; // null or empty not to speak
plugin.SpeakClosedPortal = "The Portal is closed"; // null or empty not to speak
plugin.SpeakChestFound = "Chest of Visions"; // null or empty not to speak
plugin.SpeakGoblinFound = "Goblin of Visions"; // null or empty not to speak
plugin.SpeakFirstPortal = "Entrance Found"; // Speak when the entry portal is found after the vision is detected via UI
plugin.SpeakNextPortalOrder = "Level {0}"; // Speak portals , {0} = Level number
plugin.SpeakNextPortal = "Next Level"; // Speak portals. Show When the number of levels cannot be set
plugin.LabelFirstPortal = "Entrance"; // Show when the entry Portal has been found
plugin.LabelNextPortalOrder = "Level {0}"; // {0} = Level number
plugin.LabelNextPortal = "Next Level"; // Show when the number of levels cannot be set
plugin.EnableTextScreen = true; // Show TextScreen
plugin.TextScreen = "Enmity Vision: A{0} - {1} ({2} ago, {3}{4} levels, {5}). {6}"; // {0}=Act, {1}=Area NameLocalized, {2}=time, {3}=Levels, {4}=TextMoreLeveles, {5}=TextLevelMe/TextNoLevelMe, {6}=TextGoblin/TextChest/TextChestOpen/TextClosing
plugin.TextLocUnKnown = "\"Location unknown\""; // Portal opened but not detected.
plugin.TextNoPortal = "Untracked Visions."; // No active Vision.
plugin.TextMoreLeveles = " or more"; // shown if there is a possibility of more levels
plugin.TextClosing = "Closing ... {0}s"; // show if the portal is closing. {0}=time in seconds
plugin.TextGoblin = "Goblin found";
plugin.TextChest = "Chest found";
plugin.TextChestOpen = "Chest open";
plugin.TextLevelMe = "in the {0}th"; // Shows the level you are at within the vision. {0}=level
plugin.TextNoLevelMe = "out"; // You are not in an area of Vision
plugin.TextTimeFormat = "{0:0}m{1:0}s"; // Format for Time since vision was detected // {0} = minutes, {1} = seconds
plugin.OffsetX = 0.055f; // 0f...1f Set the x coordinate for TextScreen
plugin.OffsetY = 0.001f; // 0f...1f Set the y coordinate for TextScreen
} );
Last edited by RNN; 4 Days Ago at 10:55 AM.
Reason: fixed Area
-
Post Thanks / Like - 5 Thanks
-
Legendary
Update
TextScreen will now be able to display the closing time of the Vision.
Note: If you're using custom code, you'll need to set TextClosing to "Closing... {0}s" to see this change (the default value of TextClosing is "Closing...")
-
Member
You are a genius. Thank you for creating the plugin.
-
Post Thanks / Like - 1 Thanks
RNN (1 members gave Thanks to ljj16 for this useful post)
-
Legendary
Update
Display a texture on the Waypoint towards the entrance of the Vision. Can be useful when a Vision is opened, but we prefer to play it later
To know this information, we must have previously sighted the entrance portal, as with the act and the area.
You can use ShowWaypoint to disable it.
Last edited by RNN; 04-06-2024 at 11:53 AM.
Reason: typo
-
Post Thanks / Like - 2 Thanks
-
Legendary
Update
Fixed a bug introduced in the last update. I recommend that you update the plugin
Last edited by RNN; 04-23-2024 at 02:47 PM.
-
Legendary
Removed checking that the character is seasonal due to a bug
Last edited by RNN; 07-12-2024 at 12:42 PM.
-
Member
Thank you , RNN, it's nice to see you here again )
-
Post Thanks / Like - 1 Thanks
RNN (1 members gave Thanks to JohnWick for this useful post)
-
Legendary
Update
Add TextLevelMe and TextNoLevelMe to show what level of vision your character is at.
The format of TextScreen has changed: TextGoblin/TextChest/TextChestOpen/TextClosing have been grouped in {6} (previously {5}, {6} {7}). If you customized this value, you should keep it in mind.