GetPlayerACInfo: Difference between revisions

From Multi Theft Auto: Wiki
Jump to navigation Jump to search
mNo edit summary
No edit summary
Line 19: Line 19:
*'''d3d9MD5:''' A string containing the MD5 of any custom d3d9.dll the player may have installed.
*'''d3d9MD5:''' A string containing the MD5 of any custom d3d9.dll the player may have installed.
*'''d3d9Size:''' A number representing the file size of any custom d3d9.dll the player may have installed.
*'''d3d9Size:''' A number representing the file size of any custom d3d9.dll the player may have installed.
==Example==
This untested example checks getPlayerACInfo every 3 seconds for new datum
<syntaxhighlight lang="lua">
lastDetectedACList = {}
addEventHandler( "onPlayerJoin", root,
    function()
        lastDetectedACList[source] = ""
    end
)
addEventHandler( "onPlayerQuit", root,
    function()
        lastDetectedACList[source] = nil
    end
)
function checkPlayersACInfo()
    for plr,lastAC in pairs( lastDetectedACList ) do
        local info = getPlayerACInfo(plr)
        if info.DetectedAC ~= lastAC then
            lastDetectedACList[plr] = info.DetectedAC
            outputServerLog( "AC-INFO: "
                .. " Player:" .. tostring(getPlayerName(plr))
                .. " DetectedAC:" .. tostring(info.DetectedAC)
                .. " d3d9MD5:" .. tostring(info.d3d9MD5)
                .. " d3d9Size:" .. tostring(info.d3d9Size)
                )
        end
    end
end
setTimer( checkPlayersACInfo, 3000, 0 )
</syntaxhighlight>


==Requirements==
==Requirements==

Revision as of 03:12, 1 February 2014

Accessories-text-editor.png Script Example Missing Function GetPlayerACInfo needs a script example, help out by writing one.

Before submitting check out Editing Guidelines Script Examples.


This function returns anti-cheat info for a player. It can be used to script a white/blacklist of custom d3d9.dll files, or a white/blacklist of players with certain anti-cheat codes. The relevant anti-cheat code has to be disabled (or not enabled) in the server mtaserver.conf to be of use here.

[[{{{image}}}|link=|]] Note: The info returned by this function can change over time, so it should be called every few seconds rather than just when the player joins.

Syntax

table getPlayerACInfo( element thePlayer )

Required Arguments

  • thePlayer: The player whose anti-cheat info you want to check.

Returns

Returns a table with the following entries:

  • DetectedAC: A string containing a comma separated list of anti-cheat codes the player has triggered.
  • d3d9MD5: A string containing the MD5 of any custom d3d9.dll the player may have installed.
  • d3d9Size: A number representing the file size of any custom d3d9.dll the player may have installed.

Example

This untested example checks getPlayerACInfo every 3 seconds for new datum

lastDetectedACList = {}

addEventHandler( "onPlayerJoin", root,
    function()
        lastDetectedACList[source] = ""
    end
)

addEventHandler( "onPlayerQuit", root,
    function()
        lastDetectedACList[source] = nil
    end
)

function checkPlayersACInfo()
    for plr,lastAC in pairs( lastDetectedACList ) do
        local info = getPlayerACInfo(plr)
        if info.DetectedAC ~= lastAC then
            lastDetectedACList[plr] = info.DetectedAC
            outputServerLog( "AC-INFO: "
                .. " Player:" .. tostring(getPlayerName(plr))
                .. " DetectedAC:" .. tostring(info.DetectedAC)
                .. " d3d9MD5:" .. tostring(info.d3d9MD5)
                .. " d3d9Size:" .. tostring(info.d3d9Size)
                )
        end
    end
end
setTimer( checkPlayersACInfo, 3000, 0 )

Requirements

Minimum server version 1.3.3
Minimum client version n/a

Note: Using this feature requires the resource to have the above minimum version declared in the meta.xml <min_mta_version> section. e.g. <min_mta_version server="1.3.3" />

Example

See Also

Shared