Browse Source

refactor(pkuxkx): 用新函数库重构代码,涉及一些角色信息基本触发和一些机器人代码

dzp 2 years ago
parent
commit
3c9b5899e8

+ 13 - 35
mud/pkuxkx/plugins/basic/char/hp.tin

@@ -3,7 +3,7 @@
 /*
 本文件属于 PaoTin++ 的一部分
 ===========
-PaoTin++ © 2020~2022 的所有版权均由担子炮(dzp <danzipao@gmail.com>) 享有并保留一切法律权利
+PaoTin++ © 2020~2023 的所有版权均由担子炮(dzp <danzipao@gmail.com>) 享有并保留一切法律权利
 你可以在遵照 GPLv3 协议的基础之上使用、修改及重新分发本程序。
 ===========
 */
@@ -184,11 +184,11 @@ hp -neili 格式:
     #class char-hp-parse-hp-neili open;
 
     #action {^│{□|  }%S (%S)%s  - %s%d/%s%d(%d)%s│$} {
-        #local name     {@trim{%%2}};
-        #local id       {@trim{%%3}};
-        #local current  {@trim{%%6}};
-        #local max      {@trim{%%8}};
-        #local limit    {@trim{%%9}};
+        #local name     {@str.Trim{%%2}};
+        #local id       {@str.Trim{%%3}};
+        #local current  {@str.Trim{%%6}};
+        #local max      {@str.Trim{%%8}};
+        #local limit    {@str.Trim{%%9}};
 
         #if { "%%1" == "□" } {
             #local name {$char[Skills][基本内功][jifa-to]};
@@ -205,7 +205,7 @@ hp -neili 格式:
     };
 
     #action {^│【走火入魔】 %*% %s│【极限内力】 %d%s │$} {
-        #var char[HP][走火入魔] {@trim{%%1}};
+        #var char[HP][走火入魔] {@str.Trim{%%1}};
     };
 
 	#action {^└─────────────{(─)*}%S─{(─)*}─┘{|ID=char.hp-neili}$} {
@@ -366,19 +366,14 @@ hp -neili 格式:
         #local 每秒精力变化 {};
     };
 
-    #local {气血健康度} {};
-    #math {气血健康度} { $char[HP][有效气血] * 100 / $char[HP][最大气血] };
-
-    #local {精神健康度} {};
-    #math {精神健康度} { $char[HP][有效精神] * 100 / $char[HP][最大精神] };
+    #local {气血健康度} {@math.Int{@math.Eval{$char[HP][有效气血] * 100 / $char[HP][最大气血]}}};
+    #local {精神健康度} {@math.Int{@math.Eval{$char[HP][有效精神] * 100 / $char[HP][最大精神]}}};
 
     #nop 气血恢复的数值展示为每分钟可以恢复的最大血量的倍数(以百分比形式);
-    #local {气血恢复} {};
-    #math {气血恢复} { $char[STATUS][气血恢复] * 100 * 60 / $char[HP][最大气血] };
+    #local {气血恢复} {@math.Int{@math.Eval{$char[STATUS][气血恢复] * 100 * 60 / $char[HP][最大气血]}}};
 
     #nop 气血治疗的数值展示为每分钟可以治疗的最大血量的倍数(以百分比形式);
-    #local {气血治疗} {};
-    #math {气血治疗} { $char[STATUS][气血治疗] * 100 * 60 / $char[HP][最大气血] };
+    #local {气血治疗} {@math.Int{@math.Eval{$char[STATUS][气血治疗] * 100 * 60 / $char[HP][最大气血]}}};
 
     #local summarize {};
     #if { "$char[HP][战斗中]" == "true" } {
@@ -412,25 +407,8 @@ hp -neili 格式:
 };
 
 #func {__char_hp_colorit__} {
-    #local p {%1};
-    #if { $p < 15 } {
-        #return {<010>$p%<070>};
-    };
-    #elseif { $p < 30 } {
-        #return {<110>$p%<070>};
-    };
-    #elseif { $p < 60 } {
-        #return {<030>$p%<070>};
-    };
-    #elseif { $p < 90 } {
-        #return {<130>$p%<070>};
-    };
-    #elseif { $p <= 100 } {
-        #return {<120>$p%<070>};
-    };
-    #else {
-        #return {<160>$p%<070>};
-    };
+    #local percent {@math.Int{@defaultNum{%1;0}}};
+    #return {@util.Grade{$percent;<010>;15;<110>;30;<030>;60;<130>;90;<120>;101;<160>}$percent%<070>};
 };
 
 #alias {char.GetHP} {

+ 29 - 18
mud/pkuxkx/plugins/basic/char/i2.tin

@@ -1,9 +1,20 @@
-#nop i2 格式:
-#nop 你身上带著下列这些东西(负重 27%):
-#nop 九十一两白银(Silver)
-#nop 二个竹壶(Zhuhu)
-#nop 三块干粮(Gan liang)
-#nop 大砍刀(Dakan dao)
+#nop vim: set filetype=tt:;
+
+/*
+本文件属于 PaoTin++ 的一部分
+===========
+PaoTin++ © 2020~2023 的所有版权均由担子炮(dzp <danzipao@gmail.com>) 享有并保留一切法律权利
+你可以在遵照 GPLv3 协议的基础之上使用、修改及重新分发本程序。
+===========
+*/
+
+#var basic_char_i2[META] {
+    {NAME}      {背包信息}
+    {DESC}      {解析背包内容,识别随身物品、穿戴、装备信息,并储存到变量}
+    {AUTHOR}    {担子炮}
+    {NOTE}      {本文件属于 PaoTin++ 的一部分}
+};
+
 #nop 青锋剑(Qingfeng sword)
 #nop 北侠战袍(Pkuxkx zhanpao)
 #nop 北侠战甲(Pkuxkx zhanjia)
@@ -71,7 +82,7 @@
     #action {^你{左手|右手}拿着:%%2(%%3)$} {
         #local hand     {%%1};
         #local item     {%%2};
-        #local id       {@toLower{%%3}};
+        #local id       {@str.ToLower{%%3}};
         #var char-Wield[$hand] {
             {item}{$item}
             {id}{$id}
@@ -84,14 +95,14 @@
 
     #nop 九十一两白银(Silver);
     #action {^{(零|一|二|三|四|五|六|七|八|九|十|百|千|万|亿)+}{两|文|张}{黄金|白银|铜板|一千两银票}(%*)$} {
-        #local amount   {@c2d{%%1}};
+        #local amount   {@math.ParseCN{%%1}};
         #local unit     {%%3};
         #local item     {%%4};
-        #local id       {@toLower{%%5}};
+        #local id       {@str.ToLower{%%5}};
 
         #var {char-Item[$item]} {
-            {id}{@toLower{$id}}
-            {amount}{@c2d{$amount}}
+            {id}{@str.ToLower{$id}}
+            {amount}{@math.ParseCN{$amount}}
         };
     } {4};
 
@@ -114,11 +125,11 @@
     #nop 火锅装;
     #nop 八件百战手套(Hands);
     #action {^{?:(${汉字数词})件|}{?:(${词缀修饰})的|}{?:(${装备等级})(${武器种类}|${装备种类}|${饰品种类})}(%S)$} {
-        #local amount   {@c2d{%%1}};
+        #local amount   {@math.ParseCN{%%1}};
         #local modifier {%%2};
         #local level    {%%3};
         #local kind     {%%4};
-        #local id       {@toLower{%%5}};
+        #local id       {@str.ToLower{%%5}};
         #if { $amount == 0 } {
             #local amount {1};
         };
@@ -134,14 +145,14 @@
         #local title    {%%6};
         #local rank     {%%7};
         #local item     {%%8};
-        #local id       {@toLower{%%9}};
+        #local id       {@str.ToLower{%%9}};
 
         #if { "${char-Item[currentType]}" == "装备" } {
             #return;
         };
 
         #if { "$amount" == "" } { #format amount {%s} {一} };
-        #format amount {%s} {@c2d{$amount}};
+        #format amount {%s} {@math.ParseCN{$amount}};
 
         #if { "${char-Equip[$id]}" != "" } {
             #math amount { ${char-Equip[$id]} + $amount };
@@ -152,10 +163,10 @@
 
     #nop 二把竹剑(Zhujian);
     #action {^{(零|一|二|三|四|五|六|七|八|九|十|百|千|万|亿)+}{本|块|碗|件|册|柄|把|根|枚|个}%S(%*)$} {
-        #local amount   {@c2d{%%1}};
+        #local amount   {@math.ParseCN{%%1}};
         #local unit     {%%3};
         #local item     {%%4};
-        #local id       {@toLower{%%5}};
+        #local id       {@str.ToLower{%%5}};
         #var {char-Item[$item]} {
             {id}{$id}
             {amount}{$amount}
@@ -166,7 +177,7 @@
     #nop 青锋剑(Qingfeng sword);
     #action {^%%1(%%2)$} {
         #local item {%%1};
-        #local id   {@toLower{%%2}};
+        #local id   {@str.ToLower{%%2}};
         #if { "${char-Item[currentType]}" == "装备" } {
             #var {char-Wear[$item]} {{id}{$id}};
         };

+ 37 - 23
mud/pkuxkx/plugins/basic/char/score.tin

@@ -1,4 +1,24 @@
-#nop 人物档案解析模块;
+#nop vim: set filetype=tt:;
+
+/*
+本文件属于 PaoTin++ 的一部分
+===========
+PaoTin++ © 2020~2023 的所有版权均由担子炮(dzp <danzipao@gmail.com>) 享有并保留一切法律权利
+你可以在遵照 GPLv3 协议的基础之上使用、修改及重新分发本程序。
+===========
+*/
+
+#var basic_char_score[META] {
+    {NAME}      {角色档案}
+    {DESC}      {解析 score 命令,并储存到变量 char[档案]}
+    {AUTHOR}    {担子炮}
+    {NOTE}      {本文件属于 PaoTin++ 的一部分}
+};
+
+load-module {basic/title};
+load-lib event;
+
+event.Define {char/score} {无参} {$MODULE} {score 命令的数据解析成功时,发送本事件}
 
 /*
 ╭───人物详情────────────────────────┬───────╮
@@ -31,13 +51,13 @@
         #math char-score-parser-lineNo {${char-score-parser-lineNo} + 1};
         #switch {"${char-score-parser-lineNo}"} {
             #case {"1"} {
-                #local obj {@ParseTitle{@trim{%%1}}};
+                #local obj {@ParseTitle{@str.Trim{%%1}}};
                 #var char[档案][头衔] {$obj[title]};
                 #var char[档案][大名] {$obj[name]};
                 #var char[档案][账号] {$obj[id]};
             };
             #case {"2"} {
-                #local level {@trim{%%2}};
+                #local level {@str.Trim{%%2}};
                 #replace level {%d/%d} {{cur}{&1}{max}{&2}};
                 #local level {$level};
                 #var char[档案][人物等级] {$level[cur]};
@@ -69,25 +89,25 @@
         #replace con {{\x1b\[[0-9;\\]+m}} {};
         #replace dex {{\x1b\[[0-9;\\]+m}} {};
 
-        #var char[档案][$key][膂力] {@trim{$str}};
-        #var char[档案][$key][悟性] {@trim{$int}};
-        #var char[档案][$key][根骨] {@trim{$con}};
-        #var char[档案][$key][身法] {@trim{$dex}};
+        #var char[档案][$key][膂力] {@str.Trim{$str}};
+        #var char[档案][$key][悟性] {@str.Trim{$int}};
+        #var char[档案][$key][根骨] {@str.Trim{$con}};
+        #var char[档案][$key][身法] {@str.Trim{$dex}};
     };
 #nop │ 福缘:[  23]  容貌:[  39]  灵性:[  39]  胆识:[   ?]       │   ▂  ▂     │;
     #action {^│ 福缘:[%+]  容貌:[%+]  灵性:[%+]  胆识:[%+]%*│%*│$} {
-        #var char[档案][天赋][福缘] {@trim{%%1}};
-        #var char[档案][天赋][容貌] {@trim{%%2}};
-        #var char[档案][天赋][灵性] {@trim{%%3}};
+        #var char[档案][天赋][福缘] {@str.Trim{%%1}};
+        #var char[档案][天赋][容貌] {@str.Trim{%%2}};
+        #var char[档案][天赋][灵性] {@str.Trim{%%3}};
     };
 
 #nop │国籍:大理        性别:男性          │门派:神龙教                          │;
 #nop │身高:七尺六寸    体重:约一百一十斤  │师承:洪安通                          │;
 #nop │体型:匀称        姻缘:未遇良人      │门忠:2940                            │;
     #action {^│%+:%* %+:%+│%+:%*│$} {
-        #var char[档案][%%1] {@trim{%%2}};
-        #var char[档案][@trim{%%3}] {@trim{%%4}};
-        #var char[档案][%%5] {@trim{%%6}};
+        #var char[档案][%%1] {@str.Trim{%%2}};
+        #var char[档案][@str.Trim{%%3}] {@str.Trim{%%4}};
+        #var char[档案][%%5] {@str.Trim{%%6}};
     } {5.1};
 
 #nop │年龄:十八岁二个月                    │出师:无                              │;
@@ -104,9 +124,9 @@
 #nop ├───休闲任务─────┼────────────┼─────────────┤;
 #nop │高级任务:0次           │低级任务:6次           │劫匪掉宝:0次             │;
     #action {^│%+:%*│%+:%*│%+:%*│$} {
-        #var char[档案][%%1] {@trim{%%2}};
-        #var char[档案][%%3] {@trim{%%4}};
-        #var char[档案][%%5] {@trim{%%6}};
+        #var char[档案][%%1] {@str.Trim{%%2}};
+        #var char[档案][%%3] {@str.Trim{%%4}};
+        #var char[档案][%%5] {@str.Trim{%%6}};
     };
 
     #nop 白驼山    你是白驼山第二代弟子,师承欧阳锋。;
@@ -134,7 +154,7 @@
         #var char[档案][辈分] {@c2d{%%2}};
         #var char[档案][师父] {%%3};
     };
-    
+
     #nop 朝廷      你是朝廷四品官员,师承孟珙。;
     #action {^ 你是朝廷%*品官员,师承%*。$} {
         #var char[档案][门派] {朝廷};
@@ -152,12 +172,6 @@
 
     #class char-score-parser close;
 };
-    
-load-module {basic/title};
-
-load-lib event;
-
-event.Define {char/score} {无参} {$MODULE} {score 命令的数据解析成功时,发送本事件}
 
 event.HandleOnce {user-online} {score/init} {basic/char} {
     score;

+ 18 - 49
mud/pkuxkx/plugins/basic/char/skills.tin

@@ -1,5 +1,13 @@
 #nop vim: set filetype=tt:;
 
+/*
+本文件属于 PaoTin++ 的一部分
+===========
+PaoTin++ © 2020~2023 的所有版权均由担子炮(dzp <danzipao@gmail.com>) 享有并保留一切法律权利
+你可以在遵照 GPLv3 协议的基础之上使用、修改及重新分发本程序。
+===========
+*/
+
 #var basic_char_skills[META] {
     {NAME}      {技能列表}
     {DESC}      {解析 skills 命令的输出结果,并写入到 char[Skills]}
@@ -57,7 +65,7 @@ event.Define {char/skbrief} {无参}  {$MODULE} {已经获取到 skbrief 命令
 
     #if { "$args" == "" } {
         #line oneshot #action {^╭───技能列表(共%*项){(─|┬)*}──╮$} {
-            #var char[Skills][count] {@c2d{%%1}};
+            #var char[Skills][count] {@math.ParseCN{%%1}};
             char.skills.parse.output;
         };
     };
@@ -196,56 +204,17 @@ event.Define {char/skbrief} {无参}  {$MODULE} {已经获取到 skbrief 命令
     #local level    {%2};
     #local limit    {%3};
 
-    #local p {};
-    #math p {$level * 100 / $limit};
-    #format p {%d} {$p};
-
-    #local color {};
+    #local p {@math.Int{@math.Eval{$level * 100 / $limit}}};
+    #local color {@util.Grade{$p;<071>;15;<171>;30;<003>;60;<074>;90;<134>;100;<132>;101;<506>}};
 
-    #if { $p < 15 } {
-        #format color {%s} {<071>};
-    };
-    #elseif { $p < 30 } {
-        #format color {%s} {<171>};
-    };
-    #elseif { $p < 60 } {
-        #format color {%s} {<003>};
-    };
-    #elseif { $p < 90 } {
-        #format color {%s} {<074>};
-    };
-    #elseif { $p < 100 } {
-        #format color {%s} {<134>};
-    };
-    #elseif { $p == 100 } {
-        #format color {%s} {<132>};
-    };
-    #elseif { $p > 100 } {
-        #format color {%s} {<506>};
-    };
+    #local spaceLen {@str.Len{$code}};
+    #local code     {@str.Trim{$code}};
+    #local textLen  {@str.Len{$code}};
+    #math spaceLen {$spaceLen - $textLen};
+    #cat code {@str.AlignRight{{$p%}; $spaceLen}};
 
-    #local len {};
-    #local len2 {};
-    #local len3 {};
-    #format {len} {%L} {$code};
-    #format {code} {%p} {$code};
-    #format {len2} {%L} {$code};
-    #math len3 {$len - $len2};
-    #format {code} {%s%${len3}s} {$code} {$p%};
-    #local leftLen {};
-    #math leftLen {$len * $level / $limit};
-    #format leftLen {%d} {$leftLen};
-    #local left {};
-    #format {left} {${color}%.${leftLen}s<070>} {$code};
-
-    #local right {};
-    #local rightLen {};
-    #math rightLen {$len - $leftLen};
-    #format {right} {%r} {$code};
-    #format {right} {%.${rightLen}s} {$right};
-    #format {right} {<g08>%r} {$right};
-
-    #return {$left$right};
+    #local {rest} {@math.Eval{100 - $p}};
+    #return {@util.ColorBar{{$code};$color;$p;<g08>;$rest}};
 };
 
 #alias {char.Skbrief} {

+ 29 - 14
mud/pkuxkx/plugins/basic/char/status.tin

@@ -1,4 +1,19 @@
-#nop 角色生命值信息解析模块;
+#nop vim: set filetype=tt:;
+
+/*
+本文件属于 PaoTin++ 的一部分
+===========
+PaoTin++ © 2020~2023 的所有版权均由担子炮(dzp <danzipao@gmail.com>) 享有并保留一切法律权利
+你可以在遵照 GPLv3 协议的基础之上使用、修改及重新分发本程序。
+===========
+*/
+
+#var basic_char_status[META] {
+    {NAME}      {状态面板}
+    {DESC}      {解析 status_me 命令,并储存到变量 char[STATUS]}
+    {AUTHOR}    {担子炮}
+    {NOTE}      {本文件属于 PaoTin++ 的一部分}
+};
 
 load-lib event;
 
@@ -50,17 +65,17 @@ event.Define {char/status}    {无参}  {$MODULE} {已经获取到 status_me 命
 
 #nop │气血恢复│6.42    │气血治疗│0.11    │精神恢复│3.16    │精神治疗│0.11    │;
     #action {^│气血恢复│%S%!s│气血治疗│%S%!s│精神恢复│%S%!s│精神治疗│%S%!s│$} {
-        #var char[STATUS][气血恢复] {@trim{%%1}};
-        #var char[STATUS][气血治疗] {@trim{%%2}};
-        #var char[STATUS][精神恢复] {@trim{%%3}};
-        #var char[STATUS][精神治疗] {@trim{%%4}};
+        #var char[STATUS][气血恢复] {@str.Trim{%%1}};
+        #var char[STATUS][气血治疗] {@str.Trim{%%2}};
+        #var char[STATUS][精神恢复] {@str.Trim{%%3}};
+        #var char[STATUS][精神治疗] {@str.Trim{%%4}};
     };
 
 #nop │内力恢复│4.11    │精力恢复│12.63   │内力精纯│97.69%  │加力减耗│0%      │;
     #action {^│内力恢复│%S%!s│精力恢复│%S%!s│内力精纯│%S\%%!s│加力减耗│%*│$} {
-        #var char[STATUS][内力恢复] {@trim{%%1}};
-        #var char[STATUS][精力恢复] {@trim{%%2}};
-        #var char[STATUS][内力精纯] {@trim{%%3}};
+        #var char[STATUS][内力恢复] {@str.Trim{%%1}};
+        #var char[STATUS][精力恢复] {@str.Trim{%%2}};
+        #var char[STATUS][内力精纯] {@str.Trim{%%3}};
     };
 
 #nop 兜底儿的触发,捕获其它所有数值类型字段;
@@ -74,8 +89,8 @@ event.Define {char/status}    {无参}  {$MODULE} {已经获取到 status_me 命
 
         #local key {};
         #foreach {*data[]} {key} {
-            #local value {@trim{$data[$key]}};
-            #local key   {@trim{$key}};
+            #local value {@str.Trim{$data[$key]}};
+            #local key   {@str.Trim{$key}};
             #if { "$key" != "" } {
                 #replace value {{[^0-9.-]+}} {};
                 #var char[STATUS][$key] {$value};
@@ -94,14 +109,14 @@ event.Define {char/status}    {无参}  {$MODULE} {已经获取到 status_me 命
 
 #nop  持续效果提示     梯云纵(87秒)、太极剑· 随(37秒)                                       ;
     #action {^ 持续效果提示     %* $} {
-        #local status {@trim{%%1}};
+        #local status {@str.Trim{%%1}};
     };
 
 #nop │幸运值      │2           │奖励系数    │100%        │识图检查    │需要    │;
     #action {^│幸运值%!s│%d%!s│奖励系数%!s│%d%!.%!s│识图检查%!s│%*│$} {
-        #var char[STATUS][幸运值]   {@trim{%%1}};
-        #var char[STATUS][奖励系数] {@trim{%%2}};
-        #var char[STATUS][识图检查] {@trim{%%3}};
+        #var char[STATUS][幸运值]   {@str.Trim{%%1}};
+        #var char[STATUS][奖励系数] {@str.Trim{%%2}};
+        #var char[STATUS][识图检查] {@str.Trim{%%3}};
     };
 
 #nop ╰────┴──────┴────┴──────┴────┴──────┴──北大侠客行────╯;

+ 2 - 2
mud/pkuxkx/plugins/basic/cmds/jobquery.tin

@@ -2,7 +2,7 @@
 
 /*
 本文件属于 PaoTin++ 的一部分。
-PaoTin++ © 2020~2022 的所有版权均由担子炮(dzp <danzipao@gmail.com>) 享有并保留一切法律权利
+PaoTin++ © 2020~2023 的所有版权均由担子炮(dzp <danzipao@gmail.com>) 享有并保留一切法律权利
 你可以在遵照 GPLv3 协议的基础之上使用、修改及重新分发本程序。
 */
 
@@ -138,7 +138,7 @@ jobquery 本来就有两个别名:
     };
 
     #action {^$jobHeader│仍需%S才能接到下个任务。$jobEnd$} {
-        jq.set {%%1} {%%2} {%%3} {%%4} {%%5} {%%6} {%%7} {@parseTime{%%8}} {等待CD中};
+        jq.set {%%1} {%%2} {%%3} {%%4} {%%5} {%%6} {%%7} {@time.ParseDoC{%%8}} {等待CD中};
     };
 
     #action {^$jobHeader│现在即可接到下个任务。$jobEnd$} {

+ 13 - 5
mud/pkuxkx/plugins/basic/title.tin

@@ -1,3 +1,11 @@
+#nop vim: set filetype=tt:;
+
+/*
+本文件属于 PaoTin++ 的一部分。
+PaoTin++ © 2020~2023 的所有版权均由担子炮(dzp <danzipao@gmail.com>) 享有并保留一切法律权利
+你可以在遵照 GPLv3 协议的基础之上使用、修改及重新分发本程序。
+*/
+
 #nop 【一代神相】江湖十大气血高手 牛肉面馆 总管事「绝对不是」天天练功 🐒 ☯️ (Marking);
 #nop 【 西  毒 】桃林书院 生员「喵喵喵喵喵喵喵喵喵喵喵喵喵喵喵喵」挖煤猫 🐎 ⭕️ (Zardc);
 #nop             朱雀 辽东大侠 胡一刀(Hu yidao) [任务发放] ◆◆ <衣钵相承>;
@@ -26,12 +34,12 @@
     #local yibo     {?:(?: <(衣钵相承)>)?};
 
     #replace {obj} {{*UTF8}{?:^}{$rank}{$title}{$nick}{$name}{$emoji}{$id}{$emoji}{$status1}{$status2}{$isJobNPC}{$yibo}$} {
-        {rank}      {@trim{&1}}
-        {title}     {@trim{&2}}
-        {nick}      {@trim{&3}}
+        {rank}      {@str.Trim{&1}}
+        {title}     {@str.Trim{&2}}
+        {nick}      {@str.Trim{&3}}
         {name}      {&4}
-        {emoji}     {@trim{&5}}
-        {id}        {@toLower{&6}}
+        {emoji}     {@str.Trim{&5}}
+        {id}        {@str.ToLower{&6}}
         {status1}   {&7}
         {status2}   {&8}
         {isJobNPC}  {&9}

+ 2 - 2
mud/pkuxkx/plugins/bot/pp-server.tin

@@ -349,7 +349,7 @@ load-lib storage;
 #alias {pp.add-list} {
     #local list-name {%1};
     #local list-var  {%2};
-    #local uid       {@trim{@toLower{%3}}};
+    #local uid       {@str.Trim{@str.ToLower{%3}}};
 
     #if { "$uid" != "{[a-z]{3,}}" } {
         ppLog 添加 $list-name 失败,ID【$uid】格式有误。;
@@ -360,7 +360,7 @@ load-lib storage;
         {uid}   {$uid}
     };
 
-    ppLog 【<170>@alignLeft{$list-name;4}维护<070>】【<120>$uid<070>】【共 &{${list-var}[]} 位 VIP】【*{${list-var}[]}】;
+    ppLog 【<170>@str.AlignLeft{$list-name;4}维护<070>】【<120>$uid<070>】【共 &{${list-var}[]} 位 VIP】【*{${list-var}[]}】;
 
     pp.store-vip;
 };

+ 9 - 10
mud/pkuxkx/plugins/quest/tang.tin

@@ -155,7 +155,7 @@ load-lib speedo;
     #action {^你要看什么?{|ID=quest/tang}$} {
         #var tang-inquiry-luren-index {1};
         #if { ${tang-inquiry-exit-index} != 0 } {
-            #local back {@reverseDir{${tang-inquiry-exits[${tang-inquiry-exit-index}]}}};
+            #local back {@dir.Reverse{${tang-inquiry-exits[${tang-inquiry-exit-index}]}}};
             #echo 回去吧。;
             #send $back;
         };
@@ -265,7 +265,7 @@ load-lib speedo;
 
     #action {^%%1说道:「我啥消息也不了解啊。」$}       { tang.证词 {%%1} 啥也没说   };
     #action {^%%1说道:「你找错人了吧?}                { tang.认错人 {%%1} };
-    #action {^%%1说道:「你找错人了。」$}               { say 找错人了 }; 
+    #action {^%%1说道:「你找错人了。」$}               { say 找错人了 };
     #action {^%%1说道:「你已经问过了}                  { tang.案件进展     };
 
     #action {引起了盗贼的怀疑,盗贼逃离了长安城。$}     { tang.失败         };
@@ -297,7 +297,7 @@ load-lib speedo;
 #alias {tang.行人特征.年龄} {
     #class tang.data open;
     #var {tang.data[行人特征][$tang[name]][称呼]} {%1};
-    #local age {@c2d{%2}};
+    #local age {@math.ParseCN{%2}};
     #local ageText {};
     #switch {"$age"} {
         #case {"20"} { #local ageText {青}      };
@@ -517,13 +517,12 @@ load-lib speedo;
 #alias {tang.案件进展} {
     #class tang.ask kill;
 
-    #local list {@list2string{${tang.data[好人名单]}}};
+    #local list {@slist.FromList{${tang.data[好人名单]}}};
     #replace list {;} { };
     #echo {目前发现的好人  : <120>$list<070>};
-    #local list {@list2string{${tang.data[嫌疑人名单]}}};
+    #local list {@slist.FromList{${tang.data[嫌疑人名单]}}};
     #replace list {;} { };
     #echo {目前发现的嫌疑人: <130>$list<070>};
-
 };
 
 #alias {tang.认错人} {
@@ -555,11 +554,11 @@ load-lib speedo;
         testify luren $id;
     };
     #else {
-        $exit; testify luren $id; @reverseDir{$exit};
+        $exit; testify luren $id; @dir.Reverse{$exit};
     };
-        
+
     #local place {${tang-all-location[${tang-task-location}]}};
-    #local path {@reverseCmds{$place[path]}};
+    #local path {@path.Reverse{$place[path]}};
     $path;
 
     #class tang.back open;
@@ -567,7 +566,7 @@ load-lib speedo;
     #action {^由于你的突出贡献,特奖励{爵位贡献|任务积分}%*点,用于{提升爵位|兑换本爵位相关的任务奖励}。$} {
         #class tang.back kill;
         #local level {${tang-job-log[任务难度]}};
-        #local point {@c2d{%%2}};
+        #local point {@math.ParseCN{%%2}};
         speedo.Add {爵位积分} {$point} {true} {600};
         #format point {%+2s} {$point};
         questLog 【<130>爵位任务<070>】【$tang-job-level-color[$level]$level<070>】【<120>任务成功<070>】奖励爵位积分【$point】【${tang-job-log[地点]}】;