onPlayerModInfo
Client-side
 Server-side
 Shared
 This event is triggered when a player has modified certain files.
       Note      
 Any resource using this event should call resendPlayerModInfo for each player in onResourceStart .
Parameters
string filename, table itemlist- filename: a string with the filename of the modified file.
- itemlist: a table with the details of each modification within the file. Possible keys for each sub-table are: id: GTA model or texture id. name: GTA name. sizeX, sizeY, sizeZ: the modified model size (if the item is a DFF). originalSizeX, originalSizeY, originalSizeZ: the unmodified model size (if the item is a DFF). length: length in bytes of the item. md5: md5 of the item bytes. sha256: sha256 of the item bytes. paddedLength: length in bytes of the item padded to 2048 byte boundary. paddedMd5: md5 of the item bytes padded to 2048 byte boundary. paddedSha256: sha256 of the item bytes padded to 2048 byte boundary.
Source
element: The source of this event is the player.
Code Examples
 server   
 This example prints all modification information into the chatbox.
function handleOnPlayerModInfo ( filename, modList )    -- Print player name and file name    outputChatBox( getPlayerName(source) .. " " .. filename )
    -- Print details on each modification    for idx,item in ipairs(modList) do        outputChatBox( idx .. ") id:" .. item.id .. " name:" .. item.name )        if item.sizeX then            outputChatBox( "size:" .. item.sizeX .. "," .. item.sizeY .. "," .. item.sizeZ )            outputChatBox( "originalSize:" .. item.originalSizeX .. "," .. item.originalSizeY .. "," .. item.originalSizeZ )        end        if item.length then            outputChatBox( "length:" .. item.length .. " md5:" .. item.md5 )        end    endend
addEventHandler ( "onPlayerModInfo", getRootElement(), handleOnPlayerModInfo )
-- Ensure no one gets missed when the resource is (re)startedaddEventHandler( "onResourceStart", resourceRoot,    function()        for _,plr in ipairs( getElementsByType("player") ) do            resendPlayerModInfo( plr )        end    end)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
 
 