@program ntalk.muf 1 10000 d i $include $lib/alynna $include $lib/rp $def TR "/~talk/" lvar param lvar cmd lvar arg : mpi.getstat var target var prop arg @ ":" split prop ! target ! target @ resolve target ! target @ int 0 < if "" exit then target @ prop @ getstatstr ; : mpi.setstat var target var prop var value arg @ ":" split ":" split value ! prop ! target ! target @ resolve target ! target @ int 0 < if "" exit then target @ prop @ value @ setstat "" ; : mpi.goto me @ "/~talk/pos" arg @ setprop ; : talk.sequence ; : talk.script var temp var target var prop var value param @ resolve target ! target @ int 0 < if { "Target not found." }tell exit then { "<< Editing talk script for " target @ "(" target @ unparseobj ")" " >>" }tell begin read temp ! temp @ "!" smatch if target @ TR remove_prop then temp @ "." smatch if break then temp @ ":" split value ! TR swap strcat prop ! target @ prop @ value @ setprop repeat { "<< END TALK SCRIPT >>" }tell ; : main param ! command @ "(MPI)" smatch if param @ " " split arg ! cmd ! cmd @ tolower case "getstat" smatch when mpi.getstat end "setstat" smatch when mpi.setstat end "goto" smatch when mpi.goto end "end" smatch when mpi.end end endcase else command @ tolower case "+t*" if talk.sequence then "+t*/script" if talk.reset then endcase then ; . c q