Page 1 of 1

afkkick

Posted: 2011 Apr 15 15:49
by aurimasko

Code: Select all

 #define CHECK_FREQ 5    new const g_TextAfkTag[] = "[AFK]"; register_cvar("mp_afk_time_hud", "15")set_task(float(CHECK_FREQ),"checkPlayers",_,_,_,"b")  public checkPlayers() {    for (new i = 1; i <= get_maxplayers(); i++)     {        if (is_user_alive(i) && is_user_connected(i) && !is_user_bot(i) && !is_user_hltv(i) && g_spawned[i])         {            new newangle[3]            get_user_origin(i, newangle)             if ( newangle[0] == g_oldangles[i][0] && newangle[1] == g_oldangles[i][1] && newangle[2] == g_oldangles[i][2] )             {                g_afktime[i] += CHECK_FREQ                check_afktime(i)                if(!task_exists(i))                    set_task(10.0, "uzdeti", i)            } else {                g_oldangles[i][0] = newangle[0]                g_oldangles[i][1] = newangle[1]                g_oldangles[i][2] = newangle[2]                g_afktime[i] = 0                new name[32]; get_user_name(i, name, 31)                deletei(name, g_TextAfkTag)                remove_task(i)            }        }    }    return PLUGIN_HANDLED} public uzdeti(i){    new id = i     if (g_afktime[id] >= get_cvar_num("mp_afk_time_hud"))    {        new name_p[32]        get_user_name(id, name_p, 31)         format(name_p, 31, "%s%s", g_TextAfkTag, name_p)        set_user_name(id, name_p)    }}  public client_disconnect(id){    new name[32]    get_user_name(id, name, 31)    deletei(name, g_TextAfkTag)}  
Kodėl man [AFK] ženkliuką prie nicko prideda kas 10 sekundžių jeigu esu AFK? Turėtų pridėti po 10 sekundžių vieną kartą ir daugiau niekada nebepridėti. Be to kodėl kai vėl pajudu man jo nenuima? Nuimimo kodas :

Code: Select all

 deletei(text[], const what[]){    new pos = containi(text, what)    new len, i;    while(pos >= 0)    {        len = strlen(what)        i = 0;        while(text[pos+len+i] != 0)        {            text[pos+i] = text[pos+len+i]            i++        }        text[pos+i] = '^0'        pos = containi(text, what)    }} 

Re: afkkick

Posted: 2011 Apr 15 17:00
by newb
Nes daug klaidu ^^

Re: afkkick

Posted: 2011 Apr 15 17:15
by aurimasko
newb wrote:Nes daug klaidu ^^
Kokių? :D

Re: afkkick

Posted: 2011 Apr 16 09:04
by newb
Nu pradekim nuo to, kad cia nera tikrinimo kuris nedetu daug [AFK].

Re: afkkick

Posted: 2011 Apr 17 17:29
by aurimasko
gerai dabar jau uždeda tik vieną kartą, o kaip dėl nuemimo?

Re: afkkick

Posted: 2011 Apr 17 17:53
by aaarnas
Simple:

Code: Select all

new name[50]get_user_name(id, name, charsmax(name))if(containi(name, "[AFK]") != -1) {        replace(name, charsmax(name), "[ARK]", "")    set_user_info(id, "name", name)}