onPlayerWeaponSwitch
Client-side
 Server-side
 Shared
 This event is triggered whenever a player's equipped weapon slot changes. This means giveWeapon and takeWeapon will trigger this event if the equipped slot is forced to change.
Parameters
int previousWeaponID, int currentWeaponID- previousWeaponID: An integer representing the weapon that was switched from.
- currentWeaponID: An integer representing the weapon that was switched to.
Source
element: The source of this event is the player that switched his weapon.
Canceling
If this event is canceled, then the player's weapon won't be switched.
Code Examples
 server   
 This example allows you to disable shoot ability for certain weapons, it should be noted that it will be more efficient if done on client-side.
local weaponsToBlock = {  [38] = true, -- minigun}
function onPlayerWeaponSwitch(previousWeaponID, currentWeaponID)  local blockFire = (not weaponsToBlock[currentWeaponID]) -- reverse bool, true/worthy will give us false, and false/unworthy will give us true
  toggleControl(source, "fire", blockFire) -- toggle player control to fire weaponendaddEventHandler("onPlayerWeaponSwitch", root, onPlayerWeaponSwitch)See Also
Player Events
- onClientPlayerChangeNick
- onClientPlayerChoke
- onClientPlayerDamage
- onClientPlayerJoin
- onClientPlayerHitByWaterCannon
- onClientPlayerHeliKilled
- onClientPlayerPickupLeave
- onClientPlayerPickupHit
- onClientPlayerQuit
- onClientPlayerRadioSwitch
- onClientPlayerSpawn
- onClientPlayerStealthKill
- onClientPlayerStuntFinish
- onClientPlayerStuntStart
- onClientPlayerTarget
- onClientPlayerVoicePause
- onClientPlayerVehicleEnter
- onClientPlayerVehicleExit
- onClientPlayerVoiceStart
- onClientPlayerVoiceResumed
- onClientPlayerVoiceStop
- onClientPlayerWasted
- onClientPlayerWeaponFire
- onClientPlayerWeaponSwitch
- onPlayerACInfo
- onPlayerChangesProtectedData
- onPlayerChangeNick
- onPlayerBan
- onPlayerChangesWorldSpecialProperty
- onPlayerChat
- onPlayerClick
- onPlayerCommand
- onPlayerConnect
- onPlayerDamage
- onPlayerDiscordJoin
- onPlayerDetonateSatchels
- onPlayerJoin
- onPlayerLogin
- onPlayerLogout
- onPlayerMarkerHit
- onPlayerContact
- onPlayerModInfo
- onPlayerMarkerLeave
- onPlayerMute
- onPlayerNetworkStatus
- onPlayerPickupLeave
- onPlayerPickupHit
- onPlayerProjectileCreation
- onPlayerQuit
- onPlayerPrivateMessage
- onPlayerPickupUse
- onPlayerSpawn
- onPlayerStealthKill
- onPlayerTarget
- onPlayerTeamChange
- onPlayerTeleport
- onPlayerScreenShot
- onPlayerTriggerEventThreshold
- onPlayerTriggerInvalidEvent
- onPlayerUnmute
- onPlayerVehicleEnter
- onPlayerVoiceStart
- onPlayerVehicleExit
- onPlayerVoiceStop
- onPlayerWasted
- onPlayerWeaponFire
- onPlayerWeaponReload
- onPlayerWeaponSwitch
Player Functions
- countPlayersInTeam
- forcePlayerMap
- getControlState
- getPlayerBlurLevel
- getPlayerFromName
- getPlayerName
- getPlayerMoney
- getPlayerNametagColor
- getPlayerPing
- getPlayerNametagText
- getPlayerScriptDebugLevel
- getPlayerSerial
- getPlayerTeam
- getPlayerWantedLevel
- getPlayersInTeam
- givePlayerMoney
- isPlayerMapForced
- isPlayerNametagShowing
- isVoiceEnabled
- setControlState
- setPlayerBlurLevel
- setPlayerHudComponentVisible
- setPlayerMoney
- setPlayerNametagColor
- setPlayerNametagShowing
- setPlayerNametagText
- takePlayerMoney
- getLocalPlayer
- getPlayerHudComponentProperty
- getPlayerMapBoundingBox
- getPlayerMapOpacity
- isPlayerCrosshairVisible
- isPlayerMapVisible
- isPlayerHudComponentVisible
- resetBlurLevel
- resetPlayerHudComponentProperty
- setPlayerHudComponentProperty
- getAlivePlayers
- getDeadPlayers
- getPlayerACInfo
- getPlayerAnnounceValue
- getPlayerCount
- getPlayerIP
- getPlayerIdleTime
- getPlayerVersion
- getRandomPlayer
- isPlayerMuted
- redirectPlayer
- resendPlayerACInfo
- resendPlayerModInfo
- setPlayerAnnounceValue
- setPlayerMuted
- setPlayerName
- setPlayerScriptDebugLevel
- setPlayerTeam
- setPlayerVoiceBroadcastTo
- setPlayerWantedLevel
- setPlayerVoiceIgnoreFrom
- spawnPlayer
- takePlayerScreenShot
 
 