ACTFLAGS MOBFLAGS
DELAY
IFCHECKS
IFCHECKS2
IFCHECKS3
IFCHECKS4
(There are individual help files on each IFCHECK listed in these files)
IMMPROGS
LOSTIFCHECKS
MPAPPLY MPAPPLYB
MPASOUND
MPAT
MPCOMMANDS RPCOMMANDS OPCOMMANDS
MPDAMAGE
MPDEPOSIT MPWITHDRAW
MPDREAM
MPECHO
MPECHOAROUND
MPECHOAT
MPEDIT
MPFORCE
MPGOTO
MPINVIS
MPJUNK
MPKILL
MPMLOAD MPOLOAD
MPOPENPASSAGE MPCLOSEPASSAGE
MPPRACTICE
MPPURGE
MPRESTORE MPSTAT
MPTRANSFER
OBJTRIGGERS OPTRIGGERS
OPEDIT
OPSTAT
ROOMTRIGGERS RPTRIGGERS
RPSTAT
TARGETTYPES
TRIGGER
USEPROG
VARIABLE VARIABLES
MOBFLAG | DESCRIPTION
--------------|--------------------------------------------------------
sentinel Mobile always stays at its post.
scavenger Mobile picks up items of value.
donation Mobile sells items for 0 gold. Must have shop set.
questmaster Mobile is a questmaster and can give out quests.
aggressive Mobile attacks players.
stayarea Mobile does not leave its home area.
wimpy Mobile flees when low in hits.
practice Players can "practice" at this mobile.
banker Mobile is Banker.
deadly Mobile has a deadly poison (not implemented).
meta_aggr Mobile is VERY aggressive (not implemented).
nowander Mobile doesn't wander unless attacked.
mountable Mobile can be mounted.
prototype Mobile is under construction.
running Mobile is running (moves twice as fast)
noassist Mobile won't assist other mobs in a fight.
pacifist Mobile cannot be attacked.
scholar Mobile can teach languages.
secretive Mobile will not echo acts. MOBs actions are invisible.
mobinvis Mobile is invisible to both pc's and non pc's.
noattack Mobile won't use any physical attacks.
autonomous Mobile won't switch tanks if hit by someone with higher style.
annoying Mobile will be attacked by other mobs.
noattack Mobile has no physical attacks
noquest Mobile cannot be chosen by questmaster for a quest.
pet Mobile can be used in creating a petshop.
notrack Mobile cannot be tracked.
noastral Mobile cannot be astraled to
guardian Mobile protects its master
annoying Mobile is annoying, other mobs will attack.
notrack Mobile cannot be tracked.
Syntax: delay <victim> <# of rounds>
This command will delay the character for the amount of rounds you select.
They will be unable to enter any commands until this delay of rounds has
worn off.
VALUE CHECKS (If check == #/string/vnum)
Ifcheck
Question
Ifcheck
Question
------------
---------------------------
---------
------------------
Hitprcnt
Percentage of hit/max_hit?
Sex
Sex?
Deity
Name of deity? (STRING) Name
Name? (STRING)
Level
Experience level?
Inroom
Room #? (VNUM)
Objtype
Type of Object?
Str
# of strength?
Objval#
Value# equal to this?
Int
# of intelligent
Number
Is its vnum equal to this?
Wis
# of wisdom?
Position
Position #?
Dex
# of dexterity?
Clan
Clan name? (STRING)
Con
# of constitutio
Race
Race name? (STRING)
Cha
# of charisma?
Mobinarea
Is mob in area?
Mobinworld Does mob exist?
Mobinroom How many
of mob? (VNUM) Lck
# of luck?
Guild
Guild name? (STRING)
Goldamt
# of gold ya go
Class
Class name? (STRING)
Favor
# of favor?
Mobinvislevel Level of invis?
Economy
# of economy?
Council
Member of council?
Hps
# of hps?
Mana
# of mana?
Mortal
*Not In Use*
------------
---------------------------
---------
------------------
Value checks can use == (equals) > (greater than) < (less than)
and ! (not). Combine for: != (not equal) >= (greater than or equal).
See individual help files for each ifcheck: help 'ifcheck mortcount'
Continued in Ifchecks2, Ifchecks3, Ifchecks4 and LostIfchecks
See Also: MPSTAT RPSTAT OPSTAT MPEDIT RPEDIT OPEDIT TRIGGER MPTRIGGERS
RPTRIGGERS OPTRIGGERS MPCOMMANDS RPCOMMANDS OPCOMMANDS VARIABLES
AFFECTEDBY (for a list of affect types)
----------
------------------------
-----------
------------------
Isgood
Align +350 or higher?
Isdevoted
target devoted?
Isneutral Align <
350 and > -350?
Isimmort
Immortal?
Isevil
Align -350 or lower?
Ismounted
Mounted?
Isfollow
Follow master in room?
Isnpc
Mob?
Rand (#) Equal to or less?
Ispc
Player character?
Isaffected Affected_by name?
Ispkill
Pkill?
Canpkill Pkill lev>4
and age>17
Isfight
Fighting?
Ismobinvis Mobinvis? (versus invis)
Ischarmed
Charmed?
Norecall Is target's
room
norecall?
Ispacifist Pacifist?
Mortinworld Is mort anywhere?
Mortinarea
in area?
Mortinroom Is mort in room?
Ispassage
(DIR)Exit exists?
WasInRoom Was target in X room?
Multi
Multi-playing?
Isopen
(DIR)Exit open?
Islocked
(DIR)Exit locked?
Time
(Military)Time of day?
Weight
Target's weight?
MortCount Mortals in room?
MobCount
NPCs in room?
CharCount NPCs + Mortals in room?
Iswearing
Is mort wearing vnum?
Ispacifist Is
Pacifist
Ismountable
Able to be mounted?
Roommulti Multi-Playing same
room?
Iscarry
Is mort carrying vnum?
Align
(number) Alignment
----------
------------------------
-----------
------------------
Value checks can use == (equals) > (greater than) < (less than)
and ! (not). Combine for: != (not equal) >= (greater than or equal).
See individual help files for each ifcheck: help 'ifcheck mortcount'
Continued on: IFCHECKS, IFCHECKS3
See Also: MPSTAT RPSTAT OPSTAT MPEDIT RPEDIT OPEDIT TRIGGER MPTRIGGERS
RPTRIGGERS OPTRIGGERS MPCOMMANDS RPCOMMANDS OPCOMMANDS VARIABLES
AFFECTEDBY (for a list of affect types)
TimesKilled
If timeskilled($* OR vnum) == amount
For character checks only, can use any normal mobprog operator
OvnumHere OvnumRoom OvnumCarry OvnumWear OvnumInv
If ovnum<place>(vnum) == amount
For objects only, counts how many objects of vnum 'vnum' exist in <place>
OtypeHere OtypeRoom OtypeCarry OtypeWear OtypeInv
If otype<place>(type OR value) == amount
For objects only, counts how many objects of type 'value' are in <place>
Will convert the type names (light is 1, for example)
Definitions:
Room In the room the mobile is in. Wear Worn by the mobile as equipment.
Inv In the mobile's inventory. Carry Worn or in inventory
Here All of the above
See also help IFCHECK ISCARRY and help IFCHECK ISWEARING
Continued on: IFCHECKS, IFCHECKS2
The following are ifchecks available to port 4000 immortals only:
ifcheck
syntax
usage
isasupressed if isasupressed($n)
is the target asupressed?
ismorphed if
ismorphed($n)
Is the target morphed? (not in use)
isnuisance
if isnuisance($n)
Is the target nuisanced?
ishelled
if ishelled($n)
Is the target currently helled?
multi
if multi($n) > (value)
Is the target multying?
waitstate
if waitstate($n) (val)
Is the target in waitstate?
quest
if quest($n) == Value
Is the target on quest Val
questcomplete if questcomplete($n) == Val
Quest complete equals Val?
Additional help on each of these subjects is available through
'IFCHECK (IFCHECK NAME)'.
See Also: IMMPROGS
These mpcommands are restricted knowledge to port 5665 immortals.
mpcommand
syntax
basic description
mpapply/mpapplyb
mpapply 0.$n
For use in pre-auth.
mpbodybag
mpbodybag 0.$n
Not currently in use.
mpfillin
mpfillin <dir>
Closes off exits
mplog
mplog <text>
Logs mob activity
mposet/mpmset
mp$set <field> <value>
Osets and Msets objs mobs.
mpnuisance
mpnuisance $n <val>...
Sets player to nuisance (in use?)
mpscatter
mpscatter $n vnum vnum Do not use.
mpstrew
unknown
unknown
mppeace
mppeace <victim>
Performs an immortal peace.
mpasurpess
mpasupress $n val
Not in use.
mpdelay
mpdelay <victim><time> Delays a
victim for * rounds
NOTE: If flagged "not in use" or "do not use", then DON'T USE :P
For more on individual mpcommands, type "Help (mpcommandname)".
See also: IFCHECKS4
THE LOST IFCHECKS
--------------------------------------------------------------
IsAttacker
Does the Target have an Attacker Flag?
IsKiller
Does the Target have a Killer Flag?
IsThief
Does the Target have a Thief Flag?
--------------------------------------------------------------
See Also: IFCHECKS, IFCHECKS2, IFCHECKS3, IFCHECKS4
Syntax: mpapply <victim>
Syntax: mpapplyb <victim>
These commands are used in the pre-auth area to signal a new character's
authorization status. When a character first enters the game, it will
be targeted by an 'mpapply <victim>' which will inform the immortals that
the character is waiting for authorization. Once the character is
authorized, a mob will attempt to 'mapplyb <victim>' the character, and
the character will be sent into the actual game.
Syntax: MPASOUND <phrase>
Displays a phrase to all surrounding rooms.
Syntax: MPAT <vnum> <command>
Lets the mobile perform a command at another location.
The following commands can be used for Room, Mob and Object progs. The
commands listed at the bottom are for mob progs only. Each command also
has its own help file. Type HELP <COMMAND>.
MPCOMMAND
PARAMETERS
MPCOMMAND
PARAMETERS
-------------------
--------------------
------------------
--------------------
MPASOUND
<phrase>
MPJUNK
<name/var>
MPECHOAROUND <name/var>
<phrase> MPECHOAT
<name/var> <phrase>
MPECHO
<phrase>
MPMLOAD
<mob vnum>
MPOLOAD
<object vnum>
MPPURGE
<object/mobile name>
MPADVANCE
<player name> <level> MPTRANSFER
<name/all>
MPFORCE
<name/all> <actions>
MPSLAY
<victim>
MPDREAM
<name> <phrase>
MPDAMAGE
<name> <#hps>
MPCLOSEPASSAGE <room> <direction>
MPOPENPASSAGE
<origin> <dest> <dir>
MPPRACTICE
<victim> (skill|spell)
(max_percent)
MPFAVOR
<victim> <favor>
Mobs only:
MPKILL
<name>
MPGOTO <vnum>
MPAT
<vnum> <command>
See also: MPSTAT, RPSTAT, OPSTAT, MPEDIT, RPEDIT, OPEDIT, TRIGGER, MPTRIGGERS,
RPTRIGGERS, OPTRIGGERS, IFCHECKS, VARIABLES.
Syntax: mpdamage <victim> <amount>
This command inflicts a specified amount of damage on the victim.
This damage will be affected by sanctuary, but is not affected by
protect, saving throws or resists.
A mob should _never_ mpdamage itself.
Syntax: mpdeposit <amount>
Syntax: mpwithdraw <amount>
This command orders the mobile to deposit or withdraw a specified number
of gold coins from an area. These can be used in conjunction with mpat
to tell the mob which area to withdraw/deposit money in.
Example: mpat 21000 mpwithdraw 5000000
This would cause the mob to withdraw 5 million coins from the new Portal City
area, as that is the area vnum 21000 is in.
If no mpat is used, the mob will withdraw or deposit the gold from the
area in which it is located at the time.
Syntax: MPDREAM <name> <phrase>
Sends a message to a sleeping character.
Syntax: MPECHO <phrase>
Displays a phrase to the entire room.
Syntax: MPECHOAROUND <name> <phrase>
Displays a phrase to all in the room except victim.
The abbreviation "mer" may be used for mpechoaround.
Syntax: MPECHOAT <name> <phrase>
Displays a phrase to only the victim.
The abbreviation "mea" may be used for mpechoat.
Syntax: mpedit <mobile> <command> [number] [program] [arguments]
Syntax: mpedit <mobile> add <program> <arguments>
Syntax: mpedit <mobile> insert <number> <program> <arguments>
Syntax: mpedit <mobile> edit <number> [program] [arguments]
Syntax: mpedit <mobile> delete <number>
Syntax: mpedit <mobile> list
Add, insert and edit will put you into the line editor to edit your
program. The arguments consist of a trigger, plus any arguments
associated with that trigger.
For complete information, reference the mob program documentation available
via FTP on realms.game.org: (building.tar.gz/building.tar.Z/building.zip )
See MPSTAT, TRIGGER, MPTRIGGERS, MPCOMMANDS, IFCHECKS, IFCHECKS2, VARIABLES
Syntax: MPFORCE <name/all>
Forces a player/mob to do a command (non-functional on immortals, all will
only force all in room).
Syntax: MPGOTO <vnum>
Goes to any room which is not private.
Syntax: mpinvis
Syntax: mpinvis <level>
This command controls a mob's ability to use a modified form of wizinvis.
Use 'mpinvis' alone to toggle the invisibility.
Use 'mpinvis <level>' to set the level at which the mob will be invis.
Mortals under the mobinvis level of the mob will be unable to see the mob
when it goes mobinvis; they cannot see it with any spell, it will be
completely invisible to them.
Be warned, however, that its programs will still function as normal, the
mortal will simply see a 'someone' if it performs an action or an echo
that they see, just as if a wizinvis immortal performed the action.
Also be warned that at the present time, area attacks _will_ hit a mobinvis
creature even if it is invisible.
Syntax: MPJUNK <name>
Destroys an object in inventory/being worn - can be used with all.object .
Syntax: MPKILL <name>
Kills a player without using murder.
Syntax: MPMLOAD <vnum>
MPOLOAD <vnum> <level> <timer>
Loads a mob or object. In the case of objects, the level must be set, or
supermob will end up setting the level. Timer is optional, and is the decay
timer for objects.
Syntax: MPOPENPASSAGE <origin> <destination> <direction>
Opens a passage to a room (does not affect pre-existing doors)
Syntax: MPCLOSEPASSAGE <room> <direction>
Closes a passage to a room (does not affect pre-existing doors that were
not created with mpopenpassage)
Syntax: mppractice <victim> <skill/spell/language> <amount>
This command will set the victim's percentage of proficiency in the
specified skill/spell/language to the specified amount.
It cannot train a character in a skill/spell/language the character does
not have as a part of its class and that it does not already have as a
result of its level. In other words, it cannot train a warrior in
fireball, or a level 1 thief in gouge.
Syntax: MPPURGE <object/mobile>
Purges the room, or a specified object/mobile.
Syntax: mprestore <victim> <amount>
This command restores a specified number of hitpoints to the victim.
Syntax: MPTRANSFER <name/all>
Transfers one or all in the room to a specified location.
Trigger Optnl
Triggering
Variable Explanation
------- -----
------------------- -----------
Wear
<percentage>
[when a player wears the object]
Remove
<percentage>
[when a player removes the object]
Speech {p}
<keyword / phrase> [says or
tells from same room as mob]
Rand
<percentage>
[randomly triggered based on percentile]
Sac
<percentage>
[when a player sacrifices the object]
Zap
<percentage>
[when the player is zapped due to alignment]
Get
<percentage>
[when a player gets the object]
Drop
<percentage>
[when a player drops the object]
Damage
<percentage>
[when the object is damaged]
Repair
<percentage>
[when the object is repaired]
Greet
<percentage>
[when a mob/player enters the room]
Exa
<percentage>
[when the object is Examined or Looked upon]
Push
<percentage>
[when a player pushes an object]
Pull
<percentage>
[when a player pulls an object]
Use
<percentage>
[see 'help useprog' for details]
For objects see also: OPSTAT, OPEDIT, TRIGGER, OPCOMMANDS, IFCHECKS, VARIABLES.
Syntax: opedit <object> <command> [number] [program] [arguments]
Syntax: opedit <object> add <program> <arguments>
Syntax: opedit <object> insert <number> <program> <arguments>
Syntax: opedit <object> edit <number> [program] [arguments]
Syntax: opedit <object> delete <number>
Syntax: opedit <object> list
Add, insert and edit will put you into the line editor to edit your program.
The arguments consist of a trigger, plus any arguments associated with that
trigger. Object programs are like mobprograms, with trigger differences.
To edit an Objprogram, you must be holding the object in your inventory.
See OPSTAT, TRIGGER, OPTRIGGERS, OPCOMMANDS, IFCHECKS, IFCHECKS2, VARIABLES
Syntax: opstat <object/object vnum>
Opstat will display all of the objprograms that have been written for the
specified object. If a copy of the object exists in the game, it can be
accessed by its vnum.
See OPEDIT, TRIGGER, OPTRIGGERS, OPCOMMANDS, IFCHECKS, IFCHECKS2 VARIABLES
Trigger Optnl Triggering Variable Explanation
------- ----- ------------------- -----------
Act {p} <keyword / phrase> [emotes, socials, actions, bamfs]
Speech {p} <keyword / phrase> [says or tells from within the room]
Rand <percentage> [randomly triggered based on percentile]
Sleep <percentage> [when a player sleep within the room]
Rest <percentage> [when a player rests within the room]
Entry <percentage> [when a mob/player enters the room]
Fight <percentage> [when a player is fighting in the room]
Death <percentage> [when a player dies in the room]
Leave <percentage> [when a player leaves the room]
Time <hour> [script prog, runs once on hour specified]
Hour <hour> [loops as Script for an hour from start hour]
Look [suppresses normal roomdesc shows results]
Reset [suppresses normal area reset msg for room]
*NOTE* {hour}/<hour> is in military time. ie, 15 hours is 3p.m. mud time.
*NOTE* The mpcommand MPDONOTHING currently only works in Script progs,
NOT in Time or Hour progs.
For rooms, see also: RPSTAT, RPEDIT, TRIGGER, RPCOMMANDS, IFCHECKS, VARIABLES.
Syntax: rpstat
Rpstat will display all of the roomprograms that have been written for a
room. You must be standing in the room that you are rpstatting (though
you can also use 'rpstat' in conjunction with the 'at' command to rpstat
a room remotely).
See RPEDIT, TRIGGER, RPTRIGGERS, RPCOMMANDS, IFCHECKS, IFCHECKS2, VARIABLES
Target
Function
--------------------------------------------------------------------
ignore
Spell affect relies on the casting argument
offensive
Spell will initiate combat
defensive
Can be cast on anyone safely
self
Spell only affects the caster
objinv
Casted onto an object in the caster's inventory
A trigger is an action, phrase, or game event that causes a program
held within a room, mob or object, to begin playing out its commands.
Triggers can be anything from a player or mob entering a room, to a
player stating a particular phrase within a room, or to a mob or an
object.
For detailed information on triggers, see:
RPTRIGGERS, MPTRIGGERS, OPTRIGGERS
Syntax: opedit <object> <command> [number] [use_prog] [percentage]
The use_prog is an objtrigger that can be used in object programs. The
use_prog will be executed when the item is used. To define what will
trigger the use_prog, here is a list:
* Wands - when you zap
* Staves - when you brandish
* Food/pills - when you eat
* Blood/fountains/drink containers - when you drink
* Lights/armour/weapons - when you wear/wield/hold
* Potions - when you quaff
* Pipes - when you smoke
When the use_prog is executed you will not see the standard 'use message'
(ie You quaff a violet potion). What you will be any mpechoes placed
in the program. Also, any mobprog commands can be used in use_prog (see
MPCOMMANDS).
**NOTE** The use_progs on lights, armour, and weapons are executed BEFORE
the player wears/holds/wields any item. Therefore, a mpforce to remove the
item will not work in the use_prog. You will have to use a wear trigger
to accomplish this.
This is the list of variables to be used in actiondescs for objects and in
mob/room/object programs.
VARIABLE
MOBILE
ACTOR
VICTIM
RANDOM
OBJECT
2ND_OBJECT
---------------
------
-----
------
------
------
----------
Name
$i
$n
$t
$r
$o
$p
shrt_desc/title
$I
$N
$T
$R
$O
$P
he/she/it
$j
$e
$E
$J
--
--
him/her/it
$k
$m
$M
$K
--
--
his/her/its
$l
$s
$S
$L
--
--
See also: MPSTAT, RPSTAT, OPSTAT, MPEDIT, RPEDIT, OPEDIT, TRIGGER, MPTRIGGERS,
RPTRIGGERS, OPTRIGGERS, MPCOMMANDS, RPCOMMANDS, OPCOMMANDS, IFCHECKS.
Back to Main Building Help Page.
Back to Area / Building Information MainPage.
|