GetPlayerACInfo: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
m (→See Also) |
||
(10 intermediate revisions by 4 users not shown) | |||
Line 1: | Line 1: | ||
{{Server function}} | {{Server function}} | ||
__NOTOC__ | __NOTOC__ | ||
{{ | {{Deprecated|onPlayerACInfo}} | ||
This function returns anti-cheat info for a player | |||
This function returns anti-cheat info for a player. The info returned by this function can change over time, so use the server event [[onPlayerACInfo]] instead. | |||
==Syntax== | ==Syntax== | ||
<syntaxhighlight lang="lua"> | <syntaxhighlight lang="lua"> | ||
table getPlayerACInfo( element thePlayer ) | table getPlayerACInfo( element thePlayer ) | ||
</syntaxhighlight> | </syntaxhighlight> | ||
{{OOP||[[player]]:getACInfo|ACInfo|}} | |||
===Required Arguments=== | ===Required Arguments=== | ||
*'''thePlayer:''' The [[player]] whose anti-cheat info you want to check. | *'''thePlayer:''' The [[player]] whose anti-cheat info you want to check. | ||
Line 16: | Line 15: | ||
Returns a table with the following entries: | Returns a table with the following entries: | ||
* '''DetectedAC:''' A string containing a comma separated list of [[Anti-cheat_guide|anti-cheat]] codes the player has triggered. | * '''DetectedAC:''' A string containing a comma separated list of [[Anti-cheat_guide|anti-cheat]] codes the player has triggered. | ||
*'''d3d9Size:''' A number representing the file size 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. | *'''d3d9MD5:''' A string containing the MD5 of any custom d3d9.dll the player may have installed. | ||
*''' | *'''d3d9SHA256:''' A string containing the SHA256 of any custom d3d9.dll the player may have installed. | ||
<!-- | |||
==Example== | |||
This example checks getPlayerACInfo for changes every 3 seconds | |||
<syntaxhighlight lang="lua"> | |||
lastDetectedACList = {} | |||
addEventHandler( "onResourceStart", resourceRoot, | |||
function() | |||
for _,plr in ipairs( getElementsByType("player") ) do | |||
lastDetectedACList[plr] = "" | |||
end | |||
end | |||
) | |||
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> | |||
==Example== | ==Example== | ||
This example allows player serial exceptions for SD #14 (virtual machines) | |||
<syntaxhighlight lang="lua"> | <syntaxhighlight lang="lua"> | ||
-- List of serials which are allowed to use virtual machines | |||
allowVM = { ["0123456789012345601234567890123456"] = true, | |||
["A123637892167367281632896790123456"] = true, | |||
["E123456789012347839207878392123456"] = true } | |||
function checkPlayersACInfo() | |||
for _,plr in ipairs( getElementsByType("player") ) do | |||
local ACInfo = getPlayerACInfo(plr) | |||
if string.find( ACInfo.DetectedAC, "14" ) then | |||
local serial = getPlayerSerial(plr) | |||
if not allowVM[serial] then | |||
kickPlayer( plr, "This server does not allow virtual machines." ) | |||
end | |||
end | |||
end | |||
end | |||
setTimer( checkPlayersACInfo, 3000, 0 ) | |||
</syntaxhighlight> | </syntaxhighlight> | ||
--> | |||
==Requirements== | |||
{{Requirements|1.3.3|n/a|}} | |||
==See Also== | ==See Also== | ||
{{ | {{Player functions|server}} |
Revision as of 22:40, 6 September 2024
This function is deprecated. This means that its use is discouraged and that it might not exist in future versions. | |
Please use onPlayerACInfo instead. |
This function returns anti-cheat info for a player. The info returned by this function can change over time, so use the server event onPlayerACInfo instead.
Syntax
table getPlayerACInfo( element thePlayer )
OOP Syntax Help! I don't understand this!
- Method: player:getACInfo(...)
- Variable: .ACInfo
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.
- d3d9Size: A number representing the file size 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.
- d3d9SHA256: A string containing the SHA256 of any custom d3d9.dll the player may have installed.
Requirements
This template will be deleted.
See Also
- getAlivePlayers
- getDeadPlayers
- getPlayerACInfo
- getPlayerAnnounceValue
- getPlayerCount
- getPlayerIdleTime
- getPlayerIP
- getPlayerVersion
- getRandomPlayer
- isPlayerMuted
- redirectPlayer
- resendPlayerACInfo
- resendPlayerModInfo
- setPlayerAnnounceValue
- setPlayerMuted
- setPlayerScriptDebugLevel
- setPlayerTeam
- setPlayerVoiceBroadcastTo
- setPlayerVoiceIgnoreFrom
- setPlayerWantedLevel
- spawnPlayer
- takePlayerScreenShot
- Shared
- getPlayerTeam
- getPlayerBlurLevel
- setPlayerBlurLevel
- getPlayerSerial
- forcePlayerMap
- getPlayerScriptDebugLevel
- getPlayerFromName
- getPlayerMoney
- getPlayerName
- getPlayerNametagColor
- getPlayerNametagText
- getPlayerPing
- getPlayerWantedLevel
- givePlayerMoney
- isPlayerMapForced
- isPlayerNametagShowing
- setPlayerHudComponentVisible
- setPlayerMoney
- setPlayerNametagColor
- setPlayerNametagShowing
- setPlayerNametagText
- takePlayerMoney
- countPlayersInTeam
- getPlayersInTeam
- isVoiceEnabled
- setControlState
- getControlState