For those of you using (or wanting to use) OasisOLC who are also using mobprogs, here's an addition to medit_save_to_disk() (in medit.c) that preserves any mobprogs attached when the mobs for a zone are saved. It goes in right after the line with "fprintf(mob_file, "E\n");" on it. { MPROG_DATA *pstMProg; char *pcSrc; char *pcDst; /* write out mobprogs (if any) */ pstMProg = mob_index[rmob_num].mobprogs; while (pstMProg != NULL) { pcSrc = pstMProg->comlist; pcDst = buf; while (*pcSrc != '\0') { if (*pcSrc != '\r') { *pcDst = *pcSrc; pcDst++; } pcSrc++; } *pcDst = '\0'; fprintf(mob_file, ">%s%s~\n%s~\n", ((pstMProg->type == IN_FILE_PROG) ? "in_file_prog" : ((pstMProg->type == ACT_PROG) ? "act_prog" : ((pstMProg->type == SPEECH_PROG) ? "speech_prog" : ((pstMProg->type == RAND_PROG) ? "rand_prog" : ((pstMProg->type == FIGHT_PROG) ? "fight_prog" : ((pstMProg->type == HITPRCNT_PROG) ? "hitprcnt_prog" : ((pstMProg->type == DEATH_PROG) ? "death_prog" : ((pstMProg->type == ENTRY_PROG) ? "entry_prog" : ((pstMProg->type == GREET_PROG) ? "greet_prog" : ((pstMProg->type == ALL_GREET_PROG) ? "all_greet_prog" : ((pstMProg->type == GIVE_PROG) ? "give_prog" : ((pstMProg->type == BRIBE_PROG) ? "bribe_prog" : "ERROR")))))))))))), pstMProg->arglist, buf); pstMProg = pstMProg->next; } if (mob_index[rmob_num].mobprogs != NULL) fprintf(mob_file, "|\n"); } \_\_\_ _/ \_\_\_ axis data: specializing in online system setup & design \_ \_ _/ \_ \_ Edward Almasy almasy@axis.com \_\_\_ _/ \_\_\_ President: Axis Data Proprietor: NineJackNine \_ _/ _/ \_ 608-256-5732 (voice) 608-256-5697 (data) \_\_\_ _/_/_/ \_\_\_ 9jack9: on the bleeding edges of culture and technology Nine Jack Nine 33 University Square Suite 131 Madison WI 53715
This archive was generated by hypermail 2b30 : 12/18/00 PST