[snipped sprintascii update fix]
>If you edit a shop and select 0, using the same mob number or a mob that
>already has a func set as shop_keeper, it apparently causes the shop.c
>fuction SPECIAL(shop_keeper) to loop with this bit of code.
>
> if (SHOP_FUNC(shop_nr)) { /* Check secondary function */
> if ((SHOP_FUNC(shop_nr)) (ch, me, cmd, arg))
> return (TRUE);
> }
>
>Since I don't fully understand it, those more experinced would know more,
>but in sedit.c where you set the shopkeeper's func, it sets the shop's
>function to shop_keeper. This is becuase the mob already has a func
>of shop_keeper. I don't know if this is correct to do so, but
>it seems to work for me. ANY real help on how this should be
>is WELCOMED!
>(sedit.c)
>
>+ mob_index[i].func = NULL;
> S_FUNC(OLC_SHOP(d)) = mob_index[i].func;
> mob_index[i].func = shop_keeper;
Del,
Thanks for the info! I never would have found this myself.
I had the sprintascii fix (I think that's updated in Oasis 2.01 when I was
trying to fix this myself), and the code you sent fixes the corrupted shop
files.
However, I still have this problem:
After creating/editing a shop and saving it internally, then saving it to
disk, whatever. It works perfectly, no problems. It writes the shop file
perfectly, no problem. But when I try to do 'show shops' it crashes the
mud. When the mud reboots, the shop is still fine and show shops works
without flaw. So I assume it must be some other problem in the
list_all_shops function in shop.c, but I can't figure that out either. (I
know, I'm not very helpful :(
Maybe you could tell me if you have this same problem still?
Thanks again!
Brandon
--
+---------------------------------------------------------------+
| FAQ: http://qsilver.queensu.ca/~fletchra/Circle/list-faq.html |
| Archives: http://post.queensu.ca/listserv/wwwarch/circle.html |
+---------------------------------------------------------------+
This archive was generated by hypermail 2b30 : 12/06/01 PST