View difference between Paste ID: Zr04HbwK and 5aLFqrHX
SHOW: | | - or go back to the newest paste.
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-
			execute console command "/%{skpiece.repeatcmd.command::%loop-number%}%"
15+
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-
							message "&3%{_page}*10+loop-number%: &a%{skpiece.repeatcmd.tick::%{_x}%}%tick: /%{skpiece.repeatcmd.command::%{_x}%}%"
93+
94
						message "&bコマンドログの表示対象を設定します"
95
						message "&c第三引数を設定してください:"
96-
							message "&3%loop-number%: &a%{skpiece.repeatcmd.tick::%loop-number%}%tick: /%{skpiece.repeatcmd.command::%loop-number%}%"
96+
97
				else:
98
					message "&6&lcmdlog (コマンドログ)"
99
					message "&bプレイヤーの使用したコマンドをチャットログに表示します"
100-
						message "&b常時実行コマンドを追加します"
100+
101-
						message "&b・追加するコマンドに/は入れないでください"
101+
102-
						message "&b・「""」(ダブルクォーテーション)を使う場合は二つ繋げてください("""")"
102+
103
			else:
104
				message "&c権限がありません"
105-
							message "&e(実行間隔tick数)"
105+
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}%"