2 次代碼提交 6c883e504d ... 3274acdc2b

作者 SHA1 備註 提交日期
  dzp 3274acdc2b feat(pkuxkx): 解析门忠任务列表,增加线索标志 1 月之前
  dzp fcc16e9821 feat(xtintin): 增加三个新函数:ifEqual/ifMatch/ifEmpty 1 月之前
共有 2 個文件被更改,包括 56 次插入2 次删除
  1. 3 2
      mud/pkuxkx/plugins/basic/char/loyalty.tin
  2. 53 0
      plugins/lib/xtintin/bool.tin

+ 3 - 2
mud/pkuxkx/plugins/basic/char/loyalty.tin

@@ -55,13 +55,14 @@ loyalty 本来就有两个别名:
                 #var gLoyalty[$last][NPC]  {@str.ToLower{&3}};
                 #var gLoyalty[$last][描述] {};
             };
-            #match {"找到/%*(%*)%s,送给%*的%*(%*)%s。%*描述大致如下:%*"} {
+            #match {"找到/%*(%*)%s,送给%*的%*(%*)%s。%*描述大致如下:%*。{|  √}"} {
                 #var gLoyalty[$last][物品] {&1};
                 #var gLoyalty[$last][ID]   {@str.ToLower{&2}};
                 #var gLoyalty[$last][房间] {&4};
                 #var gLoyalty[$last][姓名] {&5};
                 #var gLoyalty[$last][NPC]  {@str.ToLower{&6}};
-                #var gLoyalty[$last][描述] {&9};
+                #var gLoyalty[$last][描述] {&9。};
+                #var gLoyalty[$last][线索] {@ifEmpty{&10;false;true}};
             };
             #match {"留言/%*留言如下内容:「%*」。"} {
                 #var gLoyalty[$last][留言板] {&1};

+ 53 - 0
plugins/lib/xtintin/bool.tin

@@ -117,3 +117,56 @@ PaoTin++ © 2020~2023 的所有版权均由担子炮(dzp <danzipao@gmail.com>) 
         #return {$else};
     };
 };
+
+///=== {
+// #@ ifEqual <值1> <值2> <结果1> <结果2>
+//    判断值1和值2是否相等,如果相等则返回结果1,否则返回结果2。
+// };
+#func {ifEqual} {
+    #local left     {%1};
+    #local right    {%2};
+    #local then     {%3};
+    #local else     {%4};
+
+    #if { "$left" === "$right" } {
+        #return {$then};
+    };
+    #else {
+        #return {$else};
+    };
+};
+
+///=== {
+// #@ ifMatch <值> <模式> <结果1> <结果2>
+//    判断值和模式是否匹配,如果匹配则返回结果1,否则返回结果2。
+// };
+#func {ifMatch} {
+    #local value    {%1};
+    #local pattern  {%2};
+    #local then     {%3};
+    #local else     {%4};
+
+    #if { "$value" == "$pattern" } {
+        #return {$then};
+    };
+    #else {
+        #return {$else};
+    };
+};
+
+///=== {
+// #@ ifEmpty <值> <结果1> <结果2>
+//    判断值是否为空,如果是则返回结果1,否则返回结果2。
+// };
+#func {ifEmpty} {
+    #local value    {%1};
+    #local then     {%2};
+    #local else     {%3};
+
+    #if { "$value" === "" } {
+        #return {$then};
+    };
+    #else {
+        #return {$else};
+    };
+};