View difference between Paste ID: QSetupzQ and 1NC67Zqv
SHOW: | | - or go back to the newest paste.
1
					''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
2
					''''''''''''' Command Modules v1.7 Documentation '''''''''''''''
3
					''''''''''''''''''''  By nickcool9999 ''''''''''''''''''''''''''
4
					''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
5
6
	Security Disclaimers:
7
	
8
1)		DO NOT USE THIS IN SCRIPT BUILDERS. Although the script has its own built-in
9
		security system for preventing the wrong people from using commands directly,
10
		the global function _G.SendCommand forces the user to be OP (1 rank below admin)
11
		so that the command can execute. If you do include this, things may get out of
12
		hand quickly. Remember, this is a VERY powerful script.
13
		
14
2)		PLACE THIS SCRIPT IN THE SERVERSCRIPTSERVICE TO PREVENT EDITTING OF THE SCRIPT
15
		BY EXPLOITERS.
16
17
	List instructions:
18
		
19
		me - the speaker.
20
		others - everyone who is not the speaker.
21
		all - everyone.
22
		admins - everyone listed as an admin.
23
		nonadmins - everyone not listed as an admin.
24
		ops - everyone listed as an Operator.
25
		nonops - everyone not listed as an Operator.
26
		team - everyone on your team. If you are neutral, nobody will be selected.
27
		otherteams - everyone on a team which is not yours.
28
		random - select someone random
29
		random # - select # amount of random people
30
		
31
		And any other player will work. Also caps do not matter.
32
		
33-
	Commands:
33+
34
		me, admins, ops will NOT work
35-
1)		kill:{Lists}
35+
36
		so will "all"
37
		
38
		to create several lists, seperate the lists with a ":"
39-
2)		heal:{Lists}
39+
40
		Wildcards are used automatically, so try not to use ambiguous names.
41
		i.e. if you use kill:pla while Player1 and pLAYERofChips are in the game, it will kill those players.
42-
3)		teleport:{List}:{Player} OR tp:{List}:{Player}
42+
43
		kill:me:me:me <-- will kill you three times
44
		
45-
4)		ff:{Lists}
45+
46
		ff:me,me,me <-- will give you three force fields, and make you lag.
47
		unff:me <-- removes all force fields.
48-
5)		unff:{Lists}
48+
49
	How to utilize {Flags}:
50
51-
6)		vanish:{Lists}
51+
		There are three types of flags.
52
		One flag type is with settings:
53
			-<settingsflag> <settings>
54-
7)		ghost:{Lists}
54+
		One flag type is without settings:
55
			-<singleflag>
56
		One flag type is with settings but can
57-
8)		unvanish:{Lists} OR unghost:{Lists} OR reveal:{Lists}
57+
		support spaces and dashes within them:
58
			-<settingsflag> *<longersettings>*
59
		And finally, flags can be trailed behind
60-
9)		clearinventory:{Lists} OR clear:{Lists}
60+
		one another to set several settings:
61
			-<settingsflag> <settings> -<settingsflag> <settings>
62
63-
10)		clearcinventory:{Lists}
63+
	--{ Default Commands }--
64
	
65
1)		!kill:{Lists}
66-
11)		construction:{Lists}
66+
67
		create several lists to loopkill.
68
		
69-
12)		tool:{Lists}: {Arguments}
69+
2)		!heal:{Lists}
70
		heals everyone in the lists.
71
		
72
3)		!teleport:{List}:{Player} OR !tp:{List}:{Player}
73
		teleports everyone in the list to the player.
74
		
75
4)		!ff:{Lists}
76-
13)		m: {Arguments}
76+
77
		
78
5)		!unff:{Lists}
79-
14)		h: {Arguments}
79+
80
		
81
6)		!vanish:{Lists}
82-
15)		fog
82+
83
		
84
7)		!ghost:{Lists}
85-
16)		unfog
85+
86
		
87
8)		!unvanish:{Lists} OR !unghost:{Lists} OR !reveal:{Lists}
88-
17)		superhardcore:{Lists}
88+
89
		
90
9)		!clearinventory:{Lists} OR !clear:{Lists}
91-
18)		jail:{Lists}
91+
92
		
93
10)		!clearcinventory:{Lists}
94-
19)		unjail:{Lists}
94+
95
		
96
11)		!construction:{Lists}
97-
20)		headlight:{Lists} OR torch:{Lists}
97+
98
		
99
12)		!tool:{Lists}: {Arguments}
100-
21)		unheadlight:{Lists} OR untorch:{Lists}
100+
101
		tools' names or use "all" as the argument.
102
		"tool:{Lists}: tools" gives only wieldable tools.
103-
22)		walkspeed:{Lists}: {Argument}
103+
104
		"tool:{Lists}: remotescripts" gives remote scripts.
105
		
106
13)		!m:{Arguments}
107-
23)		normalwalkspeed:{Lists}
107+
108
		
109
14)		!h: {Arguments}
110-
24)		creative:{Lists}
110+
111
		
112
15)		!fog
113
		creates 5 blank messages in workspace emulating fog.
114-
25)		nocreative:{Lists}
114+
115
16)		!unfog
116
		removes all fog.
117-
26)		ccolor:{Lists}: {Color ColorHead}[, {Color ColorTorso}[, {Color LeftArm}[, {Color RightArm}[, {Color LeftLeg}[, {Color RightLeg}] ] ] ] ]
117+
118
17)		!superhardcore:{Lists}
119
		Makes it so if anyone in the lists die they get kicked from the game automatically.
120
		
121-
27)		swapheads:{Player}:{Player}
121+
18)		!jail:{Lists}
122
		Jails everyone in the lists.
123
		
124-
28)		blockhead:{Lists}
124+
19)		!unjail:{Lists}
125
		Removes all jails from everyone in the lists.
126
		
127-
29)		stat:{Lists}: {Statname}: {Value}
127+
20)		!headlight:{Lists} OR !torch:{Lists}
128
		Gives everyone in the lists a yellow light (Like a torch) for dark areas.
129
		
130
21)		!unheadlight:{Lists} OR !untorch:{Lists}
131-
30)		relativestat:{Lists}: {Statname}: {Value}
131+
132
		
133
22)		!walkspeed:{Lists}: {Argument} OR !ws:{Lists}: {Argument}
134
		Gives everyone in the lists a predetermined amount of walkspeed given by the
135
		argument (default 16).
136-
31)		chair:{Lists}
136+
137-
		Gives a chair to everyone in the lists.
137+
23)		!normalwalkspeed:{Lists} OR !nws:{Lists}
138
		Returns everyone in the lists' walkspeeds to the default (16).
139-
32)		guibuild:{Lists}
139+
140
24)		!creative:{Lists}
141
		Gives the player the ability to fly by double tapping space and gives the player
142
		the ability to run by double tapping W.
143-
33)		modulogic:{Logic} OR ml:{Logic} OR logic:{Logic}
143+
144
25)		!nocreative:{Lists}
145
		Removes all abilities gained from the creative:{Lists} command.
146
		
147-
34)		mltoggle: {Argument}
147+
26)		!ccolor:{Lists}: {Color ColorHead}[: {Color ColorTorso}[: {Color LeftArm}[: {Color RightArm}[: {Color LeftLeg}[: {Color RightLeg}] ] ] ] ]
148
		Set the character color, with 5 additional optional arguments for each body part.
149
		See the ColorTranslateAPI function for a list of colors.
150
		
151
27)		!swapheads:{Player}:{Player}
152-
								-- MODULE LOGIC API --
152+
153
154
28)		!blockhead:{Lists}
155
		Turns everyone in the lists' heads into blocks.
156
157
29)		!stat:{Lists}: {Statname}: {Value}
158-
		|			Variable content (can be number, string or bool)
158+
159
		i.e. stat:SpeedySeat: Money: 1 will change speedyseat's money to 1.
160
		
161
30)		!relativestat:{Lists}: {Statname}: {Value}
162
		Changes everyone in the lists' stat {Statname}'s value to itself added onto {Value}
163
		i.e. stat:SpeedySeat: Money: 1 will give speedyseat 1 money.
164
		note - useful in modulogic API
165
166
31)		!gravity:{Lists}: {Factor}
167
		Changes everyone in the lists' gravity multiplied by the factor.
168
		1 is default
169
		2 is double
170
		0.5 is half
171
		online, -0.085 seems to be zero gravity for some reason.
172
173
32)		!guibuild:{Lists}
174
		Basically an alternative to the construction command.
175
		Gives a tool which gives far more flexibility when building.
176
177
33)		!modulogic:{Logic} OR !ml:{Logic} OR !logic:{Logic}
178
		This command executes separate commands based on structured coding here.
179
		This is an advanced command, and beginners are not recommended to use it.
180
181
34)		!mltoggle:{Argument}
182
		This command toggles a setting in the modulogic internal configuration.
183
		You don't need to mess with this unless you're very well educated and need it.
184
		**MISSING DOCUMENTATION**
185
		
186
		**See: Module Logic Documentation
187
188
35)		!wait: {Time}
189
		This command is useless outside of the Modulogic API. This command basically
190
		waits until the Time argument above is reached, then executes the next command.
191
		You do not need to provide an argument if you are executing this after the m command,
192
		as the wait command will automatically wait 5 seconds if not given an argument.
193
194
36)		!respawn:{Lists}
195
		respawns everyone in the lists.
196
		this is an instant respawn, and also activates respawn events.
197
		
198
37)		!music:{SoundID}
199
		Spawns in a music box above your head playing the SoundID assigned.
200-
		-- EXAMPLES BELOW (PASTE FULL TEXT IN ONLINE CHAT TO TEST) --
200+
201
38)		!unmusic
202
		Removes any music that you've spawned in, stopping them as well.
203-
				ml:case>mlv>given~(<)1.5{m: You are running a past version of ModuLogic.}>{m: You are up to date!}
203+
204
39)		!looklike:{Lists}: {PlayerID/Username}
205-
				ml:case>me/stat/Money>given~(>)9000{m: %me/name% has over 9000 Money!!!!1}
205+
		Makes anybody in the lists' appear as another player based on their Player ID OR Username.
206
207-
				ml:m:%me/name%: You are %me/distancefrom/Pending% studs away from the brick.
207+
40)		!delimb:{Lists}
208
		Gets rid of "some" limbs :> Perfect trolling mechanism!
209-
				ml:define>alt>%me/distancefrom/Pending%;case>alt>given~(<)25{m:%me/name%: You are close enough to the spawn}>{m:%me/name%: You are %SpeedySeat/distancefrom/Pending% studs away from spawn.}
209+
210
41)		!nohats:{Lists}
211-
				ml:loop>%players%>{m: I ate %player index% for breakfast!;kill:%player index%;wait}
211+
		Gets rid of everybody in the lists' hats.
212
213-
35)		wait: {Time}
213+
42)		!material:{Lists}: {Material}
214
		Changes the material of everyone in the lists to the desired material.
215
216
43)		!blind:{Lists}
217
		Makes everybody in the lists blind.
218
219-
36)		respawn:{Lists}
219+
44)		!unblind:{Lists}
220
		Removes blindness from everybody in the lists.
221
222
45)		!citem:{ID}
223-
--	ADMIN ONLY COMMANDS:  --
223+
		Inserts the asset ID and puts it somewhere in your character.
224
		You must be admin to use this command if the ID is not from ROBLOX.
225-
1)		promote:{Lists}
225+
226
46)		!jumppower:{Lists}: {Argument} OR !jp:{Lists}: {Argument}
227
		Gives everyone in the lists a predetermined amount of JumpPower given by the
228-
2)		demote:{Lists}
228+
		argument (default 50).
229
230
47)		!normaljumppower:{Lists} OR !njp:{Lists}
231-
3)		admin:{Lists}
231+
		Resets everyone in the lists' JumpPower to 50.
232
233
	--{ ADMIN ONLY COMMANDS }--
234
235
1)		!lua: {Code}
236
		!lualocal: {Code}
237
		Runs some lua code. Must have ServerScriptService.LoadStringEnabled on.
238-
4)		unadmin:{Lists}
238+
		**WARNING: Enabling LoadString disables your ability to use player points!
239
		  USE MODULOGIC WHERE YOU CAN!
240
		
241
2)		!promote:{Lists}
242-
5)		kick:{Lists}
242+
243
		
244
3)		!demote:{Lists}
245
		Removes everyone in the lists from the Operator list.
246-
6)		ban:{Lists}
246+
247
4)		!admin:{Lists}
248
		**WARNING: DO NOT USE THIS COMMAND FOR PEOPLE YOU DO NOT TRUST COMPLETELY.
249
		YOU DO NOT NEED ADMIN TO USE COMMANDS; OPERATOR ALLOWS ALL NON-RANK COMMANDS.
250-
7)		unban: {Arguments}
250+
251
		This is only temporary and does not make the user a permanent admin.
252
		To make a user a permanent admin, add their name to the list of admins.
253
		
254-
	How to utilize flags:
254+
5)		!unadmin:{Lists}
255
		Removes everyone in the lists from the admin list.
256-
	There are three types of flags.
256+
257-
	One flag type is with settings:
257+
258-
		-<settingsflag> <settings>
258+
6)		!kick:{Lists}
259-
	One flag type is without settings:
259+
260-
		-<singleflag>
260+
261-
	One flag type is with settings but can
261+
262-
	support spaces and dashes within them:
262+
7)		!ban:{Lists}
263-
		-<settingsflag> *<longersettings>*
263+
264-
	And finally, flags can be trailed behind
264+
265-
	one another to set several settings:
265+
266-
		-<settingsflag> <settings> -<settingsflag> <settings>
266+
8)		!unban: {Arguments}
267
		Checks the ban list for anyone who is an argument in this command and removes them.
268-
	Examples using commands in ExtraCommands:
268+
269
270-
		hop:-macro *p: 2 2 2 -c Bright blue -ry 45*
270+
9)		!chatprefix:{Prefix}
271-
		hop:-name RightClickFrenzy -rmacro *p: 2 2 2 -c Bright red* -macro *p: 2 2 2 -c Bright blue -ry 45*
271+
		Changes the chat commands' prefix. This changes the script from its default settings.
272
		USE WITH CAUTION!
273-
	The ExtraCommands Commands:
273+
		If you do not want any chat prefixes for these commands, simply say "!chatprefix" OR
274
		change the value in the config to be empty.
275-
1)	 	hop:{Flags}
275+
276
10)		!insert:{ID}
277
		Inserts the item with the ID given into workspace.
278
279
	--{ SpecialEffects CoreAPI by nickcool9999, v1.0 }--
280
281
		This command script deals with several special effects offered in the lighting service.
282
		Delete this script if you do not wish to have lighting commands.
283
284
		To reset any of these effects, issue the command again without any arguments.
285
		i.e. "!ambient".
286
287-
			-rmacro <MACRO>: Macro flag. This flag sets what commands get executed when this HopperBin is right clicked. (Off by default)
287+
1)		!ambient:{red}:{green}:{blue}
288
		Sets the ambient lighting from 0 to 1 for each color.
289
		i.e. ambient:1:1:1 would make the ambient full red, full green and
290
			 full blue, which is white.
291-
2)		p:[[x] [y] [z] ]{Flags}
291+
292
2)		!oambient:{red}:{green}:{blue}
293
		Sets the outdoor ambient lighting from 0 to 1 for each color.
294
295
3)		!bcshift:{red}:{green}:{blue}
296
		Sets the Color Shift (Bottom) from 0 to 1 for each color.
297
298
4)		!tcshift:{red}:{green}:{blue}
299
		Sets the Color Shift (Top) from 0 to 1 for each color.
300
301
5)		!brightness:{Brightness}
302
		Sets the brightness from 0 to 10.
303
304
6)		!shadows:{(yes/true)/(no/false) enabled}
305
		Sets if global shadows are enabled.
306
307
7)		!outlines:{(yes/true)/(no/false) enabled}
308
		Sets if outlines are enabled.
309
310
8)		!shadowcolor:{red}:{green}:{blue}
311
		Sets the Shadow Color from 0 to 1 for each color.
312
313
9)		!fogcolor:{red}:{green}:{blue}
314
		Sets the Fog Color from 0 to 1 for each color.
315
316
10)		!fogstart:{Amount}
317
		Sets the fog start amount.
318-
			-ontouch <MACRO>: Executes commands on behalf of the player when they touch this part.
318+
319
11)		!fogend:{Amount}
320
		Sets the fog end amount.
321
322
12)		!latitude:{Amount}
323
		Sets the Geographic Latitude.
324
325
	--{ GridsAPI by nickcool9999, v1.0 }--
326
327
		This is the fundemental command script that deals with 2D Arrays. This is not useful outside of
328
		the "assign" function of ModuLogic, which assigns the contents of a returned command to a variable.
329
330
		This API is a recreation of the popular ds_grid library from Game Maker: Studio in Lua.
331
332
1)		!ds_grid_create:{ID}:{width}:{height}
333
		Creates a 2D Grid
334
335
2)		!ds_grid_width:{ID}
336
		Gets the Grid's Width
337
338
3)		!ds_grid_height:{ID}
339
		Gets the Grid's Height
340
341
4)		!ds_grid_resize:{ID}:{width}:{height}
342
		Resizes a Grid to new dimensions
343
344
5)		!ds_grid_clear:{ID}
345
		Clears a grid
346
347
6)		!ds_grid_set:{ID}:{x}:{y}:{value}
348
		Sets a spesific value in the grid
349
350
7)		!ds_grid_set_disk:{ID}:{x}:{y}:{radius}:{value}
351
		Sets a circular area to a value
352
353
8)		!ds_grid_set_grid_region:{ID}:{x}:{y}:{x2}:{y2}:{x_copyto}:{y_copyto}
354
		Copies an area on the grid to another location
355
356
9)		!ds_grid_shuffle:{ID}
357
		Randomly Shuffle Values Everywhere
358
359
10)		!ds_grid_sort:{ID}:{column}:{ascending}
360
		Sort a row
361
362
11)		!ds_grid_get:{ID}:{x}:{y}
363
		Return Grid Value
364
365
12)		!ds_grid_get_max:{ID}:{x}:{y}:{x2}:{y2}
366
		Get Highest value in area
367
368
13)		!ds_grid_get_mean:{ID}:{x}:{y}:{x2}:{y2}
369
		Get Average value in area
370
371
14)		!ds_grid_get_min:{ID}:{x}:{y}:{x2}:{y2}
372
		Get Lowest value in area
373
374
15)		!ds_grid_get_sum:{ID}:{x}:{y}:{x2}:{y2}
375
		Get a sum of the values in the area
376
377
16)		!ds_grid_get_disk_max:{ID}:{x}:{y}:{radius}
378
		Get Highest value in circular area
379
380
17)		!ds_grid_get_disk_mean:{ID}:{x}:{y}:{radius}
381
		Get Average value in circular area
382
383
18)		!ds_grid_get_disk_min:{ID}:{x}:{y}:{radius}
384
		Get Lowest value in circular area
385
386
19)		!ds_grid_get_disk_sum:{ID}:{x}:{y}:{radius}
387
		Get a sum of all values in a circular area
388
389
20)		!ds_grid_add:{ID}:{x}:{y}:{value}
390
		Sum a value to a cell
391
392
21)		!ds_grid_add_region:{ID}:{x}:{y}:{x2}:{y2}:{value}
393
		Sum a value to a region
394
395
22)		!ds_grid_multiply:{ID}:{x}:{y}:{value}
396
		Multiply a single cell by a value
397
398
23)		!ds_grid_multiply_disk:{ID}:{x}:{y}:{radius}:{value}
399
		Multiply a circular region by a value
400
401
24)		!ds_grid_multiply_region:{ID}:{x}:{y}:{x2}:{y2}:{value}
402
		Multiply an entire region by a value
403
404
25)		!ds_grid_value_exists:{ID}:{x}:{y}:{x2}:{y2}:{value}
405
		Check if a value exists in an entire region
406
407
26)		!ds_grid_value_disk_exists:{ID}:{x}:{y}:{radius}:{value}
408
		Check if a value exists in a circular region
409
410
27)		!ds_grid_value_x:{ID}:{x}:{y}:{x2}:{y2}:{value}
411
		Return the x value of the first cell in a region with the value
412
413
28)		!ds_grid_value_y:{ID}:{x}:{y}:{x2}:{y2}:{value}
414
		Return the y value of the first cell in a region with the value
415
416
29)		!ds_grid_value_disk_x:{ID}:{x}:{y}:{radius}:{value}
417
		Return the x value of the first cell in a circular region with the value
418
419
30)		!ds_grid_value_disk_y:{ID}:{x}:{y}:{radius}:{value}
420
		Return the y value of the first cell in a circular region with the value
421
422
31)		!ds_grid_copy:{ID}:{templateID}
423
		Overwrite the current Grid ID with a template one.
424
425
32)		!ds_grid_read:{JSON}:{ID}
426
		Writes to Grid ID from JSON string.
427
428
33)		!ds_grid_write:{ID}
429
		returns JSON string from Grid ID
430
431
34)		!ds_grid_exists:{ID}
432
		Checks existance of Grid ID.
433
434
35)		!ds_grid_raw:{ID}
435
		Returns raw grid data of an ID.
436
437
	--{ GuiAPI by nickcool9999, v0.1 }--
438
439
		Use this to see all of the commands available in the script (that are documented).
440
		Unfinished API implementation for Interface support.
441
442
1)		!view
443
		Toggles the display of the command interface.
444
445
2)		!input_box:{Lists}: {Flags}
446
		Displays an input box where you can input information for another command.
447
		Useful if you are demonstrating commands!
448
		You MUST provide an -id flag!
449
450
3)		!input_wait:{BoxID}
451
		Wait for input from the input box ID given.
452
453
4)		!input_getinfo:{BoxID}
454
		Returns information about the input box ID given.
455
		Only works after input has been entered.
456
		Since this is a return command, it is only useful for ModuLogic programming.
457
		i.e. !ml:assign>input_getinfo:hi>variablename
458
459
	--{ ExtraCommands by nickcool9999, v1.0 }--
460
461
		This command script is purely for optional commands that are relatively advanced and experimental. This
462
		command script includes several extra functions that allow the user to create parts and HopperBins and more.
463
	
464
1)	 	!hop:{Flags}
465
		This command creates a HopperBin given the parameters.
466
		Any flag that has (Off by default) next to it means that the flag's properties won't
467
		be considered unless it is included during creation.
468
		Any flag that has a default marked next to it means that you can call the flag as a -singleflag and it uses
469
		the default value when parsing.
470
		Flags:
471
			-regen <HP>: The amount of HP to regen per tick() [Default: 4] (Off by default)
472
			-name <name>: The display name of the HopperBin [Default: CommandBin]
473
			-deadly: The HopperBin will kill the user of it like a reset tool. (Off by default)
474
			-hpset <HP>: What to set the user's HP to when clicked and selected. [Default: 0] (Off by default)
475
			-macro <MACRO>: Macro flag. This flag sets what commands get executed when this HopperBin is clicked. (Off by default)
476
			-expire <time>: The amount of time this HopperBin is allowed to exist in your world (Useful for minigames utilizing
477
				commands) (Off by default)
478
479
2)		!p:[x] [y] [z] {Flags}
480
		This command creates a Part given the parameters.
481
		Note: You don't need to include any flags if you want to keep their default (i.e. p: 4 1 4 or p: -c Bright blue)
482
		Flags:
483
			-n <Name> or -name <Name>: The name of the part (Part by default)
484
			-x <x>: The x position (Off by default)
485
			-y <y>: The y position (Off by default)
486
			-z <z>: The z position (Off by default)
487
			-xr <xr>: The x relative position [Default: 0 studs]
488
			-yr <yr>: The y relative position [Default: 5+(y size/2) studs]
489
			-zr <zr>: The z relative position [Default: 0 studs]
490
			-rx <rx>: The x rotation (In Degreesº) [Default: 0º]
491
			-ry <ry>: The y rotation (In Degreesº) [Default: 0º]
492
			-rz <rz>: The z rotation (In Degreesº) [Default: 0º]
493
			-us <SurfaceType>: The string surface name to set as the top [Default: Smooth]
494
			-ds <SurfaceType>: The string surface name to set as the bottom [Default: Smooth]
495
			-fs <SurfaceType>: The string surface name to set as the front [Default: Smooth]
496
			-bs <SurfaceType>: The string surface name to set as the back [Default: Smooth]
497
			-ls <SurfaceType>: The string surface name to set as the left [Default: Smooth]
498
			-rs <SurfaceType>: The string surface name to set as the right [Default: Smooth]
499
			-mat <Material>: The material setting for the part. Can be any Material. [Default: SmoothPlastic]
500
			-expire <time>: The amount of time this brick is allowed to exist in your world (Off by default)
501
			-a <true/false>: The anchored property [Default: true]
502
			-cc <true/false>: The CanCollide property [Default: true]
503
			-cj: Connects the joints of this block when created.
504
			-deadly <kill/explode>: Create a temporary kill brick (Off by default)
505
			-tpad <link>: Create a permanent teleport pad given the link string (Off by default)
506
			-tpadtemp <link>: Create a temporary server-only teleport pad given the link string (Off by default)
507
			-deb <time>: The time in seconds that the ontouch macro has before it can be used again. [Default: 1 second]
508
			-ontouch <MACRO>: Executes commands on behalf of the player when they touch this part.
509
510
	--{ ListsAPI by nickcool9999, v1.0 }--
511
512
		This is the fundemental command script that deals with 1D Arrays. This is not useful outside of
513
		the "assign" function of ModuLogic, which assigns the contents of a returned command to a variable.
514
		
515
		This is a far simpler version of the GridsAPI.
516
		This API is a recreation of the popular ds_list library from Game Maker: Studio in Lua.
517
	
518
1)	 	!ds_list_create:{Name}
519
			*RETURNS the list
520
		Creates an empty list
521
522
2)		!ds_list_get:{Name}
523
			*RETURNS the list
524
525
3)		!ds_list_add:{Name}:{Contents}
526
			*RETURNS the list
527
		Adds an entry to the list with {Contents} in it
528
529
4)		!ds_list_size:{Name}
530
			*RETURNS the list's size, the amount of items in it
531
532
5)		!ds_list_delete:{Name}:{Index}
533
			*RETURNS the list
534
		Omits {Index} from the {Name} list.
535
536
6)		!ds_list_remove:{Name}:{Contents}
537
			*RETURNS the list
538
		Omits all indexes with {Contents} from the {Name} list.
539
540
7)		!ds_list_clear:{Name}
541
			*RETURNS the list
542
		Completely clears the list.
543
544
8)		!ds_list_find_index:{Name}:{Contents}
545
			*RETURNS the {Contents} index or a negative error code.
546
		Finds the first entry in the list with {Contents} assigned to it.
547
548
9)		!ds_list_find_value:{Name}:{Index}
549
			*RETURNS the {Contents} of the {Index} in the {Name} list.
550
		Finds the entry in the list with the index number {Index}.
551
552
10)		!ds_list_shuffle:{Name}
553
			*RETURNS the list
554
		Shuffles the list randomly.
555
556
11)		!ds_list_sort:{Name}:{isAscending(1 if yes, 0 if no)}
557
			*RETURNS the list
558
		Sorts the list.
559
		ALL ENTRIES MUST BE A NUMBER OR STRING OR THIS WILL BREAK.
560
561
12)		!ds_list_copy:{Name}:{Name2}
562
			*RETURNS the {Name} list
563
		Copies the contents of the {Name2} list to {Name}.
564
		This process eliminates any contents {Name} had.
565
		Useful for list templates.
566
567
13)		!ds_list_destroy:{Name}
568
			*RETURNS -1 if no list goes by the name {Name}.
569
		Removes the {Name} list from the index memory.
570
571
14)		!ds_list_exists:{Name}
572
			*RETURNS true if list exists and false if not
573
		Checks existance of {Name} list.
574
575
	--{ PastebinAPI by nickcool9999, v0.1 }--
576
577
		Very simple commands to alias very long commands by using the Pastebin service.
578
		Unfinished API implementation for internal support.
579
580
1)		!pastebin:{PasteID}
581
		Runs the command in the Pastebin ID. Not very useful unless you do pastebin:ml:{ModuLogic}.
582
583
2)		!pml:{PasteID}
584
		Aliases both pastebin and "pastebin:ml:". combines the two and runs the provided pastebin ID as Modulogic.
585
586
3)		!plua:{PasteID}
587
		This command only works for admins. Executes lua via a Pastebin ID. Must have ServerScriptService.LoadStringEnabled checked.
588
		**WARNING: Enabling LoadString disables your ability to use player points!
589
		  USE MODULOGIC WHERE YOU CAN!
590
591
	--{ ModuleLogic API v1.1 }--
592
593
		|define - creates a variable
594
		|	>
595
		|	VariableName
596
		|		>
597
		|		Variable content (can be number, string or bool)
598
		|-=-
599
		|case - checks a variable
600
		|	>
601
		|	VariableName/Variable subgroup (Optional)
602
		|		>
603
		|		Case~(type of comparison)Number,String compared{Code executed when true}>{Otherwise case (Optional)}
604
		|-=-
605
		|function - Creates a callable function
606
		|	>
607
		|	FunctionName/Arg1,Arg2,... - Arranges the necessary arguments and name
608
		|		>
609
		|		{When called code} - Creates a new definition with this code
610
		|-=-
611
		|call - Looks through definitions of code/arguments
612
		|	>
613
		|	FunctionName - Looks for this name
614
		|		>
615
		|		Arg1,Arg2,... -- Gives these arguments
616
		|-=-
617
		|loop - Repeats a line of code
618
		|	>
619
		|	Count - Tells how many times to repeat (for player function use %players%)
620
		|		>
621
		|		{When called code} - Loops this code count many times giving %index% as a variable name. Use %player index% for player getting.
622
		|-=-
623
		|assign - Assigns results of command to a variable
624
		|	>
625
		|	Command - The command to run 
626
		|		>
627
		|		Variable - The variable name to assign to.
628
		|-=-
629
		|forlist - Loops through a ds_list (Requires Lists API)
630
		|	>
631
		|	ListID - The ID of the list created from commands.
632
		|		>
633
		|		{When called code} - Loops this code list count many times giving %index%, %i% as a variable name.
634
		|-=-
635
		|forgrid - Loops through a ds_grid for each cell (Requires Grids API)
636
		|	>
637
		|	GridID - The ID of the grid created from commands.
638
		|		>
639
		|		{When called code} - Loops this code for every cell giving %index%, %x% and %y% as variable names.
640
		|-=-
641
		|		=>{
642
		|			This syntax creates a new thread for commands to execute. Runs aside from normal logic.
643
		|		}
644
		|-=-						
645
		|All default variables (to access surround name in percent signs):
646
		|pln - speaker's name
647
		|mlv - version of modules being used
648
		|elvl - same as below, only shortenned
649
		|executionLevel - useful for preventing stack overflows, tells which sub-function you are in.
650
		|index - only useful in loops. The number of times this code block has been executed thus far
651
		|Playername/stat/statname - Gives the player stat's value
652
		|Playername/playervar/Variable in player - Gives the playervar's value
653
		|Playername/teamname - Gives the name of the player's team
654
		|Playername/name - this is used for getting which player Playername has chosen
655
		|players - number of players in the list
656
		|player # - Player from the player list with the number #
657
		|? new variables can be created with the define function
658
		|
659
		|module code can be executed from anywhere
660
661
	--{ ModuleLogic Examples Below (PASTE FULL TEXT IN ONLINE CHAT TO TEST) }--
662
663
			How to check your modulogic version (This snippet will be updated with new versions):
664
				!ml:case>mlv>given~(<)1.5{m: You are running a past version of ModuLogic.}>{m: You are up to date!}
665
			How to check your "Money" stat (Tells you if you have lots!):
666
				!ml:case>me/stat/Money>given~(>)9000{m: %me/name% has over 9000 Money!!!!1}
667
			How to test how far you are from a workspace instance (This case is "Pending"):
668
				!ml:m:%me/name%: You are %me/distancefrom/SpawnLocation% studs away from the brick.
669
			Case checking to see if you are close to the spawn (Creates "alt" as a variable then checks it):
670
				!ml:define>alt>%me/distancefrom/Pending%;case>alt>given~(<)25{m:%me/name%: You are close enough to the spawn}>{m:%me/name%: You are %SpeedySeat/distancefrom/Pending% studs away from spawn.}
671
			Loop through each player and tell them the script ate them:
672
				!ml:loop>%players%>{m: I ate %player index% for breakfast!;kill:%player index%;wait}
673
			Textboxes with input (Pastebin ID is WW0SScNU, you should use the command "pastebin:WW0SScNU" instead):
674
				ml:
675
				=>{  ##Thread separation##
676
					input_box:me: -id box -boxlabel Message 1 -dtext Test1 -button true -blabel SubTest -col 0,0,0 -tcol White -pos 0.25,0,0.25,0;
677
					input_wait:box;
678
					assign>input_getinfo:box>val;
679
					m:%val%
680
				};
681
				=>{  ##Thread separation##
682
					input_box:me: -id box2 -boxlabel Message 2 -dtext Test1 -button true -blabel SubTest -col 0,0,0 -tcol White -pos 0.75,0,0.25,0;
683
					input_wait:box2;
684
					assign>input_getinfo:box2>val;
685
					m:%val%
686
				};