On Thu, 4 Dec 1997, Jonathan VanKim wrote:
> This might be a question that's been answered but here goes...
Actually.... hehe... For the very observant person, I posted a fix to your
problem not more than a day or two ago... At least your symptoms sound to
me, to be of the exact type, that I had *g*
> I have patched in OasisOLC version 1.6a into circle 3.0 patch 11 (stock).
> I'm even using stock zones. But I don't like stock zones so I go into
> ../world/ and take out all the zones I don't like. But when I go into the
> mud to use OLC, specifically medit, I crash the mud when I create a new
> mob. Rigth when it says, "Do you want to save this mobile into memory?"
> and I say yes... the mud crashes, gives me a Bus Error- core dump. When I
> put back in all the stock zones and create a new mob. It works perfectly
> fine. Anyone have any ideas?
Can you say 'assign_the_shopkeepers() in shop.c' ? ;*)
My guess is, that this is the problem you're experiencing, since I also
just installed Oasis v1.6(a), and got the problem with crashes when
creating new mobiles.
It turned out, that if you have a shop in your lib/world/shp/ directory,
that you load that uses a mobile vnumber that is unexistent (a vnum of one
of the mobiles from a .mob file you deleted), you'll corrupt some memory.
If you want to know why, scroll back a few days in your Circle mail. If
you don't just replace the assign_the_shopkeepers procedure with the one
below (find it in shop.c :=) :
NOTE: This is a modified mailerversion of my own fixed procedure, but
since I've added some non-stock stuff, the syntax used in this one might
not be entirely correct, I beleave my earlier posted version was ,-)
void assign_the_shopkeepers(void)
{
int index;
extern int top_of_mobt;
cmd_say = find_command("say");
cmd_tell = find_command("tell");
cmd_emote = find_command("emote");
cmd_slap = find_command("slap");
cmd_puke = find_command("puke");
for (index = 0; index < top_shop; index++) {
if ((SHOP_KEEPER(index) > -1) && (SHOP_KEEPER(index) <= top_of_mobt)) {
if (mob_index[SHOP_KEEPER(index)].func)
SHOP_FUNC(index) = mob_index[SHOP_KEEPER(index)].func;
mob_index[SHOP_KEEPER(index)].func = shop_keeper;
}
}
}
}
Regards,
Rand
.d
--
Rasmus Ronlev DOEK'94 http://www.econ.cbs.dk/~raro94ab
IT-Advisor mailto:raro94ab@student.econ.cbs.dk
B.Sc. Computer Science and Business Administration
Stud. M.Sc. Computer Science and Business Administration
+------------------------------------------------------------+
| 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