Code
##txickloc:runsub moveaway; ##gives:runsub isitme; ##calls:runsub checkcaller; ##checkcaller: if $actor eq $target then movetocaller else end; ##movetocaller: var $dest to $init_obj's loc; if $dest > 0 then movenow else end; ##movenow: say 'leaves',"[$actor] rushes off with a new job to do"; say 'force',"force:look"; set $actor's loc to $dest; msg $dest,$actor,0,0,'arrives',"[$actor] arrives ready to deliver things"; msg $dest,$actor,0,0,'force',"force:look"; ##isitme: if $actor eq $second then isitthem else end; ##isitthem: if $target > 0 then checkmoney else end; ##checkmoney: var $fee to 10; var $purse to $init_obj's worth; take $fee from $purse; if $purse > 0 then findrecipiant else nomoney; ##findrecipiant: var $deliverto to $target's extra; swap $deliverto so "for " is ""; rem find the player called $deliverto; locate $deliverto; if $found_id > 0 then deliveritem else notnamed; ##deliveritem: var $from to $init_obj; var $dest to $found_id's loc; say 'says',"[$actor] says 'Ok, that will be $fee $coinage'"; say 'leaves',"[$actor] takes the money and rushes off to [$dest] to find [$found_id]"; set $init_obj's worth to $purse; rem - take the money and run; set $actor's loc to $dest; clear $actor,all; say 'force',"force:look"; var $loc to $dest; say 'arrives',"[$actor] rushes up to [$found_id]"; say 'say',"[$actor] says 'I have a delivery for you from [$from] and stuffs [$target] into your pocket!"; say 'force',"force:look"; set $target's loc to $found_id; msg $found_id,$target,$target,0,'arrives',"[$target] arrives from nowhere!"; code $actor switch on; rem start the postman looking for an exit; ##notnamed: say 'says',"[$actor] says 'Im sorry but I cant work out who to deliver [$target] to'"; say 'says',"[$actor] says 'Please check the name and try again' and drops [$target]"; set $target's loc to $actor's loc; ##nomoney: say 'says',"[$actor] says 'It costs $fee $coinage if you want me to deliver anything'"; say 'says',"[$actor] says 'Please come back when you have enough money'"; ##moveaway: runsub moveme/2; ##moveme: find $loc,random doorway; var $tlink to $found_id's link; var $tloc to $tlink's loc; say 'leaves',"[$actor] mutters 'I have so much work to do' and leaves via [$found_id]"; clear $actor,all; set $actor's loc to $tloc; var $loc to $tloc; say 'arrives',"[$actor] arrives via [$tlink] looking rather busy"; say 'force',"force:look"; code $actor switch off;