Переглянути джерело

refactor: 重构登录部分代码

dzp 2 роки тому
батько
коміт
8a604e7a0c
4 змінених файлів з 31 додано та 27 видалено
  1. 9 10
      framework/online.tin
  2. 3 0
      ids/DEFAULT
  3. 13 13
      mud/pkuxkx/plugins/basic/login.extra.tin
  4. 6 4
      plugins/basic/login.tin

+ 9 - 10
framework/online.tin

@@ -16,19 +16,18 @@ PaoTin++ © 2020~2023 的所有版权均由担子炮(dzp <danzipao@gmail.com>) 
 
 #tick {online.KeepAlive} {online.KeepAlive} {60};
 
-#delay 1 {
-    load-lib    ga;
-    load-module silent;
-    load-module basic/char;
-    load-module shortcut;
+load-lib    ga;
+load-module silent;
+load-module basic/char;
+load-module basic/map;
+load-module shortcut;
 
-    tmux.SetTheme GAME;
+tmux.SetTheme GAME;
 
-    event.Emit user-online;
+event.Emit user-online;
 
-    #nop 提供给用户的自动执行函数;
-    user-online;
-};
+#nop 提供给用户的自动执行函数;
+user-online;
 
 #event {RECEIVED OUTPUT} {
     #undelay online.WatchDog;

+ 3 - 0
ids/DEFAULT

@@ -43,6 +43,9 @@ mudlib.Set {pkuxkx};
 #nop 你的账号密码,请在单独的文件里设置,这里只是占个位置;
 #var user[passwd]           123456;
 
+#nop 是否手动登录,默认为否,即自动登录;
+#var user[manual]   {false};
+
 #nop 是否开启 GMCP,默认开启;
 #var user[GMCP]             true;
 

+ 13 - 13
mud/pkuxkx/plugins/basic/login.extra.tin

@@ -83,18 +83,6 @@ PaoTin++ © 2020~2023 的所有版权均由担子炮(dzp <danzipao@gmail.com>) 
         };
     };
 
-    #line oneshot #action {^您要将另一个连线中的相同人物赶出去,取而代之吗?(y/n)$} {
-        xtt.Answer y;
-    };
-
-    #line oneshot #action {^%s欢迎来到北大侠客行!%s$} {
-        #delay {login.login-success} {login.login-success 重新登录} 0;
-    };
-
-    #line oneshot #action {^%s目前权限:(player)%s$} {
-        #delay {login.login-success} {login.login-success} 1;
-    };
-
     #line oneshot #action {^如果同意请用agree %*命令签署确认这些条款。$} {
         #local args {@str.Trim{%%1}};
         #info environ save;
@@ -112,8 +100,20 @@ PaoTin++ © 2020~2023 的所有版权均由担子炮(dzp <danzipao@gmail.com>) 
         #delay {online.WatchDog} {#zap} {180};
     };
 
+    #line oneshot #action {^%s欢迎来到北大侠客行!%s$} {
+        login.login-success 重新登录;
+    };
+
+    #line oneshot #action {^%s目前权限:(%*)%s$} {
+        #delay login.login-success {login.login-success 重新登录} 3;
+    };
+
+    #line oneshot #action {^您要将另一个连线中的相同人物赶出去,取而代之吗?(y/n)$} {
+        xtt.Answer y;
+    };
+
     #line oneshot #action {^重新连线完毕。$} {
-        #delay {login.login-success} {login.login-success 断线重连} 0;
+        login.login-success 断线重连;
     };
 
     #class login.auto-login close;

+ 6 - 4
plugins/basic/login.tin

@@ -30,7 +30,10 @@ PaoTin++ © 2020~2023 的所有版权均由担子炮(dzp <danzipao@gmail.com>) 
 };
 
 #alias {login.login-success} {
-    #local type {%%1};
+    #local type {%1};
+
+    #class login.auto-login kill;
+    #undelay login.login-success;
 
     #showme 登录成功。;
 
@@ -50,7 +53,7 @@ PaoTin++ © 2020~2023 的所有版权均由担子炮(dzp <danzipao@gmail.com>) 
     };
 
     #if { @isFalse{$login[user][manual]} } {
-        login.online;
+        login.online $type;
         #return;
     };
 
@@ -76,9 +79,8 @@ PaoTin++ © 2020~2023 的所有版权均由担子炮(dzp <danzipao@gmail.com>) 
 };
 
 #alias {login.online} {
+    #local type {%1};
     #local handler $login[autoexec];
-    #class login.auto-login kill;
-    #undelay login.login-success;
     kill-module login;
 
     $handler;