Guest User

Untitled

a guest
Dec 26th, 2019
166
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 7.01 KB | None | 0 0
  1. on quit:
  2. wait 1 tick
  3. if {oni} is player:
  4. gameplayerwin()
  5. stop
  6. if {onii::*} contains player:
  7. remove player from {onii::*}
  8. stop
  9. if {member::*} contains player:
  10. remove player from {member::*}
  11. if varsize({member::*}) is 0:
  12. gameoniwin()
  13.  
  14. command /join:
  15. trigger:
  16. if {game} is true:
  17. teleport the player to location (1637, 9, 1017)
  18. send "&c現在ゲーム進行中のため、観戦場所に移動します。"
  19. stop
  20. if {member::*} contains player:
  21. send "&cゲームから抜けました。"
  22. remove player from {member::*}
  23. stop
  24. add player to {member::*}
  25. send "&aゲームに参加しました。"
  26. if varsize({member::*}) is {minmember}:
  27. set {time} to 20
  28. loop 20 times:
  29. loop all players:
  30. set action bar of loop-player to "&cゲーム開始まで... &d%{time}%&e秒"
  31. wait 1 second
  32. remove 1 from {time}
  33. gamestart()
  34. else:
  35. gamewait()
  36.  
  37.  
  38. command /setminmember [<number>]:
  39. permission: mirage.hueoni
  40. aliases: /smm
  41. trigger:
  42. if arg-1 is not set:
  43. send "&c数字を記入してください。"
  44. stop
  45. if arg-1 is not number:
  46. send "&c数字を記入してください。"
  47. stop
  48. set {minmember} to arg-1
  49. broadcast "&aゲーム開始最低人数が&d%arg-1%人&aに更新されました。"
  50.  
  51.  
  52. command /setstagespawn:
  53. permission: mirage.hueoni
  54. aliases: /sss
  55. trigger:
  56. set {stagespawn} to location of player
  57. broadcast "&aステージのスポーン場所が更新されました。"
  58.  
  59.  
  60. command /setonispawn:
  61. permission: mirage.hueoni
  62. aliases: /sos
  63. trigger:
  64. set {onispawn} to location of player
  65. broadcast "&a鬼のスポーン場所が更新されました。"
  66.  
  67.  
  68. command /gameend:
  69. permission: mirage.hueoni
  70. trigger:
  71. gameplayerwin()
  72.  
  73.  
  74. function gamewait():
  75. varsize({member::*}) < {minmember}
  76. loop all players:
  77. set action bar of loop-player to "&aゲーム待機中... &6%varsize({member::*})%&b/&6%{minmember}%"
  78. wait 1 second
  79. gamewait()
  80.  
  81.  
  82. function gamestart():
  83. set {game} to true
  84. broadcast "&aゲームを開始します..."
  85. set {oni} to random element out of {member::*}
  86. remove {oni} from {member::*}
  87. broadcast "&a今回の鬼は&c%{oni}%&aです!"
  88. teleport {member::*} to {stagespawn}
  89. teleport {oni} to {onispawn}
  90. loop all players:
  91. if {oni} is loop-player:
  92. set loop-player's gamemode to adventure
  93. set loop-player's tablist name to "&c%loop-player%"
  94. set loop-player's chestplate to leather chestplate
  95. dye loop-player's chestplate red
  96. if {member::*} contains loop-player:
  97. apply speed 2 to loop-player for 8 second
  98. set loop-player's gamemode to adventure
  99. set loop-player's tablist name to "&b%loop-player%"
  100. set {time} to 10
  101. loop 10 times:
  102. loop all players:
  103. set action bar of loop-player to "&c鬼解放まで... &d%{time}%&e秒"
  104. wait 1 second
  105. remove 1 from {time}
  106. broadcast "&b鬼 開放!"
  107. countdown(5 and 0)
  108. command "/fill 1633 8 1011 1656 4 1011 minecraft:air 0 destroy"
  109.  
  110. function gameoniwin():
  111. teleport {onii::*} to location (1641, 5, 1070) in "world"
  112. teleport {member::*} to location (1641, 5, 1070) in "world"
  113. teleport {oni} to location (1641, 5, 1070) in "world"
  114. broadcast "&c鬼側が勝利しました!"
  115. loop all players:
  116. set loop-player's tablist name to "&r%loop-player%"
  117. set loop-player's chestplate to air
  118. send loop-player title "&c鬼の勝利" for 3 second
  119. command "/fill 1633 8 1011 1656 4 1011 minecraft:stained_glass"
  120. delete {oni}
  121. delete {onii::*}
  122. delete {member::*}
  123. delete {game}
  124. delete {time}
  125.  
  126. function gameplayerwin():
  127. teleport {onii::*} to location (1641, 5, 1070) in "world"
  128. teleport {member::*} to location (1641, 5, 1070) in "world"
  129. teleport {oni} to location (1641, 5, 1070) in "world"
  130. broadcast "&aプレイヤー側が勝利しました!"
  131. loop all players:
  132. set loop-player's chestplate to air
  133. set loop-player's tablist name to "&r%loop-player%"
  134. send loop-player title "&aプレイヤーの勝利" for 3 second
  135. command "/fill 1633 8 1011 1656 4 1011 minecraft:stained_glass"
  136. delete {oni}
  137. delete {onii::*}
  138. delete {member::*}
  139. delete {game}
  140. delete {time}
  141.  
  142. function countdown(minute: number, second: number):
  143. while {_minute} is not 0:
  144. if {game} is not true:
  145. stop
  146. if {_second} is 0:
  147. remove 1 from {_minute}
  148. set {_second} to 60
  149. remove 1 from {_second}
  150. loop all players:
  151. set action bar of loop-player to "⦅&5&l残り時間&a&l: &e%{_minute}%&7分&e%{_second}%&7秒⦆"
  152. wait 1 second
  153. if {_minute} is 0:
  154. while {_second} is not 0:
  155. if {game} is not true:
  156. stop
  157. remove 1 from {_second}
  158. loop all players:
  159. set action bar of loop-player to "⦅&5&l残り時間&a&l: &e%{_second}%&7秒⦆"
  160. wait 1 second
  161. if {_second} is 0:
  162. gameplayerwin()
  163.  
  164. on damage of player:
  165. if {member::*} contains attacker:
  166. cancel event
  167. stop
  168. if {oni} is attacker:
  169. if {onii::*} contains victim:
  170. cancel event
  171. stop
  172. if {member::*} contains victim:
  173. remove victim from {member::*}
  174. set victim's tablist name to "&c%victim%"
  175. set victim's chestplate to leather chestplate
  176. dye victim's chestplate red
  177. add victim to {onii::*}
  178. broadcast "&c%victim%&7が%attacker%&7によって感染させられた!"
  179. if varsize({member::*}) is 0:
  180. gameoniwin()
  181. if {onii::*} contains attacker:
  182. if {oni} is victim:
  183. cancel event
  184. stop
  185. if {onii::*} contains victim:
  186. cancel event
  187. stop
  188. if {member::*} contains victim:
  189. remove victim from {member::*}
  190. set victim's tablist name to "&c%victim%"
  191. set victim's chestplate to leather chestplate
  192. dye victim's chestplate red
  193. add victim to {onii::*}
  194. broadcast "&c%victim%&7が%attacker%&7によって感染させられた!"
  195. if varsize({member::*}) is 0:
  196. gameoniwin()
  197.  
  198.  
  199. function varsize(var: objects) :: number:
  200. set {_num} to 0
  201. set {_result} to 0
  202. while {_end} is not set:
  203. add 1 to {_num}
  204. if {_var::%{_num}%} is not set:
  205. set {_end} to true
  206. exit loop
  207. add 1 to {_result}
  208. return {_result}
Advertisement
Add Comment
Please, Sign In to add comment