Pluginator Updates (and requests)

Discussion of MUD clients, plugins, the website, and other technical stuff.
User avatar
Rias
DEV
Posts: 2024
Joined: Sun Sep 03, 2017 4:06 pm
Location: Wandering Temicotli

Pluginator Updates (and requests)

Post by Rias »

I figured it'd be good to have a thread for Pluginator updates and requests.

Per today's changelog: New data added to pluginator: exp_total, next_level_at, next_level_until, fracture_<location>, frostbite_<location>, disguised

I'm trying to be efficient with how pluginator data is pulled and populated, so I can't necessarily just throw everything in there willy-nilly. That said, if anyone has requests for more data to be added to the pluginator output, feel free to post requests here.

And finally, a question: Would it trip anyone up if the wound/fracture/frostbite data only showed up if there were wound levels greater than 0? That is to say, if a hit location had a wound/frostbite/fracture level of 0, it would not be in the pluginator data at all, instead of having every hit location for every wound type always included with a default of 0.
<Rias> PUT ON PANTS
<Fellborn> NO
Navi
Posts: 350
Joined: Sat Apr 18, 2020 7:07 am

Re: Pluginator Updates (and requests)

Post by Navi »

It already does this with risk, fury, and uh, probably some others, so I wouldn't think so. It definitely wouldn't mess anything I have going on up.
wander without wanting, thrust into lands unknown. the shadows shift and change, and the worlds with them.
I'm not a soldier but I'm fighting
Can you hear me through the silence?
I won't give up 'cause there will be a day
We'll meet again
adresin
Posts: 30
Joined: Thu Sep 07, 2023 3:02 pm

Re: Pluginator Updates (and requests)

Post by adresin »

Hi. So a few things.

First, Rias the making only wounds that exist show up in pluginator did break a plugin that was in Artus's pack, but I managed to fix it. I'm not sure if Artus put it in the pack but if not, people can contact me in game and I'll send the new version. There's a couple other things I did with it too like showing the most severe wound. It's still a work in progress, and it breaks a bit if someone has con as their stat and gets over 99 damage.

I actually love the pluginator. I didn't even know it was a thing until I switched over to Artus's pack. Cool stuff! I love that cogg is so open to helping make scripting a bit easier. I do wonder why it turns off when you switch chars though? I've played with triggering it to turn on when it sees a line for logging in a character, but is this something that's intentional, or could you fix it so this doesn't happen?

Now, a suggestion, and this may not be practical for the pluginator itself but this seemed as good a thread as any to ask for this. Can we have some kind of text to make checking someone else's wounds easier? Particularly for my physicker, but really could be useful for anyone who wants to fight in groups. Perhaps for sighted users this isn't as needed, but as a screen reader user being able to get at that info quickly would be wonderful. The only way I can think to do it now is to trigger on the line just above the list of wounds, then have it capture everything until it finds a line that doesn't match the pattern, but I honestly don't have a clue how to pull that off. If the game could either have a command to just display someone's wounds, or have some kind of tags that a script could use, it would help a ton. Having it also work on npcs would be awesome for physickers on duty as well. As it stands now, I just try to suture, and depending on the message I get, go from there.

Thanks, and yes, I know I"m replying to a thread that hasn't been active for months, haha.
Gorth
Posts: 581
Joined: Sat Nov 13, 2021 11:53 am
Location: Michigan

Re: Pluginator Updates (and requests)

Post by Gorth »

Pseudocode:

Code: Select all

first_match = "Visible wounds ..."
wound_match = r"\s{3}(\w): (\w)"  // You'd actually want this to match based on a collection of words for each capture group.
wounds = []

if first_match
  if not wound_match
    stop
  else
    wounds += matched_information
:undm_scales_key: :shagerd:
Proud owner of the ten thousandth post.
User avatar
OldNoctere
Posts: 8
Joined: Mon Oct 30, 2023 7:15 pm

Re: Pluginator Updates (and requests)

Post by OldNoctere »

As far as the pluginator goes, having data of others (and their injuries) in a room was something that CLOK used to have but it ran on a different system than COGG. The problem lies with server latency. The more information that pluginator sends, the more it bogs down the server.

Right now Rias is using some clever tricks to try to keep the amount of data being transferred to a minimum such as:
- Only sending updates when the information changes
- Only send information about injuries or some other items if their something other than the default, "0" (which has caused a few issues as stated above but is easily fixed)

To answer a few of your question:
I do wonder why it turns off when you switch chars though?
This is a safety feature so that it defaults to OFF whenever you log into a new character. Imagine if you logged into your character from another computer and you were spammed with data. You would be struggling to turn it off. However, this can easily be fixed by making a simple trigger to turn it on upon logon. It looks like you already got that done though.
Can we have some kind of text to make checking someone else's wounds easier?
This comes from the above issue of extra data being sent and thus extra lag. I suppose a more concise version of "LOOK PERSON" could be made with metaprefixes around it. This could then be easily picked up by a specially made plugin. But it would only update when you looked at the person. Perhaps it could auto look before and after every treatment is done.

There are also a few other tricks that can be done to decrease the data sent even further but this decreases the legibility of the data and it seems a like conscious move by Rias to avoid that.
adresin
Posts: 30
Joined: Thu Sep 07, 2023 3:02 pm

Re: Pluginator Updates (and requests)

Post by adresin »

Ah, thanks for that info.

I think putting info in the pluginator text itself for other people would get very weird anyway. Either meta tags like you said, or some kind of command that would do an abbreviated look would be preferable. Something like diag person, short for diagnose, or hcheck person would work well.

I wouldn't mind having to look at or send a command about a person, especially since the game doesn't tell others when they're being looked at. This helps so I wouldn't have to worry about spamming people, and it wouldn't be hard to set up hotkeys with variables or something like that. Of course, it would also be neat if you could use a command to check everyone in the room and show the most injured or something, but now I'm just brainstorming. Anyway, thanks again for some of that background.
User avatar
nobody
Posts: 501
Joined: Wed Jun 17, 2020 7:43 am
Contact:

Re: Pluginator Updates (and requests)

Post by nobody »

You don't need to look at people to see their injuries, you can use health <person>, which can even be abbreviated down to h <person>.
adresin
Posts: 30
Joined: Thu Sep 07, 2023 3:02 pm

Re: Pluginator Updates (and requests)

Post by adresin »

Well now I feel like a dummy. I didn't know that worked!

That said, apparently neither did a lot of other people, because when I've asked about it no one ever mentioned this. Thank you!
Alicron
Posts: 29
Joined: Sat Dec 18, 2021 2:50 am

Re: Pluginator Updates (and requests)

Post by Alicron »

If I were to make some requests for the pluginator, it would be these. Most items best for the pluginator are stuff that you would need to check on a lot to see what there status is. Instead of forcing the prompt to update by typing look a lot, pluginator can do it for you.

Please consider adding:
- Character position, (lay, sit, kneel, stand, mounted etc) Really this only needs 3 states, so 0 for stand, 1 for mounted and 2 for all others.
ex: 'position': 2,
- Staggered or stunned, in conjunction with the above it would be helpful to know how many more seconds are needed to lay on the floor while stunned or staggered.
ex: 'stunstag': 13,
- Target and Health, It does not track everything but only the highest wound on your target and their main noun. Would work the same as the WOUND listed on the players prompt, 1 though 5. You are welcome to try to expand this a little but I am trying to make it useful, while concise as possible.
ex: 'target': laborer(4),

Other ideas welcome!
User avatar
Rias
DEV
Posts: 2024
Joined: Sun Sep 03, 2017 4:06 pm
Location: Wandering Temicotli

Re: Pluginator Updates (and requests) !IMPORTANT FOR PACKAGE MAINTAINERS!

Post by Rias »

Important information for anyone using Pluginator data: There's an upcoming change where Pluginator will only send the information that changes when it changes, rather than lazily sending the entirety of all character data every time. For instance, if my energy was at 500 and I do something that spends 50 energy, pluginator will ONLY send:

<<<PLUGINATOR!>>>{'energy_current': 450}<<</PLUGINATOR!>>>

It will also send the entirety of information once upon character login, and there will probably be a command to manually send all information if people need it for some reason (maybe to "refresh" all character data in their plugin or something) though the command would be rate-limited so it doesn't just get called constantly to try and replicate the old behavior.

If your client relies on pluginator, please make preemptive updates now so that it can work with partial data rather than assuming all data will always be in every pluginator send, and be ready for when this update goes live. I'll probably push it in a week or two.
<Rias> PUT ON PANTS
<Fellborn> NO
Post Reply