+poseorder and +repose


  • Coder

    I'm looking for a bit of code similar to what's currently present on SW DOD. Something that keeps track of the previous poses in the room, that would allow a player to quickly see what's recently happened, and also something to track pose orders. Ideally, the later will automatically send something when it's your "turn".

    I did see an older topic here for +repose, and it linked to some of Volund's old stuff, but I wanted to reach out to the community first to see if there was anything here. Preferably coded for TinyMUX.

    To state it clearer:
    +repose : displays the last x poses in the room, and who posed them. Usable at any point, including by someone who enters the room and wants to see what is happening as/before they enter.

    +poseorder : Shows the last few individuals to pose, and the order in which they posed it. When you reach the top of the order (ie, when it's your turn, and everyone else has posed), it sends you a message saying it's your turn (along with a bell, if possible).



  • If someone can make this happen, consider me a second party very interested.

    Suggestion: A +clearpose command, because... yeah. At the end of a scene, this should be possible to do. For many reasons.


  • Pitcrew

    Something you might want to make sure it has is the ability for players to turn it off.

    Edited to add: This is literally one of the few things that I, personally, will not just not play on a game if it has it without the ability to turn it off, but I will straight up quit a game that institutes it without an off button. That's just me personally, though I know I'm not the only one. The 100 mush had a huge blow up over it.


  • Coder

    The logger code by Exeter@Darkspires does the first. I haven't seen anything that does 'alerts'.

    It was designed to make it easy to post logs, since the logger wouldn't have pages/channel/ooc so most of the time you could just cut/paste straight in.

    But it also worked really well for someone reconnecting to get any missed poses, someone joining the scene, or just picking up a scene later.

    They're player-owned objects, so unless there's room-parent code that lets them hide, you always see them in the room. You just need to remember to turn them on and off :)


  • Coder

    @bladesurfer Do you know where to find said code?


  • Coder

    I have a poselog command, not posted anywhere because I don't feel that it's finished. It's the poselogger that's running on The Reach/Fallcoast in the OOC room. The parent room was tweaked to be very obvious about its presence, but without a guarantee that a game sets up the main room this way I never felt it was ready for release.

    There's a secondary problem in that "players can turn it off", if it's turned off by random player #12 then it becomes a tool used for fighting and not the purpose of keeping "pose order" in order.

    To me, the only uses of code like this is to be able to check what was just said and to log it for easy posting.

    @skew said in +poseorder and +repose:

    +poseorder : Shows the last few individuals to pose, and the order in which they posed it. When you reach the top of the order (ie, when it's your turn, and everyone else has posed), it sends you a message saying it's your turn (along with a bell, if possible).

    Most clients ignore the ASCII Bell in the same way they ignore the ANSI flash code, because it's easy to abuse and cause so many headaches. I'd like the option to have it hilite my name or alias in the rollback.


    I am @surreality levels of paranoid about this kind of code. For instance, mine lives on an object. If the object is moved from its settled location, then it self-destructs. Even though any player in the room with you can log everything, and many players log literally everything that crosses their screen, there somehow is a difference between a player doing it and the entire game doing it.

    I don't understand this difference, but I acknowledge it. That said, everyone needs to know that there is no implied privacy on a Mu*. It's downright trivial to turn on a "log everything" switch and boom, everything that everyone types is recorded to a file. Host sites can do it without having any access to the Mu*. This is plain text sailing back and forth between two computers.


    All that said, has anyone considered asking SW DOD for their code?



  • @Thenomain My worry on this one is scenes in shared spaces. Again, I played on Shang for... a long while. And I can just see someone rushing into a hotel room on a game where this code was in place, and immediately reading the contents of a private scene they were not involved in/etc. for kicks or snooping.

    Also, truly... (again having played on Shang), if some few poses are caught from a previous scene even in complete innocence, well. There's just things one can't unsee, guys. <curls into a little ball, shudders, fumbles around wildly for a security blanket> In a game with heavy PvP, it isn't so much the unsee factor, but 'oh, that meeting just went down in <location> with my rivals... why don't I go see what they did... ' could pose an issue.

    S'why I suggest the '+poseclear' option be present -- so those concerned about such things at the end of a scene can prevent embarrassment/therapy bills/potential cheating with said code.

    An additional option would be to completely clear the log when the room becomes empty, or there are no character objects less than X time idle in the location, possibly, (as some players do idle endlessly in a home or business location)? That'd handle it nicely if it is possible.

    Edit: Also, the obvious... a lot of us don't use lock code much any more because it's not part of the acceptable social norm to wander into someone's private IC residence without invitation, and most folks know that. That doesn't stop a bad actor from going into every bedroom on the grid and checking the pose logs to dig up dirt, snoop, or stalk, unfortunately.

    I figure, if I wanted people reading my (bwahahahaha like there actually really ever is any these days) smut, I'd be writing it in the town square in public view. On the off chance it does happen, though, I think it is entirely reasonable to prefer that total strangers who walk into the room next NOT get the spambomb of everybody's virtual o-face, y'know?


  • Coder

    @surreality

    Really, this is what I want: A scene system. You start a scene. It sets information. You can hook combat or the hellish pre-combat notes (which I hate beyond all reason because it typically takes about half an hour), set the description, and move from turn to turn, scene to scene.

    Then I realize that I'm advocating the return of a "timestop" style object and all the negativity about them comes flooding back. I realize that the only way I'm going to get this and improve this is to do it myself, and I'm demotivated most days.


  • Admin

    @surreality Who gets to +poseclear?

    For instance you start a scene with Theno and you're having fun until I pop in there. HI U GUYS! I pose a couple of times then... shit, look at the time! +poseclear.

    And your log is fucked.



  • @Thenomain That has a lot of potential for a number of reasons, so I do hope that you do end up working with it.

    I know a friend of mine had some kind of poselogger code that would store the last few poses from a scene on their own charobj for their reference -- like me, apparently she's in a lot of scenes that are slowly picked at while folks are at work and sprawl out over a couple of days, and it's a handy way to store 'when last we left our intrepid adventurers' immediately on hand. I don't know if that's something that would be useful in this scenario, but I know I'd call that a pretty useful feature to have available in some fashion, even in the 'just for personal reference' category, to handle such situations.



  • @Arkandel said in +poseorder and +repose:

    @surreality Who gets to +poseclear?

    For instance you start a scene with Theno and you guys are having fun until I pop in there. HI U GUYS! I pose a couple of times then... shit, look at the time! +poseclear.

    And your log is fucked.

    While I agree there, I think the alternative problems are worse in a number of ways.

    Could have it require anyone less than X idle in the room to confirm or something to avoid that particular issue, though (without getting caught on people who have been gone several hours or similar). Could even potentially have it require confirmation from all parties to turn it on in the first place if the room is a privately-owned location (residence).


  • Coder

    I made a logger system (entirely from scratch; someone sent me half the code which inspired the ultimate design, and I don't know who made that originally, but this didn't use any of their code) for Marvel: 1963.

    You basically @create an object, drop it, +log/make thing and its now a logger. When in the room the logger has a shortdesc that says if its on or off (and if on its bright about it).

    You +log/capture thing, and it grabs everyone currently in the scene, the IC date, the location, the location's desc, and stores it all (there's commands to set these all individually)

    When the scene is done, you +log/wiki thing, and it outputs the entire log properly formatted for copy-pasting into the wiki logs section. (You can also +log/show thing=5 to get the last few poses if you have an issue). Mess up a pose? +log/undo thing, and repose. No editing of logs required. Well, almost none. It typically takes me a good 30 seconds to post a complete log after a scene, with most of that made up of trying to think up a title.

    I decided I preferred object-based manually-started logs over a system that logs to rooms automatically (even with a +poseclear or auto-emptying system) so its opt-in from a privacy perspective.

    This is for Penn but it should be compatible with anything else, but it would require some tweaks to the room parent (basically, change get(%i0/shortdesc) to objeval(%i0,u(%i0/shortdesc)) so they can evaluate safely).

    Separately, I have a +po (pose order) thing which does automatically track poses in locations (and clears when empty) without actually tracking content. I could have built pose-ordering into the logger, but since I already completely replaced say/pose/@emit to per-user colorize quoted speech, using that as the basis of storing pose order seemed easiest. Plus it lets you track poses even in private scenes.

    (Neither +po nor replacing say/pose/@emit was my idea, I stole it from the 100. I just implemented it differently)

    Anyhoo I can probably pull either of these systems together if someone wants them. The +po/etc system definitely requires Penn, but I have an implementation for Rhost. It totally won't work for MUX, though.


  • Coder

    @Thenomain said in +poseorder and +repose:

    Really, this is what I want: A scene system. You start a scene. It sets information. You can hook combat or the hellish pre-combat notes (which I hate beyond all reason because it typically takes about half an hour), set the description, and move from turn to turn, scene to scene.

    SceneSys is a thing. Just not sure it's working for TinyMUX. @Volund supposedly worked on it, but I'm not sure where I'd find that.

    As for borrowing from SWDOD, it's Rhost. Not sure how compatible, but I guess I can ask?

    As for the actual use of the code: My idea would be to have the logger clear over time. When it's 30-60 minutes old, it's gone, that way you don't have to worry about catching someone else's scene from last night. As for +poseclear or something like that, shouldn't be an issue. Just make sure to log who cleared it, so if people are being jerks with it, you know who to smack.


  • Coder

    @skew said in +poseorder and +repose:

    As for borrowing from SWDOD, it's Rhost. Not sure how compatible, but I guess I can ask?

    Rhost is now more or less a superset of Mux, so with a few exceptions it should be backward compatible without much issue.


  • Coder

    @skew You can grab it here. Of course, you'll need to change the logger parent # so it works :)

    The Master Object needs to be wiz-owned, in the Master Room, etc. Then people can use the commands to set up their own objects.

    https://www.dropbox.com/sh/bj9eqkzyig5pua4/AACJ6-jCHKt2nIwsoCkdlWDLa?dl=0


  • Coder

    @bladesurfer

    What is #21? Thanks.

    Edit: I don't know the target codebase's processing when starting an attribute: *:

    On Mux, $*: would absorb every single thing typed. There are ways to let it also pass through the parsing order, but not sure what it does here.


  • Tutorialist

    @skew said in +poseorder and +repose:

    @bladesurfer Do you know where to find said code?

    I have it.


  • Coder

    @Thenomain

    Sorry, #21 is the Global Thing Object this was decomped from.

    You'd need to change #191 to whatever 'your' Logging Parent Object in the line '&DB_LOG Logging Master Object=#191' on the Master Object.

    It's from MUX. I know Darkspires runs off of Penn, so the original code might be a bit different.

    It does listen for everything it hears in the room, and ignores OOC chatter by default. It doesn't get pages or channel spam because it doesn't hear it.

    Only the owner can start/stop it, but anyone can look at what it's recorded.



  • It has been ages since I've been there, but the ExaltedMU has this. It either posts directly to the wiki for you, or puts it in a copy/paste format so you only have one step.



  • @Jennkryst
    That'd be Volund's SceneSys system.


  • Coder

    My +poseorder code is now deployed on Fallen World, Reno, and my sekrit server.

    Once I get some real stress testing and make sure it's not riddled with bugs, I'll make a new post to share.

    Wooo!


Log in to reply
 

Looks like your connection to MU Soapbox was lost, please wait while we try to reconnect.