CREAMPAN0408

Untitled

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