Hello, i have a anti-afk script with counting and kicking after 5 rounds but it not works. Could u help me and maybe fix it?
--server
local raceState = ""
local enableMessages = true
local messageColor = "#FF5555"
function afkMsg(mtype,afkCount)
if(mtype == 1) then
outputChatBox("#FF6600* #FFFFFF".. getPlayerName(source).. "#FF6600 has been killed by the #FFFFFFAFK killer#FF6600 #FF6600[#ABCDEF"..afkCount.."/3#FF6600]",getRootElement(),255,255,255,true)
elseif(mtype == 2) then
outputChatBox("#FF6600* #FFFFFF".. getPlayerName(source).. "#FF6600 has been kicked for staying #FFFFFFAFK#FF6600 for 3 rounds!",getRootElement(),255,255,255,true)
end
end
addEvent( "afkWarn", true )
addEventHandler( "afkWarn", getRootElement(), afkMsg)
function afkKill()
local thePlayer = source
callClientFunction(thePlayer,"setKBA",thePlayer)
setElementHealth(source, 0)
end
addEvent( "afkSlap", true )
addEventHandler( "afkSlap", getRootElement(), afkKill)
function changeRaceState(newStateName)
raceState = newStateName
end
addEvent("onRaceStateChanging", true)
addEventHandler( "onRaceStateChanging", getRootElement(), changeRaceState)
function afkKick(player)
kickPlayer(player,"AFK")
end
addEvent( "afkKick", true)
addEventHandler( "afkKick", getRootElement(), afkKick)
function clientLoaded()
local msgenable = get( "msgenable" )
local msgcol = get( "msgcolor" )
if(msgenable) then
if(msgenable == "true") then
enableMessages = true
else
enableMessages = false
end
if(msgcol) then
messageColor = msgcol
end
end
local maxtime = get( "maxafktime" )
local wtime = get( "warnTime" )
triggerClientEvent ( "onSettingsReady", getRootElement(), maxtime, wtime)
end
addEvent("onClientLoaded", true)
addEventHandler( "onClientLoaded", getRootElement(), clientLoaded)
--client
-------------
-- AFK killer
-------------
local MaxAFKtime = 30
local warnTime = 20
local v = 0
local AFKtime = 0
local sx,sy = guiGetScreenSize()
local wEvent = false
function rWarn()
dxDrawImage( sx/2 - 300, sy/2 - 100, 600, 200, "img/warn.png")
dxDrawText("You will be killed in "..tostring(tCount).." seconds",sx/2 - 255, sy/2 + 45,sx,sy,tocolor(255,186,0,255),1.01,"bankgothic")
end
function stopWarn()
if(wEvent) then
removeEventHandler("onClientRender", getRootElement(), rWarn)
wEvent = false
end
end
function imgHandler()
stopWarn()
end
addEventHandler("onClientPlayerWasted",getLocalPlayer(),imgHandler)
function checkMain()
if isPedInVehicle ( getLocalPlayer() ) then
aTimeAdd()
end
end
function aTimeAdd()
AFKtime = AFKtime + 1
local isFinished = getElementData ( getLocalPlayer(), "dead")
if(isVehicleFrozen ( getPedOccupiedVehicle ( getLocalPlayer() )) and isFinished == false) then
aTimeClear()
end
local isNew = getElementData (getLocalPlayer(), "state")
if isNew == "waiting" or isNew == "dead" then
aTimeClear()
end
if(getPedOccupiedVehicle ( getLocalPlayer() ) ~= false) then
local player = getLocalPlayer()
if(AFKtime >= MaxAFKtime) then
if (afkCounter > 1) then
triggerServerEvent ( "afkWarn", player, 1, afkCounter)
afkCounter = afkCounter+1
triggerServerEvent ( "afkSlap", player)
stopWarn()
elseif (afkCounter > 2) then
triggerServerEvent ( "afkWarn", player, 1, afkCounter)
triggerServerEvent ( "afkWarn", player, 2)
afkCounter = 1
triggerServerEvent ( "afkKick", player , player)
end
elseif(AFKtime >= warnTime) then
tCount = tCount - 1
if(not wEvent) then
addEventHandler("onClientRender", getRootElement(), rWarn)
wEvent = true
end
end
end
end
setTimer ( checkMain, 1000, -1)
function aTimeClear()
AFKtime = 0
tCount = 11
stopWarn()
end
bindKey("accelerate","down",aTimeClear)
bindKey("vehicle_left","down",aTimeClear)
bindKey("vehicle_right","down",aTimeClear)
bindKey("brake_reverse","down",aTimeClear)
function onClientLoaded(res)
triggerServerEvent("onClientLoaded",getLocalPlayer())
end
addEventHandler("onClientResourceStart",getResourceRootElement(getThisResource()),onClientLoaded)
function loadSettings(maxtime, wtime )
MaxAFKtime = tonumber(maxtime)
warnTime = tonumber(wtime)
end
addEvent( "onSettingsReady", true )
addEventHandler( "onSettingsReady", getRootElement(), loadSettings )
function setKBA(thePlayer)
killedByAfk = 1
end
function getKBA(thePlayer)
if killedByAfk == 0 then
thePlayer = getLocalPlayer()
callServerFunction("earnMoney", thePlayer)
end
end
function deathReset()
if killedByAfk == 0 then
afkCounter = 0
else
end
end
addEventHandler("onClientPlayerWasted",getLocalPlayer(),deathReset)
function resetKBA()
killedByAfk = 0
end
Thanks in advance.