1. taulalan Пользователь

    Регистрация:
    27.02.15
    Сообщения:
    68
    Симпатии:
    14
    Skype:
    taulalan
    Нужна помощь Anti reconnect.
    Ставил на сервер Anti reconnect от kzesc [ antireconnect.sma ], всё нормально работает, но глюки начинаются со счетом. Бывает только зайдешь и счет 12-2.
    Ставил Anti reconnect от Boss вообще не работает, как будто его и нет.
    Может кто скинет рабочий антиреконнект.
    Спасибо.
     

    Вложения:

  2. ex3m777 Пользователь

    Регистрация:
    27.02.15
    Сообщения:
    761
    Симпатии:
    334
    Пол:
    Мужской
    VKcom:
    ex3m777
    Skype:
    ex3m777
    этот работает 100%


    PHP:
    #include <amxmodx>
    #include <fakemeta>

    const m_iNumSpawns 365;
    const 
    m_iNumSpawns_linuxdiff 5;

    public 
    client_putinserver(nClientIndex) {
       
    set_pdata_int(nClientIndexm_iNumSpawns1m_iNumSpawns_linuxdiff);
    }
     
  3. taulalan Пользователь

    Регистрация:
    27.02.15
    Сообщения:
    68
    Симпатии:
    14
    Skype:
    taulalan
    ex3m777, тоже самое. раз 5 в начале раунда зашел.
     
  4. BaJIepbI4 Пользователь

    Регистрация:
    12.05.15
    Сообщения:
    1.071
    Симпатии:
    211
    Пол:
    Мужской
    Skype:
    BaJIepbI4_sky
    Код:
    `/* AMX Mod X
    *   Anti Reconnect Plugin 3.0
    *  
    *   Версии антиреконнекта:
        3.0 - два режима работы: отсчёт времени после попытки зайти или отсчёт времени после использования команды reconnect
            задаётся командой amx_reconnect_static <0|1> 0 - каждый раз заного отсчитывать время, запрещающее заходить.
            1 - отсчитывать время только после выхода с сервера
            amx_reconnect_stime - кол-во секунд, на протяжении которых сохраняется счёт для пользователя по ip юзера.
           - перед киком проверка производится так же на ip пользователя... если зашёдший имеет другой ip - он не кикается.
          2.0 - исправлен баг с уведомлением о том, что надо подождать, прежде чем войти на сервер
             - добавлена команда amx_reconnect_ss <1|0> - запоминать счёт игрока или нет (работает при amx_reconnect_can 1)
          1.01 - кикает всех, кто заходит раньше установленного времени после того как вышел (т.е. использует реконнект)
               - поддерживаемые команды:
                 amx_reconnect_can <1|0> - можно или нет реконнектиться
                 amx_reconnect_time <sec> - время в секундах, которое нужно ждать после ухода с сервера, чтобы сного на него зайти
    
    */
    
    #include <amxmodx>
    #include <cstrike>
    #include <fun>
    
    new PLUGIN[]="Anti reconnect"
    new AUTHOR[]="JohnJ"
    new VERSION[]="3.0"
    
    new RTIME[]="amx_reconnect_time"
    new RCAN[]="amx_reconnect_can"
    new SCORESAVE[]="amx_reconnect_ss"
    new RSTATIC[]="amx_reconnect_static"
    new RSTIME[]="amx_reconnect_stime"
    
    new t_disconnect[33] = {0, ...}
    new t_scoresave[33] = {0, ...}
    new ips[33][24]
    new sfrags[33] = {0, ...}
    new sdeaths[33] = {0, ...}
    new useretry[33] = {0, ...}
    
    public plugin_init()
    {
        register_plugin(PLUGIN, VERSION, AUTHOR)
        register_cvar(RTIME, "7")
        register_cvar(RCAN, "1")
        register_cvar(SCORESAVE, "1")
        register_cvar(RSTATIC, "1")
        register_cvar(RSTIME, "7")
        register_event("TeamInfo","outspec","a")     // восстанавливает счёт игроку в соответствии с настройками как только тот зайдёт за команду
    }
    
    public client_connect(id)
    {
        new maxexit = get_cvar_num(RTIME)
        new maxstata = get_cvar_num(RSTIME)
        new canreconnect = get_cvar_num(RCAN)
        new ssave = get_cvar_num(SCORESAVE)
        new ip[24]
        get_user_ip(id,ip,23,0)
    
        if ((maxexit>0) && (canreconnect==0) && (equali(ip,ips[id])))
        {
            new Float:nexTime = get_gametime()
           
            if (t_disconnect[id] > nexTime)
            {
            new stat = get_cvar_num(RSTATIC)
            new timewait
            if (stat==0)
            {
             t_disconnect[id] = floatround(nexTime) + maxexit
             t_scoresave[id] = floatround(nexTime) + maxstata
             timewait=maxexit
            }
            else
            {
             timewait=t_disconnect[id]-floatround(nexTime)
            }
            server_cmd("kick #%d ^"Анти реконнект. Ждите %d секунд.^"", get_user_userid(id), timewait)
            return PLUGIN_CONTINUE
            }
        }
        if (ssave==1)
        {
            new Float:nexTime = get_gametime()
    
            if (t_scoresave[id] <= nexTime)
            {
            sdeaths[id]=0
            sfrags[id]=0
            useretry[id]=0
            }
            return PLUGIN_CONTINUE
        }
    
        return PLUGIN_CONTINUE
    }
    
    public outspec()
    {
     new id=read_data(1)
     if ((useretry[id]==1) && (is_user_connected(id)))
     {
      cs_set_user_deaths(id,sdeaths[id])
      set_user_frags(id,sfrags[id])
      useretry[id]=0
      sdeaths[id]=0
      sfrags[id]=0
     }
     return PLUGIN_CONTINUE
    }
    
    public client_disconnect(id)
    {
        new maxexit = get_cvar_num(RTIME)
        new maxstata = get_cvar_num(RSTIME)
        new ssave = get_cvar_num(SCORESAVE)
    
        new Float:theTime = get_gametime()
        t_disconnect[id] = floatround(theTime) + maxexit
        t_scoresave[id] = floatround(theTime) + maxstata
        get_user_ip(id,ips[id],23,0)
       
        if (ssave==1)
        {
        sdeaths[id] = get_user_deaths(id)
        sfrags[id] = get_user_frags(id)
        useretry[id]=1
        }
        return PLUGIN_CONTINUE
    }
    
     
  5. Andrey777 Пользователь

    Регистрация:
    30.03.15
    Сообщения:
    262
    Симпатии:
    36
    Пол:
    Мужской
    Skype:
    Andrey777best
    taulalan, Смысл реконекта это чтобы игрок не возрадился, используй этот плагин...
    /**
    * Modified by Safety1st
    *
    * Last update:
    * 4/30/14
    *
    * Changes are:
    * - nothing that should be mentioned
    */

    #include < amxmodx >
    #include < fakemeta >

    new const PLUGIN_NAME[ ] = "Block Spawn For Reconnect"
    new const PLUGIN_VERSION[ ] = "0.1"
    new const PLUGIN_AUTHOR[ ] = "Bos93"

    const m_iSpawnCount = 365

    new Trie:g_pSteam
    new gszSteam[32]

    public plugin_init() {
    register_plugin( PLUGIN_NAME, PLUGIN_VERSION, PLUGIN_AUTHOR )

    register_event( "HLTV", "EventRoundStart", "a", "1=0", "2=0" )

    g_pSteam = TrieCreate()
    }

    public client_disconnect( pPlayer ) {
    get_user_authid( pPlayer, gszSteam, charsmax( gszSteam ) )

    TrieSetCell( g_pSteam, gszSteam, 1 )
    }

    public client_putinserver( pPlayer ) {
    get_user_authid( pPlayer, gszSteam, charsmax( gszSteam ) )

    if( TrieKeyExists( g_pSteam, gszSteam ) )
    set_pdata_int( pPlayer, m_iSpawnCount, 1 )
    }

    public EventRoundStart() {
    TrieClear( g_pSteam )
    }

    public plugin_end() {
    TrieDestroy( g_pSteam )
    }
     
  6. taulalan Пользователь

    Регистрация:
    27.02.15
    Сообщения:
    68
    Симпатии:
    14
    Skype:
    taulalan
    Andrey777, стоял этот плагин, толку 0.
    Может его куда то выше или ниже прописывать.
     
  7. Andrey777 Пользователь

    Регистрация:
    30.03.15
    Сообщения:
    262
    Симпатии:
    36
    Пол:
    Мужской
    Skype:
    Andrey777best
    taulalan, Странно у меня стоит в середине где то, перезаходят, но не возраждаются...
     
  8. BaJIepbI4 Пользователь

    Регистрация:
    12.05.15
    Сообщения:
    1.071
    Симпатии:
    211
    Пол:
    Мужской
    Skype:
    BaJIepbI4_sky
    А тот, что я дал не подошел?
     
  9. taulalan Пользователь

    Регистрация:
    27.02.15
    Сообщения:
    68
    Симпатии:
    14
    Skype:
    taulalan
    BaJIepbI4, поставил. смотрю пока.