: say ( s -- ) me @ swap notify ; : do_usage ( -- ) "Usage: @alias [-g][!][=]" say "------------------------------------" say me @ propfirst begin while dup "[a]" rinstr dup if over strlen 2 - = if over over getpropstr atoi dbref name over dup strlen 3 - strcut pop 1 strcut swap pop "..............." over strlen strcut swap pop strcat "." strcat swap strcat say then else pop then propnext loop "------------------------------------" say "**End of List*" say ; : main ( s -- ) .sstrip dup not if pop do_usage exit then dup "=" instr not if dup "!" 1 strncmp if pop do_usage exit then "Alias: Alias '%a' removed." swap 1 strcut swap pop swap over "%a" subst say me @ "." rot strcat "[a]" strcat remove_prop exit then dup "-g" instr dup 3 pick "=" instr < and if "" "-g" subst prog "_pmatch+" getpropstr atoi dbref else me @ then swap dup "=" instr 1 - strcut 1 strcut swap pop .sstrip swap .sstrip swap .pmatch dup not if pop pop pop "Error: Player not found." say exit then 3 pick "." 4 pick strcat getpropstr atoi dbref player? if "Alias: Alias '%a' redefined to '%p'." else "Alias: Alias '%a' set to '%p'." then 3 pick "%a" subst over name "%p" subst say 3 pick "." 4 rotate strcat "[a]" strcat rot intostr 0 addprop pop ;