MU Soapbox

    • Register
    • Login
    • Search
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Groups
    • Muxify
    • Mustard
    1. Home
    2. Ashen-Shugar
    3. Best
    • Profile
    • Following 2
    • Followers 3
    • Topics 15
    • Posts 272
    • Best 116
    • Controversial 0
    • Groups 3

    Best posts made by Ashen-Shugar

    • RE: Hello MSBites! Grade your administrators.

      @auspice said in Hello MSBites! Grade your administrators.:

      And for the sheer amount of time that went on it was just like, 'wow. these people really, really think I'm worthless.'

      This.

      This right here in a very generic way describes the issue that a lot of people on the internet as a whole have.

      I want you (the general you out there) to think about this real hard.

      Why would someone who you have never met, have likely never seen, know nothing about, likely has no knowledge of you as well, nor likely has a reason to even find out, have any bearing to state that you would be worthless or not.

      And an even better question. Why should you care?

      Just, you know, food for thought?

      posted in Announcements
      Ashen-Shugar
      Ashen-Shugar
    • RE: Room parent / exitformat weirdness

      @icanbeyourmuse said in Room parent / exitformat weirdness:

      @Ashen-Shugar I am a wizard. The only time the issue crops up is if @Cobaltasaurus owns the room and I set the attribute on the exit or vica versa.

      Who sets the attribute shouldn't matter. It'd be the ownership of the object/room/exit.

      If you, as a wizard, set an attribute on something you don't own auto-hides that attribute, that's a bug. it shouldn't do that unless you expressly set the attribute hidden or if the attribute is pre-defined as wiz only.

      posted in MU Code
      Ashen-Shugar
      Ashen-Shugar
    • RE: How much Code is too much Code?

      @thenomain said in How much Code is too much Code?:

      @ashen-shugar said in How much Code is too much Code?:

      That's when you tell them to just screw off and go away right?

      Yeah, like either you or I are any good at that. We've worked so hard to become wizards that for some reason we feel that we have to use those powers for Goodβ„’ or we're not using them right.

      Well, once someone annoyed me and eventually forced me to make the Medusa Object.

      Them: I'm going to keep coming back until you boot me! (insert other random profanities, whining, and petulance here)
      Me: ... ok (tap tap tap)
      ...
      ...

      Ashen-Shugar has dropped Medusa Object.

      ...
      ...

      Life from that point on was just hell for the guy.

      For those curious, here's the Medusa Object

      @@ This is the main medusa object -- An alternative to site-banning
      @@
      @@ This was created to counter-act the subset of trolls that get a kick
      @@ of being able to force a site-admin to sitelock them.  They believe
      @@ it as some weird badge of honor or entitlement and get a tickle out
      @@ of it.  However, I find turning them into an object lesson as a, well,
      @@ object annoys the hell out of them.  So I came up with this tool.
      @@
      @@ Essentially add their wildcarded DNS site to &SITES.  If you have IP only
      @@ then use the IP, it's fine.  If you have a 'good' player, add them to 
      @@ the excempt list (their dbref#) and it'll bypass them from being medusa'd.
      @@
      @@ The existing SITES is ones from a known troll, provied for your pleasure.
      @@
      @@ Versioning:
      @@ Owner              Date       Description
      @@ ------------------ ---------- --------------------------------------------
      @@ Ashen-Shugar       07/18/2017 Original deployment
      @@
      @create Global: The Medusa Object=10
      @Aconnect Global: The Medusa Object=@swi/f [!!and(wildmatch(v(sites),lookup_site(%#)),!match(v(exempt),%#))]=1,{@set %#=slave fubar}
      @Adisconnect Global: The Medusa Object=@swi/f [!!wildmatch(v(sites),lookup_site(%#))]=1,{@set %#=!slave !fubar}
      @Startup Global: The Medusa Object=@dolist search(eplayer=[lit([hasflag(##,guest)])])={@swi/f [hasflag(##,connect)]=0,@set ##=!fubar !slave}
      &SITES Global: The Medusa Object=<sites go here>
      &VERSION Global: The Medusa Object=1.0.0 07/18/2017
      @set Global: The Medusa Object=INDESTRUCTABLE SAFE INHERIT
      

      This essentially sets anyone connecting from the matching sites FUBAR and SLAVE, which disables every single command (including LOGOUT and QUIT) that the player can issue while on your game.

      They find it annoying. Fancy that!

      This will only work on RhostMUSH. You can likely tweak it for non-Rhost, but remember, non-Rhost games don't have the FUBAR flag.

      posted in Mildly Constructive
      Ashen-Shugar
      Ashen-Shugar
    • RE: Dealing with Staff

      @TNP said in Dealing with Staff:

      If you want to keep playing there, lose the attitude. Then do all your communicating with staff via jobs. If the staffer is letting his dislike of you color his duties, it'll be evident and you can then file a complaint.

      And on this point, being a staffer who has dealt with trouble players, don't try to bait the staffer by appearing to be 'professional' or 'calm' or 'mature' when you're passively baiting them with words or insulting them thinly with personal grudges that can easily be seen by them but you think (and even may be right) the majority of players around you think you are the one being mature.

      That DOES and WILL backfire on you, and you'll wind up likely banned and then blackballed for the issue later.

      I have seen this behavior on SW: Generations of Darkness. A (few) players thought to be cagey, and got their arses handed to them.

      I'm not saying this to be a bastard, I'm just putting it out there that if you go into a situation with revenge, or a grudge, or any feeling of 'winning' you will be the loser.

      When you go off to 'teach a lesson' you wind up learning more then the person who you're trying to instruct.

      Just putting that out there.

      posted in How-Tos
      Ashen-Shugar
      Ashen-Shugar
    • Trace/Debug Breakpoints

      For giggles I introduced a method to have, essentially, full psudo-breakpoints in trace output.

      It essentially allows you to add start and end tag/markers in softcode to specify locations where you want trace output to occur. You're allowed to add up to 1000 tags to a single running command (or $command sequence). You can enable or disable these tags (labels) at any point which works like how breakpoints would work.

      With this, there's also a method to highlight (with optional regexp pattern matching) patterns in red of any trace output. This can work with or independently from the breakpoint/label system.

      For those curious for more, 'help @label' on any RhostMUSH running the latest code will give you a review of how it all works.

      Enjoy.

      posted in MU Code
      Ashen-Shugar
      Ashen-Shugar
    • RE: Need Help. Deranged Person!

      @calibraxa said in Need Help. Deranged Person!:

      @scar said in Need Help. Deranged Person!:

      telecornjc?

      Looks like it. A user named Telecornjc put up a redirect on their main page to a page called 'fuck you'.

      It's obviously not your common troll then. He could actually spell.

      So he wins a small dipshit award, bravo claps for him

      posted in MU Questions & Requests
      Ashen-Shugar
      Ashen-Shugar
    • RE: How much Code is too much Code?

      @faraday said in How much Code is too much Code?:

      That really works? It boggles my mind that it would irritate anyone any more or less than being sitelocked. Like… you just click the disconnect button? Goes back to: people never cease to surprise in the ways they interact with code.

      I know, right!?? Who knew.

      You have to feel out the Troll that's attacking, but I find those who go out of their way to get the ban, to the point of even saying they want the ban or the ban is the only way to make them stop, if you stop them by another method, it annoys them to no end.

      The person I did this too hated me so much he hunted me down on several servers, just to be able to tell me how much he hated me.

      Made my day.

      posted in Mildly Constructive
      Ashen-Shugar
      Ashen-Shugar
    • New Start Databases

      Something I've been considering more and more and think may be helpful is for those people who want to start up new mushes to have base-code already in a mush db.

      What would be nice is getting together, as a group, and get a standard start db for MUX, Penn, and Rhost so regardless of the starting mush engine someone decides on, the base core of utilities and functions that someone would expect would be available.

      This would, of course, require some planning and cross-porting various softcode between the various engines (where possible).

      It this just shooting at stars? Does anyone see any use for this?

      It also would be requiring consistently keeping code updated whenever updates or patches were done to the softcode packages.

      Just something snoogling in the back of my mind.

      posted in MU Code
      Ashen-Shugar
      Ashen-Shugar
    • RE: A new platform?

      @golgoth said in A new platform?:

      So, like @faraday mentions, AresMUSH (and Evennia), while they don't have all the answers yet, have a lot of them. Did you know that it is relatively easy to implement an @mail system where all of this @mail dude=<title>/<Stuff> or whatever is hidden behind a simple popup where you fill in the fields and vwoosh, @mail sent?

      Same with the +bb system. Make it clickable. Pueblo Enhancements have been around for ages. Speaking of the +bb system. It's just a blog or forum post. Why not export/link all of that to an actual forum or blog? Can be done, has been done.

      Shit, I don't know Ruby / Ruby on Rails and now I'm sitting here thinking how hard it might be to implement all of this stuff for AresMUSH.

      --- ANYWAY, what I'm saying is that: Let's start putting brains together and start collaborating on implementing methods to abstract all of the scary code and put in its place easy to use interfaces that are more or less intuitive? I'm down.

      Edit: I should read the entire thread instead of jumping in at like 25.

      With some work you can do this today with AresMUSH, Evennia, and RhostMUSH through the use of extensible API or language backends.

      The only thing you, as the end user admin, will have to do is write the web interface to hook into those api's.

      A fully featured graphical front-end is just as hard as a fully-featured chargen or skill system is.

      It differs by game to game, by player by player, and by interest to interest.

      So what we, as game developers tend to do, is give you the tools so you can fairly easily design it how you want yourselves.

      A fully turnkey 'run with this config and I have everything' like a MMPORG isn't going to work, especially since we don't have teams of 20-40 people building the backend world for years to make it work, nor are we paid for it so don't have the inclination or time to dedicate fully to it.

      Meet us half way πŸ™‚

      posted in MU Questions & Requests
      Ashen-Shugar
      Ashen-Shugar
    • RE: How much Code is too much Code?

      @auspice said in How much Code is too much Code?:

      THERE IS NO SUCH THING AS TOO MUCH BOOB.

      posted in Mildly Constructive
      Ashen-Shugar
      Ashen-Shugar
    • RE: Pose Order Machine for TinyMUX

      @skew

      Good looks good.

      As a FYI to toss out there, for those who use PennMUSH or TinyMUSH3, it will need adaptation as the @hook code for Penn and TM3 uses the TM3 standard @hook functionality while MUX uses the Rhost @hook functionality. The syntax for @hook is different for those platforms.

      So in that regard the code should work on Rhost likely without changes as well.

      posted in MU Code
      Ashen-Shugar
      Ashen-Shugar
    • RE: oWoD - Is there such thing as a good one?

      How about setting up a full oWoD game where every player in the oWoD game is an NPC, a full fledged world fully running fully grided oWoD game.

      Players who connect are NOT part of the WoD game.

      Instead, they play characters from anything BUT a WoD game.

      Pokemon? Good to go.
      D&D? Also great to have you.
      Matrix? Sure, why not.
      Shadowrun? Welcome aboard!
      Amber? We welcome those of the pattern!

      Essentially, the entire purpose for players is to go on and absolutely DESTROY the world in every possible way for the WoD NPC's.

      Wipe them out, make them cry, ruin their tea breaks, whatever you want to do.

      Ergo, a crackfic of a MUSH.

      That's a WoD game I would love to play πŸ™‚

      posted in MU Questions & Requests
      Ashen-Shugar
      Ashen-Shugar
    • RE: The Death Of Telnet: Is It Time To Face The Music?

      @admiral said in The Death Of Telnet: Is It Time To Face The Music?:

      I think just moving over to web-based interfaces would be all the hobby needs.

      People don't want to download a program and then connect through ports and blahblah.

      They want to click a website. Click click. Done.

      I think Polk is using the Rhost API to do exactly that.

      Essentially driving the entirety of the game as a an entirely web driven interface.

      I believe Rook may be looking to do something similar.

      I also saw backspam of the, well, spam, in debugging mush code.

      It's why I went to such lengths to add debug labels, color-coded grepping, and match algos galore to the debug output.

      It's not an IDE by any stretch of the imagination, but it actually makes trace output worthwhile and not walking into a vomit contest by a pair of trolls.

      Ixokai can cover more on the @label goodness as he's actively used it in several projects. I just coded it. I mean, use it as well? Hah!

      This all does go to what I've said a few times. Empower the user to use what tools they find easiest, and you'll find a greater amount of adaptation.

      posted in Mildly Constructive
      Ashen-Shugar
      Ashen-Shugar
    • RE: MUX: Openly writeable attribute?

      @Seamus said in MUX: Openly writeable attribute?:

      @desc here=[ifelse(hasattr(%!,temp-desc),[u(temp-desc)],[u(perm-desc)])]

      &cmd`desc here=$+desc *:@pemit %#=You have set the temporary description.;&Temp-desc %L=%0

      &cmddescclear here=$+desc/clear:@pemit %#=You have cleared the temp desc.;&temp-desc %L

      Now this is a very basic code. But feel free.

      I'd put in protection since not every codebase sets new attributes NO_COMMAND.

      So like:

      @desc here=[default(me/temp-desc,v(perm-desc))]
      &CMD_DESC here=$+desc*:@pemit %#=You have [ifelse(gt(strlen(%0),0),set description '%0',cleared the description)];&TEMP-DESC me=%0;@set me/temp-desc=no_command

      posted in MU Code
      Ashen-Shugar
      Ashen-Shugar
    • RE: Potato - /grab for MUX?

      MUX side, Requires wizard/#1 access to @hook, and is an ugly work around, but:

      1.  @hook/igswitch @decompile
      2.  @create HookDecompile
      3.  @set HookDecompile=inh safe
      4.  &CMD_DEC HookDecompile=$@decompile/* */*:@break [not(match(%0,tf))]=@pemit %#=Unrecognized switch '%0' for command '@decompile'.;@pemit %#=TinyFugue > &%2 [setr(0,locate(%1,%#,*))]=[get(%1/%2)]
      

      As for Potatoe, not used enough to hack, sorry.

      posted in MU Questions & Requests
      Ashen-Shugar
      Ashen-Shugar
    • RE: Silly things you'd been tempted to do on/for a MU*

      @firepuff said in Silly things you'd been tempted to do on/for a MU*:

      Ever had one of those things that has nagged at you for weeks, months, years that you've been tempted to do on or for a MU* but never have? Maybe it's just silly. Maybe it's just too large of a project. Whatever the reason, what projects nag at you?

      For me, it's creating the worlds/lands of EverQuest in a MU* environment. Not necessarily to RP or even be public, but just as an act of world-building creativity, especially if trying to keep it as accurate to the game as possible.

      I would say my biggest thing is being a hardcode backend developer.

      My end goal is to make the game engine as easy to use and build on as possible for people like you. But without input from people like you on what to improve on, we're not sure what to modify πŸ™‚

      posted in Mildly Constructive
      Ashen-Shugar
      Ashen-Shugar
    • RE: Hook Help

      @skew

      I've honestly not done much with MUX's /args hook. Honestly I was not even aware of it. The help on it is not only.. minimal... it's practically worthless.

      To use the ARGS portion of MUX's hooks, you have to use a prefix of R_ before the attribute. So like R_pose to do ARGS processing on pose.

      And as the help was absolutely worthless to point this out, I had to dig into the source code to find that πŸ™‚

      Also, I don't care much for how it's designed, and I don't think it buys much.

      What I personally would do is use %m for the last command the person typed and use that in the A_pose.

      if someone typed:
      pose scratches their head.

      The %m would be 'pose scratches their head'.

      So you would use rest(%m) for the string after 'pose'

      If you also want to hook on ':' and ';' I would alter the hook for A_POSE and B_POSE to be something like oh....

      [ifelse(member(; :,mid(%m,0,1)),delete(%m,0,1),rest(%m))]

      Good luck!

      posted in MU Code
      Ashen-Shugar
      Ashen-Shugar
    • RE: How To Strip Comtitles in PennMush

      @auspice said in How To Strip Comtitles in PennMush:

      But agreed, more com systems need ways to gag them on your end. I don't know a way on Penn personally.

      There is no 'built in' way, per say, but you can do some clever trickery with @hook.

      You essentially do a @hook/ignore and code in logic against @chan/title so that if length() is > X or if player = Y don't allow comtitles.

      That should effectively lock down the size of the comtitle and also tag an ability to entirely ban set player(s) from being able to set comtitles entirely.

      You could even skim the command to verify only certain comtitles were allowed.

      As far as I'm aware, I think that's about all you can do (short of hardcode mods) to block comtitles.

      EDIT:

      Ooo, what do you know... there's a way to block titles entirely off channels, but you still need @hook if you want dynamic control.

      > help @channel priv
        The <privs> for @channel/add and @channel/privs should be a space-separated
        list of priv names, or a string of priv chars, from the list below:
      
        * "player" (P) - players may use the channel
        * "object" (O) - non-players may use the channel
        * "admin" (A) - only royalty/wizards/chat_privs may use the channel
        * "wizard" (W) - only wizards may use the channel
        * "quiet" (Q) - channel will not show connection messages
        * "open" (o) - you may speak even if you aren't listening to the channel
        * "hide_ok" (H) - you may hide from the channel who list
        *  "notitles" (T) - chantitles are not displayed in channel messages 
        * "nonames" (N) - player names are not displayed in channel messages
        * "nocemit" (C) - @cemit is prohibited on the channel
        * "interact" (I) - Interaction rules (defined in local.c) are applied to the channel
        * "disabled" (D) - noone can join or speak on the channel
      
        The default privs are determined by the 'channel_flags' @config option.
      
        Example:
          > @channel/add Public=player quiet open nocemit
      
      posted in MU Questions & Requests
      Ashen-Shugar
      Ashen-Shugar
    • RE: Social Systems

      @ganymede said in Social Systems:

      [snip] players fuck that shit up [snip]

      And this is the main reason I have never RP'd on a mush since 1992, nor really care for on-line graphical games.

      For all the fun and the environments, it eventually boils down to someone stirring my gaming tea with their phallic and expecting me to drink it.

      Nope. Not happening.

      posted in Mildly Constructive
      Ashen-Shugar
      Ashen-Shugar
    • RE: Codebase Pot Pie - Or what I like or wish I could have

      @faraday said in Codebase Pot Pie - Or what I like or wish I could have:

      @Thenomain said in Codebase Pot Pie - Or what I like or wish I could have:

      No matter how many times fans of attribute trees explain it to me, I don't see anything I can't and don't already do on my own.

      The only time I used attr trees was in +combat to store the individual combat attributes for each participant. You'd have things like:

         stat_faraday`ammo: 10
         stat_faraday`recoil: 2
      

      When you had several dozen combatants, it was handy to be able to examine the combat instance object and see the combatants and other sundry combat attributes without having to get spammed by everybody's combat state. That's the only time I've found them useful.

      For organization I've gotten hooked on @cluster.

      You could set unique attributes across multiple objects, and just cluster_u() any object in the cluster and fetch the matching attribute regardless of what object it was on.

      And of course individually examine the objects for those attribs. So in your example.

      > @create AmmoObject
      > @create SkillObject
      > @create WeaponObject
      > ... etc
      
      > @cluster/new AmmoObject
      > @cluster/add SkillObject=AmmoObject
      > @cluster/add WeaponObject=AmmoObject
      > ... etc
      
      @@ These would all return the same thing.
      > think cluster_u(AmmoObject/weapon`ak47,foo,morefoo)
      > think cluster_u(SkillObject/weapon`ak47,foo,morefoo)
      > think cluster_u(WeaponObject/weapon`ak47,foo,morefoo)
      > ... etc
      
      @@ Output of what a cluster will show on a list
      > @cluster/list #2820
      Showing cluster statistics for cluster with member #2820.
      20 total members: #3683 #3672 #3667 #2820 #13789 #17715 #17714 #17713 #17712 #17711 #17710 #17709 #17708 #17707 #17706 #17705 #17704 #17703 #17702 #17701
      10731 total attributes  [Highest: 746,  Lowest: 43,  Average: 536].
      Threshold set to: 500
      Threshold Action: @eval [pemit(#1234,boo!)]
      Action retrigger limit: 10s
      Threshold Action Function: [cluster_add(me,setr(0,create(cluster_foo,10)))][tel(%q0,#3667)]
      Action Function retrigger limit: 1s
      Note: The threshold function has priority over normal action.
      

      Essentially @cluster in Rhost allows you to have 2 or more objects share the same virtual object, up to somewhere ridiculous like 800 objects in a cluster (actually it will keep adding dbref#'s to the cluster up to LBUF_SIZE - 20, so around 600-800 on a 4K lbuf, to around 4500-5500 on a 32K lbuf). Allows for some fun stuff.

      For data warehousing you can also just set attributes based on a cluster and it does a weighted set on which object in the cluster receives the new attribute. If it's an attribute name already in the cluster it of course resets it on that specific object in the cluster.

      So fun stuff.

      posted in MU Code
      Ashen-Shugar
      Ashen-Shugar
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 5 / 6