@verb #101:"bf_notify" this none this rxdo #55 @program #101:"bf_notify" this none this {who, what} = args caller_perms():controls(who) || raise(E_PERM) "(((ticks_left() < 2000) || (seconds_left() == 1)) && suspend(0)) && \"Like a suspend_if_needed call, but the ticks/seconds have to be less.\";" if (s = valid(who) ? `setremove(who.spied, who) ! E_PROPNF' | `$network:listener(who).spied ! E_PROPNF, E_INVIND, E_INVARG => {}') $spying_buffer = {@$spying_buffer, {who, what}} try fork (0) if (#104:has_property(tostr(who, "_spying_semaphore"))) return endif add_property(#104, tostr(who, "_spying_semaphore"), 0, {$slacker, "c"}) try for what in ($spying_buffer) if (what[1] == who) for x in (s) x:notify(tostr("[", who, "]: ", strsub(what[2], "~0D~0A", ""))) endfor $spying_buffer = listdelete($spying_buffer, what in $spying_buffer) endif $cmd_utils:suspend_if_needed(0) " This suspend should be alright... any other... could be badish. :) " endfor finally delete_property(#104, tostr(who, "_spying_semaphore")) endtry endfork except (ANY) endtry else for x in [1..5] "Tick" endfor endif "$login.total_data = $login.total_data + length(what);" return pass(@args) "Last modified by Cecil (#7407) on Tue Apr 1 09:36:05 2003 MST." .