[AJUDA]Ant AFK Nгo Funciona
#1

Eae pessoal,blz?

To com um probleminha no meu ant afk ele nгo estб querendo funcionar.
eu fico de esc ele nao printa no console afk

System:
pawn Код:
new Float:Posicoes[MAX_PLAYERS][6],TimerAFK[MAX_PLAYERS],TimerDis[MAX_PLAYERS],SAFK[MAX_PLAYERS];
//onplayerspawn

public OnPlayerSpawn(playerid)
{
    SetPlayerPos(playerid,1887.4683,-2419.4358,13.5391);
    if(TimerDis[playerid] == 0)
    {
    TimerDis[playerid] = 1;
    TimerAFK[playerid] = SetTimerEx("AFK",5000,true,"i",playerid);
    }
    return 1;
}

//public
public AFK(playerid)
{
    GetPlayerPos(playerid,Posicoes[playerid][0],Posicoes[playerid][1],Posicoes[playerid][2]);
    if(Posicoes[playerid][0] == Posicoes[playerid][3] && Posicoes[playerid][1] == Posicoes[playerid][4] && Posicoes[playerid][2] == Posicoes[playerid][5])
    {
    Posicoes[playerid][3] = Posicoes[playerid][0];
    Posicoes[playerid][4] = Posicoes[playerid][1];
    Posicoes[playerid][5] = Posicoes[playerid][2];
    SAFK[playerid]++;
    print("AFK");
    if(SAFK[playerid] == 12)
    {
    pinfo[playerid][pAFK] = 1;
    }
    }
    return 1;
}
Jб tentei de tudo e nao consegui rsrs help me
Reply
#2

Pegue outro e resolva seu problema
Reply
#3

Pegue outro? mais estou criando esse rsrsrs
Reply
#4

pawn Код:
new Float: Posicoes[MAX_PLAYERS][6], TimerAFK[MAX_PLAYERS], TimerDis[MAX_PLAYERS], SAFK[MAX_PLAYERS];
//onplayerspawn
public OnPlayerSpawn(playerid)
{
    SetPlayerPos(playerid, 1887.4683, -2419.4358, 13.5391);
    if (TimerDis[playerid] == 0)
    {
        TimerDis[playerid] = 1;
        TimerAFK[playerid] = SetTimerEx("AFK", 5000, true, "i", playerid);
    }
    return 1;
}

//public
public AFK(playerid)
{
    GetPlayerPos(playerid, Posicoes[playerid][0], Posicoes[playerid][1], Posicoes[playerid][2]);
    if (Posicoes[playerid][0] == Posicoes[playerid][3] && Posicoes[playerid][1] == Posicoes[playerid][4] && Posicoes[playerid][2] == Posicoes[playerid][5])
    {
        Posicoes[playerid][3] = Posicoes[playerid][0];
        Posicoes[playerid][4] = Posicoes[playerid][1];
        Posicoes[playerid][5] = Posicoes[playerid][2];
        SAFK[playerid]++;
        printf("AFK");
        if (SAFK[playerid] == 12)
        {
            pinfo[playerid][pAFK] = 1;
        }
    }
    return 1;
}
tenta ae
Reply
#5

Quote:
Originally Posted by EditPawn
Посмотреть сообщение
pawn Код:
new Float: Posicoes[MAX_PLAYERS][6], TimerAFK[MAX_PLAYERS], TimerDis[MAX_PLAYERS], SAFK[MAX_PLAYERS];
//onplayerspawn
public OnPlayerSpawn(playerid)
{
    SetPlayerPos(playerid, 1887.4683, -2419.4358, 13.5391);
    if (TimerDis[playerid] == 0)
    {
        TimerDis[playerid] = 1;
        TimerAFK[playerid] = SetTimerEx("AFK", 5000, true, "i", playerid);
    }
    return 1;
}

//public
public AFK(playerid)
{
    GetPlayerPos(playerid, Posicoes[playerid][0], Posicoes[playerid][1], Posicoes[playerid][2]);
    if (Posicoes[playerid][0] == Posicoes[playerid][3] && Posicoes[playerid][1] == Posicoes[playerid][4] && Posicoes[playerid][2] == Posicoes[playerid][5])
    {
        Posicoes[playerid][3] = Posicoes[playerid][0];
        Posicoes[playerid][4] = Posicoes[playerid][1];
        Posicoes[playerid][5] = Posicoes[playerid][2];
        SAFK[playerid]++;
        printf("AFK");
        if (SAFK[playerid] == 12)
        {
            pinfo[playerid][pAFK] = 1;
        }
    }
    return 1;
}
tenta ae
nгo deu certo :S
Reply
#6

Quote:
Originally Posted by ReDKiiL
Посмотреть сообщение
nгo deu certo :S
To falando pega um ai .
Reply
#7

Fiz uma gambiarra do carai aqui, mais tente:
pawn Код:
#include a_samp

enum pNumerator
{
    Float:PosX,
    Float:PosY,
    Float:PosZ,
    bool:inAFK,
    getAFK
};

new pAFK[MAX_PLAYERS][pNumerator];


OnPlayerAFK(playerid); public OnPlayerAFK(playerid)
{
    if(pAFK[playerid][inAFK] != true && (pAFK[playerid][PosX] == 0.0 && pAFK[playerid][PosY] == 0.0 && pAFK[playerid][PosZ] == 0.0)){
        GetPlayerPos(playerid, pAFK[playerid][PosX], pAFK[playerid][PosY], pAFK[playerid][PosZ]);
    }else {
        static Float:enAFK[3]; enAFK[0] = '\0';
        GetPlayerPos(playerid, enAFK[0],enAFK[1],enAFK[2]);
           
        if(pAFK[playerid][PosX] == enAFK[0] && pAFK[playerid][PosY] == enAFK[1] && pAFK[playerid][PosZ] == enAFK[2])
        {
            if(pAFK[playerid][getAFK] == 3)
            {
                //
                // CASO O PLAYER ESTIVER AFK. COLOQUE AS FUNЗФES AQUI!!!!
                //
                   
            }
            pAFK[playerid][getAFK]++;
        }
    }
    SetTimerEx("OnPlayerAFK", 5000, false, "i", playerid);
    return true;
}
***Ps: Coloque no OnPlayerSpawn:
pawn Код:
OnPlayerAFK(playerid);
Reply
#8

Nem deu mano garfield
Reply
#9

Fiz isso dai. Deve funcionar.
pawn Код:
#include <a_samp>
#define tempoafk 60000*3 // 3 minutinhos


new mes[128];
new afk[MAX_PLAYERS];
new ultmomen[MAX_PLAYERS];
new Float:posveia[MAX_PLAYERS][3];
new nome[MAX_PLAYER_NAME];

public OnPlayerConnect(playerid)
{
  afk[playerid] = SetTimerEx("AFKCheck",1000,true,"i",playerid); // para cada player.
  ultmomen[playerid]=GetTickCount();
  return 1;
}
public OnPlayerDisconnect(playerid)
{
 KillTimer(afk[playerid]); // mata o kill, para nгo dar lag.
}
public OnPlayerKeyStateChange(playerid,newkeys,oldkeys) // isso daqui, geta a cada key pressionada, e comeзa um tick, se ele nгo pressionar nada por 3 mins vai executar lб enbaixo !
{
  ultmomen[playerid]=GetTickCount();
  return 1;
}

public OnPlayerUpdate(playerid)
{
  GetPlayerPos(playerid,posveia[playerid][0],posveia[playerid][1],posveia[playerid][2]); // geta a posiзгo
  if(IsPlayerInRangeOfPoint(playerid,1.0,posveia[playerid][0],posveia[playerid][1],posveia[playerid][2]))ultmomen[playerid]=GetTickCount(); // A cada 1 segundo irб ser checado 4 vezes.
  return 1;
}
forward AFKCheck(playerid);
public AFKCheck(playerid)
{
  if(GetTickCount()-ultmomen[playerid]>tempoafk) // caso o tempo for maior que 3 minutos, vai executar a funзгo abaixo
  {
    GetPlayerName(playerid, nome, sizeof(nome));
    format(mes,sizeof(mes),"O jogador %s foi kickado por estar afk nos ultimos 3 minutos",nome);
    SendClientMessageToAll(-1,mes);
    Kick(playerid);
  }
}
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)