Jump to content

Anti-AFK Problem


Recommended Posts

I have problem with anti-afk script. Anti-afk dont kill when player is afk.

mtascreen20120605145200.png

client.lua

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(isElementFrozen ( 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 <= 5) then 
                triggerServerEvent ( "afkWarn", player, 1, afkCounter) 
                afkCounter = afkCounter+1 
                triggerServerEvent ( "afkSlap", player) 
                stopWarn() 
            elseif (afkCounter > 5) 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 = 1 
    else 
    end 
end 
addEventHandler("onClientPlayerWasted",getLocalPlayer(),deathReset) 
  
function resetKBA() 
    killedByAfk = 0 
end 
  
function findPlayerByName (name) 
    local player = getPlayerFromName(name) 
    if player then return player end 
    for i, player in ipairs(getElementsByType("player")) do 
        if string.find(string.gsub(getPlayerName(player):lower(),"#%x%x%x%x%x%x", ""), name:lower(), 1, true) then 
            return player 
        end 
    end 
return false 
end 
  
addEventHandler("onClientResourceStart",getResourceRootElement(getThisResource()), 
function () 
    setTimer(callServerFunction,200,1,"setElementDataOnStart",getLocalPlayer()) 
end) 
  
  
  
  
  

Help :cry:

Link to comment

And where is the server side? Anyways, define afkCounter.

  
    local afkCounter = 0 
    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(isElementFrozen ( 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 <= 5) then 
                    triggerServerEvent ( "afkWarn", player, 1, afkCounter) 
                    afkCounter = afkCounter+1 
                    triggerServerEvent ( "afkSlap", player) 
                    stopWarn() 
                elseif (afkCounter > 5) 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 = 1 
        else 
        end 
    end 
    addEventHandler("onClientPlayerWasted",getLocalPlayer(),deathReset) 
      
    function resetKBA() 
        killedByAfk = 0 
    end 
      
    function findPlayerByName (name) 
        local player = getPlayerFromName(name) 
        if player then return player end 
        for i, player in ipairs(getElementsByType("player")) do 
            if string.find(string.gsub(getPlayerName(player):lower(),"#%x%x%x%x%x%x", ""), name:lower(), 1, true) then 
                return player 
            end 
        end 
    return false 
    end 
      
    addEventHandler("onClientResourceStart",getResourceRootElement(getThisResource()), 
    function () 
        setTimer(callServerFunction,200,1,"setElementDataOnStart",getLocalPlayer()) 
    end) 
      
  

Link to comment
And where is the server side? Anyways, define afkCounter.
  
    local afkCounter = 0 
    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(isElementFrozen ( 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 <= 5) then 
                    triggerServerEvent ( "afkWarn", player, 1, afkCounter) 
                    afkCounter = afkCounter+1 
                    triggerServerEvent ( "afkSlap", player) 
                    stopWarn() 
                elseif (afkCounter > 5) 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 = 1 
        else 
        end 
    end 
    addEventHandler("onClientPlayerWasted",getLocalPlayer(),deathReset) 
      
    function resetKBA() 
        killedByAfk = 0 
    end 
      
    function findPlayerByName (name) 
        local player = getPlayerFromName(name) 
        if player then return player end 
        for i, player in ipairs(getElementsByType("player")) do 
            if string.find(string.gsub(getPlayerName(player):lower(),"#%x%x%x%x%x%x", ""), name:lower(), 1, true) then 
                return player 
            end 
        end 
    return false 
    end 
      
    addEventHandler("onClientResourceStart",getResourceRootElement(getThisResource()), 
    function () 
        setTimer(callServerFunction,200,1,"setElementDataOnStart",getLocalPlayer()) 
    end) 
      
  

server side :

local raceState = "" 
local enableMessages = true 
local messageColor = "#FF5555" 
  
function afkMsg(mtype,afkCount) 
    if(mtype == 1) then 
        outputChatBox("#0000ff* #FFFFFF".. getPlayerName(source).. "#0000ff has been killed by the #FFFFFFAFK killer#0000ff #0000ff[#ABCDEF"..afkCount.."/5#0000ff]",getRootElement(),255,255,255,true) 
    elseif(mtype == 2) then 
        outputChatBox("#0000ff* #FFFFFF".. getPlayerName(source).. "#0000ff has been kicked for staying #FFFFFFAFK#0000ff for 5 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) 
  
  
  

Link to comment

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...