#nop vim: set filetype=tt:; /* 本文件属于 PaoTin++ 的一部分 =========== PaoTin++ © 2020~2023 的所有版权均由担子炮(dzp ) 享有并保留一切法律权利 你可以在遵照 GPLv3 协议的基础之上使用、修改及重新分发本程序。 =========== */ #var basic_char_score[META] { {NAME} {角色档案} {DESC} {解析 score 命令,并储存到变量 char[档案]} {AUTHOR} {担子炮} {NOTE} {本文件属于 PaoTin++ 的一部分} }; load-module {basic/title}; load-module {basic/cmds/link}; load-lib event; event.Define {char/score} {无参} {$MODULE} {score 命令的数据解析成功时,发送本事件}; event.Define {char/saving} {无参} {$MODULE} {银行存款数据更新}; /* ╭───人物详情────────────────────────┬───────╮ │ 武当派真人 马后炮(Mhp) │ ▂▃▅▃▂ │ │ 膂力:[ 69] 悟性:[ 47] 根骨:[ 83] 身法:[ 79] │ - - │ │ 福缘:[ 23] 容貌:[ 39] 灵性:[ 39] 胆识:[ ?] │ ▂ ▂ │ │ 距离上榜还需增加206218点经验。 │ 32/32 │ ├───────────────────┬───────────┴───────┤ │个人信息 │门派履历 │ │国籍:大夏 户籍:扬州 │门派:武当派 [丹心] 道心:86 │ │性别:男性 上线:扬州客店 │师承:张三丰 │ │年龄:二十岁 姻缘:未遇良人 │门忠:3274 │ │身高:七尺六寸 体重:约一百一十斤 │出师:无 │ │生日:己亥年一月三十一日申时七刻 │叛师:无 │ ├────────────┬──────┴─────┬─────────────┤ │杀生:0人 │职业:甲士 │存款:527金条 21713黄金 │ │被杀:4次 │道德:100.12万 │门派例钱:无 │ │死亡:4次 │声望:322.77万 │国家积分:0 │ │杀气:正常 │愿望:160 │活跃兑换:0 │ ├───休闲任务─────┼────────────┼─────────────┤ │高级任务:0次 │低级任务:6次 │劫匪掉宝:0次 │ ╰────────────┴────────────┴────北大侠客行────╯ */ #var char-menpai-id { {少林派} {slp} {武当派} {wdp} {峨嵋派} {emp} {华山派} {hsp} {星宿派} {xxp} {神龙教} {slj} {白驼山} {bts} {灵鹫宫} {ljg} {丐帮} {gb} {全真派} {qzp} {古墓派} {gmp} {天龙寺} {tls} {朝廷} {ct} {天地会} {tdh} {桃花岛} {thd} {雪山派} {xsp} {明教} {mj} {日月神教} {rysj} {姑苏慕容} {gsmr} {大轮寺} {dls} {绝情谷} {jqg} {五毒教} {wdj} {青城派} {qcp} }; #action {^╭───人物详情────────────────────────┬───────╮$} { #class char-score-parser open; #var char[档案][高级任务] {-1}; #var char[档案][低级任务] {-1}; #var char[档案][劫匪掉宝] {-1}; link.Enable score 5 {个人信息;门派履历;年龄;存款;死亡}; #line oneshot #action {~^%c│%c %* %c%+1..S%c(%+3..S){|\e\[1;32m √}%c%s%c│%*│%c$} { #local obj {@ParseTitle{@str.Trim{@str.Plain{%%3 %%5(%%7)}}}}; #var char[档案][头衔] {$obj[title]}; #var char[档案][大名] {$obj[name]}; #var char[档案][账号] {$obj[id]}; #var char[档案][彩色头衔] {%%3}; #var char[档案][彩色大名] {%%4%%5%%6}; #if { "%%8" == "" } { #var char[档案][唯一昵称] {false}; }; #else { #var char[档案][唯一昵称] {true}; }; }; #var char-score-parser-lineNo {0}; #action {^│%*│%*│$} { #math char-score-parser-lineNo {$char-score-parser-lineNo + 1}; #switch {$char-score-parser-lineNo} { #case {1} { #local level {@str.Trim{%%2}}; #replace level {%d/%d} {{cur}{&1}{max}{&2}}; #local level {$level}; #var char[档案][人物等级] {$level[cur]}; #var char[档案][最大等级] {$level[max]}; }; #default { #nop; }; }; } {6}; #nop │ 膂力:[ 69] 悟性:[ 47] 根骨:[ 83] 身法:[ 79] │ - - │; #action {~^\e[0m│\e[2;37;0m 膂力:[%+] 悟性:[%+] 根骨:[%+] 身法:[%+]%+│%+│} { #local str {%%1}; #local int {%%2}; #local con {%%3}; #local dex {%%4}; #local key {先天}; #if { "$str$int$con$dex" == "%*[1;33m%*" } { #local key {天赋}; }; #elseif { "$str$int$con$dex" == "%*[36m%*" } { #local key {初始}; }; #replace str {{\x1b\[[0-9;\\]+m}} {}; #replace int {{\x1b\[[0-9;\\]+m}} {}; #replace con {{\x1b\[[0-9;\\]+m}} {}; #replace dex {{\x1b\[[0-9;\\]+m}} {}; #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[档案][天赋][福缘] {@str.Trim{%%1}}; #var char[档案][天赋][容貌] {@str.Trim{%%2}}; #var char[档案][天赋][灵性] {@str.Trim{%%3}}; }; #nop │国籍:大理 户籍:扬州 │门派:天龙寺 [丹心] 禅机:86 │; #action {^│%+:%* %+:%+│%+:%* %+:%+│$} { #var char[档案][%%1] {@str.Trim{%%2}}; #var char[档案][@str.Trim{%%3}] {@str.Trim{%%4}}; #var char[档案][%%5] {@str.Trim{%%6}}; #var char[档案][@str.Trim{%%7}] {@str.Trim{%%8}}; } {5.01}; #nop │国籍:大夏 户籍:暂无 │门派:武当派 [丹心] │; #nop │性别:男性 上线:扬州客店 │师承:张三丰 │; #nop │年龄:二十岁 姻缘:未遇良人 │门忠:3274 │; #nop │身高:七尺六寸 体重:约一百一十斤 │出师:无 │; #action {^│%+:%* %+:%+│%+:%*│$} { #var char[档案][%%1] {@str.Trim{%%2}}; #var char[档案][@str.Trim{%%3}] {@str.Trim{%%4}}; #var char[档案][%%5] {@str.Trim{%%6}}; } {5.02}; #nop │生日:辛丑年十二月五日亥时八刻 │叛师:无 │; #action {^│%+:%*│%+:%*│$} { #var char[档案][%%1] {@str.Trim{%%2}}; #var char[档案][%%3] {@str.Trim{%%4}}; } {5.03}; #nop │杀生:0人 │职业:甲士 │存款:527金条 21713黄金 │; #nop │被杀:4次 │道德:100.12万 │门派例钱:无 │; #nop │死亡:4次 │声望:322.77万 │国家积分:0 │; #nop │杀气:正常 │愿望:160 │活跃兑换:0 │; #nop ├───休闲任务─────┼────────────┼─────────────┤; #nop │高级任务:0次 │低级任务:6次 │劫匪掉宝:0次 │; #action {^│%+:%*│%+:%*│%+:%*│$} { #var char[档案][%%1] {@str.Trim{%%2}}; #var char[档案][%%3] {@str.Trim{%%4}}; #if { "%%5" == "存款"} { #regex {@str.Trim{%%6}} {{(\d+)金条 |}%d黄金} { #var char[档案][存款][金条] {&2}; #var char[档案][存款][黄金] {&3}; }; }; #elseif { "%%5" == "门派例钱" } { #var char[档案][存款][门派例钱] {@math.ParseCN{%%6}}; }; #else { #var char[档案][%%5] {@str.Trim{%%6}}; }; }; #action {^╰────────────┴────────────┴────%S────╯{|ID=char.score}$} { #class char-score-parser kill; #if { "$char[档案][门派]" == "%S [丹心]" } { #var char[档案][丹心] {true}; #replace char[档案][门派] {%S %*} {&1}; }; #var char[档案][门派ID] {$char-menpai-id[$char[档案][门派]]}; #local age {$char[档案][年龄]}; #replace age {%*岁{|(.*)个月}$} {@math.Eval{@math.ParseCN{&1} + @math.Eval{@math.ParseCN{@default{&3;0}} * 1.0 / 12}}}; #var char[档案][年龄] {$age}; #local height {$char[档案][身高]}; #replace height {%*尺{|(.*)寸}$} {@math.Eval{@math.ParseCN{&1} + @math.Eval{@math.ParseCN{@default{&3;0}} * 1.0 / 10}}}; #var char[档案][身高] {$height}; #local weight {$char[档案][体重]}; #replace weight {约%*斤} {&1}; #var char[档案][体重] {@math.ParseCN{$weight}}; #replace char[档案][杀生] {人} {}; #replace char[档案][被杀] {次} {}; #replace char[档案][死亡] {次} {}; #replace char[档案][高级任务] {次} {}; #replace char[档案][低级任务] {次} {}; #replace char[档案][劫匪掉宝] {次} {}; event.DelayEmit {char/score}; event.DelayEmit {char/saving}; }; #class char-score-parser close; }; #nop 取钱提示; #action {^%+1..4u记完帐,告诉你:「您在敝商号现还有%*。」$} { score.update-balance {%2}; }; #nop 存钱提示; #action {^%+1..4u记完帐,点了点头:“您在敝商号现有%*。”$} { score.update-balance {%2}; }; #nop 存款上限; #action {^%+1..4u翻了翻帐簿,告诉你:“您在敝商号共存有%*,以阁下的信用,在敝商号的存款上限是:%*锭黄金%*。”$} { score.update-balance {%2}; #var char[档案][存款][上限] {@math.ParseCN{%3}}; }; #alias {score.update-balance} { #local balance {%1}; #nop 四万二千七百六十三锭黄金十八两白银二十二枚铜板; #regex {$balance} {^{.*锭黄金|}%*$} { #local balance {@math.ParseCN{&1}}; #var char[档案][存款][黄金] {$balance}; event.DelayEmit {char/saving}; }; }; event.HandleOnce {user-online} {score/init} {basic/char} { score; };