7mm

【Skript】SkPieceR v0.1

7mm
Feb 19th, 2019
278
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 9.53 KB | None | 0 0
  1. on load:
  2. set {skpiece::sys::version} to "Ver.0.1e11"
  3. if {skpiece::sys::loadbc} is not false:
  4. broadcast "&6&lSkPiece &d%{skpiece::sys::version}% &eLoaded!"
  5. if {skpiece::showcommand::target} is not set:
  6. set {skpiece::showcommand::target} to "noperms"
  7. if {skpiece::showcommand::show} is not set:
  8. set {skpiece::showcommand::show} to "disable"
  9. if {skpiece::showcommand::log::keep} is not set:
  10. set {skpiece::showcommand::log::keep} to 7
  11.  
  12. on join:
  13. wait a second
  14. command "/scmdlogremove %player%"
  15.  
  16. command /scmdlogremove <player>:
  17. executable by: console
  18. trigger:
  19. {skpiece::showcommand::log::keep} > 0
  20. loop {skpiece::showcommand::log::player::%arg 1%::day::*}:
  21. if timetoday(now) - loop-value > {skpiece::showcommand::log::keep}:
  22. clear {skpiece::showcommand::log::player::%arg 1%::cmd::%loop-index%}
  23. clear {skpiece::showcommand::log::player::%arg 1%::comp::%loop-index%}
  24. clear {skpiece::showcommand::log::player::%arg 1%::day::%loop-index%}
  25. clear {skpiece::showcommand::log::player::%arg 1%::time::%loop-index%}
  26.  
  27. command /skr:
  28. permission: skr
  29. trigger:
  30. execute player command "/skript reload scripts"
  31.  
  32. command /skpiece [<boolean>]:
  33. trigger:
  34. if arg 1 is not set:
  35. message "&7======================"
  36. message "&6&lSkPiece &d%{skpiece::sys::version}%"
  37. message "&eCreate by &bMalb7mm"
  38. message "&7======================"
  39. set {_r} to random integer between 0 to 0
  40. if {_r} is 0:
  41. message "&eTips: &b/scmd &6でコマンド開示・コマンド記憶の設定ができます"
  42. if arg 1 is false:
  43. message "&aロード時のメッセージをオフにしました"
  44. set {skpiece::sys::loadbc} to false
  45. if arg 1 is true:
  46. message "&aロード時のメッセージをオンにしました"
  47. set {skpiece::sys::loadbc} to true
  48.  
  49. command /showcommand [<text>] [<text>] [<text>] [<text>]:
  50. aliases: /showcmd, /scmd
  51. trigger:
  52. if player don't have permission "skpiece.showcommand":
  53. message "&c権限がないため操作できません"
  54. stop
  55. if arg 1 is not set:
  56. message "&7&l・&c&lShowCommand &6- コマンド開示"
  57. message "&b/scmd &6showopt &7... &6- 表示設定を操作します"
  58. message "&b/scmd &6cmdlog &7... &6- コマンド記憶設定を操作します"
  59. if arg 1 is "showopt":
  60. if arg 2 is not set:
  61. message "&7&l・&c&lShowopt &6- 表示設定"
  62. message "&6""(取得対象)-(表示対象)""&bで指定します"
  63. message "&b取得対象は&6""all""(全体)&b、&6""noperms""(権限未所持者)&bから"
  64. message "&b表示対象は&6""all""(全体)&b、&6""ops""(権限所持者)、&6""disable""(使用しない)&bから選んでください"
  65. message "&e&l例: &a/scmd showopt &6all-ops"
  66. stop
  67. set {_opt::*} to arg 2 split by "-"
  68. if {_opt::1} is "all":
  69. message "&a取得対象を全体に設定しました"
  70. set {skpiece::showcommand::target} to "all"
  71. else if {_opt::1} is "noperms":
  72. message "&a取得対象を権限未所持者に設定しました"
  73. set {skpiece::showcommand::target} to "noperms"
  74. if {_opt::2} is "all":
  75. message "&a表示対象を全体に設定しました"
  76. set {skpiece::showcommand::show} to "all"
  77. else if {_opt::2} is "ops":
  78. message "&a表示対象を権限所持者に設定しました"
  79. set {skpiece::showcommand::show} to "ops"
  80. else if {_opt::2} is "disable":
  81. message "&aShowCommandをオフにしました"
  82. set {skpiece::showcommand::show} to "disable"
  83. if arg 1 is "cmdlog":
  84. if arg 2 is not set:
  85. message "&7&l・&c&lCmdlog &6- コマンド記憶設定"
  86. message "&b入力したことを記憶するコマンドを設定します"
  87. message "&b/scmd cmdlog &6add <コマンド名> &6- 記憶コマンドを追加します"
  88. message "&b/scmd cmdlog &6remove <コマンド名> &6- 記憶コマンドをリストから除きます"
  89. message "&b/scmd cmdlog &6list - 記憶コマンドのリストを表示します"
  90. message "&b/scmd cmdlog &6keep <日数> - 何日間記憶したコマンドを残すか設定します(0以下を指定で永遠に残す)"
  91. message "&b/scmd cmdlog &6log &7... &6- 記憶したコマンドを操作します"
  92. stop
  93. if arg 2 is "list":
  94. message "&b記憶コマンドリスト:"
  95. message "&7%{skpiece::showcommand::log::cmd::*}%"
  96. if arg 2 is "add":
  97. arg 3 is set
  98. message "&a/%arg 3% を記憶コマンドのリストに追加しました"
  99. add arg 3 to {skpiece::showcommand::log::cmd::*}
  100. if arg 2 is "remove":
  101. arg 3 is set
  102. loop {skpiece::showcommand::log::cmd::*}:
  103. loop-value is arg 3
  104. set {_i} to loop-index
  105. if {_i} is set:
  106. message "&a/%arg 3% を記憶コマンドのリストから除きました"
  107. clear {skpiece::showcommand::log::cmd::%{_i}%}
  108. else:
  109. message "&cリストに指定されたコマンドが見つかりませんでした"
  110. if arg 2 is "keep":
  111. arg 3 is set
  112. message "&a記憶日数を %arg 3%日 に設定しました"
  113. set {skpiece::showcommand::log::keep} to arg 3 parsed as integer
  114. if arg 2 is "log":
  115. if arg 3 is not set:
  116. message "&7&l・&c&lLog &6- 記憶コマンド操作"
  117. message "&b/scmd cmdlog log &6list <プレイヤー名> - 指定したプレイヤーの記憶コマンドを表示します"
  118. message "&b/scmd cmdlog log &6search <コマンド名> - 指定したコマンドの記憶コマンドを表示します"
  119. message "&b/scmd cmdlog log &6clear <-a|プレイヤー名> - 指定したプレイヤーの記憶コマンドをクリアします"
  120. message "&6 ; -aを指定すると全員の記憶コマンドをクリアします"
  121. message "&b/scmd cmdlog log &6cleart <日数> - 指定した日数より前の記憶コマンドをクリアします"
  122. if arg 3 is "list":
  123. arg 4 is set
  124. message "&aプレイヤー %arg 4% の記憶したコマンドのリスト"
  125. loop {skpiece::showcommand::log::player::%arg 4%::day::*}:
  126. set {_cmd} to {skpiece::showcommand::log::player::%arg 4%::cmd::%loop-index%}
  127. set {_comp} to {skpiece::showcommand::log::player::%arg 4%::comp::%loop-index%}
  128. set {_time} to {skpiece::showcommand::log::player::%arg 4%::time::%loop-index%}
  129. message "&e/%{_cmd}% &7(%{_time}%, %{_comp}%)"
  130. if arg 3 is "search":
  131. arg 4 is set
  132. message "&aコマンド %arg 4% の記憶したコマンドのリスト"
  133. loop all offline players:
  134. loop {skpiece::showcommand::log::player::%loop-value%::day::*}:
  135. set {_cmd} to {skpiece::showcommand::log::player::%loop-value-1%::cmd::%loop-index%}
  136. set {_comp} to {skpiece::showcommand::log::player::%loop-value-1%::comp::%loop-index%}
  137. set {_time} to {skpiece::showcommand::log::player::%loop-value-1%::time::%loop-index%}
  138. {_cmd} is arg 4
  139. message "&e/%{_cmd}% &7(%{_time}%, %{_comp}%)"
  140. if arg 3 is "clear":
  141. if arg 4 is "-a":
  142. message "&a全てのプレイヤーの記憶したコマンドをクリアしました"
  143. loop all offline players:
  144. loop {skpiece::showcommand::log::player::%loop-value%::day::*}:
  145. clear {skpiece::showcommand::log::player::%loop-value-1%::cmd::%loop-index%}
  146. clear {skpiece::showcommand::log::player::%loop-value-1%::comp::%loop-index%}
  147. clear {skpiece::showcommand::log::player::%loop-value-1%::day::%loop-index%}
  148. clear {skpiece::showcommand::log::player::%loop-value-1%::time::%loop-index%}
  149. else if arg 4 is set:
  150. message "&aプレイヤー %arg 4% の記憶したコマンドをクリアしました"
  151. loop {skpiece::showcommand::log::player::%arg 4%::day::*}:
  152. clear {skpiece::showcommand::log::player::%arg 4%::cmd::%loop-index%}
  153. clear {skpiece::showcommand::log::player::%arg 4%::comp::%loop-index%}
  154. clear {skpiece::showcommand::log::player::%arg 4%::day::%loop-index%}
  155. clear {skpiece::showcommand::log::player::%arg 4%::time::%loop-index%}
  156. if arg 3 is "cleart":
  157. arg 4 is set
  158. message "&a%arg 4% 日前以前の記憶したコマンドをクリアしました"
  159. loop all offline players:
  160. loop {skpiece::showcommand::log::player::%loop-value%::day::*}:
  161. timetoday(now) - {skpiece::showcommand::log::player::%loop-value-1%::day::%loop-index%} > arg 4
  162. clear {skpiece::showcommand::log::player::%loop-value-1%::cmd::%loop-index%}
  163. clear {skpiece::showcommand::log::player::%loop-value-1%::comp::%loop-index%}
  164. clear {skpiece::showcommand::log::player::%loop-value-1%::day::%loop-index%}
  165. clear {skpiece::showcommand::log::player::%loop-value-1%::time::%loop-index%}
  166.  
  167. on command:
  168. loop {skpiece::showcommand::log::cmd::*}:
  169. command is loop-value
  170. set {_cmdlog} to true
  171. if {_cmdlog} is true:
  172. add command to {skpiece::showcommand::log::player::%player%::cmd::*}
  173. add complete command to {skpiece::showcommand::log::player::%player%::comp::*}
  174. add timetoday(now) to {skpiece::showcommand::log::player::%player%::day::*}
  175. add now to {skpiece::showcommand::log::player::%player%::time::*}
  176. {skpiece::showcommand::show} is not "disable"
  177. if {skpiece::showcommand::target} is "noperms":
  178. player has permission "skpiece.admin"
  179. set {_break} to true
  180. set {_player} to player
  181. {_player} is set
  182. {_break} is not true
  183. if {skpiece::showcommand::show} is "all":
  184. broadcast "&7&oSCMD&f&o: &7%player%&f: &e/%complete command%"
  185. else if {skpiece::showcommand::show} is "ops":
  186. message "&7&oSCMD&f&o: &7%player%&f: &e/%complete command%" to ops
  187.  
  188. function timetoday(i: date) :: integer:
  189. set {_r} to unix timestamp of {_i}
  190. set {_r} to floor({_r}/86400)
  191. return {_r}
Add Comment
Please, Sign In to add comment