ScriptUO

Official ScriptUO EasyUO Scripts => Script Library => Misc. Scripts => Topic started by: TrailMyx on July 24, 2020, 03:21:27 PM

Title: TrailMyx's Chat Monitor (for Alexandria)
Post by: TrailMyx on July 24, 2020, 03:21:27 PM
Here's a script I wrote some time ago when I played on RebirthUO.  It's a script that organizes the incoming chat sources (Party, Guild, Alliance and Public).  It's probably easily tweakable to run on non-RunUO shards like OSI.  However the only shard I've tried it on is RebirthUO and I tweaked it to run on Alexandria.  The only section you'd have to modify is the very first where the chat commands are delineated. 

The checkmark in the upper right designates there is a new chat in a tab that's not in focus.  The sound check mark will "beep" when there's a new incoming chat.
Other functions:
Roll - rolls a d100 and posts the value in chat
Share Info - presents you with a target to select an item.  The items properties are then posted to the chat channel.

When typing in the chat text bar, it's not necessary to precede the chat text with the channel chat command, the script automatically appends the appropriate chat command based on the selected chat tab (party, guild, alliance or public)

Code: easyuo
  1. set %public_chat_command 'c
  2. set %party_chat_command / , #SPC
  3. set %guild_chat_command \ , #SPC
  4. set %alliance_chat_command | , #SPC
  5.  

If you do figure out what these need to be in  order to run on OSI, please post those for the rest to use.  I find this script useful because it keeps track of the incoming chats in one place and filters out all other information like damage, seen objects and npcs and other spam.

Just one of my useful scripts lurking in my dusty script library that I feel some might find useful.

Enjoy!

Made it easier for OSI, now default for RunUO:

If you want to run it on RunUO shards like Alexandria, just change:

Code: easyuo
  1. set %shard_type OSI ; RunUO or OSI
  2.  

to this (at the beginning of the script)

Code: easyuo
  1. set %shard_type RunUO ; RunUO or OSI
  2.  
Title: Re: TrailMyx's Chat Monitor (for Alexandria)
Post by: Gaderian on July 25, 2020, 06:24:49 PM
On OSI the public chat command is a comma followed by a space. I sure wish there was a EUO variable to handle a comma that isn't used as an operator. Here is the code I used to build it:
Code: easyuo
  1. set %public_chat_command ,
  2. set %public_chat_command %public_chat_command , #spc
  3. display ok | , %public_chat_command , |

There is probably a better way to construct that.

Technically this chat command means you need to be "joined" into a channel.

The others are the same on OSI.

Gaderian
Title: Re: TrailMyx's Chat Monitor (for Alexandria)
Post by: TrailMyx on July 26, 2020, 09:58:48 AM

There is probably a better way to construct that.

Technically this chat command means you need to be "joined" into a channel.

The others are the same on OSI.

Gaderian

So just a comma to start the chat then?  I had also forgotten that OSI has channels.  I suppose RunUO does too come to think of it, so yes you're right to have to join first.  Thanks for looking into the OSI way of things.
Title: Re: TrailMyx's Chat Monitor (for Alexandria)
Post by: The Ghost on July 26, 2020, 10:54:04 AM
I try to just put a  comma, but it didn't work.     Gaderian way work fine.  If you are using this, is because we are always following and using the chat.       Will need to tested more, but I want able to get the gen chat to appear  in the box.    The guild since to work.
Title: Re: TrailMyx's Chat Monitor (for Alexandria)
Post by: TrailMyx on July 26, 2020, 11:09:49 AM
I try to just put a  comma, but it didn't work.     Gaderian way work fine.  If you are using this, is because we are always following and using the chat.       Will need to tested more, but I want able to get the gen chat to appear  in the box.    The guild since to work.

On OSI, does the general chat message precede with "<General>" or some other string?  On RunUO, it starts with "<Public>".  If you tell me what the string is, I can tell you what to modify to make it work for you Ghost (and all other OSI players)
Title: Re: TrailMyx's Chat Monitor (for Alexandria)
Post by: The Ghost on July 26, 2020, 11:23:56 AM
we have < ID numder>your name: 
Title: Re: TrailMyx's Chat Monitor (for Alexandria)
Post by: TrailMyx on July 26, 2020, 11:29:22 AM
we have < ID numder>your name:

What's the <ID Number> mean?  Do all chat channels have numbers associated with them?  Perhaps you can post an example chat log?
Title: Re: TrailMyx's Chat Monitor (for Alexandria)
Post by: The Ghost on July 26, 2020, 11:34:41 AM
the ID number is assign by OSI, it unique to us, so it allow to have the same multiple ppl with the same name.    It allow us to block ID as well.   it since to be a 8 digit #

Title: Re: TrailMyx's Chat Monitor (for Alexandria)
Post by: TrailMyx on July 26, 2020, 11:36:44 AM
Are the number always 8 characters in length?
Title: Re: TrailMyx's Chat Monitor (for Alexandria)
Post by: The Ghost on July 26, 2020, 11:39:22 AM
As far as I can see it always 8 length. 
Title: Re: TrailMyx's Chat Monitor (for Alexandria)
Post by: TrailMyx on July 26, 2020, 11:40:08 AM
As far as I can see it always 8 length.

Ok cool.  Lemme see if there's a clever way to fix it so it'll work on OSI.  Thanks for the info; should make it possible.
Title: Re: TrailMyx's Chat Monitor (for Alexandria)
Post by: The Ghost on July 26, 2020, 11:41:17 AM
I just try this on the fly, and it nogo  :(

if #RESULT = <xxxxxxxx>
      {
        if !channel = Public
        {
          str left #JOURNAL 8
          if #STRRES = <xxxxxxxx>
Title: Re: TrailMyx's Chat Monitor (for Alexandria)
Post by: TrailMyx on July 26, 2020, 11:43:42 AM
I just try this on the fly, and it nogo  :(

if #RESULT = <xxxxxxxx>
      {
        if !channel = Public
        {
          str left #JOURNAL 8
          if #STRRES = <xxxxxxxx>

Yeh, it's a little bit more complicated than that. ;)
Title: Re: TrailMyx's Chat Monitor (for Alexandria)
Post by: TrailMyx on July 26, 2020, 11:55:36 AM
Actually this is a bit of a nice brain challenge.  Since that part of the script utilizes the scan journal routines, they require a string to search for ahead of time.  However, since those number change on the fly, there's no way to easily create a search item to isolate that text.  I'll have to gently modify my journal routine to look for those unique integer tags and flag them as the trigger values to be added to public/general chat.

Hopefully you'll have some time to test as I create some tweaks to the code (with some probably false starts).  I haven't played on OSI in a few years now and I don't even want to think about navigating the account management parts of broadsword to enable anything.  Their customer portal sucked back then and I'm sure it sucks just about as much now.  :)
Title: Re: TrailMyx's Chat Monitor (for Alexandria)
Post by: gimlet on July 26, 2020, 12:16:15 PM
As far as I can see it always 8 length.

Ok cool.  Lemme see if there's a clever way to fix it so it'll work on OSI.  Thanks for the info; should make it possible.

Actually most of my old accounts are 7
Title: Re: TrailMyx's Chat Monitor (for Alexandria)
Post by: TrailMyx on July 26, 2020, 12:17:17 PM
I'll just make it so that it looks at the number between < and >.  Must have something to do with an encryption seed for validation.
Title: Re: TrailMyx's Chat Monitor (for Alexandria)
Post by: The Ghost on July 26, 2020, 12:33:19 PM
As far as I can see it always 8 length.

Ok cool.  Lemme see if there's a clever way to fix it so it'll work on OSI.  Thanks for the info; should make it possible.

Actually most of my old accounts are 7

234 and 262 Months toon and they have 8 digit. 
Title: Re: TrailMyx's Chat Monitor (for Alexandria)
Post by: gimlet on July 26, 2020, 06:08:52 PM
As far as I can see it always 8 length.

Ok cool.  Lemme see if there's a clever way to fix it so it'll work on OSI.  Thanks for the info; should make it possible.

Actually most of my old accounts are 7

234 and 262 Months toon and they have 8 digit.

Yea but mine are 276 months.
Title: Re: TrailMyx's Chat Monitor (for Alexandria)
Post by: Gaderian on July 26, 2020, 07:05:40 PM
The number in the brackets is a unique id for the character. Think of it as a numerical representation of #CHARID.

It is consistent between each time I login for my characters on a shard. I just tested it logging in and out for a made up conversation with myself. ;)
I also tested that each character on the account has a unique ID there.

So it really is just keeping the same name characters unique in the conversation. Nothing more complex than that.

So the content doesn't have a lot of purpose unless you are trying to isolate the difference between a real name and a modified name with an appended number.

So if I create my character named "The Ghost" along with my friend on the same server, one of us will invariably be named "The Ghost2" while the first one to login was named "The Ghost". Who gets the '2' addition? Not the more recently created character, but the more recently logged in character. If I have the '2' version and the other one logs out, I do not magically become "The Ghost" now... I remain "The Ghost2" until I logoff. (I am unwilling to test this to see what happens with 3 same named on the server... ;)

Personally, I am interested in the filtering of real conversations vs. junk. A tool like this would be really awesome if it could filter stupid advertiser phrases barking about their wares for sale for real $$... but that is just a wish list... ;)

I modified the attached picture for anonymity to all involved but it still gives a nice illustration to go with the explanation.

Gaderian
Title: Re: TrailMyx's Chat Monitor (for Alexandria)
Post by: TrailMyx on July 26, 2020, 08:54:54 PM
Thanks Gaderian.  I'll fiddle with this info.  I already have the journal scanner modified, I just need to re-write the chat scanner function to be less stupid.
Title: Re: TrailMyx's Chat Monitor (for Alexandria)
Post by: unisharp on July 27, 2020, 06:49:24 AM
Nice work!

Just a side note, I did some work with OSI chat recently.  I noticed getting sent packets that were chat from other channels.  It would send the ID of the person talking, what chat they're talking in, but not their message.

Normally on OSI you can't see chat in other channels so I thought that was interesting.

Just wanted to throw that in here in case someone came up with blank lines in their chat and wondered what it was from (OSI).
Title: Re: TrailMyx's Chat Monitor (for Alexandria)
Post by: Gaderian on July 27, 2020, 07:40:31 AM
Nice info on the packets.
In the 2d Classic Client you can't see the other channels. I thought you could easily switch a tab in the EC client to see other channels. Maybe it was only the Party/Guild/Alliance/Channel tabs - but I don't even have the EC client installed right now. It would make sense for the traffic from the server to be consistent, but have the client side filter. That way the server is the same for either client... not that I have even analyzed packets from OSI before... just thinking out loud as it were.

Gaderian
Title: Re: TrailMyx's Chat Monitor (for Alexandria)
Post by: TrailMyx on July 27, 2020, 09:20:05 AM
Nice work!

Just a side note, I did some work with OSI chat recently.  I noticed getting sent packets that were chat from other channels.  It would send the ID of the person talking, what chat they're talking in, but not their message.

Normally on OSI you can't see chat in other channels so I thought that was interesting.

Just wanted to throw that in here in case someone came up with blank lines in their chat and wondered what it was from (OSI).

This is one thing I've wanted to do with Stealth for quite some time.  It makes MUCH more sense to make a stand-alone application that monitors the chat and can be waaaay more customizable than we can do with EasyUO.  Talk about a useful program.
Title: Re: TrailMyx's Chat Monitor (for Alexandria)
Post by: TrailMyx on July 27, 2020, 08:18:01 PM
Here's a version to play with.  It's defaulted for OSI.  It's a terrible hack.  But I'm lazy and don't feel like redoing it with any normal elegance.
Title: Re: TrailMyx's Chat Monitor (for Alexandria)
Post by: Gaderian on July 27, 2020, 09:12:04 PM
Tested it and it works nicely. I really like the ability to type in the window and not have all the garbage running by.

The length of the comments are cut off both incoming and outgoing. You can't tell from what you "send" where the cutoff is. I can research the length allowed to send. I have not looked at the logic, but maybe splitting the outgoing message (on a word boundary?) into multiple messages?

The incoming text needs to wrap to be readable on long messages. After about 75 characters of the message part (maybe 100 characters including the time stamp & name info). So maybe a break at each 100 characters to print a new line in the window would suffice.

The limit on outgoing text is about 52-77 characters (tested W vs 1) depending on the font character selected.

Gaderian
Title: Re: TrailMyx's Chat Monitor (for Alexandria)
Post by: The Ghost on July 27, 2020, 09:16:37 PM
thx,  got a few incoming text,   that cool.  Thx for the OSI fix.
Title: Re: TrailMyx's Chat Monitor (for Alexandria)
Post by: TrailMyx on July 27, 2020, 09:32:47 PM
Tested it and it works nicely. I really like the ability to type in the window and not have all the garbage running by.

The length of the comments are cut off both incoming and outgoing. You can't tell from what you "send" where the cutoff is. I can research the length allowed to send. I have not looked at the logic, but maybe splitting the outgoing message (on a word boundary?) into multiple messages?

The incoming text needs to wrap to be readable on long messages. After about 75 characters of the message part (maybe 100 characters including the time stamp & name info). So maybe a break at each 100 characters to print a new line in the window would suffice.

The limit on outgoing text is about 52-77 characters (tested W vs 1) depending on the font character selected.

Gaderian

Not that easy to do given the listbox capabilities and the list routines I wrote.  It's just not possible without a major re-write.  Again, a wonderful time for someone to do something similar in .NET using a RichTextBox control.

Edit:
Actually since I don't really do anything other than add the line to the list at one point, it might be rather simple to split the string up like you recommend.  I'll give it a whirl.
Title: Re: TrailMyx's Chat Monitor (for Alexandria)
Post by: TrailMyx on July 28, 2020, 12:04:49 PM
Here's a version where I just split the line up into sequential lines.  I don't do any word splitting, so words might get split up.  But it's less annoying.

I had to boost the #LPC in the journal scan because some of the vender spammed texts came too fast for the normal setting.  This might interact poorly with other scripts running in separate tabs.
Title: Re: TrailMyx's Chat Monitor (for Alexandria)
Post by: Gaderian on July 29, 2020, 05:20:14 PM
I ran this version for several hours just interacting with the chat channel. I liked it. It does a nice job to filter all the extraneous journal messages and gives a nice interface.

Thanks for working on and sharing this.

Gaderian
Title: Re: TrailMyx's Chat Monitor (for Alexandria)
Post by: TrailMyx on July 29, 2020, 07:30:25 PM
I ran this version for several hours just interacting with the chat channel. I liked it. It does a nice job to filter all the extraneous journal messages and gives a nice interface.

Thanks for working on and sharing this.

Gaderian

Very cool, thanks for testing it.  I found it useful to gather chat perhaps when you're bank sitting, and want to easily go back to just the chat that has long since disappeared from the journal log.  It's probably not something you'd want to run during hunting or some other intensive times.
Title: Re: TrailMyx's Chat Monitor (for Alexandria)
Post by: The Ghost on July 29, 2020, 08:54:21 PM
While bank seatting, it was nice to see all the chat.     Will be nice to have regular person 2 person too.  those damm color in journal are hard to read.     

I test while hunting and it just pick up gen chat.  Great job.  I run both version (e & f) at the same time and didn't see any different.
Title: Re: TrailMyx's Chat Monitor (for Alexandria)
Post by: TrailMyx on July 30, 2020, 10:27:06 AM
While bank seatting, it was nice to see all the chat.     Will be nice to have regular person 2 person too.  those damm color in journal are hard to read.     

I test while hunting and it just pick up gen chat.  Great job.  I run both version (e & f) at the same time and didn't see any different.

Thanks Ghost for testing.  e and f are almost the same except version f splits lines that are longer than 100 characters into subsequent 100 character lines.

Hopefully this script will give one of the .NET developers of Stealth or python developers of other tools ideas to make a more feature-rich application that might include person-person chat threads.  I don't see that happening with this script; it's too darn annoying handling the UI and UI constructs.  EasyUO is just too slow for this kind of thing.  Plus I'm not writing EasyUO scripts anymore - I'm just dusting off my more useful scripts for the masses in case I get hit by a bus tomorrow or the COVID takes me in my sleep.  :)
Title: Re: TrailMyx's Chat Monitor (for Alexandria)
Post by: Tidus on July 30, 2020, 12:13:30 PM
I ran this version for several hours just interacting with the chat channel. I liked it. It does a nice job to filter all the extraneous journal messages and gives a nice interface.

Thanks for working on and sharing this.

Gaderian

Very cool, thanks for testing it.  I found it useful to gather chat perhaps when you're bank sitting, and want to easily go back to just the chat that has long since disappeared from the journal log.  It's probably not something you'd want to run during hunting or some other intensive times.

I used to use your CHat Monitor to take notes for Guild Meetings.  Made it much more simple when it was all in game chat in taking all the notes.
Title: Re: TrailMyx's Chat Monitor (for Alexandria)
Post by: TrailMyx on August 04, 2020, 04:45:03 PM

I used to use your CHat Monitor to take notes for Guild Meetings.  Made it much more simple when it was all in game chat in taking all the notes.

Oh that's a use I didn't even think of.  If only there was an easy way to get the information out of the UI.  Someone really needs to rewrite this in Stealth.  :)

Edit: Updated the first post with version "F" that's also defaulted to OSI now.  If you want to run it on RunUO shards like Alexandria, just change:

Code: easyuo
  1. set %shard_type OSI ; RunUO or OSI
  2.  

to this (at the beginning of the script)

Code: easyuo
  1. set %shard_type RunUO ; RunUO or OSI
  2.