On Sun, 27 Oct 1996, Cyber Reaper wrote: - > That is cool, also idealy I would like a code editor. :) - - while were at it... how about a way to assign spec_procs in OLC - fassion... heck... a online spec_proc editor would be even beter =:) Hmmm... int add_mob_spec(sh_int mob_vnum, char *spec_name) { sh_int mob_rnum, i; const char *spec_list[] = { /* these are off the top of my head */ "thief", "cleric", "puff", "\n" } if((mob_rnum = real_mobile(mob_vnum)) < 0) return FALSE; for(i = 0; *(spec_list + i) != '\n'; i++) if(is_abbrev(spec_name, spec_list[i])) break; if(*(spec_list + i) = '\n') return(FALSE); switch(i) { case 0: ASSIGNMOB(mob_vnum, thief); break; case 1: ASSIGNMOB(mob_vnum, cleric); break; case 2: ASSIGNMOB(mob_vnum, puff; break; default: return(FALSE); } SET_BIT(MOB_FLAGS(mob_proto + mob_rnum), MOB_SPEC); return(TRUE); } That's just a short __UNTESTED__ example of a function that assigns am existing spec_proc to a mob prototype (you'd have to load a copy of the mob to have it take effect). You can add more spec_procs by adding to the spec_list definition, and adding more case statements. Want to add it to olc? Simple. If I were adding it to obuild (which I'm planning on doing eventually), I'd add a case to mset names specproc or something like that, and add this: case X: if(!*val_arg) { send_to_char("Usage: mset specproc <mob #>\r\n", ch); send_to_char("Valid spec_procs are:\r\n", ch); send_to_char("thief cleric puff\r\n", ch); /* add more here too */ return; } one_argument(val_arg, arg1); if(!add_mob_spec(mob_index[MOB_NEW(ch)->nr].virtual, arg1)) send_to_char("Invalid spec_proc.\r\n", ch); half_chop(val_arg, field, val_arg); break; This is more __UNTESTED__ code. If you try it out and have problems, send me the make output and I'll help out. Sam +-----------------------------------------------------------+ | 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/18/00 PST