@verb #4909:"speak_out" this none this rxdo #6319 @program #4909:"speak_out" this none this "Note that we allow players to use emootions with objects!" "These objects cen be either in the room or on the players themselves" "Has to have SOME object...might as well ignore this one :)" {o, p, ?d = "", ?v = ""} = args "((!v) && (v = d)) && (d = #-1);" "Sorry Raptor... I hate to modify your verb, but @hug not working was bugging me... the above line didn't seem to do what I think you meant it to. Sorry. --Cecil" "Sorry Rap, hate to modify your verb, but it's just easier this way. -Lao." "Sorry, boys, I didn't write this crazy verb. I just taped in some new code into the existing stuff. If it doesn't work, well, too bad! - Raptor" if (!v) v = d d = o endif d && player.location != `dobj.location ! E_INVIND' && (d = "From afar, " + d) if (dobj == $nothing || valid(dobj)) player.location:sub_announce_all_but(valid(dobj) ? {dobj, player} | {player}, o, v) player:sub_tell(p, v) `valid(dobj) && dobj:sub_tell(d, v) ! ANY' elseif (dobj == $ambiguous_match) return player:sub_tell("%1: ambiguous name.", dobjstr) else "Here we have a failed match, so we look for a players outside the room" who = $string_utils:match_player(dobjstr) if (who != $failed_match && who != $ambiguous_match) if (who.location.location == player.location) "Assume this means 'who' is in a vehicle of some sort: do the verb on the object." dobj = who.location player.location:sub_announce_all_but({dobj}, o, v) player:sub_tell(p, v) dobj:sub_tell(d, v) else dobj = who player:sub_tell("%d is not in the same room as you!") endif elseif (who == $ambiguous_match) player:sub_tell("%1 matches many players, none of which are in the same room as you!", dobjstr) elseif (who == $failed_match) player:sub_tell("No objects match the name '%1'.", dobjstr) else "something weird has happened!" player:sub_tell("An error occured! Report it immediately to %1!", this.owner) endif endif "Last modified by Lao-Tzu (#8084) on Mon Apr 23 19:17:58 2001 MDT." .