Не компилируется плагин no_reconnect_2.11

Статус
В этой теме нельзя размещать новые ответы.
Сообщения
13
Реакции
2
Предупреждения
5
Ошибка
Скрин с ошибкой
Компилятор
Локальный
Amx Mod X
1.9.0
Исходный код
/* AMX Mod X script. 
*
* No reconnect
* (c) Copyright 2002, SYZo
* This file is provided as is (no warranties).
*
* amx_minreconnecttime 20 (in seconds)
*
* *******************************************************************************
*
* Ported By KingPin( [email protected] ). I take no responsibility
* for this file in any way. Use at your own risk. No warranties of any kind.
*
* *******************************************************************************
* Updated Feb 14 2006
*
*/

#include <amxmodx>
#include <engine>
#define MAX_PLAYERS 32

#define PLUGIN "No reconnect"
#define VERSION "2.11"
#define AUTHOR "SYZo"

new pip[MAX_PLAYERS][22]
new Float:minreconnecttime

public delayed_kick(user[]) {
server_cmd("kick #%d",user[0])
}

public clean_blackip(ind[]) {
pip[ind[0]][0] = 0
}

public client_connect(id) {
if (!is_user_bot(id)) {
minreconnecttime = get_cvar_float("amx_minreconnecttime")
new userip[21+1]
new uname[33+1]
get_user_ip(id, userip, 21, 0)
get_user_name(id, uname, 33)
for(new i = 1; i <= MAX_PLAYERS; i++) {
if (equal(userip, pip[i], 21)) {
new userid[1]
userid[0] = get_user_userid(id)
new authid[32]
get_user_authid(id,authid,32)
log_amx("^"%s<%s><%d><%s><>^"", uname, userip, get_user_userid(id), authid)
if (!(get_user_flags(id)&ADMIN_IMMUNITY)) {
new text[128]
format(text, 128, "Player %s kicked after usage reconnect command", uname)
set_hudmessage(255, 0, 0, 0.05, 0.70, 0, 5.0, 6.0, 6.0, 0.15, 3)
show_hudmessage(0,"%s",text)
client_cmd(id,"echo [AMXX] You used command RECONNECT within %f, please reconnect after %f sec", minreconnecttime)
set_task(1.0,"delayed_kick",0,userid,1)
}
return PLUGIN_CONTINUE
}
}
}
return PLUGIN_CONTINUE
}

public client_disconnect(id) {
if (!is_user_bot(id)) {
for(new i = 1; i <= MAX_PLAYERS; i++) {
if(pip[i][0] == 0) {
new userip[21+1]
get_user_ip(id, userip, 21, 0)
copy(pip[i], 21, userip)
new userid[1]
userid[0] = i
set_task(minreconnecttime, "clean_blackip", 0, userid[0], 1)
return PLUGIN_CONTINUE
}
}
}
return PLUGIN_CONTINUE
}

public plugin_init() {
register_plugin(PLUGIN, VERSION, AUTHOR)
register_cvar("amx_minreconnecttime","20")
return PLUGIN_CONTINUE
}
Не компилится плагин на 1.9.0. Необходимо, чтобы после отключения/подключения игрок не мог заспавниться.
 

Вложения

Сообщения
3,593
Реакции
1,576
Помог
141 раз(а)
Это не ошибки, а предупреждения, в данном случае могут быть проигнорированы.

Но приложу исправленный вариант.
Код:
/* AMX Mod X script.
*
* No reconnect
* (c) Copyright 2002, SYZo
* This file is provided as is (no warranties).
*
* amx_minreconnecttime 20 (in seconds)
*
*  *******************************************************************************
*   
*    Ported By KingPin( [email protected] ). I take no responsibility
*    for this file in any way. Use at your own risk. No warranties of any kind.
*
*  *******************************************************************************
*   Updated Feb 14 2006
*
*/

#include <amxmodx>
#include <engine>
#define MAX_PLAYERS 32

#define PLUGIN "No reconnect"
#define VERSION "2.11"
#define AUTHOR "SYZo"

new pip[MAX_PLAYERS][22]
new Float:minreconnecttime

public delayed_kick(user[]) {
    server_cmd("kick #%d",user[0])
}

public clean_blackip(ind[]) {
    pip[ind[0]][0] = 0
}

public client_connect(id) {
    if (!is_user_bot(id)) {
    minreconnecttime = get_cvar_float("amx_minreconnecttime")
    new userip[21+1]
    new uname[33+1]
    get_user_ip(id, userip, 21, 0)
    get_user_name(id, uname, 33)
    for(new i = 1; i <= MAX_PLAYERS; i++) {
        if (equal(userip, pip[i], 21)) {
        new userid[1]
        userid[0] = get_user_userid(id)
        new authid[32]
        get_user_authid(id,authid,32)
        log_amx("^"%s<%s><%d><%s><>^"", uname, userip, get_user_userid(id), authid)
        if (!(get_user_flags(id)&ADMIN_IMMUNITY)) {
            new text[128]
            format(text, 128, "Player %s kicked after usage reconnect command", uname)
            set_hudmessage(255, 0, 0, 0.05, 0.70, 0, 5.0, 6.0, 6.0, 0.15, 3)
            show_hudmessage(0,"%s",text)
            client_cmd(id,"echo [AMXX] You used command RECONNECT within %f, please reconnect after %f sec", minreconnecttime)
            set_task(1.0,"delayed_kick",0,userid,1)
        }
        return PLUGIN_CONTINUE
        }
    }
    }
    return PLUGIN_CONTINUE
}

public client_disconnected(id) {
    if (!is_user_bot(id)) {
    for(new i = 1; i <= MAX_PLAYERS; i++) {
        if(pip[i][0] == 0) {
        new userip[21+1]
        get_user_ip(id, userip, 21, 0)
        copy(pip[i], 21, userip)
        new userid[1]
        userid[0] = i
        set_task(minreconnecttime, "clean_blackip", 0, userid[0], 1)
        return PLUGIN_CONTINUE
        }
    }
    }
    return PLUGIN_CONTINUE
}

public plugin_init() {
    register_plugin(PLUGIN, VERSION, AUTHOR)
    register_cvar("amx_minreconnecttime","20")
    return PLUGIN_CONTINUE
}
 
Сообщения
3,049
Реакции
1,739
Помог
80 раз(а)
techno, бесполезный плагин древних времён, почему бы не заюзать квар из регейма?
 
Сообщения
13
Реакции
2
Предупреждения
5
Алексеич, На него не реагирует. Выставляю любое значение (мин. устанавливал 3 сек.), но при отключении от сервера и подключении к нему (не юзая команду reconnect) игрок все равно спавнится. Может есть плагин, который запретит спавнится в текущем раунде любому подключившемуся игроку. Или готов приобрести такой.
 
Последнее редактирование:

fgd

Сообщения
92
Реакции
25
Помог
12 раз(а)
Сообщения
3,049
Реакции
1,739
Помог
80 раз(а)
techno, вангую: ты меняешь значение в конфиге, меняешь карту и значение квара не меняется.
чтобы значение поменялось, нужно сервер перезагрузить или ввести значение квара в консоль сервера.
 
Сообщения
13
Реакции
2
Предупреждения
5
Алексеич, проверяю командой в консоль mp_roundrespawn_time, значение соответствует заданному в game.cfg. Причина, из-за которой не работала функция mp_roundrespawn_time - это плагин FirstPlayersRespawn rbs. Предположительно, функция fpr_time "30" в конфиге плагина считалась приоритетнее, по отношению к функции mp_roundrespawn_time в game.cfg, тем самым разрешала при подключении спавнится в середине раунда. Может просто конфликт возникал. Всем спасибо.
 
Статус
В этой теме нельзя размещать новые ответы.

Пользователи, просматривающие эту тему

Сейчас на форуме нет ни одного пользователя.
Сверху Снизу