Skip to main content
Version: latest - a1.51.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 Base Entity, Base Actor, Base Paintable, Base Pickable.
๐Ÿง‘โ€๐Ÿ’ปAPI Source
The methods, properties and events descriptions from this page are defined in our GitHub API Repository!

๐ŸŽ’ย 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-shooterWeapon Scopegetting-started/tutorials-and-examples/weapon-scopeWeapon Flashlightgetting-started/tutorials-and-examples/weapon-flashlight

๐Ÿ› ย Constructorsโ€‹

Default Constructorโ€‹

local my_weapon = Weapon(location, rotation, asset, collision_type?, gravity_enabled?)
TypeNameDefaultDescription
Vectorlocation
Rotatorrotation
SkeletalMesh Referenceasset
CollisionTypecollision_typeCollisionType.Normal
booleangravity_enabledtrue

๐Ÿ—ฟย Static Functionsโ€‹

Inherited Entity Static 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
Base Entityscripting-reference/classes/base-classes/Entity
ReturnsNameDescription
BroadcastRemoteEventCalls a custom remote event directly on this entity to all Players
CallRemoteEventCalls a custom remote event directly on this entity to a specific Player
CallRemoteEventCalls a custom remote event directly on this entity
DestroyDestroys this Entity
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
booleanIsARecursively checks if this entity is inherited from a Class
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
Base Actorscripting-reference/classes/base-classes/Actor
ReturnsNameDescription
AddActorTagAdds an Unreal Actor Tag to this Actor
AddImpulseApplies a force in world world to this Actor
AttachToAttaches 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
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
VectorGetVelocityGets this Actor's current velocity
booleanHasAuthorityGets if this Actor was spawned by the client side
booleanHasNetworkAuthorityReturns true if the local Player is currently the Network Authority of this Actor
booleanIsBeingDestroyedReturns true if this Actor is being destroyed
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
SetCollisionSets this Actor's collision type
SetDimensionSets this Actor's Dimension
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 betwen 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)
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
Base Paintablescripting-reference/classes/base-classes/Paintable
ReturnsNameDescription
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 on disk
SetMaterialVectorParameterSets a Vector parameter in this Actor's material
SetPhysicalMaterialOverrides this Actor's Physical Material with a new one
Inherited Pickable 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
Character or nilGetHandlerGets the Character, if it exists, that's holding 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)
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)
SetCrosshairMaterialSets the crosshair material for this Pickable
SetPickableSets if this Pickable can be picked up from ground by the player
ReturnsNameDescription
integerGetAmmoBagGets this Weapon's Ammo Bag
integerGetAmmoClipGets this Weapon's Ammo Clip
integerGetAmmoToReload
Animation ReferenceGetAnimationCharacterFire
Animation ReferenceGetAnimationFire
Animation ReferenceGetAnimationReloadGets the reload animation
tableGetBoneTransformGets a Bone Transform in world space given a bone name
ColorGetBulletColor
integerGetBulletCount
floatGetCadence
booleanGetCanHoldUse
integerGetClipCapacity
integerGetDamage
HandlingModeGetHandlingMode
booleanGetHoldReleaseUse
VectorGetLeftHandLocation
RotatorGetLeftHandRotation
StaticMesh ReferenceGetMagazineMesh
Particle ReferenceGetParticlesBulletTrail
Particle ReferenceGetParticlesShells
floatGetRecoil
VectorGetRightHandOffset
floatGetSightFOVMultiplier
VectorGetSightLocation
RotatorGetSightRotation
Sound ReferenceGetSoundAim
Sound ReferenceGetSoundDry
Sound ReferenceGetSoundFire
Sound ReferenceGetSoundLoad
Sound ReferenceGetSoundUnload
Sound ReferenceGetSoundZooming
floatGetSpread
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
SetAutoReloadSets if the Weapon auto reloads 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

โ€” Returns integer.

local ret = my_weapon:GetAmmoBag()

See also SetAmmoBag.


GetAmmoClipโ€‹

Gets this Weapon's Ammo Clip

โ€” Returns integer.

local ret = my_weapon:GetAmmoClip()

See also SetAmmoClip.


GetAmmoToReloadโ€‹

โ€” Returns integer.

local ret = my_weapon:GetAmmoToReload()

GetAnimationCharacterFireโ€‹

โ€” Returns Animation Reference.

local ret = my_weapon:GetAnimationCharacterFire()

See also SetAnimationCharacterFire.


GetAnimationFireโ€‹

โ€” Returns Animation Reference.

local ret = my_weapon:GetAnimationFire()

See also SetAnimationFire.


GetAnimationReloadโ€‹

Gets the reload animation

โ€” Returns Animation Reference.

local ret = my_weapon:GetAnimationReload()

See also SetAnimationReload.


GetBoneTransformโ€‹

Gets a Bone Transform in world space given a bone name

โ€” Returns table (with this format).

local ret = my_weapon:GetBoneTransform(bone_name)
TypeParameterDefaultDescription
stringbone_name

GetBulletColorโ€‹

โ€” Returns Color.

local ret = my_weapon:GetBulletColor()

See also SetBulletColor.


GetBulletCountโ€‹

โ€” Returns integer.

local ret = my_weapon:GetBulletCount()

GetCadenceโ€‹

โ€” Returns float.

local ret = my_weapon:GetCadence()

See also SetCadence.


GetCanHoldUseโ€‹

โ€” Returns boolean.

local ret = my_weapon:GetCanHoldUse()

GetClipCapacityโ€‹

โ€” Returns integer.

local ret = my_weapon:GetClipCapacity()

See also SetClipCapacity.


GetDamageโ€‹

โ€” Returns integer.

local ret = my_weapon:GetDamage()

See also SetDamage.


GetHandlingModeโ€‹

โ€” Returns HandlingMode.

local ret = my_weapon:GetHandlingMode()

See also SetHandlingMode.


GetHoldReleaseUseโ€‹

โ€” Returns boolean.

local ret = my_weapon:GetHoldReleaseUse()

GetLeftHandLocationโ€‹

โ€” Returns Vector.

local ret = my_weapon:GetLeftHandLocation()

GetLeftHandRotationโ€‹

โ€” Returns Rotator.

local ret = my_weapon:GetLeftHandRotation()

GetMagazineMeshโ€‹

โ€” Returns StaticMesh Reference.

local ret = my_weapon:GetMagazineMesh()

See also SetMagazineMesh.


GetParticlesBulletTrailโ€‹

โ€” Returns Particle Reference.

local ret = my_weapon:GetParticlesBulletTrail()

See also SetParticlesBulletTrail.


GetParticlesShellsโ€‹

โ€” Returns Particle Reference.

local ret = my_weapon:GetParticlesShells()

See also SetParticlesShells.


GetRecoilโ€‹

โ€” Returns float.

local ret = my_weapon:GetRecoil()

See also SetRecoil.


GetRightHandOffsetโ€‹

โ€” Returns Vector.

local ret = my_weapon:GetRightHandOffset()

See also SetRightHandOffset.


GetSightFOVMultiplierโ€‹

โ€” Returns float.

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 Sound Reference.

local ret = my_weapon:GetSoundAim()

See also SetSoundAim.


GetSoundDryโ€‹

โ€” Returns Sound Reference.

local ret = my_weapon:GetSoundDry()

See also SetSoundDry.


GetSoundFireโ€‹

โ€” Returns Sound Reference.

local ret = my_weapon:GetSoundFire()

See also SetSoundFire.


GetSoundLoadโ€‹

โ€” Returns Sound Reference.

local ret = my_weapon:GetSoundLoad()

See also SetSoundLoad.


GetSoundUnloadโ€‹

โ€” Returns Sound Reference.

local ret = my_weapon:GetSoundUnload()

See also SetSoundUnload.


GetSoundZoomingโ€‹

โ€” Returns Sound Reference.

local ret = my_weapon:GetSoundZooming()

See also SetSoundZooming.


GetSpreadโ€‹

โ€” Returns float.

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 Referenceanimation_path
stringslot_name?DefaultSlot
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)
TypeParameterDefaultDescription
integernew_ammo

See also GetAmmoBag.


SetAmmoClipโ€‹

Sets this Weapon's Ammo in the Clip

my_weapon:SetAmmoClip(new_ammo)
TypeParameterDefaultDescription
integernew_ammo

See also GetAmmoClip.


SetAmmoSettingsโ€‹

Aux for setting and configuring ammo

my_weapon:SetAmmoSettings(ammo_clip, ammo_bag, ammo_to_reload?, clip_capacity?)
TypeParameterDefaultDescription
integerammo_clip
integerammo_bag
integerammo_to_reload?ammo_clip
integerclip_capacity?ammo_clip

SetAnimationCharacterFireโ€‹

Animation played by the Character when Firing

my_weapon:SetAnimationCharacterFire(animation_path, play_rate?)
TypeParameterDefaultDescription
Animation Referenceanimation_path
floatplay_rate?1

See also GetAnimationCharacterFire.


SetAnimationFireโ€‹

Animation played by the Weapon when Firing

my_weapon:SetAnimationFire(animation_asset_path, play_rate?)
TypeParameterDefaultDescription
Animation Referenceanimation_asset_path
floatplay_rate?1

See also GetAnimationFire.


SetAnimationReloadโ€‹

Animation played by the Character when Reloading

my_weapon:SetAnimationReload(animation_path, play_rate?)
TypeParameterDefaultDescription
Animation Referenceanimation_path
floatplay_rate?1

See also GetAnimationReload.


SetAutoReloadโ€‹

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

my_weapon:SetAutoReload(auto_reload)
TypeParameterDefaultDescription
booleanauto_reload

SetAutoReloadโ€‹

Sets if the Weapon auto reloads when ammo empties

my_weapon:SetAutoReload(auto_reload)
TypeParameterDefaultDescription
booleanauto_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)
TypeParameterDefaultDescription
Colorcolor

See also GetBulletColor.


SetBulletSettingsโ€‹

Aux for setting and configuring the Bullet

my_weapon:SetBulletSettings(bullet_count, bullet_max_distance, bullet_velocity, bullet_color)
TypeParameterDefaultDescription
integerbullet_count1 for common weapons
> 1 for shotguns
integerbullet_max_distance
integerbullet_velocityVisuals only
Colorbullet_color

SetCadenceโ€‹

Speed of shots

my_weapon:SetCadence(cadence)
TypeParameterDefaultDescription
floatcadence1 shot at each cadence second

See also GetCadence.


SetClipCapacityโ€‹

Capacity of the Weapon's clip

my_weapon:SetClipCapacity(clip)
TypeParameterDefaultDescription
integerclip

See also GetClipCapacity.


SetDamageโ€‹

Base Weapon's Damage

This will be multiplied by multiplier factors when hitting specific bones

my_weapon:SetDamage(damage)
TypeParameterDefaultDescription
integerdamage

See also GetDamage.


SetHandlingModeโ€‹

Sets how the Character grabs this Weapon

my_weapon:SetHandlingMode(mode)
TypeParameterDefaultDescription
HandlingModemode

See also GetHandlingMode.


SetLeftHandTransformโ€‹

Left Hand Offset

my_weapon:SetLeftHandTransform(location, rotation)
TypeParameterDefaultDescription
Vectorlocation
Rotatorrotation

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?)
TypeParameterDefaultDescription
StaticMesh Referencestatic_mesh_asset_path
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)
TypeParameterDefaultDescription
Particle Referenceparticle_asset_path

SetParticlesBulletTrailโ€‹

Particle of the Bullet flying

my_weapon:SetParticlesBulletTrail(particle_asset_path)
TypeParameterDefaultDescription
Particle Referenceparticle_asset_path

See also GetParticlesBulletTrail.


SetParticlesShellsโ€‹

Particle of the empty bullet flying from the weapon when shooting

my_weapon:SetParticlesShells(particle_asset_path)
TypeParameterDefaultDescription
Particle Referenceparticle_asset_path

See also GetParticlesShells.


SetRecoilโ€‹

Base Weapon's Recoil

my_weapon:SetRecoil(recoil)
TypeParameterDefaultDescription
floatrecoil0 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(offset)
TypeParameterDefaultDescription
Vectoroffset

See also GetRightHandOffset.


SetSightFOVMultiplierโ€‹

The FOV multiplier when ADS

my_weapon:SetSightFOVMultiplier(multiplier)
TypeParameterDefaultDescription
floatmultiplier

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(location, rotation)
TypeParameterDefaultDescription
Vectorlocation
Rotatorrotation

SetSoundAimโ€‹

Sound when Aiming

my_weapon:SetSoundAim(sound_asset_path, volume?, pitch?)
TypeParameterDefaultDescription
Sound Referencesound_asset_path
floatvolume?1
floatpitch?1

See also GetSoundAim.


SetSoundDryโ€‹

Sound when weapon has not bullet and try to shoot

my_weapon:SetSoundDry(sound_asset_path, volume?, pitch?)
TypeParameterDefaultDescription
Sound Referencesound_asset_path
floatvolume?1
floatpitch?1

See also GetSoundDry.


SetSoundFireโ€‹

Sound when Shooting

my_weapon:SetSoundFire(sound_asset_path, volume?, pitch?)
TypeParameterDefaultDescription
Sound Referencesound_asset_path
floatvolume?1
floatpitch?1

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 Referencesound_asset_path
integerremaining_bullets_count?1The amount of remaining bullet to start playing this sound

SetSoundLoadโ€‹

Sound when Loading a magazine

my_weapon:SetSoundLoad(sound_asset_path, volume?, pitch?)
TypeParameterDefaultDescription
Sound Referencesound_asset_path
floatvolume?1
floatpitch?1

See also GetSoundLoad.


SetSoundUnloadโ€‹

Sound when Unloading a magazine

my_weapon:SetSoundUnload(sound_asset_path, volume?, pitch?)
TypeParameterDefaultDescription
Sound Referencesound_asset_path
floatvolume?1
floatpitch?1

See also GetSoundUnload.


SetSoundZoomingโ€‹

Sound when Zooming

my_weapon:SetSoundZooming(sound_asset_path, volume?, pitch?)
TypeParameterDefaultDescription
Sound Referencesound_asset_path
floatvolume?1
floatpitch?1

See also GetSoundZooming.


SetSpreadโ€‹

Base Weapon's Spread

my_weapon:SetSpread(spread)
TypeParameterDefaultDescription
floatspreadthe 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
booleancan_hold_use
booleanhold_release_use

SetWallbangSettingsโ€‹

Sets how the bullet will pass through walls

my_weapon:SetWallbangSettings(max_distance, damage_multiplier)
TypeParameterDefaultDescription
integermax_distanceMax distance to pass through another wall
floatdamage_multiplierDamage given if wallbangged

๐Ÿš€ย Eventsโ€‹

Inherited Entity 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
Base Actorscripting-reference/classes/base-classes/Actor
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 Pickable Events
Base Pickablescripting-reference/classes/base-classes/Pickable
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()
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
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_clip, new_ammo_clip)
-- AmmoBagChange was called
end)
TypeArgumentDescription
Weaponself
integerold_ammo_clip
integernew_ammo_clip

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
Weaponself
integerold_ammo_clip
integernew_ammo_clip

Fireโ€‹

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

Reloadโ€‹

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