Правила форума Гаранты форума
Размещение рекламы AMX-X компилятор

Здравствуйте, гость Вход | Регистрация

Наши новости:

14-дек
24-апр
10-апр
11-апр

> Правила форума

Этот раздел, как вы могли заметить по названию, предназначен для решения вопросов по поводу уже существующих модов и плагинов.
Пожалуйста, если у вас проблема с написанием плагина, не путайте этот раздел с разделом по скриптингу.
Для поиска плагинов и модов существует соответствующий раздел.

Название темы должно соответствовать содержанию. Темы с названием типа "Помогите", "Вопрос", "парни подскажите..." - будут удалены.
Все темы, не относящиеся к "Вопросам по модам и плагинам", будут удалены или перемещены в соответствующий раздел.

Правила оформления темы:
1. Помимо заголовка не забудьте верно сформулировать свой вопрос.
2. Выложите исходник (в тег кода + ) или ссылку на плагин который вызывает у вас вопросы.
3. Выложите лог с ошибками (если имеется) под спойлер

msg_one_catch

Статус пользователя xoymiii
сообщение 19.9.2013, 9:41
Сообщение #1


Стаж: 13 лет

Сообщений: 769
Благодарностей: 244
Полезность: 567

Добрый день! Нашёл плагин который блокирует кривые message_begin. Плагин ведёт логи, но вот только за 2 карты набралось 65000 строк... в основном идёт это

Скрытый текст
L 09/19/2013 - 00:29:15: Client 5 not found for ReqState
L 09/19/2013 - 00:29:15: message_begin(1, 65, {0.0, 0.0, 0.0}, 5)
L 09/19/2013 - 00:29:15: message_end()
L 09/19/2013 - 00:29:15: Client 10 not found for ReqState
L 09/19/2013 - 00:29:15: message_begin(1, 65, {0.0, 0.0, 0.0}, 10)
L 09/19/2013 - 00:29:15: message_end()
L 09/19/2013 - 00:29:15: Client 5 not found for ReqState
L 09/19/2013 - 00:29:15: message_begin(1, 65, {0.0, 0.0, 0.0}, 5)
L 09/19/2013 - 00:29:15: message_end()
L 09/19/2013 - 00:29:15: Client 10 not found for ReqState
L 09/19/2013 - 00:29:15: message_begin(1, 65, {0.0, 0.0, 0.0}, 10)
L 09/19/2013 - 00:29:15: message_end()
L 09/19/2013 - 00:29:16: Client 5 not found for ReqState
L 09/19/2013 - 00:29:16: message_begin(1, 65, {0.0, 0.0, 0.0}, 5)
L 09/19/2013 - 00:29:16: message_end()
L 09/19/2013 - 00:29:16: Client 10 not found for ReqState
L 09/19/2013 - 00:29:16: message_begin(1, 65, {0.0, 0.0, 0.0}, 10)
L 09/19/2013 - 00:29:16: message_end()
L 09/19/2013 - 00:29:16: Client 5 not found for ReqState
L 09/19/2013 - 00:29:16: message_begin(1, 65, {0.0, 0.0, 0.0}, 5)
L 09/19/2013 - 00:29:16: message_end()
L 09/19/2013 - 00:29:16: Client 10 not found for ReqState
L 09/19/2013 - 00:29:16: message_begin(1, 65, {0.0, 0.0, 0.0}, 10)
L 09/19/2013 - 00:29:16: message_end()
L 09/19/2013 - 00:29:16: Client 5 not found for ReqState
L 09/19/2013 - 00:29:16: message_begin(1, 65, {0.0, 0.0, 0.0}, 5)
L 09/19/2013 - 00:29:16: message_end()
L 09/19/2013 - 00:29:16: Client 10 not found for ReqState
L 09/19/2013 - 00:29:16: message_begin(1, 65, {0.0, 0.0, 0.0}, 10)
L 09/19/2013 - 00:29:16: message_end()
L 09/19/2013 - 00:29:16: Client 5 not found for ReqState
L 09/19/2013 - 00:29:16: message_begin(1, 65, {0.0, 0.0, 0.0}, 5)
L 09/19/2013 - 00:29:16: message_end()
L 09/19/2013 - 00:29:16: Client 10 not found for ReqState
L 09/19/2013 - 00:29:16: message_begin(1, 65, {0.0, 0.0, 0.0}, 10)
L 09/19/2013 - 00:29:16: message_end()
L 09/19/2013 - 00:29:17: Client 5 not found for ReqState
L 09/19/2013 - 00:29:17: message_begin(1, 65, {0.0, 0.0, 0.0}, 5)
L 09/19/2013 - 00:29:17: message_end()
L 09/19/2013 - 00:29:17: Client 10 not found for ReqState
L 09/19/2013 - 00:29:17: message_begin(1, 65, {0.0, 0.0, 0.0}, 10)
L 09/19/2013 - 00:29:17: message_end()
L 09/19/2013 - 00:29:17: Client 5 not found for ReqState
L 09/19/2013 - 00:29:17: message_begin(1, 65, {0.0, 0.0, 0.0}, 5)
L 09/19/2013 - 00:29:17: message_end()
L 09/19/2013 - 00:29:17: Client 10 not found for ReqState
L 09/19/2013 - 00:29:17: message_begin(1, 65, {0.0, 0.0, 0.0}, 10)
L 09/19/2013 - 00:29:17: message_end()
L 09/19/2013 - 00:29:17: Client 5 not found for ReqState
L 09/19/2013 - 00:29:17: message_begin(1, 65, {0.0, 0.0, 0.0}, 5)
L 09/19/2013 - 00:29:17: message_end()
L 09/19/2013 - 00:29:17: Client 10 not found for ReqState
L 09/19/2013 - 00:29:17: message_begin(1, 65, {0.0, 0.0, 0.0}, 10)
L 09/19/2013 - 00:29:17: message_end()
L 09/19/2013 - 00:29:18: Client 5 not found for ReqState
L 09/19/2013 - 00:29:18: message_begin(1, 65, {0.0, 0.0, 0.0}, 5)
L 09/19/2013 - 00:29:18: message_end()
L 09/19/2013 - 00:29:18: Client 10 not found for ReqState
L 09/19/2013 - 00:29:18: message_begin(1, 65, {0.0, 0.0, 0.0}, 10)
L 09/19/2013 - 00:29:18: message_end()
L 09/19/2013 - 00:29:18: Client 5 not found for ReqState
L 09/19/2013 - 00:29:18: message_begin(1, 65, {0.0, 0.0, 0.0}, 5)
L 09/19/2013 - 00:29:18: message_end()


как найти ReqState? все исходники просмотрел, нету ничего подобного...

вот сам плагин
Скрытый текст
Код
#include <amxmodx>
#include <amxmisc>
#include <orpheu>
#include <orpheu_stocks>

#define PLUGIN "MSG_ONE Catch"
#define VERSION "1.0"
#define AUTHOR "R3X"

new bool:gbBlock = false;

new gszFile[128];

public plugin_init() {
    register_plugin(PLUGIN, VERSION, AUTHOR);
    
    get_basedir(gszFile, 127);
    add(gszFile, 127, "/logs/_msg_one.log")
    
    
    new OrpheuFunction:MessageBegin = OrpheuGetEngineFunction("pfnMessageBegin","MessageBegin");
    
    new OrpheuFunction:WriteByte = OrpheuGetEngineFunction("pfnWriteByte","WriteByte");
    new OrpheuFunction:WriteChar = OrpheuGetEngineFunction("pfnWriteChar","WriteChar");
    new OrpheuFunction:WriteShort = OrpheuGetEngineFunction("pfnWriteShort","WriteShort");
    new OrpheuFunction:WriteLong = OrpheuGetEngineFunction("pfnWriteLong","WriteLong");
    new OrpheuFunction:WriteEntity = OrpheuGetEngineFunction("pfnWriteEntity","WriteEntity");
    new OrpheuFunction:WriteAngle = OrpheuGetEngineFunction("pfnWriteAngle","WriteAngle");
    new OrpheuFunction:WriteCoord = OrpheuGetEngineFunction("pfnWriteCoord","WriteCoord");
    new OrpheuFunction:WriteString = OrpheuGetEngineFunction("pfnWriteString","WriteString");
    
    new OrpheuFunction:MessageEnd = OrpheuGetEngineFunction("pfnMessageEnd","MessageEnd");
        
    
    OrpheuRegisterHook(MessageBegin,"MessageBeginf",    OrpheuHookPre);
    
    OrpheuRegisterHook(WriteByte,    "WriteBytef",    OrpheuHookPre);
    OrpheuRegisterHook(WriteChar,    "WriteCharf",    OrpheuHookPre);
    OrpheuRegisterHook(WriteShort,    "WriteShortf",    OrpheuHookPre);
    OrpheuRegisterHook(WriteLong,    "WriteLongf",    OrpheuHookPre);
    OrpheuRegisterHook(WriteEntity,    "WriteEntityf",    OrpheuHookPre);
    OrpheuRegisterHook(WriteAngle,    "WriteAnglef",    OrpheuHookPre);
    OrpheuRegisterHook(WriteCoord,    "WriteCoordf",    OrpheuHookPre);
    OrpheuRegisterHook(WriteString,    "WriteStringf",    OrpheuHookPre);
    
    OrpheuRegisterHook(MessageEnd,"MessageEndf",OrpheuHookPre);
    
}

public OrpheuHookReturn:MessageBeginf(msg_dest, msg_type, const Float:vfOrigin[], id){
    static szMsgName[32];
    if(msg_dest == MSG_ONE || msg_dest == MSG_ONE_UNRELIABLE){
        if(!is_user_connected(id) && !is_user_connecting(id)){
            get_user_msgname(msg_type, szMsgName, 31);
            log_to_file(gszFile, "Client %d not found for %s", id, szMsgName);
            
            log_to_file(gszFile, "message_begin(%d, %d, {%.1f, %.1f, %.1f}, %d)",
                msg_dest, msg_type, vfOrigin[0], vfOrigin[1],vfOrigin[2], id);
            gbBlock = true;
            return OrpheuSupercede;
        }
    }
    return OrpheuIgnored;
}


public OrpheuHookReturn:WriteBytef(iValue){
    if(gbBlock){
        log_to_file(gszFile, "write_byte(%d)", iValue);
        return OrpheuSupercede;
    }
    return OrpheuIgnored;
}

public OrpheuHookReturn:WriteCharf(cValue){
    if(gbBlock){
        log_to_file(gszFile, "write_char(%c)", cValue);
        return OrpheuSupercede;
    }
    return OrpheuIgnored;
}

public OrpheuHookReturn:WriteShortf(iValue){
    if(gbBlock){
        log_to_file(gszFile, "write_short(%d)", iValue);
        return OrpheuSupercede;
    }
    return OrpheuIgnored;
}

public OrpheuHookReturn:WriteLongf(iValue){
    if(gbBlock){
        log_to_file(gszFile, "write_long(%d)", iValue);
        return OrpheuSupercede;
    }
    return OrpheuIgnored;
}

public OrpheuHookReturn:WriteEntityf(ent){
    if(gbBlock){
        log_to_file(gszFile, "write_enitty(%d)", ent);
        return OrpheuSupercede;
    }
    return OrpheuIgnored;
}

public OrpheuHookReturn:WriteAnglef(iValue){
    if(gbBlock){
        log_to_file(gszFile, "write_angle(%d)", iValue);
        return OrpheuSupercede;
    }
    return OrpheuIgnored;
}

public OrpheuHookReturn:WriteCoordf(iValue){
    if(gbBlock){
        log_to_file(gszFile, "write_coord(%d)", iValue);
        return OrpheuSupercede;
    }
    return OrpheuIgnored;
}

public OrpheuHookReturn:WriteStringf(const szString[]){
    if(gbBlock){
        log_to_file(gszFile, "write_string(^"%s^")", szString);
        return OrpheuSupercede;
    }
    return OrpheuIgnored;
}

public OrpheuHookReturn:MessageEndf(){
    if(gbBlock){
        gbBlock = false;
        log_to_file(gszFile, "message_end()");
        return OrpheuSupercede;
    }
    return OrpheuIgnored;
}
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   Цитировать сообщение
Статус пользователя xoymiii
сообщение 21.9.2013, 11:23
Сообщение #2


Стаж: 13 лет

Сообщений: 769
Благодарностей: 244
Полезность: 567

ок. можно как нибудь в коде сделать чтоб название плагина выдавал или хотя бы какие нибудь подробности?
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя xSav
сообщение 21.9.2013, 12:20
Сообщение #3
Стаж: 16 лет

Сообщений: 1131
Благодарностей: 174
Полезность: 126

По всей видимости вы неправильно излагаете что хотите. Я ни в одном сообщении не понял что надо сделать. По видимому и остальные
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
  Ответить в данную темуНачать новую тему
 
0 пользователей и 1 гостей читают эту тему: