Instructions

Copy and paste the below code into a compatible MUSH or MUX.

MUSHCode for Organization Globals

@set me=quiet
@switch [isdbref(num(Organization Globals))]=0,{think [ansi(hm,INSTALL:)] No "Organization Globals" object found -- creating...;@create Organization Globals},1,{think [ansi(hm,INSTALL:)] "Organization Globals" object already exists... skipping creation.}
think [ansi(hm,INSTALL:)] Setting Organization Globals Flags...
@set Organization Globals = WIZARD
@set Organization Globals = !no_command
@set Organization Globals = !halt
think [ansi(hm,INSTALL:)] Downloading Org Commands...
@STARTUP Organization Globals=@dol [lattr([v(PTR_ORG.DB)]/FUN_NEW.*)]={@function [edit(##,FUN_NEW.,space(0))]=[v(PTR_ORG.DB)],##};@dol [lattr([v(PTR_ORG.DB)]/VAR_*)]={@attribute/access/retroactive [xget(v(PTR_ORG.DB),##)]=Wizard Mortal_Dark}
&CMD_ORG.RANK Organization Globals=$@org/rank *=*:[switch([u([v(PTR_ORG.DB)]/FUN_PLR.Auth.Rank,%#)][match(type(pmatch(locate(%#,%0,*))),PLAYER)][or(lt(round(trunc(secure(%1)),0),1),gt(round(trunc(secure(%1)),0),setr(0,words(edit(xget(xget(pmatch(locate(%#,%0,*)),xget(v(PTR_ORG.DB),VAR_ORG)),CLASSES),#-1 NO SUCH OBJECT VISIBLE,space(0))))))][not(not(match(extract(edit(xget(xget(pmatch(locate(%#,%0,*)),xget(v(PTR_ORG.DB),VAR_ORG)),CLASSES),#-1 NO SUCH OBJECT VISIBLE,space(0)),round(trunc(secure(%1)),0),1),-SKIP-)))][u([v(PTR_ORG.DB)]/FUN_CONTROL.Plr-Plr,%#,pmatch(locate(%#,%0,*)))],0????,u([v(PTR_ORG.DB)]/TRI_ERROR,%#,PLR_!AUTH,@org/rank),10???,u([v(PTR_ORG.DB)]/TRI_ERROR,%#,PLR_!VALID,secure(locate(%#,%0,*))),111??,u([v(PTR_ORG.DB)]/TRI_ERROR,%#,RANK_!VALID,secure(%1)),1101?,u([v(PTR_ORG.DB)]/TRI_ERROR,%#,RANK_SKIPPED,secure(%1)),11000,u([v(PTR_ORG.DB)]/TRI_ERROR,%#,PLR_!CONTROL_PLAYER,secure(locate(%#,%0,*))),11001,u([v(PTR_ORG.DB)]/TRI_RANK.Player,%#,pmatch(locate(%#,%0,*)),round(trunc(secure(%1)),0)),u([v(PTR_ORG.DB)]/TRI_SYSERR,%#))]
&CMD_ORG.COPYRIGHT Organization Globals=$@org/copy*:[pemit(%#,Organization Code v[xget(v(PTR_ORG.DB),DATA_ORG.Version)] -- Created by: Demonic \(1998\))]
&CMD_ORG.COMMANDS-HELP Organization Globals=$@org/command *:[pemit(%#,ifelse(hasattr(v(PTR_ORG.DB),HELP_ORG.%0),[u([v(PTR_ORG.DB)]/TXT_TITLE,ORGANIZATION HELP - [capstr(%0)])][u([v(PTR_ORG.DB)]/HELP_ORG.%0)][u([v(PTR_ORG.DB)]/TXT_ORG.Footer)],[ansi(xget(v(PTR_ORG.DB),FONT_ERROR.Prefix),ERROR:)] That org-command does not exist.))]
&CMD_ORG.FUNCTIONS-HELP Organization Globals=$@org/function *:[pemit(%#,ifelse(hasattr(v(PTR_ORG.DB),HELP_FUN.%0),[u([v(PTR_ORG.DB)]/TXT_TITLE,ORGANIZATION HELP - [capstr(%0)])][u([v(PTR_ORG.DB)]/HELP_FUN.%0)][u([v(PTR_ORG.DB)]/TXT_ORG.Footer)],[ansi(xget(v(PTR_ORG.DB),FONT_ERROR.Prefix),ERROR:)] That org-function does not exist.))]
&CMD_ORG.FUNCTIONS Organization Globals=$@org/functions:[pemit(%#,[u([v(PTR_ORG.DB)]/TXT_TITLE,ORGANIZATION HELP -- Functions)][u([v(PTR_ORG.DB)]/HELP_ORG.Functions)][u([v(PTR_ORG.DB)]/TXT_ORG.FOOTER)])]
&CMD_CLASS.LIST2 Organization Globals=$@org/listclass *:[pemit(%#,ifelse(u([v(PTR_ORG.DB)]/FUN_ORG.Valid,secure(locate(%#,%0,*))),u([v(PTR_ORG.DB)]/TRI_RANK.List,name(secure(locate(%#,%0,*))),secure(locate(%#,%0,*))),u([v(PTR_ORG.DB)]/TRI_ERR.List,secure(locate(%#,%0,*)))))]
&CMD_CLASS.LIST Organization Globals=$@org/listclass:[pemit(%#,u([v(PTR_ORG.DB)]/TRI_RANK.List,DEFAULT,xget(v(PTR_ORG.DB),DATA_MASTER.Room)))]
&CMD_ORG.COMMANDS Organization Globals=$@org/commands:[pemit(%#,[u([v(PTR_ORG.DB)]/TXT_TITLE,ORGANIZATION HELP -- Commands)][u([v(PTR_ORG.DB)]/HELP_ORG.Commands)][u([v(PTR_ORG.DB)]/TXT_ORG.FOOTER)])]
&CMD_ORG.HELP Organization Globals=$@org/help:[pemit(%#,[u([v(PTR_ORG.DB)]/TXT_TITLE,ORGANIZATION HELP -- Main Section)][u([v(PTR_ORG.DB)]/HELP_ORG)][u([v(PTR_ORG.DB)]/TXT_ORG.FOOTER)])]
&CMD_ORG.DETACH Organization Globals=$@org/detach *:[switch([u([v(PTR_ORG.DB)]/FUN_PLR.Auth.Detach,%#)][match(type(pmatch(locate(%#,%0,*))),PLAYER)],0?,u([v(PTR_ORG.DB)]/TRI_ERROR,%#,PLR_!AUTH,@org/detach),10,u([v(PTR_ORG.DB)]/TRI_ORG.Detach.Object,%#,secure(locate(%#,%0,*))),11,u([v(PTR_ORG.DB)]/TRI_ORG.Detach.Player,%#,pmatch(secure(locate(%#,%0,*)))),u([v(PTR_ORG.DB)]/TRI_SYSERR,%#))]
&CMD_ORG.ATTACH Organization Globals=$@org/attach *=*:[switch([u([v(PTR_ORG.DB)]/FUN_PLR.Auth.Attach,%#)][u([v(PTR_ORG.DB)]/FUN_ORG.Valid,secure(%1))][match(type(pmatch(locate(%#,%0,*))),PLAYER)],0??,u([v(PTR_ORG.DB)]/TRI_ERROR,%#,PLR_!AUTH,@org/attach),10?,u([v(PTR_ORG.DB)]/TRI_ERROR,%#,ORG_!VALID,secure(%1)),110,u([v(PTR_ORG.DB)]/TRI_ORG.Attach.Object,%#,secure(locate(%#,%0,*)),secure(%1)),111,u([v(PTR_ORG.DB)]/TRI_ORG.Attach.Player,%#,pmatch(locate(%#,%0,*)),secure(%1)),u([v(PTR_ORG.DB)]/TRI_SYSERR,%#))]
&CMD_ORG.SETCLASS Organization Globals=$@org/setclass */*=*:[switch([u([v(PTR_ORG.DB)]/FUN_PLR.Auth.SetClass,%#,secure(locate(%#,%0,*)))][u([v(PTR_ORG.DB)]/FUN_ORG.Valid,secure(locate(%#,%0,*)))][u([v(PTR_ORG.DB)]/FUN_CONTROL.Plr-Org,%#,secure(locate(%#,%0,*)))][and(lte(round(trunc(secure(%1)),0),trunc(xget(v(PTR_ORG.DB),DATA_RANK.Max))),gte(round(trunc(secure(%1)),0),1))],0???,u([v(PTR_ORG.DB)]/TRI_ERROR,%#,PLR_!AUTH,@org/setclass),10??,u([v(PTR_ORG.DB)]/TRI_ERROR,%#,ORG_!VALID,secure(locate(%#,%0,*))),110?,u([v(PTR_ORG.DB)]/TRI_ERROR,%#,PLR_!CONTROL_ORG,secure(locate(%#,%0,*))),1110,u([v(PTR_ORG.DB)]/TRI_ERROR,%#,SETRANK_!VALID),1111,u([v(PTR_ORG.DB)]/TRI_ORG.SetClass,%#,secure(locate(%#,%0,*)),round(trunc(secure(%1)),0),secure(%2)),u([v(PTR_ORG.DB)]/TRI_SYSERR,%#))]
&CMD_RANK.LIST2 Organization Globals=$@org/listrank *:[pemit(%#,ifelse(u([v(PTR_ORG.DB)]/FUN_ORG.Valid,secure(locate(%#,%0,*))),u([v(PTR_ORG.DB)]/TRI_RANK.List,name(secure(locate(%#,%0,*))),secure(locate(%#,%0,*))),u([v(PTR_ORG.DB)]/TRI_ERR.List,secure(locate(%#,%0,*)))))]
&CMD_RANK.LIST Organization Globals=$@org/listrank:[pemit(%#,u([v(PTR_ORG.DB)]/TRI_RANK.List,DEFAULT,xget(v(PTR_ORG.DB),DATA_MASTER.Room)))]
&CMD_ORG.LIST2 Organization Globals=$@org/list *:[pemit(%#,ifelse(u([v(PTR_ORG.DB)]/FUN_ORG.Valid,secure(%0)),u([v(PTR_ORG.DB)]/TRI_ORG.List,Sub Organizations: of [name(secure(%0))],secure(%0)),[u([v(PTR_ORG.DB)]/DATA_ERROR.Prefix)] [ansi(xget(v(PTR_ORG.DB),FONT_ERROR.Text),u([v(PTR_ORG.DB)]/ERR_ORG_!Valid,secure(%0)))]))]
&CMD_ORG.LIST Organization Globals=$@org/list:[pemit(%#,u([v(PTR_ORG.DB)]/TRI_ORG.List,Master Organizations,xget(v(PTR_ORG.DB),DATA_MASTER.Room)))]
&CMD_ORG.RENAME Organization Globals=$@org/rename *=*:[switch([u([v(PTR_ORG.DB)]/FUN_PLR.Auth.Org,%#)][u([v(PTR_ORG.DB)]/FUN_ORG.Valid,secure(locate(%#,%0,*)))][u([v(PTR_ORG.DB)]/FUN_CONTROL.Plr-Org,%#,secure(locate(%#,%0,*)))],0??,u([v(PTR_ORG.DB)]/TRI_ERROR,%#,PLR_!AUTH,@org/rename),10?,u([v(PTR_ORG.DB)]/TRI_ERROR,%#,ORG_!VALID,secure(locate(%#,%0,*))),110,u([v(PTR_ORG.DB)]/TRI_ERROR,%#,PLR_!CONTROL_ORG,secure(locate(%#,%0,*))),111,u([v(PTR_ORG.DB)]/TRI_ORG.Rename,%#,secure(locate(%#,%0,*)),secure(%1)),u([v(PTR_ORG.DB)]/TRI_SYSERR,%#))]
&CMD_ORG.CREATE Organization Globals=$@org/create *:[switch([u([v(PTR_ORG.DB)]/FUN_PLR.Auth.Org,%#)][gte(words(lcon(xget(v(PTR_ORG.DB),DATA_MASTER.Room))),trunc(xget(v(PTR_ORG.DB),DATA_MASTER.Max)))],0?,u([v(PTR_ORG.DB)]/TRI_ERROR,%#,PLR_!AUTH,@org/create),11,u([v(PTR_ORG.DB)]/TRI_ERROR,%#,ORGS_MAXED),10,u([v(PTR_ORG.DB)]/TRI_ORG.New,%#,secure(%0)),u([v(PTR_ORG.DB)]/TRI_SYSERR,%#))]
&CMD_ORG.PROMOTE Organization Globals=$@org/promote *:[switch([u([v(PTR_ORG.DB)]/FUN_PLR.Auth.Promote,%#)][match(type(pmatch(locate(%#,%0,*))),PLAYER)][u([v(PTR_ORG.DB)]/FUN_CONTROL.Plr-Plr,%#,pmatch(locate(%#,%0,*)))][not(not(words(edit(setr(1,extract(edit(xget(xget(pmatch(locate(%#,%0,*)),xget(v(PTR_ORG.DB),VAR_ORG)),CLASSES),#-1 NO SUCH OBJECT VISIBLE,space(0)),inc(xget(pmatch(locate(%#,%0,*)),xget(v(PTR_ORG.DB),VAR_RANK))),99)),-SKIP-,space(0)))))],0???,u([v(PTR_ORG.DB)]/TRI_ERROR,%#,PLR_!AUTH,@org/promote),10??,u([v(PTR_ORG.DB)]/TRI_ERROR,%#,PLR_!VALID,secure(locate(%#,%0,*))),110?,u([v(PTR_ORG.DB)]/TRI_ERROR,%#,PLR_!CONTROL_PLAYER,pmatch(secure(locate(%#,%0,*)))),1110,u([v(PTR_ORG.DB)]/TRI_ERROR,%#,PLR_RANK_MAX,pmatch(locate(%#,%0,*))),1111,u([v(PTR_ORG.DB)]/TRI_RANK.Player,%#,pmatch(locate(%#,%0,*)),add(xget(pmatch(locate(%#,%0,*)),xget(v(PTR_ORG.DB),VAR_RANK)),match(%q1,first(edit(%q1,-SKIP-,space(0)))))),u([v(PTR_ORG.DB)]/TRI_SYSERR,%#))]
&CMD_ORG.DEMOTE Organization Globals=$@org/demote *:[switch([u([v(PTR_ORG.DB)]/FUN_PLR.Auth.Demote,%#)][match(type(pmatch(locate(%#,%0,*))),PLAYER)][u([v(PTR_ORG.DB)]/FUN_CONTROL.Plr-Plr,%#,pmatch(locate(%#,%0,*)))][not(not(words(edit(setr(1,extract(edit(xget(xget(pmatch(locate(%#,%0,*)),xget(v(PTR_ORG.DB),VAR_ORG)),CLASSES),#-1 NO SUCH OBJECT VISIBLE,space(0)),1,dec(xget(pmatch(locate(%#,%0,*)),xget(v(PTR_ORG.DB),VAR_RANK))))),-SKIP-,space(0)))))],0???,u([v(PTR_ORG.DB)]/TRI_ERROR,%#,PLR_!AUTH,@org/demote),10??,u([v(PTR_ORG.DB)]/TRI_ERROR,%#,PLR_!VALID,secure(locate(%#,%0,*))),110?,u([v(PTR_ORG.DB)]/TRI_ERROR,%#,PLR_!CONTROL_PLAYER,secure(locate(%#,%0,*))),1110,u([v(PTR_ORG.DB)]/TRI_ERROR,%#,PLR_RANK_MIN,pmatch(locate(%#,%0,*))),1111,u([v(PTR_ORG.DB)]/TRI_RANK.Player,%#,pmatch(locate(%#,%0,*)),sub(xget(pmatch(locate(%#,%0,*)),xget(v(PTR_ORG.DB),VAR_RANK)),match(revwords(%q1),first(edit(revwords(%q1),-SKIP-,space(0)))))),u([v(PTR_ORG.DB)]/TRI_SYSERR,%#))]
&CMD_ORG.TITLE Organization Globals=$@org/title *=*:[switch([u([v(PTR_ORG.DB)]/FUN_PLR.Auth.Title,%#)][match(type(pmatch(secure(locate(%#,%0,*)))),PLAYER)][u([v(PTR_ORG.DB)]/FUN_CONTROL.Plr-Plr,%#,pmatch(secure(locate(%#,%0,*))))],0??,u([v(PTR_ORG.DB)]/TRI_ERROR,%#,PLR_!AUTH,@org/title),10?,u([v(PTR_ORG.DB)]/TRI_ERROR,%#,PLR_!VALID,secure(locate(%#,%0,*))),110,u([v(PTR_ORG.DB)]/TRI_ERROR,%#,PLR_!CONTROL_PLAYER,pmatch(secure(locate(%#,%0,*)))),111,u([v(PTR_ORG.DB)]/TRI_TITLE.Ok,%#,pmatch(secure(locate(%#,%0,*))),mid(secure(%1),0,xget(v(PTR_ORG.DB),DATA_TITLE.Min))),u([v(PTR_ORG.DB)]/TRI_SYSERR,%#))]
&CMD_ORG.WHO Organization Globals=$@org/who*:@switch [u([v(PTR_ORG.DB)]/FUN_PLR.Auth.Who,%#)][u([v(PTR_ORG.DB)]/FUN_ORG.Valid,setr(0,ifelse(words(%0),trim(secure(%0)),masterorg(owner(%#)))))][or(member(lparent(%q0),xget(%#,xget(v(PTR_ORG.DB),VAR_ORG))),or(member(lparent(xget(%#,xget(v(PTR_ORG.DB),VAR_ORG))),%q0),orflags(%#,Wr)))]=0??,{think [u([v(PTR_ORG.DB)]/TRI_ERROR,%#,PLR_!AUTH,@org/who)]},10?,{think [u([v(PTR_ORG.DB)]/TRI_ERROR,%#,ORG_!VALID,trim(secure(%0)))]},110,{think [u([v(PTR_ORG.DB)]/TRI_ERROR,%#,!PART_OF_ORG,%q0)]},111,{@tr [v(PTR_ORG.DB)]/TRI_ORG.Who=%#,%q0},{think [u([v(PTR_ORG.DB)]/TRI_SYSERR,%#)]}
&CMD_ORG.CWHO Organization Globals=$@org/cwho*:@switch [u([v(PTR_ORG.DB)]/FUN_PLR.Auth.CWho,%#)][u([v(PTR_ORG.DB)]/FUN_ORG.Valid,setr(0,ifelse(words(%0),trim(secure(%0)),masterorg(owner(%#)))))][or(member(lparent(%q0),xget(%#,xget(v(PTR_ORG.DB),VAR_ORG))),or(member(lparent(xget(%#,xget(v(PTR_ORG.DB),VAR_ORG))),%q0),orflags(%#,Wr)))]=0??,{think [u([v(PTR_ORG.DB)]/TRI_ERROR,%#,PLR_!AUTH,@org/who)]},10?,{think [u([v(PTR_ORG.DB)]/TRI_ERROR,%#,ORG_!VALID,trim(secure(%0)))]},110,{think [u([v(PTR_ORG.DB)]/TRI_ERROR,%#,!PART_OF_ORG,%q0)]},111,{@tr [v(PTR_ORG.DB)]/TRI_ORG.CWho=%#,%q0},{think [u([v(PTR_ORG.DB)]/TRI_SYSERR,%#)]}
@switch [isdbref(num(Organization Database))]=0,{think [ansi(hm,INSTALL:)] No "Organization Database" object found -- creating...;@create Organization Database},1,{think [ansi(hm,INSTALL:)] "Organization Database" object already exists... skipping creation.}
@set Organization Database = WIZARD
@set Organization Database = !no_command
@set Organization Database = !halt
think [ansi(hm,INSTALL:)] Downloading Org Fonts...
&FONT_RANKLIST.TEXT Organization Database=nc
&FONT_RANKLIST.BORDER Organization Database=hb
&FONT_FOOTER.CMDS Organization Database=hc
&FONT_FOOTER.INFO Organization Database=hb
&FONT_TITLE.TEXT Organization Database=hc
&FONT_TITLE.BORDER Organization Database=hb
&FONT_ORGLIST.BORDER Organization Database=hb
&FONT_ORGLIST.NUMBERS Organization Database=hc
&FONT_ORGLIST.NAMES Organization Database=hm
&FONT_ORGLIST.TEXT Organization Database=hc
&FONT_ERROR.PREFIX Organization Database=hr
&FONT_ERROR.TXT Organization Database=n
&FONT_GAME.PREFIX Organization Database=hg
&FONT_WHO.Border Organization Database=hb
&FONT_WHO.Header Organization Database=hc
think [ansi(hm,INSTALL:)] Downloading Org Help Files...
&HELP_ORG.RENAME Organization Database=Command: @org/rename <OrgDB#>=<name>%r%rRenames the specified Organization to <name>.
&HELP_ORG.FUNCTIONS Organization Database=[ljust(org\(\),15)] - Returns OrgDB# of player.%r[ljust(lporgs\(\),15)] - Returns list of parent-org DB#'s of player.%r[ljust(masterorg\(\),15)] - Returns master-org DB# of player.%r%r[ljust(orgname\(\),15)] - Returns org name of player.%r[ljust(orgabb\(\),15)] - Returns org abbreviation of player.%r[ljust(masterorgname\(\),15)] - Returns master-org name of player.%r[ljust(masterorgabb\(\),15)] - Returns master-org-abbreviation of player.%r%r[ljust(rank\(\),15)] - Returns numerical rank of player.%r[ljust(class\(\),15)] - Returns class-name of player.%r[ljust(title\(\),15)] - Returns the title of a player.%r%r* TYPE '@org/function <function>' for more info. (i.e. @org/function rank)
&HELP_ORG.COMMANDS Organization Database=[ljust(@org/list,17)] - Lists current Organizations or SubOrgs.%r[ljust(@org/create,17)] - Creates a new Organization.%r[ljust(@org/rename,17)] - Renames an existing Organization.%r%r[ljust(@org/attach,17)] - Attaches a player or org to an Organization.%r[ljust(@org/detach,17)] - Detaches a player or org from an Organization.%r%r[ljust(@org/setclass,17)] - Sets the class-name for an Organization rank.%r[ljust(@org/listclass,17)] - Lists the class-names for an Organization.%r%r[ljust(@org/rank,17)] - Sets the rank of a player.%r[ljust(@org/promote,17)] - Advance a player one rank-step.%r[ljust(@org/demote,17)] - Decrease a player one rank-step.%r[ljust(@org/title,17)] - Sets the title of a player.%r%r[ljust(@org/who,17)] - Lists players in an Org \(uses own org if none specified\).%r[ljust(@org/cwho,17)] - Lists all connected players in an Org.%r%r* TYPE '@org/command <switch>' for more info. (i.e. @org/command setclass)
&HELP_FUN.MASTERORGNAME Organization Database=Function: masterorgname(<person>)%r%rThis is the exact same as name(masterorg(<person>)), but more efficient. It returns the name of the Master Org of the specified person's org.
&HELP_FUN.ORGNAME Organization Database=Function: orgname(<person>)%r%rThis is the exact same as name(org(<person>)), but more efficient. It returns the name of the org the specified person is attached to.
&HELP_FUN.CLASS Organization Database=Function: class(<person>)%r%rReturns the class-name of the specified person. If there is no class-name defined, then the numerical rank is returned.
&HELP_FUN.RANK Organization Database=Function: rank(<person>)%r%rReturns the numerical rank of the specified person.
&HELP_FUN.LPORGS Organization Database=Function: lporgs(<object>)%r%rReturns the list of DB#'s that correspond to all of the Organizations that the player is controlled by. <object> can be either a PLAYER or an ORGANIZATION.
&HELP_FUN.MASTERORG Organization Database=Function: masterorg(<player>)%r%rReturns the DB# of the Master Organization of the player's current Org.
&HELP_FUN.ORG Organization Database=Function: org(<player>)%r%rReturns the DB# of the Organization that the player is attached to.
&HELP_ORG.DEMOTE Organization Database=Command: @org/demote <player>%r%rDecreases the specified player's rank one step. A step may NOT necess- arily be equivalent to one rank. The reason for this is because any ranks that are classed "-SKIP-" are automatically skipped in the demote process.%r%rYou need power-demote to use this command, and even then there are limitations. You can only demote a player that you have "power" over as indicated in "@org/help".
&HELP_ORG.PROMOTE Organization Database=Command: @org/promote <player>%r%rIncreases the specified player's rank one step. A step may NOT necess- arily be equivalent to one rank. The reason for this is because any ranks that are classed "-SKIP-" are automatically skipped in the promote process.%r%rYou need power-promote to use this command, and even then there are limitations. You can only promote a player that you have "power" over as indicated in "@org/help".
&HELP_ORG.RANK Organization Database=Command: @org/rank <player>=<rank #>%r%rSets a player's rank to the specified number. If the rank is classed as "-SKIP-", you will not be able to set it.%r%rYou need power-rank to use this command, and even then there are limitations. You can only rank a PLAYER who you have "power' over as specified in "@org/help". You can only rank an ORGANIZATION if it is either the same as your org, or a suborg of it.
&HELP_ORG.DETACH Organization Database=Command: @org/detach <object>%r%rThis command detaches a PLAYER or ORGANIZATION from its current org. If you detach a PLAYER, they will automatically be reset to the "Generic Org". If you detach an ORGANIZATION, it will automatically become a Master Org.%r%rYou need power-organize to use this command, and even then there are limitations. You can only detach a PLAYER who you have "power" over as specified in "@org/help". You can only detach an ORGANIZATION if it is either the same as your org, or a suborg of it.
&HELP_ORG.ATTACH Organization Database=Command: @org/attach <object>=<OrgDB#>%r%rYou can use this command to do one of two things. If the <object> you specify is a PLAYER, it will set that player's Organization to the specified OrgDB#. If the <object> you specify is an ORGANIZATION, it will make that org a Suborg of the specified OrgDB#.%r%rYou need power-organize to use this command, and even then there are limitations. You can only attach a PLAYER who you have "power" over as specified in "@org/help". You can only attach an ORGANIZATION if you @org/created it yourself. In -both- case the target OrgDB# must either be the same as your org, or a suborg of it.
&HELP_ORG.SETCLASS Organization Database=Command: @org/setclass <OrgDB#>/<rank#>=<text>%r%rThis probably looks a little complex, so perhaps an example will help. Let's pretend you have an Org with DB #12345, and you want to call Rank 5 "Ensign". You would type: @org/setclass #12345/5=Ensign%r%rIf you specify <text> as "skip", it will automatically skip that class during a promotion or demotion. %r%r\[ NOTE \]%rSuborgs inherit their ranks from their Master Org. Therefore, it is not necessary to define classes for any Suborgs unless you want them to differ from its Master Org.
&HELP_ORG.CREATE Organization Database=Command: @org/create <name>%r%rCreates a new Organization called <name>. Once created, the org will AUTOMATICALLY become a new Master Org. You must use @org/attach to make it a suborg. Do -NOT- leave newly created orgs as a Master Org unless you are a Wizard.
&HELP_ORG.LIST Organization Database=Command: @org/list \[<OrgDB#>\]%r%rIf you do not supply an argument, this command will list all of the Master Orgs currently in the game with their corresponding db#'s. If you supply an OrgDB# as an argument, it will list any suborgs of the indicated org.
&HELP_ORG.WHO Organization Database=Command: @org/who \[<OrgDB#>\]%r%rGives a listing of all players within an Organization. If no OrgDB# is specified\, it will use the MasterOrg that you are a part of.
&HELP_ORG.CWHO Organization Database=Command: @org/cwho \[<OrgDB#>\]%r%rGives a listing of all CONNECTED players within an Organization. If no OrgDB# is specified\, it will use the MasterOrg that you are a part of.
&HELP_ORG Organization Database=The MUX Org-system works much like a family tree. It starts with a given group of "Master Orgs" (parents), then branches into many separate "Sub Orgs" (children). Each of the Sub Orgs can have Sub Orgs of their own. Here is a visual example of how this works:%r%r[space(8)]Empire 1[space(14)]Empire 2[space(17)]Empire 3%r[space(12)]|[space(21)]|[space(24)]|%r[space(4)].-------.-------.[space(9)].---^---.[space(8)].-------.---^---.-------.%r%bBranch1 Branch2 Branch3%b%b%bBranch1 Branch2%b%bBranch1 Branch2 Branch3 Branch4%r%rThe purpose of this tree-system is to help determine who has "power" over who. In order to have "power" over someone else, the following must be true:%r[space(5)]1) The person must be in your Org -OR- a suborg of your Org.%r[space(5)]2) The person must be LOWER rank than you. %r%rPlease note that "power" is just a generic term, and nothing grandiose.
&HELP_FUN.ORGABB Organization Database=Function: orgabb(<person>)%r%rThis returns an abbreviation of a player's Org. The abbreviation is the first three letters of EACH word of the Org's Name.%r%rExample: Clan Grey Wolfpack = ClaGreWol%rExample: Faction Firehawks%b = FacFir
&HELP_FUN.MASTERORGABB Organization Database=Function: masterorgabb(<person>)%r%rThis returns an abbreviation of a player's Master Org. The abbreviation is the first three letters of EACH word of the Master Org's Name.%r%rExample: Clan Grey Wolfpack = ClaGreWol%rExample: Faction Firehawks%b = FacFir
&HELP_ORG.TITLE Organization Database=Command: @org/title <player>=<text>%r%rAllows setting an customized title to a player. <text> must be [xget(v(PTR_ORG.DB),DATA_TITLE.Min)] characters or less.
&HELP_FUN.TITLE Organization Database=Function: title(<person>)%r%rReturns the title of the specified person. If indicated person is not valid, this function returns #-1. If the person's title is blank, this function returns None. If the person's title is hidden and you do not have proper powers, this function returns \(Hidden\).
&HELP_ORG.LISTRANK Organization Database=Command: @org/listrank <OrgDB#>%r%rThis will list all of the ranks and their corresponding class-names for the indicated OrgDB#. Any class listed as "-SKIP-" is an undefined class and will be skipped during promotions and demotions.
&HELP_ORG.LISTCLASS Organization Database=Command: @org/listclass <OrgDB#>%r%rThis will list all of the ranks and their corresponding class-names for the indicated OrgDB#. Any class listed as "-SKIP-" is an undefined class and will be skipped during promotions and demotions.
think [ansi(hm,INSTALL:)] Downloading Org Data...
&DATA_MASTER.ROOM Organization Database=<DB# of Master Org Room>
&DATA_MASTER.MAX Organization Database=20
&DATA_ORG.ADMIN Organization Database=<DB# of Admin Org Object>
&DATA_ORG.GENERIC Organization Database=<DB# of Generic Org Object>
&DATA_RANK.MAX Organization Database=15
&DATA_ORG.VERSION Organization Database=3.1
&DATA_TITLE.MIN Organization Database=40
&DATA_GAME.PREFIX Organization Database=[ansi(xget(v(PTR_ORG.DB),FONT_GAME.Prefix),GAME:)]
&DATA_ERROR.PREFIX Organization Database=[ansi(xget(v(PTR_ORG.DB),FONT_ERROR.Prefix),ERROR:)]
think [ansi(hm,INSTALL:)] Downloading Org Variables...
&VAR_TITLE Organization Database=Title
&VAR_FLAG Organization Database=OrgFlag
&VAR_ORG Organization Database=Organization
&VAR_RANK Organization Database=Rank
think [ansi(hm,INSTALL:)] Downloading Org Error Messages...
&ERR_PLR_!AUTH Organization Database=You are not authorized to '%0'.
&ERR_ORGS_MAXED Organization Database=There number of Master Orgs has already reached maximum.
&ERR_ORG_!VALID Organization Database='%0' is not a valid Organization. Be certain you are using its db#.
&ERR_PLR_!CONTROL_ORG Organization Database=You do not have poewr over Org [name(%0)] \(%0\).
&ERR_PLR_!CONTROL_PLAYER Organization Database=You do not have power over Player [name(%0)] \(%0\).
&ERR_PLR_!VALID Organization Database=There is no such player '%0'. Please check for typos.
&ERR_!ATTACH_UNREG Organization Database=That player has not registered via CharGen yet.
&ERR_OBJ_ALREADY_DETACHED Organization Database=[name(%0)] \(%0\) is already a Master Org. First @org/attach.
&ERR_PLR_ALREADY_DETACHED Organization Database=[name(%0)] \(%0\) is already detached. First @org/attach.
&ERR_OBJ_ALREADY_ATTACHED Organization Database=[name(%0)] \(%0\) is already a Sub-Org. First @org/detach.
&ERR_PLR_ALREADY_ATTACHED Organization Database=[name(%0)] \(%0\) is already attached to an Org. First @org/detach.
&ERR_PLR_RANK_MIN Organization Database=[name(%0)] is already at the lowest rank.
&ERR_PLR_RANK_MAX Organization Database=[name(%0)] is already at the highest rank.
&ERR_RANK_!VALID Organization Database='%0' is not a valid rank for that Organization.
&ERR_RANK_SKIPPED Organization Database=That rank is set SKIP and cannot be set.
&ERR_SETRANK_!VALID Organization Database=The specified rank to set must be between 0 and [v(DATA_RANK.Max)].
&ERR_!PART_OF_ORG Organization Database=But you are not a part of Organization [name(%0)].
think [ansi(hm,INSTALL:)] Downloading Org Functions...
&FUN_PLR.AUTH.SETCLASS Organization Database=[or(or(hasflag(%0,Wizard),hasflag(%0,Royalty)),and(gte(trunc(xget(%0,xget(v(PTR_ORG.DB),VAR_RANK))),trunc(xget(xget(%0,xget(v(PTR_ORG.DB),VAR_ORG)),POW_SETCLASS))),not(member(lparent(xget(%0,xget(v(PTR_ORG.DB),VAR_ORG))),xget(v(PTR_ORG.DB),DATA_ORG.Generic)))))]
&FUN_PARENTS Organization Database=[iter(%0,remove(lparent(%0),%0))]
&FUN_NEW.RANKNAME Organization Database=[ifelse(and(and(words(xget(locate(%#,%0,*),xget(v(PTR_ORG.DB),VAR_RANK))),gte(trunc(xget(locate(%#,%0,*),xget(v(PTR_ORG.DB),VAR_RANK))),1)),words(xget(locate(%#,%0,*),xget(v(PTR_ORG.DB),VAR_ORG)))),ifelse(words(edit(setr(9,extract(xget(xget(locate(%#,%0,*),xget(v(PTR_ORG.DB),VAR_ORG)),CLASSES),xget(locate(%#,%0,*),xget(v(PTR_ORG.DB),VAR_RANK)),1)),-SKIP-,space(0))),edit(%q9,_,space(1)),xget(locate(%#,%0,*),(VAR_RANK))),#-1)]
&FUN_NEW.ORGABB Organization Database=[ifelse(u(FUN_ORG.Valid,xget(locate(%#,%0,*),xget(v(PTR_ORG.DB),VAR_ORG))),u(FUN_ORG.Abb,name(xget(locate(%#,%0,*),xget(v(PTR_ORG.DB),VAR_ORG)))),ifelse(u(FUN_ORG.Valid,locate(%#,%0,*)),u(FUN_ORG.Abb,name(secure(locate(%#,%0,*)))),#-1))]
&FUN_NEW.TITLE Organization Database=[ifelse(words(xget(locate(%#,%0,*),xget(v(PTR_Org.DB),VAR_TITLE))),xget(locate(%#,%0,*),xget(v(PTR_Org.DB),VAR_TITLE)),None)]
&FUN_NEW.MASTERORGABB Organization Database=[ifelse(u(FUN_ORG.Valid,xget(locate(%#,%0,*),xget(v(PTR_ORG.DB),VAR_ORG))),u(FUN_ORG.Abb,name(u(FUN_Masterorg,xget(locate(%#,%0,*),xget(v(PTR_ORG.DB),VAR_ORG))))),ifelse(u(FUN_ORG.Valid,locate(%#,%0,*)),u(FUN_ORG.Abb,name(u(FUN_Masterorg,locate(%#,%0,*)))),#-1))]
&FUN_ORG.ABB Organization Database=[ifelse(eq(words(%0),0),#-1,ifelse(eq(words(%0),1),mid(%0,0,3),trim(edit(iter(%0,mid(##,0,1)),space(1),space(0)))))]
&FUN_ORG.VALID Organization Database=[eq(trunc(xget(%0,v(VAR_FLAG))),1)]
&FUN_ORG.VALID2 Organization Database=[edit(hasflag(%0,),#-1 NOT FOUND,0)]
&FUN_CONTROL.PLR-ORG Organization Database=[or(hasflag(%0,Wizard),or(and(hasflag(%0,Royalty),not(member(setr(8,lparent(%1)),xget(v(PTR_ORG.DB),DATA_ORG.Admin)))),and(not(member(%q8,xget(v(PTR_ORG.DB),DATA_ORG.Generic))),member(%q8,xget(%0,xget(v(PTR_ORG.DB),VAR_ORG))))))]
&FUN_CONTROL.PLR-PLR Organization Database=[or(hasflag(%0,Wizard),and(and(not(hasflag(%1,Wizard)),not(hasflag(%1,Royalty))),or(hasflag(%0,Royalty),and(u(FUN_CONTROL.Plr-Org,%0,xget(%1,xget(v(PTR_ORG.DB),VAR_ORG))),gt(trunc(xget(%0,xget(v(PTR_ORG.DB),VAR_RANK))),trunc(xget(%1,xget(v(PTR_ORG.DB),VAR_RANK))))))))]
&FUN_PLR.AUTH.RANK Organization Database=[or(or(hasflag(%0,Wizard),hasflag(%0,Royalty)),and(gte(trunc(xget(%0,xget(v(PTR_ORG.DB),VAR_RANK))),trunc(xget(xget(%0,xget(v(PTR_ORG.DB),VAR_ORG)),POW_RANK))),not(member(lparent(xget(%0,xget(v(PTR_ORG.DB),VAR_ORG))),xget(v(PTR_ORG.DB),DATA_ORG.Generic)))))]
&FUN_PLR.AUTH.ORG Organization Database=[or(or(hasflag(%0,Wizard),hasflag(%0,Royalty)),and(gte(trunc(xget(%0,xget(v(PTR_ORG.DB),VAR_RANK))),trunc(xget(xget(%0,xget(v(PTR_ORG.DB),VAR_ORG)),POW_ORG))),not(member(lparent(xget(%0,xget(v(PTR_ORG.DB),VAR_ORG))),xget(v(PTR_ORG.DB),DATA_ORG.Generic)))))]
&FUN_PLR.AUTH.PROMOTE Organization Database=[or(or(hasflag(%0,Wizard),hasflag(%0,Royalty)),and(gte(trunc(xget(%0,xget(v(PTR_ORG.DB),VAR_RANK))),trunc(xget(xget(%0,xget(v(PTR_ORG.DB),VAR_ORG)),POW_PROMOTE))),not(member(lparent(xget(%0,xget(v(PTR_ORG.DB),VAR_ORG))),xget(v(PTR_ORG.DB),DATA_ORG.Generic)))))]
&FUN_PLR.AUTH.DEMOTE Organization Database=[or(or(hasflag(%0,Wizard),hasflag(%0,Royalty)),and(gte(trunc(xget(%0,xget(v(PTR_ORG.DB),VAR_RANK))),trunc(xget(xget(%0,xget(v(PTR_ORG.DB),VAR_ORG)),POW_DEMOTE))),not(member(lparent(xget(%0,xget(v(PTR_ORG.DB),VAR_ORG))),xget(v(PTR_ORG.DB),DATA_ORG.Generic)))))]
&FUN_PLR.AUTH.WHO Organization Database=[or(or(hasflag(%0,Wizard),hasflag(%0,Royalty)),and(gte(trunc(xget(%0,xget(v(PTR_ORG.DB),VAR_RANK))),trunc(xget(xget(%0,xget(v(PTR_ORG.DB),VAR_ORG)),POW_WHO))),not(member(lparent(xget(%0,xget(v(PTR_ORG.DB),VAR_ORG))),xget(v(PTR_ORG.DB),DATA_ORG.Generic)))))]
&FUN_PLR.AUTH.CWHO Organization Database=[or(or(hasflag(%0,Wizard),hasflag(%0,Royalty)),and(gte(trunc(xget(%0,xget(v(PTR_ORG.DB),VAR_RANK))),trunc(xget(xget(%0,xget(v(PTR_ORG.DB),VAR_ORG)),POW_CWHO))),not(member(lparent(xget(%0,xget(v(PTR_ORG.DB),VAR_ORG))),xget(v(PTR_ORG.DB),DATA_ORG.Generic)))))]
&FUN_NEW.RANK Organization Database=[ifelse(and(words(xget(locate(%#,%0,*),xget(v(PTR_ORG.DB),VAR_RANK))),gte(trunc(xget(locate(%#,%0,*),xget(v(PTR_ORG.DB),VAR_RANK))),1)),xget(locate(%#,%0,*),xget(v(PTR_ORG.DB),VAR_RANK)),#-1)]
&FUN_NEW.ORG Organization Database=[ifelse(u(FUN_ORG.Valid,xget(locate(%#,%0,*),xget(v(PTR_ORG.DB),VAR_ORG))),xget(locate(%#,%0,*),xget(v(PTR_ORG.DB),VAR_ORG)),ifelse(u(FUN_ORG.Valid,locate(%#,%0,*)),secure(locate(%#,%0,*)),#-1))]
&FUN_NEW.ORGNAME Organization Database=[ifelse(u(FUN_ORG.Valid,xget(locate(%#,%0,*),xget(v(PTR_ORG.DB),VAR_ORG))),name(xget(locate(%#,%0,*),xget(v(PTR_ORG.DB),VAR_ORG))),ifelse(u(FUN_ORG.Valid,locate(%#,%0,*)),name(secure(locate(%#,%0,*))),#-1))]
&FUN_NEW.MASTERORG Organization Database=[ifelse(u(FUN_ORG.Valid,xget(locate(%#,%0,*),xget(v(PTR_ORG.DB),VAR_ORG))),u(FUN_Masterorg,xget(locate(%#,%0,*),xget(v(PTR_ORG.DB),VAR_ORG))),ifelse(u(FUN_ORG.Valid,locate(%#,%0,*)),u(FUN_Masterorg,locate(%#,%0,*)),#-1))]
&FUN_MASTERORG Organization Database=[last(u(FUN_LpOrgs,%0))]
&FUN_NEW.MASTERORG.NAME Organization Database=[ifelse(u(FUN_ORG.Valid,xget(locate(%#,%0,*),xget(v(PTR_ORG.DB),VAR_ORG))),name(u(FUN_Masterorg,xget(locate(%#,%0,*),xget(v(PTR_ORG.DB),VAR_ORG)))),ifelse(u(FUN_ORG.Valid,locate(%#,%0,*)),name(u(FUN_Masterorg,locate(%#,%0,*))),#-1))]
&FUN_NEW.MASTERORGNAME Organization Database=[ifelse(u(FUN_ORG.Valid,xget(locate(%#,%0,*),xget(v(PTR_ORG.DB),VAR_ORG))),name(u(FUN_Masterorg,xget(locate(%#,%0,*),xget(v(PTR_ORG.DB),VAR_ORG)))),ifelse(u(FUN_ORG.Valid,locate(%#,%0,*)),name(u(FUN_Masterorg,locate(%#,%0,*))),#-1))]
&FUN_LPORGS Organization Database=[trim(edit(remove(lparent(%0),xget(v(PTR_ORG.DB),DATA_MASTER.Room)),#-1,space(0)))]
&FUN_NEW.LPORGS Organization Database=[ifelse(u(FUN_ORG.Valid,xget(locate(%#,%0,*),xget(v(PTR_ORG.DB),VAR_ORG))),u(FUN_LPorgs,xget(locate(%#,%0,*),xget(v(PTR_ORG.DB),VAR_ORG))),ifelse(u(FUN_ORG.Valid,locate(%#,%0,*)),u(FUN_LPorgs,locate(%#,%0,*)),#-1))]
&FUN_NEW.CLASS Organization Database=[ifelse(and(and(words(xget(locate(%#,%0,*),xget(v(PTR_ORG.DB),VAR_RANK))),gte(trunc(xget(locate(%#,%0,*),xget(v(PTR_ORG.DB),VAR_RANK))),1)),words(xget(locate(%#,%0,*),xget(v(PTR_ORG.DB),VAR_ORG)))),ifelse(words(edit(setr(9,extract(xget(xget(locate(%#,%0,*),xget(v(PTR_ORG.DB),VAR_ORG)),CLASSES),xget(locate(%#,%0,*),xget(v(PTR_ORG.DB),VAR_RANK)),1)),-SKIP-,space(0))),edit(%q9,_,space(1)),xget(locate(%#,%0,*),(VAR_RANK))),#-1)]
&FUN_PLR.AUTH.ATTACH Organization Database=[or(or(hasflag(%0,Wizard),hasflag(%0,Royalty)),and(gte(trunc(xget(%0,xget(v(PTR_ORG.DB),VAR_RANK))),trunc(xget(xget(%0,xget(v(PTR_ORG.DB),VAR_ORG)),POW_ATTACH))),not(member(lparent(xget(%0,xget(v(PTR_ORG.DB),VAR_ORG))),xget(v(PTR_ORG.DB),DATA_ORG.Generic)))))]
&FUN_PLR.AUTH.DETACH Organization Database=[or(or(hasflag(%0,Wizard),hasflag(%0,Royalty)),and(gte(trunc(xget(%0,xget(v(PTR_ORG.DB),VAR_RANK))),trunc(xget(xget(%0,xget(v(PTR_ORG.DB),VAR_ORG)),POW_DETACH))),not(member(lparent(xget(%0,xget(v(PTR_ORG.DB),VAR_ORG))),xget(v(PTR_ORG.DB),DATA_ORG.Generic)))))]
&FUN_PLR.AUTH.TITLE Organization Database=[or(or(hasflag(%0,Wizard),hasflag(%0,Royalty)),and(gte(trunc(xget(%0,xget(v(PTR_ORG.DB),VAR_RANK))),trunc(xget(xget(%0,xget(v(PTR_ORG.DB),VAR_ORG)),POW_TITLE))),not(member(lparent(xget(%0,xget(v(PTR_ORG.DB),VAR_ORG))),xget(v(PTR_ORG.DB),DATA_ORG.Generic)))))]
think [ansi(hm,INSTALL:)] Downloading Org Messages...
&TXT_TITLE Organization Database=[ansi(xget(v(PTR_ORG.DB),FONT_TITLE.Border),[repeat(-,78)]%r<<<<<)][center(ansi(xget(v(PTR_ORG.DB),FONT_TITLE.Text),%0),68)][ansi(xget(v(PTR_ORG.DB),FONT_TITLE.Border),>>>>>%r[repeat(-,78)]%r)]
&TXT_ORG.FOOTER Organization Database=%r%r[ansi(xget(v(PTR_ORG.DB),FONT_FOOTER.Cmds),See also:)] [ljust(ansi(xget(v(PTR_ORG.DB),FONT_FOOTER.Cmds),@org/help),15)] [ansi(xget(v(PTR_ORG.DB),FONT_FOOTER.Info),- General Org help-section.)]%r[space(10)][ljust(ansi(xget(v(PTR_ORG.DB),FONT_FOOTER.Cmds),@org/commands),15)] [ansi(xget(v(PTR_ORG.DB),FONT_FOOTER.Info),- List of Org commands.)]%r[space(10)][ljust(ansi(xget(v(PTR_ORG.DB),FONT_FOOTER.Cmds),@org/functions),15)] [ansi(xget(v(PTR_ORG.DB),FONT_FOOTER.Info),- List of Org functions.)]%r[space(10)][ljust(ansi(xget(v(PTR_ORG.DB),FONT_FOOTER.Cmds),@org/copyright),15)] [ansi(xget(v(PTR_ORG.DB),FONT_FOOTER.Info),- Returns Copyright information.)]
think [ansi(hm,INSTALL:)] Downloading Org Triggers...
&TRI_ORG.NEW Organization Database=[setq(0,create(secure(%1),10))][tel(%q0,xget(v(PTR_ORG.DB),DATA_MASTER.Room))][set(%q0,NO_COMMAND)][set(%q0,CREATED_BY:%0)][set(%q0,MODIFIED_BY:%0)][set(%q0,[v(VAR_FLAG)]:1)][pemit(%0,[u([v(PTR_ORG.DB)]/DATA_GAME.Prefix)] Organization '[secure(%1)]' created with DB# [after(%q0,#)].)][parent(%q0,xget(v(PTR_ORG.DB),DATA_MASTER.Room))]
&TRI_ORG.RENAME Organization Database=[name(%1,secure(%2))][pemit(%0,[u([v(PTR_ORG.DB)]/DATA_GAME.Prefix)] You have renamed Org %1 as '[secure(%2)]'.)]
&TRI_ORG.LIST Organization Database=[ansi(xget(v(PTR_ORG.DB),FONT_ORGLIST.Border),-\[)] [ansi(xget(v(PTR_ORG.DB),FONT_ORGLIST.Text),db#)] [ansi(xget(v(PTR_ORG.DB),FONT_ORGLIST.Border),\]----\[)] [ansi(xget(v(PTR_ORG.DB),FONT_ORGLIST.Text),secure(%0))] [ansi(xget(v(PTR_ORG.DB),FONT_ORGLIST.Border),\][repeat(-,20)])]%r[iter(lcon(v(1)),%r[rjust(ansi(xget(v(PTR_ORG.DB),FONT_ORGLIST.Numbers),%b%b##),6)][space(6)][ansi(xget(v(PTR_ORG.DB),FONT_ORGLIST.Names),name(##))])]%r%r[ansi(xget(v(PTR_ORG.DB),FONT_ORGLIST.Border),-----\[)] [ansi(xget(v(PTR_ORG.DB),FONT_ORGLIST.Text),Total: [words(lcon(v(1)))])] [ansi(xget(v(PTR_ORG.DB),FONT_ORGLIST.Border),\]----- \(Type)] [ansi(xget(v(PTR_Org.DB),FONT_ORGLIST.Text),'@org/list <db#>')] [ansi(xget(v(PTR_Org.DB),FONT_ORGLIST.Border),to view suborgs\))]
&TRI_RANK.LIST Organization Database=[ansi(xget(v(PTR_Org.DB),FONT_RANKLIST.Border),List of Classes for [secure(%0)]:)][ifelse(words(xget(secure(%1),CLASSES)),iter(xget(secure(%1),CLASSES),ansi(xget(v(PTR_Org.DB),FONT_RANKLIST.Text),%r[rjust(#@,4)]. [secure(edit(##,_,space(1)))])),ansi(xget(v(PTR_Org.DB),FONT_RANKLIST.Text),%rNo classes have been set for this org.))]
&TRI_ERR.BADORG Organization Database=ERROR: There is no such org with DB Number '[secure(%0)]'.
&TRI_ERR.BADRANK Organization Database=ERROR: Specified rank must be between 1 and [xget(v(PTR_ORG.DB),DATA_RANK.Max)].
&TRI_ORG.SETCLASS Organization Database=[set(%1,CLASSES:[ifelse(gt(trunc(%2),words(xget(%1,CLASSES))),[xget(%1,CLASSES)] [repeat(cat(-SKIP-,space(0)),dec(sub(%2,words(xget(%1,CLASSES)))))][edit(ifelse(match(%3,*SKIP*),-SKIP-,secure(%3)),space(1),_)],replace(trim(squish(xget(%1,CLASSES))),%2,edit(ifelse(match(%3,*SKIP*),-SKIP-,secure(%3)),space(1),_)))])][pemit(%0,[u([v(PTR_ORG.DB)]/DATA_GAME.Prefix)] Rank %2 set on Org [name(%1)] \(%1\) as Class-Name '[ifelse(match(%3,*SKIP*),-SKIP-,secure(%3))]'.)]
&TRI_ORG.ATTACH.PLAYER Organization Database=[ifelse(or(and(member(xget(%1,xget(v(PTR_ORG.DB),VAR_ORG)),xget(v(PTR_ORG.DB),DATA_ORG.Generic)),lt(trunc(xget(%1,xget(v(PTR_ORG.DB),VAR_RANK))),0)),hasflag(%1,Unregistered)),u([v(PTR_ORG.DB)]/TRI_ERROR,%0,!ATTACH_UNREG),ifelse(or(u([v(PTR_ORG.DB)]/FUN_CONTROL.Plr-Plr,%0,%1),and(1,member(xget(%1,xget(v(PTR_ORG.DB),VAR_ORG)),xget(v(PTR_ORG.DB),DATA_ORG.Generic)))),ifelse(u([v(PTR_ORG.DB)]/FUN_CONTROL.Plr-Org,%0,%2),ifelse(or(or(member(lparent(%2),xget(%1,xget(v(PTR_ORG.DB),VAR_ORG))),member(lparent(xget(%1,xget(v(PTR_ORG.DB),VAR_ORG))),%2)),or(match(xget(%1,xget(v(PTR_ORG.DB),VAR_ORG)),xget(v(PTR_ORG.DB),DATA_ORG.Generic)),not(words(xget(%1,xget(v(PTR_ORG.DB),VAR_ORG)))))),u([v(PTR_ORG.DB)]/TRI_ORG.Attach.Player2,%0,%1,%2),u([v(PTR_ORG.DB)]/TRI_ERROR,%0,PLR_ALREADY_ATTACHED,%1)),u([v(PTR_ORG.DB)]/TRI_ERROR,%0,PLR_!CONTROL_ORG,%2)),u([v(PTR_ORG.DB)]/TRI_ERROR,%0,PLR_!CONTROL_PLAYER,%1)))]
&TRI_ORG.ATTACH.PLAYER2 Organization Database=[set(%1,[xget(v(PTR_ORG.DB),VAR_ORG)]:%2)][set(%1,[xget(v(PTR_ORG.DB),VAR_RANK)]:1)][pemit(%0,[u([v(PTR_ORG.DB)]/DATA_GAME.Prefix)] You have attached [name(%1)] to [name(%2)] \(%2\).%r[u([v(PTR_ORG.DB)]/DATA_GAME.Prefix)] [name(%1)] has been automatically re-ranked to 1.)][pemit(%1,[u([v(PTR_ORG.DB)]/DATA_GAME.Prefix)] [name(%0)] has attached you to [name(%2)] \(%2\).%r[u([v(PTR_ORG.DB)]/DATA_GAME.Prefix)] You have been automatically re-ranked to 1.)]
&TRI_ORG.ATTACH.OBJECT Organization Database=[ifelse(u([v(PTR_ORG.DB)]/FUN_ORG.Valid,%1),ifelse(and(u([v(PTR_ORG.DB)]/FUN_CONTROL.Plr-Org,%0,%1),u([v(PTR_ORG.DB)]/FUN_CONTROL.Plr-Org,%0,%2)),ifelse(match(loc(%1),xget(v(PTR_ORG.DB),DATA_MASTER.Room)),u([v(PTR_ORG.DB)]/TRI_ORG.Attach.Object2,%0,%1,%2),u([v(PTR_ORG.DB)]/TRI_ERROR,%0,OBJ_ALREADY_ATTACHED,%1)),u([v(PTR_ORG.DB)]/TRI_ERROR,%0,PLR_!CONTROL_ORG,%2)),u([v(PTR_ORG.DB)]/TRI_ERROR,%0,ORG_!VALID,%1)]
&TRI_ORG.ATTACH.OBJECT2 Organization Database=[parent(%1,%2)][tel(%1,%2)][pemit(%0,[u([v(PTR_ORG.DB)]/DATA_GAME.Prefix)] [name(%1)] \(%1\) is now a SubOrg of [name(%2)] \(%2\).)][set(%1,MODIFIED_BY:%0)]
&TRI_ORG.DETACH.PLAYER Organization Database=[ifelse(or(u([v(PTR_ORG.DB)]/FUN_CONTROL.Plr-Plr,%0,%1),member(xget(%1,xget(v(PTR_ORG.DB),VAR_ORG)),xget(v(PTR_ORG.DB),DATA_ORG.Generic))),ifelse(match(xget(%1,xget(v(PTR_ORG.DB),VAR_ORG)),xget(v(PTR_ORG.DB),DATA_ORG.Generic)),u([v(PTR_ORG.DB)]/TRI_ERROR,%0,PLR_ALREADY_DETACHED,%1),u([v(PTR_ORG.DB)]/TRI_ORG.Detach.Player2,%0,%1)),u([v(PTR_ORG.DB)]/TRI_ERROR,%0,PLR_!CONTROL_PLAYER,%1))]
&TRI_ORG.DETACH.PLAYER2 Organization Database=[set(%1,[xget(v(PTR_ORG.DB),VAR_RANK)]:1)][pemit(%0,[u([v(PTR_ORG.DB)]/DATA_GAME.Prefix)] You have detached [name(%1)] from [name(xget(%1,xget(v(PTR_ORG.DB),VAR_ORG)))] \([xget(%1,xget(v(PTR_ORG.DB),VAR_ORG))]\).%r[u([v(PTR_ORG.DB)]/DATA_GAME.Prefix)] [name(%1)] has been automatically re-ranked to 1.)][pemit(%1,[u([v(PTR_ORG.DB)]/DATA_GAME.Prefix)] [name(%0)] has detached you from [name(xget(%1,xget(v(PTR_ORG.DB),VAR_ORG)))] \([xget(%1,xget(v(PTR_ORG.DB),VAR_ORG))]\).%r[u([v(PTR_ORG.DB)]/DATA_GAME.Prefix)] You have been automatically re-ranked to 1.)][set(%1,[xget(v(PTR_ORG.DB),VAR_ORG)]:[xget(v(PTR_ORG.DB),DATA_ORG.Generic)])]
&TRI_ORG.DETACH.OBJECT Organization Database=[ifelse(u([v(PTR_ORG.DB)]/FUN_ORG.Valid,%1),ifelse(u([v(PTR_ORG.DB)]/FUN_CONTROL.Plr-Org,%0,%1),ifelse(match(loc(%1),xget(v(PTR_ORG.DB),DATA_MASTER.Room)),u([v(PTR_ORG.DB)]/TRI_ERROR,%0,OBJ_ALREADY_DETACHED,%1),u([v(PTR_ORG.DB)]/TRI_ORG.Detach.Object2,%0,%1)),u([v(PTR_ORG.DB)]/TRI_ERROR,%0,PLR_!CONTROL_ORG,%1)),u([v(PTR_ORG.DB)]/TRI_ERROR,%0,ORG_!VALID,%1))]
&TRI_ORG.DETACH.OBJECT2 Organization Database=[parent(%1,xget(v(PTR_ORG.DB),DATA_MASTER.Room))][tel(%1,xget(v(PTR_ORG.DB),DATA_MASTER.Room))][pemit(%0,[u([v(PTR_ORG.DB)]/DATA_GAME.Prefix)] [name(%1)] \(%1\) is now a Master Org!)][set(%1,MODIFIED_BY:%0)]
&TRI_RANK.PLAYER Organization Database=[set(%1,[xget(v(PTR_ORG.DB),VAR_RANK)]:%2)][pemit(%0,[u([v(PTR_ORG.DB)]/DATA_GAME.Prefix)] You have re-ranked [name(%1)] \(%1\) as: %2 \([edit(extract(xget(xget(%1,xget(v(PTR_ORG.DB),VAR_ORG)),CLASSES),%2,1),_,space(1))]\))][pemit(%1,[u([v(PTR_ORG.DB)]/DATA_GAME.Prefix)] [name(%0)] has re-ranked you as: %2 \([edit(extract(xget(xget(%1,xget(v(PTR_ORG.DB),VAR_ORG)),CLASSES),%2,1),_,space(1))]\))]
&TRI_ERROR Organization Database=[pemit(%0,[u([v(PTR_ORG.DB)]/DATA_ERROR.Prefix)][space(not(not(words(xget(v(PTR_ORG.DB),DATA_ERROR.Prefix)))))][ansi(xget(v(PTR_ORG.DB),FONT_ERROR.Text),u([v(PTR_ORG.DB)]/ERR_%1,%2,%3,%4))])]
&TRI_SYSERR Organization Database=[pemit(%0,ansi(fhr,SYSERR: There is a bug in the code! Report this to an Admin immediately!))]
&TRI_TITLE.OK Organization Database=[set(%1,[xget(v(PTR_ORG.DB),VAR_TITLE)]:%2)][pemit(%0,[u([v(PTR_ORG.DB)]/DATA_GAME.Prefix)] You have set [name(%1)] \(%1\)'s title to: %2)][pemit(%1,[u([v(PTR_ORG.DB)]/DATA_GAME.Prefix)] [name(%0)] \(%0\) has set your title to: %2)]
&TRI_ORG.Who Organization Database=@pemit %0=[ansi(v(FONT_WHO.Border),[repeat(-,78)]%r<<<<<)][ansi(v(FONT_WHO.Header),center(COMPILING LIST FOR ORG: [name(%1)],68))][ansi(v(FONT_WHO.Border),>>>>>%r[repeat(-,78)])]%r[ansi(v(FONT_WHO.Border),\[)]%b[ansi(v(FONT_WHO.Header),Rank)]%b[ansi(v(FONT_WHO.Border),\]-\[)]%b[ansi(v(FONT_WHO.Header),Player)]%b[ansi(v(FONT_WHO.Border),\]-----------\[)]%b[ansi(v(FONT_WHO.Header),Division)]%b[ansi(v(FONT_WHO.Border),\]-----------\[)]%b[ansi(v(FONT_WHO.Header),Assignment)]%b[ansi(v(FONT_WHO.Border),\]-----------)];@dol [iter(lsearch(all,type,player),if(member(xget(##,xget(v(PTR_ORG.DB),VAR_ORG)),%1),##))]=@pemit %0=[rjust(xget(##,xget(v(PTR_ORG.DB),VAR_RANK)),5)][space(5)][ljust(left(name(##),20),20)]%b[ljust(left(name(xget(##,xget(v(PTR_ORG.DB),VAR_ORG))),22),22)]%b[ljust(left(xget(##,xget(v(PTR_ORG.DB),VAR_TITLE)),24),24)];@wait 3=@pemit %0=[ansi(v(FONT_WHO.Border),-----\[)]%b[ansi(v(FONT_WHO.Header),DONE!)]%b[ansi(v(FONT_WHO.Border),\][repeat(-,64)])]
&TRI_ORG.CWho Organization Database=@pemit %0=[ansi(v(FONT_WHO.Border),[repeat(-,78)]%r<<<<<)][ansi(v(FONT_WHO.Header),center(COMPILING CONNECTIONS FOR ORG: [name(%1)],68))][ansi(v(FONT_WHO.Border),>>>>>%r[repeat(-,78)])]%r[ansi(v(FONT_WHO.Border),\[)]%b[ansi(v(FONT_WHO.Header),Rank)]%b[ansi(v(FONT_WHO.Border),\]-\[)]%b[ansi(v(FONT_WHO.Header),Player)]%b[ansi(v(FONT_WHO.Border),\]-----------\[)]%b[ansi(v(FONT_WHO.Header),Division)]%b[ansi(v(FONT_WHO.Border),\]-----------\[)]%b[ansi(v(FONT_WHO.Header),Assignment)]%b[ansi(v(FONT_WHO.Border),\]-----------)];@dol [iter(lsearch(all,type,player),if(and(member(xget(##,xget(v(PTR_ORG.DB),VAR_ORG)),%1),gte(objeval(%0,idle(##)),0)),##))]=@pemit %0=[rjust(xget(##,xget(v(PTR_ORG.DB),VAR_RANK)),5)][space(5)][ljust(left(name(##),20),20)]%b[ljust(left(name(xget(##,xget(v(PTR_ORG.DB),VAR_ORG))),22),22)]%b[ljust(left(xget(##,xget(v(PTR_ORG.DB),VAR_TITLE)),24),24)];@wait 3=@pemit %0=[ansi(v(FONT_WHO.Border),-----\[)]%b[ansi(v(FONT_WHO.Header),DONE!)]%b[ansi(v(FONT_WHO.Border),\][repeat(-,64)])]
think [ansi(hm,INSTALL:)] Digging Master Org Room...
@dig/teleport Master Org Room
think [ansi(hm,INSTALL:)] Creating Initial Orgs...
@switch [isdbref(num(Generic Org))]=0,{think [ansi(hm,INSTALL:)] No "Generic Org" object found -- creating...;@create Generic Org},1,{think [ansi(hm,INSTALL:)] "Generic Org" object already exists... skipping creation.}
@switch [isdbref(num(Admin Org))]=0,{think [ansi(hm,INSTALL:)] No "Admin Org" object found -- creating...;@create Admin Org},1,{think [ansi(hm,INSTALL:)] "Admin Org" object already exists... skipping creation.}
@set Generic Org=Organization
@set Admin Org=Organization
@switch [and(hasflag(Generic Org,Organization),hasflag(Admin Org,Organization))]=1,{think [ansi(hm,INSTALL:)] Good! You have hardcoded the Organization Flag.},{think [ansi(hm,INSTALL:)] It looks like you don't have a hardcoded Organization Flag.%r[ansi(hm,INSTALL:)] Editing code to use a softcoded Organization Flag.;&FUN_ORG.Valid Organization Database=\[eq\(trunc\(xget\(\%0\,xget\(v\(PTR_ORG.DB\)\,VAR_FLAG\)\)\)\,1\)\];@edit Organization Database/TRI_ORG.New={[set(%q0,ORGANIZATION)]},{[set(%q0,[xget(v(PTR_ORG.DB),VAR_FLAG)]:1)]};&[xget(Organization Database,VAR_FLAG)] Generic Org=1;&[xget(Organization Database,VAR_FLAG)] Admin Org=1}
think [ansi(hm,INSTALL:)] Attempting to set Pointers...
@switch [match(edit(name(here),%b,_),Master*Org*Room)]=1,{@fo me=&DATA_MASTER.Room Organization Database=[num(here)];drop Generic Org;drop Admin Org;think [ansi(hm,INSTALL:)] Setting Powers on Master Org Room...;&POW_RANK here=100;&POW_PROMOTE here=11;&POW_DEMOTE here=11;&POW_ATTACH here=13;&POW_DETACH here=11;&POW_ORG here=15;&POW_TITLE here=5;&POW_SETCLASS here=15;&POW_ISSUE here=13;&POW_WHO here=10;&POW_CWHO here=1;&DATA_MASTER.ROOM Organization Database=[num(here)];&CLASSES here=Guest Citizen Crew Ensign Sergeant Sergeant_Sr. Lieutenant_Jr. Lieutenant Lt._Commander Commander Captain Commodore Vice_Admiral Admiral President},{think [ansi(hm,INSTALL:)] Error in @dig/teleport! DATA_MASTER.Room *NOT* set on Organization Database.}
@fo me=&PTR_ORG.Main Organization Globals=[num(Organization Globals)]
@fo me=&PTR_ORG.Main Organization Database=[num(Organization Globals)]
@fo me=&PTR_ORG.DB Organization Globals=[num(Organization Database)]
@fo me=&PTR_ORG.DB Organization Database=[num(Organization Database)]
@fo me=&DATA_ORG.Generic Organization Database=[num(Generic Org)]
@fo me=&DATA_ORG.Admin Organization Database=[num(Admin Org)]
@set me=!quiet
think [ansi(hm,INSTALL:)] [ansi(hr,Download is complete! Now you must do the following:)]
think [ansi(hm,INSTALL:)] First, you need to @teleport the 'Organization Globals' object to
think [ansi(hm,INSTALL:)] your Master Room (usually #0 or #2). This will make all commands on
think [ansi(hm,INSTALL:)] the object accessible in any room on the game. You then need to @tel
think [ansi(hm,INSTALL:)] the 'Organization Database' object to a safe place \(NOT in the Master
think [ansi(hm,INSTALL:)] Room!\). Keeping it in your inventory the recommended method.
think [ansi(hm,INSTALL:)]
think [ansi(hm,INSTALL:)] The script should have dug a room called "Master Org Room" and created
think [ansi(hm,INSTALL:)] two initial org objects called "Generic Org" and "Admin Org" -- both
think [ansi(hm,INSTALL:)] of these should be lying in the "Master Org Room". If this is not the
think [ansi(hm,INSTALL:)] the case\, you will have to do it manually as there was an error.
think [ansi(hm,INSTALL:)]
think [ansi(hm,INSTALL:)] You will want to go through the code and change the FONT_* attributes
think [ansi(hm,INSTALL:)] to a color scheme you like. You may also want to change FUN_ORG.Valid
think [ansi(hm,INSTALL:)] unless you install a hardcode Organization flag for objects. Lastly,
think [ansi(hm,INSTALL:)] POW_RANK, POW_PROMOTE, POW_DEMOTE, POW_ATTACH, POW_DETACH, POW_ORG,
think [ansi(hm,INSTALL:)] POW_TITLE, POW_SETCLASS can all be set on the Master Room \(or any of
think [ansi(hm,INSTALL:)] the Org objects\) to the minimum rank required to each command.
think [ansi(hm,INSTALL:)]
think [ansi(hm,INSTALL:)] Of course, the Copyright code should remain on the object AS IS -- it
think [ansi(hm,INSTALL:)] should not be modified. The only exception to this is IF you improve
think [ansi(hm,INSTALL:)] the code or add to it, you may ADD 'Modified By: <your name>' after
think [ansi(hm,INSTALL:)] the original text. Type '@org/help' for additional information.
think [ansi(hm,INSTALL:)]
think [ansi(hm,INSTALL:)] If you have any problems with this code, e-mail:
think [ansi(hm,INSTALL:)] %b%b[ansi(hc,worldwar@bb6.betterbox.net)]