tang.tin 25 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653
  1. #nop vim: set filetype=tt:;
  2. /*
  3. 本文件属于 PaoTin++ 的一部分。
  4. PaoTin++ © 2020~2023 的所有版权均由担子炮(dzp <danzipao@gmail.com>) 享有并保留一切法律权利
  5. 你可以在遵照 GPLv3 协议的基础之上使用、修改及重新分发本程序。
  6. */
  7. #var quest_tang[META] {
  8. {NAME} {大唐爵位任务}
  9. {DESC} {只实现了举报盗贼,满足条件后会自动提升爵位到男爵}
  10. {AUTHOR} {担子炮}
  11. {NOTE} {}
  12. };
  13. load-lib speedo;
  14. #var tang-all-location {
  15. {西市} {{room}{773}{name}{西市} {path}{e;n;w;s} {exits}{n;w;s;e}}
  16. {东市} {{room}{703}{name}{东市} {path}{e;n;e;e;e;s} {exits}{n;w;s;e}}
  17. {大雁塔} {{room}{713}{name}{大慈恩寺} {path}{e;n;e;s;s;e;se} {exits}{e;w;nw;se}}
  18. {小雁塔} {{room}{729}{name}{荐福寺} {path}{e;n;e;s;e} {exits}{e;w}}
  19. {东市附近的顺街} {{room}{712}{name}{顺街} {path}{e;n;e;s;s;e} {exits}{n;w;se}}
  20. {西市附近的顺街} {{room}{784}{name}{顺街} {path}{e;n;e;s;s;w} {exits}{n;e}}
  21. {通化门大街} {{room}{768}{name}{通化门大街} {path}{e;n;n;n;w} {exits}{e;w}}
  22. {国子监} {{room}{733}{name}{春明门大街} {path}{e;n;e;e} {exits}{n;w;s;e}}
  23. {长乐坊} {{room}{694}{name}{通化门大街} {path}{e;n;e;e;e;n;n;e} {exits}{n;w;s;e}}
  24. };
  25. #var tang-job-level-color {
  26. {简单} {<129>}
  27. {普通} {<239>}
  28. {困难} {<119>}
  29. {挑战} {<259>}
  30. };
  31. #var tang-job-log {};
  32. #var tang-job-list {};
  33. /*
  34. 你向郭隆打听有关『任务信息』的消息。
  35. 官府公布以下任务请全城百姓协助完成:(有意者到衙门领取任务)
  36. 任务标识 任务名称 任务状态 发布时间 截止时间 任务地点 资质要求 认领玩家
  37. ============================================================================================
  38. 1_1756 缉拿罪犯「挑战」 已完成 15:56:2 16:11:2 小雁塔 无 taizi
  39. 1_1755 缉拿罪犯「困难」 已完成 15:55:3 16:10:3 西市附近的顺街 无 guzhu
  40. 1_1754 缉拿罪犯「简单」 已完成 15:54:38 16:9:38 西市 无 taizi
  41. 1_1753 缉拿罪犯「困难」 已完成 15:54:23 16:9:23 大雁塔 无 guzhu
  42. 1_1752 缉拿罪犯「困难」 已完成 15:53:23 16:8:23 国子监 无 guzhu
  43. ============================================================================================
  44. 使用record命令登记或者取消任务,record命令只能取消领取的任务,失败或者成功的
  45. 任务不需要使用record cancel命令取消。
  46. 领取任务以后到案件发生的地点附近,询问附近的路人案件相关消息,收集完成信息以
  47. 后你可以向官府指证(testify)罪犯或者直接逮捕目标(ask 目标 about 盗贼),向官府
  48. 指证只有一次机会,出错没有任何奖励,直接逮捕罪犯有最多二次确认罪犯的机会,逮捕罪
  49. 犯不能中途终止战斗,否则下次罪犯就会直接逃跑。
  50. */
  51. #alias {tang.job} {
  52. #local id {%1};
  53. #class tang.data kill;
  54. #class tang.data open;
  55. #var {tang.data[罪犯特征]} {};
  56. #var {tang.data[证人证词]} {};
  57. #list {tang.data[好人名单]} {create} {};
  58. #list {tang.data[嫌疑人名单]} {create} {};
  59. #var {tang.data[路人位置]} {};
  60. #class tang.data close;
  61. #class tang.job open;
  62. #action {^官府公布以下任务请全城百姓协助完成:(有意者到衙门领取任务)$} {
  63. #var tang-job-list {};
  64. #var 任务难度 {};
  65. };
  66. #action {^%!s%S%!s缉拿罪犯「%%2」%!s新建%!s%S%!s%S%!s%S%!s无%!s%*$} {
  67. #list {tang-job-list[%%2]} add {{
  68. {ID}{%%1}
  69. {地点}{%%6}
  70. {难度}{%%2}
  71. }};
  72. };
  73. #action {^犯不能中途终止战斗,否则下次罪犯就会直接逃跑。$} {
  74. #foreach {困难;挑战;普通;简单} {level} {
  75. #if { "${tang-job-list[$level]}" != "" } {
  76. #var {tang-job-log[任务难度]} {$level};
  77. xtt.Send {record $tang-job-list[$level][1][ID]};
  78. #list {tang-job-list[$level]} delete {1};
  79. #return;
  80. };
  81. };
  82. #delay tang.job {tang.job} 19;
  83. };
  84. #action {^最近长安城内出现不少盗窃事件,有人报告%*附近商铺$} {
  85. #class tang.job kill;
  86. #var {tang-job-log[地点]} {%%1};
  87. #delay tang.goto {tang.goto {%%1}} 1;
  88. };
  89. #action {^郭隆说道:你刚刚才问过,等等再来吧。$} {
  90. #class tang.job kill;
  91. #delay tang.job {tang.job} 19;
  92. };
  93. #action {^这个任务不是你能领取的,请查询一下别的任务。$} {
  94. #class tang.job kill;
  95. #delay tang.job {tang.job} 19;
  96. };
  97. #action {^你先把手头上的工作完成以后才能接着领下一个任务。$} {
  98. #class tang.job kill;
  99. tang.cancel;
  100. #delay tang.job {tang.job} 1;
  101. };
  102. #class tang.job close;
  103. #if { "$id" == "" } {
  104. ask jingzhao shaoyin about 任务信息;
  105. };
  106. #else {
  107. xtt.Send {record $id};
  108. };
  109. };
  110. #alias {tang.cancel} {
  111. record cancel;
  112. };
  113. #alias {tang.goto} {
  114. #var tang-task-location {%1};
  115. #local path {${tang-all-location[${tang-task-location}][path]}};
  116. #class tang.inquiry open;
  117. #list tang-inquiry-exits create {${tang-all-location[${tang-task-location}][exits]}};
  118. #var tang-inquiry-exit-index {0};
  119. #var tang-inquiry-luren-index {1};
  120. #action {^这里没有这个人。{|ID=quest/tang}$} {
  121. #nop;
  122. };
  123. #action {^继续看下一位。$} {
  124. #math tang-inquiry-luren-index {${tang-inquiry-luren-index} + 1};
  125. #delay 1 {
  126. tang.look ${tang-inquiry-luren-index};
  127. tang.ask ${tang-inquiry-luren-index};
  128. };
  129. };
  130. #action {^你要看什么?{|ID=quest/tang}$} {
  131. #var tang-inquiry-luren-index {1};
  132. #if { ${tang-inquiry-exit-index} != 0 } {
  133. #local back {@dir.Reverse{${tang-inquiry-exits[${tang-inquiry-exit-index}]}}};
  134. #echo 回去吧。;
  135. xtt.Send {$back};
  136. };
  137. #math tang-inquiry-exit-index {${tang-inquiry-exit-index} + 1};
  138. #local exit {${tang-inquiry-exits[${tang-inquiry-exit-index}]}};
  139. #if { "$exit" == "" } {
  140. #showme 已经全部看完了,该做决定了。;
  141. tang.back;
  142. #return;
  143. };
  144. #else {
  145. #echo 下一个出口;
  146. xtt.Send {$exit};
  147. #delay 1 {tang.look 1; tang.ask 1};
  148. };
  149. };
  150. #class tang.inquiry close;
  151. xtt.SendBatch {$path};
  152. tang.look 1; tang.ask 1;
  153. };
  154. #alias {tang.look} {
  155. #local id {%1};
  156. #class tang.look open;
  157. #var tang-look-exists {false};
  158. #action {^%+3..s%+3..S%+3..s%S(%%2)$} {
  159. #class tang.look open;
  160. #var tang[name] {%%4};
  161. #var tang[id] {%%6};
  162. #class tang.look close;
  163. } {9.5};
  164. #action {^这是一位身材异常魁梧高大的行人。$} { tang.行人特征.身材 女 高 胖 };
  165. #action {^这是一位身材丰满矮小的行人。$} { tang.行人特征.身材 女 矮 胖 };
  166. #action {^这是一个丰胸细腰,身材苗条挺拔的行人。$} { tang.行人特征.身材 女 高 瘦 };
  167. #action {^这是一位娇小玲珑的行人。$} { tang.行人特征.身材 女 矮 瘦 };
  168. #action {^这是一位高大魁梧的行人。$} { tang.行人特征.身材 男 高 胖 };
  169. #action {^这是一位矮小粗胖的行人。$} { tang.行人特征.身材 男 矮 胖 };
  170. #action {^这是一位矮小灵活的行人。$} { tang.行人特征.身材 男 矮 瘦 };
  171. #action {^这是一位宛如一根竹竿的行人。$} { tang.行人特征.身材 男 高 瘦 };
  172. #action {^%*{他|她}看起来约%*多岁,身长约%*,体型%*。$} { tang.行人特征.年龄 {%%2} {%%3}};
  173. #action {~□%*身穿一件\e[{1;|}3%.m{鹤氅|长袄|棉袄}} { tang.行人特征.衣服 {%%3} 夹袄 };
  174. #action {~□%*身穿一件\e[{1;|}3%.m{狼皮袄|短袄|比甲}} { tang.行人特征.衣服 {%%3} 夹袄 };
  175. #action {~□%*身穿一件\e[{1;|}3%.m{丝织长衫|丝绸短襦|绸袍}} { tang.行人特征.衣服 {%%3} 丝绸 };
  176. #action {~□%*身穿一件\e[{1;|}3%.m{丝织儒衫|轻罗纱|旗袍}} { tang.行人特征.衣服 {%%3} 丝绸 };
  177. #action {~□%*身穿一件\e[{1;|}3%.m{坎肩|圆领衫|灰布衫}} { tang.行人特征.衣服 {%%3} 布衣 };
  178. #action {~□%*身穿一件\e[{1;|}3%.m{灰马褂|百褶裙|蓝马褂}} { tang.行人特征.衣服 {%%3} 布衣 };
  179. #action {~□%*身穿一件\e[{1;|}3%.m{短打劲装|天蓝锦袍}} { tang.行人特征.衣服 {%%3} 布衣 };
  180. #action {^ □手持一根绣花针(Xiuhua zhen)$} { tang.行人特征.性别 {男|女} };
  181. #action {^ □戴着一串金项链(Golden necklace)$} { tang.行人特征.性别 {男|女} };
  182. #action {^ □戴着一个金戒指(Golden ring)$} { tang.行人特征.性别 {男|女} };
  183. #action {~□%*脚蹬一双\e[{1;|}3%.m{绣花鞋|锦鞋|凤鞋}} { tang.行人特征.鞋子 {%%3} 布鞋 };
  184. #action {~□%*脚蹬一双\e[{1;|}3%.m{布鞋|麻鞋|千层底布鞋}} { tang.行人特征.鞋子 {%%3} 布鞋 };
  185. #action {~□%*脚蹬一双\e[{1;|}3%.m{木屐|草鞋|破鞋}} { tang.行人特征.鞋子 {%%3} 凉鞋 };
  186. #action {~□%*脚蹬一双\e[{1;|}3%.m{牛皮短靴|马靴|女式短靴}} { tang.行人特征.鞋子 {%%3} 靴子 };
  187. #action {~□%*脚蹬一双\e[{1;|}3%.m{女式长靴|薄底快靴|七星剑靴}} { tang.行人特征.鞋子 {%%3} 靴子 };
  188. #action {^{她|他}身上带著:$} {#var tang-look-exists {true}};
  189. #action {^系统回馈:R:look-end$} {
  190. #if { "${tang-look-exists}" == "true" } {
  191. tang.分辨;
  192. #class tang.look kill;
  193. };
  194. };
  195. #class tang.look close;
  196. look luren $id;
  197. xtt.Send {response R:look-end};
  198. };
  199. #alias {tang.ask} {
  200. #local id {%1};
  201. #local words {%2};
  202. #var tang-current-id {$id};
  203. #class tang.ask open;
  204. #action {^你向%*问道:这位%*,} {
  205. #local name {%%1};
  206. #local sex {};
  207. #switch {"%%2"} {
  208. #case {"公公"} {#local sex {男|女}};
  209. #case {"{壮士|大哥|老爷子|阁下}"} {#local sex {男}};
  210. #case {"{姑娘|神仙姐姐|老婆婆}"} {#local sex {女}};
  211. #default {
  212. #return;
  213. };
  214. };
  215. #var {tang.data[行人特征][$name][性别]} {$sex};
  216. };
  217. #action {^%%1说道:「%*{男|女}%*」$} { tang.证词 {%%1} 性别 {%%3} };
  218. #action {^%%1说道:「%*流浪汉%*」$} { tang.证词 {%%1} 性别 {男} };
  219. #action {^%%1说道:「%*{高|矮}个子%*」$} { tang.证词 {%%1} 身高 {%%3} };
  220. #action {^%%1说道:「%*个子不太高%*」$} { tang.证词 {%%1} 身高 {矮} };
  221. #action {^%%1说道:「%*{发胖|有点胖|微微发福}%*」$} { tang.证词 {%%1} 胖瘦 {胖} };
  222. #action {^%%1说道:「%*{竹竿|猴子|偏瘦|偏廋}%*」$} { tang.证词 {%%1} 胖瘦 {瘦} };
  223. #action {^%%1说道:「%*{花白|白发苍苍|棺材}%*」$} { tang.证词 {%%1} 年龄 {老} };
  224. #action {^%%1说道:「%*{老大不小|中年}%*」$} { tang.证词 {%%1} 年龄 {中} };
  225. #action {^%%1说道:「%*{青年|非常年轻|年轻人}%*」$} { tang.证词 {%%1} 年龄 {青} };
  226. #action {^%%1说道:「%*{布衣|丝绸|夹袄}%*」$} { tang.证词 {%%1} 衣服 {%%3} };
  227. #action {^%%1说道:「%*{靴子|凉鞋|布鞋}%*」$} { tang.证词 {%%1} 鞋子 {%%3} };
  228. #action {^%%1说道:「%*身穿{深|浅}色衣服%*」$} { tang.证词 {%%1} 衣色 {%%3} };
  229. #action {^%%1说道:「%*脚上穿着{深|浅}色鞋子%*」$} { tang.证词 {%%1} 鞋色 {%%3} };
  230. #action {^%%1说道:「我啥消息也不了解啊。」$} { tang.证词 {%%1} 啥也没说 };
  231. #action {^%%1说道:「你找错人了吧?} { tang.认错人 {%%1} };
  232. #action {^%%1说道:「你找错人了。」$} { say 找错人了 };
  233. #action {^%%1说道:「你已经问过了} { tang.案件进展 };
  234. #action {^%%1说道:「%*」$} { errLog 未能提取到证词。请联系开发者。} {5.1};
  235. #class tang.ask close;
  236. #if { "$words" == "" } {
  237. ask luren $id about 消息;
  238. };
  239. #else {
  240. ask luren $id about $words;
  241. };
  242. };
  243. #alias {tang.行人特征.身材} {
  244. #class tang.data open;
  245. #if { "${tang.data[行人特征][$tang[name]][性别]}" != "%*|%*" } {
  246. #var {tang.data[行人特征][$tang[name]][性别]} {%1};
  247. };
  248. #var {tang.data[行人特征][$tang[name]][身高]} {%2};
  249. #var {tang.data[行人特征][$tang[name]][胖瘦]} {%3};
  250. #class tang.data close;
  251. };
  252. #alias {tang.行人特征.性别} {
  253. #var {tang.data[行人特征][$tang[name]][性别]} {%1};
  254. };
  255. #alias {tang.行人特征.年龄} {
  256. #class tang.data open;
  257. #var {tang.data[行人特征][$tang[name]][称呼]} {%1};
  258. #local age {@math.ParseCN{%2}};
  259. #local ageText {};
  260. #switch {"$age"} {
  261. #case {"20"} { #local ageText {青} };
  262. #case {"30"} { #local ageText {青|中} };
  263. #case {"40"} { #local ageText {中} };
  264. #case {"50"} { #local ageText {中|老} };
  265. #case {"60"} { #local ageText {老} };
  266. #case {"70"} { #local ageText {老} };
  267. #default {#echo {<119>这是什么年龄?「%2」<299>} };
  268. };
  269. #var {tang.data[行人特征][$tang[name]][年龄]} {$ageText};
  270. #class tang.data close;
  271. };
  272. #alias {tang.行人特征.衣服} {
  273. #local color {%1};
  274. #if { "$color" == "{0|1|4|5}" } {
  275. #format color {深};
  276. };
  277. #else {
  278. #format color {浅};
  279. };
  280. #class tang.data open;
  281. #var {tang.data[行人特征][$tang[name]][衣色]} {$color};
  282. #var {tang.data[行人特征][$tang[name]][衣服]} {%2};
  283. #class tang.data close;
  284. };
  285. #alias {tang.行人特征.鞋子} {
  286. #local color {%1};
  287. #if { "$color" == "{0|1|4|5}" } {
  288. #format color {深};
  289. };
  290. #else {
  291. #format color {浅};
  292. };
  293. #class tang.data open;
  294. #var {tang.data[行人特征][$tang[name]][鞋色]} {$color};
  295. #var {tang.data[行人特征][$tang[name]][鞋子]} {%2};
  296. #class tang.data close;
  297. };
  298. #alias {tang.分辨} {
  299. #local clean {false};
  300. #local reason {};
  301. #local idx {};
  302. #local key {};
  303. #local feat {};
  304. #foreach {*{tang.data[行人特征][$tang[name]][]}} {key} {
  305. #local value {${tang.data[行人特征][$tang[name]][$key]}};
  306. #format feat {%s %s} {$feat} {$key($value)};
  307. };
  308. #echo {%s} {<169>此人特征为:$feat<299>};
  309. #list {tang.data[好人名单]} {find} {$tang[name]} {idx};
  310. #if { $idx > 0 } {
  311. #echo {%s} {<129>之前已经搞清楚了,这是一个好人。<299>};
  312. #return;
  313. };
  314. #list {tang.data[嫌疑人名单]} {find} {$tang[name]} {idx};
  315. #if { $idx > 0 } {
  316. #echo {%s} {<139>之前已经看过了,这是一个嫌疑人。<299>};
  317. #return;
  318. };
  319. #foreach {*{tang.data[罪犯特征][]}} {key} {
  320. #local 特征点 {$key};
  321. #local 罪犯特征 {${tang.data[罪犯特征][$key]}};
  322. #local 行人特征 {${tang.data[行人特征][$tang[name]][${特征点}]}};
  323. #if { "${罪犯特征}" != "{${行人特征}}" } {
  324. #format reason {此人的${特征点}特征是${行人特征},与罪犯特征${罪犯特征}不符};
  325. #local clean {true};
  326. #break;
  327. };
  328. };
  329. #foreach {*{tang.data[证人证词][]}} {name} {
  330. #local 特征点 {${tang.data[证人证词][$name][特征点]}};
  331. #local 证词 {${tang.data[证人证词][$name][特征值]}};
  332. #local 行人特征 {${tang.data[行人特征][$tang[name]][${特征点}]}};
  333. #if { "${证词}" != "{${行人特征}}" && "$name" != "$tang[name]" } {
  334. #format reason {此人的${特征点}特征是${行人特征},与证人$name的证词「${证词}」不符};
  335. #local clean {true};
  336. #break;
  337. };
  338. };
  339. #if { "$clean" == "true" } {
  340. #echo {%s} {<129>由于${reason},因此这是一个好人。<299>};
  341. #list {tang.data[好人名单]} {sort} {$tang[name]};
  342. };
  343. #else {
  344. #echo {%s} {<139>由于缺乏必要的证据,无法判定此人清白,因此这是一个嫌疑人。<299>};
  345. #list {tang.data[嫌疑人名单]} {sort} {$tang[name]};
  346. };
  347. #showme 继续看下一位。;
  348. };
  349. #alias {tang.证词} {
  350. #local 证人 {%1};
  351. #local 特征点 {%2};
  352. #local 特征值 {%3};
  353. #var {tang.data[路人位置][${证人}]} {
  354. {id}{${tang-current-id}}
  355. {exit}{${tang-inquiry-exits[${tang-inquiry-exit-index}]}}
  356. };
  357. #if { "${特征点}" == "啥也没说" } {
  358. tang.案件进展;
  359. #return;
  360. };
  361. #var {tang.data[证人证词][${证人}][特征点]} {${特征点}};
  362. #var {tang.data[证人证词][${证人}][特征值]} {${特征值}};
  363. #echo {证人指认的是个<139>%s是%s<299>的人} {${特征点}} {${特征值}};
  364. #local {新增好人} {};
  365. #local idx {};
  366. #loop {&{tang.data[嫌疑人名单][]}} {1} {idx} {
  367. #if { $idx == 0 } {#break};
  368. #local 嫌疑人 {${tang.data[嫌疑人名单][$idx]}};
  369. #local 嫌疑人特征 {${tang.data[行人特征][${嫌疑人}][${特征点}]}};
  370. #local 证人特征 {${tang.data[行人特征][${证人}][${特征点}]}};
  371. #if { "${嫌疑人}" == "${证人}" } {
  372. #if { "${特征值}" == "{${证人特征}}" } {
  373. #echo {由于证人指认的特点与自身相符,因此判断他是一个<129>好人<299>};
  374. #list {新增好人} sort {${证人}};
  375. };
  376. };
  377. #else {
  378. #if { "${特征值}" != "{${嫌疑人特征}}" } {
  379. #echo {根据证人所说,<129>%s<299>应该是一个好人} {${嫌疑人}};
  380. #list {新增好人} sort {${嫌疑人}};
  381. };
  382. };
  383. };
  384. #list {新增好人} {simplify};
  385. #echo {由于证人作证,本次新增好人名单: <129>${新增好人}<299>};
  386. tang.确认好人 {${新增好人}};
  387. tang.案件进展;
  388. };
  389. #alias {tang.确认好人} {
  390. #local args {%1};
  391. #if { "$args" == "" } {
  392. #return;
  393. };
  394. #local cleanManList {};
  395. #list cleanManList create {$args};
  396. #while {1} {
  397. #local newCleanManList {};
  398. #local idx {};
  399. #foreach {*cleanManList[]} {idx} {
  400. #local cleanManName {$cleanManList[$idx]};
  401. #nop 将这个好人从嫌疑人名单移入好人名单;
  402. #local idx {};
  403. #list {tang.data[嫌疑人名单]} {find} {$cleanManName} {idx};
  404. #list {tang.data[嫌疑人名单]} {delete} {$idx};
  405. #list {tang.data[好人名单]} {sort} {$cleanManName};
  406. #local testimony {${tang.data[证人证词][$cleanManName]}};
  407. #if { "$testimony" == "" } {
  408. #continue; #nop 这个好人还不曾被询问,或者不曾提供证言;
  409. };
  410. #nop 如果这个好人曾经有证词的话,那么根据证词再发现更多的好人。;
  411. #unvar {tang.data[证人证词][$cleanManName]};
  412. #local {featName} {$testimony[特征点]};
  413. #local {featValue} {$testimony[特征值]};
  414. #var {tang.data[罪犯特征][$featName]} {$featValue};
  415. #if { &{tang.data[嫌疑人名单][]} == 0 } {
  416. #return;
  417. };
  418. #local idx {};
  419. #loop {&{tang.data[嫌疑人名单][]}} {1} {idx} {
  420. #local suspect {${tang.data[嫌疑人名单][$idx]}};
  421. #local suspectFeat {${tang.data[行人特征][$suspect][$featName]}};
  422. #if { "$featValue" != "{$suspectFeat}" } {
  423. #list newCleanMan sort {$suspect};
  424. };
  425. };
  426. };
  427. #if { &newCleanManList[] > 0 } {
  428. #echo {由于前面一批好人被确认,推出本次新增好人名单: <129>$newCleanManList<299>};
  429. #local cleanManList {$newCleanManList};
  430. };
  431. #else {
  432. #break;
  433. };
  434. };
  435. };
  436. #alias {tang.案件进展} {
  437. #class tang.ask kill;
  438. #local list {@slist.FromList{${tang.data[好人名单]}}};
  439. #replace list {;} { };
  440. #echo {目前发现的好人 : <129>$list<299>};
  441. #local list {@slist.FromList{${tang.data[嫌疑人名单]}}};
  442. #replace list {;} { };
  443. #echo {目前发现的嫌疑人: <139>$list<299>};
  444. };
  445. #alias {tang.认错人} {
  446. #local idx {};
  447. #list {tang.data[嫌疑人名单]} {find} {%1} {idx};
  448. #list {tang.data[嫌疑人名单]} {delete} {$idx};
  449. #list {tang.data[好人名单]} {sort} {%1};
  450. tang.案件进展;
  451. };
  452. #alias {tang.back} {
  453. #local name {};
  454. #if { &{tang.data[嫌疑人名单][]} > 0 } {
  455. #local name {${tang.data[嫌疑人名单][1]}};
  456. };
  457. #else {
  458. #nop 没有嫌疑人时随便指认一个。;
  459. #local name {${tang.data[好人名单][1]}};
  460. };
  461. #local exit {${tang.data[路人位置][$name][exit]}};
  462. #local id {${tang.data[路人位置][$name][id]}};
  463. #if { "$exit" == "" } {
  464. testify luren $id;
  465. };
  466. #else {
  467. $exit; testify luren $id; @dir.Reverse{$exit};
  468. };
  469. #local place {${tang-all-location[${tang-task-location}]}};
  470. #local path {@path.Reverse{$place[path]}};
  471. xtt.SendBatch {$path};
  472. #class tang.back open;
  473. #action {^由于你的突出贡献,特奖励{爵位贡献|任务积分}%*点,用于{提升爵位|兑换本爵位相关的任务奖励}。$} {
  474. #class tang.back kill;
  475. #delay tang.query {tang.upgrade} 10;
  476. #local level {${tang-job-log[任务难度]}};
  477. #local point {@math.ParseCN{%%2}};
  478. speedo.Add {爵位积分} {$point} {true} {600};
  479. #format point {%+2s} {$point};
  480. questLog 【<139>爵位任务<299>】【$tang-job-level-color[$level]$level<299>】【<129>任务成功<299>】奖励爵位积分【$point】【${tang-job-log[地点]}】;
  481. };
  482. #action {^你未领取任务,也不能领取奖励。$} {
  483. #class tang.back kill;
  484. #local level {${tang-job-log[任务难度]}};
  485. questLog 【<139>爵位任务<299>】【$tang-job-level-color[$level]$level<299>】【<119>任务失败<299>】奖励爵位积分【 0】【${tang-job-log[地点]}】;
  486. };
  487. #class tang.back close;
  488. #delay tang.finish {ask jingzhao shaoyin about 领赏} 2;
  489. #delay tang.job {tang.job} 3;
  490. };
  491. #alias {tang.upgrade} {
  492. #class tang.upgrade open;
  493. #action {^你向郭隆打听有关『积分』的消息。$} {#0};
  494. #action {^你拥有爵位升级积分%*点,还差%*才能升级为开国县男。$} {
  495. #class tang.upgrade kill;
  496. };
  497. #action {^你在当前爵位积累了爵位升级积分零点,积累了任务奖励积分%*点。$} {
  498. #class tang.upgrade kill;
  499. };
  500. #action {^你拥有爵位升级积分%*点,已经足够升级到开国县男,请尽快到吏部升级爵位。$} {
  501. #delay tang.upgrade {xtt.Send {ask jingzhao shaoyin about 通行令}} 3;
  502. };
  503. #action {^你缴纳了一两黄金后,郭隆递给你一面皇城通行令,凭令可以在一天内在皇城内通行无阻。$} {
  504. xtt.SendBatch {e;n;e;n;n;n;n;e};
  505. #delay 10 {xtt.Send {ask jiangjun about 通行令}};
  506. };
  507. #action {^你缴纳了二两黄金后,左金吾卫大将军递给你一面皇宫通行令,凭令可以在一天内在太极宫内通行无阻。$} {
  508. xtt.SendBatch {w;s;e;e;nu;n};
  509. #delay tang.upgrade {xtt.Send {ask libu shangshu about 提升爵位}} 3;
  510. };
  511. #action {^你将被提升到爵位:〖唐朝爵位〗开国县男,爵位贡献将被清零。$} {
  512. #class tang.upgrade kill;
  513. xtt.SendBatch {s;sd;w;w;s;s;s;w;s;w};
  514. #delay tang.upgrade {tang.job} 3;
  515. };
  516. #class tang.upgrade close;
  517. ask jingzhao shaoyin about 积分;
  518. };
  519. /*
  520. 五十多岁 算 花白
  521. 五十多岁 算 中年
  522. 三十多岁 算 中年
  523. 三十多岁 算 年轻
  524. 青年 20~30
  525. 中年 30~50
  526. 老年 50~70
  527. 他的笑容蕴藏着一种很怪的魅力,让你觉得他似乎是你的兄弟那样令人放心,又像你的姐妹那般容易亲近。
  528. 他现在粉面朱唇,身姿俊俏,举止风流无限。
  529. 你发现了正准备潜逃的罪犯,向附近巡街的金吾卫举报了,可以去衙门领奖了。
  530. 你向附近的金吾卫错误地指证上铺的盗劫犯,惊动了真正的盗贼,使得他立即逃离长安城。
  531. 由于你的突出贡献,特奖励爵位贡献二十四点,用于提升爵位。
  532. */