mirror of
https://github.com/tbamud/tbamud.git
synced 2025-09-21 21:40:49 +02:00
168 lines
6.6 KiB
Text
168 lines
6.6 KiB
Text
If you have any additions, corrections, ideas, or bug reports please stop by the
|
||
Builder Academy at telnet://tbamud.com:9091 or email rumble@tbamud.com -- Rumble
|
||
|
||
A social is the easiest command to add to the game thanks to the social editor;
|
||
aedit. Socials serve as a means of expression among players, and have no effect
|
||
on gameplay itself (unless you make a trigger to fire off a social). Socials
|
||
can be used locally or globally with gemote.
|
||
|
||
HELP AEDIT
|
||
|
||
Syntax: aedit <social>
|
||
|
||
Aedit is an online action (social) editor that allows you to create socials
|
||
on the fly. Anyone can add new socials just ask a level 33 or above to set your
|
||
OLC to 999 and explain how it works. Use astat to see examples.
|
||
|
||
Here is the much coveted list of $ codes applicable to socials: There are six
|
||
different dollar-sign codes which can be inserted into the messages. Each is a
|
||
dollar-sign followed by a letter. If the letter is lowercase, the player using
|
||
the social is referenced. If the letter is capital, the target character is
|
||
referenced. The letter N inserts the character's name, an E inserts a subject
|
||
pronoun (he, she, it), an S inserts a possessive pronoun (his, hers, its), and
|
||
an M inserts an object pronoun (him, her, it).
|
||
|
||
$e he/she/it person doing social
|
||
$E he/she target of social
|
||
$m him/her person doing social
|
||
$M him/her target of social
|
||
$n char name person doing social (your name)
|
||
$N char name target of social (other persons name)
|
||
$s his/her/its person doing social
|
||
$S his/her target of social
|
||
$t body part of victim
|
||
$p object
|
||
|
||
See also: ASTAT, SOCIALS, AUTOSAVE
|
||
|
||
This is all you really need to know to make socials. Now if you want to edit
|
||
the socials file directly or understand the format in depth keep reading.
|
||
|
||
The file is formatted as follows:
|
||
|
||
<command> <command sort name> <hide flag> <min pos of vict> <min pos of char>
|
||
<min level>
|
||
<messg to character if no argument>
|
||
<messg to others if no argument>
|
||
<messg to char if victim not found>
|
||
<messg to char if vict is char>
|
||
<messg to others if vict is char>
|
||
<messg to char if victim found>
|
||
<messg to others if victim found>
|
||
<messg to victim>
|
||
<messg to char if body part found>
|
||
<messg to others if body part found>
|
||
<messg to victim if body part found>
|
||
<messg to char if object found>
|
||
<messg to others if object found>
|
||
|
||
All socials are 14 lines followed by a blank line. After the blank line is
|
||
either the beginning of the next social or a dollar sign which marks the end of
|
||
the file. The first line of any social has six elements: the command name, the
|
||
abbreviated version of the command, the "hide-flag", the minimum position of the
|
||
victim, the min pos of the char (below), and the minimum level. that any victim
|
||
must be. The hide-flag is a Boolean value. If it is 0, the social is visible to
|
||
anyone in the room. If it is 1, the social is only visible to the character who
|
||
uses it and the character who is the "victim". Most such socials are only usable
|
||
on characters who are awake, meaning that they are either resting or more alert,
|
||
and so the minimum position value we will use is 5.
|
||
|
||
Positions:
|
||
Dead 0 = POS_DEAD
|
||
Mortally Wounded 1 = POS_MORTALLYW
|
||
Incapacitated 2 = POS_INCAP
|
||
Stunned 3 = POS_STUNNED
|
||
Sleeping 4 = POS_SLEEPING
|
||
Resting 5 = POS_RESTING
|
||
Sitting 6 = POS_SITTING
|
||
Fighting 7 = POS_FIGHTING
|
||
Standing 8 = POS_STANDING
|
||
|
||
The next 13 message lines contain the statements that will be shown to various
|
||
characters in certain conditions. The first line is the message sent to the
|
||
player who uses a social when the social has no argument. The second line
|
||
contains the message sent to others in the room when the social has no argument.
|
||
The third message is sent to the player using the social when the player names
|
||
a target, and that target is present in the room. The fourth message is sent to
|
||
others in the room under the same circumstances. The fifth message is sent to
|
||
the target character. The sixth message is sent to the player who uses the
|
||
social when the player supplies a target, and that target is not available. The
|
||
seventh message is sent to the player who uses the social when they player
|
||
supplies his or herself as a target. The eighth message is sent to others in
|
||
the room under the same circumstances. The remaining follow the same theme but
|
||
for body parts and objects. A pound sign in any message line means that there
|
||
is no message.
|
||
|
||
Keep in mind that "messages", "socials", and the world files are not part of
|
||
the source code, but rather are strictly data files. They are read by the game
|
||
at runtime and throughout the course of the game. Changes made to them do not
|
||
require recompiling the executable, they only need for the game to stop running
|
||
and be restarted. You can change information in these files at any time. In the
|
||
tbaMUD codebase the socials appear in alphabetical order in the file, but they
|
||
can appear in any order and can be rearranged if necessary. The socials file is
|
||
located in the lib/misc/ directory. Socials are all handled through the
|
||
generalized command do_action where the $ codes listed above are parsed.
|
||
|
||
Each social must contain the first two messages (if the social ignores
|
||
arguments), or all thirteen messages (if the social takes an argument). Each
|
||
message must be contained in one line. The command-name indicates which social
|
||
is being specified. The command sort name is the shortest part of the command a
|
||
player must type for it to match. The hide-flag can be either 0 or 1; if 1, the
|
||
social is hidden from OTHERS if they cannot see the character performing the
|
||
social. The action is not hidden from the VICTIM, even if s/he cannot see the
|
||
character performing the social, although in such cases the character<65>s name
|
||
will, of course, be replaced with <20>someone<6E>. The min positions should be set to
|
||
dictate the minimum position a player must be in to target the victim and
|
||
perform the social. Min level allows you to further customize who can use what
|
||
socials.Where it makes sense to do so, text fields may be left empty. If
|
||
editing manually you should by put a <20>#<23> in the first column on the line. Aedit
|
||
does this automatically.
|
||
|
||
Examples:
|
||
|
||
A social only requires 2 message lines. This is the simplest form of a social.
|
||
|
||
~ack ack 0 0 0 0
|
||
ACK!
|
||
$n goes ACK!!
|
||
#
|
||
#
|
||
#
|
||
#
|
||
#
|
||
#
|
||
#
|
||
#
|
||
#
|
||
#
|
||
#
|
||
|
||
~lick lick 0 5 0 0
|
||
You lick your lips and smile.
|
||
$n licks $s lips and smiles.
|
||
You lick $M.
|
||
$n licks $N.
|
||
$n licks you.
|
||
Lick away, nobody's here with that name.
|
||
You lick yourself.
|
||
$n licks $mself -- YUCK.
|
||
You lick $S $t.
|
||
$n licks $N's $t.
|
||
$n licks your $t.
|
||
You lick $p.
|
||
$n licks $p.
|
||
|
||
~comfort com 0 5 5 0
|
||
Do you feel uncomfortable?
|
||
#
|
||
You comfort $M.
|
||
$n comforts $N.
|
||
$n comforts you.
|
||
Comfort who?
|
||
You make a vain attempt to comfort yourself.
|
||
#
|
||
#
|
||
#
|
||
#
|
||
You comfort $p.
|
||
$n comforts $p.
|