File size: 17,978 Bytes
758cb70
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
-- Objects

-- AbilityConfig 

Description: Used to define the properties of an ability

Parameters
maxProgress: number
The maximum amount of progress that can be stored on the ability.
progressPerUse: number
The amount of progress used every time the ability is activated.
iconImage: string | nil
An optional rbxassetid of the image that will be shown on the button for the ability.

-- Here is a script that uses this object:

Events.UseAbility(function (event)
    if (event.abilityName == "yeehaw") then
        AnnouncementService.sendAnnouncement("YEEHAW!")
    end
end)

-- Create a "yeehaw" ability that is activated with the X key
-- The ability has 2 stacks of "yeehaw"
local abilityConfig = {
    maxProgress = 10, 
    progressPerUse = 5
    iconImage = "rbxassetid://7193644599"
}
AbilityService.createAbility("yeehaw", KeyCode.X, abilityConfig)

-- Add the ability to the host
AbilityService.enableAbility(MatchService.getHost(), "yeehaw")

-- Block
Description: A reference to a block in the world.

Parameters
blockType: ItemType
The type of block.
position: Vector3
Where the block is located.
placedByUserId: number | nil
The Roblox user ID of the player who placed the block (may not exist if placed by the server).

-- Entity
Description: An Entity is anything that can take damage (player, pengin, skeleton, etc).

Functions
getPlayer(): Player | nil
Returns the player playing as this entity. If this entity is an NPC (like a Creature) this will return nil.
getHealth(): number
Returns current health of the entity.
getMaxHealth(): number
Returns max health of the entity.
isAlive(): bool
Returns true if the entity is alive.
getPosition(): Vector3 | nil
Returns the current position of the entity.

setPosition(position: Vector3)
Sets the position of the entity.
-- Example usage:
Events.BlockPlace(function(event)
    local entity = event.player:getEntity()
    if not entity then
        return
    end
    entity:setPosition(event.position + Vector3.new(0,3,0))
end)

getCFrame(): CFrame | nil
Returns the current CFrame of the entity.
setCFrame(cframe: CFrame)
Sets the CFrame of the entity.
setMaxHealth(health: number)
Sets the max health of the entity.
setCustomName(name: string): nil
Sets a custom display name on the entity's healthbar.
destroy()
Destroys the entity.

-- ImageEntity
Description: Extends Entity (includes all the functions and parameters of Entity)

Parameters
image: string
The rbxassetid of the image used to create the image entity.

Functions
moveTo(position: Vector3): nil
Moves the entity to the specified position.
attack(target: Entity, damage: number): boolean
The entity attacks the target Entity for the specified damage amount. Returns true if the attack was successful.
setSpeed(speed: number)
Sets the walk speed of the entity.
getModel(): Model | nil
Returns the Model of the entity.

-- KitEntity
Description: Extends Entity (includes all the functions and parameters of Entity)

Parameters
kitType: KitType
Which type of Kit the entity is.

Functions
moveTo(position: Vector3): nil
Moves the entity to the specified position.
attack(target: Entity, damage: number): boolean
The entity attacks the target Entity for the specified damage amount. Returns true if the attack was successful.
setSpeed(speed: number)
Sets the walk speed of the entity.
setArmor(armor: ItemType)
Sets armor of the entity.
--Examples: ItemType.LEATHER_HELMET, ItemType.IRON_HELMET, ITEM_TYPE.DIAMOND_HELMET

setHandItem(item: ItemType)
Sets the item held in the hand of the entity.
getModel(): Model | nil
Returns the Model of the entity.

-- CreatureEntity
Description: Extends Entity (includes all the functions and parameters of Entity)

Parameters
creatureType: CreatureType
Which type of Creature the entity is.
team: Team
Which team is allied with the Creature. Friendly Creatures, such as Skeletons or Ducks, will attack all other teams. Hostile Creatures, such as Void Crabs, will always attack all teams.

Functions
moveTo(position: Vector3): nil
Moves the Creature to the specified position.
attack(target: Entity, damage: number): boolean
Creature attacks the target Entity for the specified damage amount. Returns true if the attack was successful.
setSpeed(speed: number)
Sets the walk speed of the Creature.
getModel(): Model | nil
Returns the Model of the entity.

-- Generator
Description: Automatically drops an item on an interval (cooldown).

Functions
setCooldown(cooldown: number)
Sets the cooldown of the generator (in seconds). This is how many seconds passes in-between item drops. Defaults to 20 seconds.
setItem(itemType: ItemType)
Sets the type of item that is dropped by the generator.
setMax(max: number)
Sets the max stack size that the generator can hold. Once the max stack size is reached, no more items will be generated until the items are picked up. Defaults to 10.
setPosition(position: Vector3)
Sets the position of the generator.
getPosition(): Vector3
Returns the position of the generator.
dropItem(itemType: ItemType)
Immediately drops an item from the generator.
destroy()
Destroys the generator.

-- Knockback

Parameters
fromPosition: Vector3
The position from which knockback should be applied. If this is equal to the position of the hit entity, no knockback will be applied.
horizontal: number | nil
The amount of horizontal knockback applied. Defaults to 1. A value of 0 will apply no horizontal knockback.
vertical: number | nil
The amount of vertical knockback applied. Defaults to 1. A value of 0 will apply no vertical knockback.

-- Example usage:
-- All damage events launch the hit entity into the air with no damage
Events.EntityDamage(function(event)
    event.damage = 0
    event.knockback.horizontal = 0.5
    event.knockback.vertical = 5
    event.knockback.fromPosition = event.entity:getPosition() - Vector3.new(0,3,0)
end)

-- Another Example
-- Cancels knockback for all damage events
Events.EntityDamage(function(event)
    event.knockback.horizontal = 0
    event.knockback.vertical = 0
end)

-- Leaderboard
Description: A leaderboard shown on a player's HUD

For examples on how to use, refer to UIService.
A leaderboard consists of entries (the rows displayed on the UI). Each entry has a key and a score associated with it.
Keys refer to the names of what is being ranked on the leaderboard. You can add Players, Teams, or words (strings) to the leaderboard. 
Scores are the number displayed next to each key. The leaderboard entries are automatically ordered by descending scores. The rank of a key is its place.

Functions
getKeys(): Array<Player | Team | string>
Returns the keys of the leaderboard.
addKey(key: Player | Team | string, initialScore: number | nil)
Adds a new key to the leaderboard of the given type. You can optionally give the key an initial score, which otherwise defaults to zero.
removeKey(key: Player | Team | string)
Removes the key from the leaderboard.
addScore(key: Player | Team | string, amount: number)
Adds the given amount to the current score of the key.
subScore(key: Player | Team | string, amount: number)
Subtracts the given amount from the current score of the key.
setScore(key: Player | Team | string, amount: number)
Sets the score of the key to the given amount.
getScore(key: Player | Team | string): number | nil
Returns the current score of the key. Returns nil if the key is not part of the leaderboard.
getPlace(place: number): Player | Team | string | nil
Returns the key located at the place. Returns nil if there is no key at the place.
clear()
Clears all leaderboard entries.

-- MatchState
Description: Object describing the different match states

PRE = 0,
RUNNING = 1,
POST = 2,

-- Model
Description: For examples on how to use, check ModelService.

Parameters
modelName: ModelType
Name of the model to be imported

Functions
setPosition(position: Vector3)
Sets the position of the model.
getPosition(): Vector3
Returns the position of the model.
setRotation(rotation: Vector3)
Sets the rotation of the model.
getRotation(): Vector3
Returns the rotation of the model.
setCFrame(cframe: CFrame)
Sets the CFrame of the model to the specified CFrame.
getCFrame(): CFrame
Returns the CFrame of the model.
setScale(scale: number)
Sets the scale of the model.
getScale(): number
Returns the scale of the model.
setCollidable(collidable: boolean)
Sets whether the model should collide with other models, blocks, and players. Defaults to true on creation.
setAnchored(anchored: boolean)
Sets whether the model should have physics applied to it. Defaults to true on creation.
setTransparency(transparency: number)
Sets the transparency of the model. Transparency ranges from 0 (opaque) to 1 (invisible).
destroy()
Destroys the model.

-- ParticleEmitter

For examples on how to use, refer to ParticleService.
Creates a Roblox ParticleEmitter.
Functions
setTexture(texture: string)
Sets the rbxassetid of the texture of the particle emitter.
setColor(color: ColorSequence)
Sets the color of the particles emitted.
setRate(rate: number)
Sets the rate of the particles emitted.
setPosition(position: Vector3)
Sets the position of the particle emitter.
getPosition(): Vector3
Returns the position of the particle emitter.
setRotation(rotation: Vector3)
Sets the rotation of the particle emitter.
getRotation(): Vector3
Returns the rotation of the particle emitter.
setCFrame(cframe: CFrame)
Sets the CFrame of the particle emitter.
getCFrame(): CFrame
Returns the CFrame of the particle emitter.
setRegionSize(size: Vector3)
Sets the size of the region from which particles are emitted.
getRegionSize(): Vector3
Returns the size of the region from which particles are emitted.
setSize(size: NumberSequence)
Sets the size of the particles emitted.
getSize(): NumberSequence
Returns the size of the particles emitted.
setTransparency(transparency: NumberSequence)
Sets the transparency of the particles emitted.
getTransparency(): NumberSequence
Returns the transparency of the particles emitted.
setBrightness(brightness: number)
Sets the brightness of the particles emitted.
setSpeed(speed: NumberRange)
Sets the speed of the particles emitted.
setAcceleration(acceleration: Vector3)
Sets the acceleration of the particles emitted.
setDrag(drag: number)
Sets the drag of the particles emitted.
setLifetime(lifetime: NumberRange)
Sets the lifetime of the particles emitted.
setParticleOrientation(orientation: ParticleOrientation)
Sets the particle orientation of the particles emitted. Written as ParticleOrientation.FacingCamera
setParticleRotation(rotation: NumberRange)
Sets the particle rotation of the particles emitted.
setRotSpeed(speed: NumberRange)
Sets the rotation speed of the particles emitted.
setLightInfluence(influence: number)
Sets the light influence of the particles emitted.
setLightEmission(emission: number)
Sets the light emission of the particles emitted.
setSquash(squash: NumberSequence)
Sets the squash of the particles emitted.
setSpreadAngle(angle: Vector2)
Sets the spread angle of the particles emitted.
setTimeScale(timeScale: number)
Sets the time scale of the particles emitted.
setEnabled(enabled: boolean)
Enables or disables the particle emitter.
setLockedToPart(locked: boolean)
Sets the particle emission to be locked to the emission source, or whether the particles will linger around the position they were emitted if the emission source moves.
emit(amount: number | nil)
Emits the given amount of particles, otherwise defaults to the rate of the particle emitter.
clear()
Clears any currently emitted particles.
destroy()
Destroys the particle emitter.

-- Part

For examples on how to use, refer to PartService.
Creates a Roblox BasePart with a block texture from ItemType.
Functions
setPosition(position: Vector3)
Sets the position of the part.
getPosition(): Vector3
Returns the position of the part.
setRotation(rotation: Vector3)
Sets the rotation of the part.
getRotation(): Vector3
Returns the rotation of the part.
setCFrame(cframe: CFrame)
Sets the CFrame of the part.
getCFrame(): CFrame
Returns the CFrame of the part.
setSize(area: Vector3)
Sets the size of the part.
getSize(): Vector3
Returns the size of the part.
setCollidable(collidable: boolean)
Sets whether the part should collide with other models, blocks, and players. Defaults to true on creation.
setAnchored(anchored: boolean)
Sets whether the part should have physics applied to it. Defaults to true on creation.
setTransparency(transparency: number)
Sets the transparency of the part. Transparency ranges from 0 (opaque) to 1 (invisible).
getTransparency(): number
Returns the transparency of the part. Transparency ranges from 0 (opaque) to 1 (invisible).
destroy()
Destroys the part.

-- Player

Parameters
name: string
The player's Roblox username
displayName: string
The player's Roblox display name
userId: number
The player's Roblox user ID

Functions
getEntity(): Entity | nil
Returns the entity this player is controlling if one is active.
setScale(scale: number)
Resize player by provided multiplier. For example a scale of 2 would make the player twice as big (default player scale is 1).
registerSpeedMultiplier(id: string, multiplier: number)
Registers a speed multiplier for the player. A multiplier of 1 is equal to normal speed, less than 1 is slower than normal speed, and greater than 1 is faster than normal speed. A multiplier value of 2 would be equivalent to double the normal speed of the player.
The id parameter can be any string you wish to use to reference the multiplier.
registerAdditionalAirJumps(id: string, count: number)
Registers additional air jumps for the player. The default air jump count is 0. Air jumps are jumps performed while already in the air.
The id parameter can be any string you wish to use to reference the registered air jump change.
registerJumpHeightMultiplier(id: string, multiplier: number)
Registers a jump height multiplier for the player. A multiplier of 1 is equal to normal height (2 block high jump), less than 1 is shorter than normal height, and greater than 1 is higher than normal height. A multiplier value of 2 would be equivalent to double the normal jump height of the player.
The id parameter can be any string you wish to use to reference the multiplier.
removeSpeedMultiplier(id: string)
Removes the speed multiplier with the given id from the player.
removeAdditionalAirJumps(id: string)
Removes the additional air jumps with the given id from the player.
removeJumpHeightMultiplier(id: string)
Removes the jump height multiplier with the given id from the player.

-- Example usage:
-- Set all player speeds to 2 times normal speed for 30 seconds
-- Set all players to have 1 air jump
for i, player in ipairs(PlayerService.getPlayers()) do 
    player:registerSpeedMultiplier("speed-boost", 2)
    player:registerAdditionalAirJumps("bounce", 1)
    task.wait(30)
    player:removeSpeedMultiplier("speed-boost")
end

-- Prompt
Description: An in-world ProximityPrompt

For examples on how to use, refer to PromptService.
Creates a Roblox ProximityPrompt.
Functions
onActivated(function: (player: Player) => nil)
Registers a function to run when the prompt is activated.
setObjectText(objectText: string)
Sets the object text. Example: Door
setActionText(actionText: string)
Sets the action text. Example: Open
setActivationDistance(activationDistance: number)
Sets the activation distance in studs. Only players within this distance can use the prompt.
setHoldDuration(holdDurationSec: number)
Sets the duration (in seconds) of hold time needed to activate the prompt.
setKeyCode(keyCode: KeyCode)
Specifies the key code used to activate the prompt. Written as KeyCode.X.
setPosition(position: Vector3)
Sets the position of the prompt.
getPosition(): Vector3
Returns the position of the prompt.
destroy()
Destroys the prompt.

-- ProgressBar
Description: A progress bar shown on a player's HUD

For examples on how to use, refer to UIService.
Functions
setColor(color: Color3)
Sets the fill color of the progress bar.
setMaxProgress(max: number)
Sets the max progress for the progress bar.
setText(text: string)
Sets a text label on the progress bar.
get(): number
Returns the current progress of the progress bar. For example, a progress bar that has 1 unit of progress with a maximum of 5 units would return 1.
add(amount: number)
Adds the given amount to the current progress.
sub(amount: number)
Subtracts the given amount from the current progress.
set(amount: number)
Sets the progress to the given amount.
addPlayer(player: Player)
Adds a player to the list of players who can view this progress bar.
removePlayer(player: Player)
Removes a player from the list of players who can view this progress bar.
destroy()
Removes the progress bar.

-- TextLabel
Description: An in-world text label

For examples on how to use, refer to UIService.
Functions
setText(text: string)
Sets the font of the text.
setFont(font: Font)
Sets the font of the text from the Roblox Enum for Fonts. Written as Font.Arial.
setPosition(position: Vector3)
Sets the position of the label.
getPosition(): Vector3
Returns the position of the label.
setTextColor(color: Color3)
Sets the color of the text on the label.
setBackgroundColor(color: Color3)
Sets the color of the background of the label.
setTextTransparency(transparency: number)
Sets the transparency of the text on the label. Transparency ranges from 0 (opaque) to 1 (invisible).
setBackgroundTransparency(transparency: number)
Sets the transparency of the background of the label. Transparency ranges from 0 (opaque) to 1 (invisible).
setSize(size: UDim2)
Sets the size of the label.
setSize(): UDim2
Returns the size of the label.
setMaxDistance(distance: number)
Sets the max distance at which the label can still be seen.
destroy()
Removes the label.

-- Team

Parameters
name: string
Display name of the team, such as Red
id: string
Identifier of the team, such as 3

Functions
getInGamePlayers(): Player[]
Returns team members that are actively in game (NOT including spectators).