This small example tries to roughly illustrate how an event is called,
  looked up in the relating script and then executed.

  Axel Trocha (2002-Nov-15)
  

(act.movement.c) : /* If mount is _not_ standing or fighting ... */ if (ch->char_specials.position != POS_STANDING || ch->char_specials.fighting) { send_to_char(ch->rider,"You mount is not ready yet.\r\n"); return(0); } /* at this point it should be 100% sure that the move will succeed */ MSETN("dir", dir) MSETN("who", ch) event_room_trigger(EVENT_MOVE, ch->in_room, ch); MDEL("dir") MDEL("who") OVERRIDE0 /* guess below only applies when fleeing */ fighting = ch->char_specials.fighting; if (fighting) { fighting->char_specials.fighting = NULL; fighting->char_specials.position = POS_STANDING; } :
(events.c) : { EVENT_HOUR, "hour" , EVENT_GLOBAL }, { EVENT_LOCK, "lock" , EVENT_NORMAL }, { EVENT_LOOK, "look" , EVENT_NORMAL }, { EVENT_MOVE, "move" , EVENT_NORMAL }, { EVENT_OPEN, "open" , EVENT_NORMAL }, :
(obj809.m) obj809 ; broom object ; script code quit move ;--- MOVE EVENT LABEL ;--- only for immortal if $$level^%char(who)<101 quit ;--- quit, if you are not wearing/holding it if who'=$$wornby^%obj(me) quit : :