Game Create Script


  • Coder

    This is a game creation script, intended to be run on a brand-new, no-changes-made DB right after your first 'Startmush' command (or Startmux equivalent). This is built to be quoted/pasted by the #1 God character.

    ## --------------- Start linenumber-dbref matching.  (#1 is God character.) ------------------
    @pcreate Paradise=secretpassword!!
    @pcreate wiz3=secretpassword!!
    @pcreate Wiz4=secretpassword!!
    @pcreate Wiz5=secretpassword!!
    @pcreate Wiz6=secretpassword!!
    @pcreate Wiz7=secretpassword!!
    @pcreate Wiz8=secretpassword!!
    @pcreate Wiz9=secretpassword!!
    @pcreate Wiz10=secretpassword!!
    @create CodeObject11
    @create CodeObject12
    @create CodeObject13
    @create CodeObject14
    @create CodeObject15
    @create CodeObject16
    @create CodeObject17
    @create CodeObject18
    @create CodeObject19
    @create CodeObject20
    @create CodeObject21
    @create CodeObject22
    @create CodeObject23
    @create CodeObject24
    @create CodeObject25
    @create CodeObject26
    @create CodeObject27
    @create CodeObject28
    @create CodeObject29
    @create CodeObject30
    @create CodeObject31
    @create CodeObject32
    @create CodeObject33
    @create CodeObject34
    @create CodeObject35
    @create CodeObject36
    @create CodeObject37
    @create CodeObject38
    @create CodeObject39
    @create CodeObject40
    @create CodeObject41
    @create CodeObject42
    @create CodeObject43
    @create CodeObject44
    @create CodeObject45
    @create CodeObject46
    @create CodeObject47
    @create CodeObject48
    @create CodeObject49
    @create CodeObject50
    @create DataObject51
    @create DataObject52
    @create DataObject53
    @create DataObject54
    @create DataObject55
    @create DataObject56
    @create DataObject57
    @create DataObject58
    @create DataObject59
    @create DataObject60
    @create DataObject61
    @create DataObject62
    @create DataObject63
    @create DataObject64
    @create DataObject65
    @create DataObject66
    @create DataObject67
    @create DataObject68
    @create DataObject69
    @create DataObject70
    @create DataObject71
    @create DataObject72
    @create DataObject73
    @create DataObject74
    @create DataObject75
    @create DataObject76
    @create DataObject77
    @create DataObject78
    @create DataObject79
    @create DataObject80
    @create DataObject81
    @create DataObject82
    @create DataObject83
    @create DataObject84
    @create DataObject85
    @create DataObject86
    @create DataObject87
    @create DataObject88
    @create DataObject89
    @create DataObject90
    @create DataObject91        
    @create DataObject92        
    @create DataObject93        
    @create DataObject94        
    @create DataObject95
    @create DataObject96
    @create DataObject97 
    @create DataObject98 
    @create DataObject99
    @dig Master Room
    @dig Master Storage
    @dig Parent: OOC Rooms
    @dig Parent: IC Rooms
    ##  ---------- End linenumber-dbref matching ------------------
    @dolist 100 101 102 103 = @set #[##]=FLOATING SAFE
    
    ##  ----------------- Post-build setup ------------------------
    @dolist [lnum(2,10)]=@tel #[##]=#101
    @dolist [lnum(11,99)]=@desc #[##]=%%R%[space(5)%]This object is required by the game, and should not be touched by anyone other than the game's Code Staff.%%R%%RAttributes:%%R%[columns(sort(setdiff(lattr(me),Desc Created Modified)),20,4)%]%%R
    @dolist [lnum(11,99)]=@set #[##]=SAFE STICKY; @tel #[##]=#101; @link #[##]=#101;
    
    @desc #0=%R%R%R%R%R[center(%chA single point of light.%cn,79)]%R%R%R%R%R
    
    @dolist 100 101 102 103=&_OOC #[##]=YES;&_GRID #[##]=OOC
    
    @name #11=Commands - Global IC
    @name #12=Commands - Global OOC
    @name #13=Commands - Global Admin
    @name #97=Register - Global Objects
    @name #98=Functions - CharGen Specific
    @name #99=Functions - Game Globals
    
    @dig/tel OOC: Welcome Room
    @set here=FLOATING
    &_GRID here=OOC
    &_OOC here=YES
    @parent here=#102
    
    @dig OOC: Rules Agreement Room=Next <N>;n;next
    next
    @set here=FLOATING SAFE 
    &_GRID here=OOC
    &_OOC here=YES
    @parent here=#102
    @open +Agree;agree=#0
    
    agree
    @set here=FLOATING
    &_GRID here=OOC
    &_OOC here=YES
    @parent here=#102
    
    @dig OOC: Idle Room=Idle Room <IR>;ir;idle;idle room,Out <O>;o;out;exit;leave;bye
    idle
    @set here=FLOATING SAFE QUIET BLIND FUBAR DARK
    &_GRID here=OOC
    &_OOC here=YES	
    @parent here=#102
    o
    
    ##  Desc the MR and MS.
    @Desc #100=%R%TThis is the Master Room for all code that is critical to the game. Any objects in this room are searched for matches every time someone types anything on the game. If you are in this room, your underwear is showing, and you should have the common decency to leave. Please do not touch anything in here unless you know what you are doing, and your work is well-communicated to the Admins.%R%R%T%ch%crATTENTION:%cn Coding conventions on this game dictate that all DATA is stored on separate objects and stored in the Master Storage room (#101), NOT on Commands objects! Keep your functions confined to one of the Functions objects in the Master Storage room, as well, please.%R
    
    @conformat #100=Objects:[iter(lcon(#100,OBJECT),%R%b%b[switch(name(%i0),Commands*,%ch%cr[name(%i0)]%cn,System*,%ch%cy[name(%i0)]%cn,%ch%cg[name(%i0)]%cn)] %(%i0[flags(%i0)]%))]%R
    
    @desc #101=%R%TThis is the storage room for all objects that are critical to the game, but do not contain commands that need to be game-wide available. Please do not touch anything in here unless you know what you are doing, and your work is well-communicated to the Admins. If you use a DataObject or CodeObject, the very first step you need to take is to rename your object according to the game code conventions. This removes it from the 'available pool' so that someone else doesn't mess with your stuff.%R
    
    @conformat #101=%b%b%ch%crNext CodeObject:%cn [first(sort(squish(iter(lcon(#101,OBJECT),ifelse(strmatch(name(%i0),CodeObject*),%i0,)))))]%R%b%b%ch%crNext DataObject:%cn [first(sort(squish(iter(lcon(#101,OBJECT),ifelse(strmatch(name(%i0),DataObject*),%i0,)))))]%R%RObjects:[iter(lcon(#101,OBJECT),ifelse(or(strmatch(name(%i0),CodeObject*),strmatch(name(%i0),DataObject*)),,%R%b%b[name(%i0)] %(%i0[flags(%i0)]%)))]%R
    

    Next, you will need to edit your server-side .conf file. This is where you ssh to your server and edit the file using vi, emacs, joe, whatever your editor of choice is. Most server bases have these lines already in there, so you might have to search for the configuration entry and edit it. If they are not present, check your wizhelp entries to ensure that I have the right configuration item, then just add it to your file.

    NOTE: If you are not familiar with your .conf file, then read through it. Read through your wizhelp files on the game. Learn them. These are critical, and you should know them as the owner of your game.

    ##
    ##  Game Configuration setup
    ##
    master_room 100
    player_starting_home 104
    player_starting_room 104
    player_flags NOCOMMAND HALT ANSI COLOR256
    

    Save that file, and then restart your game.


  • Coder

    You can edit the @pcreate lines to have names.

    ABSOLUTELY CHANGE 'secretpassword!!' to something ONLY you know.


  • Coder

    Why..why would you..But you don't nee...

    I ask those of you who read this to ignore it.

    Oh God Why


  • Coder

    I think you might be better off creating a game database then offering that. This way there's no risk of the dbrefs being out of whack because of using other installers or the core SGP db.


 

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