I believe that this file contains all the changes i made to allow memory handling for mobs. If you get any errors as a result of my code just email me an I will be glad to try and solve it with you. Shame the Imp SliceMUD -- [Lotus.Cim.MsState.Edu 4000] [130.18.216.23 4000] In structs.h: goto: struct memory_rec_struct add: char *name; after long id; In interpreter.c: goto: prototypes for all do_xx add: ACMD(depiss); add: ACMD(repiss); goto: struct command_info cmd_info[] = { add: { "depiss" , POS_DEAD, do_depiss, LVL_GOD, 0} add: { "repiss" , POS_DEAD, do_repiss, LVL_GOD, 0} In mobact.c: goto: void remember(.....) add: tmp->name = GET_NAME(victim); after tmp->id = GET_IDNUM(victim); goto: void forget(....) change: while (curr && curr->id != GET_IDNUM(victim)) { to: while ((curr && curr->id != GET_IDNUM(victim)) || (curr && curr->name != GET_NAME(victim))) { In act.wizard.c: add: the following code: ACMD(do_depiss) { void forget(struct char_data * ch, struct char_data * victim); char buf3[80]; struct char_data *vic = 0; struct char_data *mob = 0; two_arguments(argument, buf1, buf2); if (!*buf1 || !*buf2) { send_to_char("Usage: depiss <player> <mobile>\r\n", ch); return; } if (((vic = get_char_vis(ch, buf1))) && (!IS_NPC(vic))) { if (((mob = get_char_vis(ch, buf2))) && (IS_NPC(mob))) { if (MOB_FLAGGED(mob, MOB_MEMORY)) forget(mob, vic); else { send_to_char("Mobile does not have the memory flag set!\r\n", ch); return; } } else { send_to_char("Sorry, Player Not Found!\r\n", ch); return; } } else { send_to_char("Sorry, Mobile Not Found!\r\n", ch); return; } sprintf(buf3, "%s has been removed from %s pissed list.\r\n", GET_NAME(vic), GET_NAME(mob)); send_to_char(buf3, ch); } ACMD(do_repiss) { void remember(struct char_data * ch, struct char_data * victim); char buf3[80]; struct char_data *vic = 0; struct char_data *mob = 0; two_arguments(argument, buf1, buf2); if (!*buf1 || !*buf2) { send_to_char("Usage: repiss <player> <mobile>\r\n", ch); return; } if (((vic = get_char_vis(ch, buf1))) && (!IS_NPC(vic))) { if (((mob = get_char_vis(ch, buf2))) && (IS_NPC(mob))) { if (MOB_FLAGGED(mob, MOB_MEMORY)) remember(mob, vic); else { send_to_char("Mobile does not have the memory flag set!\r\n", ch); return; } } else { send_to_char("Sorry, Player Not Found!\r\n", ch); return; } } else { send_to_char("Sorry, Mobile Not Found!\r\n", ch); return; } sprintf(buf3, "%s has been added to %s pissed list.\r\n", GET_NAME(vic), GET_NAME(mob)); send_to_char(buf3, ch); } If you don't mind give some credit to Shame the Imp of SliceMUD +-----------------------------------------------------------+ | Ensure that you have read the CircleMUD Mailing List FAQ: | | http://cspo.queensu.ca/~fletcher/Circle/list_faq.html | +-----------------------------------------------------------+
This archive was generated by hypermail 2b30 : 12/07/00 PST