Advertisement
CREAMPAN0408

Untitled

Jun 21st, 2019
103
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 12.63 KB | None | 0 0
  1. #---------------------------------------------------------------------------------------------
  2. options:
  3. prefix: &7[&6Trading&7] &f
  4. command: /trade
  5. aliases: /trading, /trade
  6. usage: &c&lその名前のプレイヤーはオンラインではないか存在しない可能性があります!!
  7. header: " &5&nYours&r &4&nTheirs"
  8. divider: gray stained glass pane named "&6"
  9. cancel: red stained glass pane named "&cキャンセル"
  10. #state 0 - when the user opens the gui
  11. state0: orange stained glass pane named "&5承認する"
  12. state1: yellow stained glass pane named "&6取引の確認"
  13. state2: green stained glass pane named "&a待機中"
  14. otherstate0: orange stained glass pane named "&6その他の取引先"
  15. otherstate1: yellow stained glass pane named "&6お相手はあなたが承認するのを待っています"
  16. timeout: 2 minutes
  17. trade-creative: true
  18. trade-range: false
  19. range: 10
  20.  
  21. #メッセージ
  22. sent: &e次の方にトレードリクエストを送りました %argument parsed as player%
  23. trade: &6&l%player% &6からトレードリクエストが来ました &a&l/trade accept と打ち承認するか &c&l/trade deny と打ち拒否してください
  24. already: &e取引リクエストをキャンセルするには &l/trade cancel と打ってください
  25. cancelled: &cあなたはトレードをキャンセルしました
  26. deny: &cあなたはトレードを拒否しました
  27. denied: &cトレードリクエストは拒否されました
  28. timed-out: &cトレードリクエストはもう期限が切れています
  29. no-trade: &c送られてきているトレードリクエストはありません
  30. close-inventory-trade: &c取引していたプレイヤーが取引をキャンセルしました
  31. max-slots: &c20個以上のアイテムは一気に送れません
  32. complete: &e取引が成立しました
  33. reload: &c取引中にリロードが発生したため全ての取引をキャンセルしました
  34. trade-self: &e自分と取引なんてできるわけないじゃないですかぁ(´・ω・`)
  35. no-permission: &cトレードがトレードができる権限を持っていないようです
  36. creative: &cクリエイティブモードではトレードができない設定になっています
  37. outofrange: &cそのユーザーとトレード出来る距離ではありません
  38. #---------------------------------------------------------------------------------------------
  39. on script unload:
  40. loop all players:
  41. if name of loop-player's current inventory is {@header}:
  42. loop {trading::temp::slots::*}:
  43. if slot loop-value-2 of loop-player's current inventory is not air:
  44. add slot loop-value-2 of loop-player's current inventory to loop-player's inventory
  45. set slot loop-value-2 of loop-player's current inventory to air
  46. close loop-player's inventory
  47. message "{@prefix}{@reload}" to loop-player
  48. delete {trading::temp::*}
  49. on script load:
  50. wait a tick
  51. set {trading::temp::slots::*} to 0, 1, 2, 3, 9, 10, 11, 12, 18, 19, 20, 21, 27, 28, 29, 30, 36, 37, 38 and 39
  52. command {@command} [<string = "0">]:
  53. aliases: {@aliases}
  54. trigger:
  55. if argument is "0":
  56. message "{@prefix}{@usage}"
  57. else if argument is "accept":
  58. loop all players:
  59. {trading::temp::player::%loop-player%::request} is player
  60. delete {trading::temp::player::%loop-player%::request}
  61. set {_user} to loop-player
  62. exit loop
  63. if {_user} is not set:
  64. message "{@prefix}{@no-trade}"
  65. stop
  66. set {trading::temp::player::%{_user}%::state} and {trading::temp::player::%player%::state} to 0
  67. set {trading::temp::player::%{_user}%::trading} to player
  68. set {trading::temp::player::%player%::trading} to {_user}
  69. set {trading::temp::player::%player%::inventory} to chest inventory with 6 rows named {@header}
  70. set {trading::temp::player::%{_user}%::inventory} to chest inventory with 6 rows named {@header}
  71. set slots integers between 45 and 48 of {trading::temp::player::%player%::inventory} to {@state0}
  72. set slots integers between 50 and 53 of {trading::temp::player::%player%::inventory} to {@otherstate0}
  73. set slots integers between 45 and 48 of {trading::temp::player::%{_user}%::inventory} to {@state0}
  74. set slots integers between 50 and 53 of {trading::temp::player::%{_user}%::inventory} to {@otherstate0}
  75. set slot 48 of {trading::temp::player::%player%::inventory} to {@cancel}
  76. set slot 48 of {trading::temp::player::%{_user}%::inventory} to {@cancel}
  77. set slots 4, 13, 22, 31, 40 and 49 of {trading::temp::player::%player%::inventory} to {@divider}
  78. set slots 4, 13, 22, 31, 40 and 49 of {trading::temp::player::%{_user}%::inventory} to {@divider}
  79. open {trading::temp::player::%player%::inventory} to player
  80. open {trading::temp::player::%{_user}%::inventory} to {_user}
  81. else if argument is "deny":
  82. loop all players:
  83. if {trading::temp::player::%loop-player%::request} is player:
  84. delete {trading::temp::player::%loop-player%::request}
  85. message "{@prefix}{@denied}" to loop-player
  86. set {_found} to true
  87. if {trading::temp::player::%player%::request} and {_found} are not set:
  88. message "{@prefix}{@no-trade}"
  89. else:
  90. message "{@prefix}{@deny}"
  91. delete {trading::temp::player::%player%::request}
  92. else if argument is "cancel":
  93. if {trading::temp::player::%player%::trading} is set:
  94. close player's inventory
  95. else if {trading::temp::player::%player%::request} is not set:
  96. message "{@prefix}{@no-trade}"
  97. stop
  98. delete {trading::temp::player::%player%::request}
  99. message "{@prefix}{@cancelled}"
  100. else if argument parsed as player is online:
  101. if {trading::temp::player::%player%::request} or {trading::temp::player::%player%::trading} is set:
  102. message "{@prefix}{@already}"
  103. stop
  104. if argument parsed as player is player:
  105. message "{@prefix}{@trade-self}"
  106. stop
  107. if player has permission "trade.use":
  108. message "{@prefix}{@no-permission}"
  109. stop
  110. if gamemode of player is creative:
  111. {@trade-creative} is true
  112. message "{@prefix}{@creative}"
  113. stop
  114. if distance between player and argument parsed as player > {@range}:
  115. {@trade-range} is true
  116. message "{@prefix}{@outofrange}"
  117. stop
  118. message "{@prefix}{@trade}" to argument parsed as player
  119. message "{@prefix}{@sent}"
  120. set {trading::temp::player::%player%::request} to argument parsed as player
  121. while {trading::temp::player::%player%::request} is set:
  122. wait a second
  123. add a second to {_tracker}
  124. if {_tracker} >= {@timeout}:
  125. {trading::temp::player::%player%::request} is set
  126. delete {trading::temp::player::%player%::request}
  127. message "{@prefix}{@timed-out}"
  128. else:
  129. message "{@prefix}{@usage}"
  130. on inventory close:
  131. {trading::temp::player::%player%::state} is set
  132. {trading::temp::player::%player%::state} < 4
  133. set {_user} to {trading::temp::player::%player%::trading}
  134. #Cancels any trades the user may have.
  135. if name of event-inventory is {@header}:
  136. loop {trading::temp::slots::*}:
  137. if slot loop-value of event-inventory is not air:
  138. add slot loop-value of event-inventory to player's inventory
  139. set slot loop-value of event-inventory to air
  140. if slot loop-value of {trading::temp::player::%{_user}%::inventory} is not air:
  141. add slot loop-value of {trading::temp::player::%{_user}%::inventory} to {_user}'s inventory
  142. set slot loop-value of {trading::temp::player::%{_user}%::inventory} to air
  143. delete {trading::temp::player::%{trading::temp::player::%player%::trading}%::*}
  144. message "{@prefix}{@close-inventory-trade}" to {trading::temp::player::%player%::trading}
  145. message "{@prefix}{@cancelled}"
  146. close inventory of {trading::temp::player::%player%::trading}
  147. delete {trading::temp::player::%player%::*}
  148. on inventory click:
  149. if name of current inventory is {@header}:
  150. cancel event
  151. set {_user} to {trading::temp::player::%player%::trading}
  152. if clicked inventory is not the player's inventory:
  153. if clicked slot is between 45 and 48:
  154. play sound "UI_BUTTON_CLICK" with volume 1 with pitch 1 at player's location for player
  155. if clicked slot is 48:
  156. #They want to cancel the trade.
  157. close player's inventory
  158. else:
  159. #They want to accept the trade.
  160. if {trading::temp::player::%player%::state} is 0:
  161. set slots integers between 45 and 48 of {trading::temp::player::%player%::inventory} to {@state2}
  162. set slots integers between 50 and 53 of {trading::temp::player::%{_user}%::inventory} to {@otherstate1}
  163. set slot 48 of {trading::temp::player::%player%::inventory} to {@cancel}
  164. set {trading::temp::player::%player%::state} to 1
  165. if {trading::temp::player::%player%::state} and {trading::temp::player::%{_user}%::state} are 1:
  166. set slots integers between 45 and 48 of {trading::temp::player::%player%::inventory} to {@state1}
  167. set slots integers between 50 and 53 of {trading::temp::player::%player%::inventory} to {@otherstate0}
  168. set slots integers between 45 and 48 of {trading::temp::player::%{_user}%::inventory} to {@state1}
  169. set slots integers between 50 and 53 of {trading::temp::player::%{_user}%::inventory} to {@otherstate0}
  170. set slot 48 of {trading::temp::player::%player%::inventory} to {@cancel}
  171. set slot 48 of {trading::temp::player::%{_user}%::inventory} to {@cancel}
  172. set {trading::temp::player::%{_user}%::state} and {trading::temp::player::%player%::state} to 2
  173. else if {trading::temp::player::%player%::state} is 2:
  174. #Second round of confirming trade.
  175. set slots integers between 45 and 48 of {trading::temp::player::%player%::inventory} to {@state2}
  176. set slots integers between 50 and 53 of {trading::temp::player::%{_user}%::inventory} to {@otherstate1}
  177. set slot 48 of {trading::temp::player::%player%::inventory} to {@cancel}
  178. set {trading::temp::player::%player%::state} to 3
  179. if {trading::temp::player::%player%::state} and {trading::temp::player::%{_user}%::state} are 3:
  180. loop {trading::temp::slots::*}:
  181. if slot loop-value of {trading::temp::player::%player%::inventory} is not air:
  182. add slot loop-value of {trading::temp::player::%player%::inventory} to inventory of {_user}
  183. set slot loop-value of {trading::temp::player::%player%::inventory} to air
  184. if slot loop-value of {trading::temp::player::%{_user}%::inventory} is not air:
  185. add slot loop-value of {trading::temp::player::%{_user}%::inventory} to inventory of player
  186. set slot loop-value of {trading::temp::player::%{_user}%::inventory} to air
  187. delete {trading::temp::player::%player%::*}
  188. delete {trading::temp::player::%{_user}%::*}
  189. message "{@prefix}{@complete}" to player and {_user}
  190. play sound "ENTITY_PLAYER_LEVELUP" with volume 1 with pitch 1 at player's location for player
  191. play sound "ENTITY_PLAYER_LEVELUP" with volume 1 with pitch 1 at {_user}'s location for {_user}
  192. close inventory of player and {_user}
  193. else:
  194. #Gives back the item they have added to the trade.
  195. loop {trading::temp::slots::*}:
  196. loop-value is clicked slot
  197. slot loop-value of current inventory is not air
  198. add slot loop-value of current inventory to player's inventory
  199. set slot loop-value of current inventory to air
  200. set slot loop-value + 5 of {trading::temp::player::%{_user}%::inventory} to air
  201. play sound "ENTITY_EXPERIENCE_ORB_PICKUP" with volume 1 with pitch 1 at player's location for player
  202. stop
  203. else:
  204. #Add item to the trade.
  205. slot clicked slot of clicked inventory is not air
  206. loop {trading::temp::slots::*}:
  207. if slot loop-value of current inventory is air:
  208. set slot loop-value of current inventory to event-item
  209. set slot loop-value + 5 of {trading::temp::player::%{_user}%::inventory} to event-item
  210. play sound "ENTITY_EXPERIENCE_ORB_PICKUP" with volume 1 with pitch 4 at player's location for player
  211. set slot clicked slot of clicked inventory to air
  212. if {trading::temp::player::%player%::state} is not 0:
  213. set {trading::temp::player::%{_user}%::state} and {trading::temp::player::%player%::state} to 0
  214. set slots integers between 45 and 48 of {trading::temp::player::%player%::inventory} to {@state0}
  215. set slots integers between 50 and 53 of {trading::temp::player::%player%::inventory} to {@otherstate0}
  216. set slots integers between 45 and 48 of {trading::temp::player::%{_user}%::inventory} to {@state0}
  217. set slots integers between 50 and 53 of {trading::temp::player::%{_user}%::inventory} to {@otherstate0}
  218. set slot 48 of {trading::temp::player::%player%::inventory} to {@cancel}
  219. set slot 48 of {trading::temp::player::%{_user}%::inventory} to {@cancel}
  220. stop
  221. message "{@prefix}{@max-slots}"
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement