база rechecker под бан через amx

bro

Пользователь
Регистрация
10 Июн 2017
Сообщения
35
Симпатии
1
Пол
Мужской
скинь скомплектованный rc_basechanger а то у меня выдает ошибку
//AMXXPC compile.exe
// by the AMX Mod X Dev Team


//// rc_basechanger.sma
// F:\¦¦++¦L¦¦-\¦T\Compiler amxmodx 1.8.3\rc_basechanger.sma(15) : error 017: undefined symbol "hash_file"
// F:\¦¦++¦L¦¦-\¦T\Compiler amxmodx 1.8.3\rc_basechanger.sma(15) : warning 215: expression has no effect
// F:\¦¦++¦L¦¦-\¦T\Compiler amxmodx 1.8.3\rc_basechanger.sma(15) : warning 215: expression has no effect
// F:\¦¦++¦L¦¦-\¦T\Compiler amxmodx 1.8.3\rc_basechanger.sma(15) : error 001: expected token: ";", but found ")"
// F:\¦¦++¦L¦¦-\¦T\Compiler amxmodx 1.8.3\rc_basechanger.sma(15) : error 029: invalid expression, assumed zero
// F:\¦¦++¦L¦¦-\¦T\Compiler amxmodx 1.8.3\rc_basechanger.sma(15) : fatal error 107: too many error messages on one line
//
// Compilation aborted.
// 4 Errors.
// Could not locate output file compiled\rc_basechanger.amx (compile failed).
//
// Compilation Time: 0,12 sec
// ----------------------------------------

Press enter to exit ...
как и у меня (
 

pheel

Заблокированные
Пользователь
Регистрация
9 Июн 2017
Сообщения
195
Симпатии
92
Пол
Мужской
Да, действительно, синтаксис немного отличается. Забыл про 1.8.2
Попробуйте заменить:
Код:
hash_file(g_File, Hash_Md5, prec_buff, charsmax(prec_buff))
hash_file(glfile_path, Hash_Md5, glfile_buff, charsmax(glfile_buff))
на
Код:
md5_file(g_File, prec_buff)
md5_file(glfile_path, glfile_buff)
 
Последнее редактирование:

DashaKarma

Пользователь
Регистрация
8 Июн 2017
Сообщения
73
Симпатии
21
Пол
Женский
pheel, csrulez.cfg есть в сборках от мониторинга masterserver... кто им пользуется - все игроки с него будут в бане)
 
  • Мне нравится
Симпатии: pheel

pheel

Заблокированные
Пользователь
Регистрация
9 Июн 2017
Сообщения
195
Симпатии
92
Пол
Мужской
DashaKarma, спасибо за информацию!
 

bro

Пользователь
Регистрация
10 Июн 2017
Сообщения
35
Симпатии
1
Пол
Мужской
Код:
new glfile[32], glfile_path[64], prec_buff[34], glfile_buff[34];
    new gldir = open_dir(g_Path, glfile, charsmax(glfile)), maxarr = 0;
    
    md5_file(g_File, prec_buff);
    g_Files = ArrayCreate(32);
    
    do
    {
        if(strlen(glfile) > 3)
        {
            formatex(glfile_path, charsmax(glfile_path), "%s/%s", g_Path,glfile);
            md5_file(glfile_path, glfile_buff);
            
            if(equal(prec_buff, glfile_buff))
                copy(g_PrecFile, charsmax(g_PrecFile), glfile);
            
            ArrayPushString(g_Files, glfile); maxarr += 1;
        }
Так не получается
 

Izmayl7

Пользователь
Регистрация
9 Июн 2017
Сообщения
530
Симпатии
105
Пол
Мужской
Код:
new glfile[32], glfile_path[64], prec_buff[34], glfile_buff[34];
    new gldir = open_dir(g_Path, glfile, charsmax(glfile)), maxarr = 0;
 
    md5_file(g_File, prec_buff);
    g_Files = ArrayCreate(32);
 
    do
    {
        if(strlen(glfile) > 3)
        {
            formatex(glfile_path, charsmax(glfile_path), "%s/%s", g_Path,glfile);
            md5_file(glfile_path, glfile_buff);
    
            if(equal(prec_buff, glfile_buff))
                copy(g_PrecFile, charsmax(g_PrecFile), glfile);
    
            ArrayPushString(g_Files, glfile); maxarr += 1;
        }
Так не получается
что не получается? скомпилировать или что? кодировка правильная стоит у тебя (в utf-8 без бом?!) или нет?!
[doublepost=1502367552][/doublepost]
DashaKarma, спасибо за информацию!
Да, действительно, синтаксис немного отличается. Забыл про 1.8.2
Попробуйте заменить:
Код:
Код:
hash_file(g_File, Hash_Md5, prec_buff, charsmax(prec_buff))
hash_file(glfile_path, Hash_Md5, glfile_buff, charsmax(glfile_buff))
на
Код:
Код:
md5_file(g_File, prec_buff)
md5_file(glfile_path, glfile_buff)
Изменнёный
Код:
#include amxmodx

new g_File[32] = "addons/rechecker/resources.ini";
new g_Path[24] = "addons/rechecker/bases";
new g_PrecFile[32];
new Array:g_Files;

public plugin_precache()
{
    register_plugin("RC BaseChanger", "freesrv", "custom");
 
    new glfile[32], glfile_path[64], prec_buff[34], glfile_buff[34];
    new gldir = open_dir(g_Path, glfile, charsmax(glfile)), maxarr = 0;
 
    md5_file(g_File, prec_buff);
    g_Files = ArrayCreate(32);
 
    do
    {
        if(strlen(glfile) > 3)
        {
            formatex(glfile_path, charsmax(glfile_path), "%s/%s", g_Path,glfile);
            md5_file(glfile_path, glfile_buff);
      
            if(equal(prec_buff, glfile_buff))
                copy(g_PrecFile, charsmax(g_PrecFile), glfile);
      
            ArrayPushString(g_Files, glfile); maxarr += 1;
        }
 
    }
 
    while(next_file(gldir, glfile, charsmax(glfile)));
    close_dir(gldir);
 
    new listfile[128];
    format(listfile, charsmax(listfile), "addons/rechecker/baselist.txt");
 
    if(!file_exists(listfile))
    {
        write_file(listfile, g_PrecFile, 0);
        write_file(listfile, "0", 1);
    }
 
    new i, chk, lstfile[36], chkfile[36], arrfile[32], maxlst, len;

    for(i = 0 ; i < maxarr ; i++)
    {
        ArrayGetString(g_Files, i, arrfile, charsmax(arrfile));
        formatex(chkfile, charsmax(chkfile), "@%s", arrfile);
        chk = 0;
  
        new j; maxlst = file_size(listfile, 1);
        for(j = 2; j < maxlst - 1; j++)
        {
            read_file(listfile, j, lstfile, charsmax(lstfile), len);
            if (strfind(lstfile, chkfile) != -1)    chk += 1;
        }
  
        if(chk == 0)
        {
            format(chkfile, charsmax(chkfile), "0%s", chkfile);
            write_file(listfile, chkfile, -1);
        }
    }
 
    new nextfile[32], setfile[32], pos;
    read_file(listfile, 0, nextfile, charsmax(nextfile), len);
    read_file(listfile, 1, setfile, charsmax(setfile), len);
 
    if(strlen(setfile) < 2)
    {
        if(maxlst > 3)
        {
            i = 0;
            for(i = 0; i < maxarr; i++)
            {
                ArrayGetString(g_Files, i, chkfile, charsmax(chkfile));
                if(strfind(nextfile, chkfile) != -1)
                {
                    if (i == maxarr-1)    pos = 0;
                    else                pos = i + 1;
                }
            }
            ArrayGetString(g_Files, pos, nextfile, charsmax(nextfile));
            log_amx("^tПроверка ведется по базе ^"%s^"", nextfile);
        }
        else    copy(nextfile, charsmax(nextfile), g_PrecFile);
  
        formatex(glfile_path, charsmax(glfile_path), "%s/%s", g_Path,nextfile);
        write_file(listfile, nextfile, 0);
    }
    else    formatex(glfile_path, charsmax(glfile_path), "%s/%s", g_Path,setfile);
 
    ArrayDestroy(g_Files);
    file_copy(glfile_path, g_File);
    pause("ad");
}

stock bool:file_copy(SOURCE[], TARGET[])
{
    new source = fopen(SOURCE, "rb");
    new target = fopen(TARGET, "wb");
 
    for(new buffer, eof = feof(source); !eof; !eof && fputc(target, buffer))
    {
        buffer = fgetc(source);
        eof = feof(source);
    }
 
    fclose(source);
    fclose(target);
 
    return true;
}
Держи под 1.8.2 ниже - уже скомпилированный)
 

Вложения

Последнее редактирование:

bro

Пользователь
Регистрация
10 Июн 2017
Сообщения
35
Симпатии
1
Пол
Мужской
что не получается? скомпилировать или что? кодировка правильная стоит у тебя (в utf-8 без бом?!) или нет?!
[doublepost=1502367552][/doublepost]
Да, действительно, синтаксис немного отличается. Забыл про 1.8.2
Попробуйте заменить:
Код:
Код:
hash_file(g_File, Hash_Md5, prec_buff, charsmax(prec_buff))
hash_file(glfile_path, Hash_Md5, glfile_buff, charsmax(glfile_buff))
на
Код:
Код:
md5_file(g_File, prec_buff)
md5_file(glfile_path, glfile_buff)
Изменнёный
Код:
#include amxmodx

new g_File[32] = "addons/rechecker/resources.ini";
new g_Path[24] = "addons/rechecker/bases";
new g_PrecFile[32];
new Array:g_Files;

public plugin_precache()
{
    register_plugin("RC BaseChanger", "freesrv", "custom");
 
    new glfile[32], glfile_path[64], prec_buff[34], glfile_buff[34];
    new gldir = open_dir(g_Path, glfile, charsmax(glfile)), maxarr = 0;
 
    md5_file(g_File, prec_buff);
    g_Files = ArrayCreate(32);
 
    do
    {
        if(strlen(glfile) > 3)
        {
            formatex(glfile_path, charsmax(glfile_path), "%s/%s", g_Path,glfile);
            md5_file(glfile_path, glfile_buff);
     
            if(equal(prec_buff, glfile_buff))
                copy(g_PrecFile, charsmax(g_PrecFile), glfile);
     
            ArrayPushString(g_Files, glfile); maxarr += 1;
        }
 
    }
 
    while(next_file(gldir, glfile, charsmax(glfile)));
    close_dir(gldir);
 
    new listfile[128];
    format(listfile, charsmax(listfile), "addons/rechecker/baselist.txt");
 
    if(!file_exists(listfile))
    {
        write_file(listfile, g_PrecFile, 0);
        write_file(listfile, "0", 1);
    }
 
    new i, chk, lstfile[36], chkfile[36], arrfile[32], maxlst, len;

    for(i = 0 ; i < maxarr ; i++)
    {
        ArrayGetString(g_Files, i, arrfile, charsmax(arrfile));
        formatex(chkfile, charsmax(chkfile), "@%s", arrfile);
        chk = 0;
 
        new j; maxlst = file_size(listfile, 1);
        for(j = 2; j < maxlst - 1; j++)
        {
            read_file(listfile, j, lstfile, charsmax(lstfile), len);
            if (strfind(lstfile, chkfile) != -1)    chk += 1;
        }
 
        if(chk == 0)
        {
            format(chkfile, charsmax(chkfile), "0%s", chkfile);
            write_file(listfile, chkfile, -1);
        }
    }
 
    new nextfile[32], setfile[32], pos;
    read_file(listfile, 0, nextfile, charsmax(nextfile), len);
    read_file(listfile, 1, setfile, charsmax(setfile), len);
 
    if(strlen(setfile) < 2)
    {
        if(maxlst > 3)
        {
            i = 0;
            for(i = 0; i < maxarr; i++)
            {
                ArrayGetString(g_Files, i, chkfile, charsmax(chkfile));
                if(strfind(nextfile, chkfile) != -1)
                {
                    if (i == maxarr-1)    pos = 0;
                    else                pos = i + 1;
                }
            }
            ArrayGetString(g_Files, pos, nextfile, charsmax(nextfile));
            log_amx("^tПроверка ведется по базе ^"%s^"", nextfile);
        }
        else    copy(nextfile, charsmax(nextfile), g_PrecFile);
 
        formatex(glfile_path, charsmax(glfile_path), "%s/%s", g_Path,nextfile);
        write_file(listfile, nextfile, 0);
    }
    else    formatex(glfile_path, charsmax(glfile_path), "%s/%s", g_Path,setfile);
 
    ArrayDestroy(g_Files);
    file_copy(glfile_path, g_File);
    pause("ad");
}

stock bool:file_copy(SOURCE[], TARGET[])
{
    new source = fopen(SOURCE, "rb");
    new target = fopen(TARGET, "wb");
 
    for(new buffer, eof = feof(source); !eof; !eof && fputc(target, buffer))
    {
        buffer = fgetc(source);
        eof = feof(source);
    }
 
    fclose(source);
    fclose(target);
 
    return true;
}
Держи под 1.8.2 ниже - уже скомпилированный)
спасибо!!!!
 

Izmayl7

Пользователь
Регистрация
9 Июн 2017
Сообщения
530
Симпатии
105
Пол
Мужской
нет(
дебаг прописал,инфы нет никакой
всмысле нет? ты по инструкции всё сделал или нет?
1) Из папки addons, далее папка rechecker из архива, скопировать папку bases и конфиг resources.ini и закинуть это всё на свой сервер по-такому пути addons\rechecker
2) Скомпилировать и поместить в папку plugins плагины rc_basechanger и rc_logging
3) Прописать скомпилированные плагины в plugins.ini
что в консоли пишет? пропиши в консоли на хостинге amx_plugins и посмотри подключены они у тебя или нет)) и кодировку файлов resources.ini проверь, она должна быть в utf-8 без бом))
 
  • Мне нравится
Симпатии: bro

Sant1

Пользователь
Регистрация
30 Июн 2017
Сообщения
26
Симпатии
2
Пол
Мужской
если я не хочу ставить rc_logging , а просто подключу rc_basechanger все нормально будет?? без лога
 

pheel

Заблокированные
Пользователь
Регистрация
9 Июн 2017
Сообщения
195
Симпатии
92
Пол
Мужской
Sant1, да, просто команда логирования будет вхолостую отрабатывать. Ничего страшного.
 

pheel

Заблокированные
Пользователь
Регистрация
9 Июн 2017
Сообщения
195
Симпатии
92
Пол
Мужской
Убрал пару лишних проверок, поправил плагин автозамены для возможности компиляции под амх 1.8.2 и 1.8.3
 

Вложения

Izmayl7

Пользователь
Регистрация
9 Июн 2017
Сообщения
530
Симпатии
105
Пол
Мужской
Убрал пару лишних проверок, поправил плагин автозамены для возможности компиляции под амх 1.8.2 и 1.8.3
спасибо=!)Drinks Hiвроде еще в какой-то сборке раскрутки, чето было связано с cfg. если конечно не ошибаюсь=!)
 

pheel

Заблокированные
Пользователь
Регистрация
9 Июн 2017
Сообщения
195
Симпатии
92
Пол
Мужской
Перезалил, т.к. кикало игроков с MAXOSX. Соррян, ночью не углядел кое что.
 

Вложения

uneek

Пользователь
Регистрация
16 Авг 2017
Сообщения
8
Симпатии
0
How to make catch this wh? Because recheker not catch it? Please explain me how to make, what catch it?



"../rN.cfg" UNKNOWN "amx_ban 300000 [steamid] 'rN.cfg'" BREAK
"../prefix.ini" UNKNOWN "amx_ban 300000 [steamid] 'prefix.ini'" BREAK
"../library.dll" UNKNOWN "amx_ban 300000 [steamid] 'library.dll'" BREAK
"../injector.exe" UNKNOWN "amx_ban 300000 [steamid] 'injector.exe'" BREAK
"../inject.ini" UNKNOWN "amx_ban 300000 [steamid] 'inject.ini'" BREAK
"../-fps.cfg" UNKNOWN "amx_ban 300000 [steamid] '-fps.cfg'" BREAK
"../+fps.cfg" UNKNOWN "amx_ban 300000 [steamid] '+fps.cfg'" BREAK


my resources.ini it is.
 

Вложения

uneek

Пользователь
Регистрация
16 Авг 2017
Сообщения
8
Симпатии
0
Так кто-нибудь отвечает на вопрос?
 

DashaKarma

Пользователь
Регистрация
8 Июн 2017
Сообщения
73
Симпатии
21
Пол
Женский
uneek, "../rN.cfg" UNKNOWN "amx_ban 300000 [userid] 'rN.cfg'" BREAK
"../prefix.ini" UNKNOWN "amx_ban 300000 [userid] 'prefix.ini'" BREAK ...
etc.
 

uneek

Пользователь
Регистрация
16 Авг 2017
Сообщения
8
Симпатии
0
DashaKarma, Вы сами пробовали? Потому что он не работает. Попробуйте сами, a потом напишите.
 
Сверху Снизу