Skip to main content
Version: latest - a1.73.x βš–οΈ

πŸ”« 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.


πŸ’‚Authority
This class can only be spawned on 🟦 Server side.
πŸ‘ͺInheritance
This class shares methods and events from , , , .
πŸ§‘β€πŸ’»API Source
This page is auto-generated! The Functions, Properties and Events described here are defined in our GitHub's API Repository! Feel free to commit suggestions and changes to the source .json API files!

πŸŽ’ Examples​

Server/Index.lua
-- Spawning a Weapon with an AK47 model
local new_weapon = Weapon(
Vector(-900, 185, 215),
Rotator(0, 0, 0),
"nanos-world::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("nanos-world::P_Bullet_Trail")
new_weapon:SetParticlesBarrel("nanos-world::P_Weapon_BarrelSmoke")
new_weapon:SetParticlesShells("nanos-world::P_Weapon_Shells_762x39")

-- Configures Weapon Sounds
new_weapon:SetSoundDry("nanos-world::A_Rifle_Dry")
new_weapon:SetSoundLoad("nanos-world::A_Rifle_Load")
new_weapon:SetSoundUnload("nanos-world::A_Rifle_Unload")
new_weapon:SetSoundZooming("nanos-world::A_AimZoom")
new_weapon:SetSoundAim("nanos-world::A_Rattle")
new_weapon:SetSoundFire("nanos-world::A_AK47_Shot")

-- Configures Weapon Animations
new_weapon:SetAnimationFire("nanos-world::A_AK47_Fire")
new_weapon:SetAnimationCharacterFire("nanos-world::AM_Mannequin_Sight_Fire")
new_weapon:SetAnimationReload("nanos-world::AM_Mannequin_Reload_Rifle")

-- Configures the Mesh to drop when reloading
new_weapon:SetMagazineMesh("nanos-world::SM_AK47_Mag_Empty")

-- Configures the Crosshair Material
new_weapon:SetCrosshairMaterial("nanos-world::MI_Crosshair_Regular")

Using the default-weapons Package to spawn an AK47:

Terminal
# install the default-weapons package
./NanosWorldServer.exe --cli install package default-weapons
Server/Index.lua
-- Loads the default-weapons (note: it's recommended to add it to your Package's packages_requirements instead)
Server.LoadPackage("default-weapons")

-- Spawning the AK47 from default-weapons package
local my_ak47 = AK47(Vector(1035, 154, 300), Rotator())

-- Giving the Weapon to a Character
my_character:PickUp(my_ak47)

More related examples:

Prop Shootergetting-started/tutorials-and-examples/prop-shooter Weapon Scopegetting-started/tutorials-and-examples/weapon-scope Weapon Flashlightgetting-started/tutorials-and-examples/weapon-flashlight

πŸ›  Constructors​

Default Constructor

No description provided

local my_weapon = Weapon(location, rotation, asset, collision_type?, gravity_enabled?)
TypeNameDefaultDescription
Vectorlocation Required parameter No description provided
Rotatorrotation Required parameter No description provided
asset Required parameter No description provided
collision_typeCollisionType.AutoNo description provided
gravity_enabledtrueNo description provided

πŸ—Ώ Static Functions​

Inherited Entity Static Functions
Weapon inherits from Base Entity Class, sharing it's methods and functions:
Base Entityscripting-reference/classes/base-classes/Entity
ReturnsNameDescription
of Returns a table containing all Entities of the class this is called on
Returns a specific Entity of this class at an index
Returns how many Entities of this class exist
of Gets a list of all directly inherited classes from this Class created with the Inheriting System
Returns an iterator with all Entities of this class to be used with pairs()
or Gets the parent class if this Class was created with the Inheriting System
Inherits this class with the Inheriting System
Gets if this Class is child of another class if this Class was created with the Inheriting System
Subscribes to an Event for all entities of this Class
Subscribes to a custom event called from server
Unsubscribes all callbacks from this Event in this Class within this Package, or only the callback passed

This class doesn't have own static functions.

🦠 Functions​

Inherited Entity Functions
Weapon inherits from Base Entity Class, sharing it's methods and functions:
Base Entityscripting-reference/classes/base-classes/Entity
ReturnsNameDescription
Calls a custom remote event directly on this entity to all Players
Calls a custom remote event directly on this entity to a specific Player
Calls a custom remote event directly on this entity
Destroys this Entity
of Gets a list of all values keys
Gets the class of this entity
Gets the universal network ID of this Entity (same on both client and server)
Gets a Value stored on this Entity at the given key
Recursively checks if this entity is inherited from a Class
Returns true if this Entity is valid (i.e. wasn't destroyed and points to a valid Entity)
Sets a Value in this Entity
Subscribes to an Event on this specific entity
Subscribes to a custom event called from server on this specific entity
Unsubscribes all callbacks from this Event in this Entity within this Package, or only the callback passed
Inherited Actor Functions
Weapon inherits from Base Actor Class, sharing it's methods and functions:
Base Actorscripting-reference/classes/base-classes/Actor
ReturnsNameDescription
Adds an Unreal Actor Tag to this Actor
Applies a force in world world to this Actor
Attaches this Actor to any other Actor, optionally at a specific bone
Detaches this Actor from AttachedTo Actor
of Gets all Unreal Actor Tags on this Actor
of Gets all Actors attached to this Actor
or Gets the Actor this Actor is attached to
Gets this Actor's bounds
Gets this Actor's collision type
Gets this Actor's dimension
Gets the distance of this Actor from the Camera
VectorGets this Actor's force (set by SetForce())
VectorGets this Actor's location in the game world
Player or Gets this Actor's Network Authority Player
VectorGets this Actor's Relative Location if it's attached
RotatorGets this Actor's Relative Rotation if it's attached
RotatorGets this Actor's angle in the game world
VectorGets this Actor's scale
Gets the percentage of this Actor size in the screen
Gets a Socket Transform in world space given a bone or socket name
VectorGets this Actor's current velocity
Gets if this Actor was spawned by the client side
Returns true if the local Player is currently the Network Authority of this Actor
Returns true if this Actor is being destroyed
Returns true if gravity is enabled on this Actor
Returns true if this Actor is in water
Returns true if this Actor is currently network distributed
Returns true if this Actor is visible
Removes an Unreal Actor Tag from this Actor
Smoothly rotates this actor to an angle over a certain time
Sets this Actor's collision type
Sets this Actor's Dimension
Adds a permanent force to this Actor, set to Vector(0, 0, 0) to cancel
Sets whether gravity is enabled on this Actor
Sets whether the highlight is enabled on this Actor, and which highlight index to use
Sets the time (in seconds) before this Actor is destroyed. After this time has passed, the actor will be automatically destroyed.
Sets this Actor's location in the game world
Sets the Player to have network authority over this Actor
Sets if this Actor will auto distribute the network authority between players
Sets whether the outline is enabled on this Actor, and which outline index to use
Sets this Actor's relative location in local space (only if this actor is attached)
Sets this Actor's relative rotation in local space (only if this actor is attached)
Sets this Actor's rotation in the game world
Sets this Actor's scale
Sets whether the actor is visible or not
Smoothly moves this actor to a location over a certain time
Gets if this Actor was recently rendered on screen
Inherited Paintable Functions
Weapon inherits from Base Paintable Class, sharing it's methods and functions:
Base Paintablescripting-reference/classes/base-classes/Paintable
ReturnsNameDescription
Resets the material from the specified index to the original one
Sets the material at the specified index of this Actor
Sets a Color parameter in this Actor's material
Sets the material at the specified index of this Actor to a Canvas object
Sets the material at the specified index of this Actor to a SceneCapture object
Sets the material at the specified index of this Actor to a WebUI object
Sets a Scalar parameter in this Actor's material
Sets a texture parameter in this Actor's material to an image on disk
Sets a Vector parameter in this Actor's material
Overrides this Actor's Physical Material with a new one
Inherited Pickable Functions
Weapon inherits from Base Pickable Class, sharing it's methods and functions:
Base Pickablescripting-reference/classes/base-classes/Pickable
ReturnsNameDescription
Attaches a Skeletal Mesh as master pose to this entity
Attaches a Static Mesh to this entity
of Gets all Skeletal Meshes attached to this entity
of Gets all Static Meshes attached to this entity
Character or Gets the Character, if it exists, that's holding this Pickable
Gets the Handling Mode of this Pickable
Gets the name of the asset this Pickable uses
Pulls the usage of this Pickable (will start firing if this is a weapon)
Releases the usage of this Pickable (will stop firing if this is a weapon)
Removes all SkeletalMeshes attached
Removes all StaticMeshes attached
Removes, if it exists, a SkeletalMesh from this Pickable given its custom ID
Removes, if it exists, a StaticMesh from this Pickable given its custom ID
Sets the Attachment Settings for this Pickable (how it attaches to the Character when Picking up)
Sets the crosshair material for this Pickable
Sets if this Pickable can be picked up from ground by the player
Sets a Static Mesh Attached location and rotation
ReturnsNameDescription
Gets this Weapon's Ammo Bag
Gets this Weapon's Ammo Clip
No description provided
No description provided
No description provided
Gets the reload animation
ColorNo description provided
No description provided
No description provided
No description provided
No description provided
No description provided
No description provided
No description provided
VectorNo description provided
RotatorNo description provided
No description provided
No description provided
No description provided
No description provided
VectorNo description provided
No description provided
VectorNo description provided
RotatorNo description provided
No description provided
No description provided
No description provided
No description provided
No description provided
No description provided
No description provided
Plays an Animation on this Weapon
Forces this Weapon to reload
Sets this Weapon's Ammo in the Bag
Sets this Weapon's Ammo in the Clip
Aux for setting and configuring ammo
Animation played by the Character when Firing
Animation played by the Weapon when Firing
Animation played by the Character when Reloading
If the Character will reload automatically when ammo empties
Set the Bullet Color
Aux for setting and configuring the Bullet
Speed of shots
Capacity of the Weapon's clip
Set the Base Weapon's Damage
Sets how the Character grabs this Weapon
Left Hand Offset
Set the mesh used when the Character reloads the weapon
Particle of the Fire Blast in the muzzle
Particle of the Bullet flying
Particle of the empty bullet flying from the weapon when shooting
Base Weapon's Recoil
Set the offset of Right Hand
The FOV multiplier when ADS
Offset applied to align player's head to weapon's sight and rotation applied on the weapon when ADS
Sound when Aiming
Sound when weapon has not bullet and try to shoot
Sound when Shooting
Sound when firing with only having X remaining bullets in the magazine
Sound when Loading a magazine
Sound when Unloading a magazine
Sound when Zooming
Base Weapon's Spread
Sets if the Weapon can hold to keep firing and if it needs to release to fire
Sets how the bullet will pass through walls

GetAmmoBag

Gets this Weapon's Ammo Bag

β€” Returns .

local ret = my_weapon:GetAmmoBag()

See also SetAmmoBag.


GetAmmoClip

Gets this Weapon's Ammo Clip

β€” Returns .

local ret = my_weapon:GetAmmoClip()

See also SetAmmoClip.


GetAmmoToReload

β€” Returns .

local ret = my_weapon:GetAmmoToReload()

GetAnimationCharacterFire

β€” Returns .

local ret = my_weapon:GetAnimationCharacterFire()

See also SetAnimationCharacterFire.


GetAnimationFire

β€” Returns .

local ret = my_weapon:GetAnimationFire()

See also SetAnimationFire.


GetAnimationReload

Gets the reload animation

β€” Returns .

local ret = my_weapon:GetAnimationReload()

See also SetAnimationReload.


GetBulletColor

β€” Returns Color.

local ret = my_weapon:GetBulletColor()

See also SetBulletColor.


GetBulletCount

β€” Returns .

local ret = my_weapon:GetBulletCount()

GetCadence

β€” Returns .

local ret = my_weapon:GetCadence()

See also SetCadence.


GetCanHoldUse

β€” Returns .

local ret = my_weapon:GetCanHoldUse()

GetClipCapacity

β€” Returns .

local ret = my_weapon:GetClipCapacity()

See also SetClipCapacity.


GetDamage

β€” Returns .

local ret = my_weapon:GetDamage()

See also SetDamage.


GetHandlingMode

β€” Returns .

local ret = my_weapon:GetHandlingMode()

See also SetHandlingMode.


GetHoldReleaseUse

β€” Returns .

local ret = my_weapon:GetHoldReleaseUse()

GetLeftHandLocation

β€” Returns Vector.

local ret = my_weapon:GetLeftHandLocation()

GetLeftHandRotation

β€” Returns Rotator.

local ret = my_weapon:GetLeftHandRotation()

GetMagazineMesh

β€” Returns .

local ret = my_weapon:GetMagazineMesh()

See also SetMagazineMesh.


GetParticlesBulletTrail

β€” Returns .

local ret = my_weapon:GetParticlesBulletTrail()

See also SetParticlesBulletTrail.


GetParticlesShells

β€” Returns .

local ret = my_weapon:GetParticlesShells()

See also SetParticlesShells.


GetRecoil

β€” Returns .

local ret = my_weapon:GetRecoil()

See also SetRecoil.


GetRightHandOffset

β€” Returns Vector.

local ret = my_weapon:GetRightHandOffset()

See also SetRightHandOffset.


GetSightFOVMultiplier

β€” Returns .

local ret = my_weapon:GetSightFOVMultiplier()

See also SetSightFOVMultiplier.


GetSightLocation

β€” Returns Vector.

local ret = my_weapon:GetSightLocation()

GetSightRotation

β€” Returns Rotator.

local ret = my_weapon:GetSightRotation()

GetSoundAim

β€” Returns .

local ret = my_weapon:GetSoundAim()

See also SetSoundAim.


GetSoundDry

β€” Returns .

local ret = my_weapon:GetSoundDry()

See also SetSoundDry.


GetSoundFire

β€” Returns .

local ret = my_weapon:GetSoundFire()

See also SetSoundFire.


GetSoundLoad

β€” Returns .

local ret = my_weapon:GetSoundLoad()

See also SetSoundLoad.


GetSoundUnload

β€” Returns .

local ret = my_weapon:GetSoundUnload()

See also SetSoundUnload.


GetSoundZooming

β€” Returns .

local ret = my_weapon:GetSoundZooming()

See also SetSoundZooming.


GetSpread

β€” Returns .

local ret = my_weapon:GetSpread()

See also SetSpread.


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?)
TypeParameterDefaultDescription
animation_path Required parameter No description provided
slot_name?DefaultSlotNo description provided
loop_indefinitely?falseThis parameter is only used if the Weapon has an Animation Blueprint
blend_in_time?0.25This parameter is only used if the Weapon has an Animation Blueprint
blend_out_time?0.25This parameter is only used if the Weapon has an Animation Blueprint
play_rate?1.0This parameter is only used if the Weapon has an Animation Blueprint
stop_all_montages?falseStops all running Montages from the same Group. This parameter is only used if the Weapon has an Animation Blueprint

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_bag)
TypeParameterDefaultDescription
new_ammo_bag Required parameter No description provided

See also GetAmmoBag.


SetAmmoClip

Sets this Weapon's Ammo in the Clip

my_weapon:SetAmmoClip(new_ammo_clip)
TypeParameterDefaultDescription
new_ammo_clip Required parameter No description provided

See also GetAmmoClip.


SetAmmoSettings

Aux for setting and configuring ammo

my_weapon:SetAmmoSettings(ammo_clip, ammo_bag, ammo_to_reload?, clip_capacity?)
TypeParameterDefaultDescription
ammo_clip Required parameter No description provided
ammo_bag Required parameter No description provided
ammo_to_reload?ammo_clipNo description provided
clip_capacity?ammo_clipNo description provided

SetAnimationCharacterFire

Animation played by the Character when Firing

my_weapon:SetAnimationCharacterFire(animation_character_fire_path, play_rate?)
TypeParameterDefaultDescription
animation_character_fire_path Required parameter No description provided
play_rate?1No description provided

See also GetAnimationCharacterFire.


SetAnimationFire

Animation played by the Weapon when Firing

my_weapon:SetAnimationFire(animation_fire_path, play_rate?)
TypeParameterDefaultDescription
animation_fire_path Required parameter No description provided
play_rate?1No description provided

See also GetAnimationFire.


SetAnimationReload

Animation played by the Character when Reloading

my_weapon:SetAnimationReload(reload_animation_path, play_rate?)
TypeParameterDefaultDescription
reload_animation_path Required parameter No description provided
play_rate?1No description provided

See also GetAnimationReload.


SetAutoReload

If the Character will reload automatically when ammo empties. Default is true

my_weapon:SetAutoReload(auto_reload)
TypeParameterDefaultDescription
auto_reload Required parameter No description provided

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(bullet_color)
TypeParameterDefaultDescription
Colorbullet_color Required parameter No description provided

See also GetBulletColor.


SetBulletSettings

Aux for setting and configuring the Bullet

my_weapon:SetBulletSettings(bullet_count, bullet_max_distance, bullet_velocity, bullet_color)
TypeParameterDefaultDescription
bullet_count Required parameter 1 for common weapons
> 1 for shotguns
bullet_max_distance Required parameter No description provided
bullet_velocity Required parameter Visuals only
Colorbullet_color Required parameter No description provided

SetCadence

Speed of shots

my_weapon:SetCadence(cadence)
TypeParameterDefaultDescription
cadence Required parameter 1 shot at each cadence second

See also GetCadence.


SetClipCapacity

Capacity of the Weapon's clip

my_weapon:SetClipCapacity(clip)
TypeParameterDefaultDescription
clip Required parameter No description provided

See also GetClipCapacity.


SetDamage

Base Weapon's Damage

This will be multiplied by multiplier factors when hitting specific bones

my_weapon:SetDamage(damage)
TypeParameterDefaultDescription
damage Required parameter No description provided

See also GetDamage.


SetHandlingMode

Sets how the Character grabs this Weapon

my_weapon:SetHandlingMode(handling_mode)
TypeParameterDefaultDescription
handling_mode Required parameter No description provided

See also GetHandlingMode.


SetLeftHandTransform

Left Hand Offset

my_weapon:SetLeftHandTransform(left_hand_location, left_hand_rotation)
TypeParameterDefaultDescription
Vectorleft_hand_location Required parameter No description provided
Rotatorleft_hand_rotation Required parameter No description provided

SetMagazineMesh

Set the mesh used when the Character reloads the weapon.

Will drop this Mesh as an animation effect.

my_weapon:SetMagazineMesh(magazine_mesh, magazine_mesh_hide_bone?)
TypeParameterDefaultDescription
magazine_mesh Required parameter No description provided
magazine_mesh_hide_bone?b_gun_magWeapon bone to hide when reloading it

See also GetMagazineMesh.


SetParticlesBarrel

Particle of the Fire Blast in the muzzle

my_weapon:SetParticlesBarrel(particle_asset_path)
TypeParameterDefaultDescription
particle_asset_path Required parameter No description provided

SetParticlesBulletTrail

Particle of the Bullet flying

my_weapon:SetParticlesBulletTrail(particle_bullet_trail_asset_path)
TypeParameterDefaultDescription
particle_bullet_trail_asset_path Required parameter No description provided

See also GetParticlesBulletTrail.


SetParticlesShells

Particle of the empty bullet flying from the weapon when shooting

my_weapon:SetParticlesShells(particle_shells_asset_path)
TypeParameterDefaultDescription
particle_shells_asset_path Required parameter No description provided

See also GetParticlesShells.


SetRecoil

Base Weapon's Recoil

my_weapon:SetRecoil(recoil)
TypeParameterDefaultDescription
recoil Required parameter 0 means no Recoil, default is 1

See also GetRecoil.


SetRightHandOffset

Set the Offset of Right Hand. To position relative to the camera.

my_weapon:SetRightHandOffset(right_hand_offset)
TypeParameterDefaultDescription
Vectorright_hand_offset Required parameter No description provided

See also GetRightHandOffset.


SetSightFOVMultiplier

The FOV multiplier when ADS

my_weapon:SetSightFOVMultiplier(sight_fov_multiplier)
TypeParameterDefaultDescription
sight_fov_multiplier Required parameter No description provided

See also GetSightFOVMultiplier.


SetSightTransform

Offset applied to align player's head to weapon's sight and rotation applied on the weapon when ADS

my_weapon:SetSightTransform(sight_location, sight_rotation)
TypeParameterDefaultDescription
Vectorsight_location Required parameter No description provided
Rotatorsight_rotation Required parameter No description provided

SetSoundAim

Sound when Aiming

my_weapon:SetSoundAim(sound_aim_asset_path, volume?, pitch?)
TypeParameterDefaultDescription
sound_aim_asset_path Required parameter No description provided
volume?1No description provided
pitch?1No description provided

See also GetSoundAim.


SetSoundDry

Sound when weapon has not bullet and try to shoot

my_weapon:SetSoundDry(sound_dry_asset_path, volume?, pitch?)
TypeParameterDefaultDescription
sound_dry_asset_path Required parameter No description provided
volume?1No description provided
pitch?1No description provided

See also GetSoundDry.


SetSoundFire

Sound when Shooting

my_weapon:SetSoundFire(sound_fire_asset_path, volume?, pitch?)
TypeParameterDefaultDescription
sound_fire_asset_path Required parameter No description provided
volume?1No description provided
pitch?1No description provided

See also GetSoundFire.


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?)
TypeParameterDefaultDescription
sound_asset_path Required parameter No description provided
remaining_bullets_count?1The amount of remaining bullet to start playing this sound

SetSoundLoad

Sound when Loading a magazine

my_weapon:SetSoundLoad(sound_load_asset_path, volume?, pitch?)
TypeParameterDefaultDescription
sound_load_asset_path Required parameter No description provided
volume?1No description provided
pitch?1No description provided

See also GetSoundLoad.


SetSoundUnload

Sound when Unloading a magazine

my_weapon:SetSoundUnload(sound_unload_asset_path, volume?, pitch?)
TypeParameterDefaultDescription
sound_unload_asset_path Required parameter No description provided
volume?1No description provided
pitch?1No description provided

See also GetSoundUnload.


SetSoundZooming

Sound when Zooming

my_weapon:SetSoundZooming(sound_zooming_asset_path, volume?, pitch?)
TypeParameterDefaultDescription
sound_zooming_asset_path Required parameter No description provided
volume?1No description provided
pitch?1No description provided

See also GetSoundZooming.


SetSpread

Base Weapon's Spread

my_weapon:SetSpread(spread)
TypeParameterDefaultDescription
spread Required parameter the higher the less precision - recommended value: 20

See also GetSpread.


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)
TypeParameterDefaultDescription
can_hold_use Required parameter No description provided
hold_release_use Required parameter No description provided

SetWallbangSettings

Sets how the bullet will pass through walls

my_weapon:SetWallbangSettings(max_distance, damage_multiplier)
TypeParameterDefaultDescription
max_distance Required parameter Max distance to pass through another wall
damage_multiplier Required parameter Damage given if wallbangged

πŸš€ Events​

Inherited Entity Events
Weapon inherits from Base Entity Class, sharing it's events:
Base Entityscripting-reference/classes/base-classes/Entity
NameDescription
Triggered when a new Class is registered with the Inheriting System
Triggered when an Entity is destroyed
Triggered when an Entity is spawned/created
Triggered when an Entity has a value changed with :SetValue()
Inherited Actor Events
Weapon inherits from Base Actor Class, sharing it's events:
Base Actorscripting-reference/classes/base-classes/Actor
NameDescription
Triggered when an Actor changes it's dimension
Inherited Pickable Events
Weapon inherits from Base Pickable Class, sharing it's events:
Base Pickablescripting-reference/classes/base-classes/Pickable
NameDescription
When a Character drops this Pickable
When this Pickable hits something
Triggered when a Character interacts with this Pickable (i.e. tries to pick it up)
Triggered When a Character picks this up
Triggered when a Character presses the use button for this Pickable (i.e. clicks left mouse button with this equipped)
Triggered when a Character releases the use button for this Pickable (i.e. releases left mouse button with this equipped)
NameDescription
When the Ammo Bag is changed, by reloading or manually setting through scripting
When the Ammo Clip is changed, by reloading or manually setting through scripting
Triggered when Weapon fires (this will be triggered for each shot)
When a Weapon is reloaded, optionally by a Character

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)
TypeArgumentDescription
WeaponselfNo description provided
old_ammo_clipNo description provided
new_ammo_clipNo description provided

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)
TypeArgumentDescription
WeaponselfNo description provided
old_ammo_clipNo description provided
new_ammo_clipNo description provided

Fire

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

Reload

When a Weapon is reloaded, optionally by a Character
Weapon.Subscribe("Reload", function(self, character, ammo_to_reload)
-- Reload was called
end)
TypeArgumentDescription
WeaponselfNo description provided
CharactercharacterNo description provided
ammo_to_reloadNo description provided