kollinkoko

Slave Market [SK]

Oct 16th, 2016
572
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.52 KB | None | 0 0
  1. options:
  2. P: &e[&bSlaveMarket&e]&f
  3.  
  4. command /slave [<text>] [<text>] [<text>]:
  5. permission: skript.op
  6. trigger:
  7. arg-1 is set
  8. if arg-1 is "owner":
  9. arg-2 is set
  10. if arg-2 is "add":
  11. arg-3 is set
  12. if {slave.diamonds} is not set:
  13. set {slave.diamonds} to 30
  14. if {slave.owners} is more than 7:
  15. message "{@P} &cError, there is already 8 slave owners."
  16. stop
  17. else:
  18. if {slave.owner::%arg-3%} is set:
  19. message "{@P} &cError, &6%arg-3% &cis already a slave owner."
  20. stop
  21. else:
  22. set {slave.owners} to ({slave.owners}+1)
  23. wait 2 ticks
  24. set {slave.owner::%arg-3%} to {slave.owners}
  25. console command "warp SlaveTeam%{slave.owners}% %arg-3%"
  26. console command "team join %{slave.owners}% %arg-3%"
  27. console command "give %arg-3% diamond %{slave.diamonds}%"
  28. broadcast "{@P} &6%arg-3% &fis now a slave owner! (%{slave.owners}%)"
  29. if arg-2 is "list":
  30. loop {slave.owner::*}:
  31. message "{@P} &6%loop-value%"
  32. if arg-1 is "create":
  33. player command "team reset"
  34. wait 1 tick
  35. player command "team man on"
  36. loop 8 times:
  37. player command "team create"
  38. wait 1 tick
  39. player command "team leave"
  40. wait 1 tick
  41. player command "team man off"
  42. if arg-1 is "start":
  43. if {slave.diamonds} is not set:
  44. set {slave.diamonds} to 30
  45. player command "muteall"
  46. loop all players:
  47. if {slave.ignore::%loop-player%} is not set:
  48. if {slave.owner::%loop-player%} is not set:
  49. set {slave.bidlist::%loop-player%} to loop-player
  50. set {slave.currentslave} to (random element out of {slave.bidlist::*})
  51. set {slave.currentbid} to -1
  52. if {slave.currentslave} is offline:
  53. loop all players:
  54. if loop-player has permission "skript.op":
  55. send "{@P} %{slave.currentslave}% &fis offline" to loop-player
  56. delete {slave.bidlist::%{slave.currentslave}%}
  57. set {slave.currentslave} to (random element out of {slave.bidlist::*})
  58. wait 1 tick
  59. broadcast "{@P} Bidding started for &6%{slave.currentslave}%&f!"
  60. console command "warp Slave %{slave.currentslave}%"
  61. set {slave.bidtimer} to 15
  62. if arg-1 is "ignore":
  63. arg-2 is set
  64. arg-3 is set
  65. if arg-2 is "add":
  66. set {slave.ignore::%arg-3%} to true
  67. message "{@P} &6%arg-3% &fadded to ignore list"
  68. if arg-2 is "remove":
  69. delete {slave.ignore::%arg-3%}
  70. message "{@P} &6%arg-3% &fremoved from ignore list"
  71. if arg-1 is "diamonds":
  72. arg-2 is set
  73. if arg-2 is "set":
  74. set {slave.diamonds} to arg-3
  75. message "{@P} Diamonds set to &6%arg-3%"
  76. if arg-2 is "save":
  77. loop all players:
  78. if loop-player has diamonds:
  79. set {slave.ownerdiamonds::%loop-player%} to amount of diamonds in loop-player's inventory
  80. broadcast "{@P} Saving &6%amount of diamonds in loop-player's inventory% &fdiamonds for &6%loop-player%&f."
  81. remove all diamonds from loop-player's inventory
  82. if arg-2 is "give":
  83. loop all players:
  84. if {slave.ownerdiamonds::%loop-player%} is set:
  85. give loop-player {slave.ownerdiamonds::%loop-player%} of diamonds
  86. broadcast "{@P} Giving &6%amount of diamonds in loop-player's inventory% &fdiamonds back to &6%loop-player%&f."
  87. if arg-1 is "reset":
  88. delete {slave.owners}
  89. delete {slave.owner::*}
  90. delete {slave.ignore::*}
  91. delete {slave.bidlist::*}
  92. delete {slave.bidtimer}
  93. delete {slave.currentslave}
  94. delete {slave.currentbid}
  95. delete {slave.bidwinner}
  96. delete {slave.diamonds}
  97. delete {slave.ownerdiamonds::*}
  98. message "{@P} Slave market reset"
  99. if arg-1 is "help":
  100. message "{@P} /slave create - Create the 8 teams"
  101. message "{@P} /slave ignore [add/remove] <player> - Ignore player from bidding list"
  102. message "{@P} /slave owner add <player> - Add slave owners"
  103. message "{@P} /slave owner list - List the slave owners"
  104. message "{@P} /slave diamonds set <amount> - Set amount of diamonds for slave owners"
  105. message "{@P} /slave diamonds [save/give] - Save leftover diamonds to give back when game starts"
  106. message "{@P} /slave start - Start the bidding of players"
  107. message "{@P} /slave reset - Reset everything"
  108. if arg-1 is not set:
  109. player command "slave help"
  110.  
  111. command /bid [<integer>]:
  112. trigger:
  113. {slave.bidtimer} is set
  114. if {slave.owner::%command sender%} is not set:
  115. message "{@P} &cError, you are not a slave owner"
  116. stop
  117. else:
  118. if {slave.owner::%command sender%} is set:
  119. if arg-1 is greater than {slave.currentbid}:
  120. if command sender does not have arg-1 of diamonds:
  121. message "{@P} &cError, you don't have enough diamonds"
  122. else:
  123. broadcast "{@P} &6%command sender% &fbid &6%arg-1% &fdiamonds"
  124. set {slave.bidwinner} to command sender
  125. set {slave.currentbid} to arg-1
  126. if {slave.bidtimer} is less than 5:
  127. add 5 to {slave.bidtimer}
  128. else:
  129. message "{@P} &cError, Invalid bid"
  130. else:
  131. message "{@P} &cError, You are not a slave owner!"
  132.  
  133. every 1 real second:
  134. {slave.bidtimer} is set
  135. remove 1 from {slave.bidtimer}
  136. if {slave.bidtimer} is 5 or 4 or 3 or 2 or 1:
  137. broadcast "{@P} Bidding for &6%{slave.currentslave}% &fends in &6%{slave.bidtimer}% &fseconds!"
  138. if {slave.bidtimer} is 0:
  139. broadcast "{@P} &6%{slave.bidwinner}% &fhas won the bid for &6%{slave.currentslave}%&f!"
  140. console command "team join %{slave.bidwinner}% %{slave.currentslave}%"
  141. teleport {slave.currentslave} to {slave.bidwinner}
  142. wait 5 ticks
  143. delete {slave.bidlist::%{slave.currentslave}%}
  144. delete {slave.currentslave}
  145. remove {slave.currentbid} of diamonds from {slave.bidwinner}
  146. delete {slave.bidtimer}
  147. wait 1 second
  148. if {slave.bidlist::*} is set:
  149. broadcast ""
  150. set {slave.currentslave} to (random element out of {slave.bidlist::*})
  151. set {slave.currentbid} to -1
  152. if {slave.currentslave} is offline:
  153. loop all players:
  154. if loop-player has permission "skript.op":
  155. send "{@P} %{slave.currentslave}% &fis offline" to loop-player
  156. delete {slave.bidlist::%{slave.currentslave}%}
  157. set {slave.currentslave} to (random element out of {slave.bidlist::*})
  158. wait 1 tick
  159. broadcast "{@P} Bidding started for &6%{slave.currentslave}%&f!"
  160. console command "warp Slave %{slave.currentslave}%"
  161. set {slave.bidtimer} to 15
  162.  
  163. #For emergencies
  164. command /startbid [<player>]:
  165. permission: skript.op
  166. trigger:
  167. broadcast ""
  168. set {slave.currentslave} to arg 1
  169. set {slave.currentbid} to -1
  170. broadcast "{@P} Bidding started for &6%{slave.currentslave}%&7!"
  171. console command "warp Slave %{slave.currentslave}%"
  172. set {slave.bidtimer} to 15
Advertisement
Add Comment
Please, Sign In to add comment