7mm

【Skript】SkPiece3

7mm
Aug 3rd, 2018
220
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. #SkPiece Ver.0.2
  2. #Create by Malb7mm
  3.  
  4. on skript load:
  5. true is true
  6.  
  7. every minecraft tick:
  8. if {skpiece.repeatcmd.amount} is not set:
  9. set {skpiece.repeatcmd.amount} to 0
  10. if {skpiece.repeatcmd.amount} < 0:
  11. set {skpiece.repeatcmd.amount} to 0
  12. loop {skpiece.repeatcmd.amount} times:
  13. {skpiece.repeatcmd.tick::%loop-number%} is integer
  14. add 1 to {skpiece.repeatcmd.count::%loop-number%}
  15. if {skpiece.repeatcmd.tick::%loop-number%} = {skpiece.repeatcmd.count::%loop-number%}:
  16. execute console command "%{skpiece.repeatcmd.command::%loop-number%}%"
  17. set {skpiece.repeatcmd.count::%loop-number%} to 0
  18.  
  19. on server start:
  20. if {skpiece.repeatcmd.amount} is not set:
  21. set {skpiece.repeatcmd.amount} to 0
  22. if {skpiece.repeatcmd.amount} < 0:
  23. set {skpiece.repeatcmd.amount} to 0
  24. loop {skpiece.repeatcmd.amount} times:
  25. {skpiece.repeatcmd.tick::%loop-number%} is "start"
  26. execute console command "%{skpiece.repeatcmd.command::%loop-number%}%"
  27.  
  28. on server stop:
  29. if {skpiece.repeatcmd.amount} is not set:
  30. set {skpiece.repeatcmd.amount} to 0
  31. if {skpiece.repeatcmd.amount} < 0:
  32. set {skpiece.repeatcmd.amount} to 0
  33. loop {skpiece.repeatcmd.amount} times:
  34. {skpiece.repeatcmd.tick::%loop-number%} is "stop"
  35. execute console command "%{skpiece.repeatcmd.command::%loop-number%}%"
  36.  
  37. on join:
  38. if {skpiece.repeatcmd.amount} is not set:
  39. set {skpiece.repeatcmd.amount} to 0
  40. if {skpiece.repeatcmd.amount} < 0:
  41. set {skpiece.repeatcmd.amount} to 0
  42. loop {skpiece.repeatcmd.amount} times:
  43. {skpiece.repeatcmd.tick::%loop-number%} is "join"
  44. execute console command "%{skpiece.repeatcmd.command::%loop-number%}%"
  45.  
  46. on quit:
  47. if {skpiece.repeatcmd.amount} is not set:
  48. set {skpiece.repeatcmd.amount} to 0
  49. if {skpiece.repeatcmd.amount} < 0:
  50. set {skpiece.repeatcmd.amount} to 0
  51. loop {skpiece.repeatcmd.amount} times:
  52. {skpiece.repeatcmd.tick::%loop-number%} is "quit"
  53. execute console command "%{skpiece.repeatcmd.command::%loop-number%}%"
  54.  
  55. command /skpiece [<text>] [<text>] [<text>] [<text>]:
  56. trigger:
  57. if arg 1 is "info":
  58. message "&7======================"
  59. message "&6&lSkPiece &dVer.0.2"
  60. message "&eCreate by &bMalb7mm"
  61. message "&7======================"
  62. else if arg 1 is "cmdlog":
  63. if player has permission "skpiece.cmdlog":
  64. if arg 2 is "toggle":
  65. if arg 3 is "enable":
  66. message "&aコマンドログを使用する設定にしました"
  67. set {skpiece.cmdlog.toggle} to "enable"
  68. else if arg 3 is "disable":
  69. message "&aコマンドログを使用しない設定にしました"
  70. set {skpiece.cmdlog.toggle} to "disable"
  71. else:
  72. message "&bコマンドログを使用するかを設定します"
  73. message "&c第三引数を設定してください:"
  74. message "&eenable, disable"
  75. else if arg 2 is "target":
  76. if arg 3 is "all":
  77. message "&aコマンドログの取得対象を全員に設定しました"
  78. set {skpiece.cmdlog.target} to "all"
  79. else if arg 3 is "noperms":
  80. message "&aコマンドログの取得対象を権限者以外に設定しました"
  81. set {skpiece.cmdlog.target} to "noperms"
  82. else:
  83. message "&bコマンドログの取得対象を設定します"
  84. message "&c第三引数を設定してください:"
  85. message "&eall, noperms"
  86. else if arg 2 is "show":
  87. if arg 3 is "all":
  88. message "&aコマンドログの表示対象を全員に設定しました"
  89. set {skpiece.cmdlog.show} to "all"
  90. else if arg 3 is "admin":
  91. message "&aコマンドログの表示対象を権限者に設定しました"
  92. set {skpiece.cmdlog.show} to "admin"
  93. else:
  94. message "&bコマンドログの表示対象を設定します"
  95. message "&c第三引数を設定してください:"
  96. message "&eall, admin"
  97. else:
  98. message "&6&lcmdlog (コマンドログ)"
  99. message "&bプレイヤーの使用したコマンドをチャットログに表示します"
  100. message "&b運営だけに見せるか全員に見せるかを選択できます"
  101. message "&c第二引数を設定してください:"
  102. message "&etoggle, target, show"
  103. else:
  104. message "&c権限がありません"
  105. else if arg 1 is "repeatcmd":
  106. if player has permission "skpiece.repeatcmd":
  107. if arg 2 is "list":
  108. message "&d&lリピートコマンドリスト"
  109. if {skpiece.repeatcmd.amount} is 0:
  110. message "&7リピートコマンドが設定されていません"
  111. message "&7/skpiece repeatcmd add で追加をしましょう"
  112. stop
  113. set {_y} to {skpiece.repeatcmd.amount}/10
  114. add 1 to {_y}
  115. set {_pageamount} to {_y} parsed as integer
  116. if arg 3 is set:
  117. set {_page} to arg 3 parsed as integer
  118. remove 1 from {_page}
  119. else:
  120. set {_page} to 0
  121. if {_page} is more than {_pageamount}:
  122. set {_page} to 0
  123. else if {_page} is less than 1:
  124. set {_page} to 0
  125. if {_pageamount} is more than 1:
  126. message "&7/skpiece repeatcmd list [数字] でページを変更できます"
  127. loop {skpiece.repeatcmd.amount} times:
  128. set {_x} to {_page}*10
  129. add loop-number to {_x}
  130. if {skpiece.repeatcmd.tick::%{_x}%} is not integer:
  131. message "&3%{_page}*10+loop-number%: &a%{skpiece.repeatcmd.tick::%{_x}%}%: %{skpiece.repeatcmd.command::%{_x}%}%"
  132. else:
  133. message "&3%{_page}*10+loop-number%: &a%{skpiece.repeatcmd.tick::%{_x}%}%tick: %{skpiece.repeatcmd.command::%{_x}%}%"
  134. else:
  135. loop {skpiece.repeatcmd.amount} times:
  136. if {skpiece.repeatcmd.tick::%{_x}%} is not integer:
  137. message "&3%{_page}*10+loop-number%: &a%{skpiece.repeatcmd.tick::%{_x}%}%: %{skpiece.repeatcmd.command::%{_x}%}%"
  138. else:
  139. message "&3%loop-number%: &a%{skpiece.repeatcmd.tick::%loop-number%}%tick: /%{skpiece.repeatcmd.command::%loop-number%}%"
  140. else if arg 2 is "add":
  141. if arg 3 or arg 4 is not set:
  142. message "&b常時実行コマンド(自動実行コマンド)を追加します"
  143. message "&b・「""」(ダブルクォーテーション)を使う場合は二つ並べてください("""")"
  144. if arg 3 is not set:
  145. message "&c第三引数を設定してください:"
  146. message "&e(実行間隔tick数), start, stop, join, quit"
  147. message "&aTips: start > サーバー開始時 | stop > サーバー停止時 | join > プレイヤー参加時 | quit > プレイヤー退出時"
  148. if arg 4 is not set:
  149. message "&c第四引数を設定してください:"
  150. message "&e(実行コマンド)"
  151. stop
  152. if arg 3 is "start":
  153. add 1 to {skpiece.repeatcmd.amount}
  154. set {skpiece.repeatcmd.command::%{skpiece.repeatcmd.amount}%} to arg 4
  155. set {skpiece.repeatcmd.tick::%{skpiece.repeatcmd.amount}%} to {_arg3}
  156. message "&a%{skpiece.repeatcmd.amount}%番にコマンドを設定しました"
  157. stop
  158. else if arg 3 is "stop":
  159. add 1 to {skpiece.repeatcmd.amount}
  160. set {skpiece.repeatcmd.command::%{skpiece.repeatcmd.amount}%} to arg 4
  161. set {skpiece.repeatcmd.tick::%{skpiece.repeatcmd.amount}%} to {_arg3}
  162. message "&a%{skpiece.repeatcmd.amount}%番にコマンドを設定しました"
  163. stop
  164. else if arg 3 is "join":
  165. add 1 to {skpiece.repeatcmd.amount}
  166. set {skpiece.repeatcmd.command::%{skpiece.repeatcmd.amount}%} to arg 4
  167. set {skpiece.repeatcmd.tick::%{skpiece.repeatcmd.amount}%} to {_arg3}
  168. message "&a%{skpiece.repeatcmd.amount}%番にコマンドを設定しました"
  169. stop
  170. else if arg 3 is "quit":
  171. add 1 to {skpiece.repeatcmd.amount}
  172. set {skpiece.repeatcmd.command::%{skpiece.repeatcmd.amount}%} to arg 4
  173. set {skpiece.repeatcmd.tick::%{skpiece.repeatcmd.amount}%} to {_arg3}
  174. message "&a%{skpiece.repeatcmd.amount}%番にコマンドを設定しました"
  175. stop
  176. else if arg 3 is integer:
  177. true is true
  178. else:
  179. message "&c第三引数が不正です:"
  180. message "&e(実行間隔tick数), start, stop, join, quit"
  181. message "&aTips: start > サーバー開始時 | stop > サーバー停止時 | join > プレイヤー参加時 | quit > プレイヤー退出時"
  182. set {_arg3} to arg 3 parsed as integer
  183. if {_arg3} is less than 1:
  184. message "&c第三引数に0以下は設定できません"
  185. stop
  186. add 1 to {skpiece.repeatcmd.amount}
  187. set {skpiece.repeatcmd.command::%{skpiece.repeatcmd.amount}%} to arg 4
  188. set {skpiece.repeatcmd.tick::%{skpiece.repeatcmd.amount}%} to {_arg3}
  189. message "&a%{skpiece.repeatcmd.amount}%番にコマンドを設定しました"
  190. else if arg 2 is "remove":
  191. set {_arg3} to arg 3 parsed as integer
  192. if arg 3 is not set:
  193. message "&b常時実行コマンドを削除します"
  194. message "&b/skpiece repeatcmd list で確認したコマンドの番号が必要です"
  195. message "&c第三引数を設定してください:"
  196. message "&e(コマンドの番号)"
  197. if {_arg3} is less than 1:
  198. message "&cその番号は存在しません"
  199. stop
  200. if {_arg3} is more than {skpiece.repeatcmd.amount}:
  201. message "&cその番号は存在しません"
  202. stop
  203. set {_am} to {skpiece.repeatcmd.amount}
  204. loop {_am}-{_arg3} times:
  205. set {_ln} to loop-number
  206. set {_x} to {_arg3}+{_ln}
  207. set {_y} to {_x}-1
  208. set {skpiece.repeatcmd.command::%{_y}%} to {skpiece.repeatcmd.command::%{_x}%}
  209. set {skpiece.repeatcmd.tick::%{_y}%} to {skpiece.repeatcmd.tick::%{_x}%}
  210. set {skpiece.repeatcmd.count::%{_y}%} to {skpiece.repeatcmd.count::%{_x}%}
  211. clear {skpiece.repeatcmd.command::%{_am}%}
  212. clear {skpiece.repeatcmd.tick::%{_am}%}
  213. clear {skpiece.repeatcmd.count::%{_am}%}
  214. remove 1 from {skpiece.repeatcmd.amount}
  215. message "&a%arg 3%番のコマンドを削除しました"
  216. else if arg 2 is "clear":
  217. true is true
  218. else:
  219. message "&6&lrepeatcmd (リピートコマンド)"
  220. message "&b常に実行するコマンドを設定します"
  221. message "&bコマンドの実行間隔の設定もできます"
  222. message "&c第二引数を設定してください:"
  223. message "&elist, add, remove, clear"
  224. else:
  225. message "&c権限がありません"
  226. else:
  227. message "&6&l-SkPiece-"
  228. set {_tips} to random integer between 1 to 2
  229. if {_tips} is 1:
  230. message "&b[&ncmdlog&b]を使うことでコマンドの使用が確認できますよ"
  231. if {_tips} is 2:
  232. message "&b[&nrepeatcmd&b]を使うことで常時実行コマンドを設定できますよ"
  233. message "&c第一引数を設定してください:"
  234. message "&einfo, cmdlog, repeatcmd"
  235.  
  236. on command:
  237. if {skpiece.cmdlog.toggle} is "enable":
  238. if {skpiece.cmdlog.target} is "all":
  239. if {skpiece.cmdlog.show} is "all":
  240. loop all players:
  241. message "&e[CMD] &d%player%: &7/%complete command%" to loop-player
  242. else if {skpiece.cmdlog.show} is "admin":
  243. loop all players:
  244. loop-player has permission "skpiece.admin"
  245. message "&e[CMD] &d%player%: &7/%complete command%" to loop-player
  246. else if {skpiece.cmdlog.target} is "noperms":
  247. if {skpiece.cmdlog.show} is "all":
  248. if player has permission "skpiece.admin":
  249. true is true
  250. else:
  251. loop all players:
  252. message "&e[CMD] &d%player%: &7/%complete command%" to loop-player
  253. else if {skpiece.cmdlog.show} is "admin":
  254. if player has permission "skpiece.admin":
  255. true is true
  256. else:
  257. loop all players:
  258. loop-player has permission "skpiece.admin"
  259. message "&e[CMD] &d%player%: &7/%complete command%" to loop-player
  260.  
  261. command /broadcast <text>:
  262. permission: skpiece.broadcast
  263. trigger:
  264. set {_arg1} to arg 1
  265. broadcast "%{_arg1}%"
Advertisement
Add Comment
Please, Sign In to add comment