Skip to main content
Version: bleeding-edge 🩸

🔫 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.
🔁Network Authority Distribution
This class have the Network Authority distribution enabled and automatically handled by the server. You can override the Network Authority or disable it from automatically distributing.
👪Inheritance
This class shares methods and events from Base Entity, Base Actor, Base Paintable, Base Pickable.
🧑‍💻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?, defer_spawn?)

Parameters

TypeNameDefaultDescription
Vectorlocation Required parameter No description provided
Rotatorrotation Required parameter No description provided
SkeletalMesh Referenceasset Required parameter No description provided
CollisionTypecollision_typeCollisionType.AutoNo description provided
booleangravity_enabledtrueNo description provided
booleandefer_spawnfalsePass true to avoid immediately sending the entity to clients and improve performance when you want to configure it by setting several configs. Must call FinishSpawn() after all

🗿 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
table of Base EntityGetAllReturns a table containing all Entities of the class this is called on
Base EntityGetByIndexReturns a specific Entity of this class at an index
integerGetCountReturns how many Entities of this class exist
table of tableGetInheritedClassesGets a list of all directly inherited classes from this Class created with the Inheriting System
iteratorGetPairsReturns an iterator with all Entities of this class to be used with pairs()
table or nilGetParentClassGets the parent class if this Class was created with the Inheriting System
tableInheritInherits this class with the Inheriting System
booleanIsChildOfGets if this Class is child of another class if this Class was created with the Inheriting System
functionSubscribeSubscribes to an Event for all entities of this Class
functionSubscribeRemoteSubscribes to a custom event called from server
UnsubscribeUnsubscribes 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
BroadcastRemoteEventCalls a custom remote event directly on this entity to all Players
BroadcastRemoteInRadiusEventCalls a custom remote event directly on this entity to all Players in a radius
CallRemoteEventCalls a custom remote event directly on this entity to a specific Player
CallRemoteEventCalls a custom remote event directly on this entity
CallRemotePlayersEventCalls a custom remote event directly on this entity to a list of Players
DestroyDestroys this Entity
FinishSpawnFinish the spawning process and send the entity to clients if it was spawned with defer_spawn
table of stringGetAllValuesKeysGets a list of all values keys
tableGetClassGets the class of this entity
integerGetIDGets the universal network ID of this Entity (same on both client and server)
anyGetValueGets a Value stored on this Entity at the given key
booleanHasAuthorityGets if the local context has authority over this Entity (true if spawned by the client, false if spawned by the server)
booleanIsARecursively checks if this entity is inherited from a Class
booleanIsBeingDestroyedReturns true if this Entity is being destroyed
booleanIsValidReturns true if this Entity is valid (i.e. wasn't destroyed and points to a valid Entity)
SetValueSets a Value in this Entity
functionSubscribeSubscribes to an Event on this specific entity
functionSubscribeRemoteSubscribes to a custom event called from server on this specific entity
UnsubscribeUnsubscribes 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
AddActorTagAdds an Unreal Actor Tag to this Actor
AddAngularImpulseAdd an angular impulse to this Actor. Good for one time instant burst
AddImpulseAdd an impulse to this Actor. Good for one time instant burst
booleanAttachToAttaches this Actor to any other Actor, optionally at a specific bone
DetachDetaches this Actor from AttachedTo Actor
table of stringGetActorTagsGets all Unreal Actor Tags on this Actor
VectorGetAngularForceGets this Actor's angular force (set by SetAngularForce())
table of Base ActorGetAttachedEntitiesGets all Actors attached to this Actor
Base Actor or nilGetAttachedToGets the Actor this Actor is attached to
tableGetBoundsGets this Actor's bounds
CollisionTypeGetCollisionGets this Actor's collision type
integerGetDimensionGets this Actor's dimension
floatGetDistanceFromCameraGets the distance of this Actor from the Camera
VectorGetForceGets this Actor's force (set by SetForce())
VectorGetLocationGets this Actor's location in the game world
Player or nilGetNetworkAuthorityGets this Actor's Network Authority Player
VectorGetRelativeLocationGets this Actor's Relative Location if it's attached
RotatorGetRelativeRotationGets this Actor's Relative Rotation if it's attached
RotatorGetRotationGets this Actor's angle in the game world
VectorGetScaleGets this Actor's scale
floatGetScreenPercentageGets the percentage of this Actor size in the screen
tableGetSocketTransformGets a Socket Transform in world space given a bone or socket name
VectorGetVelocityGets this Actor's current velocity
booleanHasNetworkAuthorityReturns true if the local Player is currently the Network Authority of this Actor
booleanIsGravityEnabledReturns true if gravity is enabled on this Actor
booleanIsInWaterReturns true if this Actor is in water
booleanIsNetworkDistributedReturns true if this Actor is currently network distributed
booleanIsVisibleReturns true if this Actor is visible
RemoveActorTagRemoves an Unreal Actor Tag from this Actor
RotateToSmoothly rotates this actor to an angle over a certain time
SetAngularForceAdds a permanent angular force to this Actor, set to Vector(0, 0, 0) to cancel
SetCastShadowSets this Actor's to cast shadows or not
SetCollisionSets this Actor's collision type
SetDimensionSets this Actor's Dimension
SetDistanceOptimizationMultiplierSets this Actor's distance optimization multiplier
SetForceAdds a permanent force to this Actor, set to Vector(0, 0, 0) to cancel
SetGravityEnabledSets whether gravity is enabled on this Actor
SetHighlightEnabledSets whether the highlight is enabled on this Actor, and which highlight index to use
SetLifeSpanSets the time (in seconds) before this Actor is destroyed. After this time has passed, the actor will be automatically destroyed.
SetLocationSets this Actor's location in the game world
SetNetworkAuthoritySets the Player to have network authority over this Actor
SetNetworkAuthorityAutoDistributedSets if this Actor will auto distribute the network authority between players
SetOutlineEnabledSets whether the outline is enabled on this Actor, and which outline index to use
SetRelativeLocationSets this Actor's relative location in local space (only if this actor is attached)
SetRelativeRotationSets this Actor's relative rotation in local space (only if this actor is attached)
SetRenderCullDistanceSets this Actor's render cull distance
SetRotationSets this Actor's rotation in the game world
SetScaleSets this Actor's scale
SetVisibilitySets whether the actor is visible or not
TranslateToSmoothly moves this actor to a location over a certain time
booleanWasRecentlyRenderedGets 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
ColorGetMaterialColorParameterGets a Color parameter from this Actor's material
floatGetMaterialScalarParameterGets a Scalar parameter from this Actor's material
stringGetMaterialTextureParameterGets a Texture parameter from this Actor's material
VectorGetMaterialVectorParameterGets a Vector parameter from this Actor's material
ResetMaterialResets the material from the specified index to the original one
SetMaterialSets the material at the specified index of this Actor
SetMaterialColorParameterSets a Color parameter in this Actor's material
SetMaterialFromCanvasSets the material at the specified index of this Actor to a Canvas object
SetMaterialFromSceneCaptureSets the material at the specified index of this Actor to a SceneCapture object
SetMaterialFromWebUISets the material at the specified index of this Actor to a WebUI object
SetMaterialScalarParameterSets a Scalar parameter in this Actor's material
SetMaterialTextureParameterSets a texture parameter in this Actor's material to an image
SetMaterialVectorParameterSets a Vector parameter in this Actor's material
SetPhysicalMaterialOverrides 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
AddSkeletalMeshAttachedAttaches a Skeletal Mesh as master pose to this entity
AddStaticMeshAttachedAttaches a Static Mesh to this entity
table of stringGetAllSkeletalMeshAttachedGets all Skeletal Meshes attached to this entity
table of stringGetAllStaticMeshAttachedGets all Static Meshes attached to this entity
Character or nilGetHandlerGets the Character, if it exists, that's holding this Pickable
HandlingModeGetHandlingModeGets the Handling Mode of this Pickable
SkeletalMesh ReferenceGetMeshGets the name of the asset this Pickable uses
PullUsePulls the usage of this Pickable (will start firing if this is a weapon)
ReleaseUseReleases the usage of this Pickable (will stop firing if this is a weapon)
RemoveAllSkeletalMeshesAttachedRemoves all SkeletalMeshes attached
RemoveAllStaticMeshesAttachedRemoves all StaticMeshes attached
RemoveSkeletalMeshAttachedRemoves, if it exists, a SkeletalMesh from this Pickable given its custom ID
RemoveStaticMeshAttachedRemoves, if it exists, a StaticMesh from this Pickable given its custom ID
SetAttachmentSettingsSets the Attachment Settings for this Pickable (how it attaches to the Character when Picking up)
SetCanUseSets if this Pickable can be used by the player when held
SetCrosshairMaterialSets the crosshair material for this Pickable
SetPickableSets if this Pickable can be picked up from ground by the player
SetStaticMeshAttachedTransformSets a Static Mesh Attached location and rotation
ReturnsNameDescription
integerGetAmmoBagGets this Weapon's Ammo Bag
integerGetAmmoClipGets this Weapon's Ammo Clip
integerGetAmmoToReloadGets the amount of ammo needed to fully reload
Animation ReferenceGetAnimationCharacterFireNo description provided
Animation ReferenceGetAnimationFireNo description provided
Animation ReferenceGetAnimationReloadGets the reload animation
ColorGetBulletColorNo description provided
integerGetBulletCountNo description provided
floatGetCadenceNo description provided
booleanGetCanHoldUseGets if the weapon can be used continuously by holding the use button
integerGetClipCapacityNo description provided
integerGetDamageNo description provided
HandlingModeGetHandlingModeNo description provided
booleanGetHoldReleaseUseGets if the weapon is triggered/fired when releasing the use button
VectorGetLeftHandLocationNo description provided
RotatorGetLeftHandRotationNo description provided
StaticMesh ReferenceGetMagazineMeshNo description provided
Particle ReferenceGetParticlesBulletTrailNo description provided
Particle ReferenceGetParticlesShellsNo description provided
floatGetRecoilNo description provided
VectorGetRightHandOffsetNo description provided
floatGetSightFOVMultiplierNo description provided
VectorGetSightLocationNo description provided
RotatorGetSightRotationNo description provided
Sound ReferenceGetSoundAimNo description provided
Sound ReferenceGetSoundDryNo description provided
Sound ReferenceGetSoundFireNo description provided
Sound ReferenceGetSoundLoadNo description provided
Sound ReferenceGetSoundUnloadNo description provided
Sound ReferenceGetSoundZoomingNo description provided
floatGetSpreadNo description provided
PlayAnimationPlays an Animation on this Weapon
ReloadForces this Weapon to reload
SetAmmoBagSets this Weapon's Ammo in the Bag
SetAmmoClipSets this Weapon's Ammo in the Clip
SetAmmoSettingsAux for setting and configuring ammo
SetAnimationCharacterFireAnimation played by the Character when Firing
SetAnimationFireAnimation played by the Weapon when Firing
SetAnimationReloadAnimation played by the Character when Reloading
SetAutoReloadIf the Character will reload automatically when ammo empties
SetBulletColorSet the Bullet Color
SetBulletSettingsAux for setting and configuring the Bullet
SetCadenceSpeed of shots
SetClipCapacityCapacity of the Weapon's clip
SetDamageSet the Base Weapon's Damage
SetHandlingModeSets how the Character grabs this Weapon
SetLeftHandTransformLeft Hand Offset
SetMagazineMeshSet the mesh used when the Character reloads the weapon
SetParticlesBarrelParticle of the Fire Blast in the muzzle
SetParticlesBulletTrailParticle of the Bullet flying
SetParticlesShellsParticle of the empty bullet flying from the weapon when shooting
SetRecoilBase Weapon's Recoil
SetRightHandOffsetSet the offset of Right Hand
SetSightFOVMultiplierThe FOV multiplier when ADS
SetSightTransformOffset applied to align player's head to weapon's sight and rotation applied on the weapon when ADS
SetSoundAimSound when Aiming
SetSoundDrySound when weapon has not bullet and try to shoot
SetSoundFireSound when Shooting
SetSoundFireLastBulletsSound when firing with only having X remaining bullets in the magazine
SetSoundLoadSound when Loading a magazine
SetSoundUnloadSound when Unloading a magazine
SetSoundZoomingSound when Zooming
SetSpreadBase Weapon's Spread
SetUsageSettingsSets if the Weapon can hold to keep firing and if it needs to release to fire
SetWallbangSettingsSets how the bullet will pass through walls

GetAmmoBag

Gets this Weapon's Ammo Bag
local ammo_bag = my_weapon:GetAmmoBag()

Returns

TypeDescription
integerammo_bag

See also SetAmmoBag.


GetAmmoClip

Gets this Weapon's Ammo Clip
local ammo_clip = my_weapon:GetAmmoClip()

Returns

TypeDescription
integerammo_clip

See also SetAmmoClip.


GetAmmoToReload

Gets the amount of ammo needed to fully reload
local ammo_to_reload = my_weapon:GetAmmoToReload()

Returns

TypeDescription
integerammo_to_reload

GetAnimationCharacterFire

local animation_character_fire_path = my_weapon:GetAnimationCharacterFire()

Returns

TypeDescription
Animation Referenceanimation_character_fire_path

See also SetAnimationCharacterFire.


GetAnimationFire

local animation_fire_path = my_weapon:GetAnimationFire()

Returns

TypeDescription
Animation Referenceanimation_fire_path

See also SetAnimationFire.


GetAnimationReload

Gets the reload animation
local reload_animation_path = my_weapon:GetAnimationReload()

Returns

TypeDescription
Animation Referencereload_animation_path

See also SetAnimationReload.


GetBulletColor

local bullet_color = my_weapon:GetBulletColor()

Returns

TypeDescription
Colorbullet_color

See also SetBulletColor.


GetBulletCount

local bullet_count = my_weapon:GetBulletCount()

Returns

TypeDescription
integerbullet_count

GetCadence

local cadence = my_weapon:GetCadence()

Returns

TypeDescription
floatcadence

See also SetCadence.


GetCanHoldUse

Gets if the weapon can be used continuously by holding the use button
local can_hold_use = my_weapon:GetCanHoldUse()

Returns

TypeDescription
booleancan_hold_use

GetClipCapacity

local clip = my_weapon:GetClipCapacity()

Returns

TypeDescription
integerclip

See also SetClipCapacity.


GetDamage

local damage = my_weapon:GetDamage()

Returns

TypeDescription
integerdamage

See also SetDamage.


GetHandlingMode

local handling_mode = my_weapon:GetHandlingMode()

Returns

TypeDescription
HandlingModehandling_mode

See also SetHandlingMode.


GetHoldReleaseUse

Gets if the weapon is triggered/fired when releasing the use button
local hold_release_use = my_weapon:GetHoldReleaseUse()

Returns

TypeDescription
booleanhold_release_use

GetLeftHandLocation

local left_hand_location = my_weapon:GetLeftHandLocation()

Returns

TypeDescription
Vectorleft_hand_location

GetLeftHandRotation

local left_hand_rotation = my_weapon:GetLeftHandRotation()

Returns

TypeDescription
Rotatorleft_hand_rotation

GetMagazineMesh

local magazine_mesh = my_weapon:GetMagazineMesh()

Returns

TypeDescription
StaticMesh Referencemagazine_mesh

See also SetMagazineMesh.


GetParticlesBulletTrail

local particle_bullet_trail_asset_path = my_weapon:GetParticlesBulletTrail()

Returns

TypeDescription
Particle Referenceparticle_bullet_trail_asset_path

See also SetParticlesBulletTrail.


GetParticlesShells

local particle_shells_asset_path = my_weapon:GetParticlesShells()

Returns

TypeDescription
Particle Referenceparticle_shells_asset_path

See also SetParticlesShells.


GetRecoil

local recoil = my_weapon:GetRecoil()

Returns

TypeDescription
floatrecoil

See also SetRecoil.


GetRightHandOffset

local right_hand_offset = my_weapon:GetRightHandOffset()

Returns

TypeDescription
Vectorright_hand_offset

See also SetRightHandOffset.


GetSightFOVMultiplier

local sight_fov_multiplier = my_weapon:GetSightFOVMultiplier()

Returns

TypeDescription
floatsight_fov_multiplier

See also SetSightFOVMultiplier.


GetSightLocation

local sight_location = my_weapon:GetSightLocation()

Returns

TypeDescription
Vectorsight_location

GetSightRotation

local sight_rotation = my_weapon:GetSightRotation()

Returns

TypeDescription
Rotatorsight_rotation

GetSoundAim

local sound_aim_asset_path = my_weapon:GetSoundAim()

Returns

TypeDescription
Sound Referencesound_aim_asset_path

See also SetSoundAim.


GetSoundDry

local sound_dry_asset_path = my_weapon:GetSoundDry()

Returns

TypeDescription
Sound Referencesound_dry_asset_path

See also SetSoundDry.


GetSoundFire

local sound_fire_asset_path = my_weapon:GetSoundFire()

Returns

TypeDescription
Sound Referencesound_fire_asset_path

See also SetSoundFire.


GetSoundLoad

local sound_load_asset_path = my_weapon:GetSoundLoad()

Returns

TypeDescription
Sound Referencesound_load_asset_path

See also SetSoundLoad.


GetSoundUnload

local sound_unload_asset_path = my_weapon:GetSoundUnload()

Returns

TypeDescription
Sound Referencesound_unload_asset_path

See also SetSoundUnload.


GetSoundZooming

local sound_zooming_asset_path = my_weapon:GetSoundZooming()

Returns

TypeDescription
Sound Referencesound_zooming_asset_path

See also SetSoundZooming.


GetSpread

local spread = my_weapon:GetSpread()

Returns

TypeDescription
floatspread

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?)

Parameters

TypeParameterDefaultDescription
Animation Referenceanimation_path Required parameter No description provided
stringslot_name?DefaultSlotNo description provided
booleanloop_indefinitely?falseThis parameter is only used if the Weapon has an Animation Blueprint
floatblend_in_time?0.25This parameter is only used if the Weapon has an Animation Blueprint
floatblend_out_time?0.25This parameter is only used if the Weapon has an Animation Blueprint
floatplay_rate?1.0This parameter is only used if the Weapon has an Animation Blueprint
booleanstop_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)

Parameters

TypeParameterDefaultDescription
integernew_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)

Parameters

TypeParameterDefaultDescription
integernew_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?)

Parameters

TypeParameterDefaultDescription
integerammo_clip Required parameter No description provided
integerammo_bag Required parameter No description provided
integerammo_to_reload?ammo_clipNo description provided
integerclip_capacity?ammo_clipNo description provided

SetAnimationCharacterFire

Animation played by the Character when Firing
my_weapon:SetAnimationCharacterFire(animation_character_fire_path, play_rate?)

Parameters

TypeParameterDefaultDescription
Animation Referenceanimation_character_fire_path Required parameter No description provided
floatplay_rate?1No description provided

See also GetAnimationCharacterFire.


SetAnimationFire

Animation played by the Weapon when Firing
my_weapon:SetAnimationFire(animation_fire_path, play_rate?)

Parameters

TypeParameterDefaultDescription
Animation Referenceanimation_fire_path Required parameter No description provided
floatplay_rate?1No description provided

See also GetAnimationFire.


SetAnimationReload

Animation played by the Character when Reloading
my_weapon:SetAnimationReload(reload_animation_path, play_rate?)

Parameters

TypeParameterDefaultDescription
Animation Referencereload_animation_path Required parameter No description provided
floatplay_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)

Parameters

TypeParameterDefaultDescription
booleanauto_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)

Parameters

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)

Parameters

TypeParameterDefaultDescription
integerbullet_count Required parameter 1 for common weapons
> 1 for shotguns
integerbullet_max_distance Required parameter No description provided
integerbullet_velocity Required parameter Visuals only
Colorbullet_color Required parameter No description provided

SetCadence

Speed of shots
my_weapon:SetCadence(cadence)

Parameters

TypeParameterDefaultDescription
floatcadence Required parameter 1 shot at each cadence second

See also GetCadence.


SetClipCapacity

Capacity of the Weapon's clip
my_weapon:SetClipCapacity(clip)

Parameters

TypeParameterDefaultDescription
integerclip 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)

Parameters

TypeParameterDefaultDescription
integerdamage Required parameter No description provided

See also GetDamage.


SetHandlingMode

Sets how the Character grabs this Weapon
my_weapon:SetHandlingMode(handling_mode)

Parameters

TypeParameterDefaultDescription
HandlingModehandling_mode Required parameter No description provided

See also GetHandlingMode.


SetLeftHandTransform

Left Hand Offset
my_weapon:SetLeftHandTransform(left_hand_location, left_hand_rotation)

Parameters

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?)

Parameters

TypeParameterDefaultDescription
StaticMesh Referencemagazine_mesh Required parameter No description provided
stringmagazine_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)

Parameters

TypeParameterDefaultDescription
Particle Referenceparticle_asset_path Required parameter No description provided

SetParticlesBulletTrail

Particle of the Bullet flying
my_weapon:SetParticlesBulletTrail(particle_bullet_trail_asset_path)

Parameters

TypeParameterDefaultDescription
Particle Referenceparticle_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)

Parameters

TypeParameterDefaultDescription
Particle Referenceparticle_shells_asset_path Required parameter No description provided

See also GetParticlesShells.


SetRecoil

Base Weapon's Recoil
my_weapon:SetRecoil(recoil)

Parameters

TypeParameterDefaultDescription
floatrecoil 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)

Parameters

TypeParameterDefaultDescription
Vectorright_hand_offset Required parameter No description provided

See also GetRightHandOffset.


SetSightFOVMultiplier

The FOV multiplier when ADS
my_weapon:SetSightFOVMultiplier(sight_fov_multiplier)

Parameters

TypeParameterDefaultDescription
floatsight_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)

Parameters

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?)

Parameters

TypeParameterDefaultDescription
Sound Referencesound_aim_asset_path Required parameter No description provided
floatvolume?1No description provided
floatpitch?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?)

Parameters

TypeParameterDefaultDescription
Sound Referencesound_dry_asset_path Required parameter No description provided
floatvolume?1No description provided
floatpitch?1No description provided

See also GetSoundDry.


SetSoundFire

Sound when Shooting
my_weapon:SetSoundFire(sound_fire_asset_path, volume?, pitch?)

Parameters

TypeParameterDefaultDescription
Sound Referencesound_fire_asset_path Required parameter No description provided
floatvolume?1No description provided
floatpitch?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?)

Parameters

TypeParameterDefaultDescription
Sound Referencesound_asset_path Required parameter No description provided
integerremaining_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?)

Parameters

TypeParameterDefaultDescription
Sound Referencesound_load_asset_path Required parameter No description provided
floatvolume?1No description provided
floatpitch?1No description provided

See also GetSoundLoad.


SetSoundUnload

Sound when Unloading a magazine
my_weapon:SetSoundUnload(sound_unload_asset_path, volume?, pitch?)

Parameters

TypeParameterDefaultDescription
Sound Referencesound_unload_asset_path Required parameter No description provided
floatvolume?1No description provided
floatpitch?1No description provided

See also GetSoundUnload.


SetSoundZooming

Sound when Zooming
my_weapon:SetSoundZooming(sound_zooming_asset_path, volume?, pitch?)

Parameters

TypeParameterDefaultDescription
Sound Referencesound_zooming_asset_path Required parameter No description provided
floatvolume?1No description provided
floatpitch?1No description provided

See also GetSoundZooming.


SetSpread

Base Weapon's Spread
my_weapon:SetSpread(spread)

Parameters

TypeParameterDefaultDescription
floatspread 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)

Parameters

TypeParameterDefaultDescription
booleancan_hold_use Required parameter No description provided
booleanhold_release_use Required parameter No description provided

SetWallbangSettings

Sets how the bullet will pass through walls
my_weapon:SetWallbangSettings(max_distance, damage_multiplier)

Parameters

TypeParameterDefaultDescription
integermax_distance Required parameter Max distance to pass through another wall
floatdamage_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
ClassRegisterTriggered when a new Class is registered with the Inheriting System
DestroyTriggered when an Entity is destroyed
SpawnTriggered when an Entity is spawned/created
ValueChangeTriggered 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
DimensionChangeTriggered when an Actor changes its dimension
Inherited Pickable Events
Weapon inherits from Base Pickable Class, sharing it's events:
Base Pickablescripting-reference/classes/base-classes/pickable
NameDescription
DropWhen a Character drops this Pickable
HitWhen this Pickable hits something
InteractTriggered when a Character interacts with this Pickable (i.e. tries to pick it up)
PickUpTriggered When a Character picks this up
PullUseTriggered when a Character presses the use button for this Pickable (i.e. clicks left mouse button with this equipped)
ReleaseUseTriggered when a Character releases the use button for this Pickable (i.e. releases left mouse button with this equipped)
NameDescription
AmmoBagChangeWhen the Ammo Bag is changed, by reloading or manually setting through scripting
AmmoClipChangeWhen the Ammo Clip is changed, by reloading or manually setting through scripting
BulletHitTriggered when bullets hit (this will be triggered for each bullet shot)
FireTriggered when Weapon fires (this will be triggered for each shot)
ReloadWhen 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_bag, new_ammo_bag)
-- AmmoBagChange was called
end)

Arguments

TypeArgumentDescription
WeaponselfNo description provided
integerold_ammo_bagNo description provided
integernew_ammo_bagNo 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)

Arguments

TypeArgumentDescription
WeaponselfNo description provided
integerold_ammo_clipNo description provided
integernew_ammo_clipNo description provided

BulletHit

Triggered when bullets hit (this will be triggered for each bullet shot)
Weapon.Subscribe("BulletHit", function(self, impact_point, impact_normal, damage, actor_hit)
-- BulletHit was called
end)

Arguments

TypeArgumentDescription
WeaponselfNo description provided
Vectorimpact_pointLocation in world space of the bullet hit
Vectorimpact_normalNormal of the bullet hit in world space
integerdamageDamage that was applied
Base Actor or nilactor_hitActor entity that was hit, if any

Fire

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

Arguments

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)

Arguments

TypeArgumentDescription
WeaponselfNo description provided
CharactercharacterNo description provided
integerammo_to_reloadNo description provided