Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- @@ Global: +Watch (#10)
- @create Global: +Watch
- @link Global: +Watch = #0
- @set Global: +Watch = WIZARD
- @desc +Watch=This code was created by Kitai, it is free to use and alter as you wish. Any requests or issues should be sent to Kitai found on MUSH - leave an @mail.
- &ACONNECT Global: +Watch=@break [get(%#/watch`hide)];@pemit setinter([get(%#/watched`by)],lwhoid())=[ansi(hw,Watch:)] %n has connected.
- @set Global: +Watch/ACONNECT=no_command prefixmatch
- &CMD_+WATCH Global: +Watch=$+watch:@assert [setr(objid,filter(#lambda/objeval(%#,hasflag(\%0,CONNECTED)),get(%#/watch`list)))]=@nspemit %#=[ansi(hw,Watch:)] No one you are watching is currently online.;@pemit %#=[align(<19 7 6 8 8,[ansi(hw,Player)], [ansi(hw,Alias)], [ansi(hw,Idle)], [ansi(hw,Sex)], [ansi(hw,Comment)])][iter(%q<objid>,%r[align(<19 6 8 3 32$,[name(##)],[alias(##)],%B[rjust(first(timestring(idle(##))),3)],[left(get(##/sex),1)],[get(##/wtchcomm`##)])]
- &CMD_WATCH2 Global: +Watch=$+watch/list:@assert [setr(objid,get(%#/watch`list))];@pemit %#=[align(<19 7 6 8 8,[ansi(hw,Player)], [ansi(hw,Alias)], [ansi(hw,Idle)], [ansi(hw,Sex)], [ansi(hw,Comment)])][iter(%q<objid>,%r[align(<19 6 8 3 32$,[name(##)],[alias(##)],%B[if(gte(conn(##),1),rjust(first(timestring(idle(##))),3),N/A)],[left(get(##/sex),1)],[get(##/wtchcomm`##)])]
- &CMD_WATCHADD Global: +Watch=$+watch/add *:@assert isplayer(%0)=@pemit %#=[ansi(hw,Watch)]: [capstr(%0)] is not a player.;@break gt(match(get(%#/watch`list),[num(*%0)]),0)=@pemit %#=[ansi(hw,Watch)]: [capstr(%0)] is already on your watch list.;th setq(watchlist,[squish([get(%#/watch`list)] [pmatch(%0)],|)],watchedby,squish([get([pmatch(%0)]/watched`by)] %#, |));&watch`list %#=%q<watchlist>;&watched`by [pmatch(%0)]=%q<watchedby>;@pemit %#=[ansi(hw,Watch)]: [capstr(%0)] has been added to your watch list.
- &CMD_WATCHADDCOMM Global: +Watch=$+watch/comment *=*:th setq(comment,%1,db#,[num(*%0)]);@break gt(strlen(%q<comment>),28)=@pemit %#=[ansi(hw,Watch)]: Comment is to long, please do not exceed 28 characters(spaces count).;&wtchcomm`%q<db#> %q<db#>=%q<comment>;@pemit %#=[ansi(hw,Watch)]: You set [name(%q<db#>)]'s comment to: '[ansi(hw,%q<comment>)]'.
- &CMD_WATCHIDE Global: +Watch=$+watch/hide *:[switch(%0,On,[pemit(%#,[ansi(hw,Watch)]: People who watch you will now see your connects and disconnects.)];[attrib_set(%#/watch`hide,1)],Off,[pemit(%#,[ansi(hw,Watch)]: Those watching for you will no longer see you connect or disconnect.)];[attrib_set(%#/watch`hide,0)],[pemit(%#,[ansi(hw,Watch)]: Invalid input\, use either "On" or "Off".)])]
- &CMD_WATCHREM Global: +Watch=$+watch/rem *:@assert isplayer(%0)=@pemit %#=[ansi(hw,Watch)]: [capstr(%0)] is not a player.;@assert gt(match(get(%#/watch`list),[num(*%0)]),0)=@pemit %#=[ansi(hw,Watch)]: [capstr(%0)] is not on your list.;th setq(watchlist,[remove([get(%#/watch`list)],[pmatch(%0)],)],watchedby,remove([get([pmatch(%0)]/watched`by)],%#, ));&watch`list %#=%q<watchlist>;&watched`by [pmatch(%0)]=%q<watchedby>;@pemit %#=[ansi(hw,Watch)]: [capstr(%0)] has been removed from your watch list.
Advertisement
Add Comment
Please, Sign In to add comment