Bladeren bron

feat(pkuxkx): 增加 env.UnSet,减少向服务器发送的命令

dzp 1 jaar geleden
bovenliggende
commit
8c5b7ed733
1 gewijzigde bestanden met toevoegingen van 21 en 0 verwijderingen
  1. 21 0
      mud/pkuxkx/plugins/basic/env.tin

+ 21 - 0
mud/pkuxkx/plugins/basic/env.tin

@@ -26,6 +26,7 @@ event.Define {env/time/update}  {无参} {$MODULE} {当前游戏周的内容已
     #class env.parse open;
 
     #var env.parse.old {$env.Var};
+    #var env.Var {};
 
     #action {~^%c\e[44;1m%S %s %c \e[1;37m%*%s%+1c$} {
         #local key {%%2};
@@ -99,6 +100,26 @@ event.Define {env/time/update}  {无参} {$MODULE} {当前游戏周的内容已
     set $key $value;
 };
 
+///=== {
+// #@ env.UnSet <变量名> [<是否强制发送命令>]
+//    删除环境变量。
+//    如果环境变量本不存在,那么不会真的发送命令,除非第二个参数设置为 true。
+// };
+#alias {env.UnSet} {
+    #local key      {%1};
+    #local force    {@default{{%2};false}};
+
+    #local old {$env.Var[$key]};
+    #if { "$old" == "" } {
+        #if { @isFalse{$force} } {
+            dbgLog env => 环境变量 $key 已经取消,因此不再向服务器发送命令。;
+            #return;
+        };
+    };
+
+    unset $key;
+};
+
 #action {^取消环境变量:%*$E} {
     #local name {%1};
     #local changed {0};