> a: reim > b: calm ( to halt fighting in a room) > (looks like I though of a few more) ACMD(do_peace) { struct char_data *tch; char *words = "$n issues an order of total tranquility."; if(IN_ROOM(ch) == NOWHERE){ send_to_char("You can not make peace in nowhere!\r\n", ch); return; } for(tch = world[IN_ROOM(ch)].people; tch; tch = tch->next){ if(FIGHTING(tch) && IMM_CAN_SEE(ch, tch)){ stop_fighting(tch); act(words, TRUE, ch, 0, tch, TO_VICT); } } send_to_char("You fill the room with tranquility.\r\n", ch); return; } > c: passdoor (so imm+'s can walk through closed doors, etc) That is about a 1 or 2 line code check in act.movement.c. > d: and a command to give newbie's basic items and gold And yet again..... ;) void load_newbie_equipment(struct char_data *ch) { /* * NOTE: these numbers will be changed if the zone files are wiped... */ int items[7]= { 3010, 3010, 3010, 3032, 3044, 3076, 3081 }; int tmp; struct obj_data *o; for(tmp=0; tmp<=6; tmp++){ if((o=read_object(items[tmp], VIRTUAL)) == NULL){ sprintf(buf,"ERROR: newbie load: object #%d does not exist.", items[tmp]); log(buf); continue; } else obj_to_char(o,ch); } /* * attacking type weapon */ if(GET_CLASS(ch) == CLASS_WARRIOR) tmp = 3021; else if(GET_CLASS(ch) == CLASS_CLERIC) tmp = 3024; else tmp = 3020; o = read_object(tmp, VIRTUAL); if(o == NULL) return; obj_to_char(o, ch); GET_GOLD(ch) = 0; GET_GOLD(ch) = number(500, 750); } -reni
This archive was generated by hypermail 2b30 : 12/07/00 PST