Advertisement
Guest User

Untitled

a guest
Dec 15th, 2019
127
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 18.81 KB | None | 0 0
  1. options:
  2.  
  3. #Config
  4. #以下の範囲は編集しても大丈夫です。但し自己責任ですので、失敗して動かなくなっても責任は負いません。(復旧方法はお教えします。)
  5. #----------------------------------------------------------
  6. infepre: &7[&cInfection&7]&r #ゲームのメッセージのprefix
  7. systpre: &7[&6System&7]&r #コマンド等のメッセージのprefix
  8. pre: &e[&aserver&e]&r #その他のメッセージのprefix
  9. #----------------------------------------------------------
  10.  
  11. #これより下の範囲は編集しないで下さい。システムに影響します。
  12.  
  13.  
  14.  
  15. #プレイヤー参加/退出処理
  16. on join:
  17. set the join message to "{@pre} &e%player% がサーバーに接続しました。"
  18. wait 1 tick
  19. set slot 0 of player's tool to nether star named "&aゲームに参加する"
  20.  
  21. on quit:
  22. set the quit message to "{@pre} &e%player% がサーバーから切断しました。"
  23.  
  24.  
  25. #ゲーム参加処理
  26. on right click with nether star:
  27. if name of clicked item is "&aゲームに参加する":
  28. set {_infe.number} to 0
  29. loop {infe..stages::*}:
  30. if {infe::stages::%loop-index%::enabled} is true:
  31. add 1 to {_infe.number}
  32. if {_infe.number} is 0:
  33. send "{@infepre} &c有効化されているステージがないので遊べません。"
  34. stop
  35. if {infe.game} is not set:
  36. send "&9》 &eゲームに参加しました。"
  37. if {infe::member::*} contains player:
  38. stop
  39. else:
  40. add player to {infe::member::*}
  41. if size of {infe::member::*} is 3:
  42. start()
  43.  
  44.  
  45. #ゲームスタート関数
  46. function start():
  47. broadcast "{@infepre} &aプレイヤーが集まったためまもなくゲームを開始します..."
  48. set {_timer} to 30
  49. while {_timer} is not 0:
  50. send action bar "&c&lゲーム開始まで &6&l%{_timer}%秒" to all players
  51. wait 1 second
  52. remove 1 from {_timer}
  53. set {_stage} to nextStage()
  54. broadcast "&e〇●〇●〇●〇●〇●〇●〇●〇●〇●〇●〇●〇●〇●〇●〇●〇●〇●〇●"
  55. broadcast ""
  56. broadcast "&6&l 抽選の結果ステージが決定しました!"
  57. broadcast ""
  58. broadcast " &6Stage&r %{_stage}%"
  59. broadcast ""
  60. broadcast "&e〇●〇●〇●〇●〇●〇●〇●〇●〇●〇●〇●〇●〇●〇●〇●〇●〇●〇●"
  61. wait 7 second
  62. teleport {infe::member::*} to {infe::stages::%{_stage}%}
  63.  
  64.  
  65. #ステージ抽選関数
  66. function nextStage() :: string:
  67. while {_infe.stage} is not set:
  68. set {_infe.string} to random element out of indexes of {infe::stages::*}
  69. if {infe::stages::%{_infe.string}%::enabled} is true:
  70. set {_infe.stage} to {_infe.string}
  71. return {_infe.stage}
  72.  
  73.  
  74. #ステージ登録コマンド
  75. command /infestage [<text>] [<text>]:
  76. permission: enderK.infection
  77. aliases: /is
  78. trigger:
  79. if arg-1 is set:
  80. if arg-2 is set:
  81. if arg-1 is "add":
  82. if {infe::stages::%coloured arg-2%} is set:
  83. send "{@systpre} &cそのステージは既に登録されています。"
  84. else:
  85. set {infe::stages::%coloured arg-2%} to true
  86. send "{@systpre} &aステージ&r%coloured arg-2%&aを登録しました!"
  87. else if arg-1 is "remove":
  88. if {infe::stages::%coloured arg-2%} is set:
  89. delete {infe::stages::%coloured arg-2%}
  90. send "{@systpre} &aステージ&r%coloured arg-2%&aを削除しました!"
  91. else:
  92. send "{@systpre} &cそのステージは登録されていません。"
  93. else:
  94. send "&6----------{@systpre}&6----------"
  95. send "&aadd&7 --- &eステージ登録"
  96. send "&aremove&7 --- &eステージ消去"
  97. stop
  98. else:
  99. send "{@systpre} &cステージ名を記述してください。"
  100. else:
  101. send "&6----------{@systpre}&6----------"
  102. send "&aadd&7 --- &eステージ登録"
  103. send "&aremove&7 --- &eステージ消去"
  104.  
  105.  
  106. #ステージ編集コマンド
  107. command /infestageeditor [<text>]:
  108. permission: enderK.infection
  109. aliases: /ise
  110. trigger:
  111. if arg-1 is set:
  112. if {infe::stages::%coloured arg-1%} is set:
  113. set {infe::mapeditor::%player%} to coloured arg-1
  114. delete {infe::tpsetter::%player%}
  115. delete {infe::timesetter::%player%}
  116. delete {infe::messagesetter::%player%}
  117. open chest with 6 rows named "%coloured arg-1% &6編集メニュー"
  118. wait 1 tick
  119. if {infe::stages::%coloured arg-1%::spawn} is not set:
  120. set slot 10 of player's current inventory to glowing compass named "&e&lTP地点設定" with lore "&9現在の設定&8:&c未設定" and "&7このステージが選択された際" and "&7テレポートする場所を一か所設定出来ます。"
  121. else:
  122. set slot 10 of player's current inventory to glowing compass named "&e&lTP地点設定" with lore "&9現在の設定&8:&a%{infe::stages::%coloured arg-1%::spawn}%" and "&7このステージが選択された際" and "&7テレポートする場所を一か所設定出来ます。"
  123. if {infe::stages::%coloured arg-1%::time} is not set:
  124. set slot 13 of player's current inventory to glowing clock named "&a&l制限時間設定" with lore "&9現在の設定&8: &c未設定" and "&7このステージの制限時間を設定出来ます。"
  125. else:
  126. set slot 13 of player's current inventory to glowing clock named "&a&l制限時間設定" with lore "&9現在の設定&8: &a%{infe::stages::%coloured arg-1%::time}%&9秒" and "&7このステージの制限時間を設定出来ます。"
  127. if {infe::stages::%coloured arg-1%::message::1} is not set:
  128. set slot 16 of player's current inventory to glowing paper named "&d&l表示メッセージ設定" with lore "&9現在の状態&8: &c未設定" and "&7このステージが選択された際" and "&7テレポートしてから表示されるメッセージを設定出来ます。"
  129. else:
  130. if {infe::stages::%coloured arg-1%::message::1} is "&c未設定":
  131. set slot 16 of player's current inventory to glowing paper named "&d&l表示メッセージ設定" with lore "&9現在の状態&8: &c未設定" and "&7このステージが選択された際" and "&7テレポートしてから表示されるメッセージを設定出来ます。"
  132. else:
  133. set slot 16 of player's current inventory to glowing paper named "&d&l表示メッセージ設定" with lore "&9現在の状態&8: &a設定済み" and "&7このステージが選択された際" and "&7テレポートしてから表示されるメッセージを設定出来ます。"
  134. else:
  135. send "{@systpre} &cそのステージは登録されていません。"
  136. else:
  137. send "&6----------{@systpre}&6----------"
  138. send "&a(ステージ名)&7 --- &eステージ編集画面を開きます"
  139.  
  140.  
  141. #ステージ編集画面用
  142. on inventory click:
  143. name of player's current inventory is "%{infe::mapeditor::%player%}% &6編集メニュー"
  144. if clicked slot is 10:
  145. close player's inventory
  146. set {infe.tpsetter.%player%} to true
  147. send "{@systpre} &aTPする場所を左クリックで壊して下さい。&7(自動修復されます)"
  148. send "{@systpre} &c床をクリックすると&c&lTP時に地面に埋まるので注意&cしてください。"
  149. if clicked slot is 13:
  150. close player's inventory
  151. set {infe.timesetter.%player%} to true
  152. send "{@systpre} &a制限時間を&6秒数&aでチャット欄に記述して送信してください。"
  153. send "{@systpre} &cLunaChat導入済みの場合は&c&l必ず日本語化機能をoffにしてから&cにしてください。"
  154. send "{@systpre} &7LunaChatの日本語化機能をoffにするには&a/jp off&7と送信してください。"
  155. send "{@systpre} &aキャンセルするには&dcancel&aとチャットしてください。"
  156.  
  157.  
  158. #ステージTP地点編集
  159. on break:
  160. if {infe.tpsetter.%player%} is true:
  161. cancel event
  162. set {infe::stages::%{infe::mapeditor::%player%}%::spawn} to location of event-block
  163. send "{@systpre} &aステージ&r%{infe::mapeditor::%player%}%&aのTP地点を&d%location of event-block%&aに設定しました!"
  164. delete {infe.tpsetter.%player%}
  165. delete {infe::mapeditor::%player%}
  166.  
  167.  
  168. #ステージ制限時間編集
  169. on chat:
  170. if {infe.timesetter.%player%} is true:
  171. cancel event
  172. if event-message contains "cancel":
  173. delete {infe.timesetter.%player%}
  174. send "{@systpre} &a制限時間設定をキャンセルしました。"
  175. else:
  176. set {_infe.msg} to event-message parsed as integer
  177. if {_infe.msg} is not number:
  178. send "{@systpre} &c数字で記述してください。やり直してください。"
  179. else:
  180. set {infe::stages::%{infe::mapeditor::%player%}%::time} to {_infe.msg}
  181. send "{@systpre} &aステージ&r%{infe::mapeditor::%player%}%&aの制限時間を&d%{_infe.msg}%&a秒に設定しました。"
  182. delete {infe.timesetter.%player%}
  183. delete {infe::mapeditor::%player%}
  184.  
  185.  
  186. #ステージ表示メッセージ編集
  187. on inventory click:
  188. name of player's current inventory is "%{infe::mapeditor::%player%}% &6編集メニュー"
  189. if clicked slot is 16:
  190. set {_infe.num} to 0
  191. loop 9 times:
  192. add 1 to {_infe.num}
  193. if {infe::stages::%{infe::mapeditor::%player%}%::message%{_infe.num}%} is not set:
  194. set {infe::stages::%{infe::mapeditor::%player%}%::message%{_infe.num}%} to "&c未設定"
  195. close player's inventory
  196. wait 2 tick
  197. open chest with 6 rows named "%{infe::mapeditor::%player%}% &6メッセージ編集メニュー"
  198. wait 1 tick
  199. set {_infe.num} to 0
  200. loop 18 times:
  201. if {_infe.num} > 9:
  202. format slot {_infe.num} parsed as number of player with pink stained glass to be unstealable
  203. else:
  204. set slot {_infe.num} parsed as number of player's current inventory to paper named "&eメッセージ&d%{_infe.num} - 8%行&e目" with lore "%{infe::stages::%{infe::mapeditor::%player%}%::message%{_infe.num} - 8%}%"
  205. add 1 to {_infe.num}
  206. format slot 18 of player with glowing gold nugget named "&aメッセージプレビュー" with lore "&7ステージ%{infe::stages::%{infe::mapeditor::%player%}%}%" and "&7で表示するメッセージの現在の設定を" and "&7プレビューします。" to close then run [messagepreview(player)]
  207.  
  208.  
  209. on inventory click:
  210. name of player's current inventory is "%{infe::mapeditor::%player%}% &6メッセージ編集メニュー"
  211. if clicked slot is 9:
  212. set {infe::messagesetter::%player%} to 1
  213. send "{@systpre} &aメッセージ&d1行&a目を設定出来ます。"
  214. send "{@systpre} &aチャット欄に記述して送信してください。"
  215. if clicked slot is 10:
  216. if {infe::stages::%{infe::mapeditor::%player%}%::message1} is "&c未設定":
  217. wrongmessagenumber(player)
  218. else:
  219. set {infe::messagesetter::%player%} to 2
  220. send "{@systpre} &aメッセージ&d2行&a目を設定出来ます。"
  221. send "{@systpre} &aチャット欄に記述して送信してください。"
  222. if clicked slot is 11:
  223. if {infe::stages::%{infe::mapeditor::%player%}%::message2} is "&c未設定":
  224. wrongmessagenumber(player)
  225. else:
  226. set {infe::messagesetter::%player%} to 3
  227. send "{@systpre} &aメッセージ&d3行&a目を設定出来ます。"
  228. send "{@systpre} &aチャット欄に記述して送信してください。"
  229. if clicked slot is 12:
  230. if {infe::stages::%{infe::mapeditor::%player%}%::message3} is "&c未設定":
  231. wrongmessagenumber(player)
  232. else:
  233. set {infe::messagesetter::%player%} to 4
  234. send "{@systpre} &aメッセージ&d4行&a目を設定出来ます。"
  235. send "{@systpre} &aチャット欄に記述して送信してください。"
  236. if clicked slot is 13:
  237. if {infe::stages::%{infe::mapeditor::%player%}%::message4} is "&c未設定":
  238. wrongmessagenumber(player)
  239. else:
  240. set {infe::messagesetter::%player%} to 5
  241. send "{@systpre} &aメッセージ&d5行&a目を設定出来ます。"
  242. send "{@systpre} &aチャット欄に記述して送信してください。"
  243. if clicked slot is 14:
  244. if {infe::stages::%{infe::mapeditor::%player%}%::message5} is "&c未設定":
  245. wrongmessagenumber(player)
  246. else:
  247. set {infe::messagesetter::%player%} to 6
  248. send "{@systpre} &aメッセージ&d6行&a目を設定出来ます。"
  249. send "{@systpre} &aチャット欄に記述して送信してください。"
  250. if clicked slot is 15:
  251. if {infe::stages::%{infe::mapeditor::%player%}%::message6} is "&c未設定":
  252. wrongmessagenumber(player)
  253. else:
  254. set {infe::messagesetter::%player%} to 7
  255. send "{@systpre} &aメッセージ&d7行&a目を設定出来ます。"
  256. send "{@systpre} &aチャット欄に記述して送信してください。"
  257. if clicked slot is 16:
  258. if {infe::stages::%{infe::mapeditor::%player%}%::message7} is "&c未設定":
  259. wrongmessagenumber(player)
  260. else:
  261. set {infe::messagesetter::%player%} to 8
  262. send "{@systpre} &aメッセージ&d8行&a目を設定出来ます。"
  263. send "{@systpre} &aチャット欄に記述して送信してください。"
  264. if clicked slot is 17:
  265. if {infe::stages::%{infe::mapeditor::%player%}%::message8} is "&c未設定":
  266. wrongmessagenumber(player)
  267. else:
  268. set {infe::messagesetter::%player%} to 9
  269. send "{@systpre} &aメッセージ&d9行&a目を設定出来ます。"
  270. send "{@systpre} &aチャット欄に記述して送信してください。"
  271.  
  272.  
  273. on chat:
  274. if {infe::messagesetter::%player%} is set:
  275. set {infe::stages::%{infe::mapeditor::%player%}%::message%{infe::messagesetter::%player%}%} to coloured event-message
  276. send "{@systpre} &7ステージ&r%{infe::mapeditor::%player%}%&7の表示メッセージ&d%{infe::messagesetter::%player%}%行&7目を設定しました。"
  277. delete {infe::messagesetter::%player%}
  278. delete {infe::mapeditor::%player%}
  279.  
  280.  
  281. #ステージ編集メッセージプレビュー関数
  282. function messagepreview(infe.p: player):
  283. close {_infe.p}'s inventory
  284. set {_infe.num} to 0
  285. loop 9 times:
  286. if {infe::stages::%{infe::mapeditor::%{_infe.p}%}%::message%{_infe.num}%} is not "&c未設定":
  287. send "%{infe::stages::%{infe::mapeditor::%{_infe.p}%}%::message%{_infe.num}%}%" to {_infe.p}
  288. loop 3 times:
  289. send "" to {_infe.p}
  290. send "{@systpre} &a以上が&r%{infe::mapeditor::%{_infe.p}%}%&aのメッセージです。" to {_infe.p}
  291.  
  292.  
  293. #ステージ表示メッセージ編集-設定順番ミス警告関数
  294. function wrongmessagenumber(infe.p: player):
  295. format slot 26 of {_infe.p} with red dye named "&4一つ前の行数のメッセージが未設定です。" with lore "&71行目から順番に設定していく必要があります。" to be unstealable
  296. wait 5 second
  297. format slot 26 of {_infe.p} with air to be unstealable
  298.  
  299.  
  300. #ステージ有効化/無効化コマンド
  301. command /stagemanager:
  302. permission: enderK.infection
  303. aliases: /sm
  304. trigger:
  305. open chest with 6 rows named "&6ステージマネージャー"to player
  306. wait 1 tick
  307. set {_infe.num} to 0
  308. loop {infe::stages::*}:
  309. if {infe::stages::%loop-index%::spawn} is set:
  310. if {infe::stages::%loop-index%::time} is set:
  311. if {infe::stages::%loop-index%::message1} is not "&c未設定":
  312. if {infe::stages::%loop-index%::enabled} is true:
  313. set slot {_infe.num} of player's current inventory to emerald block named "%loop-index%"
  314. else:
  315. set slot {_infe.num} of player's current inventory to redstone block named "%loop-index%"
  316. else:
  317. set slot {_infe.num} of player's current inventory to redstone block named "%loop-index%"
  318. else:
  319. set slot {_infe.num} of player's current inventory to redstone block named "%loop-index%"
  320. else:
  321. set slot {_infe.num} of player's current inventory to redstone block named "%loop-index%"
  322.  
  323.  
  324. #ステージマネージャー
  325. on inventory click:
  326. name of player's current inventory is "&6ステージマネージャー"
  327. set {_infe.string} to name of clicked item
  328. if clicked item is emerald block:
  329. delete {infe::stages::%{_infe.string}%::enabled}
  330. close player's inventory
  331. send "{@systpre} &aステージ&r%{_infe.string}%&aを&c無効化&aしました。"
  332. if clicked item is redstone block:
  333. if {infe::stages::%{_infe.string}%::spawn} is set:
  334. if {infe::stages::%{_infe.string}%::time} is set:
  335. if {infe::stages::%{_infe.string}%::message1} is not "&c未設定":
  336. set {infe::stages::%{_infe.string}%::enabled} to true
  337. close player's inventory
  338. send "{@systpre} &aステージ&r%{_infe.string}%&aを&e有効化&aしました。"
  339. else:
  340. close player's inventory
  341. send "{@systpre} &c最低でも1行目のメッセージを設定してください。"
  342. else:
  343. close player's inventory
  344. send "{@systpre} &cステージの制限時間を設定してください。"
  345. else:
  346. close player's inventory
  347. send "{@systpre} &cステージのTP地点を設定してください。"
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement