MU Soapbox

    • Register
    • Login
    • Search
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Groups
    • Muxify
    • Mustard
    1. Home
    2. Highfalutin
    3. Posts
    • Profile
    • Following 0
    • Followers 0
    • Topics 6
    • Posts 48
    • Best 7
    • Controversial 0
    • Groups 4

    Posts made by Highfalutin

    • A timestring-ish function in TinyMUX?

      Hi guys. I was wondering if there is an equivalent in TinyMUX to the timestring() function?

      timestring() in PennMUSH:

      TIMESTRING()
        timestring(<seconds>[,<pad flag>])
      
        The timestring function takes a number of seconds as input and
        returns the amount of time formatted into days, hours, minutes, and
        seconds. If <pad flag> is 1, all time periods will be used even
        if the number of seconds is less than a day, hour, or minute.
        If <pad flag> is 2, all numbers will be 2 digits long.
      
        Example:
        > say [timestring(301)]
        You say, " 5m  1s"
        > say [timestring(301,1)]
        You say, "0d  0h  5m  1s"
        > say [timestring(301,2)]
        You say, "00d 00h 05m 01s"
      

      Maybe exptime()? Would that do the same thing?

      exptime() from MUX:

        FUNCTION: exptime(<seconds>)
      
        This function converts seconds to a number of time elements (hours,
        minutes, seconds) that is equivalent to the given number of
        <seconds>.
      
        This is very similar to the writetime() function, but the elements
        are given their short names instead of long names.
      
        Example:
          > say exptime(45)
          You say, "45s"
          > say exptime(12345)
          You say, "3h 25m 45s"
          > say exptime(123456)
          You say, "1d 10h 17m 36s"
      
      posted in MU Questions & Requests
      Highfalutin
      Highfalutin
    • RE: [Request] Chime's vtable() function

      Function found here!:
      https://github.com/thenomain/Mu--Support-Systems/blob/065401b79d7ab78cdaaf0c9c58044666ea578684/START MUSH FUNCTIONS.txt#L250

      posted in MU Questions & Requests
      Highfalutin
      Highfalutin
    • RE: Charging for MU* Code?

      Is this still a thing you're willing/able to do for random folks, @thenomain?

      I'm pretty desperately seeking somebody to help me get the Mu--Support-Systems stuff I installed (and not entirely successfully - apparently I can't even copy-paste code correctly) working, not to mention my endless headbutting with Anomaly Jobs.

      Suffice to say I'd be more than happy to compensate a coder for their time to get the above things sorted out. If you are still open to this kind of thing, let me know?

      posted in Mildly Constructive
      Highfalutin
      Highfalutin
    • RE: Unnecessary Messenger System - +txt code

      I love this so much I can't even. Installed just now, working beautifully. "Cheiron Group Simple Messaging System" got me chortling.

      posted in MU Code
      Highfalutin
      Highfalutin
    • RE: Enabling SQL on TinyMUX

      AHHH! I GOT IT.

      Correct paths:

      INLINESQL_LIBS    = -L/usr/lib/mysql -lmysqlclient -lz
      INLINESQL_INCLUDE = -I/usr/include/mysql
      

      I have never seen a more beautiful error message:

      think [sql()]
      #-1 FUNCTION (SQL) EXPECTS BETWEEN 1 AND 3 ARGUMENTS
      
      posted in MU Questions & Requests
      Highfalutin
      Highfalutin
    • RE: Enabling SQL on TinyMUX

      Okay... I think the issue might be the location of the sql libaries, or something. With inline enabled, I get this on make depend:

      makefunctions.cpp:26:19: error: mysql.h: No such file or directory
      game.cpp:30:19: error: mysql.h: No such file or directory
      

      Makefile:

      INLINESQL         = -DINLINESQL
      INLINESQL_LIBS    = -L/usr/local/mysql/lib -lmysqlclient -lz
      INLINESQL_INCLUDE = -I/usr/local/mysql/include
      

      So! Is there anyone else on here who uses tinymux with SQL, and is hosted on Third Generation Hosting? Any chance you could tell me where the correct path?

      posted in MU Questions & Requests
      Highfalutin
      Highfalutin
    • RE: Enabling SQL on TinyMUX

      Got it working with asychronous SQL, though I'm nervous that it doesn't provide the sql() function.

      Just in case anyone else needs it at some point:

      ./configure --enable-stubslave --with-mysql-include=/usr/local/mysql/include --with-mysql-libs=/usr/local/mysql/lib --enable-realitylvls
      make depend
      make
      
      Add to netmux.conf:
      
      module sqlproxy
      module sqlslave local
      
      sql_database username_muxtest
      sql_server localhost
      sql_user username_muxtest
      sql_password passwordhere
      

      Going to keep fiddling with inline.

      posted in MU Questions & Requests
      Highfalutin
      Highfalutin
    • RE: [Request] Chime's vtable() function

      @thenomain Awesome, thanks a ton.

      posted in MU Questions & Requests
      Highfalutin
      Highfalutin
    • [Request] Chime's vtable() function

      Like the title says! I keep running into things where vtable() is listed as a requirement. Is this something that's considered open source, is Chime comfortable with people using it, and should both of the previous be true... anybody have it on hand?

      posted in MU Questions & Requests
      Highfalutin
      Highfalutin
    • RE: Enabling SQL on TinyMUX

      Progress!

      In src folder:

      ./configure --enable-inlinesql --enable-realitylvls --enable-stubslave
      make depend
      make
      

      In the src/modules folder:

      ./configure
      make
      

      Added to netmux.conf:

      module sqlproxy
      module sqlslave
      
      sql_database username_muxtest
      sql_server localhost
      sql_user username_muxtest
      sql_password passwordishere
      

      Then @restarted in the game.

      I checked the logfile and saw this:

      2019.0119:011848 Eventide INI/LOAD : Couldn’t create interface to Query Server.

      Checked the function to see if it worked anyway:

      think [sql()]
      #-1 FUNCTION (SQL) NOT FOUND
      
      @query
      Query server is not available.
      

      Everything seems to be in the right spot:

      checking for location of SQL header files... /usr/include/mysql
      checking for location of SQL library files... /usr/lib/mysql

      I think I must be missing something... Does anything stick out?

      posted in MU Questions & Requests
      Highfalutin
      Highfalutin
    • RE: AnomJobs - Trouble With Installation

      For the most part things seem to be working, with a few exceptions. The bbgroups weren't created by the installation, and for whatever reason I can't create "Job Tracker" manually. I can create any other bbgroup with any other name, but "Job Tracker" saves as "#-2" on the bbpocket and refuses to display even when the dbref is manually set. No idea...

      Lines that print "That's terrific, but what should I do with the list?" when entered:

      @dolist lcon([v(JOB_VC)])={@switch [first(version())]=PennMUSH,{@set ##=!HALT},{@set ##=!HALTED};@switch [first(version())]=TinyMUSH,{@set ##=!COMMANDS},{@set ##=NO_COMMAND};@set ##=UNFINDABLE;@switch [first(version())]=PennMUSH,{@set ##=WIZARD},{@set ##=INHERIT};}
      

      Problem lines (Those that just hung, no error messages):

      @switch [v(JOB_PATCH)]=1,{@dolist STARTUP BUCKET_HEADER DATA_CHARS2 DISPLAY_MYHEADERS DISPLAY_MYJOB MYJOBS_HEADER FIL_DELETE FN_ANSIFY FN_COORD2ANG FN_EASYPIE_PENN FN_EASYPIE_TINY FN_GENDATA MAP_GENDATA MAP_GENDATA2 PENN_PIE PENN10_PIE PENN12_PIE FN_NEW_JOBS FN_PACK IS_PLAYER JOBS_HEADER JOBS_HEADER2 MAP_ANSIFY MAP_ARTSGRAPH MAP_NAME2 MAP_NEW MAP_ISPLAYER MAP_PMATCH MAP_READERS={@switch [hasattr(v(JOB_VA),##)]=1,&## [v(JOB_VA)]}}
      
      @switch [v(JOB_PATCH)]=0,{&ACCESS [v(JOB_VC)]=lit([u(%va/FN_STAFFALL,%#)]);&ACCESS_DESC [v(JOB_VC)]=lit([u(%va/FN_STAFFALL,%0)]);&ACCESS_HELP [v(JOB_VC)]=lit([u(%va/FN_STAFFALL,%0)]);&ACCESS_HIDDEN [v(JOB_VC)]=lit([u(%va/FN_WIZONLY,%0)]);&ACCESS_LOCKED [v(JOB_VC)]=lit([u(%va/FN_WIZONLY,%0)]);&ACCESS_LOGFILE [v(JOB_VC)]=lit([u(%va/FN_WIZONLY,%0)]);&ACCESS_MYJOBS [v(JOB_VC)]=lit([u(%va/FN_WIZONLY,%0)]);&ACCESS_POST_APPROVE [v(JOB_VC)]=lit([u(%va/FN_WIZONLY,%0)]);&ACCESS_POST_COMPLETE [v(JOB_VC)]=lit([u(%va/FN_WIZONLY,%0)]);&ACCESS_POST_DENY [v(JOB_VC)]=lit([u(%va/FN_WIZONLY,%0)]);&ACCESS_TURNAROUND [v(JOB_VC)]=lit([u(%va/FN_WIZONLY,%0)]);}
      
      @switch [hasattr(v(JOB_VC),STAT_ART)]=0,{&STAT_ART [v(JOB_VC)]=0 0}
      
      @switch [v(JOB_PATCH)]=0,{think [setq(0,create(ADMIN,10))][setq(1,create(Job 1,10))];@Desc %q0=For game administrative issues.;@lock/Speech %q0=ACCESS/1;&ACCESS %q0=lit([u(%va/FN_STAFFALL,%#)]);@parent %q0=[v(JOB_VC)];@tel %q0=[v(JOB_VC)];think [ansi(hc,ANOMALY JOBS:)] Creating initial job.;&OPENED_BY %q1=%#;&OPENED_ON %q1=[secs()];&MODIFIED_ON %q1=[secs()];&STATUS %q1=1;&TITLE %q1=Welcome;@parent %q1=%q0;@tel %q1=[v(JOB_VA)];&NUM_COMMENT %q1=3;&LIST_STATS %q1=ADD|1;&PRIORITY %q1=1;&COMMENT_1 %q1=CRE|[secs()]|#0|Anomaly Jobs|Thank you for choosing Anomaly Jobs. This is fully-featured task tracking code that helps to keep games organized. Please see '+jobs/credits' for information on version, license and other credits.;&COMMENT_2 %q1=ADD|[secs()]|#0|Anomaly Jobs|Remember that /complete posts to the public BBS (unless changed for a bucket - see the help file on buckets). /approve and /deny sends mail to the job-creator, and posts to private BBS.;@set %q1=UNFINDABLE;&JOBS_NUM [v(JOB_VA)]=1;&MAX_JOBS [v(JOB_VA)]=200;@switch [first(version())]=TinyMUSH,{@set %q1=!COMMANDS},{@set %q1=NO_COMMAND}}
      
      @switch [v(JOB_PATCH)]=0,{think [setq(0,create(APPS,10))];@Desc %q0=Character applications submitted for review.;@lock/Speech %q0=ACCESS/1;&ALETTER_OTH %q0=lit(Application for approval submitted by [name(%1)].);&MLETTER_OTH %q0=lit(You have submitted an application for approval. Please give staff some time to process the application. You will hear back soon.);&MLETTER_APR %q0=lit(You have been approved by [name(%2)].);&PLETTER_APR %q0=lit([name(%2)] has approved [name(get(%0/OPENED_BY))] for roleplay.);&ACCESS %q0=lit([u(%va/FN_STAFFALL,%#)]);@parent %q0=[v(JOB_VC)];@tel %q0=[v(JOB_VC)]}
      
      @switch [v(JOB_PATCH)]=0,{think [setq(0,create(BUILD,10))];@Desc %q0=For building issues and typo reports.;@lock/Speech %q0=ACCESS/1;&PUBLIC %q0=1;&ACCESS %q0=lit([or(haspower(%#,builder),u(%va/FN_STAFFALL,%#))]);@set %q0=SAFE;@parent %q0=[v(JOB_VC)];@tel %q0=[v(JOB_VC)]}
      @switch [v(JOB_PATCH)]=0,{think [setq(0,create(CGEN,10))];@Desc %q0=For character generation problems and updates.;@lock/Speech %q0=ACCESS/1;&ACCESS %q0=lit([u(%va/FN_STAFFALL,%#)]);@parent %q0=[v(JOB_VC)];@tel %q0=[v(JOB_VC)]}
      @switch [v(JOB_PATCH)]=0,{think [setq(0,create(CODE,10))];@Desc %q0=For bugs and code enhancements.;@lock/Speech %q0=ACCESS/1;&PUBLIC %q0=1;&ACCESS %q0=lit([u(%va/FN_STAFFALL,%#)]);@set %q0=SAFE;@parent %q0=[v(JOB_VC)];@tel %q0=[v(JOB_VC)]}
      @switch [v(JOB_PATCH)]=0,{think [setq(0,create(FEEP,10))];@Desc %q0=Storage for unimplemented game ideas.;@lock/Speech %q0=ACCESS/1;&HIDDEN %q0=1;&ACCESS %q0=lit([u(%va/FN_STAFFALL,%#)]);@parent %q0=[v(JOB_VC)];@tel %q0=[v(JOB_VC)]}
      @switch [v(JOB_PATCH)]=0,{think [setq(0,create(FORUM,10))];@Desc %q0=Tabled discussion jobs. Feedback needed.;@lock/Speech %q0=ACCESS/1;&ACCESS %q0=lit([u(%va/FN_STAFFALL,%#)]);@parent %q0=[v(JOB_VC)];@tel %q0=[v(JOB_VC)]}
      
      @switch [v(JOB_PATCH)]=0,{think [setq(0,create(PITCH,10))];@Desc %q0=Pitched plots and stories.;@lock/Speech %q0=ACCESS/1;&ACCESS %q0=lit([u(%va/FN_STAFFALL,%#)]);&HIDDEN %q0=1;@set %q0=SAFE;@parent %q0=[v(JOB_VC)];@tel %q0=[v(JOB_VC)]}
      @switch [v(JOB_PATCH)]=0,{think [setq(0,create(PUB,10))];@Desc %q0=Public jobs. Everyone has +myjobs access.;@lock/Speech %q0=ACCESS/1;&ACCESS %q0=lit([u(%va/FN_STAFFALL,%#)]);&TRANSPARENT %q0=1;&PUBLIC %q0=1;&HOOK_CRE %q0=lit(@set %0/COMMENT_1=no_inherit);@parent %q0=[v(JOB_VC)];@tel %q0=[v(JOB_VC)]}
      @switch [v(JOB_PATCH)]=0,{think [setq(0,create(QUERY,10))];@Desc %q0=Query bucket.;@lock/Speech %q0=ACCESS/1;&PRIORITY %q0=2;&PUBLIC %q0=1;&ACCESS %q0=lit([u(%va/FN_STAFFALL,%#)]);&TURNAROUND %q0=168;&HOOK_OTH %q0=lit(@set %0/COMMENT_1=no_inherit;&ASSIGNED_TO %0=%1);&MLETTER_OTH %q0=lit(You have been issued an official query by the jobs system by [name(%2)]. You have [div(v(TURNAROUND),24)] days at the time of this mail to respond to the query%, otherwise staff may need to act on the issue without your input. To see your query%, please type '+myjob [last(name(%0))]'.);@set %q0=SAFE;@parent %q0=[v(JOB_VC)];@tel %q0=[v(JOB_VC)]}
      @switch [v(JOB_PATCH)]=0,{think [setq(0,create(REQ,10))];@Desc %q0=Player requests.;@lock/Speech %q0=ACCESS/1;&PUBLIC %q0=1;&PRIORITY %q0=2;&ACCESS %q0=lit([u(%va/FN_STAFFALL,%#)]);&TURNAROUND %q0=72;&LOGFILE %q0=reqlog;&MLETTER_OTH %q0=lit(You have requested '[name(%0)]: [get(%0/TITLE)]' from staff: %r%r%3%r%r[repeat(-,75)]%rSee '[ansi(h,+help myjobs)]' for help on how to display and add to your jobs.%r%rPlease give staff at least [u(me/TURNAROUND)] hours from the date of this mail to process your request.);@set %q0=SAFE;@parent %q0=[v(JOB_VC)];@tel %q0=[v(JOB_VC)]}
      @switch [v(JOB_PATCH)]=0,{think [setq(0,create(RP,10))];@Desc %q0=For storing potential plots.;@lock/Speech %q0=ACCESS/1;&ACCESS %q0=lit([u(%va/FN_STAFFALL,%#)]);&ACCESS_APPROVED %q0=lit([u(%va/FN_WIZONLY,%0)]);&ACCESS_ARC %q0=lit([u(%va/FN_STAFFALL,%0)]);&ACCESS_PLAYERS %q0=lit([u(%va/FN_STAFFALL,%0)]);&ACCESS_SCHEDULE %q0=lit([u(%va/FN_STAFFALL,%0)]);&ACCESS_STAFF %q0=lit([u(%va/FN_STAFFALL,%0)]);&ACCESS_SYNOPSIS %q0=lit([u(%va/FN_STAFFALL,%0)]);&ERROR_PLAYERS %q0=lit(I don't recognize [ansi(h,%qp)] as a player.);&ERROR_STAFF %q0=lit(I don't recognize [ansi(h,%qp)] as a player.);&HIDDEN %q0=1;&MAP_NAME %q0=lit([name(*%0)]);&PROCESS_APPROVED %q0=lit([setq(3,APPROVED)][setq(1,%0)]1);&PROCESS_ARC %q0=lit([setq(3,PLOT_ARC)][setq(1,u(%va/FN_STRTRUNC,%0,50))]);&PROCESS_PLAYERS %q0=lit([setq(3,PLAYERS)][ifelse(not(gt(strlen(u(%va/fn_trim,squish(iter(%0,ifelse(not(isdbref(pmatch(itext(0)))),setr(p,itext(0)),))))),0)),[setq(9,iter(%0,pmatch(itext(0))))][setq(8,get(%1/PLAYERS))][iter(%q9,ifelse(gt(member(%q8,##),0),setq(8,remove(%q8,##)),setq(8,setunion(%q8,##))))][setq(1,%q8)]1,0)]);&PROCESS_SCHEDULE %q0=lit([setq(3,SCHEDULE)][setq(1,u(%va/FN_STRTRUNC,%0,50))]1);&PROCESS_STAFF %q0=lit([setq(3,WRITER)][ifelse(not(gt(strlen(u(%va/fn_trim,squish(iter(%0,ifelse(not(isdbref(pmatch(itext(0)))),setr(p,itext(0)),))))),0)),[setq(9,iter(%0,pmatch(itext(0))))][setq(8,get(%1/WRITER))][iter(%q9,ifelse(gt(member(%q8,##),0),setq(8,remove(%q8,##)),setq(8,setunion(%q8,##))))][setq(1,%q8)]1,0)]);&PROCESS_SYNOPSIS %q0=lit([setq(3,BRIEF)][setq(1,%0)]1);&SUMMARY %q0=lit([rjust(ansi(hc,Approved:),10)]%b[ifelse(u(%va/FN_HASATTRP,%0,APPROVED),get(%0/APPROVED),Unapproved)]%r[rjust(ansi(hc,Players:),10)]%b[ifelse(u(%va/FN_HASATTRP,%0,PLAYERS),u(%va/FN_ITEMIZE,map(me/MAP_NAME,get(%0/PLAYERS),%b,|),|),Nobody)]%r[rjust(ansi(hc,Schedule:),10)]%b[ifelse(u(%va/FN_HASATTRP,%0,SCHEDULE),get(%0/SCHEDULE),Unset)]%r[rjust(ansi(hc,Arc:),10)]%b[ifelse(u(%va/FN_HASATTRP,%0,PLOT_ARC),get(%0/PLOT_ARC),Unset)]%r[rjust(ansi(hc,Staff:),10)]%b[ifelse(u(%va/FN_HASATTRP,%0,WRITER),u(%va/FN_ITEMIZE,map(me/MAP_NAME,get(%0/WRITER),%b,|),|),Nobody)]%r[rjust(ansi(hc,Synopsis:),10)]%b[ifelse(u(%va/FN_HASATTRP,%0,BRIEF),get(%0/BRIEF),Unset)]);&HELP %q0=lit(%r[space(5)]This bucket is for plots that have potential but aren't yet ready to run. Jobs in this bucket should remain here until the plot is approved to be run.%r%r[u(%va/FN_BREAK,ansi(hc,Settings for +job/sumset))]%r[ljust(ansi(h,PLAYERS),10)] Accepts <player> as a valid parameter.%r[ljust(ansi(h,SCHEDULE),10)] Describe when the plot is in effect.%r[ljust(ansi(h,ARC),10)] Describes the story arc associated to this plot.%r[ljust(ansi(h,STAFF),10)] Accepts <player> as a valid parameter.%r[ljust(ansi(h,SYNOPSIS),10)] A brief synopsis of the plot.%r[ljust(ansi(h,APPROVED),10)] Wiz-only, for approving plots. Accepts 'yes' or 'no'.);@parent %q0=[v(JOB_VC)];@tel %q0=[v(JOB_VC)]}
      
      @switch [v(JOB_PATCH)]=0,{think [setq(0,create(TECH,10))];@Desc %q0=Technology issues - weapon objects, etc.;@lock/Speech %q0=ACCESS/1;&ACCESS %q0=lit([u(%va/FN_STAFFALL,%#)]);@parent %q0=[v(JOB_VC)];@tel %q0=[v(JOB_VC)]}
      @switch [v(JOB_PATCH)]=0,{think [setq(0,create(THEME,10))];@Desc %q0=Thematic issues and discussion.;@lock/Speech %q0=ACCESS/1;&ACCESS %q0=lit([u(%va/FN_STAFFALL,%#)]);@parent %q0=[v(JOB_VC)];@tel %q0=[v(JOB_VC)]}
      @switch [v(JOB_PATCH)]=0,{think [setq(0,create(TPS,10))];@Desc TPS=Actively running tiny plots.;@lock/Speech TPS=ACCESS/1;&SUMMARY TPS=lit([rjust(ansi(hc,Approved:),10)]%b[ifelse(u(%va/FN_HASATTRP,%0,APPROVED),get(%0/APPROVED),Unapproved)]%r[rjust(ansi(hc,Players:),10)]%b[ifelse(u(%va/FN_HASATTRP,%0,PLAYERS),u(%va/FN_ITEMIZE,map(me/MAP_NAME,get(%0/PLAYERS),%b,|),|),Nobody)]%r[rjust(ansi(hc,Schedule:),10)]%b[ifelse(u(%va/FN_HASATTRP,%0,SCHEDULE),get(%0/SCHEDULE),Unset)]%r[rjust(ansi(hc,Arc:),10)]%b[ifelse(u(%va/FN_HASATTRP,%0,PLOT_ARC),get(%0/PLOT_ARC),Unset)]%r[rjust(ansi(hc,Staff:),10)]%b[ifelse(u(%va/FN_HASATTRP,%0,WRITER),u(%va/FN_ITEMIZE,map(me/MAP_NAME,get(%0/WRITER),%b,|),|),Nobody)]%r[rjust(ansi(hc,Synopsis:),10)]%b[ifelse(u(%va/FN_HASATTRP,%0,BRIEF),get(%0/BRIEF),Unset)]);&MAP_NAME TPS=lit([name(*%0)]);&ACCESS TPS=lit([u(%va/FN_STAFFALL,%#)]);&ACCESS_PLAYERS TPS=lit([u(%va/FN_STAFFALL,%0)]);&PROCESS_PLAYERS TPS=lit([setq(3,PLAYERS)][ifelse(not(gt(strlen(u(%va/fn_trim,squish(iter(%0,ifelse(not(isdbref(pmatch(itext(0)))),setr(p,itext(0)),))))),0)),[setq(9,iter(%0,pmatch(itext(0))))][setq(8,get(%1/PLAYERS))][iter(%q9,ifelse(gt(member(%q8,##),0),setq(8,remove(%q8,##)),setq(8,setunion(%q8,##))))][setq(1,%q8)]1,0)]);&ERROR_PLAYERS TPS=lit(I don't recognize [ansi(h,%qp)] as a player.);&ACCESS_SCHEDULE TPS=lit([u(%va/FN_STAFFALL,%0)]);&PROCESS_SCHEDULE TPS=lit([setq(3,SCHEDULE)][setq(1,u(%va/FN_STRTRUNC,%0,50))]1);&ERROR_SCHEDULE TPS=lit(You must enter a valid date string.);&ACCESS_ARC TPS=lit([u(%va/FN_STAFFALL,%0)]);&PROCESS_ARC TPS=lit([setq(3,PLOT_ARC)][setq(1,u(%va/FN_STRTRUNC,%0,50))]);&ACCESS_STAFF TPS=lit([u(%va/FN_STAFFALL,%0)]);&PROCESS_STAFF TPS=lit([setq(3,WRITER)][ifelse(not(gt(strlen(u(%va/fn_trim,squish(iter(%0,ifelse(not(isdbref(pmatch(itext(0)))),setr(p,itext(0)),))))),0)),[setq(9,iter(%0,pmatch(itext(0))))][setq(8,get(%1/WRITER))][iter(%q9,ifelse(gt(member(%q8,##),0),setq(8,remove(%q8,##)),setq(8,setunion(%q8,##))))][setq(1,%q8)]1,0)]);&ERROR_STAFF TPS=lit(I don't recognize [ansi(h,%qp)] as a player.);&ACCESS_SYNOPSIS TPS=lit([u(%va/FN_STAFFALL,%0)]);&PROCESS_SYNOPSIS TPS=lit([setq(3,BRIEF)][setq(1,%0)]1);&ACCESS_APPROVED TPS=lit([u(%va/FN_WIZONLY,%0)]);&PROCESS_APPROVED TPS=lit([setq(3,APPROVED)][setq(1,%0)]1);&HELP TPS=lit(%r[space(5)]This bucket is for currently active plots that are running on the grid. Care should be taken to keep the headers of these jobs up-to-date, especially in terms of Progress settings and due dates. When the plot is completed, the job should be set complete and left open until follow-up requests are completed.%r%r[u(%va/FN_BREAK,ansi(hc,Settings for +job/sumset))]%r[ljust(ansi(h,PLAYERS),10)] Accepts <player> as a valid parameter.%r[ljust(ansi(h,SCHEDULE),10)] Describe when the plot is in effect.%r[ljust(ansi(h,ARC),10)] Describes the story arc associated to this plot.%r[ljust(ansi(h,STAFF),10)] Accepts <player> as a valid parameter.%r[ljust(ansi(h,SYNOPSIS),10)] A brief synopsis of the plot.%r[ljust(ansi(h,APPROVED),10)] Wiz-only, for approving plots. Accepts 'yes' or 'no'.);@parent TPS=[v(JOB_VC)];@tel TPS=[v(JOB_VC)]}
      
      @switch [v(JOB_PATCH)]=0,{&HAS_ACCESS [v(JOB_VA)]=lit([or(haspower(%0,builder),u(%va/FN_STAFFALL,%0))]);&ADD_ACCESS [v(JOB_VA)]=lit([u(%va/FN_STAFFALL,%0)]);&APPROVE_ACCESS [v(JOB_VA)]=lit([u(%va/FN_STAFFALL,%0)]);&COMPLETE_ACCESS [v(JOB_VA)]=lit([u(%va/FN_STAFFALL,%0)]);&CREATE_ACCESS [v(JOB_VA)]=lit([u(%va/FN_STAFFALL,%0)]);&DENY_ACCESS [v(JOB_VA)]=lit([u(%va/FN_STAFFALL,%0)]);&EDIT_ACCESS [v(JOB_VA)]=lit([u(%va/FN_STAFFALL,%0)]);&GIVE_ACCESS [v(JOB_VA)]=lit([u(%va/FN_WIZONLY,%0)]);&LOG_ACCESS [v(JOB_VA)]=lit([u(%va/FN_WIZONLY,%0)]);&MAIL_ACCESS [v(JOB_VA)]=lit([u(%va/FN_STAFFALL,%0)]);&STATS_ACCESS [v(JOB_VA)]=lit([u(%va/FN_STAFFALL,%0)]);&CONFIG_ACCESS [v(JOB_VA)]=lit([u(%va/FN_STAFFALL,%0)]);}
      
      @switch [v(JOB_PATCH)]=0,{&JOB_LOGGING [v(JOB_VA)]=1;&LOGFILE [v(JOB_VC)]=joblog}
      
      @switch [v(JOB_PATCH)]=0,{&INSTALL_DATE [v(JOB_VA)]=[time()]}
      
      @switch [setq(0,switch(first(version()),PennMUSH,lsearch(all,eobjects,[strmatch(name(##),bbpocket)]),RhostMUSH,searchng(object=bbpocket),search(object=bbpocket)))][isdbref(%q0)][v(JOB_PATCH)]=0*,{think [ansi(hc,ANOMALY JOBS:)] Couldn't find Myrddin's BBS. Installation is not complete.},10,{think [ansi(hc,ANOMALY JOBS:)] Setting up the BBS.;&BBPOCKET [v(JOB_VC)]=%q0;+bbnewgroup Job Tracker;@wait 2={+bbnewgroup Staff Job Tracker};@wait 5={&POST_COMPLETE [setq(1,extract(u(%q0/GROUPS),dec(words(u(%q0/GROUPS))),1))][setq(2,last(u(%q0/GROUPS)))][setq(3,v(JOB_VB))][setq(4,switch(first(version()),RhostMUSH,lit(gte(bittype(%0),2)),PennMUSH,lit(orflags(%0,Wr)),lit(orflags(%0,WZ))))][v(JOB_VC)]=%q1;&POST_APPROVE [v(JOB_VC)]=%q2;&POST_DENY [v(JOB_VC)]=%q2;&POST_DELETE [v(JOB_VC)]=%q2;&CANREAD %q1=1;&CANWRITE %q1=%[or%(strmatch%(%%0,%q3%),%q4%)%];&CANREAD %q2=%q4;&CANWRITE %q2=%[or%(strmatch%(%%0,%q3%),%q4%)%];}},{think [ansi(hc,ANOMALY JOBS:)] Updating BBS settings.;&BBPOCKET [v(JOB_VC)]=%q0;@dolist [v(JOB_VC)] [lcon(v(JOB_VC))]={@switch [and(hasattr(##,POST_COMPLETE),isnum(get(##/POST_COMPLETE)))][and(hasattr(##,POST_APPROVE),isnum(get(##/POST_APPROVE)))][and(hasattr(##,POST_DENY),isnum(get(##/POST_DENY)))][and(hasattr(##,POST_DELETE),isnum(get(##/POST_DELETE)))]=1???,{&POST_COMPLETE ##=[extract(u(%q0/GROUPS),get(##/POST_COMPLETE),1)]},?1??,{&POST_APPROVE ##=[extract(u(%q0/GROUPS),get(##/POST_APPROVE),1)]},??1?,{&POST_DENY ##=[extract(u(%q0/GROUPS),get(##/POST_DENY),1)]},???1,{&POST_DELETE ##=[extract(u(%q0/GROUPS),get(##/POST_DELETE),1)]}}}
      
      @switch [v(JOB_PATCH)]=>0,{think [ansi(hc,ANOMALY JOBS:)] Checking hooks for compatibility.;@dolist [v(JOB_VC)] [lcon(v(JOB_VC))]={@switch [hasattr(##,HOOK_COMPLETE)][hasattr(##,HOOK_APPROVE)][hasattr(##,HOOK_DENY)][hasattr(##,HOOK_DELETE)]=1???,{think [ansi(hc,ANOMALY JOBS:)] ##/HOOK_COMPLETE not valid: move to ##/HOOK_COM;},?1??,{think [ansi(hc,ANOMALY JOBS:)] ##/HOOK_APPROVE not valid: move to ##/HOOK_APR;},??1?,{think [ansi(hc,ANOMALY JOBS:)] ##/HOOK_DENY not valid: move to ##/HOOK_DNY;},???1,{think [ansi(hc,ANOMALY JOBS:)] ##/HOOK_DELETE not valid: move to ##/HOOK_DEL;}}}
      @switch [v(JOB_PATCH)]=>0,{think [ansi(hc,ANOMALY JOBS:)] Updating special job access to unique player ID.;@dolist switch(first(version()),PennMUSH,lsearch(all,eplayers,[hasattrval(##,JOBSB)]),RhostMUSH,searchng(eplayer=hasattr(##,JOBSB)),search(eplayer=hasattr(##,JOBSB)))={think [name(##)] has access to buckets: [u([v(JOB_VA)]/FN_ITEMIZE,iter(get(##/JOBSB),name(first(itext(0),:)),|),|)];&JOBSB ##=iter(get(##/JOBSB),u([v(JOB_VA)]/FN_OBJID,first(itext(0),:)))}}
      @switch [v(JOB_PATCH)]=>0,{think [ansi(hc,ANOMALY JOBS:)] Updating new job indicators.;@dolist lcon(v(JOB_VA))={&LIST_JOBSN ##=[default(##/LIST_JOBSN,get(##/LIST_READERS))];}}
      
      posted in MU Questions & Requests
      Highfalutin
      Highfalutin
    • RE: AnomJobs - Trouble With Installation

      @skew Okay so! I did this: Manually @created the four objects, and manually set the &job_va, etc., attributes on myself with the dbrefs. I tried again after doing that, and while a lot of it worked, a lot of it still didn't. The spots where it failed were almost universally where JOB_PATCH was involved, which... I didn't have a JOB_PATCH attribute or object, so that makes sense.

      I went back up to lashtear's repository and grabbed the patch, and installed that first.

      Now I'm going through line by line of the full Anomaly Jobs file, muxifying them, then entering them one by one to make sure I can see exactly where it is if the setup borks. Thus far, none of the problem lines have been problems.

      Will update if this works. I think it might.

      posted in MU Questions & Requests
      Highfalutin
      Highfalutin
    • RE: Cobalt's Housing Directory Object

      @cobaltasaurus You DID.

      posted in MU Code
      Highfalutin
      Highfalutin
    • RE: AnomJobs - Trouble With Installation

      @skew Hmm. None of the objects were created.

      I noticed these attributes on my Wizard bit. Unsure if relevant:

      &JOB_VA me=#-1 OUT OF RANGE
      &JOB_VB me=#-1 OUT OF RANGE
      &JOB_VC me=#-1 OUT OF RANGE
      &JOB_PATCH me=0
      
      posted in MU Questions & Requests
      Highfalutin
      Highfalutin
    • RE: Cobalt's Housing Directory Object

      Another years later thread resurrection here, but, this is now my favorite thing. Quick command to tack onto the object:

      &C.+HOUSING Housing Directory=$+housing:@pemit %#=[u(f.header)]%r[iter(filter(%vb/fil.ownable, search(type=room)), [ljust(name(%i0), 30, .)][if(hasattr(%i0, owner), name(get(%i0/owner)), No one)], , %r)]%r[u(f.footer)]
      
      posted in MU Code
      Highfalutin
      Highfalutin
    • RE: Enabling SQL on TinyMUX

      @skew You're a life-saver. Thank you, it's much appreciated.

      posted in MU Questions & Requests
      Highfalutin
      Highfalutin
    • RE: Enabling SQL on TinyMUX

      @skew

      I'm not 100% sure, which is pretty embarrassing!

      I used this guide:
      https://secure.thirdhosting.com/knowledgebase/12/Install-Guide-for-TinyMUX-Codebase.html

      For this:
      ftp://ftp.tinymux.org/tinymux-2.10/14/mux-2.10.1.14.unix.tar.gz

      When I check version() I get this:

      MUX 2.10.1.14 #3 [2017-AUG-05]

      posted in MU Questions & Requests
      Highfalutin
      Highfalutin
    • RE: Building: A Basic Tutorial

      @skew Thank you!

      posted in How-Tos
      Highfalutin
      Highfalutin
    • RE: AnomJobs - Trouble With Installation

      @skew

      With just that line:

      ANOMALY JOBS: No previous jobs installation found. Creating a new one.
      Set.
      Set.
      Set.
      Set.
      Set.
      I don't see that here.
      I don't see that here.
      I don't see that here.
      
      posted in MU Questions & Requests
      Highfalutin
      Highfalutin
    • RE: Enabling SQL on TinyMUX

      @skew said in Enabling SQL on TinyMUX:

      th sql( select 1 )

      Damn. I get this:

      #-1 FUNCTION (SQL) NOT FOUND

      (And thank you!)

      posted in MU Questions & Requests
      Highfalutin
      Highfalutin
    • 1
    • 2
    • 3
    • 2 / 3