score.tin 9.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178
  1. #nop vim: set filetype=tt:;
  2. /*
  3. 本文件属于 PaoTin++ 的一部分
  4. ===========
  5. PaoTin++ © 2020~2023 的所有版权均由担子炮(dzp <danzipao@gmail.com>) 享有并保留一切法律权利
  6. 你可以在遵照 GPLv3 协议的基础之上使用、修改及重新分发本程序。
  7. ===========
  8. */
  9. #var basic_char_score[META] {
  10. {NAME} {角色档案}
  11. {DESC} {解析 score 命令,并储存到变量 char[档案]}
  12. {AUTHOR} {担子炮}
  13. {NOTE} {本文件属于 PaoTin++ 的一部分}
  14. };
  15. load-module {basic/title};
  16. load-lib event;
  17. event.Define {char/score} {无参} {$MODULE} {score 命令的数据解析成功时,发送本事件}
  18. /*
  19. ╭───人物详情────────────────────────┬───────╮
  20. │ 武当派真人 马后炮(Mhp) │ ▂▃▅▃▂ │
  21. │ 膂力:[ 69] 悟性:[ 47] 根骨:[ 83] 身法:[ 79] │ - - │
  22. │ 福缘:[ 23] 容貌:[ 39] 灵性:[ 39] 胆识:[ ?] │ ▂ ▂ │
  23. │ 距离上榜还需增加206218点经验。 │ 32/32 │
  24. ├───────────────────┬───────────┴───────┤
  25. │个人信息 │门派履历 │
  26. │国籍:无国籍 │门派:武当派 │
  27. │年龄:三十四岁 │师承:张三丰 │
  28. │性别:男性 │门忠:7195 │
  29. │生日:己亥年一月三十一日申时七刻 │出师:无 │
  30. │婚姻:未婚 │叛师:无 │
  31. ├────────────┬──────┴─────┬─────────────┤
  32. │杀生:0人 │职业:甲士 │存款:527金条 21713黄金 │
  33. │被杀:1次 │道德:100.88万 │武学点:0 │
  34. │死亡:4次 │声望:322.77万 │国家积分:0 │
  35. │杀气:正常 │愿望:150 │实战经验:一甲子余年 │
  36. ├───休闲任务─────┼────────────┼─────────────┤
  37. │高级任务:0次 │低级任务:6次 │劫匪掉宝:0次 │
  38. ╰────────────┴────────────┴────北大侠客行────╯
  39. */
  40. #action {^╭───人物详情────────────────────────┬───────╮$} {
  41. #class char-score-parser open;
  42. #var char-score-parser-lineNo {0};
  43. #action {^│%*│%*│$} {
  44. #math char-score-parser-lineNo {${char-score-parser-lineNo} + 1};
  45. #switch {"${char-score-parser-lineNo}"} {
  46. #case {"1"} {
  47. #local obj {@ParseTitle{@str.Trim{%%1}}};
  48. #var char[档案][头衔] {$obj[title]};
  49. #var char[档案][大名] {$obj[name]};
  50. #var char[档案][账号] {$obj[id]};
  51. };
  52. #case {"2"} {
  53. #local level {@str.Trim{%%2}};
  54. #replace level {%d/%d} {{cur}{&1}{max}{&2}};
  55. #local level {$level};
  56. #var char[档案][人物等级] {$level[cur]};
  57. #var char[档案][最大等级] {$level[max]};
  58. };
  59. #default {
  60. #nop;
  61. };
  62. };
  63. } {6};
  64. #nop │ 膂力:[ 69] 悟性:[ 47] 根骨:[ 83] 身法:[ 79] │ - - │;
  65. #action {~^\e[0m│\e[2;37;0m 膂力:[%+] 悟性:[%+] 根骨:[%+] 身法:[%+]%+│%+│} {
  66. #local str {%%1};
  67. #local int {%%2};
  68. #local con {%%3};
  69. #local dex {%%4};
  70. #local key {先天};
  71. #if { "$str$int$con$dex" == "%*[1;33m%*" } {
  72. #local key {天赋};
  73. };
  74. #elseif { "$str$int$con$dex" == "%*[36m%*" } {
  75. #local key {初始};
  76. };
  77. #replace str {{\x1b\[[0-9;\\]+m}} {};
  78. #replace int {{\x1b\[[0-9;\\]+m}} {};
  79. #replace con {{\x1b\[[0-9;\\]+m}} {};
  80. #replace dex {{\x1b\[[0-9;\\]+m}} {};
  81. #var char[档案][$key][膂力] {@str.Trim{$str}};
  82. #var char[档案][$key][悟性] {@str.Trim{$int}};
  83. #var char[档案][$key][根骨] {@str.Trim{$con}};
  84. #var char[档案][$key][身法] {@str.Trim{$dex}};
  85. };
  86. #nop │ 福缘:[ 23] 容貌:[ 39] 灵性:[ 39] 胆识:[ ?] │ ▂ ▂ │;
  87. #action {^│ 福缘:[%+] 容貌:[%+] 灵性:[%+] 胆识:[%+]%*│%*│$} {
  88. #var char[档案][天赋][福缘] {@str.Trim{%%1}};
  89. #var char[档案][天赋][容貌] {@str.Trim{%%2}};
  90. #var char[档案][天赋][灵性] {@str.Trim{%%3}};
  91. };
  92. #nop │国籍:大理 性别:男性 │门派:神龙教 │;
  93. #nop │身高:七尺六寸 体重:约一百一十斤 │师承:洪安通 │;
  94. #nop │体型:匀称 姻缘:未遇良人 │门忠:2940 │;
  95. #action {^│%+:%* %+:%+│%+:%*│$} {
  96. #var char[档案][%%1] {@str.Trim{%%2}};
  97. #var char[档案][@str.Trim{%%3}] {@str.Trim{%%4}};
  98. #var char[档案][%%5] {@str.Trim{%%6}};
  99. } {5.1};
  100. #nop │年龄:十八岁二个月 │出师:无 │;
  101. #nop │生日:辛丑年十二月五日亥时八刻 │叛师:无 │;
  102. #action {^│%+:%*│%+:%*│$} {
  103. #var char[档案][%%1] {@trim{%%2}};
  104. #var char[档案][%%3] {@trim{%%4}};
  105. } {5.2};
  106. #nop │杀生:0人 │职业:甲士 │存款:527金条 21713黄金 │;
  107. #nop │被杀:1次 │道德:100.88万 │武学点:0 │;
  108. #nop │死亡:4次 │声望:322.77万 │国家积分:0 │;
  109. #nop │杀气:正常 │愿望:150 │实战经验:一甲子余年 │;
  110. #nop ├───休闲任务─────┼────────────┼─────────────┤;
  111. #nop │高级任务:0次 │低级任务:6次 │劫匪掉宝:0次 │;
  112. #action {^│%+:%*│%+:%*│%+:%*│$} {
  113. #var char[档案][%%1] {@str.Trim{%%2}};
  114. #var char[档案][%%3] {@str.Trim{%%4}};
  115. #var char[档案][%%5] {@str.Trim{%%6}};
  116. };
  117. #nop 白驼山 你是白驼山第二代弟子,师承欧阳锋。;
  118. #nop 星宿派 你是星宿派第三代弟子,师承摘星子。;
  119. #nop 古墓派 你是古墓派第四代弟子,师承杨过。;
  120. #nop 天龙寺 你是天龙寺第十五代弟子,师承枯荣大师。;
  121. #nop 大轮寺 你是大轮寺第十一代弟子,师承鸠摩智。;
  122. #nop 峨嵋派 你是峨嵋派第四代弟子,师承灭绝师太。;
  123. #nop 丐帮 你是丐帮第十八代弟子,师承洪七公。;
  124. #nop 华山派 你是华山派第十八代弟子,师承风清扬。;
  125. #nop 灵鹫宫 你是灵鹫宫第二代弟子,师承天山童姥。;
  126. #nop 雪山派 你是雪山派第六代弟子,师承白自在。;
  127. #nop 明教 你是明教第二十二代弟子,师承颜垣。;
  128. #nop 姑苏慕容 你是姑苏慕容第二代弟子,师承慕容博。;
  129. #nop 全真派 你是全真派第四代弟子,师承尹志平。;
  130. #nop 日月神教 你是日月神教第二十代弟子,师承东方不败。;
  131. #nop 少林派 你是少林派第三十七代弟子,师承玄悲大师。;
  132. #nop 神龙教 你是神龙教第二代弟子,师承洪安通。;
  133. #nop 桃花岛 你是桃花岛第二代弟子,师承黄药师。;
  134. #nop 天地会 你是天地会第四代弟子,师承徐天川。;
  135. #nop 武当派 你是武当派第二代弟子,师承张三丰。;
  136. #nop 五毒教 你是五毒教第十代弟子,师承齐云琳。;
  137. #action {^ 你是%*第%*代弟子,师承%*。$} {
  138. #var char[档案][门派] {%%1};
  139. #var char[档案][辈分] {@c2d{%%2}};
  140. #var char[档案][师父] {%%3};
  141. };
  142. #nop 朝廷 你是朝廷四品官员,师承孟珙。;
  143. #action {^ 你是朝廷%*品官员,师承%*。$} {
  144. #var char[档案][门派] {朝廷};
  145. #var char[档案][辈分] {@c2d{%%1}};
  146. #var char[档案][师父] {%%2};
  147. };
  148. #action {^╰────────────┴────────────┴────%S────╯{|ID=char.score}$} {
  149. #class char-score-parser kill;
  150. #replace char[档案][年龄] {岁} {};
  151. #var char[档案][年龄] {@c2d{$char[档案][年龄]}};
  152. event.Emit {char/score};
  153. };
  154. #class char-score-parser close;
  155. };
  156. event.HandleOnce {user-online} {score/init} {basic/char} {
  157. score;
  158. };