7mm

Skript: FieldGetter

7mm
Mar 10th, 2019
489
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 47.60 KB | None | 0 0
  1. # Field Getter Skript Code
  2. # 作成者: Malb7mm
  3.  
  4. #/fgp 1
  5. #/fgp 2
  6. #/fgptauto add <id>
  7. #/fgp 1
  8. #/fgp 2
  9. #/fgopt <id> fill
  10. #/fgopt <id> fillid <block>
  11. #/fgopt <id> icon <block>
  12. #/fgp 0
  13. #/fgopt <id> spawn <block>
  14. #/fgopt <id> name <text>
  15. #/fgopt <id> time <number>
  16. #/fgopt <id> text <text>
  17. #/fgopt <id> made <text>
  18. #/fgopt <id> type
  19. #/fgm stat <id>
  20. #/fgm add <id>
  21.  
  22. on load:
  23. command "difficulty 0"
  24. set {fg::shortcut::types::1} to iron block
  25. set {fg::shortcut::types::2} to gold block
  26. set {fg::shortcut::types::3} to diamond block
  27.  
  28. on join:
  29. command "gamemode 2 %player%"
  30. command "/scoreboard players set %player% score -1"
  31. if {serverjoin::%player%} is not set:
  32. command "execute @a ~ ~ ~ playsound entity.player.levelup master @s ~ ~ ~ 1 0.5"
  33. set join message to "&2&lEntrance&f: &dFirstJoin: %player%"
  34. add 1 to {serverjoin::%player%}
  35. stop
  36. add 1 to {serverjoin::%player%}
  37. command "execute @a ~ ~ ~ playsound entity.player.levelup master @s"
  38. set join message to "&2&lEntrance&f: &eJoin: %player%"
  39. if mod({lbwar.player.join::%player%},50) is 0:
  40. broadcast "&6&l%{lbwar.player.join::%player%}%th Join!"
  41.  
  42. every second:
  43. loop all players:
  44. if {fg::player::%loop-player%::level} is not set:
  45. set {fg::player::%loop-player%::level} to 1
  46. set {fg::player::%loop-player%::exp} to 0
  47. heal loop-player
  48.  
  49. on quit:
  50. set quit message to "&2&lEntrance&f: &cQuit: %player%"
  51. command "execute @a ~ ~ ~ playsound entity.creeper.primed master @s"
  52. remove player from {fg::game::join::*}
  53. clear {fg::game::score::%player%}
  54.  
  55. command /autojoin <boolean>:
  56. trigger:
  57. set {fg::player::%player%::opt::autojoin} to arg 1
  58. message "&b&lFG_System&f: &6自動参加を%arg 1%にしました"
  59.  
  60. command /fgspawn:
  61. permission: fieldgetter.fgspawn
  62. trigger:
  63. set {fg::shortcut::spawn} to player's location
  64.  
  65. command /fgp <integer>:
  66. permission: fieldgetter.fgp
  67. trigger:
  68. set {fg::adm::%player%::pos%arg 1%} to location of player's target block
  69.  
  70. command /fgopt <text> <text> [<text>]:
  71. permission: fieldgetter.fgopt
  72. trigger:
  73. if arg 2 is "fill":
  74. set {fg::sys.field::%arg 1%::pos1} to {fg::adm::%player%::pos1}
  75. set {fg::sys.field::%arg 1%::pos2} to {fg::adm::%player%::pos2}
  76. if arg 2 is "fillexec":
  77. message {fg::sys.field::%arg 1%::fillid}
  78. loop blocks within {fg::sys.field::%arg 1%::pos1} to {fg::sys.field::%arg 1%::pos2}:
  79. set {_loc} to location of loop-block
  80. set block at {_loc} to {fg::sys.field::%arg 1%::fillid}
  81. if arg 2 is "fillid":
  82. set {fg::sys.field::%arg 1%::fillid} to player's held item
  83. if arg 2 is "icon":
  84. set {fg::sys.field::%arg 1%::icon} to player's held item
  85. if arg 2 is "name":
  86. set {fg::sys.field::%arg 1%::name} to arg 3
  87. if arg 2 is "time":
  88. set {fg::sys.field::%arg 1%::time} to arg 3 parsed as integer
  89. if arg 2 is "spawn":
  90. set {fg::sys.field::%arg 1%::spawn} to {fg::adm::%player%::pos0}
  91. if arg 2 is "type":
  92. clear {fg::sys.field::%arg 1%::type-quant.1}
  93. clear {fg::sys.field::%arg 1%::type-quant.2}
  94. clear {fg::sys.field::%arg 1%::type-quant.3}
  95. clear {fg::sys.field::%arg 1%::point-quant}
  96. clear {fg::sys.field::%arg 1%::score-quant}
  97. loop {fg::sys.field::%arg 1%::type::*}:
  98. add 1 to {fg::sys.field::%arg 1%::type-quant.%loop-value%}
  99. add 1 to {fg::sys.field::%arg 1%::point-quant}
  100. if loop-value is 1:
  101. add 1 to {fg::sys.field::%arg 1%::score-quant}
  102. if loop-value is 2:
  103. add 4 to {fg::sys.field::%arg 1%::score-quant}
  104. if loop-value is 3:
  105. add 12 to {fg::sys.field::%arg 1%::score-quant}
  106. if arg 2 is "text":
  107. set {fg::sys.field::%arg 1%::text} to arg 3
  108. if arg 2 is "made":
  109. set {fg::sys.field::%arg 1%::made} to arg 3
  110.  
  111. command /fgpt <text> <text>:
  112. permission: fieldgetter.fgpt
  113. trigger:
  114. if arg 1 is "add":
  115. if player's target block is iron block:
  116. add 1 to {fg::sys.field::%arg 2%::type::*}
  117. else if player's target block is gold block:
  118. add 2 to {fg::sys.field::%arg 2%::type::*}
  119. else if player's target block is diamond block:
  120. add 3 to {fg::sys.field::%arg 2%::type::*}
  121. else:
  122. stop
  123. add location of player's target block to {fg::sys.field::%arg 2%::point::*}
  124. if arg 1 is "remove":
  125. loop {fg::sys.field::%arg 2%::point::*}:
  126. loop-value is location of player's target block
  127. clear {fg::sys.field::%arg 2%::point::%loop-index%}
  128. clear {fg::sys.field::%arg 2%::type::%loop-index%}
  129. if arg 1 is "clear":
  130. clear {fg::sys.field::%arg 2%::point::*}
  131. clear {fg::sys.field::%arg 2%::type::*}
  132. if arg 1 is "list":
  133. message "&7&nPoint List of %arg 2%"
  134. loop {fg::sys.field::%arg 2%::point::*}:
  135. message "&b%{fg::sys.field::%arg 2%::point::%loop-index%}%: &e%{fg::sys.field::%arg 2%::type::%loop-index%}%"
  136. if arg 1 is "show":
  137. if {fg::sys.field::%arg 2%::point.quant} > 0:
  138. loop {fg::sys.field::%arg 2%::point.quant} times:
  139. holoDelete("fgshow.%loop-number%")
  140. set {fg::sys.field::%arg 2%::point.quant} to 0
  141. loop {fg::sys.field::%arg 2%::point::*}:
  142. add 1 to {_cnt}
  143. set {_lv} to loop-value
  144. add 0.3 to y-coord of {_lv}
  145. holoCreate("fgshow.%{_cnt}%",{_lv})
  146. if {fg::sys.field::%arg 2%::type::%loop-index%} is 1:
  147. holoLineAdd("fgshow.%{_cnt}%","&lIron")
  148. if {fg::sys.field::%arg 2%::type::%loop-index%} is 2:
  149. holoLineAdd("fgshow.%{_cnt}%","&lGold")
  150. if {fg::sys.field::%arg 2%::type::%loop-index%} is 3:
  151. holoLineAdd("fgshow.%{_cnt}%","&lDiamond")
  152. add 1 to {fg::sys.field::%arg 2%::point.quant}
  153. if arg 1 is "hide":
  154. {fg::sys.field::%arg 2%::point.quant} > 0
  155. loop {fg::sys.field::%arg 2%::point.quant} times:
  156. holoDelete("fgshow.%loop-number%")
  157. clear {fg::sys.field::%arg 2%::point.quant}
  158.  
  159. command /fgptauto <text> <text>:
  160. permission: fieldgetter.fgpt
  161. trigger:
  162. if arg 1 is "add":
  163. loop blocks within {fg::adm::%player%::pos1} to {fg::adm::%player%::pos2}:
  164. add 1 to {_cnt}
  165. if mod({_cnt},100000) is 0:
  166. wait a tick
  167. set {_skip} to false
  168. if loop-block is iron block:
  169. add 1 to {fg::sys.field::%arg 2%::type::*}
  170. else if loop-block is gold block:
  171. add 2 to {fg::sys.field::%arg 2%::type::*}
  172. else if loop-block is diamond block:
  173. add 3 to {fg::sys.field::%arg 2%::type::*}
  174. else:
  175. set {_skip} to true
  176. {_skip} is false
  177. add location of loop-block to {fg::sys.field::%arg 2%::point::*}
  178. message "処理が完了しました"
  179. if arg 1 is "remove":
  180. loop blocks within {fg::adm::%player%::pos1} to {fg::adm::%player%::pos2}:
  181. add 1 to {_cnt}
  182. if mod({_cnt},100000) is 0:
  183. wait a tick
  184. loop {fg::sys.field::%arg 2%::point::*}:
  185. loop-value-2 is location of loop-block
  186. clear {fg::sys.field::%arg 2%::point::%loop-index%}
  187. clear {fg::sys.field::%arg 2%::type::%loop-index%}
  188. message "処理が完了しました"
  189.  
  190. command /sp:
  191. trigger:
  192. {fg::game::stat} is "game"
  193. {fg::game::join::*} contains player
  194. set {_loc} to player's location
  195. teleport player to {fg::sys.field::%{fg::game::map}%::spawn}
  196. message "&b&lFG_System&f: &aスポーンへ戻りました"
  197. message "&7&l%player%さんがスポーンへ戻りました(%{_loc}%)"
  198.  
  199. command /fgg <text> [<text>]:
  200. permission: fieldgetter.fgg
  201. trigger:
  202. if arg 1 is "stop":
  203. broadcast "&b&lFG_System&f: &c&lコマンドによりゲームが強制停止しました"
  204. set {fg::game::stop} to true
  205. if arg 1 is "start":
  206. if {fg::game::stat} is not "end":
  207. broadcast "&b&lFG_System&f: &c&l前回正常に終了できていないため終了処理を行います"
  208. command "fgg oendprcs"
  209. stop
  210. broadcast "&b&lFG_System&f: &e&l参加者の募集を開始します"
  211. clear {fg::game::join::*}
  212. loop all players:
  213. {fg::player::%loop-player%::opt::autojoin} is true
  214. message "&b&lFG_System&f: &d自動参加しました" to loop-player
  215. add loop-player to {fg::game::join::*}
  216. command "/fgg countdown"
  217. if arg 1 is "countdown":
  218. set {_cnt} to 30
  219. set {fg::game::stat} to "standby"
  220. set {fg::game::join-quant} to size of {fg::game::join::*}
  221. while {fg::game::join-quant} < 2:
  222. set {fg::game::join-quant} to size of {fg::game::join::*}
  223. send action bar with "&6&l参加者募集中 &d&l/fj &6で参加できます &b&l%{fg::game::join-quant}%人参加中" to all players
  224. if {fg::game::stop} is true:
  225. exit loop
  226. wait a second
  227. if {fg::game::stop} is true:
  228. set {fg::game::stop} to false
  229. set {fg::game::stat} to "end"
  230. stop
  231. broadcast "&b&lFG_System&f: &e&l募集時間が残り30秒になりました"
  232. command "execute @a ~ ~ ~ playsound block.sand.step master @s"
  233. while {_cnt} >= 0:
  234. set {fg::game::join-quant} to size of {fg::game::join::*}
  235. loop all players:
  236. if {fg::game::join::*} contains loop-player:
  237. send action bar with "&6&l参加中 &a残り%{_cnt}%秒 &b&l%{fg::game::join-quant}%人参加中" to loop-player
  238. else:
  239. if mod({_cnt},4) > 1:
  240. send action bar with "&6&l参加者募集中 &a残り%{_cnt}%秒 &b&l%{fg::game::join-quant}%人参加中" to loop-player
  241. else:
  242. send action bar with "&d&l/fj &6で参加できます" to loop-player
  243. if {_cnt} is 5:
  244. {fg::player::%loop-player%::opt::autojoin} is true
  245. message "&b&lFG_System&f: &d自動参加しました" to loop-player
  246. add loop-player to {fg::game::join::*}
  247. if {_cnt} < 3:
  248. command "execute @a ~ ~ ~ playsound block.note.pling master @s ~ ~ ~ 0.5"
  249. if {fg::game::join-quant} < 2:
  250. broadcast "&b&lFG_System&f: &e&l参加人数が2人を下回ったためカウントダウンを停止しました"
  251. set {_cnt} to -1
  252. if {fg::game::stop} is true:
  253. exit loop
  254. add -1 to {_cnt}
  255. wait a second
  256. if {fg::game::stop} is true:
  257. set {fg::game::stop} to false
  258. set {fg::game::stat} to "end"
  259. stop
  260. if {_cnt} is -2:
  261. command "/fgg countdown"
  262. stop
  263. set {fg::game::stat} to "ready"
  264. broadcast "&b&lFG_System&f: &eマップの抽選を行います"
  265. wait 5 ticks
  266. loop {fg::game::join::*}:
  267. {fg::player::%loop-value%::opt::beststage} is set
  268. {fg::player::%loop-value%::opt::beststage} is not {fg::sys::lastmap}
  269. broadcast "&7&l確率アップ! &f&l【%coloured {fg::sys.field::%{fg::player::%loop-value%::opt::beststage}%::name}%】&e(by %loop-value%)"
  270. wait 3 second
  271. loop 2 times:
  272. loop {fg::sys::maps::*}:
  273. {_maps::%loop-index%} is not {fg::sys::lastmap}
  274. add loop-value-2 to {_maps::*}
  275. loop {fg::game::join::*}:
  276. {fg::player::%loop-value%::opt::beststage} is set
  277. {fg::player::%loop-value%::opt::beststage} is not {fg::sys::lastmap}
  278. add {fg::player::%loop-value%::opt::beststage} to {_maps::*}
  279. set {_map} to random element of {_maps::*}
  280. set {fg::sys::lastmap} to {_map}
  281. set {fg::game::map} to {_map}
  282. set {_time} to {fg::sys.field::%{_map}%::time}
  283. set {_pls} to number of {fg::game::join::*}
  284. remove 2 from {_pls}
  285. if number of {fg::game::join::*} > 0:
  286. set {_pls} to {_pls}*0.05
  287. if {_pls} > 0.5:
  288. set {_pls} to 0.5
  289. remove {_time}*{_pls} from {_time}
  290. set {_time} to floor({_time})
  291. broadcast "&b&lFG_System&f: &eマップが決まりました!"
  292. broadcast "&6&lMAP - &b&l"" %colored {fg::sys.field::%{_map}%::name}% &b&l"""
  293. broadcast "&6&lCreator: %{fg::sys.field::%{_map}%::made}%"
  294. broadcast colored {fg::sys.field::%{_map}%::text}
  295. broadcast "&6ポイント内訳 &f鉄 &lx%{fg::sys.field::%{_map}%::type-quant.1}% &e金 &lx%{fg::sys.field::%{_map}%::type-quant.2}% &bダイヤ &lx%{fg::sys.field::%{_map}%::type-quant.3}% &6計 &l%{fg::sys.field::%{_map}%::point-quant}%ポイント &6&n( %{fg::sys.field::%{_map}%::score-quant}%点 )"
  296. broadcast "&6&l制限時間 &c&l%{_time}%&6&l秒"
  297. wait a second
  298. broadcast "&b&lFG_System&f: &eテレポートします・・・・・・"
  299. wait a second
  300. loop {fg::game::join::*}:
  301. set {_p} to "%loop-value%" parsed as player
  302. {_p} is a player
  303. teleport {_p} to {fg::sys.field::%{_map}%::spawn}
  304. command "gamemode 2 %loop-value%"
  305. command "clear %loop-value%"
  306. wait a second
  307. set {_cnt} to 5
  308. while {_cnt} > 0:
  309. broadcast "&b&lFG_System&f: &e開始まで &c&l%{_cnt}%秒"
  310. command "execute @a ~ ~ ~ playsound ui.button.click master @s"
  311. add -1 to {_cnt}
  312. wait second
  313. broadcast "&b&lFG_System&f: &e&lゲーム開始!"
  314. command "scoreboard players set %{fg::game::join::*}% score 0"
  315. set {fg::game::stat} to "game"
  316. command "execute @a ~ ~ ~ playsound entity.generic.explode master @s"
  317. loop blocks within {fg::sys.field::%{_map}%::pos1} to {fg::sys.field::%{_map}%::pos2}:
  318. set block at location of loop-block to {fg::sys.field::%{_map}%::fillid}
  319. clear {fg::game::pointstat::*}
  320. clear {fg::game::score::*}
  321. loop {fg::game::join::*}:
  322. set {fg::game::score::%loop-value%} to 0
  323. set {fg::game::pointremain} to {fg::sys.field::%{_map}%::point-quant}
  324. set {_cnt} to {_time}
  325. while {_cnt} >= 0:
  326. loop all players:
  327. if {fg::game::join::*} contains loop-player:
  328. send action bar with "&a残り%{_cnt}%秒 &6現在%{fg::game::score::%loop-value%}%点 &b残り%{fg::game::pointremain}%ポイント" to loop-player
  329. else if {fg::game::spec::*} contains loop-player:
  330. send action bar with "&a残り%{_cnt}%秒 &6(観戦中です) &b残り%{fg::game::pointremain}%ポイント" to loop-player
  331. else:
  332. send action bar with "&a残り%{_cnt}%秒 &6(参加していません) &b残り%{fg::game::pointremain}%ポイント" to loop-player
  333. command "scoreboard players set %loop-value% score %{fg::game::score::%loop-value%}%"
  334. if mod({_cnt},60) = 0:
  335. {_cnt} is not 0
  336. command "execute @a ~ ~ ~ playsound ui.button.click master @s"
  337. broadcast "&b&lFG_System&f: &c&l残り%{_cnt}%秒"
  338. if {_cnt} <= 10:
  339. command "execute @a ~ ~ ~ playsound ui.button.click master @s"
  340. {_cnt} = 10
  341. broadcast "&b&lFG_System&f: &c&l残り10秒"
  342. loop 20 times:
  343. loop {fg::game::join::*}:
  344. if {fg::shortcut::types::*} contains block below loop-value-2:
  345. loop {fg::sys.field::%{_map}%::point::*}:
  346. loop-value-3 is location of block below loop-value-2
  347. {fg::game::pointstat::%loop-index-2%} is not set
  348. set {fg::game::pointstat::%loop-index-2%} to loop-value-2
  349. add -1 to {fg::game::pointremain}
  350. holoCreate("fggame.%loop-index-2%",loop-value-3)
  351. holoLineAdd("fggame.%loop-index-2%","&l%loop-value-2%")
  352. if {fg::sys.field::%{_map}%::type::%loop-index-2%} is 1:
  353. add 1 to {fg::game::score::%loop-value-2%}
  354. command "execute %loop-value-2% ~ ~ ~ playsound entity.experience_orb.pickup master @s ~ ~ ~ 1 2"
  355. broadcast "&f&l%loop-value-2% &n+1&r &7( Score: %{fg::game::score::%loop-value-2%}% )"
  356. if {fg::sys.field::%{_map}%::type::%loop-index-2%} is 2:
  357. add 4 to {fg::game::score::%loop-value-2%}
  358. command "execute %loop-value-2% ~ ~ ~ playsound entity.player.levelup master @s ~ ~ ~ 1 2"
  359. broadcast "&e&l%loop-value-2% &n+4&r &7( Score: %{fg::game::score::%loop-value-2%}% )"
  360. if {fg::sys.field::%{_map}%::type::%loop-index-2%} is 3:
  361. add 12 to {fg::game::score::%loop-value-2%}
  362. command "execute %loop-value-2% ~ ~ ~ playsound entity.player.levelup master @s ~ ~ ~ 1 0.8"
  363. broadcast "&b&l%loop-value-2% &n+12&r &7( Score: %{fg::game::score::%loop-value-2%}% )"
  364. wait a tick
  365. if {fg::game::stop} is true:
  366. exit loop
  367. if {fg::game::pointremain} <= 0:
  368. set {fg::game::fieldget} to true
  369. send player title "&e&lF&c&lI&e&lE&c&ll&e&lD &e&lGA&c&lI&e&lNED&c&l!" with subtitle "%coloured {fg::sys.field::%{_map}%::name}%" for 5 seconds
  370. wait 5 seconds
  371. exit loop
  372. add -1 to {_cnt}
  373. set {fg::game::stop} to false
  374. command "/fgg endprcs"
  375. if arg 1 is "endprcs":
  376. set {_map} to {fg::game::map}
  377. set {_cnt} to 0
  378. set {_high} to -1
  379. set {_rank} to 1
  380. set {fg::game::stat} to "end"
  381. loop {fg::game::score::*}:
  382. set {_list::%loop-index%} to loop-value
  383. if {fg::game::fieldget} is true:
  384. clear {fg::game::fieldget}
  385. loop {fg::game::join::*}:
  386. add 1 to {fg::player::%loop-value%::fieldget::%{_map}%}
  387. loop number of {fg::game::score::*} times:
  388. loop {_list::*}:
  389. loop-value-2 > {_high}
  390. set {_high} to loop-value-2
  391. set {_highplayer} to loop-index
  392. if {_prevhigh} > {_high}:
  393. add 1 to {_rank}
  394. if {_rank} is 1:
  395. broadcast "&c&l##1 &d&l&n%{_highplayer}%&b Score: &n%{_high}%"
  396. add 1 to {fg::player::%{_highplayer}%::win}
  397. add 1 to {fg::player::%{_highplayer}%::stroke}
  398. else:
  399. set {fg::player::%{_highplayer}%::stroke} to 0
  400. if {_rank} is 2:
  401. broadcast "&6&l##2 &d&l&n%{_highplayer}%&b Score: &n%{_high}%"
  402. add 1 to {fg::player::%{_highplayer}%::num2}
  403. if {_rank} is 3:
  404. broadcast "&e&l##3 &d&l&n%{_highplayer}%&b Score: &n%{_high}%"
  405. if {_rank} >= 4:
  406. message "&e&l##%{_rank}% &d&l&n%{_highplayer}%&b Score: &n%{_high}%" to {_highplayer}
  407. set {_prevhigh} to {_high}
  408. set {_high} to -1
  409. clear {_list::%{_highplayer}%}
  410. message "&6&l[ Result ]" to {fg::game::join::*}
  411. loop {fg::game::join::*}:
  412. add 1 to {fg::player::%loop-value%::play}
  413.  
  414. message "&e《参加賞》&610 EXP" to loop-value
  415. set {_rate} to {fg::game::score::%loop-value%}/{fg::sys.field::%{_map}%::score-quant}*100
  416. set {_exp} to floor({_rate}*1.4)
  417. message "&e《スコア》&d%{fg::game::score::%loop-value%}%点&l(%{_rate}%%%) &7&l>> &6%{_exp}% EXP" to loop-value
  418. message "" to loop-value
  419. message "&e&l《合計》&6&l%{_exp}+10% EXP" to loop-value
  420. add {_exp}+10 to {fg::player::%loop-value%::exp}
  421. levelup(loop-value)
  422. achievement(loop-value)
  423. broadcast "&b&lFG_System&f: &c&lGAMEOVER!!"
  424. broadcast "&b&lFG_System&f: &d次回もプレイしてね!"
  425. command "execute @a ~ ~ ~ playsound entity.generic.explode master @s"
  426. wait 5 second
  427. loop blocks within {fg::sys.field::%{_map}%::pos1} to {fg::sys.field::%{_map}%::pos2}:
  428. set block at location of loop-block to air
  429. loop {fg::sys.field::%{_map}%::point-quant} times:
  430. holoDelete("fggame.%loop-number%")
  431. loop {fg::game::spec::*}:
  432. set {_p} to "%loop-value%" parsed as player
  433. {_p} is a player
  434. teleport {_p} to {fg::shortcut::spawn}
  435. loop {fg::game::join::*}:
  436. set {_p} to "%loop-value%" parsed as player
  437. {_p} is a player
  438. teleport {_p} to {fg::shortcut::spawn}
  439. command "gamemode 2 %loop-value%"
  440. clear {fg::game::spec::*}
  441. loop all offline players:
  442. command "scoreboard players set %loop-offlineplayer% score -1"
  443. command "fgg start"
  444. if arg 1 is "oendprcs":
  445. set {_map} to {fg::game::map}
  446. set {_cnt} to 0
  447. set {_high} to -1
  448. set {_rank} to 1
  449. set {fg::game::stat} to "end"
  450. set {fg::game::stop} to false
  451. wait 1 second
  452. loop blocks within {fg::sys.field::%{_map}%::pos1} to {fg::sys.field::%{_map}%::pos2}:
  453. set block at location of loop-block to air
  454. loop {fg::sys.field::%{_map}%::point-quant} times:
  455. holoDelete("fggame.%loop-number%")
  456. loop {fg::game::spec::*}:
  457. set {_p} to "%loop-value%" parsed as player
  458. {_p} is a player
  459. teleport {_p} to {fg::shortcut::spawn}
  460. loop {fg::game::join::*}:
  461. set {_p} to "%loop-value%" parsed as player
  462. {_p} is a player
  463. teleport {_p} to {fg::shortcut::spawn}
  464. command "gamemode 2 %loop-value%"
  465. clear {fg::game::spec::*}
  466. loop all offline players:
  467. command "scoreboard players set %loop-offlineplayer% score -1"
  468. command "fgg start"
  469. if arg 1 is "pendprcs":
  470. set {_map} to arg 2
  471. loop blocks within {fg::sys.field::%{_map}%::pos1} to {fg::sys.field::%{_map}%::pos2}:
  472. set block at location of loop-block to air
  473. loop {fg::sys.field::%{_map}%::point-quant} times:
  474. holoDelete("fggame.%loop-number%")
  475.  
  476. function levelup(p: player):
  477. set {_lvup} to floor((30+{fg::player::%{_p}%::level}*5)^1.2)
  478. {fg::player::%{_p}%::exp} > {_lvup}
  479. add 1 to {fg::player::%{_p}%::level}
  480. remove {_lvup} from {fg::player::%{_p}%::exp}
  481. broadcast "&c&lLevel_UP&f: &e%{_p}%のレベルは&l&n%{fg::player::%{_p}%::level}%&eに上がった! &b&lおめでとう!"
  482. levelup({_p})
  483.  
  484. function achievement(p: player):
  485. if {fg::player::%{_p}%::play} >= 10:
  486. {fg::player::%{_p}%::achievement::play10} is not set
  487. add 1 to {fg::player::%{_p}%::achievement::play10}
  488. broadcast "&c&lAchievement&f: &e%{_p}%さんが実績&6&l「10回プレイする」&eを達成しました!"
  489. message "&6&l[ &d&l&n実績達成&6&l ]" to {_p}
  490. message "&e・10回プレイする" to {_p}
  491. message "&a称号&a&l「&6&l探索者&6&oI&a&l」&aを手に入れた" to {_p}
  492. message "&a&l100EXP &aを手に入れた" to {_p}
  493. add 100 to {_exp}
  494. if {fg::player::%{_p}%::play} >= 30:
  495. {fg::player::%{_p}%::achievement::play30} is not set
  496. add 1 to {fg::player::%{_p}%::achievement::play30}
  497. broadcast "&c&lAchievement&f: &e%{_p}%さんが実績&6&l「30回プレイする」&eを達成しました!"
  498. message "&6&l[ &d&l&n実績達成&6&l ]" to {_p}
  499. message "&e・30回プレイする" to {_p}
  500. message "&a称号&a&l「&6&l探索者&6&oII&a&l」&aを手に入れた" to {_p}
  501. message "&a&l200EXP &aを手に入れた" to {_p}
  502. add 200 to {_exp}
  503. if {fg::player::%{_p}%::play} >= 60:
  504. {fg::player::%{_p}%::achievement::play60} is not set
  505. add 1 to {fg::player::%{_p}%::achievement::play600}
  506. broadcast "&c&lAchievement&f: &e%{_p}%さんが実績&6&l「60回プレイする」&eを達成しました!"
  507. message "&6&l[ &d&l&n実績達成&6&l ]" to {_p}
  508. message "&e・60回プレイする" to {_p}
  509. message "&a称号&a&l「&6&l探索者&6&oIII&a&l」&aを手に入れた" to {_p}
  510. message "&a&l300EXP &aを手に入れた" to {_p}
  511. add 300 to {_exp}
  512. if {fg::player::%{_p}%::play} >= 100:
  513. {fg::player::%{_p}%::achievement::play100} is not set
  514. add 1 to {fg::player::%{_p}%::achievement::play100}
  515. broadcast "&c&lAchievement&f: &e%{_p}%さんが実績&6&l「100回プレイする」&eを達成しました!"
  516. message "&6&l[ &d&l&n実績達成&6&l ]" to {_p}
  517. message "&e・100回プレイする" to {_p}
  518. message "&a称号&a&l「&6&l探索者&6&oIV&a&l」&aを手に入れた" to {_p}
  519. message "&a&l400EXP &aを手に入れた" to {_p}
  520. add 400 to {_exp}
  521. if {fg::player::%{_p}%::play} >= 200:
  522. {fg::player::%{_p}%::achievement::play200} is not set
  523. add 1 to {fg::player::%{_p}%::achievement::play200}
  524. broadcast "&c&lAchievement&f: &e%{_p}%さんが実績&6&l「200回プレイする」&eを達成しました!"
  525. message "&6&l[ &d&l&n実績達成&6&l ]" to {_p}
  526. message "&e・200回プレイする" to {_p}
  527. message "&a称号&a&l「&6&l探索者&6&oV&a&l」&aを手に入れた" to {_p}
  528. message "&a&l500EXP &aを手に入れた" to {_p}
  529. add 500 to {_exp}
  530. if {fg::player::%{_p}%::win} >= 3:
  531. {fg::player::%{_p}%::achievement::win3} is not set
  532. add 1 to {fg::player::%{_p}%::achievement::win3}
  533. broadcast "&c&lAchievement&f: &e%{_p}%さんが実績&6&l「3回勝利する」&eを達成しました!"
  534. message "&6&l[ &d&l&n実績達成&6&l ]" to {_p}
  535. message "&e・3回勝利する" to {_p}
  536. message "&a称号&a&l「&c&l心得&c&oI&a&l」&aを手に入れた" to {_p}
  537. message "&a&l100EXP &aを手に入れた" to {_p}
  538. add 100 to {_exp}
  539. if {fg::player::%{_p}%::win} >= 10:
  540. {fg::player::%{_p}%::achievement::win10} is not set
  541. add 1 to {fg::player::%{_p}%::achievement::win10}
  542. broadcast "&c&lAchievement&f: &e%{_p}%さんが実績&6&l「10回勝利する」&eを達成しました!"
  543. message "&6&l[ &d&l&n実績達成&6&l ]" to {_p}
  544. message "&e・10回勝利する" to {_p}
  545. message "&a称号&a&l「&c&l心得&c&oII&a&l」&aを手に入れた" to {_p}
  546. message "&a&l200EXP &aを手に入れた" to {_p}
  547. add 200 to {_exp}
  548. if {fg::player::%{_p}%::win} >= 30:
  549. {fg::player::%{_p}%::achievement::win30} is not set
  550. add 1 to {fg::player::%{_p}%::achievement::win30}
  551. broadcast "&c&lAchievement&f: &e%{_p}%さんが実績&6&l「30回勝利する」&eを達成しました!"
  552. message "&6&l[ &d&l&n実績達成&6&l ]" to {_p}
  553. message "&e・30回勝利する" to {_p}
  554. message "&a称号&a&l「&c&l心得&c&oIII&a&l」&aを手に入れた" to {_p}
  555. message "&a&l300EXP &aを手に入れた" to {_p}
  556. add 300 to {_exp}
  557. if {fg::player::%{_p}%::win} >= 60:
  558. {fg::player::%{_p}%::achievement::win60} is not set
  559. add 1 to {fg::player::%{_p}%::achievement::win60}
  560. broadcast "&c&lAchievement&f: &e%{_p}%さんが実績&6&l「60回勝利する」&eを達成しました!"
  561. message "&6&l[ &d&l&n実績達成&6&l ]" to {_p}
  562. message "&e・60回勝利する" to {_p}
  563. message "&a称号&a&l「&c&l心得&c&oIV&a&l」&aを手に入れた" to {_p}
  564. message "&a&l500EXP &aを手に入れた" to {_p}
  565. add 500 to {_exp}
  566. if {fg::player::%{_p}%::win} >= 100:
  567. {fg::player::%{_p}%::achievement::win100} is not set
  568. add 1 to {fg::player::%{_p}%::achievement::win100}
  569. broadcast "&c&lAchievement&f: &e%{_p}%さんが実績&6&l「100回勝利する」&eを達成しました!"
  570. message "&6&l[ &d&l&n実績達成&6&l ]" to {_p}
  571. message "&e・100回勝利する" to {_p}
  572. message "&a称号&a&l「&c&l心得&c&oV&a&l」&aを手に入れた" to {_p}
  573. message "&a&l800EXP &aを手に入れた" to {_p}
  574. add 800 to {_exp}
  575. if {fg::player::%{_p}%::stroke} >= 2:
  576. {fg::player::%{_p}%::achievement::stroke2} is not set
  577. add 1 to {fg::player::%{_p}%::achievement::stroke2}
  578. broadcast "&c&lAchievement&f: &e%{_p}%さんが実績&6&l「2連勝する」&eを達成しました!"
  579. message "&6&l[ &d&l&n実績達成&6&l ]" to {_p}
  580. message "&e・2連勝する" to {_p}
  581. message "&a称号&a&l「&b&l賢&f&l者&a&l」&aを手に入れた" to {_p}
  582. message "&a&l200EXP &aを手に入れた" to {_p}
  583. add 200 to {_exp}
  584. if {fg::player::%{_p}%::stroke} >= 3:
  585. {fg::player::%{_p}%::achievement::stroke3} is not set
  586. add 1 to {fg::player::%{_p}%::achievement::stroke3}
  587. broadcast "&c&lAchievement&f: &e%{_p}%さんが実績&6&l「3連勝する」&eを達成しました!"
  588. message "&6&l[ &d&l&n実績達成&6&l ]" to {_p}
  589. message "&e・3連勝する" to {_p}
  590. message "&a称号&a&l「&a&l名&f&l人&a&l」&aを手に入れた" to {_p}
  591. message "&a&l400EXP &aを手に入れた" to {_p}
  592. add 400 to {_exp}
  593. if {fg::player::%{_p}%::stroke} >= 4:
  594. {fg::player::%{_p}%::achievement::stroke4} is not set
  595. add 1 to {fg::player::%{_p}%::achievement::stroke4}
  596. broadcast "&c&lAchievement&f: &e%{_p}%さんが実績&6&l「4連勝する」&eを達成しました!"
  597. message "&6&l[ &d&l&n実績達成&6&l ]" to {_p}
  598. message "&e・4連勝する" to {_p}
  599. message "&a称号&a&l「&e&l師&f&l範&a&l」&aを手に入れた" to {_p}
  600. message "&a&l600EXP &aを手に入れた" to {_p}
  601. add 600 to {_exp}
  602. if {fg::player::%{_p}%::stroke} >= 5:
  603. {fg::player::%{_p}%::achievement::stroke5} is not set
  604. add 1 to {fg::player::%{_p}%::achievement::stroke5}
  605. broadcast "&c&lAchievement&f: &e%{_p}%さんが実績&6&l「5連勝する」&eを達成しました!"
  606. message "&6&l[ &d&l&n実績達成&6&l ]" to {_p}
  607. message "&e・5連勝する" to {_p}
  608. message "&a称号&a&l「&c&l達&f&l人&a&l」&aを手に入れた" to {_p}
  609. message "&a&l800EXP &aを手に入れた" to {_p}
  610. add 800 to {_exp}
  611. if {fg::player::%{_p}%::stroke} >= 8:
  612. {fg::player::%{_p}%::achievement::stroke8} is not set
  613. add 1 to {fg::player::%{_p}%::achievement::stroke8}
  614. broadcast "&c&lAchievement&f: &e%{_p}%さんが実績&6&l「8連勝する」&eを達成しました!"
  615. message "&6&l[ &d&l&n実績達成&6&l ]" to {_p}
  616. message "&e・8連勝する" to {_p}
  617. message "&a称号&a&l「&6&l皆&f&l伝&a&l」&aを手に入れた" to {_p}
  618. message "&a&l2000EXP &aを手に入れた" to {_p}
  619. add 2000 to {_exp}
  620. if {fg::player::%{_p}%::fieldget::malb_1} > 0:
  621. {fg::player::%{_p}%::achievement::fg-malb_1} is not set
  622. add 1 to {fg::player::%{_p}%::achievement::fg-malb_1}
  623. broadcast "&c&lAchievement&f: &e%{_p}%さんが実績&6&l「&eFieldGetter: &dThe Simple Field&6&l」&eを達成しました!"
  624. message "&6&l[ &d&l&n実績達成&6&l ]" to {_p}
  625. message "&e・FieldGetter: &dThe Simple Field&6&l" to {_p}
  626. message "&a称号&a&l「&7E&cZ&7F&8ill&a&l」&aを手に入れた" to {_p}
  627. message "&a&l300EXP &aを手に入れた" to {_p}
  628. add 300 to {_exp}
  629. if {fg::player::%{_p}%::fieldget::reo_1} > 0:
  630. {fg::player::%{_p}%::achievement::fg-reo_1} is not set
  631. add 1 to {fg::player::%{_p}%::achievement::fg-reo_1}
  632. broadcast "&c&lAchievement&f: &e%{_p}%さんが実績&6&l「&eFieldGetter: &dTown of NODOKA&6&l」&eを達成しました!"
  633. message "&6&l[ &d&l&n実績達成&6&l ]" to {_p}
  634. message "&e・FieldGetter: &dTown of NODOKA&6&l" to {_p}
  635. message "&a称号&a&l「&6T&co&4w&cn&6e&er&a&l」&aを手に入れた" to {_p}
  636. message "&a&l400EXP &aを手に入れた" to {_p}
  637. add 400 to {_exp}
  638. add {_exp} to {fg::player::%{_p}%::exp}
  639. levelup({_p})
  640.  
  641. command /acv [<integer>]:
  642. trigger:
  643. achievement(player)
  644. set {_arg1} to arg 1
  645. if {_arg1} is not set:
  646. set {_arg1} to 1
  647. open chest with 6 rows named "&cAchievements & Titles &7(Page %{_arg1}%)" to player
  648. wait 1 tick
  649. set slot 45 of player's current inventory to arrow named "&7<< Prev" with lore "&fPage: %({_arg1}-1)%"
  650. set slot 53 of player's current inventory to arrow named "&7Next >>" with lore "&fPage: %({_arg1}+1)%"
  651. if {_arg1} is 1:
  652. if {fg::player::%player%::achievement::play10} > 0:
  653. set slot 0 of player's current inventory to light green stained glass pane named "&7称号「 &6&l探索者&6&oI&7 」" with lore "&7実績 &6""10回プレイする"""
  654. else:
  655. set slot 0 of player's current inventory to red stained glass pane named "&7称号「 &f???&7 」" with lore "&7実績 &6""10回プレイする"""
  656. if {fg::player::%player%::achievement::play30} > 0:
  657. set slot 9 of player's current inventory to light green stained glass pane named "&7称号「 &6&l探索者&6&oII&7 」" with lore "&7実績 &6""30回プレイする"""
  658. else:
  659. set slot 9 of player's current inventory to red stained glass pane named "&7称号「 &f???&7 」" with lore "&7実績 &6""30回プレイする"""
  660. if {fg::player::%player%::achievement::play60} > 0:
  661. set slot 18 of player's current inventory to light green stained glass pane named "&7称号「 &6&l探索者&6&oIII&7 」" with lore "&7実績 &6""60回プレイする"""
  662. else:
  663. set slot 18 of player's current inventory to red stained glass pane named "&7称号「 &f???&7 」" with lore "&7実績 &6""60回プレイする"""
  664. if {fg::player::%player%::achievement::play100} > 0:
  665. set slot 27 of player's current inventory to light green stained glass pane named "&7称号「 &6&l探索者&6&oIV&7 」" with lore "&7実績 &6""100回プレイする"""
  666. else:
  667. set slot 27 of player's current inventory to red stained glass pane named "&7称号「 &f???&7 」" with lore "&7実績 &6""100回プレイする"""
  668. if {fg::player::%player%::achievement::play200} > 0:
  669. set slot 36 of player's current inventory to light green stained glass pane named "&7称号「 &6&l探索者&6&oV&7 」" with lore "&7実績 &6""200回プレイする"""
  670. else:
  671. set slot 36 of player's current inventory to red stained glass pane named "&7称号「 &f???&7 」" with lore "&7実績 &6""200回プレイする"""
  672. if {fg::player::%player%::achievement::win3} > 0:
  673. set slot 1 of player's current inventory to light green stained glass pane named "&7称号「 &c&l心得&c&oI&7 」" with lore "&7実績 &6""3回勝利する"""
  674. else:
  675. set slot 1 of player's current inventory to red stained glass pane named "&7称号「 &f???&7 」" with lore "&7実績 &6""3回勝利する"""
  676. if {fg::player::%player%::achievement::win10} > 0:
  677. set slot 10 of player's current inventory to light green stained glass pane named "&7称号「 &c&l心得&c&oII&7 」" with lore "&7実績 &6""10回勝利する"""
  678. else:
  679. set slot 10 of player's current inventory to red stained glass pane named "&7称号「 &f???&7 」" with lore "&7実績 &6""10回勝利する"""
  680. if {fg::player::%player%::achievement::win30} > 0:
  681. set slot 19 of player's current inventory to light green stained glass pane named "&7称号「 &c&l心得&c&oIII&7 」" with lore "&7実績 &6""30回勝利する"""
  682. else:
  683. set slot 19 of player's current inventory to red stained glass pane named "&7称号「 &f???&7 」" with lore "&7実績 &6""30回勝利する"""
  684. if {fg::player::%player%::achievement::win60} > 0:
  685. set slot 28 of player's current inventory to light green stained glass pane named "&7称号「 &c&l心得&c&oIV&7 」" with lore "&7実績 &6""60回勝利する"""
  686. else:
  687. set slot 28 of player's current inventory to red stained glass pane named "&7称号「 &f???&7 」" with lore "&7実績 &6""60回勝利する"""
  688. if {fg::player::%player%::achievement::win100} > 0:
  689. set slot 37 of player's current inventory to light green stained glass pane named "&7称号「 &c&l心得&c&oV&7 」" with lore "&7実績 &6""100回勝利する"""
  690. else:
  691. set slot 37 of player's current inventory to red stained glass pane named "&7称号「 &f???&7 」" with lore "&7実績 &6""100回勝利する"""
  692. if {fg::player::%player%::achievement::stroke2} > 0:
  693. set slot 2 of player's current inventory to light green stained glass pane named "&7称号「 &b&l賢&f&l者&7 」" with lore "&7実績 &6""2連勝する"""
  694. else:
  695. set slot 2 of player's current inventory to red stained glass pane named "&7称号「 &f???&7 」" with lore "&7実績 &6""2連勝する"""
  696. if {fg::player::%player%::achievement::stroke3} > 0:
  697. set slot 11 of player's current inventory to light green stained glass pane named "&7称号「 &a&l名&f&l人&7 」" with lore "&7実績 &6""3連勝する"""
  698. else:
  699. set slot 11 of player's current inventory to red stained glass pane named "&7称号「 &f???&7 」" with lore "&7実績 &6""3連勝する"""
  700. if {fg::player::%player%::achievement::stroke4} > 0:
  701. set slot 20 of player's current inventory to light green stained glass pane named "&7称号「 &e&l師&f&l範&7 」" with lore "&7実績 &6""4連勝する"""
  702. else:
  703. set slot 20 of player's current inventory to red stained glass pane named "&7称号「 &f???&7 」" with lore "&7実績 &6""4連勝する"""
  704. if {fg::player::%player%::achievement::stroke5} > 0:
  705. set slot 29 of player's current inventory to light green stained glass pane named "&7称号「 &c&l達&f&l人&7 」" with lore "&7実績 &6""5連勝する"""
  706. else:
  707. set slot 29 of player's current inventory to red stained glass pane named "&7称号「 &f???&7 」" with lore "&7実績 &6""5連勝する"""
  708. if {fg::player::%player%::achievement::stroke8} > 0:
  709. set slot 38 of player's current inventory to light green stained glass pane named "&7称号「 &6&l皆&f&l伝&7 」" with lore "&7実績 &6""8連勝する"""
  710. else:
  711. set slot 38 of player's current inventory to red stained glass pane named "&7称号「 &f???&7 」" with lore "&7実績 &6""8連勝する"""
  712. if {_arg1} is 2:
  713. if {fg::player::%player%::achievement::fg-malb_1} > 0:
  714. set slot 0 of player's current inventory to light green stained glass pane named "&7称号「 &7E&cZ&7F&8ill&7 」" with lore "&7実績 &6""&eFieldGetter: &dThe Simple Field&6"""
  715. else:
  716. set slot 0 of player's current inventory to red stained glass pane named "&7称号「 &0EZFill&7 」" with lore "&7実績 &6""&eFieldGetter: &dThe Simple Field&6"""
  717. if {fg::player::%player%::achievement::fg-reo_1} > 0:
  718. set slot 9 of player's current inventory to light green stained glass pane named "&7称号「 &6T&co&4w&cn&6e&er&7 」" with lore "&7実績 &6""&eFieldGetter: &dThe Simple Field&6"""
  719. else:
  720. set slot 9 of player's current inventory to red stained glass pane named "&7称号「 &0Towner&7 」" with lore "&7実績 &6""&eFieldGetter: &dTown of NODOKA&6"""
  721.  
  722. command /menu [<text>]:
  723. trigger:
  724. set {_arg1} to arg 1
  725. if {_arg1} is not set:
  726. set {_arg1} to "0"
  727. if {_arg1} is "0":
  728. open chest with 6 rows named "&8Menu: &6Command Shortcut" to player
  729. set slot 0 of player's current inventory to glowing command block named "&6Command Shortcut" with lore "&e各種コマンドを素早く実行できます"
  730. set slot 1 of player's current inventory to diamond named "&aSet Best Stage" with lore "&e自分のお気に入りのステージを設定します", "&e選んだステージはステージ抽選で選ばれる確率が上がります", and "&6選択中:%colored {fg::sys.field::%{fg::player::%player%::opt::beststage}%::name}%"
  731. set slot 9 of player's current inventory to lime dye named "&a/fj" with lore "&7ゲームに参加する"
  732. set slot 18 of player's current inventory to red dye named "&a/fl" with lore "&7ゲームへの参加を取り消す"
  733. set slot 27 of player's current inventory to orange dye named "&a/fjl" with lore "&7ゲームに参加中のプレイヤーの一覧を見る"
  734. set slot 10 of player's current inventory to pieces of paper named "&a/stat" with lore "&7自分のステータスを見る"
  735. set slot 11 of player's current inventory to nether star named "&a/acv" with lore "&7称号を設定する"
  736. set slot 12 of player's current inventory to wheat seed named "&a/fgspec" with lore "&7ゲームを観戦する" and "&cゲーム中、かつゲームに参加していない時のみ使用できます"
  737. if {_arg1} is "1":
  738. open chest with 6 rows named "&8Menu: &2Best Stage" to player
  739. set slot 0 of player's current inventory to command block named "&6Command Shortcut" with lore "&e各種コマンドを素早く実行できます"
  740. set slot 1 of player's current inventory to glowing diamond named "&aSet Best Stage" with lore "&e自分のお気に入りのステージを設定します", "&e選んだステージはステージ抽選で選ばれる確率が上がります", and "&6選択中:%colored {fg::sys.field::%{fg::player::%player%::opt::beststage}%::name}%"
  741. loop {fg::sys::maps::*}:
  742. add 1 to {_cnt}
  743. set slot 8+{_cnt} of player's current inventory to {fg::sys.field::%loop-value%::icon} named "%colored {fg::sys.field::%loop-value%::name}%" with lore "&eお気に入り数:&d&l%number of {fg::sys.field::%loop-value%::beststage::*}%"
  744.  
  745. on inventory click:
  746. if name of player's current inventory contains "&cAchievements & Titles":
  747. if clicked slot is 45 or 53:
  748. set {_page::*} to lore of slot (clicked slot) of player's current inventory
  749. set {_.page::*} to {_page::1} parsed as "%text% %number%"
  750. execute player command "/acv %{_.page::2}%"
  751. if name of player's current inventory contains "&cAchievements & Titles &7(Page 1)":
  752. if clicked slot is 0:
  753. cancel event
  754. {fg::player::%player%::achievement::play10} > 0
  755. message "&c&lAchievement&f: &e称号を変更しました!"
  756. set {fg::player::%player%::prefix} to "&6&l探索者&6&oI"
  757. if clicked slot is 9:
  758. cancel event
  759. {fg::player::%player%::achievement::play30} > 0
  760. message "&c&lAchievement&f: &e称号を変更しました!"
  761. set {fg::player::%player%::prefix} to "&6&l探索者&6&oII"
  762. if clicked slot is 18:
  763. cancel event
  764. {fg::player::%player%::achievement::play60} > 0
  765. message "&c&lAchievement&f: &e称号を変更しました!"
  766. set {fg::player::%player%::prefix} to "&6&l探索者&6&oIII"
  767. if clicked slot is 27:
  768. cancel event
  769. {fg::player::%player%::achievement::play100} > 0
  770. message "&c&lAchievement&f: &e称号を変更しました!"
  771. set {fg::player::%player%::prefix} to "&6&l探索者&6&oIV"
  772. if clicked slot is 36:
  773. cancel event
  774. {fg::player::%player%::achievement::play200} > 0
  775. message "&c&lAchievement&f: &e称号を変更しました!"
  776. set {fg::player::%player%::prefix} to "&6&l探索者&6&oV"
  777. if clicked slot is 1:
  778. cancel event
  779. {fg::player::%player%::achievement::win3} > 0
  780. message "&c&lAchievement&f: &e称号を変更しました!"
  781. set {fg::player::%player%::prefix} to "&c&l心得&c&oI"
  782. if clicked slot is 10:
  783. cancel event
  784. {fg::player::%player%::achievement::win10} > 0
  785. message "&c&lAchievement&f: &e称号を変更しました!"
  786. set {fg::player::%player%::prefix} to "&c&l心得&c&oII"
  787. if clicked slot is 19:
  788. cancel event
  789. {fg::player::%player%::achievement::win30} > 0
  790. message "&c&lAchievement&f: &e称号を変更しました!"
  791. set {fg::player::%player%::prefix} to "&c&l心得&c&oIII"
  792. if clicked slot is 28:
  793. cancel event
  794. {fg::player::%player%::achievement::win60} > 0
  795. message "&c&lAchievement&f: &e称号を変更しました!"
  796. set {fg::player::%player%::prefix} to "&c&l心得&c&oIV"
  797. if clicked slot is 37:
  798. cancel event
  799. {fg::player::%player%::achievement::win100} > 0
  800. message "&c&lAchievement&f: &e称号を変更しました!"
  801. set {fg::player::%player%::prefix} to "&c&l心得&c&oV"
  802. if clicked slot is 2:
  803. cancel event
  804. {fg::player::%player%::achievement::stroke2} > 0
  805. message "&c&lAchievement&f: &e称号を変更しました!"
  806. set {fg::player::%player%::prefix} to "&b&l賢&f&l者"
  807. if clicked slot is 11:
  808. cancel event
  809. {fg::player::%player%::achievement::stroke3} > 0
  810. message "&c&lAchievement&f: &e称号を変更しました!"
  811. set {fg::player::%player%::prefix} to "&a&l名&f&l人"
  812. if clicked slot is 20:
  813. cancel event
  814. {fg::player::%player%::achievement::stroke4} > 0
  815. message "&c&lAchievement&f: &e称号を変更しました!"
  816. set {fg::player::%player%::prefix} to "&e&l師&f&l範"
  817. if clicked slot is 29:
  818. cancel event
  819. {fg::player::%player%::achievement::stroke5} > 0
  820. message "&c&lAchievement&f: &e称号を変更しました!"
  821. set {fg::player::%player%::prefix} to "&c&l達&f&l人"
  822. if clicked slot is 38:
  823. cancel event
  824. {fg::player::%player%::achievement::stroke8} > 0
  825. message "&c&lAchievement&f: &e称号を変更しました!"
  826. set {fg::player::%player%::prefix} to "&6&l皆&f&l伝"
  827. if name of player's current inventory contains "&cAchievements & Titles &7(Page 2)":
  828. if clicked slot is 0:
  829. cancel event
  830. {fg::player::%player%::achievement::fg-malb_1} > 0
  831. message "&c&lAchievement&f: &e称号を変更しました!"
  832. set {fg::player::%player%::prefix} to "&7E&cZ&7F&8ill"
  833. if clicked slot is 9:
  834. cancel event
  835. {fg::player::%player%::achievement::fg-reo_1} > 0
  836. message "&c&lAchievement&f: &e称号を変更しました!"
  837. set {fg::player::%player%::prefix} to "&6T&co&4w&cn&6e&er"
  838. if name of player's current inventory contains "&8Menu: &6Command Shortcut":
  839. if clicked slot is 0:
  840. cancel event
  841. execute player command "/menu 0"
  842. if clicked slot is 1:
  843. cancel event
  844. execute player command "/menu 1"
  845. if clicked slot is 9:
  846. cancel event
  847. execute player command "/fj"
  848. if clicked slot is 18:
  849. cancel event
  850. execute player command "/fl"
  851. if clicked slot is 27:
  852. cancel event
  853. execute player command "/fjl"
  854. if clicked slot is 10:
  855. cancel event
  856. execute player command "/stat"
  857. if clicked slot is 11:
  858. cancel event
  859. execute player command "/acv"
  860. if clicked slot is 12:
  861. cancel event
  862. execute player command "/fgspec"
  863. if name of player's current inventory contains "&8Menu: &2Best Stage":
  864. if clicked slot is 0:
  865. cancel event
  866. execute player command "/menu 0"
  867. if clicked slot is 1:
  868. cancel event
  869. execute player command "/menu 1"
  870. loop {fg::sys::maps::*}:
  871. add 1 to {_loopcnt}
  872. if clicked slot is 8+{_loopcnt}:
  873. cancel event
  874. remove player from {fg::sys.field::%{fg::player::%player%::opt::beststage}%::beststage::*}
  875. set {fg::player::%player%::opt::beststage} to loop-value
  876. add player to {fg::sys.field::%{fg::player::%player%::opt::beststage}%::beststage::*}
  877. message "&7&lOption&f: &eお気に入りのステージを変更しました"
  878. execute player command "/menu 1"
  879.  
  880. on chat:
  881. cancel event
  882. if {fg::player::%player%::prefix} is not set:
  883. set {fg::player::%player%::prefix} to "&a初心者"
  884. if {fg::player::%player%::suffix} is not set:
  885. set {fg::player::%player%::suffix} to "&7@Player"
  886. broadcast "&8&l[%{fg::player::%player%::prefix}%&8&l]&f%player%%{fg::player::%player%::suffix}%&e: &r%message%"
  887.  
  888. command /suffix <offline player> <text>:
  889. permission: fieldgetter.suffix
  890. trigger:
  891. set {fg::player::%arg 1%::suffix} to colored arg 2
  892.  
  893. command /stat [<offline player>]:
  894. trigger:
  895. set {_p} to arg 1
  896. if arg 1 is not set:
  897. set {_p} to player
  898. set {_lvup} to floor((30+{fg::player::%{_p}%::level}*5)^1.2)
  899. message "&6%{_p}% &cLv.%{fg::player::%{_p}%::level}%"
  900. message "&aExp: %{fg::player::%{_p}%::exp}%/%{_lvup}%"
  901. message ""
  902. message "&eプレイ数: %{fg::player::%{_p}%::play}% &d勝利数: %{fg::player::%{_p}%::win}%"
  903.  
  904. command /fgspec [<player>]:
  905. trigger:
  906. set {_p} to arg 1
  907. if arg 1 is not set:
  908. set {_p} to player
  909. else:
  910. {_p} is not op
  911. set {_p2} to player
  912. {_p2} is set
  913. set {_cancel} to true
  914. {_cancel} is not set
  915. if {fg::game::stat} is not "game":
  916. message "&b&lFG_System&f: &c現在は観戦できません" to {_p}
  917. stop
  918. if {fg::game::join::*} contains {_p}:
  919. message "&b&lFG_System&f: &c試合に参加中です" to {_p}
  920. message "&b&lFG_System&f: &c観戦モードになりました" to {_p}
  921. add {_p} to {fg::game::spec::*}
  922. set gamemode of {_p} to spectator
  923. teleport {_p} to {fg::sys.field::%{fg::game::map}%::spawn}
  924.  
  925. command /fgm <text> [<text>]:
  926. permission: fieldgetter.fgm
  927. trigger:
  928. if arg 1 is "add":
  929. arg 2 is set
  930. add arg 2 to {fg::sys::maps::*}
  931. if arg 1 is "remove":
  932. arg 2 is set
  933. remove arg 2 from {fg::sys::maps::*}
  934. if arg 1 is "list":
  935. message {fg::sys::maps::*}
  936. if arg 1 is "stat":
  937. set {_arg2} to arg 2
  938. if arg 2 is "@@":
  939. set {_arg2} to {fg::game::map}
  940. message "&6&lMAP - &b&l"" %colored {fg::sys.field::%{_arg2}%::name}% &b&l"""
  941. message "&6&lCreator: %{fg::sys.field::%{_arg2}%::made}%"
  942. message colored {fg::sys.field::%{_arg2}%::text}
  943. message "&6ポイント内訳 &f鉄 &lx%{fg::sys.field::%{_arg2}%::type-quant.1}% &e金 &lx%{fg::sys.field::%{_arg2}%::type-quant.2}% &bダイヤ &lx%{fg::sys.field::%{_arg2}%::type-quant.3}% &6計 &l%{fg::sys.field::%{_arg2}%::point-quant}%ポイント &6&n( %{fg::sys.field::%{_arg2}%::score-quant}%点 )"
  944. message "&6&l制限時間 &c&l%{fg::sys.field::%{_arg2}%::time}%&6&l秒"
  945. if arg 1 is "tp":
  946. set {_arg2} to arg 2
  947. if arg 2 is "@@":
  948. set {_arg2} to {fg::game::map}
  949. teleport player to {fg::sys.field::%{_arg2}%::spawn}
  950.  
  951. command /fj:
  952. trigger:
  953. if {fg::game::stat} is not "standby":
  954. message "&b&lFG_System&f: &c現在は参加できません"
  955. stop
  956. if {fg::game::join::*} contains player:
  957. message "&b&lFG_System&f: &c既に参加しています"
  958. stop
  959. message "&b&lFG_System&f: &a試合に参加しました"
  960. message "&b&lFG_System&f: &d&l/fl &aで取り消します"
  961. add player to {fg::game::join::*}
  962.  
  963. command /fl:
  964. trigger:
  965. if {fg::game::stat} is not "standby":
  966. message "&b&lFG_System&f: &c現在は取り消しできません"
  967. stop
  968. if {fg::game::join::*} contains player:
  969. message "&b&lFG_System&f: &a試合への参加を取り消しました"
  970. remove player from {fg::game::join::*}
  971. stop
  972. message "&b&lFG_System&f: &c参加していません"
  973.  
  974. command /fjl:
  975. trigger:
  976. message "&b&lFG_System&f: &a参加中のプレイヤー"
  977. loop {fg::game::join::*}:
  978. message "&7- &e%loop-value%"
  979.  
  980. command /holoCreate <text>:
  981. permission: holo
  982. trigger:
  983. set {_loc} to player's location
  984. holoCreate(arg-1,{_loc})
  985.  
  986. command /holoLineAdd <text> <text>:
  987. permission: holo
  988. trigger:
  989. holoLineAdd(arg-1,arg-2)
  990.  
  991. command /holoLineReset <text>:
  992. permission: holo
  993. trigger:
  994. holoLineReset(arg-1)
  995.  
  996. command /holoDelete <text>:
  997. permission: holo
  998. trigger:
  999. holoDelete(arg-1)
  1000.  
  1001. command /holoList:
  1002. permission: holo
  1003. trigger:
  1004. message {lbfunc::holo.list::*}
Add Comment
Please, Sign In to add comment