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