UDON_JP

BlockHunt

May 3rd, 2020
174
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 19.21 KB | None | 0 0
  1. command /join:
  2. trigger:
  3. if {gamekojosen} is not set:
  4. if {joined::*} contains player:
  5. send "&9《BlockHunt》 &c既に参加しています。"
  6. else:
  7. add player to {joined::*}
  8. give player 1 book named "&eBlockSelector"
  9. broadcast "&9《BlockHunt》&a%player%&bさんが参加。現在&e%size of {joined::*}%&b人。"
  10. if size of {joined::*} = 2:
  11. broadcast "&9《BlockHunt》&b30秒後にゲームを開始します。"
  12. wait 20 second
  13. broadcast "&9《BlockHunt》&b10秒後にゲームを開始します。"
  14. wait 5 second
  15. broadcast "&9《BlockHunt》&b5秒後にゲームを開始します。"
  16. wait 1 second
  17. broadcast "&9《BlockHunt》&b4秒後にゲームを開始します。"
  18. wait 1 second
  19. broadcast "&9《BlockHunt》&b3秒後にゲームを開始します。"
  20. wait 1 second
  21. broadcast "&9《BlockHunt》&b2秒後にゲームを開始します。"
  22. wait 1 second
  23. broadcast "&9《BlockHunt》&b1秒後にゲームを開始します。"
  24. wait 1 second
  25. loop all players:
  26. clear loop-player's inventory
  27. execute console command "/pex user %loop-player% add libsdisguises.undisguise"
  28. execute loop-player command "/undisguise"
  29. execute console command "/pex user %loop-player% remove libsdisguises.undisguise"
  30. set {gamekojosen} to true
  31. gamestart()
  32. else:
  33. send "&9《BlockHunt》&c現在ゲームが始まっています。"
  34.  
  35. command /spect:
  36. trigger:
  37. if {game} is not set:
  38. send "まだ試合が始まっていません"
  39. stop
  40. else:
  41. if {spect::*} contains player:
  42. send "&9《BlockHunt》 &c既に観戦しています。"
  43. else:
  44. add player to {spect::*}
  45. execute console command "/gamemode 3 %player%"
  46. execute console command "/scoreboard players tag %player% add spect"
  47. teleport player to {spawn.hiders}
  48.  
  49. on chat:
  50. if {game} is true:
  51. if {spect::*} contains player:
  52. cancel event
  53. send "&cあなたは観戦者なので発言できません"
  54.  
  55. command /coin [<offline player>]:
  56. trigger:
  57. if arg-1 is set:
  58. send "&e%arg-1%の所持コイン:&6%{coin.%arg-1%}%"
  59. else:
  60. send "&eあなたの所持コイン:&6%{coin.%player%}%"
  61.  
  62. command /blockadd <integer>:
  63. permission: admin
  64. trigger:
  65. add arg-1 to {randomblock::*}
  66. send "%arg-1%を追加しました"
  67.  
  68. command /bhstop:
  69. permission: admin
  70. trigger:
  71. loop {hider::*}:
  72. teleport loop-value to {spawn.lobby}
  73. loop {seeker::*}:
  74. teleport loop-value to {spawn.lobby}
  75. delete {hider::*}
  76. delete {seeker::*}
  77. delete {joined::*}
  78. delete {game}
  79. delete {gamekojosen}
  80. loop all players:
  81. delete {second.%loop-player%}
  82. delete {seekkill.%loop-player%}
  83. delete {escapetime.%loop-player%}
  84. delete {minion::*}
  85. loop {spect::*}:
  86. execute console command "/gamemode 2 %loop-value%"
  87. teleport loop-value to {spawn.lobby}
  88. delete {spect::*}
  89.  
  90. function gamestart():
  91. set {timer} to 300
  92. set {seeker::*} to random player of {joined::*}
  93. remove {seeker::*} from {joined::*}
  94. set {hider::*} to {joined::*}
  95. remove {hider::*} from {joined::*}
  96. set {game} to true
  97. delete {joined::*}
  98. execute console command "/effect @a minecraft:saturation 32767 0 true"
  99. execute console command "/effect @a minecraft:instant_health 1 10 true"
  100. execute console command "/gamemode 2 @a"
  101. loop {seeker::*}:
  102. teleport loop-value to {spawn.seekers}
  103. execute console command "/give %loop-value% minecraft:diamond_sword"
  104. if {hideblock.%loop-value%} = 140:
  105. add 500 to {coin.%loop-value%}
  106. send "&c花瓶を買ってSeekerになったため返金しました。" to loop-value
  107. loop {hider::*}:
  108. teleport loop-value to {spawn.hiders}
  109. execute console command "/pex user %loop-value% add libsdisguises.disguise.*"
  110. execute loop-value command "/dis Falling_Block setBlock %{hideblock.%loop-value%}%"
  111. execute console command "/pex user %loop-value% remove libsdisguises.disguise.*"
  112. if {hideblock.%loop-value%} = 140:
  113. add player to {_p}
  114. set max health of {_p} to 10
  115. broadcast "&9《BlockHunt》&b30秒後に&6Seeker&bが放出されます!"
  116. wait 20 second
  117. broadcast "&9《BlockHunt》&b10秒後に&6Seeker&bが放出されます!"
  118. wait 5 second
  119. broadcast "&9《BlockHunt》&b5秒後に&6Seeker&bが放出されます!"
  120. wait 1 second
  121. broadcast "&9《BlockHunt》&b4秒後に&6Seeker&bが放出されます!"
  122. wait 1 second
  123. broadcast "&9《BlockHunt》&b3秒後に&6Seeker&bが放出されます!"
  124. wait 1 second
  125. broadcast "&9《BlockHunt》&b2秒後に&6Seeker&bが放出されます!"
  126. wait 1 second
  127. broadcast "&9《BlockHunt》&b1秒後に&6Seeker&bが放出されます!"
  128. wait 1 second
  129. loop {seeker::*}:
  130. teleport loop-value to {spawn.hiders}
  131. broadcast "&9《BlockHunt》&6Seeker&bが放出されました!"
  132. gamebar()
  133.  
  134. function gameend():
  135. loop {hider::*}:
  136. teleport loop-value to {spawn.lobby}
  137. loop {seeker::*}:
  138. teleport loop-value to {spawn.lobby}
  139. loop {minion::*}:
  140. teleport loop-value to {spawn.lobby}
  141. delete {hider::*}
  142. delete {seeker::*}
  143. delete {game}
  144. delete {gamekojosen}
  145. delete {timer}
  146. execute console command "/gamemode 2 @a"
  147. loop all players:
  148. clear loop-player's inventory
  149. execute console command "/pex user %loop-player% add libsdisguises.undisguise"
  150. execute loop-player command "/undisguise"
  151. execute console command "/pex user %loop-player% remove libsdisguises.undisguise"
  152. delete {seekkill.%loop-player%}
  153. delete {escapetime.%loop-player%}
  154. delete {second.%loop-player%}
  155. set {hidesetblock.%loop-player%} to "cobblestone"
  156. set {hideblock.%loop-player%} to 4
  157. delete {minion::*}
  158. loop {spect::*}:
  159. execute console command "/gamemode 2 %loop-value%"
  160. execute console command "/scoreboard players tag %loop-value% remove spect"
  161. teleport loop-value to {spawn.lobby}
  162. delete {spect::*}
  163.  
  164. command /spawnhider:
  165. permission: admin
  166. trigger:
  167. set {spawn.hiders} to player's location
  168. send "&bセットしました"
  169.  
  170. command /spawnseeker:
  171. permission: admin
  172. trigger:
  173. set {spawn.seekers} to player's location
  174. send "&bセットしました"
  175.  
  176. command /spawnlobby:
  177. permission: admin
  178. trigger:
  179. set {spawn.lobby} to player's location
  180. send "&bセットしました"
  181.  
  182. on right click:
  183. name of player's tool is "&eBlockSelector"
  184. wait 1 tick
  185. open chest with 1 rows named "&eBlockSelector" to player
  186. set slot 0 of player's current inventory to cobblestone named "&7丸石"
  187. set slot 1 of player's current inventory to crafting table named "&7作業台"
  188. set slot 2 of player's current inventory to furnace named "&7かまど"
  189. set slot 3 of player's current inventory to iron block named "&7鉄ブロック"
  190. set slot 4 of player's current inventory to bookshelf named "&7本棚"
  191. set slot 5 of player's current inventory to quartz block named "&7クォーツブロック"
  192. set slot 6 of player's current inventory to brick block named "&7レンガ"
  193. set slot 6 of player's current inventory to flower pot named "&7花瓶(&6500coin&7)"
  194. on right click:
  195. name of player's tool is "&cCosmestics"
  196. wait 1 tick
  197. open chest with 1 rows named "&cCosmestics" to player
  198. set slot 2 of player's current inventory to iron sword named "&4キルエフェクト"
  199. set slot 4 of player's current inventory to player head named "&b頭"
  200. set slot 6 of player's current inventory to player head named "&eガチャ"
  201.  
  202. on inventory click:
  203. cancel event
  204. if name of clicked item is "&7丸石":
  205. send "&7丸石&bを選択しました。"
  206. set {hidesetblock.%player%} to "cobblestone"
  207. set {hideblock.%player%} to 4
  208. if name of clicked item is "&7作業台":
  209. send "&7作業台&bを選択しました。"
  210. set {hidesetblock.%player%} to "crafting_table"
  211. set {hideblock.%player%} to 58
  212. if name of clicked item is "&7かまど":
  213. send "&7かまど&bを選択しました。"
  214. set {hidesetblock.%player%} to "furnace"
  215. set {hideblock.%player%} to 61
  216. if name of clicked item is "&7鉄ブロック":
  217. send "&7鉄ブロック&bを選択しました。"
  218. set {hidesetblock.%player%} to "iron_block"
  219. set {hideblock.%player%} to 42
  220. if name of clicked item is "&7本棚":
  221. send "&7本棚&bを選択しました。"
  222. set {hidesetblock.%player%} to "bookshelf"
  223. set {hideblock.%player%} to 47
  224. if name of clicked item is "&7クォーツブロック":
  225. send "&7クォーツブロック&bを選択しました。"
  226. set {hidesetblock.%player%} to "quartz_block"
  227. set {hideblock.%player%} to 155
  228. if name of clicked item is "&7レンガ":
  229. send "&7レンガ&bを選択しました。"
  230. set {hidesetblock.%player%} to "brick_block"
  231. set {hideblock.%player%} to 45
  232. if name of clicked item is "&7花瓶(&6500coin&7)":
  233. if {coin.%player%} > 499:
  234. remove 500 from {coin.%player%}
  235. send "&6500coin&7で花瓶&bを選択しました。"
  236. set {hidesetblock.%player%} to "flower_pot"
  237. set {hideblock.%player%} to 140
  238. else:
  239. send "&ccoinが足りません。"
  240. if name of clicked item is "&4キルエフェクト":
  241. open chest with 1 rows named "&4キルエフェクト" to player
  242. set slot 0 of player's current inventory to redstone named "&4血が飛び散る"
  243. if name of clicked item is "&b頭":
  244. open chest with 3 rows named "&b頭" to player
  245. set slot 1 of player's current inventory to red dye named "&8リセット"
  246. set slot 1 of player's current inventory to netherrack named "&cネザーラック"
  247. set slot 2 of player's current inventory to end stone named "&eエンドストーン"
  248. set slot 3 of player's current inventory to snow named "&f雪"
  249. set slot 4 of player's current inventory to glass named "&fガラス"
  250. set slot 5 of player's current inventory to tnt named "&4TNT"
  251. if name of clicked item is "&4TNT":
  252. if {head::*.%player%} contains "tnt":
  253. set {head.%player%} to "tnt"
  254. send "&b頭を&4TNT&bにセットしました!" to player
  255. else:
  256. send "&cあなたは対象の頭を所持していません!"
  257. if name of clicked item is "&fガラス":
  258. if {head::*.%player%} contains "glass":
  259. set {head.%player%} to "glass"
  260. send "&b頭を&fガラス&bにセットしました!" to player
  261. else:
  262. send "&cあなたは対象の頭を所持していません!"
  263. if name of clicked item is "&f雪":
  264. if {head::*.%player%} contains "snow":
  265. set {head.%player%} to "snow"
  266. send "&b頭を&f雪&bにセットしました!" to player
  267. else:
  268. send "&cあなたは対象の頭を所持していません!"
  269. if name of clicked item is "&cネザーラック":
  270. if {head::*.%player%} contains "netherrack":
  271. set {head.%player%} to "netherrack"
  272. send "&b頭を&cネザーラック&bにセットしました!" to player
  273. else:
  274. send "&cあなたは対象の頭を所持していません!"
  275. if name of clicked item is "&eエンドストーン":
  276. if {head::*.%player%} contains "end stone":
  277. set {head.%player%} to "end stone"
  278. send "&b頭を&eエンドストーン&bにセットしました!" to player
  279. else:
  280. send "&cあなたは対象の頭を所持していません!"
  281. if name of clicked item is &8リセット":
  282. delete {head.%player%}
  283. send "&a頭をリセットしました"
  284.  
  285. on join:
  286. teleport player to {spawn.lobby}
  287. clear player's inventory
  288. execute console command "/pex user %player% add music.radio"
  289. execute player command "/music radio on"
  290. set {hidesetblock.%player%} to "cobblestone"
  291. set {hideblock.%player%} to 4
  292.  
  293. on quit:
  294. if {hider::*} contains player:
  295. remove player from {hider::*}
  296. if size of {hider::*} = 0:
  297. loop all players:
  298. send title "&6Seekerの勝利!" to loop-player
  299. gameend()
  300. if {seeker::*} contains player:
  301. remove player from {seeker::*}
  302. if size of {seeker::*} = 0:
  303. loop all players:
  304. send title "&bHiderの勝利!" to loop-player
  305. gameend()
  306. if {joined::*} contains player:
  307. remove player from {joined::*}
  308. broadcast "&9《BlockHunt》&a%player%&bさんが退出。現在&e%size of {joined::*}%&b人。"
  309.  
  310. command /stoptime <integer>:
  311. permission: admin
  312. trigger:
  313. set {stoptime} to arg-1
  314. send "&cサーバー残り時間を%arg-1%秒にセットしました"
  315.  
  316. every second:
  317. if {stoptime} is set:
  318. remove 1 from {stoptime}
  319. loop all players:
  320. set action bar of loop-player to "&cサーバー停止まで:%{stoptime}%"
  321. if {stoptime} = 0:
  322. execute console command "/stop"
  323. delete {stoptime}
  324. if {game} is true:
  325.  
  326. remove 1 from {timer}
  327. loop {seeker::*}:
  328. loop all players in radius 10 around loop-value:
  329. {hider::*} contains loop-player
  330. add 1 to {escapetime.%loop-player%}
  331. execute console command "/execute %loop-player% ~ ~ ~ /playsound block.note.basedrum master %loop-player% ~ ~ ~ 5 1"
  332. wait 2 tick
  333. execute console command "/execute %loop-player% ~ ~ ~ /playsound block.note.basedrum master %loop-player% ~ ~ ~ 5 0"
  334. gamebar()
  335. if {timer} = 0:
  336. loop all players:
  337. send title "&bHiderの勝利!" to loop-player
  338. loop {hider::*}:
  339. add 100 to {_coinnow.%loop-value%}
  340. add {escapetime.%loop-value%} * 5 to {_coinnow.%loop-value%}
  341. send "&9<&b--------------------&9BlockHunt&b--------------------&9>" to loop-value
  342. send " &6獲得コイン:&e%{_coinnow.%loop-value%}%" to loop-value
  343. send " &aチェイス時間:&7%{escapetime.%loop-value%}%" to loop-value
  344. send "&9<&b-------------------------------------------------&9>" to loop-value
  345. add {_coinnow.%loop-value%} to {coin.%loop-value%}
  346. loop {minion::*}:
  347. add 25 to {_coinnow.%loop-value%}
  348. remove loop-value from {seeker::*}
  349. add {seekkill.%loop-value%} * 10 to {_coinnow.%loop-value%}
  350. send "&9<&b--------------------&9BlockHunt&b--------------------&9>" to loop-value
  351. send " &6獲得コイン:&e%{_coinnow.%loop-value%}%" to loop-value
  352. send " &cキル数:&7%{seekkill.%loop-value%}%" to loop-value
  353. send "&9<&b-------------------------------------------------&9>" to loop-value
  354. add {_coinnow.%loop-value%} to {coin.%loop-value%}
  355. loop {seeker::*}:
  356. add 50 to {_coinnow.%loop-value%}
  357. add {seekkill.%loop-value%} * 10 to {_coinnow.%loop-value%}
  358. send "&9<&b--------------------&9BlockHunt&b--------------------&9>" to loop-value
  359. send " &6獲得コイン:&e%{_coinnow.%loop-value%}%" to loop-value
  360. send " &cキル数:&7%{seekkill.%loop-value%}%" to loop-value
  361. send "&9<&b-------------------------------------------------&9>" to loop-value
  362. add {_coinnow.%loop-value%} to {coin.%loop-value%}
  363. gameend()
  364.  
  365. on death of player:
  366. if {game} is true:
  367. force respawn victim
  368. if {seeker::*} contains attacker:
  369. add 1 to {seekkill.%attacker%}
  370. if {killeffect.%attacker%} is set:
  371. if {killeffect.%attacker%} = 152:
  372. execute console command "/execute %victim% ~ ~ ~ /particle blockcrack ~ ~1 ~ 0.5 0.5 0.5 0 100 0 @a 152"
  373. execute console command "/execute %victim% ~ ~ ~ /playsound minecraft:block.stone.break master @a ~ ~ ~ 1"
  374. if {seeker::*} contains victim:
  375. teleport victim to {spawn.hiders}
  376. if {hider::*} contains victim:
  377. remove victim from {hider::*}
  378. add victim to {seeker::*}
  379. add victim to {minion::*}
  380. teleport victim to {spawn.hiders}
  381. execute console command "/pex user %victim% add libsdisguises.undisguise"
  382. execute victim command "/undisguise"
  383. execute console command "/pex user %victim% remove libsdisguises.undisguise"
  384. wait 3 tick
  385. execute console command "/give %victim% minecraft:diamond_sword"
  386. gamebar()
  387. if size of {hider::*} = 0:
  388. loop all players:
  389. send title "&6Seekerの勝利!" to loop-player
  390. loop {hider::*}:
  391. add 50 to {_coinnow.%loop-value%}
  392. add {escapetime.%loop-value%} * 5 to {_coinnow.%loop-value%}
  393. send "&9<&b--------------------&9BlockHunt&b--------------------&9>" to loop-value
  394. send " &6獲得コイン:&e%{_coinnow.%loop-value%}%" to loop-value
  395. send " &aチェイス時間:&7%{escapetime.%loop-value%}%" to loop-value
  396. send "&9<&b-------------------------------------------------&9>" to loop-value
  397. add {_coinnow.%loop-value%} to {coin.%loop-value%}
  398. loop {minion::*}:
  399. add 50 to {_coinnow.%loop-value%}
  400. add {seekkill.%loop-value%} * 10 to {_coinnow.%loop-value%}
  401. remove loop-value from {seeker::*}
  402. send "&9<&b--------------------&9BlockHunt&b--------------------&9>" to loop-value
  403. send " &6獲得コイン:&e%{_coinnow.%loop-value%}%" to loop-value
  404. send " &cキル数:&7%{seekkill.%loop-value%}%" to loop-value
  405. send "&9<&b-------------------------------------------------&9>" to loop-value
  406. add {_coinnow.%loop-value%} to {coin.%loop-value%}
  407. loop {seeker::*}:
  408. add 100 to {_coinnow.%loop-value%}
  409. add {seekkill.%loop-value%} * 10 to {_coinnow.%loop-value%}
  410. send "&9<&b--------------------&9BlockHunt&b--------------------&9>" to loop-value
  411. send " &6獲得コイン:&e%{_coinnow.%loop-value%}%" to loop-value
  412. send " &cキル数:&7%{seekkill.%loop-value%}%" to loop-value
  413. send "&9<&b-------------------------------------------------&9>" to loop-value
  414. add {_coinnow.%loop-value%} to {coin.%loop-value%}
  415. gameend()
  416.  
  417. function gamebar():
  418. loop all players:
  419. wipe loop-player's sidebar
  420. set name of sidebar of loop-player to "&e------&9&lBlock&6&lHunt&e------"
  421. set score "&f&lYou Name" in sidebar of loop-player to 15
  422. set score "&7%loop-player's name%" in sidebar of loop-player to 14
  423. set score "&b&lHider" in sidebar of loop-player to 13
  424. set score "&a&7%size of {hider::*}%" in sidebar of loop-player to 12
  425. set score "&6&lSeeker" in sidebar of loop-player to 11
  426. set score "&7%size of {seeker::*}%" in sidebar of loop-player to 10
  427. set score "&8&lTime" in sidebar of loop-player to 9
  428. set score "&e&7%{timer}%" in sidebar of loop-player to 8
  429. set score "&e-----------------------" in sidebar of loop-player to 7
  430.  
  431. on damage:
  432. damage cause is fall:
  433. cancel the event
  434. if {game} is true:
  435. if {hider::*} contains victim:
  436. if {seeker::*} contains attacker:
  437. execute console command "/execute %victim% ~ ~ ~ /playsound entity.cat.hurt master @a ~ ~ ~ 1 1"
  438. else:
  439. cancel event
  440. if {seeker::*} contains victim:
  441. if {seeker::*} contains victim:
  442. cancel event
  443.  
  444. on drop:
  445. cancel event
Add Comment
Please, Sign In to add comment