onPlayerTriggerInvalidEvent
Client-side
Server-side
Shared
It works for both non-added and non-remote events.
Parameters
string eventName, bool isAdded, bool isRemote
- eventName: An string representing event name.
- isAdded: An bool representing whether called event is added.
- isRemote: An bool representing whether called event is remote.
Source
element: The source of this event is the player who triggered invalid event.
Code Examples
server
This example allows you to kick/ban player which triggered invalid event.
local invalidEventCheckPunishment = true -- should player be punished upon detection (make sure that resource which runs this code has admin rights)local eventCheckPunishmentBan = true -- only relevant if invalidEventCheckPunishment is set to true; use true for ban or false for kicklocal eventCheckPunishmentReason = "Triggered invalid event" -- only relevant if invalidEventCheckPunishment is set to true; reason which would be shown to punished playerlocal eventCheckPunishedBy = "Console" -- only relevant if invalidEventCheckPunishment is set to true; who was responsible for punishing, as well shown to punished playerlocal eventCheckBanByIP = false -- only relevant if invalidEventCheckPunishment and eventCheckPunishmentBan is set to true; banning by IP nowadays is not recommended (...)local eventCheckBanByUsername = false -- community username - legacy thing, hence is set to false and should stay like thatlocal eventCheckBanBySerial = true -- only relevant if invalidEventCheckPunishment and eventCheckPunishmentBan is set to true; (...) if there is a player serial to use insteadlocal eventCheckBanTime = 0 -- only relevant if invalidEventCheckPunishment and eventCheckPunishmentBan is set to true; time in seconds, 0 for permanentlocal eventCheckDebugMessageLevel = 4 -- this debug level allows to hide INFO: prefix, and use custom colorslocal eventCheckDebugMessageRed = 255 -- debug message - red colorlocal eventCheckDebugMessageGreen = 127 -- debug message - green colorlocal eventCheckDebugMessageBlue = 0 -- debug message - blue color
function onPlayerTriggerInvalidEvent(eventName, isAdded, isRemote) local playerName = getPlayerName(source) local eventAdded = isAdded and "yes" or "no" local eventRemote = isRemote and "yes" or "no" local eventActionTaken = (not invalidEventCheckPunishment and "none") or (eventCheckPunishmentBan and "ban" or "kick") local eventLogText = "[Events]: "..playerName.." triggered invalid event '"..eventName.."' (event added: "..eventAdded..", event remote: "..eventRemote..", action taken: "..eventActionTaken..")"
outputDebugString(eventLogText, eventCheckDebugMessageLevel, eventCheckDebugMessageRed, eventCheckDebugMessageGreen, eventCheckDebugMessageBlue)
if (not invalidEventCheckPunishment) then return false end
if (eventCheckPunishmentBan) then banPlayer(source, eventCheckBanByIP, eventCheckBanByUsername, eventCheckBanBySerial, eventCheckPunishedBy, eventCheckPunishmentReason, eventCheckBanTime) else kickPlayer(source, eventCheckPunishedBy, eventCheckPunishmentReason) endendaddEventHandler("onPlayerTriggerInvalidEvent", root, onPlayerTriggerInvalidEvent)
See Also
Player Events
- onClientPlayerChangeNick
- onClientPlayerChoke
- onClientPlayerDamage
- onClientPlayerHeliKilled
- onClientPlayerHitByWaterCannon
- onClientPlayerJoin
- onClientPlayerPickupLeave
- onClientPlayerPickupHit
- onClientPlayerRadioSwitch
- onClientPlayerQuit
- onClientPlayerStealthKill
- onClientPlayerSpawn
- onClientPlayerStuntFinish
- onClientPlayerStuntStart
- onClientPlayerVehicleEnter
- onClientPlayerTarget
- onClientPlayerVehicleExit
- onClientPlayerVoicePause
- onClientPlayerVoiceResumed
- onClientPlayerVoiceStart
- onClientPlayerVoiceStop
- onClientPlayerWasted
- onClientPlayerWeaponFire
- onClientPlayerWeaponSwitch
- onPlayerACInfo
- onPlayerBan
- onPlayerChangeNick
- onPlayerChangesProtectedData
- onPlayerChangesWorldSpecialProperty
- onPlayerClick
- onPlayerCommand
- onPlayerChat
- onPlayerConnect
- onPlayerContact
- onPlayerDetonateSatchels
- onPlayerDiscordJoin
- onPlayerDamage
- onPlayerJoin
- onPlayerLogin
- onPlayerLogout
- onPlayerMarkerHit
- onPlayerMarkerLeave
- onPlayerModInfo
- onPlayerMute
- onPlayerNetworkStatus
- onPlayerPickupHit
- onPlayerPickupLeave
- onPlayerPickupUse
- onPlayerPrivateMessage
- onPlayerProjectileCreation
- onPlayerQuit
- onPlayerScreenShot
- onPlayerSpawn
- onPlayerStealthKill
- onPlayerTarget
- onPlayerTeamChange
- onPlayerTeleport
- onPlayerTriggerEventThreshold
- onPlayerTriggerInvalidEvent
- onPlayerUnmute
- onPlayerVehicleEnter
- onPlayerVehicleExit
- onPlayerVoiceStart
- onPlayerVoiceStop
- onPlayerWasted
- onPlayerWeaponFire
- onPlayerWeaponReload
- onPlayerWeaponSwitch
Player Functions
- countPlayersInTeam
- forcePlayerMap
- getControlState
- getPlayerBlurLevel
- getPlayerFromName
- getPlayerMoney
- getPlayerName
- getPlayerNametagColor
- getPlayerNametagText
- getPlayerPing
- getPlayerScriptDebugLevel
- getPlayerSerial
- getPlayerTeam
- getPlayerWantedLevel
- getPlayersInTeam
- givePlayerMoney
- isPlayerMapForced
- isPlayerNametagShowing
- isVoiceEnabled
- setControlState
- setPlayerBlurLevel
- setPlayerHudComponentVisible
- setPlayerMoney
- setPlayerNametagColor
- setPlayerNametagShowing
- setPlayerNametagText
- takePlayerMoney
- getLocalPlayer
- getPlayerHudComponentProperty
- getPlayerMapBoundingBox
- getPlayerMapOpacity
- isPlayerCrosshairVisible
- isPlayerHudComponentVisible
- isPlayerMapVisible
- resetBlurLevel
- resetPlayerHudComponentProperty
- setPlayerHudComponentProperty
- getAlivePlayers
- getDeadPlayers
- getPlayerAnnounceValue
- getPlayerACInfo
- getPlayerCount
- getPlayerIP
- getPlayerIdleTime
- getPlayerVersion
- getRandomPlayer
- isPlayerMuted
- redirectPlayer
- resendPlayerModInfo
- resendPlayerACInfo
- setPlayerAnnounceValue
- setPlayerMuted
- setPlayerName
- setPlayerScriptDebugLevel
- setPlayerTeam
- setPlayerVoiceBroadcastTo
- setPlayerWantedLevel
- setPlayerVoiceIgnoreFrom
- spawnPlayer
- takePlayerScreenShot