-
Notifications
You must be signed in to change notification settings - Fork 17
/
Copy pathMeetme Dispatcher - MEETME.txt
22 lines (15 loc) · 4.17 KB
/
Meetme Dispatcher - MEETME.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
@@ DEPENDENCIES: Core
th u(NEWCOBJ,Meetme Dispatcher <MEETME>,meetme,,,,WIZARD SAFE !NO_COMMAND,INHERIT SIDEFX SAFE)
@@ MEETME SECTION
&CMD`+MEETME`PENNMUSH [u(cobj,meetme)]=$^(?s)(?\:\+)?(invite|summon|join)(?\:/(\S+)?)?(?\: +(.+?))?(?\:=(.*))?$:@attach %!/CMD`+MEETME`MAIN
@set [u(cobj,meetme)]/CMD`+MEETME`PENNMUSH=regexp
&CMD`+MEETME`RHOSTMUSH [u(cobj,meetme)]=$^(?s)(?\:\+)?(invite|summon|join)(?\:/(\\S+)?)?(?\: +(.+?))?(?\:=(.*))?$:@attach %!/CMD`+GRID`MAIN
@set [u(cobj,meetme)]/CMD`+MEETME`RHOSTMUSH=regexp
&CMD`+MEETME`MAIN [u(cobj,meetme)]=@attach %!/INC`%1=%3,%4
@set [u(cobj,meetme)]/CMD`+MEETME`[switch(%va,PennMUSH,RHOSTMUSH,RhostMUSH,PENNMUSH)]=no_command
&SYSTEM`NAME [u(cobj,meetme)]=MEETME
&INC`INVITE [u(cobj,meetme)]=@stop u(isguest,%#)=@attach %!/INC`MSG=ERROR: Permission denied.;@attach %!/INC`CHECKPC=%0,1;@stop strmatch(%#,%q<t1>)=@attach %!/INC`MSG=ERROR: Yourself? Really?;@stop strmatch(%l,loc(%q<t1>))=@attach %!/INC`MSG=You are already in the same location!;&D`INVITE`%q<t1> %#=secs();@pemit %q<t1>=u(header,Meetme,%q<t1>);@pemit %q<t1>=%n invited you to [u(pueblize,ansi(h,join),join %n)] or [u(pueblize,ansi(h,summon),summon %n)] %o. You have 10 minutes to respond.;@pemit %q<t1>=u(footer,,%q<t1>);@attach %!/INC`MSG=You have sent %q<t1name> a Meetme request.
&INC`JOIN [u(cobj,meetme)]=@stop u(isguest,%#)=@attach %!/INC`MSG=ERROR: Permission denied.;@attach %!/INC`CHECKPC=%0,1;@stop strmatch(%#,%q<t1>)=@attach %!/INC`MSG=ERROR: Yourself? Really?;@stop strmatch(%l,loc(%q<t1>))=@attach %!/INC`MSG=You are already there!;@select/inline if(u(isadmin,%#),1,sub(secs(),max(get(%q<t1>/D`JOIN`%#),get(%q<t1>/D`INVITE`%#))))=<600,{@attach %!/INC`CANRELOCATE=%#,loc(%q<t1>);@attach %!/INC`MSG`ROOM={[u(getmoniker,%#)] joins %q<t1name>!};@select/inline u(isic,%l)=1,{&D`RETURNTO %#=%l};@attach %!/INC`RELOCATE=%#,loc(%q<t1>);@attach %!/INC`MSG`ROOM={[u(getmoniker,%#)] has joined %q<t1name>!};@wipe %q<t1>/D`INVITE`%#;@wipe %q<t1>/D`SUMMON`%#},{@select/inline isdbref(u(setr,dest,u(u(cobj,navi)/FUN`FINDROOM,loc(%q<t1>))))=1,{@attach %!/INC`CANRELOCATE=%#,loc(%q<t1>);@attach %!/INC`MSG`ROOM={[u(getmoniker,%#)] joins %q<t1name>!};@select/inline u(isic,%l)=1,{&D`RETURNTO %#=%l};@attach %!/INC`RELOCATE=%#,loc(%q<t1>);@attach %!/INC`MSG`ROOM={[u(getmoniker,%#)] has joined %q<t1name>!};@wipe %q<t1>/D`INVITE`%#;@wipe %q<t1>/D`JOIN`%#},0,{&D`SUMMON`%q<t1> %#=secs();@pemit %q<t1>=u(header,Meetme,%q<t1>);@pemit %q<t1>=%n asked for you to [u(pueblize,ansi(h,summon),summon %n)] %o. You have 10 minutes to respond.;@pemit %q<t1>=u(footer,,%q<t1>);@attach %!/INC`MSG=You have asked to join %q<t1name>.}}
&INC`SUMMON [u(cobj,meetme)]=@stop u(isguest,%#)=@attach %!/INC`MSG=ERROR: Permission denied.;@attach %!/INC`CHECKPC=%0,1;@stop strmatch(%#,%q<t1>)=@attach %!/INC`MSG=ERROR: Yourself? Really?;@stop strmatch(%l,loc(%q<t1>))=@attach %!/INC`MSG=They are already here!;@select/inline if(u(isadmin,%#),1,sub(secs(),max(get(%q<t1>/D`SUMMON`%#),get(%q<t1>/D`INVITE`%#))))=<600,{@attach %!/INC`CANRELOCATE=%q<t1>,%l;@attach %!/INC`MSG`ROOM={[u(getmoniker,%q<t1>)] is whisked away by %n's summons!},lcon(loc(%q<t1>));@select/inline u(isic,loc(%q<t1>))=1,{&D`RETURNTO %q<t1>=loc(%q<t1>)};@attach %!/INC`RELOCATE=%q<t1>,%l;@attach %!/INC`MSG`ROOM={[u(getmoniker,%q<t1>)] is brought in by %n's summons!};@wipe %q<t1>/D`INVITE`%#;@wipe %q<t1>/D`SUMMON`%#},{&D`JOIN`%q<t1> %#=secs();@pemit %q<t1>=u(header,Meetme,%q<t1>);@pemit %q<t1>=%n invited you to [u(pueblize,ansi(h,join),join %n)] %o. You have 10 minutes to respond.;@pemit %q<t1>=u(footer,,%q<t1>);@attach %!/INC`MSG=You have requested %q<t1name>'s presence.}
&HLP`MEETME [u(cobj,meetme)]=The [ansi(h,+summon)] system lets players warp across the game to directly join other players no matter where they are.%R%R[ansi(hc,Commands)]%R[align(5 [sub(u(width,%#),6)],,[ansi(h,+join <player>)] - Warp to a player\, or extend a request for <player> to +summon you. You can also +join to someone if they are within reach of +port.%R[ansi(h,+summon <player>)] - Bring <player> to you\, or extend a request for <player> to +join you.%R%RStaff can skip the invite process and simply join or summon players. However they can still extend invites.)]
+help/add Navigation/+summon=[u(cobj,meetme)]/HLP`MEETME