knugi

Rozsypanka

May 1st, 2018
1,051
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 7.15 KB | None | 0 0
  1. options:
  2.  
  3. #SkQuery (bez Lime)
  4. file: "../../Rozsypanka/config.yml"
  5.  
  6. #SkQuery Lime
  7. #file "plugins/Rozsypanka/config.yml"
  8.  
  9. function rozsypanka_getReward(t: text) :: item:
  10. if "%{_t}%" contains "named":
  11. set {_item} to subtext of {_t} between index 0 to index of "named" in {_t} - 2
  12. set {_item} to {_item} parsed as item type
  13. if {_item} is not item type:
  14. return air
  15. if "%{_t}%" contains "with lore":
  16. set {_name} to subtext of {_t} between index index of "named" in {_t} + 7 to index of "with lore" in {_t} - 3
  17. set {_lore} to subtext of {_t} between index index of "with lore" in {_t} + 11 to length of {_t} - 1
  18. return ("%{_item}%" parsed as item) named coloured {_name} with lore coloured {_lore}
  19. else:
  20. set {_name} to subtext of {_t} between index index of "named" in {_t} + 7 to length of {_t} - 1
  21. return ("%{_item}%" parsed as item) named coloured {_name}
  22. if "%{_t}%" contains "with lore":
  23. set {_item} to subtext of {_t} between index 0 to index of "with lore" in {_t} - 2
  24. set {_lore} to subtext of {_t} between index length of "%{_item}%" + 13 to index length of {_t} - 1
  25. set {_item} to {_item} parsed as item type
  26. if {_item} is item type:
  27. return {_item} with lore coloured {_lore}
  28. return air
  29. set {_item} to {_t} parsed as item type
  30. if {_item} is item type:
  31. return {_item}
  32. return air
  33. function rozsypanka_Start(t: text = ""):
  34. set {_kat::*} to yaml nodes "rozsypanka" from {@file}
  35. loop {_kat::*}:
  36. set {_kat::%loop-value%::*} to yaml list "rozsypanka.%loop-value%" from {@file}
  37. loop 50 times:
  38. if {_kat} is set:
  39. exit loop
  40. loop {_kat::*}:
  41. chance of 100/size of {_kat::*}%:
  42. set {_kat} to loop-value-2
  43. exit loop
  44. set {_slowo} to random element out of {_kat::%{_kat}%::*}
  45. set {rozsypanka.slowo} to {_slowo}
  46. if {_slowo} contains " ":
  47. loop length of {_slowo} times:
  48. if subtext of {_slowo} between index loop-number and loop-number is " ":
  49. add loop-number to {_space::*}
  50. add length of {_slowo} to {_space::*}
  51. loop {_space::*}:
  52. if {_back} is not set:
  53. add subtext of {_slowo} between index 0 and "%loop-value%" parsed as integer to {_slowa::*}
  54. else:
  55. add subtext of {_slowo} between index {_back} and "%loop-value%" parsed as integer to {_slowa::*}
  56. set {_back} to "%loop-value%" parsed as integer
  57. loop {_slowa::*}:
  58. set {_s} to loop-value
  59. replace all " " in {_s} with ""
  60. set {_slowa::%loop-index%} to {_s}
  61. else:
  62. add {_slowo} to {_slowa::*}
  63. set {_rozsypanka} to ""
  64. loop {_slowa::*}:
  65. loop length of loop-value times:
  66. add loop-number to {_length::%loop-index%::*}
  67. loop {_slowa::*}:
  68. if {_rozsypanka} is not "":
  69. set {_rozsypanka} to "%{_rozsypanka}% "
  70. loop size of {_length::%loop-index%::*} times:
  71. set {_l} to "%random element out of {_length::%loop-index%::*}%" parsed as integer
  72. set {_rozsypanka} to "%{_rozsypanka}%%subtext of {_slowa::%loop-index%} between index {_l} and {_l}%"
  73. clear {_length::%loop-index%::%{_l}%}
  74. #loop length of {_slowo} times:
  75. # add loop-number to {_length::*}
  76. #set {_rozsypanka} to ""
  77. #loop size of {_length::*} times:
  78. # set {_l} to "%random element out of {_length::*}%" parsed as integer
  79. # set {_rozsypanka} to "%{_rozsypanka}%%subtext of {_slowo} between index {_l} and {_l}%"
  80. # clear {_length::%{_l}%}
  81. broadcast "&c* &7Slowo do odgadniecia: &8[&6%{_kat}%&8] &3%{_rozsypanka}%"
  82. function rozsypanka_SendList(p: player) :: inventory:
  83. set {_kat::*} to yaml nodes "rozsypanka" from {@file}
  84. loop {_kat::*}:
  85. set {_kat::%loop-value%::*} to yaml list "rozsypanka.%loop-value%" from {@file}
  86. loop {_kat::*}:
  87. loop {_kat::%loop-value%::*}:
  88. set {_kat::%loop-value-1%::%loop-index-2%} to " &a%loop-value-2%"
  89. set {_rows} to rounded up ("%size of {_kat::*}%" parsed as integer / 9)
  90. set {_inv} to chest with {_rows} rows named " &9&lDostepne slowa"
  91. loop {_kat::*}:
  92. set slot loop-index parsed as integer - 1 of {_inv} to paper named "&6%loop-value%" with lore "%join {_kat::%loop-value%::*} by ""||""%"
  93. return {_inv}
  94. stop
  95. send "&cDostepne slowa:" to {_p}
  96. loop {_kat::*}:
  97. loop {_kat::%loop-value%::*}:
  98. if {_s.%loop-value-1%} is not set:
  99. send " &6Kategoria &c%loop-value-1%&6: &7(Ogolnie: %size of {_kat::%loop-value-1%::*}%)" to {_p}
  100. set {_s.%loop-value-1%} to true
  101. send " &a%loop-value-2%" to {_p}
  102.  
  103. on script load:
  104. if yaml nodes "rozsypanka" from {@file} is not set:
  105. set yaml value "start" from {@file} to "10 minutes"
  106. set yaml value "nagroda" from {@file} to "1 diamond"
  107. add "Kon" to yaml list "rozsypanka.Zwierzeta" from {@file}
  108. add "Pies" to yaml list "rozsypanka.Zwierzeta" from {@file}
  109. add "Swinia" to yaml list "rozsypanka.Zwierzeta" from {@file}
  110. add "Krowa" to yaml list "rozsypanka.Zwierzeta" from {@file}
  111.  
  112. add "Biurko" to yaml list "rozsypanka.Przedmioty" from {@file}
  113. add "Sluchawki" to yaml list "rozsypanka.Przedmioty" from {@file}
  114. add "Ksiazka" to yaml list "rozsypanka.Przedmioty" from {@file}
  115. add "Stol" to yaml list "rozsypanka.Przedmioty" from {@file}
  116. add "Telefon" to yaml list "rozsypanka.Przedmioty" from {@file}
  117.  
  118. add "Patryk" to yaml list "rozsypanka.Imie" from {@file}
  119. add "Paulina" to yaml list "rozsypanka.Imie" from {@file}
  120. add "Kacper" to yaml list "rozsypanka.Imie" from {@file}
  121. add "Korneliusz" to yaml list "rozsypanka.Imie" from {@file}
  122. add "Kornelia" to yaml list "rozsypanka.Imie" from {@file}
  123. add "Jacek" to yaml list "rozsypanka.Imie" from {@file}
  124. add "Ania" to yaml list "rozsypanka.Imie" from {@file}
  125. add "Zofia" to yaml list "rozsypanka.Imie" from {@file}
  126.  
  127. add "Kanapka" to yaml list "rozsypanka.Jedzenie" from {@file}
  128. add "Schabowy" to yaml list "rozsypanka.Jedzenie" from {@file}
  129. add "Kotlet" to yaml list "rozsypanka.Jedzenie" from {@file}
  130. add "Zupa Mleczna" to yaml list "rozsypanka.Jedzenie" from {@file}
  131. add "Kurczak" to yaml list "rozsypanka.Jedzenie" from {@file}
  132. add "Ziemniaki" to yaml list "rozsypanka.Jedzenie" from {@file}
  133. add "Platki Sniadaniowe" to yaml list "rozsypanka.Jedzenie" from {@file}
  134. set {rozsypanka.delay} to yaml value "start" from {@file}
  135. set {rozsypanka.delay} to {rozsypanka.delay} parsed as time span
  136. set {rozsypanka.start} to now
  137. add {rozsypanka.delay} to {rozsypanka.start}
  138. on chat:
  139. if {rozsypanka.slowo} is set:
  140. if "%message%" is "%{rozsypanka.slowo}%":
  141. cancel event
  142. broadcast "&c* &7Gracz &6%player% &7odgladl slowo: &3%{rozsypanka.slowo}%"
  143. clear {rozsypanka.slowo}
  144. set {_} to yaml value "nagroda" from {@file}
  145. give rozsypanka_getReward({_}) to player
  146. stop
  147. every 1 second:
  148. if {rozsypanka.start} is smaller than or equal to now:
  149. set {rozsypanka.start} to now
  150. add {rozsypanka.delay} to {rozsypanka.start}
  151. rozsypanka_Start()
  152. command /rozsypanka [<text>]:
  153. trigger:
  154. if player has permission "rozsypanka.admin":
  155. if arg 1 is not set:
  156. send "&a/rozsypanka start &7Dajesz slowo do odgadniecia."
  157. send "&a/rozsypanka lista &7Pokazuje wszystkie slowa"
  158. stop
  159. if arg 1 is "start":
  160. rozsypanka_Start()
  161. stop
  162. if arg 1 is "lista":
  163. open rozsypanka_SendList(player) to player
  164. on inventory click:
  165. if "%inventory name of player's current inventory%" is " &9&lDostepne slowa":
  166. cancel event
Advertisement
Add Comment
Please, Sign In to add comment