Andrew Helm wrote: > There are two bugs in zedit.c, in the function zedit_new_zone(). > Find the lines that read: > > /*. Make a new zone in memory.*/ > CREATE(new_table, struct zone_data, top_of_zone_table); > new_table[top_of_zone_table + 1].number = 32000; > for(i = 0; i <= top_of_zone_table + 1; i++) > if(!found) > if (i > top_of_zone_table || zone_table[i].number > vzone_num) > { found = 1; > > The first bug is in the line that reads: > CREATE(new_table, struct zone_data, top_of_zone_table); > > Change this line to: > CREATE(new_table, struct zone_data, top_of_zone_table+2); > > The next bug is in the line that reads: > for(i = 0; i <= top_of_zone_table + 1;i++); > > Change this line to > for(i = 0; i <= top_of_zone_table;i++); Ok, this looked great, but is it too good to be true? I added this little fix and tested it out, this is what I got: I created a new zone and typed show zones I see this for the zone I jsut created: 32000 (null) Age: 0; Reset: 0 (0); Top: 0 where it should be: 33 New Zone Age: 0; Reset: 30(2); Top: 3399 Ok, now, all I could think of was changing the line: new_table[top_of_zone_table + 1].number = 32000; to new_table[top_of_zone_table + 2].number = 32000; ^ to coincide with the previous, but this resulted in an even more interesting problem...but thats besides the point... Granted, this is all fixed by a reboot, which cleans up show zones and shows the right stuff, and I can edit the zone fine, but before I do that it tell me there is no zone for that number. So I looked in /lib/world/zon (and wld) and the 33.zon and 33.wld's where all there...and in the index correctly...so its just something in one of those lines in zedit.c just to let you know... --Ray +------------------------------------------------------------+ | 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/08/00 PST