置顶公告:【置顶】关于临时开启评论区所有功能的公告(2022.10.22) | 【置顶】关于本站Widget恢复使用的公告
  • 你好~!欢迎来到萌娘百科镜像站!如需查看或编辑,请联系本站管理员注册账号。
  • 本镜像站和其他萌娘百科的镜像站无关,请注意分别。

Module:Sandbox/GuoPC/MomoGoPro

猛汉♂百科,万男皆可猛的百科全书!转载请标注来源页面的网页链接,并声明引自猛汉百科。内容不可商用。
跳到导航 跳到搜索
Template-info.svg 模块文档  [查看] [编辑] [历史] [刷新]

用于将使用{{Momotalk}}展示的内容改为以{{MomoTalkPro}}形式呈现,返回对应的代码。

使用方法

  1. {{User:GuoPC/MomoGoPro
  2. |num = <!-- 填入消息的最大轮数 -->
  3. |name = <!-- 填入学生名字的英文/罗马字,如Koharu,用于对应头像 -->
  4. <!-- 其余参数从原本使用的{{Momotalk}}中复制过来即可 -->
  5. }}

说明

  • 对于在{{Momotalk}}中未指定main-style的,均会在处理后添加inner_style = max-height:65vh;overflow-y:scroll
  • 目前已适配的消息类型(按“<{{Momotalk}}参数> → <{{MomoTalkPro}}参数>”格式说明):
    • 学生
      • 新消息:|i=ss|typei=msg|n|1
      • 连续消息:|i=s|typei=msg|s|1
      • 图片:|i=ss|typei=img|i=s|typei=img|i|1
    • 老师
      • 消息:|i=t|typei=msg|t
      • 回复选项(最多2个):|i=t|typei=rep|choosei_1=…[|choosei_2=…]|c|回复|…[|…]|end|b|t|…|e[|b|t|…|e]
      • 羁绊剧情:|i=t|typei=kzn|k|羁绊剧情
  • 如果可能,修改后请参照原文检查:对于老师不同的回复选项,学生后续的消息是否有差异。如果有,请将对应消息移至|b|t|…|e的对应回复之后、|e之前的位置。如下方#示例,输出中的第一个选项(第8~14行)的部分,需要将第15行移至第10行下方,将第16行移至第13行下方。

示例

赤司淳子/MomoTalk#原始为例。

使用
  1. {{User:GuoPC/MomoGoPro
  2. |num=65
  3. |name=Zunko
  4. |main-style=max-height:65vh;overflow-y:scroll
  5. |1 = ss
  6. |type1 = msg
  7. |avatar1 = {{蔚蓝档案头像|Zunko|50}}
  8. |content1 = 呃呃……為什麼美食都這麼貴呢……
  9. |name1 = 赤司淳子
  10. |2 = ss
  11. |type2 = msg
  12. |avatar2 = {{蔚蓝档案头像|Zunko|50}}
  13. |content2 = 真希望可以不要工作賺錢……
  14. |name2 = 赤司淳子
  15. |3 = t
  16. |type3 = rep
  17. |choose3_1 = 不可以走歪道,要好好做正當的事情…
  18. |choose3_2 = 我也想要不用工作賺錢……
  19. |4 = ss
  20. |type4 = msg
  21. |avatar4 = {{蔚蓝档案头像|Zunko|50}}
  22. |content4 = 話是如此沒錯啦……
  23. |name4 = 赤司淳子
  24. |5 = ss
  25. |type5 = msg
  26. |avatar5 = {{蔚蓝档案头像|Zunko|50}}
  27. |content5 = 等等,老師說出這種話沒問題嗎?
  28. |name5 = 赤司淳子
  29. |6 = ss
  30. |type6 = msg
  31. |avatar6 = {{蔚蓝档案头像|Zunko|50}}
  32. |content6 = 嗯,那也只是說說而已,打工時我可是很認真的。
  33. |name6 = 赤司淳子
  34. |7 = t
  35. |type7 = msg
  36. |content7 = 淳子要打工……?
  37. |8 = ss
  38. |type8 = msg
  39. |avatar8 = {{蔚蓝档案头像|Zunko|50}}
  40. |content8 = 那句話是什麼意思,
  41. |name8 = 赤司淳子
  42. |9 = s
  43. |type9 = msg
  44. |avatar9 = {{蔚蓝档案头像|Zunko|50}}
  45. |content9 = 我去打工又怎麼了!
  46. |name9 = 赤司淳子
  47. |10 = t
  48. |type10 = kzn
  49. |content10 = 前往赤司淳子的羁绊剧情
  50. |11 = ss
  51. |type11 = msg
  52. |avatar11 = {{蔚蓝档案头像|Zunko|50}}
  53. |content11 = 老師、老師!
  54. |name11 = 赤司淳子
  55. |12 = ss
  56. |type12 = msg
  57. |avatar12 = {{蔚蓝档案头像|Zunko|50}}
  58. |content12 = 我發現了一個很厲害的事情!
  59. |name12 = 赤司淳子
  60. |13 = t
  61. |type13 = msg
  62. |content13 = 什麼事?
  63. |14 = ss
  64. |type14 = msg
  65. |avatar14 = {{蔚蓝档案头像|Zunko|50}}
  66. |content14 = 我找到了能用便宜的費用吃一大堆高級海鮮的方法!
  67. |name14 = 赤司淳子
  68. |15 = t
  69. |type15 = rep
  70. |choose15_1 = 那是真的嗎?
  71. |choose15_2 = 淳子,再怎麼想吃高級海鮮,也不能犯罪啊。
  72. |16 = ss
  73. |type16 = msg
  74. |avatar16 = {{蔚蓝档案头像|Zunko|50}}
  75. |content16 = 當然。詳細的方法是秘密……嘿嘿。
  76. |name16 = 赤司淳子
  77. |17 = ss
  78. |type17 = msg
  79. |avatar17 = {{蔚蓝档案头像|Zunko|50}}
  80. |content17 = 你把我當成什麼了?我才不是要犯罪好嗎?
  81. |name17 = 赤司淳子
  82. |18 = ss
  83. |type18 = msg
  84. |avatar18 = {{蔚蓝档案头像|Zunko|50}}
  85. |content18 = 如果想知道詳細的方法,今天的晚餐時間來一趟格黑娜的學園餐廳吧。
  86. |name18 = 赤司淳子
  87. |19 = s
  88. |type19 = msg
  89. |avatar19 = {{蔚蓝档案头像|Zunko|50}}
  90. |content19 = 絕對不能遲到喔!
  91. |name19 = 赤司淳子
  92. |20 = t
  93. |type20 = kzn
  94. |content20 = 前往赤司淳子的羁绊剧情
  95. |21 = ss
  96. |type21 = msg
  97. |avatar21 = {{蔚蓝档案头像|Zunko|50}}
  98. |content21 = 呃呃,
  99. |name21 = 赤司淳子
  100. |22 = s
  101. |type22 = msg
  102. |avatar22 = {{蔚蓝档案头像|Zunko|50}}
  103. |content22 = 如果沒有為了實驗假食物而購買布丁,今天的晚餐應該就能吃得很豪華了呢……
  104. |name22 = 赤司淳子
  105. |23 = t
  106. |type23 = msg
  107. |content23 = 淳子。
  108. |24 = ss
  109. |type24 = msg
  110. |avatar24 = {{蔚蓝档案头像|Zunko|50}}
  111. |content24 = 為什麼?
  112. |name24 = 赤司淳子
  113. |25 = t
  114. |type25 = msg
  115. |content25 = 剛剛在網路上看到只要在黃瓜上塗蜂蜜,就會有哈密瓜的味道耶。
  116. |26 = ss
  117. |type26 = msg
  118. |avatar26 = {{蔚蓝档案头像|Zunko|50}}
  119. |content26 = 又是網路文章啊!再說,蜂蜜比哈密瓜還貴啊!
  120. |name26 = 赤司淳子
  121. |27 = s
  122. |type27 = msg
  123. |avatar27 = {{蔚蓝档案头像|Zunko|50}}
  124. |content27 = 我再也不被假食物騙了!
  125. |name27 = 赤司淳子
  126. |28 = ss
  127. |type28 = msg
  128. |avatar28 = {{蔚蓝档案头像|Zunko|50}}
  129. |content28 = 嘿嘿嘿,老師。你好好羨慕我吧。
  130. |name28 = 赤司淳子
  131. |29 = ss
  132. |type29 = msg
  133. |avatar29 = {{蔚蓝档案头像|Zunko|50}}
  134. |content29 = 今天美食研究會的晚餐菜單就是……肉!
  135. |name29 = 赤司淳子
  136. |30 = t
  137. |type30 = msg
  138. |content30 = ……肉!
  139. |31 = ss
  140. |type31 = msg
  141. |avatar31 = {{蔚蓝档案头像|Zunko|50}}
  142. |content31 = 而且還是昂貴的和牛!
  143. |name31 = 赤司淳子
  144. |32 = t
  145. |type32 = msg
  146. |content32 = ……和牛!
  147. |33 = ss
  148. |type33 = msg
  149. |avatar33 = {{蔚蓝档案头像|Zunko|50}}
  150. |content33 = 呼呼。羨慕吧,老師?
  151. |name33 = 赤司淳子
  152. |34 = s
  153. |type34 = msg
  154. |avatar34 = {{蔚蓝档案头像|Zunko|50}}
  155. |content34 = 今天就讓你好好羨慕我吧!
  156. |name34 = 赤司淳子
  157. |35 = t
  158. |type35 = rep
  159. |choose35_1 = 我也好想吃……
  160. |choose35_2 = 我也要加入美食研究會!
  161. |36 = ss
  162. |type36 = msg
  163. |avatar36 = {{蔚蓝档案头像|Zunko|50}}
  164. |content36 = 不行,原訂要去的烤肉店是有人數限制的。
  165. |name36 = 赤司淳子
  166. |37 = s
  167. |type37 = msg
  168. |avatar37 = {{蔚蓝档案头像|Zunko|50}}
  169. |content37 = 但是我可以回來告訴你那裡的和牛有多好吃!
  170. |name37 = 赤司淳子
  171. |38 = t
  172. |type38 = kzn
  173. |content38 = 前往赤司淳子的羁绊剧情
  174. |39 = ss
  175. |type39 = msg
  176. |avatar39 = {{蔚蓝档案头像|Zunko|50}}
  177. |content39 = 今天中午要跟美食研究會的成員一起去吃蛋糕吃到飽!
  178. |name39 = 赤司淳子
  179. |40 = t
  180. |type40 = msg
  181. |content40 = 蛋糕吃到飽?
  182. |41 = ss
  183. |type41 = msg
  184. |avatar41 = {{蔚蓝档案头像|Zunko|50}}
  185. |content41 = 什麼啊,老師。你不知道蛋糕吃到飽?
  186. |name41 = 赤司淳子
  187. |42 = ss
  188. |type42 = msg
  189. |avatar42 = {{蔚蓝档案头像|Zunko|50}}
  190. |content42 = 所謂的蛋糕吃到飽啊,
  191. |name42 = 赤司淳子
  192. |43 = s
  193. |type43 = msg
  194. |avatar43 = {{蔚蓝档案头像|Zunko|50}}
  195. |content43 = 就是可以在限制時間內,盡情享用各式各樣蛋糕的
  196. |name43 = 赤司淳子
  197. |44 = s
  198. |type44 = msg
  199. |avatar44 = {{蔚蓝档案头像|Zunko|50}}
  200. |content44 = 夢寐以求的店啊。
  201. |name44 = 赤司淳子
  202. |45 = t
  203. |type45 = msg
  204. |content45 = 感覺好膩喔……
  205. |46 = ss
  206. |type46 = msg
  207. |avatar46 = {{蔚蓝档案头像|Zunko|50}}
  208. |content46 = 不要説那種洩氣的話!
  209. |name46 = 赤司淳子
  210. |47 = s
  211. |type47 = msg
  212. |avatar47 = {{蔚蓝档案头像|Zunko|50}}
  213. |content47 = 這可是非常難得、能盡情吃到蛋糕的機會呢!
  214. |name47 = 赤司淳子
  215. |48 = t
  216. |type48 = kzn
  217. |content48 = 前往赤司淳子的羁绊剧情
  218. |49 = ss
  219. |type49 = msg
  220. |avatar49 = {{蔚蓝档案头像|Zunko|50}}
  221. |content49 = 噁……
  222. |name49 = 赤司淳子
  223. |50 = t
  224. |type50 = msg
  225. |content50 = 胃還好嗎?
  226. |51 = ss
  227. |type51 = msg
  228. |avatar51 = {{蔚蓝档案头像|Zunko|50}}
  229. |content51 = 已經好一點了。
  230. |name51 = 赤司淳子
  231. |52 = s
  232. |type52 = msg
  233. |avatar52 = {{蔚蓝档案头像|Zunko|50}}
  234. |content52 = 沒想到曬乾的海帶竟然會在肚子裡膨脹……
  235. |name52 = 赤司淳子
  236. |53 = ss
  237. |type53 = msg
  238. |avatar53 = {{蔚蓝档案头像|Zunko|50}}
  239. |content53 = 不過上次看到亞伽里把海帶乾當作點心,吃了一整桶……
  240. |name53 = 赤司淳子
  241. |54 = s
  242. |type54 = msg
  243. |avatar54 = {{蔚蓝档案头像|Zunko|50}}
  244. |content54 = 亞伽里的肚子到底是什麼結構……
  245. |name54 = 赤司淳子
  246. |55 = ss
  247. |type55 = msg
  248. |avatar55 = {{蔚蓝档案头像|Zunko|50}}
  249. |content55 = 老師,你有聽說過山海經學園附近的中華街嗎?
  250. |name55 = 赤司淳子
  251. |56 = ss
  252. |type56 = msg
  253. |avatar56 = {{蔚蓝档案头像|Zunko|50}}
  254. |content56 = 聽說一整條街都是中華料理店,而且全部都是美食餐廳喔!
  255. |name56 = 赤司淳子
  256. |57 = t
  257. |type57 = rep
  258. |choose57_1 = 我也有聽說過。
  259. |choose57_2 = 嗯,那裡的食物的確很好吃。
  260. |58 = ss
  261. |type58 = msg
  262. |avatar58 = {{蔚蓝档案头像|Zunko|50}}
  263. |content58 = 連老師都聽說了,可見那裡一定有美食餐廳。
  264. |name58 = 赤司淳子
  265. |59 = ss
  266. |type59 = msg
  267. |avatar59 = {{蔚蓝档案头像|Zunko|50}}
  268. |content59 = 什麼。你沒找我就自己去了?真過分!
  269. |name59 = 赤司淳子
  270. |60 = ss
  271. |type60 = msg
  272. |avatar60 = {{蔚蓝档案头像|Zunko|50}}
  273. |content60 = 總之,我身為追求美食的美食研究會的一員,絕對不能錯過這個傳聞。
  274. |name60 = 赤司淳子
  275. |61 = s
  276. |type61 = msg
  277. |avatar61 = {{蔚蓝档案头像|Zunko|50}}
  278. |content61 = 所以啊……如果這個週末有空,你願意跟我一起去山海經學園嗎?
  279. |name61 = 赤司淳子
  280. |62 = t
  281. |type62 = msg
  282. |content62 = 好。
  283. |63 = ss
  284. |type63 = msg
  285. |avatar63 = {{蔚蓝档案头像|Zunko|50}}
  286. |content63 = 嘿嘿,約好了喔?
  287. |name63 = 赤司淳子
  288. |64 = s
  289. |type64 = msg
  290. |avatar64 = {{蔚蓝档案头像|Zunko|50}}
  291. |content64 = 那這個週末就在山海經學園正門口見!
  292. |name64 = 赤司淳子
  293. |65 = t
  294. |type65 = kzn
  295. |content65 = 前往赤司淳子的羁绊剧情
  296. }}
  1. local getArgs = require('Module:Arguments').getArgs
  2. local p = {}
  3. function p.main(frame)
  4. local args = getArgs(frame)
  5. return p._main(frame, args)
  6. end
  7. function p._main(frame, args)
  8. if not frame then
  9. frame = mw.getCurrentFrame()
  10. end
  11. local main = {}
  12. function ins(str)
  13. table.insert(main, str)
  14. end
  15. function singComp(tab1, tab2)
  16. for k, v in ipairs(tab1) do
  17. if not (tab2[k] == v) then
  18. return false
  19. end
  20. end
  21. return true
  22. end
  23. ins("")
  24. -- 额外参数
  25. local num = args["num"]
  26. -- 配置参数
  27. local style = args["main-style"] or "max-height:65vh;overflow-y:scroll"
  28. ins("inner_style = " .. style .. "\n")
  29. ins("talker_1 = " .. args["name1"] .. "\n")
  30. ins("talker_avatar_1 = {{蔚蓝档案头像|" .. args["name"] .. "|50}}\n")
  31. -- 对话参数
  32. ins("a|到此已读\n")
  33. for i = 1, num do
  34. local piece = {args[i], args["type" .. i]}
  35. local content = args["content" .. i]
  36. if singComp(piece, {"ss", "msg"}) then
  37. ins("n|1|" .. content .. "\n")
  38. elseif singComp(piece, {"ss", "img"}) or singComp(piece, {"s", "img"}) then
  39. ins("i|1|" .. content .. "|300px\n")
  40. elseif singComp(piece, {"s", "msg"}) then
  41. ins("s|1|" .. content .. "\n")
  42. elseif singComp(piece, {"t", "msg"}) then
  43. ins("t|" .. content .. "\n")
  44. elseif singComp(piece, {"t", "kzn"}) then
  45. ins("k|羁绊剧情|前往" .. args["name1"] .. "的羁绊剧情\n")
  46. elseif singComp(piece, {"t", "rep"}) then
  47. local rep1 = args["choose" .. i .. "_1"]
  48. if args["choose" .. i .. "_2"] then
  49. local rep2 = args["choose" .. i .. "_2"]
  50. ins("c|回复|" .. rep1 .. "|" .. rep2 .. "|end\n")
  51. ins("b\n|t|" .. rep1 .. "\n|e\n")
  52. ins("b\n|t|" .. rep2 .. "\n|e\n")
  53. else
  54. ins("c|回复|" .. rep1 .. "|end\n")
  55. ins("b\n|t|" .. rep1 .. "\n|e\n")
  56. end
  57. else
  58. error("第" .. i .. "条消息存在未预期的参数组合 (" .. table.concat(piece, ", ") .. ")")
  59. end
  60. end
  61. local code = "{{MomoTalkPro\n" .. table.concat(main, "|") .. "}}"
  62. return mw.html.create():tag("pre"):addClass("prettyprint lang-wiki"):wikitext(code)
  63. end
  64. return p