I found a little bug in zedit when creating new zones that appears to be in Oasis and OLC+. Simple enough, all rooms in all zones after the zone created are wrong. If you have zones 0, 1, 10, 50, and 200, and create a new zone #2. 0 and 1 are fine. Rooms in zone 10 believe they're in zone 2 (stat room). Rooms in zone 50 believe they're in zone 10. Rooms in zone 200 believe they're in zone 50. The reason is that "zone" on struct room_data is a rnum, and is never updated when a new zone is made. To fix, add an 'int j' to the top of zedit_new_zone, then, down where it says: /* * Copy remaining zones into the table one higher, unless of course we * are appending to the end in which case this loop will not be used. */ Delete the for loop there (it's just a for() then one line), and then put this in its place: for (; i <= top_of_zone_table; i++) { new_table[i + 1] = zone_table[i]; for (j = zone_table[i].number * 100; j <= zone_table[i].top; j++) /* increment the zone number */ world[real_room(j)].zone++; } This has worked fine for me now. My problem was when I was using a room's zone to get information, for zone flags and such. [-------------------------------------------] Tony Robbins, <tonyr@nwpaclink.com> LakeView Technologies, Inc. [-------------------------------------------] +------------------------------------------------------------+ | Ensure that you have read the CircleMUD Mailing List FAQ: | | http://democracy.queensu.ca/~fletcher/Circle/list-faq.html | +------------------------------------------------------------+
This archive was generated by hypermail 2b30 : 12/15/00 PST