EoC - Builder Help Files

These files are helpful for writing PROGS for MOBS, OBJECTS, and ROOMS:

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


103 ACTFLAGS MOBFLAGS

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.


108 DELAY
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.


101 IFCHECKS
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)


101 IFCHECKS2
----------         ------------------------                 -----------                 ------------------
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)


101 IFCHECKS3

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


104 IFCHECKS4
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
 


104 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


104 LOSTIFCHECKS
                                                    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


102 MPAPPLY MPAPPLYB
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.


103 MPASOUND
Syntax: MPASOUND <phrase>

Displays a phrase to all surrounding rooms.
 


103 MPAT
Syntax: MPAT <vnum> <command>

Lets the mobile perform a command at another location.


103 MPCOMMANDS RPCOMMANDS OPCOMMANDS
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.


102 MPDAMAGE
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.


102 MPDEPOSIT MPWITHDRAW
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.


103 MPDREAM
Syntax: MPDREAM <name> <phrase>
Sends a message to a sleeping character.


103 MPECHO
Syntax: MPECHO <phrase>

Displays a phrase to the entire room.


103 MPECHOAROUND
Syntax: MPECHOAROUND <name> <phrase>

Displays a phrase to all in the room except victim.
The abbreviation "mer" may be used for mpechoaround.


103 MPECHOAT
Syntax: MPECHOAT <name> <phrase>

Displays a phrase to only the victim.
The abbreviation "mea" may be used for mpechoat.
 


105 MPEDIT
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
 


103 MPFORCE
Syntax: MPFORCE <name/all>

Forces a player/mob to do a command (non-functional on immortals, all will
only force all in room).


103 MPGOTO
Syntax: MPGOTO <vnum>

Goes to any room which is not private.


102 MPINVIS
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.


103 MPJUNK
Syntax: MPJUNK <name>

Destroys an object in inventory/being worn - can be used with all.object .


103 MPKILL
Syntax: MPKILL <name>

Kills a player without using murder.


103 MPMLOAD MPOLOAD
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.


103 MPOPENPASSAGE MPCLOSEPASSAGE
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)


102 MPPRACTICE
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.


103 MPPURGE
Syntax: MPPURGE <object/mobile>

Purges the room, or a specified object/mobile.


102 MPRESTORE
Syntax: mprestore <victim> <amount>

This command restores a specified number of hitpoints to the victim.


103 MPTRANSFER
Syntax: MPTRANSFER <name/all>

Transfers one or all in the room to a specified location.


101 OBJTRIGGERS OPTRIGGERS
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.


103 OPEDIT
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


103 OPSTAT
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


101 ROOMTRIGGERS RPTRIGGERS
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.
 


103 RPSTAT
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
 


105 TARGETTYPES
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


103 TRIGGER
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


104 USEPROG
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.


103 VARIABLE VARIABLES
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.


 
Affiliates
 
Click on each link once per day to vote for us!
 
Vote for Our Mud on TMC!
 
 
SMAUG MUD TOP SITES LIST!
 
 

Featured Links
 
Check out our listing on Mud Connector!
 
 
Internet Content Rating Association
 
Edge Banners
Interested in linking to the Edge of Creation? Click Here


 
main :: general :: immortals :: players :: telnet :: resources :: email

     Valid XHTML 1.0 Transitional   Get Firefox!