Re: [Question] Zone expansion

From: Thomas Arp (
Date: 04/26/01

> but that didnt help and i still got the syserr: SYSERR: Room 30000 is
> outside of any zone.

This error occurs in db.c (parse_room()), when a room is out of bounds from
the top of the zone tables' top room. What you need to do :

1. Change the format of room numbers (vnum+rnum) to something other than
   signed short int (signed long int should do it..)

2. Make this change throughout the source, so everywhere you're dealing with
   room numbers, and are passing an int, pass a room_[vr]num instead.
(most of this is happening gradually in the stock code, as far as I can
see - each bpl have corrected one or two of these so far. The non-stock
parts of your code is an entirely different matter - expect a lot of work
on this one.)

3. Do the same for object/mob [rv]nums.

4. Now you can remove the limit of 320 zones in the olc, if you wish.
(The only reason for only having 320 zones is the limitation of signed short
int for vnums. They simply won't work above 32627 (or something).)

5. Make a new zone with a _lot_ of rooms in it.

6. Enjoy life.

As you can see, the process is simple, yet labourous. Happy coding :)


   | FAQ: |
   | Archives: |

This archive was generated by hypermail 2b30 : 12/05/01 PST