mirror of
https://github.com/tbamud/tbamud.git
synced 2025-09-22 05:50:48 +02:00
117 lines
5.6 KiB
Text
117 lines
5.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
|
|
|
|
There are many common errors that can be created by changing things in the
|
|
code or having builders try inappropriate things. Here are a few, this list
|
|
will be continually developed. If you have any additions or corrections please
|
|
stop by the Builder Academy at telnet://tbamud.com:9091 or email:
|
|
rumble@tbamud.com -- Rumble
|
|
|
|
1. Errant Rooms (show error command)
|
|
2. SYSERR: Object # (oedit-s-desc) doesn't have drink type as last alias.
|
|
3. SYSERR: Mob # both Aggressive and Aggressive_to_Alignment.
|
|
4. SYSERR: Object # (oedit-s-desc) has out of range level #.
|
|
5. SYSERR: Object # (oedit-s-desc) has negative weight (-2147483644).
|
|
SYSERR: Object # (oedit-s-desc) has out of range level #2147483647.
|
|
6. SYSERR: Object # (oedit-s-desc) uses 'UNDEFINED' spell #.
|
|
7. SYSERR: Object # (oedit-s-desc) contains (5) more than maximum (3).
|
|
8. Char is already equipped: (medit-s-desc), (oedit-s-desc)
|
|
9. SYSERR: Attempt to assign spec to non-existant mob #
|
|
10. No associated object exists when attempting to create a board [vnum #].
|
|
11. SYSERR: Mob using >'((ch)-)player_specials....
|
|
12: SYSERR: Object # (keyword) is type NOTE and has extra description with
|
|
same name (keyword)
|
|
|
|
1: Errant Rooms
|
|
|
|
(Nowhere) [ 8868] House of Elders Chamber in Silverwood City (south)
|
|
|
|
The most common are exits to Nowhere. This happens when a builder
|
|
modifies a room exit but does not include an exit room vnum. These errant
|
|
rooms are listed by the command 'show error' The fix is simple, remove the
|
|
exit by purge exit in redit exit menu or by using 'dig <direction> -1' A few
|
|
builders actually create exits to nowhere just so they can set the exit
|
|
descriptions. So only delete if there is no exit description.
|
|
|
|
2: SYSERR: Object # (oedit-s-desc) doesn't have drink type as last alias.
|
|
|
|
Another common error is caused by how shop code handles drink containers
|
|
poorly. In order for shops to display a jug as "a jug of <drink type>" they
|
|
must have the drink type as the last alias. It is good practice to put the
|
|
drink type as the first and last word of an objects namelist (older verions
|
|
of CircleMUD expect it first and once the object is empty it removes one of
|
|
the drink aliases).
|
|
i.e. a shot of whisky should have the namelist: whisky shot whisky
|
|
a cup of slime mold juice namelist should be: juice cup slime juice
|
|
|
|
3: SYSERR: Mob # both Aggressive and Aggressive_to_Alignment.
|
|
|
|
Another harmless error. If your mob is aggressive there is no need to also
|
|
make it aggressive to certain alignments since AGGR means it will attack any
|
|
player it can see. Choose to make it aggressive to an alignment or aggressive
|
|
to all.
|
|
|
|
4: SYSERR: Object # (oedit-s-desc) has out of range level #.
|
|
|
|
A simple one. Limit spell levels to the levels available, on tbaMUD that
|
|
would be 1-34.
|
|
|
|
5: SYSERR: Object # (oedit-s-desc) has negative weight (-2147483644).
|
|
SYSERR: Object # (oedit-s-desc) has out of range level #2147483647.
|
|
|
|
These are really annoying. This happens on older versions of CircleMUD when
|
|
you use numbers larger than necessary. This will actually crash many older
|
|
versions of CircleMUD. Just do not do it. Use realistic numbers.
|
|
|
|
6: SYSERR: Object # (oedit-s-desc) uses 'UNDEFINED' spell #.
|
|
|
|
There is no spell zero. Either select a spell or put -1 for none.
|
|
|
|
7: SYSERR: Object # (oedit-s-desc) contains (#) more than maximum (#).
|
|
|
|
When making a drink container you will set how much it initially contains
|
|
on creation and the max it can hold if a player were to fill it. Common sense
|
|
tells us that you can not create a container that initially holds more than
|
|
the max you set. To simplify the max must always be greater than or equal to
|
|
the initial amount.
|
|
|
|
8: Char is already equipped: (medit-s-desc), (oedit-s-desc)
|
|
|
|
This happens when someone tries to equip a mob with one or more object in
|
|
a single location. HELP ZEDIT-EQUIP for all the possible object equipping
|
|
locations. All you have to do to fix this is pick a different equip location
|
|
that is not used.
|
|
|
|
9: SYSERR: Attempt to assign spec to non-existant mob #
|
|
|
|
To get rid of this "grep # spec_assign.c" and remove this assignment.
|
|
|
|
10: No associated object exists when attempting to create a board [vnum #].
|
|
|
|
You need to delete this board from lib/etc/boards/ and modify boards.c and
|
|
boards.h. Again "grep #" *.[ch] to search for this vnum in all of your .c and
|
|
.h files to remove the reference.
|
|
|
|
11: SYSERR: Mob using >'((ch)-)player_specials....
|
|
|
|
Players and mobs (NPC's) share many of the same data fields, but not all.
|
|
So when a mob tries to access player data it gives a SYSERR like this:
|
|
SYSERR: Mob using >'((ch)-)player_specials...
|
|
|
|
The fix is actually a very easy one. All you have to do is make sure it only
|
|
checks player data if it is a player. The way this is done in the code is with
|
|
a non-player-character check. Now non-player-character (NPC) means it is a mob.
|
|
So you need a double negative to make sure it is not a non-player-character. I
|
|
know this is confusing, but just copy the example below.
|
|
|
|
- if (PRF_FLAGGED(ch, PRF_NOREPEAT)) // This line should be removed, hence the "-"
|
|
+ if (!IS_NPC(ch) && PRF_FLAGGED(ch, PRF_NOREPEAT)) // This line should be added without the "+"
|
|
|
|
The changed line now will not just check for a flag, instead it will check if
|
|
it is a player (not an NPC) and it is flagged then continue.
|
|
|
|
12: SYSERR: Object # (keyword) is type NOTE and has extra description with
|
|
same name (keyword)
|
|
|
|
Object type NOTE is meant to be written on using the action-description. So if
|
|
you have an extra description with the same keyword it will never be viewable.
|