Advertisement
xNawi

runner by Nawo

Dec 25th, 2015
104
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 15.75 KB | None | 0 0
  1. options:
  2. prefix: &8[&6Runner&8]
  3. minimalna liczba osób na arenie: 1
  4. czas odliczania: 15
  5. command /runner [<text="null">] [<text>]:
  6. aliases: rn
  7. trigger:
  8. if arg 1 is not "create" or "remove" or "list" or "top" or "setspawn" or "setlobby" or "join" or "leave" or "debug":
  9. send "&8>======{@prefix}&8======"
  10. send " "
  11. send "&8> &6/runner join &7<&6ID&7> &8- &7Dolacza do rozgrywki."
  12. send "&8> &6/runner leave &8- &7opuszcza rozgrywke."
  13. send "&8> &6/runner list &8- &7lista aren."
  14. send "&8> &6/runner top &8- &7Najlepsi gracze."
  15. send "&8> &6/runner staty &8- &7Statystyki gracza."
  16. if player has permission "runner.*":
  17. send "&8> &6/runner create &8- &7Tworzy nowa arene."
  18. send "&8> &6/runner remove &7<&6ID&7> &8- &7Usuwa arene."
  19. send "&8> &6/runner setspawn &7<&6ID&7> &8- &7Ustawia spawny dla graczy."
  20. send "&8> &6/runner setlobby &7<&6ID&7> &8- &7Ustawia lobby dla areny."
  21. send "&8> &6/runner debug &7<&6ID&7> &8- &7Resetuje zmienne."
  22. send "&8> &6/runner reload &8- &7Przeladowuje skrypt."
  23. send " "
  24. send "&8>======{@prefix}&8======"
  25. if arg 1 is "create":
  26. if player has permission "runner.*":
  27. add 1 to {runner::list::*}
  28. set {_x} to size of {runner::list::*}
  29. set {runner::arena::id::%{_x}%} to true
  30. send "{@prefix} &7Utworzono arene o ID &6%size of {runner::list::*}%&7."
  31. set {runner::status::%{_x}%} to "niegotowa"
  32. else:
  33. send "&cNie posiadasz uprawnien!"
  34. if arg 1 is "remove":
  35. if player has permission "runner.*":
  36. if arg 2 is set:
  37. if {runner::arena::id::%arg 2%} is set:
  38. remove 1 from {runner::list::*}
  39. delete {runner::status::%arg 2%}
  40. delete {runner::arena::id::%arg 2%}
  41. loop 20 times:
  42. delete {runner::arena::spawn%loop-number%::%arg 2%}
  43. send "{@prefix} &7Usunieto arene o ID &6%arg 2%&7."
  44. else:
  45. send "{@prefix} &7Arena o ID &6%arg 2% &7nie istnieje."
  46. else:
  47. send "{@prefix} &7Uzycie: &6/runner remove &7<&6ID&7>"
  48. else:
  49. send "&cNie posiadasz uprawnien!"
  50. if arg 1 is "list":
  51. send "{@prefix} &7Dostepne areny:"
  52. send " "
  53. if (size of {runner::list::*}) > 0:
  54. loop (size of {runner::list::*}) times:
  55. if {runner::status::%loop-number%} is "w trakcie":
  56. send "&8> &7ID &6%loop-number% &cW trakcie.."
  57. if {runner::status::%loop-number%} is "oczekuje":
  58. send "&8> &7ID &6%loop-number% &aOczekuje!"
  59. if {runner::status::%loop-number%} is "niegotowa":
  60. send "&8> &7ID &6%loop-number% &6Niedostepna."
  61. else:
  62. send "&8> &cBrak."
  63. if arg 1 is "top":
  64. if arg 2 is set:
  65. if arg 2 is "winnings" or "death":
  66. send "&8>====={@prefix}&8====="
  67. send "&8> "
  68. send "&8> &7Top &6%arg 2%"
  69. set {_num} to size of {runner::gracz::stats::%arg 2%::*}
  70. loop {_num} times:
  71. loop {runner::gracz::stats::%arg 2%::*}:
  72. if {_v.%loop-number%} is not set:
  73. set {_v.%loop-number%} to loop-value
  74. set {_n.%loop-number%} to loop-index
  75. if loop-value is greater than {_v.%loop-number%}:
  76. set {_v.%loop-number%} to loop-value
  77. set {_n.%loop-number%} to loop-index
  78. remove {_v.%loop-number%} from {runner::gracz::stats::%arg 2%::*}
  79. loop {_num} times:
  80. if loop-number is less than or equal to 5:
  81. send "&8> %loop-number%. &7%{runner::nick::%{_n.%loop-number%}%}% &8- &6%{_v.%loop-number%}%"
  82. set {runner::gracz::stats::%arg 2%::%{_n.%loop-number%}%} to {_v.%loop-number%}
  83. else:
  84. send "{@prefix} &7Uzycie:"
  85. send "&8> &6/runner top death"
  86. send "&8> &6/runner top winnings"
  87. else:
  88. send "{@prefix} &7Uzycie:"
  89. send "&8> &6/runner top death"
  90. send "&8> &6/runner top winnings"
  91. if arg 1 is "staty":
  92. send "&8>====={@prefix}&8====="
  93. send " &6Twoje statystyki:"
  94. send "&8> &eSmierci&8: &c%{runner::gracz::death::%player%::*}%"
  95. send "&8> &eWygrane&8: &c%{runner::gracz::winnings::%player%::*}%"
  96. send "&8>====={@prefix}&8====="
  97. if arg 1 is "setspawn":
  98. if player has permission "runner.*":
  99. if arg 2 is set:
  100. if {runner::arena::id::%arg 2%} is set:
  101. set {runner::arena::spawn::%arg 2%} to location of player
  102. send "{@prefix} &7Ustawiono spawn dla areny o ID &6%arg 2%&7."
  103. set {runner::status::%arg 2%} to "oczekuje"
  104. else:
  105. send "{@prefix} &7Arena o ID &6%arg 2% &7nie istnieje."
  106. else:
  107. send "{@prefix} &7Uzycie: &6/runner setspawn &7<&6ID&7>"
  108. else:
  109. send "&cNie posiadasz uprawnien!"
  110. if arg 1 is "setlobby":
  111. if player has permission "runner.*":
  112. if arg 2 is set:
  113. if {runner::arena::id::%arg 2%} is set:
  114. set {runner::lobby::%arg 2%} to location of player
  115. send "{@prefix} &7Ustawiono &6lobby&7 dla areny o ID &6%arg 2%&7."
  116. else:
  117. send "{@prefix} &7Arena o ID &6%arg 2% &7nie istnieje."
  118. else:
  119. send "{@prefix} &7Uzycie: &6/runner setlobby &7<&6ID&7>"
  120. else:
  121. send "&cNie posiadasz uprawnien!"
  122. if arg 1 is "debug":
  123. if player has permission "runner.*":
  124. if arg 2 is set:
  125. if {runner::arena::id::%arg 2%} is set:
  126. loop all players:
  127. if {runner::gracz::%loop-player%::arena} is "%arg 2%":
  128. execute loop-player command "/runner leave"
  129. send "{@prefix} &7Arena zostala zrestartowana." to loop-player
  130. clear {runner::gracze::%arg 2%::*}
  131. clear {runner::gracz::%loop-player%::arena}
  132. loop {runner::rebuild::%arg 2%::location::*}:
  133. set block at loop-value to {runner::rebuild::%arg 2%::type::%loop-index%}
  134. delete {runner::rebuild::%arg 2%::location::*}
  135. delete {runner::rebuild::%arg 2%::type::*}
  136. set {runner::status::%arg 2%} to "oczekuje"
  137. send "{@prefix} &7Zrestartowano arene o ID &6%arg 2%&7."
  138. else:
  139. send "{@prefix} &7Arena o ID &6%arg 2% &7nie istnieje."
  140. else:
  141. send "{@prefix} &7Uzycie: &6/runner debug &7<&6ID&7>"
  142. else:
  143. send "&cNie posiadasz uprawnien!"
  144. if arg 1 is "reload":
  145. if player has permission "runner.*":
  146. loop (size of {runner::list::*}) times:
  147. loop all players:
  148. if {runner::gracz::%loop-player%::arena} is "%loop-number%":
  149. execute loop-player command "/runner leave"
  150. send "{@prefix} &7Arena zostala zrestartowana." to loop-player
  151. clear {runner::gracze::%loop-number%::*}
  152. clear {runner::gracz::%loop-player%::arena}
  153. loop {runner::rebuild::%loop-number%::location::*}:
  154. set block at loop-value to {runner::rebuild::%loop-number%::type::%loop-index%}
  155. delete {runner::rebuild::%loop-number%::location::*}
  156. delete {runner::rebuild::%loop-number%::type::*}
  157. set {runner::status::%loop-number%} to "oczekuje"
  158. execute player command "sk reload %script%"
  159. else:
  160. send "&cNie posiadasz uprawnien!"
  161. if arg 1 is "join":
  162. if {runner::gracz::%player%::dolacz} is false:
  163. if arg 2 is set:
  164. if {runner::arena::id::%arg 2%} is set:
  165. if {runner::status::%arg 2%} is "oczekuje":
  166. if (size of {runner::gracz::%arg 2%::*}) < {@minimalna liczba osób na arenie}+1:
  167. set {runner::gracz::%player%::eq} to serialized inventory of player
  168. clear player's inventory
  169. teleport player to {runner::lobby::%arg 2%}
  170. set {runner::gracz::%player%::arena} to arg 2
  171. set {runner::gracz::%player%::dolacz} to true
  172. add player to {runner::gracze::%{runner::gracz::%player%::arena}%::*}
  173. send "{@prefix} &7Gracz &6%player% &7dolaczyl do gry. &8[&e%size of {runner::gracze::%{runner::gracz::%player%::arena}%::*}%&8/&6{@minimalna liczba osób na arenie}&8]" to {runner::gracze::%{runner::gracz::%player%::arena}%::*}
  174. if (size of {runner::gracze::%{runner::gracz::%player%::arena}%::*}) = {@minimalna liczba osób na arenie}:
  175. set level of {runner::gracze::%{runner::gracz::%player%::arena}%::*} to {@czas odliczania}+1
  176. loop {@czas odliczania} times:
  177. loop {runner::gracze::%{runner::gracz::%player%::arena}%::*}:
  178. set {_value} to loop-value
  179. play raw sound "note.pling" at {_value} with pitch 1 volume 5
  180. set {_x} to level of {_value} - 1
  181. set level of {_value} to {_x}
  182. send "{@prefix} &7Gra rozpocznie sie za &6%{_x}% sekund &7!" to {_value}
  183. wait 1 second
  184. teleport {_value} to {runner::arena::spawn::%{runner::gracz::%player%::arena}%}
  185. set level of {_value} to 0
  186. set {runner::status::%{runner::gracz::%player%::arena}%} to "w trakcie"
  187. play raw sound "note.pling" at {_value} with pitch 2 volume 5
  188. send "{@prefix} &7Gra wystartowala!" to {_value}
  189. stop
  190. else:
  191. send "{@prefix} &7Arena o ID &6%arg 2% &7jest pelna."
  192. else if {runner::status::%arg 2%} is "w trakcie":
  193. send "{@prefix} &7Arena o ID &6%arg 2% &7jest w trakcie grania."
  194. else if {runner::status::%arg 2%} is "niegotowa":
  195. send "{@prefix} &7Arena o ID &6%arg 2% &7nie jest dostepna."
  196. else:
  197. send "{@prefix} &7Arena o ID &6%arg 2% &7nie istnieje."
  198. else:
  199. send "{@prefix} &7Uzycie: &6/runner join &7<&6ID&7>"
  200. else:
  201. send "{@prefix} &7Jestes juz na arenie."
  202. if arg 1 is "leave":
  203. if {runner::gracz::%player%::dolacz} is true:
  204. clear player's inventory
  205. restore inventory of player from {runner::gracz::%player%::eq}
  206. set {runner::gracz::%player%::dolacz} to false
  207. teleport player to {spawn}
  208. set level of player to 0
  209. send "{@prefix} &7Gracz &6%player% &7opuscil gre. &8[&e%size of {runner::gracze::%{runner::gracze::%player%::arena}%::*}%&8/&6{@minimalna liczba osób na arenie}&8]" to {runner::gracze::%{runner::gracz::%player%::arena}%::*}
  210. remove player from {runner::gracze::%{runner::gracz::%player%::arena}%::*}
  211. if (size of {runner::gracze::%{runner::gracz::%player%::arena}%::*}) = 1:
  212. set {runner::status::%{runner::gracz::%player%::arena}%} to "oczekuje"
  213. loop {runner::gracze::%{runner::gracz::%player%::arena}%::*}:
  214. add 1 to {runner::gracz::stats::winnings::%loop-value%}
  215. broadcast "{@prefix} &7Gracz &6%loop-value% &7wygral na arenie &6%{runner::gracz::%loop-value%::arena}% &7!"
  216. launch flickering trailing ball firework colored green at loop-value timed 1
  217. wait 1 seconds
  218. teleport loop-value to {spawn}
  219. set level of loop-value to 0
  220. set {runner::gracz::%loop-value%::dolacz} to false
  221. clear {runner::gracz::%loop-value%::arena}
  222. remove loop-value from {runner::gracze::%{runner::gracz::%loop-value%::arena}%::*}
  223. loop {runner::rebuild::%{runner::gracz::%player%::arena}%::location::*}:
  224. set block at loop-value to {runner::rebuild::%{runner::gracz::%player%::arena}%::type::%loop-index%}
  225. delete {runner::rebuild::%{runner::gracz::%player%::arena}%::location::*}
  226. delete {runner::rebuild::%{runner::gracz::%player%::arena}%::type::*}
  227. else if (size of {runner::gracze::%{runner::gracz::%player%::arena}%::*}) = 0:
  228. set {runner::status::%{runner::gracz::%player%::arena}%} to "oczekuje"
  229. loop {runner::rebuild::%{runner::gracz::%player%::arena}%::location::*}:
  230. set block at loop-value to {runner::rebuild::%{runner::gracz::%player%::arena}%::type::%loop-index%}
  231. delete {runner::rebuild::%{runner::gracz::%player%::arena}%::location::*}
  232. delete {runner::rebuild::%{runner::gracz::%player%::arena}%::type::*}
  233. clear {runner::gracz::%player%::arena}
  234. else:
  235. send "&8> &7Nie jestes na zadnej arenie."
  236. on walk on stained clay:
  237. set event-block to red stained clay
  238. wait 1 second
  239. set event-block to air
  240. spawn undroppable damaging falling block of red stained clay at block 1.1 blocks above event-block
  241. on damage:
  242. if {runner::gracz::%victim%::dolacz} is true:
  243. if {runner::status::%{runner::gracz::%victim%::arena}%} is "w trakcie":
  244. if damage was caused by void:
  245. cancel event
  246. restore inventory of victim from {runner::gracz::%victim%::eq}
  247. add 1 to {runner::gracz::stats::death::%victim%}
  248. set {runner::gracz::%victim%::dolacz} to false
  249. teleport victim to {spawn}
  250. send "{@prefix} &7Gracz &6%victim% &7wypadl z mapy! &8[&e%size of {runner::gracze::%{runner::gracze::%victim%::arena}%::*}%&8/&6{@minimalna liczba osób na arenie}&8]" to {runner::gracze::%{runner::gracz::%victim%::arena}%::*}
  251. remove victim from {runner::gracze::%{runner::gracz::%victim%::arena}%::*}
  252. if (size of {runner::gracze::%{runner::gracz::%victim%::arena}%::*}) = 1:
  253. set {runner::status::%{runner::gracz::%victim%::arena}%} to "oczekuje"
  254. loop {runner::gracze::%{runner::gracz::%victim%::arena}%::*}:
  255. clear loop-value's inventory
  256. restore inventory of loop-value from {runner::gracz::%loop-value%::eq}
  257. add 1 to {runner::gracz::stats::winnings::%loop-value%}
  258. broadcast "{@prefix} &7Gracz &6%loop-value% &7wygral na arenie &6%{runner::gracz::%loop-value%::arena}% &7!"
  259. launch flickering trailing ball firework colored green at loop-value timed 1
  260. wait 1 seconds
  261. teleport loop-value to {spawn}
  262. set {runner::gracz::%loop-value%::dolacz} to false
  263. clear {runner::gracz::%loop-value%::arena}
  264. remove loop-value from {runner::gracze::%{runner::gracz::%loop-value%::arena}%::*}
  265. loop {runner::rebuild::%{runner::gracz::%victim%::arena}%::location::*}:
  266. set block at loop-value to {runner::rebuild::%{runner::gracz::%victim%::arena}%::type::%loop-index%}
  267. delete {runner::rebuild::%{runner::gracz::%victim%::arena}%::location::*}
  268. delete {runner::rebuild::%{runner::gracz::%victim%::arena}%::type::*}
  269. else if (size of {runner::gracze::%{runner::gracz::%victim%::arena}%::*}) = 0:
  270. set {runner::status::%{runner::gracz::%victim%::arena}%} to "oczekuje"
  271. loop {runner::rebuild::%{runner::gracz::%victim%::arena}%::location::*}:
  272. set block at loop-value to {runner::rebuild::%{runner::gracz::%victim%::arena}%::type::%loop-index%}
  273. delete {runner::rebuild::%{runner::gracz::%victim%::arena}%::location::*}
  274. delete {runner::rebuild::%{runner::gracz::%victim%::arena}%::type::*}
  275. clear {runner::gracz::%victim%::arena}
  276. every 1 seconds:
  277. loop all players:
  278. loop all blocks in radius 10 of loop-player:
  279. if loop-block is sign:
  280. if line 1 of loop-block is "{@prefix}":
  281. if line 2 of loop-block is set:
  282. if {runner::arena::id::%uncolored line 2 of loop-block%} is set:
  283. if {runner::status::%uncolored line 2 of loop-block%} is "oczekuje":
  284. set line 3 of loop-block to "&aOczekuje"
  285. set line 4 of loop-block to "&8[&e%size of {runner::gracze::%uncolored line 2 of loop-block%::*}%&8/&6{@minimalna liczba osób na arenie}&8]"
  286. else if {runner::status::%uncolored line 2 of loop-block%} is "w trackie":
  287. set line 3 of loop-block to "&cW trakcie"
  288. set line 4 of loop-block to "&8[&e%size of {runner::gracze::%uncolored line 2 of loop-block%::*}%&8/&6{@minimalna liczba osób na arenie}&8]"
  289. else if {runner::status::%uncolored line 2 of loop-block%} is "niegotowa":
  290. set line 3 of loop-block to "&6Niedostepna"
  291. set line 4 of loop-block to " "
  292. variables:
  293. {runner::gracz::%player%::dolacz} = false
  294. on quit:
  295. if {runner::gracz::%player%::dolacz} is true:
  296. execute player command "runner leave"
  297. on join:
  298. if {runner::nick::%player%} is not set:
  299. set {runner::nick::%player%} to uncolored display name of player
  300. on sign change:
  301. if line 1 is "runner":
  302. set line 1 to "{@prefix}"
  303. if line 2 is set:
  304. if {runner::arena::id::%line 2%} is set:
  305. set line 2 to "&a&l%line 2%"
  306. else:
  307. set line 2 to "&c<none>"
  308. if line 2 is "leave":
  309. set line 2 to "&cleave"
  310. on rightclick on sign:
  311. if line 1 of clicked block is "{@prefix}":
  312. if line 2 of clicked block is set:
  313. if {runner::arena::id::%uncolored line 2 of clicked block%} is set:
  314. execute player command "/runner join %uncolored line 2 of clicked block%"
  315. if line 2 of clicked block is "&cleave":
  316. execute player command "/runner leave"
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement