←  Pytania dotyczące pluginów

AMXX.pl: Support AMX Mod X i SourceMod

»

Plugin "m_afk_guard" zle odlicza a...

  • +
  • -
Ravenek's Photo Ravenek 03.12.2014

Witam.

Chodzi o to ze ten plugin jest bardzo dobry i prosty, taki jaki powinien byc ale jedna rzecz jest w nim zle.

 

Wyrzuca na spect / kick po X sekundach i tak powinno byc.

Tylko ze ten plugin liczy te np. 30 sekund od nowa co kazda runde, przyklad:

- jestem afk

- po 30s ma mnie wrzucic na spect

- minelo 15 sekund i ktos mnie zabil

- nowa runda

- minelo 15 sekund i nadal liczy do 30

 

Moje pytanie jest takie, czy umialby ktos go tak przerobic zeby dzialal tak jak np.afkkicker ze:

- jestem afk

- po 30 s ma mnei wyrzucic na spect

- minelo 15 sekund i ktos mnie zabil

- nowa runda

- minelo 15 sekund i zostalem przezucony na spect

 

Leci + za pomoc.

SMA w zalaczniku.

Attached Files


Edited by Ravenek, 03.12.2014 11:53.
Quote

^Szeregowy^'s Photo ^Szeregowy^ 03.12.2014

Łap nie testowałem 

 

 

    #include <amxmodx>
    #include <amxmisc>
    #include <engine>
    #include <cstrike>
     
    #define PLUGIN "m_afk_guard"
    #define VERSION "0.1"
    #define AUTHOR "Miczu"
     
    new Float: p_time[33]
    new Float: angle[33]
     
    public plugin_init() {
    register_plugin(PLUGIN, VERSION, AUTHOR)
    register_cvar("m_afk_kontrol_mode","2") //0 - off
    //1 - afk time -> kick
    //2 - afk time -> spec ->afk time 2 ->kick
    register_cvar("m_afk_kontrol_time","30")
    register_cvar("m_afk_kontrol_time2","255")
    register_think("Afk_Guard","g_think")
    make_guard()
    }
     
    public make_guard()
    {
    new ent = create_entity("info_target")
    entity_set_string(ent, EV_SZ_classname,"Afk_Guard")
    entity_set_float(ent,EV_FL_nextthink,halflife_time() + 1.0)
    }
     
    public client_PreThink(id)
    {
    if(get_user_button(id)!=get_user_oldbutton(id)) p_time[id]=get_gametime()
    }
     
    public g_think(ent)
    {
    if(get_cvar_num("m_afk_kontrol_mode"))
    {
    new players[32],num
    new time1 = get_cvar_num("m_afk_kontrol_time")
    new time2 = get_cvar_num("m_afk_kontrol_time2")
    new mode = get_cvar_num("m_afk_kontrol_mode")
    get_players(players,num)
    for(new i=0;i<num;i++)
    {
    if(!is_user_connected(players[i]) || is_user_bot(players[i]) || is_user_hltv(players[i])) continue
    new Float:a[3]
    entity_get_vector(players[i],EV_VEC_angles,a)
    if(a[0]!=angle[players[i]]) p_time[players[i]] = get_gametime()
    angle[players[i]] = a[0]
    if((p_time[players[i]]+time1)<get_gametime())
    {
    if(mode==1) remove_him(players[i])
    else
    {
    if(cs_get_user_team(players[i])!= CS_TEAM_SPECTATOR)
    {
    if(is_user_alive(players[i])) user_silentkill(players[i])
    cs_set_user_team(players[i],CS_TEAM_SPECTATOR)
    }
    else if((p_time[players[i]]+time1+time2)<get_gametime())
    {
    remove_him(players[i])
    }
    }
    }
    }
    entity_set_float(ent,EV_FL_nextthink,get_gametime() + 1.0)
    }
    else entity_set_float(ent,EV_FL_nextthink,halflife_time() + 10.0)
    }
     
    public remove_him(id)
    {
    server_cmd("kick #%d ^"Zostalesz wyzucony za AFK!^"", get_user_userid(id))
    }
     
    public client_putinserver(id)
    {
    p_time[id] = get_gametime()
    }
 
Quote

  • +
  • -
Ravenek's Photo Ravenek 03.12.2014

W ogole nie dziala.

Quote

  • +
  • -
Ravenek's Photo Ravenek 03.12.2014

Mam inny plugin.

proszę zamknac temat.

Quote