Advertisement
xNawi

XamParkour yml

Feb 4th, 2017
125
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 53.37 KB | None | 0 0
  1. #Author: Enxi
  2. #Version: 1.2
  3. variables:
  4. {parkour::start::%player%} = false
  5. {parkour::time::start::%player%} = 0
  6. #Variables on the messages:
  7. #player - returns player's name
  8. #{_parkour} - returns parkour name
  9. #{_number} - returns number
  10. #{_xp} - returns player's XP
  11. #{_lvl} - returns player's LvL
  12. #{_multiplier} - returns player's multiplier
  13. #{_transition} - returns player's transition on parkour
  14. #{_prize} - returns prize of XP for parkour complete or winning duel
  15. #{_minlvl} - returns minimum LvL to join to the parkour
  16. #{_cord} - returns coordinations of the parkour
  17. #{_player} - returns player specified in the command
  18. #{_toNext} - returns XP needed to the next LvL
  19. #{_opponent} - returns opponent of player in the Duel
  20. #{_addXP} - returns XP received after parkour complete
  21. #({_time} / 1000) - returns time of parkour complete
  22. options:
  23. tag: &6[&3PK&6] #Tag before messages
  24. lvl multiplier: 43 #more = more XP to next LvL
  25. xp bar refresh: 2 #less = more lags, recommended 2.
  26. duel counting down: 5 #seconds
  27. file: /XamParkour.yml #File for script variables
  28. on quit:
  29. set {_parkour} to yaml value "Players.%player%.parkour" from file "{@file}"
  30. if {_parkour} is set:
  31. delete yaml value "Players.%player%.parkour" from file "{@file}"
  32. set {_status} to yaml value "Players.%player%.duel.status" from file "{@file}"
  33. if {_status} is "wait":
  34. set yaml value "Players.%player%.duel.status" from file "{@file}" to "none"
  35. else if {_status} is "battle":
  36. set {_opponent} to yaml value "Players.%player%.duel.invitation" from file "{@file}"
  37. set {_prize} to yaml value "Players.%player%.duel.prize" from file "{@file}"
  38. set {_prize} to {_prize} parsed as number
  39. set yaml value "Players.%{_opponent}%.duel.status" from file "{@file}" to "none"
  40. set yaml value "Players.%{_opponent}%.duel.prize" from file "{@file}" to "none"
  41. set yaml value "Players.%{_opponent}%.duel.parkour" from file "{@file}" to "none"
  42. set yaml value "Players.%{_opponent}%.duel.invitation" from file "{@file}" to "none"
  43. set yaml value "Players.%player%.duel.status" from file "{@file}" to "none"
  44. set yaml value "Players.%player%.duel.prize" from file "{@file}" to "none"
  45. set yaml value "Players.%player%.duel.parkour" from file "{@file}" to "none"
  46. set yaml value "Players.%player%.duel.invitation" from file "{@file}" to "none"
  47. set {_actualXP} to yaml value "Players.%player%.xp" from file "{@file}"
  48. set {_actualXP} to {_actualXP} parsed as number
  49. set {_actualXP} to {_actualXP}+{_prize}
  50. set yaml value "Players.%player%.xp" from file "{@file}" to "%{_actualXP}%"
  51. broadcast "{@tag} &6Gracz &3%player% [+%{_prize}%XP] &6wygral duel z graczem &3%{_opponent}% &6na mapie &3%{_parkour}%&6!"
  52. launch flickering trailing ball firework colored green at player timed 1
  53. reveal all players to player
  54. reveal all players to {_opponent}
  55. on join:
  56. set {_parkour} to yaml value "Players.%player%.parkour" from file "{@file}"
  57. if {_parkour} is set:
  58. execute player command "parkour leave"
  59. set {_nick} to yaml value "Players.%player%.lvl" from file "{@file}"
  60. if {_nick} is not set:
  61. set yaml value "Players.%player%.lvl" from file "{@file}" to "1"
  62. set yaml value "Players.%player%.xp" from file "{@file}" to "0"
  63. set yaml value "Players.%player%.multiplier" from file "{@file}" to "1"
  64. set yaml value "Players.%player%.parkour" from file "{@file}" to "none"
  65. set yaml value "Players.%player%.duel.status" from file "{@file}" to "none"
  66. command /parkour [<text="help">] [<text>] [<text>] [<text>]:
  67. aliases: pk
  68. trigger:
  69. if arg 1 is "help":
  70. send "&8================================="
  71. send "&8> &6/parkour join <ID> &8- &3Dolacza do parkoura"
  72. send "&8> &6/parkour leave &8- &3Wychodzi z parkoura"
  73. send "&8> &6/parkour list &8- &3Lista parkourow"
  74. send "&8> &6/lvl &8- &3Sprawdza LvL"
  75. send "&8> &6/pktop <ID> &8- &3Calkowity ranking graczy na parkourze"
  76. send "&8> &6/duel <player> <prize> [<ID>] &8- &3Zaprasza gracza na duel"
  77. send "&8================================="
  78. if player has permission "parkour.help" or "parkour.*":
  79. send "&8> &6/parkour setlobby &8- &3Ustawia lobby serwera"
  80. send "&8================================="
  81. send "&8> &6/parkour create <ID> &8- &3Tworzy parkour"
  82. send "&8> &6/parkour remove <ID> &8- &3Usuwa parkour"
  83. send "&8> &6/parkour setspawn <ID> &8- &3Ustawia spawn parkoura"
  84. send "&8> &6/parkour setprize <ID> <number> &8- &3Ustawia ilosc XP otrzymywanego po przejsciu parkoura"
  85. send "&8> &6/parkour setminlvl <ID> <number> &8- &3Ustawia wymagany LvL do wejscia na parkour"
  86. send "&8> &6/parkour addregion <ID> <type> <number> &8- &3Dodaje region startu, konca lub upadku do parkoura"
  87. send "&8> &6/parkour removeregion <ID> <type> <number> &8- &3Usuwa region startu, konca lub upadku z parkoura"
  88. send "&8> &6/parkour restart <ID> &8- &3Restartuje parkour"
  89. send "&8> &6/parkour info <ID> &8- &3Pokazuje informacje o parkourze"
  90. send "&8================================="
  91. send "&8> &6/parkour:player &8- &3Informacje o graczu"
  92. send "&8> &6/parkour:lvl &8- &3Ustawia LvL gracza"
  93. send "&8> &6/parkour:multiplier &8- &3Ustawia mnoznik gracza"
  94. send "&8> &6/parkour:top &8- &3Ustawia scoreboard na parkourze"
  95. send "&8> &6/parkour:transition &8- &3Resetuje regress otrzymywanego XP po przejsciu parkoura dla gracza"
  96. send "&8================================="
  97. if arg 1 is "join":
  98. if arg 2 is set:
  99. set {_parkour} to arg 2
  100. replace all "_" with " " in {_parkour}
  101. set {_set} to yaml value "Maps.%{_parkour}%.prize" from file "{@file}"
  102. if {_set} is set:
  103. set {_lvl} to yaml value "Players.%player%.lvl" from file "{@file}"
  104. set {_lvl} to {_lvl} parsed as number
  105. set {_minlvl} to yaml value "Maps.%{_parkour}%.minlvl" from file "{@file}"
  106. set {_minlvl} to {_minlvl} parsed as number
  107. if {_lvl} >= {_minlvl}:
  108. set {parkour::start::%player%} to false
  109. set level of player to 0
  110. set level progress of player to 0.0
  111. set yaml value "Players.%player%.parkour" from file "{@file}" to "%{_parkour}%"
  112. teleport player to {parkour::spawn::arena::%{_parkour}%}
  113. #============================#
  114. send "{@tag} &6Przeteleportowano do &3%{_parkour}%"
  115. #============================#
  116. wait 1 tick
  117. set {_list::*} to yaml list "Register Players %{_parkour}%" from file "{@file}"
  118. loop {_list::*}:
  119. set {_top::%loop-value%} to yaml value "Players.%loop-value%.top.%{_parkour}%" from file "{@file}"
  120. set {_top::%loop-value%} to {_top::%loop-value%} parsed as number
  121. loop (size of {_top::*}) times:
  122. loop {_top::*}:
  123. if {_v.%loop-number%} is not set:
  124. set {_v.%loop-number%} to loop-value
  125. set {_n.%loop-number%} to loop-index
  126. if loop-value is less than {_v.%loop-number%}:
  127. set {_v.%loop-number%} to loop-value
  128. set {_n.%loop-number%} to loop-index
  129. remove {_v.%loop-number%} from {_top::*}
  130. display board named "&3%{_parkour}%" to player
  131. if {_v.1} is set:
  132. set {_v.1} to {_v.1} parsed as number
  133. make score "%({_v.1} / 1000)% &e%{_n.1}%" in board of player to -1
  134. if {_v.2} is set:
  135. set {_v.2} to {_v.2} parsed as number
  136. make score "%({_v.2} / 1000)% &7%{_n.2}%" in board of player to -2
  137. if {_v.3} is set:
  138. set {_v.3} to {_v.3} parsed as number
  139. make score "%({_v.3} / 1000)% &6%{_n.3}%" in board of player to -3
  140. if {_v.4} is set:
  141. set {_v.4} to {_v.4} parsed as number
  142. make score "%({_v.4} / 1000)% %{_n.4}%" in board of player to -4
  143. if {_v.5} is set:
  144. set {_v.5} to {_v.5} parsed as number
  145. make score "%({_v.5} / 1000)% %{_n.5}%" in board of player to -5
  146. if {_v.6} is set:
  147. set {_v.6} to {_v.6} parsed as number
  148. make score "%({_v.6} / 1000)% %{_n.6}%" in board of player to -6
  149. if {_v.7} is set:
  150. set {_v.7} to {_v.7} parsed as number
  151. make score "%({_v.7} / 1000)% %{_n.7}%" in board of player to -7
  152. if {_v.8} is set:
  153. set {_v.8} to {_v.8} parsed as number
  154. make score "%({_v.8} / 1000)% %{_n.8}%" in board of player to -8
  155. if {_v.9} is set:
  156. set {_v.9} to {_v.9} parsed as number
  157. make score "%({_v.9} / 1000)% %{_n.9}%" in board of player to -9
  158. if {_v.10} is set:
  159. set {_v.10} to {_v.10} parsed as number
  160. make score "%({_v.10} / 1000)% %{_n.10}%" in board of player to -10
  161. move display of player to sidebar
  162. else:
  163. send "{@tag} &cNie masz wystarczajacego LvL!"
  164. else:
  165. send "{@tag} &cTaki parkour nie istnieje!"
  166. else:
  167. send "{@tag} &6/parkour join &c<ID>"
  168. if arg 1 is "leave":
  169. send "{@tag} &6Przeteleportowano na &3spawn"
  170. delete yaml value "Players.%player%.parkour" from file "{@file}"
  171. set {parkour::start::%player%} to false
  172. teleport player to {parkour::spawn::server}
  173. set level of player to 0
  174. set level progress of player to 0.0
  175. display board named "" to player
  176. if arg 1 is "list":
  177. send "{@tag} &6Lista parkourow:"
  178. set {_list::*} to yaml list "List map" from file "{@file}"
  179. if (size of {_list::*}) is greater than 0:
  180. loop {_list::*}:
  181. set {_number} to loop-index
  182. set {_parkour} to loop-value
  183. #============================#
  184. send "&8> &7%{_number}%. &3%{_parkour}%"
  185. #============================#
  186. else:
  187. send "&8> &cBrak."
  188. if arg 1 is "setlobby":
  189. if player has permission "parkour.set.lobby" or "parkour.*":
  190. set {parkour::spawn::server} to location of player
  191. send "{@tag} &6Ustawiono lobby serwera"
  192. else:
  193. send "{@tag} &cNie posiadasz uprawnien!"
  194. if arg 1 is "create":
  195. if player has permission "parkour.create" or "parkour.*":
  196. if arg 2 is set:
  197. set {_parkour} to arg 2
  198. replace all "_" with " " in {_parkour}
  199. set {_set} to yaml value "Maps.%{_parkour}%.prize" from file "{@file}"
  200. if {_set} is set:
  201. send "{@tag} &cTaka parkour juz istnieje!"
  202. else:
  203. set yaml value "Maps.%{_parkour}%.prize" from file "{@file}" to "1"
  204. set yaml value "Maps.%{_parkour}%.minlvl" from file "{@file}" to "1"
  205. add "%{_parkour}%" to yaml list "List map" from file "{@file}"
  206. #============================#
  207. send "{@tag} &6Dodano parkour &3%{_parkour}%"
  208. #============================#
  209. else:
  210. send "{@tag} &6/parkour create &c<ID>"
  211. else:
  212. send "{@tag} &cNie posiadasz uprawnien!"
  213. if arg 1 is "remove":
  214. if player has permission "parkour.remove" or "parkour.*":
  215. if arg 2 is set:
  216. set {_parkour} to arg 2
  217. replace all "_" with " " in {_parkour}
  218. set {_set} to yaml value "Maps.%{_parkour}%.prize" from file "{@file}"
  219. if {_set} is set:
  220. remove "%{_parkour}%" from yaml list "List map" from file "{@file}"
  221. loop all players:
  222. set {_parkour} to yaml value "Players.%loop-player%.parkour" from file "{@file}"
  223. if {_parkour} is "%{_parkour}%":
  224. execute loop-player command "/pk leave"
  225. delete yaml list "Register Players %{_parkour}%" from file "{@file}"
  226. delete yaml value "Maps.%{_parkour}%" from file "{@file}"
  227. delete {parkour::spawn::arena::%{_parkour}%}
  228. #============================#
  229. send "{@tag} &6Usunieto parkour &3%{_parkour}%"
  230. #============================#
  231. else:
  232. send "{@tag} &cTaka parkour nie istnieje!"
  233. else:
  234. send "{@tag} &6/parkour remove &c<ID>"
  235. else:
  236. send "{@tag} &cNie posiadasz uprawnien!"
  237. if arg 1 is "setspawn":
  238. if player has permission "parkour.set.spawn" or "parkour.*":
  239. if arg 2 is set:
  240. set {_parkour} to arg 2
  241. replace all "_" with " " in {_parkour}
  242. set {_set} to yaml value "Maps.%{_parkour}%.prize" from file "{@file}"
  243. if {_set} is set:
  244. set {parkour::spawn::arena::%{_parkour}%} to location of player
  245. #============================#
  246. send "{@tag} &6Ustawiono spawn dla parkoura &3%{_parkour}%"
  247. #============================#
  248. else:
  249. send "{@tag} &cTaki parkour nie istnieje!"
  250. else:
  251. send "{@tag} &6/parkour setspawn &c<ID>"
  252. else:
  253. send "{@tag} &cNie posiadasz uprawnien!"
  254. if arg 1 is "setprize":
  255. if player has permission "parkour.set.prize" or "parkour.*":
  256. if arg 2 is set:
  257. set {_parkour} to arg 2
  258. replace all "_" with " " in {_parkour}
  259. set {_set} to yaml value "Maps.%{_parkour}%.prize" from file "{@file}"
  260. if {_set} is set:
  261. if arg 3 is set:
  262. set {_number} to arg 3 parsed as number
  263. set yaml value "Maps.%{_parkour}%.prize" from file "{@file}" to "%{_number}%"
  264. #============================#
  265. send "{@tag} &6Ustawiono &3%{_number}% XP &6nagrody za przejscie parkoura &3%{_parkour}%"
  266. #============================#
  267. else:
  268. send "{@tag} &6/parkour setprize <ID> &c<number>"
  269. else:
  270. send "{@tag} &cTaki parkour nie istnieje!"
  271. else:
  272. send "{@tag} &6/parkour setprize &c<ID> <number>"
  273. else:
  274. send "{@tag} &cNie posiadasz uprawnien!"
  275. if arg 1 is "setminlvl":
  276. if player has permission "parkour.set.minlvl" or "parkour.*":
  277. if arg 2 is set:
  278. set {_parkour} to arg 2
  279. replace all "_" with " " in {_parkour}
  280. set {_set} to yaml value "Maps.%{_parkour}%.prize" from file "{@file}"
  281. if {_set} is set:
  282. if arg 3 is set:
  283. set {_number} to arg 3 parsed as number
  284. set yaml value "Maps.%{_parkour}%.minlvl" from file "{@file}" to "%{_number}%"
  285. #============================#
  286. send "{@tag} &6Ustawiono &3%{_number}% &6wymaganego LvL do dolaczenia do parkoura &3%{_parkour}%"
  287. #============================#
  288. else:
  289. send "{@tag} &6/parkour setminlvl <ID> &c<number>"
  290. else:
  291. send "{@tag} &cTaki parkour nie istnieje!"
  292. else:
  293. send "{@tag} &6/parkour setminlvl &c<ID> <number>"
  294. else:
  295. send "{@tag} &cNie posiadasz uprawnien!"
  296. if arg 1 is "addregion":
  297. if player has permission "parkour.region.set" or "parkour.*":
  298. if arg 2 is set:
  299. set {_parkour} to arg 2
  300. replace all "_" with " " in {_parkour}
  301. set {_set} to yaml value "Maps.%{_parkour}%.prize" from file "{@file}"
  302. if {_set} is set:
  303. if arg 3 is set:
  304. if arg 3 is "start" or "end" or "fail":
  305. set {_type} to arg 3
  306. if arg 4 is set:
  307. set {_number} to arg 4 parsed as number
  308. execute player command "/region define %arg 2%_%{_type}%_%{_number}%"
  309. else:
  310. send "{@tag} &6/parkour addregion <ID> <type=start, end, fail> &c<number>"
  311. else:
  312. send "{@tag} &6/parkour addregion <ID> &c<type=start, end, fail> <number>"
  313. else:
  314. send "{@tag} &6/parkour addregion <ID> &c<type=start, end, fail> <number>"
  315. else:
  316. send "{@tag} &cTaki parkour nie istnieje!"
  317. else:
  318. send "{@tag} &6/parkour addregion &c<ID> <type> <number>"
  319. else:
  320. send "{@tag} &cNie posiadasz uprawnien!"
  321. if arg 1 is "removeregion":
  322. if player has permission "parkour.region.remove" or "parkour.*":
  323. if arg 2 is set:
  324. set {_parkour} to arg 2
  325. replace all "_" with " " in {_parkour}
  326. set {_set} to yaml value "Maps.%{_parkour}%.prize" from file "{@file}"
  327. if {_set} is set:
  328. if arg 3 is set:
  329. if arg 3 is "start" or "end" or "fail":
  330. set {_type} to arg 3
  331. if arg 4 is set:
  332. set {_number} to arg 4 parsed as number
  333. execute player command "/region remove %arg 2%_%{_type}%_%{_number}%"
  334. else:
  335. send "{@tag} &6/parkour removeregion <ID> <type=start, end, fail> &c<number>"
  336. else:
  337. send "{@tag} &6/parkour removeregion <ID> &c<type=start, end, fail> <number>"
  338. else:
  339. send "{@tag} &6/parkour removeregion <ID> &c<type=start, end, fail> <number>"
  340. else:
  341. send "{@tag} &cTaki parkour nie istnieje!"
  342. else:
  343. send "{@tag} &6/parkour removeregion &c<ID> <type> <number>"
  344. else:
  345. send "{@tag} &cNie posiadasz uprawnien!"
  346. if arg 1 is "restart":
  347. if player has permission "parkour.restart" or "parkour.*":
  348. if arg 2 is set:
  349. set {_parkour} to arg 2
  350. replace all "_" with " " in {_parkour}
  351. set {_set} to yaml value "Maps.%{_parkour}%.prize" from file "{@file}"
  352. if {_set} is set:
  353. loop all players:
  354. set {_parkour} to yaml value "Players.%loop-player%.parkour" from file "{@file}"
  355. if {_parkour} is "%{_parkour}%":
  356. execute loop-player command "/pk leave"
  357. send "{@tag} &6Parkour &3%{_parkour}% &6zostal zrestartowany"
  358. else:
  359. send "{@tag} &cTaki parkour nie istnieje!"
  360. else:
  361. send "{@tag} &6/parkour restart &c<ID>"
  362. else:
  363. send "{@tag} &cNie posiadasz uprawnien!"
  364. if arg 1 is "info":
  365. if player has permission "parkour.info" or "parkour.*":
  366. if arg 2 is set:
  367. set {_parkour} to arg 2
  368. replace all "_" with " " in {_parkour}
  369. set {_set} to yaml value "Maps.%{_parkour}%.prize" from file "{@file}"
  370. if {_set} is set:
  371. set {_x} to rounded up (x-coordinate of {parkour::spawn::arena::%{_parkour}%})
  372. set {_y} to rounded up (y-coordinate of {parkour::spawn::arena::%{_parkour}%})
  373. set {_z} to rounded up (z-coordinate of {parkour::spawn::arena::%{_parkour}%})
  374. set {_cord} to "%{_x}%, %{_y}%, %{_z}%"
  375. set {_prize} to yaml value "Maps.%{_parkour}%.prize" from file "{@file}"
  376. set {_minlvl} to yaml value "Maps.%{_parkour}%.minlvl" from file "{@file}"
  377. #============================#
  378. send "{@tag} &6Mapa &3%{_parkour}%&6:"
  379. send "&8> &6Otrzymywane XP: &3%{_prize}%"
  380. send "&8> &6Wymagany LvL: &3%{_minlvl}%"
  381. send "&8> &6Koordynanty parkoura: &3%{_cord}%"
  382. send "&8> &6Gracze na parkourze:"
  383. #============================#
  384. loop all players:
  385. set {_player} to yaml value "Players.%loop-player%.parkour" from file "{@file}"
  386. if {_player} is "%{_parkour}%":
  387. add loop-player to {_players::*}
  388. if (size of {_players::*}) is greater than 0:
  389. loop {_players::*}:
  390. set {_number} to loop-index
  391. set {_parkour} to loop-value
  392. #============================#
  393. send " &7%{_number}%. &3%{_parkour}%"
  394. #============================#
  395. else:
  396. send " &cBrak"
  397. else:
  398. send "{@tag} &cTaki parkour nie istnieje!"
  399. else:
  400. send "{@tag} &6/parkour info &c<ID>"
  401. else:
  402. send "{@tag} &cNie posiadasz uprawnien!"
  403. command /parkour:player [<text="help">] [<text>] [<text>]:
  404. aliases: pk:player
  405. trigger:
  406. if player has permissions "parkour.panel" or "parkour.*":
  407. if arg 1 is "help":
  408. send "&8> &6parkour:player info <player> &8- &3Spradza informacje o graczu"
  409. send "&8> &6parkour:player tp <player> <ID> &8- &3Teleportuje gracza na parkour"
  410. send "&8> &6parkour:player kick <player> &8- &3Wyrzuca gracza z parkoura"
  411. if arg 1 is "info":
  412. if arg 2 is set:
  413. set {_player} to arg 2 parsed as offlineplayer
  414. set {_nick} to yaml value "Players.%{_player}%.lvl" from file "{@file}"
  415. if {_nick} is set:
  416. set {_xp} to yaml value "Players.%{_player}%.xp" from file "{@file}"
  417. set {_lvl} to yaml value "Players.%{_player}%.lvl" from file "{@file}"
  418. set {_multiplier} to yaml value "Players.%{_player}%.multiplier" from file "{@file}"
  419. #============================#
  420. send "&8>=========================="
  421. send "&8> &6Gracz &3%{_player}%"
  422. send "&8> &6XP: &3%{_xp}%"
  423. send "&8> &6LvL: &3%{_lvl}%"
  424. send "&8> &6Mnoznik: &3%{_multiplier}%"
  425. #============================#
  426. if {_player} is online:
  427. send "&8> &6Aktualnie: &a&lONLINE"
  428. set {_parkour} to yaml value "Players.%{_player}%.parkour" from file "{@file}"
  429. if {_parkour} is set:
  430. #============================#
  431. send "&8> &6Aktualnie na parkourze &3%{_parkour}%"
  432. #============================#
  433. else:
  434. send "&8> &6Aktualnie na parkourze &cBrak."
  435. else:
  436. send "&8> &6Aktualnie: &c&lOFFLINE"
  437. send "&8> &6Liczba przejsc parkourow dzisiaj"
  438. set {_list::*} to yaml list "List map" from file "{@file}"
  439. loop {_list::*}:
  440. set {_transition} to yaml value "Players.%{_player}%.transition.%loop-value%" from file "{@file}"
  441. set {_transition} to {_transition} parsed as number
  442. if {_transition} > 0:
  443. set {_number} to loop-index
  444. set {_parkour} to loop-value
  445. #============================#
  446. send " &7%{_number}%. &6%{_parkour}%&7: &3%{_transition}%"
  447. #============================#
  448. send "&8>=========================="
  449. else:
  450. send "&8>=========================="
  451. send "&8> &cBrak gracza w liscie zarejestrowanych graczy."
  452. send "&8>=========================="
  453. else:
  454. send "&8> &6/parkour:lvl info &7<&6gracz&7>"
  455. if arg 1 is "tp":
  456. if arg 2 is set:
  457. set {_player} to arg 2 parsed as offlineplayer
  458. if {_player} is online:
  459. if arg 3 is set:
  460. set {_parkour} to arg 3
  461. replace all "_" with " " in {_parkour}
  462. set {_set} to yaml value "Maps.%{_parkour}%.prize" from file "{@file}"
  463. if {_set} is set:
  464. execute {_player} command "/pk join %arg 3%"
  465. #============================#
  466. send "{@tag} &6Przeteleportowano gracza &3%{_player}% &6na parkour &3%{_parkour}%"
  467. #============================#
  468. else:
  469. send "{@tag} &cTaki parkour nie istnieje!"
  470. else:
  471. send "{@tag} &6/parkour:player tp <player> &c<ID>"
  472. else:
  473. send "{@tag} &cTego gracza nie ma na serwerze!"
  474. else:
  475. send "{@tag} &6/parkour:player tp &c<player> <ID>"
  476. if arg 1 is "kick":
  477. if arg 2 is set:
  478. set {_player} to arg 2 parsed as offlineplayer
  479. if {_player} is online:
  480. execute {_player} command "pk leave"
  481. #============================#
  482. send "{@tag} &6Wyrzucono gracza &3%{_player}% &6z parkoura"
  483. #============================#
  484. else:
  485. send "{@tag} &cTego gracza nie ma na serwerze!"
  486. else:
  487. send "{@tag} &6/parkour:player kick &c<player>"
  488. else:
  489. send "{@tag} &cNie posiadasz uprawnien!"
  490. command /parkour:lvl [<text="help">] [<text>] [<text>]:
  491. aliases: pk:lvl
  492. trigger:
  493. if player has permissions "parkour.panel" or "parkour.*" or "parkour.set.lvl":
  494. if arg 1 is "help":
  495. send "&8> &6/parkour:lvl set <player> <number> &8- &3Ustawia LvL dla gracza"
  496. send "&8> &6/parkour:lvl add <player> <number> &8- &3Dodaje LvL dla gracza"
  497. send "&8> &6/parkour:lvl remove <player> <number> &8- &3Odejmuje LvL od gracza"
  498. if arg 1 is "set":
  499. if arg 2 is set:
  500. set {_player} to arg 2 parsed as offlineplayer
  501. if arg 3 is set:
  502. set {_number} to arg 3 parsed as number
  503. set yaml value "Players.%{_player}%.lvl" from file "{@file}" to "%{_number}%"
  504. if {_number} < 2:
  505. set yaml value "Players.%{_player}%.xp" from file "{@file}" to "0"
  506. else:
  507. set {_exp1} to {_number}
  508. set {_exp2} to {_exp1}*{@lvl multiplier}-1
  509. set {_toNext} to {_exp1}*{_exp2}
  510. set yaml value "Players.%{_player}%.xp" from file "{@file}" to "%{_toNext}%"
  511. #============================#
  512. send "{@tag} &6Ustawiono LvL dla gracza &3%{_player}%"
  513. send "{@tag} &6Jego LvL wynosi teraz &3%{_number}%"
  514. #============================#
  515. else:
  516. send "{@tag} &6/parkour:lvl set <player> &c<number>"
  517. else:
  518. send "{@tag} &6/parkour:lvl set &c<player> <number>"
  519. if arg 1 is "add":
  520. if arg 2 is set:
  521. set {_player} to arg 2 parsed as offlineplayer
  522. if arg 3 is set:
  523. set {_number} to arg 3 parsed as number
  524. if {_number} > 0:
  525. set {_lvl} to yaml value "Players.%{_player}%.lvl" from file "{@file}"
  526. set {_lvl} to {_lvl} parsed as number
  527. set {_lvl} to {_lvl} + {_number}
  528. set yaml value "Players.%{_player}%.lvl" from file "{@file}" to "%{_lvl}%"
  529. set {_exp1} to {_lvl}
  530. set {_exp2} to {_exp1}*{@lvl multiplier}-1
  531. set {_toNext} to {_exp1}*{_exp2}
  532. set yaml value "Players.%{_player}%.xp" from file "{@file}" to "%{_toNext}%"
  533. #============================#
  534. send "{@tag} &6Dodano &3%{_number}% LvL &6dla gracza &3%{_player}%"
  535. send "{@tag} &6Jego LvL wynosi teraz &3%{_lvl}%"
  536. #============================#
  537. else:
  538. send "{@tag} &6/parkour:lvl add <player> &c<number>"
  539. else:
  540. send "{@tag} &6/parkour:lvl add &c<player> <number>"
  541. if arg 1 is "remove":
  542. if arg 2 is set:
  543. set {_player} to arg 2 parsed as offlineplayer
  544. if arg 3 is set:
  545. set {_number} to arg 3 parsed as number
  546. if {_number} > 0:
  547. set {_lvl} to yaml value "Players.%{_player}%.lvl" from file "{@file}"
  548. set {_lvl} to {_lvl} parsed as number
  549. set {_lvl} to {_lvl} - {_number}
  550. set yaml value "Players.%{_player}%.lvl" from file "{@file}" to "%{_lvl}%"
  551. set {_exp1} to {_lvl}
  552. set {_exp2} to {_exp1}*{@lvl multiplier}-1
  553. set {_toNext} to {_exp1}*{_exp2}
  554. set yaml value "Players.%{_player}%.xp" from file "{@file}" to "%{_toNext}%"
  555. #============================#
  556. send "{@tag} &6Odjeto &3%{_number}% LvL &6od gracza &3%{_player}%"
  557. send "{@tag} &6Jego LvL wynosi teraz &3%{_lvl}%"
  558. #============================#
  559. else:
  560. send "{@tag} &6/parkour:lvl add <player> &c<number>"
  561. else:
  562. send "{@tag} &6/parkour:lvl add &c<player> <number>"
  563. else:
  564. send "{@tag} &cNie posiadasz uprawnien!"
  565. command /parkour:multiplier [<text="help">] [<text>] [<text>]:
  566. aliases: pk:multiplier
  567. trigger:
  568. if player has permissions "parkour.panel" or "parkour.*" or "parkour.set.multiplier":
  569. if arg 1 is "help":
  570. send "&8> &6/parkour:multiplier set <player> <number> &8- &3Ustawia mnoznik"
  571. send "&8> &6/parkour:multiplier add <player> <number> &8- &3Dodaje mnoznik"
  572. send "&8> &6/parkour:multiplier remove <player> <number> &8- &3Odejmuje mnoznik"
  573. if arg 1 is "set":
  574. if arg 2 is set:
  575. set {_player} to arg 2 parsed as offlineplayer
  576. if arg 3 is set:
  577. set {_multiplier} to arg 3 parsed as number
  578. set yaml value "Players.%{_player}%.multiplier" from file "{@file}" to "%{_multiplier}%"
  579. #============================#
  580. send "{@tag} &6Ustawiono mnoznik dla gracza &3%{_player}%"
  581. send "{@tag} &6Jego mnoznik wynosi teraz &3%{_multiplier}%x"
  582. #============================#
  583. else:
  584. send "{@tag} &6/parkour:multiplier set <player> &c<number>"
  585. else:
  586. send "{@tag} &6/parkour:multiplier set &c<player> <number>"
  587. if arg 1 is "add":
  588. if arg 2 is set:
  589. set {_player} to arg 2 parsed as offlineplayer
  590. if arg 3 is set:
  591. set {_number} to arg 3 parsed as number
  592. if {_number} > 0:
  593. set {_multiplier} to yaml value "Players.%{_player}%.multiplier" from file "{@file}"
  594. set {_multiplier} to {_multiplier} parsed as number
  595. set {_multiplier} to {_multiplier} + {_number}
  596. set yaml value "Players.%{_player}%.multiplier" from file "{@file}" to "%{_multiplier}%"
  597. #============================#
  598. send "{@tag} &6Dodano &3%{_number}%x mnoznika &6dla gracza &3%{_player}%"
  599. send "{@tag} &6Jego mnoznik wynosi teraz &3%{_multiplier}%x"
  600. #============================#
  601. else:
  602. send "{@tag} &6/parkour:multiplier add <player> &c<number>"
  603. else:
  604. send "{@tag} &6/parkour:multiplier add &c<player> <number>"
  605. if arg 1 is "remove":
  606. if arg 2 is set:
  607. set {_player} to arg 2 parsed as offlineplayer
  608. if arg 3 is set:
  609. set {_number} to arg 3 parsed as number
  610. if {_number} > 0:
  611. set {_multiplier} to yaml value "Players.%{_player}%.multiplier" from file "{@file}"
  612. set {_multiplier} to {_multiplier} parsed as number
  613. set {_multiplier} to {_multiplier} - {_number}
  614. set yaml value "Players.%{_player}%.multiplier" from file "{@file}" to "%{_multiplier}%"
  615. #============================#
  616. send "{@tag} &6Odjeto &3%{_number}%x mnoznika &6dla gracza &3%{_player}%"
  617. send "{@tag} &6Jego mnoznik wynosi teraz &3%{_multiplier}%x"
  618. #============================#
  619. else:
  620. send "{@tag} &6/parkour:multiplier add <player> &c<number>"
  621. else:
  622. send "{@tag} &6/parkour:multiplier add &c<player> <number>"
  623. else:
  624. send "{@tag} &cNie posiadasz uprawnien!"
  625. command /parkour:top [<text="help">] [<text>] [<text>] [<text>]:
  626. aliases: pk:top
  627. trigger:
  628. if player has permission "parkour.panel" or "parkour.*" or "parkour.set.top":
  629. if arg 1 is "help":
  630. send "&8> &6/parkour reset <ID> <player> &8- &3Usuwa gracza z tabeli wynikow na parkourze"
  631. send "&8> &6/parkour resetall <ID> &8- &3Usuwa cala tabele wynikow z parkoura"
  632. send "&8> &6/parkour set <ID> <player> <miliseconds> &8- &3Ustawia wynik gracza na parkourze"
  633. if arg 1 is "reset":
  634. if arg 2 is set:
  635. set {_parkour} to arg 2
  636. replace all "_" with " " in {_parkour}
  637. set {_set} to yaml value "Maps.%{_parkour}%.prize" from file "{@file}"
  638. if {_set} is set:
  639. if arg 3 is set:
  640. set {_player} to arg 3 parsed as offlineplayer
  641. set {_yaml} to yaml value "Players.%{_player}%.top.%{_parkour}%" from file "{@file}"
  642. if {_yaml} is set:
  643. delete yaml value "Players.%{_player}%.top.%{_parkour}%" from file "{@file}"
  644. remove "%{_player}%" from yaml list "%{_parkour}%" from file "{@file}"
  645. #============================#
  646. send "{@tag} &6Usunieto wynik gracza &3%{_player}% &6z parkoura &3%{_parkour}%"
  647. #============================#
  648. else:
  649. send "{@tag} &cTen gracz nie ma zarejestrowanego wyniku na tym parkourze!"
  650. else:
  651. send "{@tag} &6/parkour:top reset <ID> &c<player>"
  652. else:
  653. send "{@tag} &cTaki parkour nie istnieje!"
  654. else:
  655. send "{@tag} &6/parkour:top reset &c<ID> <player>"
  656. if arg 1 is "resetall":
  657. if arg 2 is set:
  658. set {_parkour} to arg 2
  659. replace all "_" with " " in {_parkour}
  660. set {_set} to yaml value "Maps.%{_parkour}%.prize" from file "{@file}"
  661. if {_set} is set:
  662. set {_list::*} to yaml list "%{_parkour}%" from file "{@file}"
  663. loop {_list::*}:
  664. delete yaml value "Players.%loop-value%.top.%{_parkour}%" from file "{@file}"
  665. delete yaml list "%{_parkour}%" from file "{@file}"
  666. #============================#
  667. send "{@tag} &6Zresetowana scoreboard dla parkoura &3%{_parkour}%"
  668. #============================#
  669. else:
  670. send "{@tag} &cTaki parkour nie istnieje!"
  671. else:
  672. send "{@tag} &6/parkour:top resetall &c<ID>"
  673. if arg 1 is "set":
  674. if arg 2 is set:
  675. set {_parkour} to arg 2
  676. replace all "_" with " " in {_parkour}
  677. set {_set} to yaml value "Maps.%{_parkour}%.prize" from file "{@file}"
  678. if {_set} is set:
  679. if arg 3 is set:
  680. set {_player} to arg 3 parsed as offlineplayer
  681. if arg 4 is set:
  682. set {_time} to arg 4 parsed as number
  683. set yaml value "Players.%{_player}%.top.%{_parkour}%" from file "{@file}" to "%{_time}%"
  684. #============================#
  685. send "{@tag} &6Ustawiono wynik gracza &3%{_player}% &6na parkourze &3%{_parkour}% &6na &3%({_time} / 1000)%&6s"
  686. #============================#
  687. else:
  688. send "{@tag} &6/parkour:top set <ID> <player> &c<number>"
  689. else:
  690. send "{@tag} &6/parkour:top set <ID> &c<player> <number>"
  691. else:
  692. send "{@tag} &cTaki parkour nie istnieje!"
  693. else:
  694. send "{@tag} &6/parkour:top set &c<ID> <player> <number>"
  695. else:
  696. send "{@tag} &cNie posiadasz uprawnien!"
  697. command /parkour:transition [<text="help">] [<text>] [<text>]:
  698. aliases: pk:transition
  699. trigger:
  700. if player has permission "parkour.panel" or "parkour.*" or "parkour.set.transition":
  701. if arg 1 is "help":
  702. send "&8> &6/parkour:transition reset <ID> <player> &8- &3Resetuje regress otrzymywanego XP na parkourze"
  703. send "&8> &6/parkour:transition resetall <player> &8- &3Resetuje regress otrzymywanego XP na wszystkich parkourch"
  704. if arg 1 is "reset":
  705. if arg 2 is set:
  706. set {_parkour} to arg 2
  707. replace all "_" with " " in {_parkour}
  708. if arg 3 is set:
  709. set {_player} to arg 3 parsed as offlineplayer
  710. set {_set} to yaml value "Maps.%{_parkour}%.prize" from file "{@file}"
  711. if {_set} is set:
  712. set yaml value "Players.%{_player}%.transition.%{_parkour}%" from file "{@file}" to "0"
  713. #============================#
  714. send "{@tag} &6Zresetowano regress otrzymywanego XP dla gracza &3%{_player}% &6na parkourze &3%{_parkour}%"
  715. #============================#
  716. else:
  717. send "{@tag} &cTaki parkour nie istnieje!"
  718. else:
  719. send "{@tag} &6/parkour:transition reset <ID> &c<player>"
  720. else:
  721. send "{@tag} &6/parkour:transition reset &c<ID> <player>"
  722. if arg 1 is "resetall":
  723. if arg 2 is set:
  724. set {_player} to arg 2 parsed as offlineplayer
  725. set {_list::*} to yaml list "List map" from file "{@file}"
  726. loop {_list::*}:
  727. set yaml value "Players.%{_player}%.transition.%loop-value%" from file "{@file}" to "0"
  728. #============================#
  729. send "{@tag} &6Zresetowano regress otrzymywanego XP dla gracza &3%{_player}% &6na wszystkich parkourch"
  730. #============================#
  731. else:
  732. send "{@tag} &6/parkour:transition resetall &c<player>"
  733. else:
  734. send "{@tag} &cNie posiadasz uprawnien!"
  735. command /lvl [<text>]:
  736. trigger:
  737. set {_lvl} to yaml value "Players.%player%.lvl" from file "{@file}"
  738. set {_lvl} to {_lvl} parsed as number
  739. set {_xp} to yaml value "Players.%player%.xp" from file "{@file}"
  740. set {_xp} to {_xp} parsed as number
  741. set {_exp1} to {_lvl}+1
  742. set {_exp2} to {_exp1}*{@lvl multiplier}
  743. set {_toNext} to {_exp1}*{_exp2}
  744. set {_toNext} to {_toNext}-{_xp}
  745. #============================#
  746. send "&8>=========================="
  747. send "&8> "
  748. send "&8> &6Posiadasz %{_xp}% XP czyli &3%{_lvl}% &6LvL"
  749. send "&8> "
  750. send "&8> &6Do nastepnego LvL:"
  751. send "&8> &3%{_toNext}% &6XP"
  752. send "&8>=========================="
  753. #============================#
  754. command /duel [<text="help">] [<integer>] [<text>]:
  755. trigger:
  756. if arg 1 is "help":
  757. send "&8> &6/duel <player> <prize> [<ID>] &8- &3Zaprasza gracza na duel"
  758. send "&8> &6/duel leave &8- &3Opuszcza duel"
  759. if arg 1 is "leave":
  760. set {_status} to yaml value "Players.%player%.duel.status" from file "{@file}"
  761. if {_status} is "battle":
  762. set {_opponent} to yaml value "Players.%player%.duel.invitation" from file "{@file}"
  763. set {_prize} to yaml value "Players.%player%.duel.prize" from file "{@file}"
  764. set {_prize} to {_prize} parsed as number
  765. set yaml value "Players.%{_opponent}%.duel.status" from file "{@file}" to "none"
  766. set yaml value "Players.%{_opponent}%.duel.prize" from file "{@file}" to "none"
  767. set yaml value "Players.%{_opponent}%.duel.parkour" from file "{@file}" to "none"
  768. set yaml value "Players.%{_opponent}%.duel.invitation" from file "{@file}" to "none"
  769. set yaml value "Players.%player%.duel.status" from file "{@file}" to "none"
  770. set yaml value "Players.%player%.duel.prize" from file "{@file}" to "none"
  771. set yaml value "Players.%player%.duel.parkour" from file "{@file}" to "none"
  772. set yaml value "Players.%player%.duel.invitation" from file "{@file}" to "none"
  773. set {_actualXP} to yaml value "Players.%player%.xp" from file "{@file}"
  774. set {_actualXP} to {_actualXP} parsed as number
  775. set {_actualXP} to {_actualXP}+{_prize}
  776. set yaml value "Players.%player%.xp" from file "{@file}" to "%{_actualXP}%"
  777. broadcast "{@tag} &6Gracz &3%player% [+%{_prize}%XP] &6wygral duel z graczem &3%{_opponent}% &6na mapie &3%{_parkour}%&6!"
  778. launch flickering trailing ball firework colored green at player timed 1
  779. reveal all players to player
  780. reveal all players to {_opponent}
  781. else if {_status} is "wait":
  782. set yaml value "Players.%player%.duel.status" from file "{@file}" to "none"
  783. else if {_status} is "none":
  784. send "{@tag} &cNie jestes podczas duelu!"
  785. if arg 1 is not "help" or "leave":
  786. set {_status} to yaml value "Players.%player%.duel.status" from file "{@file}"
  787. if {_status} is "none":
  788. if arg 1 is set:
  789. set {_opponent} to arg 1 parsed as offlineplayer
  790. if {_opponent} is not "%player%":
  791. if {_opponent} is online:
  792. set {_invitation} to yaml value "Players.%{_opponent}%.duel.invitation" from file "{@file}"
  793. if {_invitation} is "%player%":
  794. set {_parkour} to yaml value "Players.%{_opponent}%.duel.parkour" from file "{@file}"
  795. set {_prize} to yaml value "Players.%{_opponent}%.duel.prize" from file "{@file}"
  796. set {_prize} to {_prize} parsed as number
  797. set {_actualXP} to yaml value "Players.%player%.xp" from file "{@file}"
  798. set {_actualXP} to {_actualXP} parsed as number
  799. set {_actualXP} to {_actualXP} - ({_prize} / 2)
  800. set yaml value "Players.%player%.duel.parkour" from file "{@file}" to "%{_parkour}%"
  801. set yaml value "Players.%player%.duel.invitation" from file "{@file}" to "%{_opponent}%"
  802. set yaml value "Players.%player%.duel.prize" from file "{@file}" to "%{_prize}%"
  803. set yaml value "Players.%player%.xp" from file "{@file}" to "%{_actualXP}%"
  804. set {_actualXP} to yaml value "Players.%{_opponent}%.xp" from file "{@file}"
  805. set {_actualXP} to {_actualXP} parsed as number
  806. set {_actualXP} to {_actualXP} - ({_prize} / 2)
  807. set yaml value "Players.%{_opponent}%.xp" from file "{@file}" to "%{_actualXP}%"
  808. #============================#
  809. send "{@tag} &6Zaakceptowales zaproszenie do duelu gracza &3%{_opponent}%"
  810. send "{@tag} &3%player% &6zaakceptowal twoje zaproszenie do duelu" to {_opponent}
  811. #============================#
  812. execute player command "/pk join %{_parkour}%"
  813. execute {_opponent} command "/pk join %{_parkour}%"
  814. set yaml value "Players.%{_opponent}%.duel.status" from file "{@file}" to "wait"
  815. set yaml value "Players.%player%.duel.status" from file "{@file}" to "wait"
  816. set level of player to {@duel counting down}+1
  817. set level of {_opponent} to {@duel counting down}+1
  818. hide all players from player
  819. hide all players from {_opponent}
  820. loop {@duel counting down} times:
  821. set {_status1} to yaml value "Players.%{_opponent}%.duel.status" from file "{@file}"
  822. set {_status2} to yaml value "Players.%player%.duel.status" from file "{@file}"
  823. if {_status1} is "wait":
  824. if {_status2} is "wait":
  825. set {_x} to level of player - 1
  826. set level of player to {_x}
  827. set level of {_opponent} to {_x}
  828. play raw sound "note.pling" at player with pitch 1 volume 4
  829. play raw sound "note.pling" at {_opponent} with pitch 1 volume 4
  830. else:
  831. exit loop
  832. set yaml value "Players.%{_opponent}%.duel.status" from file "{@file}" to "none"
  833. set yaml value "Players.%{_opponent}%.duel.prize" from file "{@file}" to "none"
  834. set yaml value "Players.%{_opponent}%.duel.parkour" from file "{@file}" to "none"
  835. set yaml value "Players.%{_opponent}%.duel.invitation" from file "{@file}" to "none"
  836. set yaml value "Players.%player%.duel.status" from file "{@file}" to "none"
  837. set yaml value "Players.%player%.duel.prize" from file "{@file}" to "none"
  838. set yaml value "Players.%player%.duel.parkour" from file "{@file}" to "none"
  839. set yaml value "Players.%player%.duel.invitation" from file "{@file}" to "none"
  840. send "{@tag} &cOpusciles duel."
  841. send "{@tag} &cTwoj przeciwnik opuscil duel." to {_opponent}
  842. reveal all players to player
  843. reveal all players to {_opponent}
  844. stop
  845. else:
  846. exit loop
  847. set yaml value "Players.%{_opponent}%.duel.status" from file "{@file}" to "none"
  848. set yaml value "Players.%{_opponent}%.duel.prize" from file "{@file}" to "none"
  849. set yaml value "Players.%{_opponent}%.duel.parkour" from file "{@file}" to "none"
  850. set yaml value "Players.%{_opponent}%.duel.invitation" from file "{@file}" to "none"
  851. set yaml value "Players.%player%.duel.status" from file "{@file}" to "none"
  852. set yaml value "Players.%player%.duel.prize" from file "{@file}" to "none"
  853. set yaml value "Players.%player%.duel.parkour" from file "{@file}" to "none"
  854. set yaml value "Players.%player%.duel.invitation" from file "{@file}" to "none"
  855. send "{@tag} &cTwoj przeciwnik opuscil duel."
  856. send "{@tag} &cOpusciles duel." to {_opponent}
  857. reveal all players to player
  858. reveal all players to {_opponent}
  859. stop
  860. wait 1 second
  861. set {_status1} to yaml value "Players.%{_opponent}%.duel.status" from file "{@file}"
  862. set {_status2} to yaml value "Players.%player%.duel.status" from file "{@file}"
  863. if {_status1} and {_status2} is "wait":
  864. set yaml value "Players.%{_opponent}%.duel.status" from file "{@file}" to "battle"
  865. set yaml value "Players.%player%.duel.status" from file "{@file}" to "battle"
  866. play raw sound "note.pling" at player with pitch 2 volume 4
  867. play raw sound "note.pling" at {_opponent} with pitch 2 volume 4
  868. else:
  869. if arg-integer is set:
  870. set {_prize} to arg-integer
  871. if {_prize} > -1:
  872. set {_xp} to yaml value "Players.%player%.xp" from file "{@file}"
  873. set {_xp} to {_xp} parsed as number
  874. if ({_xp} / 2) >= {_prize}:
  875. set {_status} to yaml value "Players.%{_opponent}%.duel.status" from file "{@file}"
  876. if {_status} is "none":
  877. if arg 3 is set:
  878. set {_parkour} to arg 3
  879. set {_set} to yaml value "Maps.%{_parkour}%.prize" from file "{@file}"
  880. if {_set} is set:
  881. set yaml value "Players.%player%.duel.parkour" from file "{@file}" to "%{_parkour}%"
  882. set yaml value "Players.%player%.duel.invitation" from file "{@file}" to "%{_opponent}%"
  883. set yaml value "Players.%player%.duel.prize" from file "{@file}" to "%{_prize}%"
  884. #============================#
  885. send "{@tag} &6Zaprosiles gracza &3%{_opponent}% &6do duelu o &3%{_prize}%XP &6na parkourze &3%{_parkour}%"
  886. send "{@tag} &6Zostales zaproszony przez gracza &3%player% &6do duelu o &3%{_prize}%XP &6na parkourze &3%{_parkour}%" to {_opponent}
  887. send "{@tag} &6wpisz &3/duel %player% &6aby zaakceptowac" to {_opponent}
  888. #============================#
  889. else:
  890. send "{@tag} &cTaki parkour nie istnieje!"
  891. send "{@tag} &cLista parkourow pod komendom /pk list"
  892. else:
  893. set {_list::*} to yaml list "List map" from file "{@file}"
  894. set {_parkour} to random element out of {_list::*}
  895. set yaml value "Players.%player%.duel.parkour" from file "{@file}" to "%{_parkour}%"
  896. set yaml value "Players.%player%.duel.invitation" from file "{@file}" to "%{_opponent}%"
  897. set yaml value "Players.%player%.duel.prize" from file "{@file}" to "%{_prize}%"
  898. #============================#
  899. send "{@tag} &6Zaprosiles gracza &3%{_opponent}% &6do duelu o &3%{_prize}%XP"
  900. send "{@tag} &6Zostales zaproszony przez gracza &3%player% &6do duelu o &3%{_prize}%XP" to {_opponent}
  901. send "{@tag} &6wpisz &3/duel %player% &6aby zaakceptowac" to {_opponent}
  902. #============================#
  903. else:
  904. send "{@tag} &cTen gracz jest podczas duelu!"
  905. else:
  906. send "{@tag} &cMasz niewystarczajaca liczbe XP!"
  907. else:
  908. send "{@tag} &cMinimalna stawka wynosi 0!"
  909. else:
  910. send "{@tag} &cPodaj stawke!"
  911. send "{@tag} &6/duel <player> &c<prize> &6[<ID>]"
  912. else:
  913. send "{@tag} &cTen gracza nie ma na serwerze!"
  914. else:
  915. send "{@tag} &cNie mozesz wziac duelu z samym soba!!"
  916. else:
  917. send "{@tag} &cPodaj gracza!"
  918. send "{@tag} &6/duel &c<player> <prize> &6[<ID>]"
  919. else:
  920. send "{@tag} &cJestes podczas duelu!"
  921. on region enter:
  922. set {_parkour} to yaml value "Players.%player%.parkour" from file "{@file}"
  923. if {_parkour} is set:
  924. set {_parkour_region} to {_parkour}
  925. replace all " " with "_" in {_parkour_region}
  926. if "%region%" contains "%{_parkour_region}%_start":
  927. set {parkour::time::start::%player%} to now in millis
  928. set level progress of player to 0
  929. set level of player to 0
  930. set {parkour::start::%player%} to true
  931. if "%region%" contains "%{_parkour_region}%_fail":
  932. set {parkour::start::%player%} to false
  933. teleport player to {parkour::spawn::arena::%{_parkour}%}
  934. set level progress of player to 0
  935. set level of player to 0
  936. if "%region%" contains "%{_parkour_region}%_end":
  937. if {parkour::start::%player%} is true:
  938. set {_time_end} to now in millis
  939. set {parkour::start::%player%} to false
  940. set {_lvl} to yaml value "Players.%player%.lvl" from file "{@file}"
  941. set {_xp} to yaml value "Players.%player%.xp" from file "{@file}"
  942. set {_multiplier} to yaml value "Players.%player%.multiplier" from file "{@file}"
  943. set {_transition} to yaml value "Players.%player%.transition.%{_parkour}%" from file "{@file}"
  944. set {_prize} to yaml value "Maps.%{_parkour}%.prize" from file "{@file}"
  945. set {_lvl} to {_lvl} parsed as number
  946. set {_xp} to {_xp} parsed as number
  947. set {_multiplier} to {_multiplier} parsed as number
  948. set {_transition} to {_transition} parsed as number
  949. set {_addXP} to {_prize} parsed as number
  950. if player has permission "parkour.vip":
  951. set {_addXP} to {_addXP}*2
  952. set {_addXP} to rounded down ({_addXP}*{_multiplier})
  953. set {_addXP} to ({_addXP} - {_transition})
  954. if {_addXP} is less than 1:
  955. set {_addXP} to 1
  956. set {_xp} to {_addXP} + {_xp}
  957. set yaml value "Players.%player%.xp" from file "{@file}" to "%{_xp}%"
  958. add 1 to {_transition}
  959. set yaml value "Players.%player%.transition.%{_parkour}%" from file "{@file}" to "%{_transition}%"
  960. wait 1 tick
  961. set {_time} to converted time {parkour::time::start::%player%} and {_time_end}
  962. set {_time} to {_time} parsed as number
  963. #============================#
  964. send "{@tag} &6Ukonczyles parkour w &3%({_time} / 1000)% sekund&6."
  965. send "{@tag} &6Dostales &3%{_addXP}% XP. &6Calos twojego XP to %{_xp}%."
  966. #============================#
  967. wait 1 tick
  968. set {_yaml} to yaml value "Players.%player%.top.%{_parkour}%" from file "{@file}"
  969. set {_yaml} to {_yaml} parsed as number
  970. if {_yaml} is not set:
  971. set {_yaml} to 9999999
  972. add "%player%" to yaml list "Register Players %{_parkour}%" from file "{@file}"
  973. if {_time} is less than {_yaml}:
  974. set yaml value "Players.%player%.top.%{_parkour}%" from file "{@file}" to "%{_time}%"
  975. set {_list::*} to yaml list "Register Players %{_parkour}%" from file "{@file}"
  976. loop {_list::*}:
  977. set {_top::%loop-value%} to yaml value "Players.%loop-value%.top.%{_parkour}%" from file "{@file}"
  978. set {_top::%loop-value%} to {_top::%loop-value%} parsed as number
  979. loop (size of {_top::*}) times:
  980. loop {_top::*}:
  981. if {_v.%loop-number%} is not set:
  982. set {_v.%loop-number%} to loop-value
  983. set {_n.%loop-number%} to loop-index
  984. if loop-value is less than {_v.%loop-number%}:
  985. set {_v.%loop-number%} to loop-value
  986. set {_n.%loop-number%} to loop-index
  987. remove {_v.%loop-number%} from {_top::*}
  988. if {_n.1} or {_n.2} or {_n.3} or {_n.4} or {_n.5} or {_n.6} or {_n.7} or {_n.8} or {_n.9} or {_n.10} is "%player%":
  989. if {_n.1} is "%player%":
  990. #============================#
  991. send "{@tag} &6Ustanowiles najlepszy personalny rekord na parkourze &3%{_parkour}%"
  992. broadcast "{@tag} &3%player% &6ustanowil nowy rekord na parkourze &3%{_parkour}% &6z czasem &3%({_time} / 1000)% sekund&6!"
  993. #============================#
  994. else:
  995. #============================#
  996. send "{@tag} &6Ustanowiles swoj personalny rekord na parkourze &3%{_parkour}%&6!"
  997. #============================#
  998. loop all players:
  999. set {_parkour_loop_players} to yaml value "Players.%loop-player%.parkour" from file "{@file}"
  1000. if {_parkour_loop_players} is "%{_parkour}%":
  1001. display board named "&3%{_parkour}%" to loop-player
  1002. if {_v.1} is set:
  1003. set {_v.1} to {_v.1} parsed as number
  1004. make score "%({_v.1} / 1000)% &e%{_n.1}%" in board of loop-player to -1
  1005. if {_v.2} is set:
  1006. set {_v.2} to {_v.2} parsed as number
  1007. make score "%({_v.2} / 1000)% &7%{_n.2}%" in board of loop-player to -2
  1008. if {_v.3} is set:
  1009. set {_v.3} to {_v.3} parsed as number
  1010. make score "%({_v.3} / 1000)% &6%{_n.3}%" in board of loop-player to -3
  1011. if {_v.4} is set:
  1012. set {_v.4} to {_v.4} parsed as number
  1013. make score "%({_v.4} / 1000)% %{_n.4}%" in board of loop-player to -4
  1014. if {_v.5} is set:
  1015. set {_v.5} to {_v.5} parsed as number
  1016. make score "%({_v.5} / 1000)% %{_n.5}%" in board of loop-player to -5
  1017. if {_v.6} is set:
  1018. set {_v.6} to {_v.6} parsed as number
  1019. make score "%({_v.6} / 1000)% %{_n.6}%" in board of loop-player to -6
  1020. if {_v.7} is set:
  1021. set {_v.7} to {_v.7} parsed as number
  1022. make score "%({_v.7} / 1000)% %{_n.7}%" in board of loop-player to -7
  1023. if {_v.8} is set:
  1024. set {_v.8} to {_v.8} parsed as number
  1025. make score "%({_v.8} / 1000)% %{_n.8}%" in board of loop-player to -8
  1026. if {_v.9} is set:
  1027. set {_v.9} to {_v.9} parsed as number
  1028. make score "%({_v.9} / 1000)% %{_n.9}%" in board of loop-player to -9
  1029. if {_v.10} is set:
  1030. set {_v.10} to {_v.10} parsed as number
  1031. make score "%({_v.10} / 1000)% %{_n.10}%" in board of loop-player to -10
  1032. move display of loop-player to sidebar
  1033. wait 5 tick
  1034. else:
  1035. #============================#
  1036. send "{@tag} &6Ustanowiles swoj personalny rekord na parkourze &3%{_parkour}%&6!"
  1037. #============================#
  1038. wait 1 tick
  1039. set {_status} to yaml value "Players.%player%.duel.status" from file "{@file}"
  1040. if {_status} is "battle":
  1041. set {_name} to yaml value "Players.%player%.duel.parkour" from file "{@file}"
  1042. if {_parkour} is {_name}:
  1043. set {_opponent} to yaml value "Players.%player%.duel.invitation" from file "{@file}"
  1044. set {_prize} to yaml value "Players.%{_opponent}%.duel.prize" from file "{@file}"
  1045. set {_prize} to {_prize} parsed as number
  1046. set yaml value "Players.%{_opponent}%.duel.status" from file "{@file}" to "none"
  1047. set yaml value "Players.%{_opponent}%.duel.prize" from file "{@file}" to "none"
  1048. set yaml value "Players.%{_opponent}%.duel.parkour" from file "{@file}" to "none"
  1049. set yaml value "Players.%{_opponent}%.duel.invitation" from file "{@file}" to "none"
  1050. set yaml value "Players.%player%.duel.status" from file "{@file}" to "none"
  1051. set yaml value "Players.%player%.duel.prize" from file "{@file}" to "none"
  1052. set yaml value "Players.%player%.duel.parkour" from file "{@file}" to "none"
  1053. set yaml value "Players.%player%.duel.invitation" from file "{@file}" to "none"
  1054. set {_actualXP} to yaml value "Players.%player%.xp" from file "{@file}"
  1055. set {_actualXP} to {_actualXP} parsed as number
  1056. set {_actualXP} to {_actualXP}+{_prize}
  1057. set yaml value "Players.%player%.xp" from file "{@file}" to "%{_actualXP}%"
  1058. broadcast "{@tag} &6Gracz &3%player% [+%{_prize}%XP] &6wygral duel z graczem &3%{_opponent}% &6na mapie &3%{_parkour}%&6!"
  1059. launch flickering trailing ball firework colored green at player timed 1
  1060. reveal all players to player
  1061. reveal all players to {_opponent}
  1062. wait 1 tick
  1063. set {_currently_lvl} to {_xp}
  1064. set {_exp1} to {_lvl}+1
  1065. set {_exp2} to {_exp1}*{@lvl multiplier}
  1066. set {_result} to {_exp1}*{_exp2}
  1067. while {_currently_lvl} is greater than {_result}-1:
  1068. set {_lvl} to {_lvl} + 1
  1069. set yaml value "Players.%player%.lvl" from file "{@file}" to "%{_lvl}%"
  1070. #============================#
  1071. send " "
  1072. send " &8&l»» &6Awansowales na &3%{_lvl}% &6LvL &8&l««"
  1073. send " "
  1074. #============================#
  1075. play mob spawner flames at player
  1076. set {_exp1} to {_lvl}+1
  1077. set {_exp2} to {_exp1}*{@lvl multiplier}
  1078. set {_result} to {_exp1}*{_exp2}
  1079. wait 1 tick
  1080. stop
  1081. else:
  1082. set {parkour::start::%player%} to false
  1083. on any movement:
  1084. set {_status} to yaml value "Players.%player%.duel.status" from file "{@file}"
  1085. if {_status} is "wait":
  1086. cancel event
  1087. on script load:
  1088. set {_list::*} to yaml list "List map" from file "{@file}"
  1089. if (size of {_list::*}) is greater than 0:
  1090. loop {_list::*}:
  1091. loop all players:
  1092. set {_parkour} to yaml value "Players.%loop-player%.parkour" from file "{@file}"
  1093. if {_parkour} is "%loop-value%":
  1094. execute loop-player command "/pk leave"
  1095. every {@xp bar refresh} tick:
  1096. loop all players:
  1097. if {parkour::start::%loop-player%} is true:
  1098. add ({@xp bar refresh} / 20) to level progress of loop-player
  1099. at 23:59:
  1100. set {_listmap::*} to yaml list "List map" from file "{@file}"
  1101. loop {_listmap::*}:
  1102. wait 1 tick
  1103. set {_listplayers::%loop-value%::*} to yaml list "Register Players %loop-value%" from file "{@file}"
  1104. loop {_listplayers::%loop-value%::*}:
  1105. wait 1 tick
  1106. set yaml value "Players.%loop-value-2%.transition.%loop-value-1%" from file "{@file}" to "0"
  1107. # Copyright© Enxi 2017
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement