Weapon
Weapons are entities with firing, reloading and aiming functionalities.
They are fully customizable, all pieces of the weapon can be changed with immense possibility of creation.

Examples​
-- Spawning a Weapon with an AK47 model
local new_weapon = Weapon(
Vector(-900, 185, 215),
Rotator(0, 0, 0),
"helix::SK_AK47"
)
-- Configures Weapon Base Settings
new_weapon:SetAmmoSettings(30, 1000)
new_weapon:SetDamage(30)
new_weapon:SetSpread(30)
new_weapon:SetRecoil(0.25)
new_weapon:SetBulletSettings(1, 20000, 20000, Color(100, 58, 0))
new_weapon:SetCadence(0.1)
new_weapon:SetWallbangSettings(50, 0.75)
-- Configures how the Character Grabs and Aims the Weapon
new_weapon:SetHandlingMode(HandlingMode.DoubleHandedWeapon)
new_weapon:SetSightTransform(Vector(0, 0, -1), Rotator(-1.5, 0, 0))
new_weapon:SetLeftHandTransform(Vector(22, 0, 9), Rotator(0, 60, 90))
new_weapon:SetRightHandOffset(Vector(-10, 0, 0))
-- Configures Weapon Particles
new_weapon:SetParticlesBulletTrail("helix::P_Bullet_Trail")
new_weapon:SetParticlesBarrel("helix::P_Weapon_BarrelSmoke")
new_weapon:SetParticlesShells("helix::P_Weapon_Shells_762x39")
-- Configures Weapon Sounds
new_weapon:SetSoundDry("helix::A_Rifle_Dry")
new_weapon:SetSoundLoad("helix::A_Rifle_Load")
new_weapon:SetSoundUnload("helix::A_Rifle_Unload")
new_weapon:SetSoundZooming("helix::A_AimZoom")
new_weapon:SetSoundAim("helix::A_Rattle")
new_weapon:SetSoundFire("helix::A_AK47_Shot")
-- Configures Weapon Animations
new_weapon:SetAnimationFire("helix::A_AK47_Fire")
new_weapon:SetAnimationCharacterFire("helix::AM_Mannequin_Sight_Fire")
new_weapon:SetAnimationReload("helix::AM_Mannequin_Reload_Rifle")
-- Configures the Mesh to drop when reloading
new_weapon:SetMagazineMesh("helix::SM_AK47_Mag_Empty")
-- Configures the Crosshair Material
new_weapon:SetCrosshairMaterial("helix::MI_Crosshair_Regular")
More related examples:
Prop Shootergetting-started/code-examples/prop-shooterWeapon Flashlightgetting-started/code-examples/weapon-flashlightConstructors​
Default Constructor​
local my_weapon = Weapon(location, rotation, asset, collision_type?, gravity_enabled?)
| Type | Name | Default | Description |
|---|---|---|---|
| Vector | location | ||
| Rotator | rotation | ||
| SkeletalMesh Reference | asset | ||
| CollisionType | collision_type | CollisionType.Normal | |
| boolean | gravity_enabled | true |
Static Functions​
Inherited Entity Static Functions
| Returns | Name | Description | |
|---|---|---|---|
![]() | table of Base Entity | GetAll | Returns a table containing all Entities of the class this is called on |
![]() | Base Entity | GetByIndex | Returns a specific Entity of this class at an index |
![]() | integer | GetCount | Returns how many Entities of this class exist |
![]() | iterator | GetPairs | Returns an iterator with all Entities of this class to be used with pairs() |
![]() | table | Inherit | Inherits this class with the Inheriting System |
![]() | table of table | GetInheritedClasses | Gets a list of all directly inherited classes from this Class created with the Inheriting System |
![]() | table or nil | GetParentClass | Gets the parent class if this Class was created with the Inheriting System |
![]() | boolean | IsChildOf | Gets if this Class is child of another class if this Class was created with the Inheriting System |
![]() | function | Subscribe | Subscribes to an Event for all entities of this Class |
![]() | function | SubscribeRemote | Subscribes to a custom event called from server |
![]() | Unsubscribe | Unsubscribes all callbacks from this Event in this Class within this Package, or only the callback passed |
Functions​
Inherited Entity Functions
| Returns | Name | Description | |
|---|---|---|---|
![]() | integer | GetID | Gets the universal network ID of this Entity (same on both client and server) |
![]() | table | GetClass | Gets the class of this entity |
![]() | boolean | IsA | Recursively checks if this entity is inherited from a Class |
![]() | function | Subscribe | Subscribes to an Event on this specific entity |
![]() | function | SubscribeRemote | Subscribes to a custom event called from server on this specific entity |
![]() | Unsubscribe | Unsubscribes all callbacks from this Event in this Entity within this Package, or only the callback passed | |
![]() | SetValue | Sets a Value in this Entity | |
![]() | any | GetValue | Gets a Value stored on this Entity at the given key |
Destroy | Destroys this Entity | ||
![]() | boolean | IsValid | Returns true if this Entity is valid (i.e. wasn't destroyed and points to a valid Entity) |
CallRemoteEvent | Calls a custom remote event directly on this entity to a specific Player | ||
CallRemoteEvent | Calls a custom remote event directly on this entity | ||
BroadcastRemoteEvent | Calls a custom remote event directly on this entity to all Players |
Inherited Actor Functions
| Returns | Name | Description | |
|---|---|---|---|
![]() | AddImpulse | Applies a force in world world to this Actor | |
AttachTo | Attaches this Actor to any other Actor, optionally at a specific bone | ||
Detach | Detaches this Actor from AttachedTo Actor | ||
SetCollision | Sets this Actor's collision type | ||
SetDimension | Sets this Actor's Dimension | ||
![]() | SetForce | Adds a permanent force to this Actor, set to Vector(0, 0, 0) to cancel | |
SetGravityEnabled | Sets whether gravity is enabled on this Actor | ||
![]() | SetVisibility | Sets whether the actor is visible or not | |
SetHighlightEnabled | Sets whether the highlight is enabled on this Actor, and which highlight index to use | ||
SetOutlineEnabled | Sets whether the outline is enabled on this Actor, and which outline index to use | ||
SetLifeSpan | Sets the time (in seconds) before this Actor is destroyed. After this time has passed, the actor will be automatically destroyed. | ||
SetLocation | Sets this Actor's location in the game world | ||
SetRotation | Sets this Actor's rotation in the game world | ||
SetRelativeLocation | Sets this Actor's relative location in local space (only if this actor is attached) | ||
SetRelativeRotation | Sets this Actor's relative rotation in local space (only if this actor is attached) | ||
SetScale | Sets this Actor's scale | ||
SetNetworkAuthority | Sets the Player to have network authority over this Actor | ||
SetNetworkAuthorityAutoDistributed | Sets if this Actor will auto distribute the network authority between players | ||
![]() | TranslateTo | Smoothly moves this actor to a location over a certain time | |
![]() | RotateTo | Smoothly rotates this actor to an angle over a certain time | |
![]() | boolean | IsBeingDestroyed | Returns true if this Actor is being destroyed |
![]() | boolean | IsVisible | Returns true if this Actor is visible |
![]() | boolean | IsGravityEnabled | Returns true if gravity is enabled on this Actor |
![]() | boolean | IsInWater | Returns true if this Actor is in water |
![]() | boolean | IsNetworkDistributed | Returns true if this Actor is currently network distributed |
![]() | table of Base Actor | GetAttachedEntities | Gets all Actors attached to this Actor |
![]() | Base Actor or nil | GetAttachedTo | Gets the Actor this Actor is attached to |
| table | GetBounds | Gets this Actor's bounds | |
![]() | CollisionType | GetCollision | Gets this Actor's collision type |
![]() | Vector | GetLocation | Gets this Actor's location in the game world |
![]() | Vector | GetRelativeLocation | Gets this Actor's Relative Location if it's attached |
| Player or nil | GetNetworkAuthority | Gets this Actor's Network Authority Player | |
![]() | Rotator | GetRotation | Gets this Actor's angle in the game world |
![]() | Rotator | GetRelativeRotation | Gets this Actor's Relative Rotation if it's attached |
![]() | Vector | GetForce | Gets this Actor's force (set by SetForce()) |
![]() | integer | GetDimension | Gets this Actor's dimension |
| boolean | HasNetworkAuthority | Returns true if the local Player is currently the Network Authority of this Actor | |
| boolean | HasAuthority | Gets if this Actor was spawned by the client side | |
![]() | Vector | GetScale | Gets this Actor's scale |
![]() | Vector | GetVelocity | Gets this Actor's current velocity |
AddActorTag | Adds an Unreal Actor Tag to this Actor | ||
RemoveActorTag | Removes an Unreal Actor Tag from this Actor | ||
| table of string | GetActorTags | Gets all Unreal Actor Tags on this Actor | |
| boolean | WasRecentlyRendered | Gets if this Actor was recently rendered on screen | |
| float | GetDistanceFromCamera | Gets the distance of this Actor from the Camera | |
| float | GetScreenPercentage | Gets the percentage of this Actor size in the screen |
Inherited Paintable Functions
| Returns | Name | Description | |
|---|---|---|---|
![]() | SetMaterial | Sets the material at the specified index of this Actor | |
SetMaterialFromCanvas | Sets the material at the specified index of this Actor to a Canvas object | ||
SetMaterialFromSceneCapture | Sets the material at the specified index of this Actor to a SceneCapture object | ||
SetMaterialFromWebUI | Sets the material at the specified index of this Actor to a WebUI object | ||
![]() | ResetMaterial | Resets the material from the specified index to the original one | |
![]() | SetMaterialColorParameter | Sets a Color parameter in this Actor's material | |
![]() | SetMaterialScalarParameter | Sets a Scalar parameter in this Actor's material | |
![]() | SetMaterialTextureParameter | Sets a texture parameter in this Actor's material to an image on disk | |
![]() | SetMaterialVectorParameter | Sets a Vector parameter in this Actor's material | |
![]() | SetPhysicalMaterial | Overrides this Actor's Physical Material with a new one |
Inherited Pickable Functions
| Returns | Name | Description | |
|---|---|---|---|
![]() | AddSkeletalMeshAttached | Attaches a Skeletal Mesh as master pose to this entity | |
![]() | AddStaticMeshAttached | Attaches a Static Mesh to this entity | |
PullUse | Pulls the usage of this Pickable (will start firing if this is a weapon) | ||
ReleaseUse | Releases the usage of this Pickable (will stop firing if this is a weapon) | ||
![]() | RemoveSkeletalMeshAttached | Removes, if it exists, a SkeletalMesh from this Pickable given its custom ID | |
![]() | RemoveStaticMeshAttached | Removes, if it exists, a StaticMesh from this Pickable given its custom ID | |
SetAttachmentSettings | Sets the Attachment Settings for this Pickable (how it attaches to the Character when Picking up) | ||
SetCrosshairMaterial | Sets the crosshair material for this Pickable | ||
SetPickable | Sets if this Pickable can be picked up from ground by the player | ||
![]() | SkeletalMesh Reference | GetMesh | Gets the name of the asset this Pickable uses |
![]() | Character or nil | GetHandler | Gets the Character, if it exists, that's holding this Pickable |
| Returns | Name | Description | |
|---|---|---|---|
Reload | Forces this Weapon to reload | ||
SetAmmoBag | Sets this Weapon's Ammo in the Bag | ||
SetAmmoClip | Sets this Weapon's Ammo in the Clip | ||
SetAmmoSettings | Aux for setting and configuring ammo | ||
SetAnimationFire | Animation played by the Weapon when Firing | ||
SetAnimationCharacterFire | Animation played by the Character when Firing | ||
SetAnimationReload | Animation played by the Character when Reloading | ||
![]() | Animation Reference | GetAnimationReload | Gets the reload animation |
SetAutoReload | If the Character will reload automatically when ammo empties | ||
SetBulletColor | Set the Bullet Color | ||
SetAutoReload | Sets if the Weapon auto reloads when ammo empties | ||
SetBulletSettings | Aux for setting and configuring the Bullet | ||
SetCadence | Speed of shots | ||
SetClipCapacity | Capacity of the Weapon's clip | ||
SetDamage | Set the Base Weapon's Damage | ||
SetHandlingMode | Sets how the Character grabs this Weapon | ||
SetLeftHandTransform | Left Hand Offset | ||
SetMagazineMesh | Set the mesh used when the Character reloads the weapon | ||
![]() | PlayAnimation | Plays an Animation on this Weapon | |
SetParticlesBulletTrail | Particle of the Bullet flying | ||
SetParticlesBarrel | Particle of the Fire Blast in the muzzle | ||
SetParticlesShells | Particle of the empty bullet flying from the weapon when shooting | ||
SetRightHandOffset | Set the offset of Right Hand | ||
SetSightFOVMultiplier | The FOV multiplier when ADS | ||
SetSightTransform | Offset applied to align player's head to weapon's sight and rotation applied on the weapon when ADS | ||
SetSoundDry | Sound when weapon has not bullet and try to shoot | ||
SetSoundLoad | Sound when Loading a magazine | ||
SetSoundUnload | Sound when Unloading a magazine | ||
SetSoundZooming | Sound when Zooming | ||
SetSoundFire | Sound when Shooting | ||
SetSoundAim | Sound when Aiming | ||
SetSoundFireLastBullets | Sound when firing with only having X remaining bullets in the magazine | ||
SetSpread | Base Weapon's Spread | ||
SetRecoil | Base Weapon's Recoil | ||
SetUsageSettings | Sets if the Weapon can hold to keep firing and if it needs to release to fire | ||
SetWallbangSettings | Sets how the bullet will pass through walls | ||
![]() | integer | GetAmmoBag | Gets this Weapon's Ammo Bag |
![]() | integer | GetAmmoClip | Gets this Weapon's Ammo Clip |
![]() | integer | GetAmmoToReload | |
![]() | HandlingMode | GetHandlingMode | |
![]() | Animation Reference | GetAnimationCharacterFire | |
![]() | Animation Reference | GetAnimationFire | |
![]() | StaticMesh Reference | GetMagazineMesh | |
![]() | Particle Reference | GetParticlesBulletTrail | |
![]() | Particle Reference | GetParticlesShells | |
![]() | Sound Reference | GetSoundDry | |
![]() | Sound Reference | GetSoundLoad | |
![]() | Sound Reference | GetSoundUnload | |
![]() | Sound Reference | GetSoundZooming | |
![]() | Sound Reference | GetSoundAim | |
![]() | Sound Reference | GetSoundFire | |
![]() | boolean | GetCanHoldUse | |
![]() | boolean | GetHoldReleaseUse | |
| table | GetBoneTransform | Gets a Bone Transform in world space given a bone name | |
![]() | integer | GetBulletCount | |
![]() | Color | GetBulletColor | |
![]() | float | GetCadence | |
![]() | integer | GetClipCapacity | |
![]() | integer | GetDamage | |
![]() | Vector | GetRightHandOffset | |
![]() | Vector | GetLeftHandLocation | |
![]() | Rotator | GetLeftHandRotation | |
![]() | Vector | GetSightLocation | |
![]() | Rotator | GetSightRotation | |
![]() | float | GetSightFOVMultiplier | |
![]() | float | GetSpread | |
![]() | float | GetRecoil |

Reload​
Forces this Weapon to reload (only if being handled by a Character)
my_weapon:Reload()

SetAmmoBag​
Sets this Weapon's Ammo in the Bag
my_weapon:SetAmmoBag(new_ammo)
| Type | Parameter | Default | Description |
|---|---|---|---|
| integer | new_ammo |

SetAmmoClip​
Sets this Weapon's Ammo in the Clip
my_weapon:SetAmmoClip(new_ammo)
| Type | Parameter | Default | Description |
|---|---|---|---|
| integer | new_ammo |

SetAmmoSettings​
Aux for setting and configuring ammo
my_weapon:SetAmmoSettings(ammo_clip, ammo_bag, ammo_to_reload?, clip_capacity?)
| Type | Parameter | Default | Description |
|---|---|---|---|
| integer | ammo_clip | ||
| integer | ammo_bag | ||
| integer | ammo_to_reload? | ammo_clip | |
| integer | clip_capacity? | ammo_clip |

SetAnimationFire​
Animation played by the Weapon when Firing
my_weapon:SetAnimationFire(animation_asset_path, play_rate?)
| Type | Parameter | Default | Description |
|---|---|---|---|
| Animation Reference | animation_asset_path | ||
| float | play_rate? | 1 |

SetAnimationCharacterFire​
Animation played by the Character when Firing
my_weapon:SetAnimationCharacterFire(animation_path, play_rate?)
| Type | Parameter | Default | Description |
|---|---|---|---|
| Animation Reference | animation_path | ||
| float | play_rate? | 1 |

SetAnimationReload​
Animation played by the Character when Reloading
my_weapon:SetAnimationReload(animation_path, play_rate?)
| Type | Parameter | Default | Description |
|---|---|---|---|
| Animation Reference | animation_path | ||
| float | play_rate? | 1 |

GetAnimationReload​
Gets the reload animation
— Returns Animation Reference.
local ret = my_weapon:GetAnimationReload()

SetAutoReload​
If the Character will reload automatically when ammo empties. Default is true
my_weapon:SetAutoReload(auto_reload)
| Type | Parameter | Default | Description |
|---|---|---|---|
| boolean | auto_reload |

SetBulletColor​
Set the Bullet Color
Only has effect if using Bullet Trail particle P_Bullet_Trail or if you particle has the Color parameter
my_weapon:SetBulletColor(color)
| Type | Parameter | Default | Description |
|---|---|---|---|
| Color | color |

SetAutoReload​
Sets if the Weapon auto reloads when ammo empties
my_weapon:SetAutoReload(auto_reload)
| Type | Parameter | Default | Description |
|---|---|---|---|
| boolean | auto_reload |

SetBulletSettings​
Aux for setting and configuring the Bullet
my_weapon:SetBulletSettings(bullet_count, bullet_max_distance, bullet_velocity, bullet_color)
| Type | Parameter | Default | Description |
|---|---|---|---|
| integer | bullet_count | 1 for common weapons > 1 for shotguns | |
| integer | bullet_max_distance | ||
| integer | bullet_velocity | Visuals only | |
| Color | bullet_color |

SetCadence​
Speed of shots
my_weapon:SetCadence(cadence)
| Type | Parameter | Default | Description |
|---|---|---|---|
| float | cadence | 1 shot at each cadence second |

SetClipCapacity​
Capacity of the Weapon's clip
my_weapon:SetClipCapacity(clip)
| Type | Parameter | Default | Description |
|---|---|---|---|
| integer | clip |

SetDamage​
Base Weapon's Damage
This will be multiplied by multiplier factors when hitting specific bones
my_weapon:SetDamage(damage)
| Type | Parameter | Default | Description |
|---|---|---|---|
| integer | damage |

SetHandlingMode​
Sets how the Character grabs this Weapon
my_weapon:SetHandlingMode(mode)
| Type | Parameter | Default | Description |
|---|---|---|---|
| HandlingMode | mode |

SetLeftHandTransform​
Left Hand Offset
my_weapon:SetLeftHandTransform(location, rotation)

SetMagazineMesh​
Set the mesh used when the Character reloads the weapon.
Will drop this Mesh as an animation effect.
my_weapon:SetMagazineMesh(static_mesh_asset_path, magazine_mesh_hide_bone?)
| Type | Parameter | Default | Description |
|---|---|---|---|
| StaticMesh Reference | static_mesh_asset_path | ||
| string | magazine_mesh_hide_bone? | b_gun_mag | Weapon bone to hide when reloading it |

PlayAnimation​
Plays an Animation on this Weapon
my_weapon:PlayAnimation(animation_path, slot_name?, loop_indefinitely?, blend_in_time?, blend_out_time?, play_rate?, stop_all_montages?)
| Type | Parameter | Default | Description |
|---|---|---|---|
| Animation Reference | animation_path | ||
| string | slot_name? | DefaultSlot | |
| boolean | loop_indefinitely? | false | This parameter is only used if the Weapon has an Animation Blueprint |
| float | blend_in_time? | 0.25 | This parameter is only used if the Weapon has an Animation Blueprint |
| float | blend_out_time? | 0.25 | This parameter is only used if the Weapon has an Animation Blueprint |
| float | play_rate? | 1.0 | This parameter is only used if the Weapon has an Animation Blueprint |
| boolean | stop_all_montages? | false | Stops all running Montages from the same Group. This parameter is only used if the Weapon has an Animation Blueprint |

SetParticlesBulletTrail​
Particle of the Bullet flying
my_weapon:SetParticlesBulletTrail(particle_asset_path)
| Type | Parameter | Default | Description |
|---|---|---|---|
| Particle Reference | particle_asset_path |

SetParticlesBarrel​
Particle of the Fire Blast in the muzzle
my_weapon:SetParticlesBarrel(particle_asset_path)
| Type | Parameter | Default | Description |
|---|---|---|---|
| Particle Reference | particle_asset_path |

SetParticlesShells​
Particle of the empty bullet flying from the weapon when shooting
my_weapon:SetParticlesShells(particle_asset_path)
| Type | Parameter | Default | Description |
|---|---|---|---|
| Particle Reference | particle_asset_path |

SetRightHandOffset​
Set the Offset of Right Hand. To position relative to the camera.
my_weapon:SetRightHandOffset(offset)
| Type | Parameter | Default | Description |
|---|---|---|---|
| Vector | offset |

SetSightFOVMultiplier​
The FOV multiplier when ADS
my_weapon:SetSightFOVMultiplier(multiplier)
| Type | Parameter | Default | Description |
|---|---|---|---|
| float | multiplier |

SetSightTransform​
Offset applied to align player's head to weapon's sight and rotation applied on the weapon when ADS
my_weapon:SetSightTransform(location, rotation)

SetSoundDry​
Sound when weapon has not bullet and try to shoot
my_weapon:SetSoundDry(sound_asset_path, volume?, pitch?)
| Type | Parameter | Default | Description |
|---|---|---|---|
| Sound Reference | sound_asset_path | ||
| float | volume? | 1 | |
| float | pitch? | 1 |

SetSoundLoad​
Sound when Loading a magazine
my_weapon:SetSoundLoad(sound_asset_path, volume?, pitch?)
| Type | Parameter | Default | Description |
|---|---|---|---|
| Sound Reference | sound_asset_path | ||
| float | volume? | 1 | |
| float | pitch? | 1 |

SetSoundUnload​
Sound when Unloading a magazine
my_weapon:SetSoundUnload(sound_asset_path, volume?, pitch?)
| Type | Parameter | Default | Description |
|---|---|---|---|
| Sound Reference | sound_asset_path | ||
| float | volume? | 1 | |
| float | pitch? | 1 |

SetSoundZooming​
Sound when Zooming
my_weapon:SetSoundZooming(sound_asset_path, volume?, pitch?)
| Type | Parameter | Default | Description |
|---|---|---|---|
| Sound Reference | sound_asset_path | ||
| float | volume? | 1 | |
| float | pitch? | 1 |

SetSoundFire​
Sound when Shooting
my_weapon:SetSoundFire(sound_asset_path, volume?, pitch?)
| Type | Parameter | Default | Description |
|---|---|---|---|
| Sound Reference | sound_asset_path | ||
| float | volume? | 1 | |
| float | pitch? | 1 |

SetSoundAim​
Sound when Aiming
my_weapon:SetSoundAim(sound_asset_path, volume?, pitch?)
| Type | Parameter | Default | Description |
|---|---|---|---|
| Sound Reference | sound_asset_path | ||
| float | volume? | 1 | |
| float | pitch? | 1 |

SetSoundFireLastBullets​
Sound when firing with only having X remaining bullets in the magazine, useful for last shot 'ping' or sound when low on bullets
my_weapon:SetSoundFireLastBullets(sound_asset_path, remaining_bullets_count?)
| Type | Parameter | Default | Description |
|---|---|---|---|
| Sound Reference | sound_asset_path | ||
| integer | remaining_bullets_count? | 1 | The amount of remaining bullet to start playing this sound |

SetSpread​
Base Weapon's Spread
my_weapon:SetSpread(spread)
| Type | Parameter | Default | Description |
|---|---|---|---|
| float | spread | the higher the less precision - recommended value: 20 |

SetRecoil​
Base Weapon's Recoil
my_weapon:SetRecoil(recoil)
| Type | Parameter | Default | Description |
|---|---|---|---|
| float | recoil | 0 means no Recoil, default is 1 |

SetUsageSettings​
Sets if the Weapon can hold to keep firing and if it needs to release to fire
my_weapon:SetUsageSettings(can_hold_use, hold_release_use)

SetWallbangSettings​
Sets how the bullet will pass through walls
my_weapon:SetWallbangSettings(max_distance, damage_multiplier)
| Type | Parameter | Default | Description |
|---|---|---|---|
| integer | max_distance | Max distance to pass through another wall | |
| float | damage_multiplier | Damage given if wallbangged |

GetAmmoBag​
Gets this Weapon's Ammo Bag
— Returns integer.
local ret = my_weapon:GetAmmoBag()

GetAmmoClip​
Gets this Weapon's Ammo Clip
— Returns integer.
local ret = my_weapon:GetAmmoClip()

GetAmmoToReload​
— Returns integer.
local ret = my_weapon:GetAmmoToReload()

GetHandlingMode​
— Returns HandlingMode.
local ret = my_weapon:GetHandlingMode()

GetAnimationCharacterFire​
— Returns Animation Reference.
local ret = my_weapon:GetAnimationCharacterFire()

GetAnimationFire​
— Returns Animation Reference.
local ret = my_weapon:GetAnimationFire()

GetMagazineMesh​
— Returns StaticMesh Reference.
local ret = my_weapon:GetMagazineMesh()

GetParticlesBulletTrail​
— Returns Particle Reference.
local ret = my_weapon:GetParticlesBulletTrail()

GetParticlesShells​
— Returns Particle Reference.
local ret = my_weapon:GetParticlesShells()

GetSoundDry​
— Returns Sound Reference.
local ret = my_weapon:GetSoundDry()

GetSoundLoad​
— Returns Sound Reference.
local ret = my_weapon:GetSoundLoad()

GetSoundUnload​
— Returns Sound Reference.
local ret = my_weapon:GetSoundUnload()

GetSoundZooming​
— Returns Sound Reference.
local ret = my_weapon:GetSoundZooming()

GetSoundAim​
— Returns Sound Reference.
local ret = my_weapon:GetSoundAim()

GetSoundFire​
— Returns Sound Reference.
local ret = my_weapon:GetSoundFire()

GetCanHoldUse​
— Returns boolean.
local ret = my_weapon:GetCanHoldUse()

GetHoldReleaseUse​
— Returns boolean.
local ret = my_weapon:GetHoldReleaseUse()

GetBoneTransform​
Gets a Bone Transform in world space given a bone name
— Returns table (with this format).
local ret = my_weapon:GetBoneTransform(bone_name)
| Type | Parameter | Default | Description |
|---|---|---|---|
| string | bone_name |

GetBulletCount​
— Returns integer.
local ret = my_weapon:GetBulletCount()

GetBulletColor​
— Returns Color.
local ret = my_weapon:GetBulletColor()

GetCadence​
— Returns float.
local ret = my_weapon:GetCadence()

GetClipCapacity​
— Returns integer.
local ret = my_weapon:GetClipCapacity()

GetDamage​
— Returns integer.
local ret = my_weapon:GetDamage()

GetRightHandOffset​
— Returns Vector.
local ret = my_weapon:GetRightHandOffset()

GetLeftHandLocation​
— Returns Vector.
local ret = my_weapon:GetLeftHandLocation()

GetLeftHandRotation​
— Returns Rotator.
local ret = my_weapon:GetLeftHandRotation()

GetSightLocation​
— Returns Vector.
local ret = my_weapon:GetSightLocation()

GetSightRotation​
— Returns Rotator.
local ret = my_weapon:GetSightRotation()

GetSightFOVMultiplier​
— Returns float.
local ret = my_weapon:GetSightFOVMultiplier()

GetSpread​
— Returns float.
local ret = my_weapon:GetSpread()

GetRecoil​
— Returns float.
local ret = my_weapon:GetRecoil()
Events​
Inherited Entity Events
| Name | Description | |
|---|---|---|
![]() | Spawn | Triggered when an Entity is spawned/created |
![]() | Destroy | Triggered when an Entity is destroyed |
![]() | ValueChange | Triggered when an Entity has a value changed with :SetValue() |
![]() | ClassRegister | Triggered when a new Class is registered with the Inheriting System |
Inherited Actor Events
| Name | Description | |
|---|---|---|
![]() | Spawn | Triggered when an Entity is spawned/created |
![]() | Destroy | Triggered when an Entity is destroyed |
![]() | ValueChange | Triggered when an Entity has a value changed with :SetValue() |
![]() | ClassRegister | Triggered when a new Class is registered with the Inheriting System |
Inherited Pickable Events
| Name | Description | |
|---|---|---|
![]() | Spawn | Triggered when an Entity is spawned/created |
![]() | Destroy | Triggered when an Entity is destroyed |
![]() | ValueChange | Triggered when an Entity has a value changed with :SetValue() |
![]() | ClassRegister | Triggered when a new Class is registered with the Inheriting System |
| Name | Description | |
|---|---|---|
![]() | Fire | Triggered when Weapon fires (this will be triggered for each shot) |
![]() | Reload | When a Weapon is reloaded, optionally by a Character |
![]() | AmmoClipChange | When the Ammo Clip is changed, by reloading or manually setting through scripting |
![]() | AmmoBagChange | When the Ammo Bag is changed, by reloading or manually setting through scripting |

Fire​
Triggered when Weapon fires (this will be triggered for each shot)
Weapon.Subscribe("Fire", function(self, shooter)
-- Fire was called
end)

Reload​
When a Weapon is reloaded, optionally by a Character
Weapon.Subscribe("Reload", function(self, character, ammo_to_reload)
-- Reload was called
end)

AmmoClipChange​
When the Ammo Clip is changed, by reloading or manually setting through scripting
Weapon.Subscribe("AmmoClipChange", function(self, old_ammo_clip, new_ammo_clip)
-- AmmoClipChange was called
end)

AmmoBagChange​
When the Ammo Bag is changed, by reloading or manually setting through scripting
Weapon.Subscribe("AmmoBagChange", function(self, old_ammo_clip, new_ammo_clip)
-- AmmoBagChange was called
end)
