-
Notifications
You must be signed in to change notification settings - Fork 17
/
Copy pathHELP FILES - CORE.txt
executable file
·43 lines (28 loc) · 19.4 KB
/
HELP FILES - CORE.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
@@ COMMUNICATIONS - BASIC
&HLP`BASIC [u(cobj,help)]=These are basic communications methods that show only to the local room.%R%R[ansi(hc,Concepts)]%R[align(5 [sub(u(width,%#),6)],,[ansi(h,speech)] - <speech> is always text. By default\, it's considered. 'spoken.' Also note that Speech beginning with a " will always be interpreted as 'spoken\,' speech beginning with a : is 'posed' and will show as '<yourname> <speech>'\, and speech beginning with a ; is 'semiposed' and will show as '<yourname><speech>'. use \%R to make a LINEBREAK and \%T to do a TAB/INDENT.%R[ansi(h,IC)] - In-character. Part of roleplay. The actions of your character.%R[ansi(h,OOC)] - Out of character. Not part of the game's story or actions of your character.)]%R%R[ansi(hc,Basic Commands)]%RThese are IC in most rooms!%R[align(5 [sub(u(width,%#),6)],,[ansi(h,say <text>)] - Sends a message to the local room.%R[ansi(h,:<text>)] - Poses/emotes to the room.%R[ansi(h,;<text>)] - Semiposes to the room.%R[ansi(h,@emit <text>)] - Emits text to the room without a beginning name. Mostly used for roleplay.%R[ansi(h,think <text>)] - Only you see this text. A personal 'echo.' Useful for testing formatting and colors\, etc.)]%R%RInterested in coloring your text? Check out [u(pueblize,ansi(h,help ansi\(\)),help ansi\(\))]. You must enclose uses of ansi() in brackets\, such as \[ansi()\]. It's also helpful to enclose your actual text in curly braces \{\} if you're going to include commas in it. An example: \[ansi(hr,\{behold, this text is red\})\] results in [ansi(hr,{behold, this text is red})]%R%RLooking for more advanced formatting tricks? You might be interested in [u(pueblize,ansi(h,help center\(\)))]\, [u(pueblize,ansi(h,help ljust\(\)))]\, [u(pueblize,ansi(h,help rjust\(\)))]\, [u(pueblize,ansi(h,help space\(\)))]\, and [u(pueblize,ansi(h,help repeat\(\)))]
+help/add Communications/Basic=[u(cobj,help)]/HLP`BASIC
@@ CHARACTER - @SEX
+help/add Character/@sex=[ansi(h,@sex me=<gender>)]%R%RThis command is used to set your gender. Setting it to Male or Female (or at least M or F) will make some commands use gender-based pronouns.%R%RSIDENOTE: This is not a statement of the game's policies on allowed genders, transgender characters, etc. The hardcode is just really old. It can take other things, pronoun code will just resort to 'Its' instead of 'his' or 'her'. Sorry.
@@ SHELP - BUILDING
&SHLP`BUILDER [u(cobj,help)]=Builder Characters are special characters used to enlarge the grid. They may use @dig, @open, @link, and similar commands freely.%R%R[ansi(hc,Builder Powers)]%RThese are granted to a builder by the +builder command:%R[align(5 [sub(u(width,%#),6)],,{[ansi(h,builder)] - enables the @dig, @open, @link, and similar commands.%R[ansi(h,link_anywhere\, open_anywhere)] - allows builders to manage exit destinations and link them to the grid.%R[ansi(h,no_quota)] - Builders may create unlimited objects.%R[ansi(h,no_pay)] - Builders can create objects without needing the hardcoded CPU currency.%R[ansi(h,pick_dbref)] - Builders may recycle old DBREF numbers for new objects.})]%R%RWIZARDS enjoy these powers automatically except for no_pay which is rarely needed except for code-heavy projects.%R%R[ansi(hc,Commands)]%R[align(5 [sub(u(width,%#),6)],,{[ansi(h,+builder)] - Lists all current Builder characters by DBREF, name, granted powers, and number of objects owned.%R[ansi(h,+builder <player>)] - Shows everything <player> has made - whether they are or are not a Builder.%R[ansi(h,+builder/add <name>)] - Promotes a PC to Builder status.%R[ansi(h,+builder/rem <name>)] - Revokes a Builder's priveleges.})]%R%RNote that rooms, exits, objects, and other things created by (owned by) a character are DESTROYED if that character is deleted. For this reason it is best to simply @newpass unused builders, or alternatively @chown their objects to a buildstaffer character or similar 'safe' location. @chowning can be done easily and conveniently using the following method from a WIZARD character meant to hold the code:%R%R[ansi(h,lit(@dolist lsearch(*buildername)=@chown/preserve %i0=me))]%R%RIf the player is suspected of shenanigans, use the following instead:%R[ansi(h,lit(@dolist lsearch(*buildername)={@halt %i0;@chown %i0=me;@wipe %i0=STARTUP;@wipe %i0=ACONNECT;@set %i0=NO_COMMAND;@restart %i0}))]
+shelp/add Building/+builder=[u(cobj,help)]/SHLP`BUILDER
&SHLP`ROOMFEATURES [u(cobj,help)]=Exits with an alias that consists of part of its name will have that part displayed in colored <>. For example, making an exit named North with the alias n will result in a <N>orth. The alias shortcut color is stored in the attribute VAR`ALIASCOLOR on the ancestor room. Setting one on a local room overrides it.%R%RExits sort and display alphabetically. They can have an 'ORDER' attribute that has a number in it which overrides this sorting based on the number, however if ANY Exit in the room has such an attribute then ALL must have it.
+shelp/add Building/Room Features=[u(cobj,help)]/SHLP`ROOMFEATURES
@@ TECHNICAL - Validators
&HLP`VALIDATORS [u(cobj,help)]=Many commands such as +config, +option, +scene/schedule and +bbadmin/config require INPUT VALIDATION. They will only accept certain kinds of data. When you see VALID or TYPE referenced, chances are it means this helpfile.%RNote: Some commands have custom VALIDators, like Email. These should be self-explanatory.%R[ansi(hc,See Also)]: help valid()%R%R[ansi(hc,Valid Types)]%R[ansi(h,COLOR)] - A Color code accepted by the ansi() function. Help ansi() for examples!%R[ansi(h,WORD)] - Any text. A few admin options will specify exactly WHAT words are allowed.%R[ansi(h,LIST)] - A list of pipe-delimited words. Example: Electric|Boogaloo%R[ansi(h,BOOL)] - A boolean value of True/False. Enter the numbers 1 (yes/true) or 0 (no/false).%R[ansi(h,TIMEZONE)] - A supported Timezone. These are case-sensitive so watch out. Check help timezone%R[ansi(h,DURATION)] - This is passed into the stringsecs() function. Help stringsecs(). Example input would be 5d 10m, resulting in 5 days and 10 minutes.%R[ansi(h,TIME)] - A specific date and time as it would be in your timezone. Will be converted to UTC/GMT+0 and displayed to other players in THEIR timezones. Accepted format is abbreviated 24-hour <month> <day> <hour>:<minute> format such as Jun 26 7:00 or Oct 31 13:00. The current year will be assumed unless added onto the end: Jun 26 7:00 2019 for instance.%R[ansi(h,FUTURE)] - Just like Time, but only accepts datetimes that are in the future.%R[ansi(h,DBREF)] - A Database Reference number or Objid. Help DBREF.%R[ansi(h,INT)] - A whole number, positive or negative.%R[ansi(h,POSINT)] - A whole number 1 or greater. For this purpose I don't consider 0 a positive number.%R[ansi(h,LOCK)] - A <key> string that would be accepted by @lock. Help @lock.%R[ansi(h,GROUP)] - A Group from the Group System. You can only specify a Group that's visible to you.
+help/add Technical/Validators=[u(cobj,help)]/HLP`VALIDATORS
@@ TECHNICAL - +CONFIG
&HLP`+OPTIONS [u(cobj,help)]=The [ansi(hc,+options)] choices let players set account-bound options such as timezone and startup alerts. MANY COMMANDS take /options switches! Keep an eye out for them.[ansi(hc,See Also:)] +help Validators%R%R[ansi(hc,Managing +options)]%R[align(5 [sub(u(width,%#),6)],,[ansi(h,+options)] - List all Available options by category and current values.%R[ansi(h,+options <choice>=<value>)] - Sets an option. Set to nothing to clear/reset to default.%R[ansi(h,+options)] - Display all available Options.%R%RValidation is performed on entries\, so don't worry about anything exploding.)]
+help/add Technical/+options=[u(cobj,help)]/HLP`+OPTIONS
&SHLP`+GAMECONFIG [u(cobj,help)]=The [ansi(hc,+gameconfig)] system allows staff to set global configuration options and settings. This has nothing to do with the hardcoded @config (PennMUSH) or @admin (RhostMUSH) commands!%R[ansi(hc,See Also:)] [u(pueblize,+help Validators)]%R%R[ansi(hc,Managing Game Config)]%R[align(5 [sub(u(width,%#),6)],,[ansi(h,+gameconfig)] - List all Available options by category and current values.%R[ansi(h,+gameconfig <choice>=<value>)] - Sets an option. Set to nothing to clear/reset to default.%R[ansi(h,+gameconfig/get <choice>)] - Retrieve plain text of value.)]
+shelp/add Administration/+gameconfig=[u(cobj,help)]/SHLP`+GAMECONFIG
&HLP`ROOMOBJ [u(cobj,help)]=Players are allowed - and encouraged - to create their own rooms. Most rooms on the game were created using @dig, making them full-fledged Rooms. @dig however, requires admin powers to use, because of how easily it can mess up the game's rooms if misused. However, there is another way to create what are essentially 'rooms.'%R%RPlayers may make Objects, place these in a room, give them a room description and allow others to enter them. They work in almost all ways like a true Room, save that they can be personalized, restricted, and so on. The following is a basic tutorial on how these work.%R%RCONCEPT EXPLANATION: Targeting objects and DBrefs. All things - rooms, players, exits, and so on - have a DBREF, or 'Database Reference.' It is like an ID code. When you use commands such as 'look <name>' PennMUSH checks to see if there is anything of that name in the same location as you. You could, in theory, also use look #800 to look at object #800. Such things are interchangeable for code purposes. Some words can be used to substitute things-- such as 'me' or 'here.' 'me' will always be YOUR dbref, which is why &short-desc me=<your short desc> works. here will refer to your current location. For the purposes of this tutorial, <target> will refer to the object's name or DBREF (if you are outside it or have it in your inventory) or using here (if you are inside it.)%R%R[ansi(h,@create <name>)] - this will make an object and place it in your inventory.%R[ansi(h,@nuke <name or DBREF>)] - this will destroy an object. Using just once will mark it for destruction, which can be undone with [ansi(h,@undestroy <name or dbref>)] if it is typed quickly. Using twice will annihilate object. This cannot be undone.%R%R[ansi(h,@set <target>=ENTER_OK)] - this will set a flag on the object that will allow other people to enter it. Using !ENTER_OK instead will remove the flag. (You may always enter your own objects.)%R%R[ansi(h,inventory)] - this will show what's in your inventory.%R[ansi(h,drop <target>)] - this will remove an object from your inventory and place it in the room.%R[ansi(h,get <target>)] - this will retrieve an object, if you have permission.%R[ansi(h,@lock/Basic <target>=me)] - this will prevent other players from picking up and walking off with your object.%R[ansi(h,\(\IMPORTANT: see +help +key for more advanced tricks!))]%R%R[ansi(h,@desc <target>=<text here>)] - the same as @describe'ing yourself. This will be what others see if they look at or are inside the object. You may also use @idesc for 'internal description,' in which case @desc will be seen by those looking at the object, rather than being both the external description and a room description.%R%R[ansi(h,&IC <target>=1)] - this will enable +pot to work in an object.%R%RYou may only have a few objects in existence at once. If you have lost track of them:%R[ansi(h,@search)] - this will show all objects you own and their DBREFs.%R[ansi(h,@tel <target>=me)] - this will retrieve an object.%R%RUsing them:%R[ansi(h,enter <target>)] - this will enter an object as though it were a room.%R[ansi(h,leave <target>)] - This will leave the object.
+help/add Technical/Room Objects=[u(cobj,help)]/HLP`ROOMOBJ
&HLP`DYNAMIC [u(cobj,help)]=SO, you're an admin out to configure +finger or maybe a Player who wants to build their own +who list? This is the place for you. This code suite contains a system that can assemble dynamic displays out of simple-to-construct rules.%R%R[ansi(hc,Concepts)]%R[align(5 [sub(u(width,%#),6)],,[ansi(h,GET)] - When you see GET or <GET> referenced in a customizable/dynamic display it refers to one of the GETPROPERTY attribute leaves on the Core Code Parent. Example being GETPROPERTY`SEX or GETPROPERTY`FACTION. If these don't exist\, it refers to the contents of a player's respective V`PROPERTY attribute leaf like V`PROPERTY`PROFILE or V`PROPERTY`QUOTE.%R[ansi(h,NAME)] - This refers not to a player name\, but to the name of the field being displayed or the Column Header. These should be kept alphanumeric. No special characters.%R[ansi(h,SIZE)] - The width of the field/column. Must be whole number 1 or greater. For column displays these are passed into the align() function for columns so can accept left/right justify such as >4 or <2.%R[ansi(h,DEFAULT)] - Text to display if the GET returns nothing. For instance\, you might want to show ? as the DEFAULT to a GET for SEX/1 for characters who didn't set their @sex.%R[ansi(h,ARGUMENTS)] - Some GET options allow for ARGUMENTS. These are optional modifiers/rules for the GET. An ARGUMENT is sent to a GET by one or more /BLAH appends. For example: TIERNAMES/2/3 would pass 2 and 3 to the TIERNAMES GET. Further documented in +help DynamicData/Get%R[ansi(h,SEPARATOR)] - Most DynamicData systems use slightly different formats such as <NAME>~<SIZE> or <GET>~<SIZE>~<DEFAULT>. SEPARATOR refers to the TILDE ~ character used as demonstrated.%R[ansi(h,DELIMITER)] - DynamicData rules can be aggregated using the pipe character | to string them together. Example: SEX/1~1~?|FACABBR~3~N/A for a Rule that follows <GET>~<SIZE>~<DEFAULT>. | is the DELIMITER.)]%R%R[ansi(hc,Functions)]%RSoftcoders can play with the DynamicData system using the following functions. new to softcode? check out help softcode and help functions! Keep in mind: square brackets denote optional sections while <> describe argument context. Only parentheses are typed literally.%R[align(5 [sub(u(width,%#),6)],,[ansi(h,vol_getproperty\(<DBREF>\,<GET>\[\,<arg1>\,<arg2>...\]\))] - Runs a given GET using MUSHcode Argument style.%R[ansi(h,vol_getprop\(<DBREF>\,<GET>\[/<arg1>/<arg2>...\]\))] - Runs a given GET using DynamicData Argument style.%R[ansi(h,vol_columns\(<DEFINITION>\))] - Generates dynamic table headers using lalign(). Pattern: <NAME>~<SIZE>.%R[ansi(h,vol_playerline\(<DBREF>\,<DEFINITION>\))] - Generates dynamic table row using lalign(). Pattern: <GET>~<SIZE>~<DEFAULT>.)]
+help/add Technical/DynamicData=[u(cobj,help)]/HLP`DYNAMIC
&HLP`GET [u(cobj,help)]=These are the GETs provided by Volund's Core Code by default. Others could be added if a CodeWiz added new attributes to the GETPROPERTY` tree on the Core Code Parent! Just remember to document them somewhere if so. Remember that these require various systems like the Alts Tracker and Groups to work.%R%R[ansi(hc,GETS)]%R[align(5 [sub(u(width,%#),6)],,[ansi(h,NAME)] - The character's @Name/Moniker.%R[ansi(h,ALIAS)] - The character's first @alias. 1st Arg: /1 to display ALL aliases.%R[ansi(h,ALIASNAME)] - Displays character's Name (Alias). Mostly used for +finger header.%R[ansi(h,NAMELINK)] - A clickable name. 1st Arg: ^^^-separated commands to make clickable as <command> <name>. Example: /+finger^^^+sheet%R[ansi(h,HIDEIDLE)] - A @hide-sensitive colored display of Idle times.%R[ansi(h,HIDECONN)] - A @hide-sensitive colored display of Connection time.%R[ansi(h,LASTIDLE)] - Returns last logon if offline or current idle if connected.%R[ansi(h,LOCATION)] - Location name if they're findable(). 1st Arg: /1 to make the Location clickable for +join.%R[ansi(h,TIMEZONE)] - The character's TimeZone.%R[ansi(h,UMAIL)] - The character's unread mail.%R[ansi(h,ALTS)] - The same set of characters that would be displayed by +alts.%R[ansi(h,URL)] - 1st Arg mandatory. Retrieves V`PROPERTY`<ARG> and makes it a clickable Hyperlink. Example: URL/WIKI retrieves V`PROPERTY`WIKI.%R[ansi(h,THEME)] - The character's primary Theme/FCList name.%R[ansi(h,TYPE)] - The character's primary Theme/FCList type. FC\, OC\, etc.%R[ansi(h,SCENE)] - The character's current Scene if any.%R[ansi(h,GROUPDB)] - The OBJIDs of all Public group memberships\, sorted by Tier then Name. 1st Arg: as u(elements,<list>,<arg>). 1 3 would return the first and third group DBs.%R[ansi(h,TIERDB)] - The OBJIDs of all Public group memberships of a given Tier. 1st Arg: Tier number\, mandatory. 2nd Arg: Same as GROUPDB's 1st Arg.%R[ansi(h,GROUPNAMES)] - Comma-separated group-colorized names sorted as per GROUPDB. 1st Arg: as per GroupDB. 2nd Arg: /1 to return pipe-separated list instead.%R[ansi(h,TIERNAMES)] - The Tier version of GroupNames. 1st Arg: as per TierDB. 2nd Arg: as per TierDB. 3rd Argument: /1 to return pipe-separated list.%R%RThe following All accept TIER # as a 1st Arg. This is Mandatory:%R[ansi(h,FACTION)] - The group-colorized name of the first group that would be returned by GROUPDB.%R[ansi(h,FACABBR)] - The group-colorized Abbrevation for Faction.%R[ansi(h,FACLETTER)] - The group-colorized single-letter representation of the character's Faction.%R[ansi(h,FACRANK)] - The name of the character's faction rank. 2nd Arg: /1 to display Title instead of Rank\, falling back to Rank if they have no title. 3rd Arg: /1 to display as <ranknum>-<rankname>. Or <ranknum>-<title> if 2nd argument is true.%R[ansi(h,BANNER)] - The character's name displayed group-colorized by their faction. IE: If the faction color is green\, the character's name is green.)]
+help/addsub DynamicData/Get=[u(cobj,help)]/HLP`GET
&HLP`COLOR [u(cobj,help)]=The Color system allows players to customize how they see the game. This is linked to one's account, so you need to only set the color on one. This game expects clients with XTERM256 color support so please check help XTERM256 for more information on that.%R%R[ansi(hc,Commands)]%R[align(5 [sub(u(width,%#),6)],,[ansi(h,+colordemo)] - Will display a helpful color palette table for referencing. [ansi(h,+colordemo/long)] for even more detail.%R[ansi(h,+color)] - Display all +color options for main game settings.%R[ansi(h,+color <option>=<colorcode>)] - Set a color option. Colorcode must be accepted by the ansi\(\) function. [u(pueblize,help ansi\(\))]%R[ansi(h,+color/name)] - View color settings for specific characters.%R[ansi(h,+color/name <name>=<colorcode>)] - See a character's name in a different color.%R%RFor all categories\, leaving the colorcode empty will clear/restore to default.%R%RMOST COMMANDS in the system accept a /colors switch that allows you to fine-tune them - and see different systems with different colors for borders\, speech dialogue\, and so on. Groups and Channels also support /custcolors to change how those things appear similar to /name.%R%RCOLOR PRIORITY: <SYSTEM> level then what is set by +color and finally what admin set with +gameconfig.)]%R%RADVANCED USERS: So you want to override your account settings per-character? Okay, but this is a little tricky and unsupported. Color settings are stored on attributes. The format is:%R[ansi(h,&CUSTCOLOR`<SYSTEM>`<option> me=<colorcode>)] - for example, &CUSTCOLOR`GROUPS`COLUMN_NAMES me=hr%R%RThe easiest way to get a list of options might be to use th [lit(lattrp(%#/CUSTCOLOR`**))] after using an actual command to set them.For CHARACTER settings, you must use this format: &CUSTCOLOR`CHARACTER`<DBREF> me=<colorcode>.%RChannel and Group color settings cannot be modified this way. Sorry.
+help/add Character/+color=[u(cobj,help)]/HLP`COLOR
&HLP`CREDITS [u(Cobj,help)]=MUSHcode Core Suite brought to you by Volund! Please consider sending some appreciation my way via Patreon if you like playing here. Every little bit helps and is greatly appreciated. It's thanks to patron support that awesome code like this can come your way!%R%RGitHub: [u(weblink,https://github.com/volundmush)]%RPatreon: [u(weblink,https://www.patreon.com/volund)]
+Help/add Technical/Credits=[u(cobj,help)]/HLP`CREDITS