• 1 Vote(s) - 1 Average
  • 1
  • 2
  • 3
  • 4
  • 5
[Filterscript] Simple AFK system
#3
Code:
// Use SetPVarInt and GetPVarInt it gives possibility for user to use AFK information also inside gamemode itself.

// Currently your filterscript funcinality is useless, because it's basic command, what can be written by everyone, who knows something about variables and strings.

// But its great idea to implement something new and useful for others



#include <a_samp>



static PlayerAFKCounter[MAX_PLAYERS],

    bool:PlayerIsAFK[MAX_PLAYERS];



public OnFilterScriptInit(){

    SetTimer("CheckPlayerAFKStatus", 1000, true);

    return 1;

}



public OnPlayerConnect(playerid){

    PlayerIsAFK[playerid] = false;

    SetPVarInt(playerid, "isPlayerAFK", 0);

    return 1;

}



public OnPlayerUpdate(playerid){

    PlayerAFKCounter[playerid] = 0;

    // Called, when player returns from AFK

    if(PlayerIsAFK[playerid]){

        PlayerIsAFK[playerid] = false;

        SetPVarInt(playerid, "isPlayerAFK", 0);

    }

    return 1;

}



forward CheckPlayerAFKStatus();

public CheckPlayerAFKStatus(){

    for(new i; i < MAX_PLAYERS; i){

        if(!IsPlayerConnected(i))continue;



        // Explanation

        // This timer is called in every second and when player isn't AFK, then OnPlayerUpdate will reset this counter

        // But if player is AFK OnPlayerUpdate doesn't reset counter and player is setted into AFK status.

        PlayerAFKCounter[i] = 1;

        if(PlayerAFKCounter[i] >= 5){

            // Called, when player enters AFK status

            if(!PlayerIsAFK[playerid]){

                PlayerIsAFK[playerid] = true;

                SetPVarInt(playerid, "isPlayerAFK", 1);

            }

        }

    }

    return 1;

}
  Reply


Messages In This Thread
Simple AFK system - by Flofey - 2021-10-08, 06:56 PM
RE: Simple AFK system - by Galardo420 - 2021-10-09, 09:22 PM
RE: Simple AFK system - by offr0ad - 2021-10-14, 10:57 PM

Forum Jump: