Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

In this Discussion

If requesting help, make sure to mention what game you are attempting to use ACT with.
For the best FFXIV support, join Ravahn's Discord Server. Also check out OverlayPlugin's FFXIV FAQ and Setup Guide.

EQ2 color coded zone name

With the latest game update, EQ2 added a color code to the zone name, resulting in a log line like so:

You have entered \#00FF00Buried Takish'Hiz: Empire of Antiquity [Contested].

When using the [<-Zone] button in Custom Triggers, that color code is included in the Category.

When sharing a trigger with that zone name, the "C=" category strips out the color code. So the shared trigger will not work for the recipient if the "Restrict to Category Zone" checkbox is checked.

I also submitted a feedback to Daybreak games, but the chance of them reverting this change is, in my opinion, small. And I'm afraid they will start coloring all of their future zone names.

So, could that color code be stripped out of the zone name in ACT? I tried just modifying the "You have entered"... regex in the English parser, and that is not enough. The title bar in ACT constantly updates it. And it comes in with each OnLogLineRead() callback logInfo.detectZone in a plugin.
Tagged:

Comments

  • The zone is initially set by this before the plugin is fed any log lines...  and technically still applies even if there is no parsing plugin at all.

  • So, how to fix it so Custom Triggers can use and share the 'Restrict to Category Zone' for those zones? Where does that ZoneChangeRegex get its initial setting?
  • Its initial value is the same regex that is in the EQ2 English plugin.  I think I would just need to replace the regex in both places for the EQ2 plugins.  (I have no idea if anyone uses the non-English plugins anymore... does Daybreak even have those servers anymore?)

    Anyways, while I will replace the regex in ACT, I might as well override it in the EQ2 English plugin as well, since I would have to replace the normal parsing regex already.  That way you only need the updated plugin and ACT can be updated later without rush.
  • Technically I could also escape the color-code so that the game client did not strip them away in share clips... but it seems silly to need or want the color codes to show up in ACT at all.
  • Just to try things, I modified the "You have entered" regex in the English Parser and I modified one of my plugins to set the ZoneChangeRegex to

    "\(\d{10}\)\[.{24}\] You have entered (?::.+?:)?(?:\\#[0-9A-F]{6})?(?<zone>.+)\."

    If I'm in the zone with the color code when I start ACT, the title bar does not have the color code in the zone name. But if I leave the zone and re-enter, or start ACT outside the zone and then enter, the color code is there.

  • Further testing :)

    I modified the English Parser with the above regex, then in the parser's InitPlugin() I set ZoneChangeRegex with that same regex from the PopulateRegexArray(). It behaves the same as above.

    I added a debug print when it parses a zone change, where it calls ActGlobals.oFormActMain.ChangeZone(), and the parameter it passes is the zone name without the color code. But the ACT title bar still includes the color code. And if you go to Custom Triggers and hit the [<-Zone] button, that also includes the color code.

    So it seems that somewhere ACT is getting a zone name from some source other than those two.
  • Upon further investigation, it is EQII itself that strips the color code off of anything you paste into a chat channel.

    I have modified the TrggerTree plugin to provide a work-around for this problem. TriggerTree is in the [Get Plugins], or if you have a previous version, it will update itself if updates are enabled.


  • edited May 2023
    Looking at some of my code, I seem to escape the following before making sharable text...

    BeforeAfter
    #
    &#35;
    \\
    &#92;&#92;
    \s
    &#92;s

Sign In or Register to comment.