Advertisement
Guest User

Untitled

a guest
Mar 29th, 2015
931
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.88 KB | None | 0 0
  1. # variables
  2. # {RandomItems::*} - all loaded random items
  3.  
  4. # commands
  5. # /ri <number> <number>
  6. # /ri give <player>/*
  7. # /ri reset
  8.  
  9. options:
  10. DisabledItems: air, bed block, any piston extension, block 36, inactive wire, freshly planted wheat, sign post, wooden door block, wall sign, iron door block, active redstone ore, redstone torch off, sugar cane block, cake block, redstone repeater block off, redstone repeater block on, pumpkin stem, melon stem, freshly planted nether wart, empty brewing stand, empty cauldron, active redstone lamp, tripwire, flower pot with nothing, mob head block, redstone comparator block, active redstone comparator
  11.  
  12. Permission: skript.randomitems
  13.  
  14. Prefix: §f[§7RI§f]§r
  15.  
  16. Help.Gen: §e/ri <items> <range> &9- &7Generate items in range
  17. Help.Give: §e/ri give <player> / * &9- &7Give items to player/all
  18. Help.Reset: §e/ri reset &9- &7Delete data
  19.  
  20. Give.Error.Specify: Specify a player, or use * for all players.
  21. Give.Error.NotOnline: Player §e%arg 2% §ris not online.
  22. Give.Error.Console: You cannot give the console items.
  23. Give.Error.NotSet: There are no items set.
  24. Give.Self: §3%command sender%§r: Gave items to himself
  25. Give.Other: §3%command sender%§r: Gave items to %{_Player}%
  26. Give.All: §6Random Starter Items §agiven out!
  27. Give.All.OP: §3%command sender%§r: §6Random Starter Items §agiven out!
  28.  
  29. Reset: §3%command sender%§r: Items reset
  30.  
  31. Gen.Start: §3%command sender%§r: §c%arg 1% §ritems up to range §9%arg 2%§r...
  32. Gen.Status: §4Status Update: §a%(size of {_ThisSet::*})%§r/§c%arg 1% §ritems generated
  33. Gen.Finish: §aGeneration completed §r(§6%{_Time}%§r)
  34.  
  35. command /ri [<text>] [<text>]:
  36. permission: {@Permission}
  37. trigger:
  38. if arg 1 is not set:
  39. message "{@Prefix} {@Help.Gen}"
  40. message "{@Prefix} {@Help.Give}"
  41. message "{@Prefix} {@Help.Reset}"
  42. else if arg 1 is equal to "give":
  43. if {RandomItems::*} is not set:
  44. message "{@Prefix} {@Give.Error.NotSet}"
  45.  
  46. else if arg 2 is not set:
  47. #code for giving items to himself
  48. if command sender is console:
  49. message "{@Prefix} {@Give.Error.Console}"
  50. else:
  51. loop {RandomItems::*}:
  52. if (size of (items in the player's inventory)) is smaller than 36:
  53. give (1 of dirt:15) to player
  54. loop items in the player's inventory:
  55. loop-item is equal to dirt:15
  56. set loop-item to loop-value-1
  57. else:
  58. drop loop-value-1 at player
  59.  
  60. loop all players:
  61. loop-player has the permission "{@Permission}"
  62. message "{@Prefix} {@Give.Self}" to loop-player
  63.  
  64. else if arg 2 is equal to "*":
  65. #code for giving items to all players
  66. loop all players:
  67. loop {RandomItems::*}:
  68. if (size of (items in the loop-player's inventory)) is smaller than 36:
  69. give (1 of dirt:15) to loop-player
  70. loop items in the loop-player's inventory:
  71. loop-item is equal to dirt:15
  72. set loop-item to loop-value
  73. else:
  74. drop loop-value at loop-player
  75.  
  76. loop all players:
  77. command "/playsound random.explode %loop-player%"
  78. if loop-player has the permission "{@Permission}":
  79. message "{@Prefix} {@Give.All.OP}" to loop-player
  80. else:
  81. message "{@Prefix} {@Give.All}" to loop-player
  82.  
  83. else:
  84. set {_Player} to ("%arg 2%" parsed as offlineplayer)
  85. if {_Player} is not online:
  86. message "{@Prefix} {@Give.Error.NotOnline}"
  87. else:
  88. # code for giving items to {_Player}
  89. loop {RandomItems::*}:
  90. if (size of (items in {_Player}'s inventory)) is smaller than 36:
  91. give (1 of dirt:15) to {_Player}
  92. loop items in {_Player}'s inventory:
  93. loop-item is equal to dirt:15
  94. set loop-item to loop-value
  95. else:
  96. drop loop-value-1 at {_Player}
  97.  
  98. loop all players:
  99. loop-player has the permission "{@Permission}"
  100. message "{@Prefix} {@Give.Other}" to loop-player
  101.  
  102.  
  103. else if arg 1 is equal to "reset":
  104. # code for resetting items
  105. delete {RandomItems::*}
  106. loop all players:
  107. loop-player has the permission "{@Permission}"
  108. message "{@Prefix} {@Reset}" to loop-player
  109.  
  110. else:
  111. set {_ItemAmount} to ("%arg 1%" parsed as integer)
  112. if {_ItemAmount} is not set:
  113. message "{@Prefix} {@Help.Gen}"
  114. message "{@Prefix} {@Help.Give}"
  115. message "{@Prefix} {@Help.Reset}"
  116. else:
  117. set {_ItemRange} to ("%arg 2%" parsed as integer)
  118. if {_ItemRange} is not set:
  119. message "{@Prefix} {@Help.Gen}"
  120. else if {_ItemAmount} is less than 1:
  121. message "{@Prefix} {@Help.Gen}"
  122. else if {_ItemRange} is less than 2:
  123. message "{@Prefix} {@Help.Gen}"
  124. else if {_ItemAmount} is more than 100:
  125. message "{@Prefix} §4No."
  126. else:
  127. # code for generating items
  128. loop all players:
  129. loop-player has the permission "{@Permission}"
  130. message "{@Prefix} {@Gen.Start}" to loop-player
  131.  
  132. set {_Time} to now
  133. set {_StatusTime} to {_Time}
  134. set {_TickTime} to {_Time}
  135.  
  136. loop {_ItemAmount} times:
  137. set {_ThisItem} to (random item out of all items)
  138. while {_ThisItem} is equal to {@DisabledItems}:
  139. set {_ThisItem} to (random item out of all items)
  140. set {_ThisSet::%loop-number%} to ((random integer between 1 and {_ItemRange}) of {_ThisItem})
  141.  
  142. if {_TickTime} was more than 0.05 seconds ago:
  143. wait 1 tick
  144. set {_TickTime} to now
  145. if {_StatusTime} was more than 2 seconds ago:
  146. set {_StatusTime} to now
  147. loop all players:
  148. loop-player has the permission "{@Permission}"
  149. message "{@Prefix} {@Gen.Status}" to loop-player
  150.  
  151. set {RandomItems::*} to {_ThisSet::*}
  152.  
  153. set {_Time} to (difference between now and {_Time})
  154.  
  155. loop all players:
  156. loop-player has the permission "{@Permission}"
  157. message "{@Prefix} {@Gen.Finish}" to loop-player
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement