Добро пожаловать на Pro Pawn - Портал о PAWN-скриптинге.
Страница 1 из 2 1 2 ПоследняяПоследняя
Показано с 1 по 10 из 12

Тема: raknet manager

  1. #1
    Аватар для CheSToRiA
    Пользователь

    Статус
    Оффлайн
    Регистрация
    06.02.2016
    Сообщений
    18
    Репутация:
    1 ±

    raknet manager

    Каким образом можно отловить сообщение отправленное через SendClientMessage и запретить его показ? Пробовал через перехват функции, но не помогло. Можно ли это каким-то образом словить через RakNet manager plugin? Если да, то как? P.S: Сообщение отправляет из скрипта, а он в свою очередь с закрытым исходным кодом.

  2. #2
    Аватар для vovandolg
    Пользователь

    Статус
    Оффлайн
    Регистрация
    17.11.2015
    Адрес
    Stavropol
    Сообщений
    1,369
    Репутация:
    113 ±
    Зачем тебе плагин для таких целей если на форумах полно скриптов анти-пиара или анти-мата, где можно перехватить слово которое ты указываешь.
    [Anticheat]___Invisible Fly Hack
    [Anticheat]____Weapon/Ammo Hack
    [Function]______ResetPlayerWeaponSlot
    [Function]_______FIX_SetPlayerAmmo
    [ServerMod]______TDM | Zombie Apokalypse

  3. #3
    Аватар для CheSToRiA
    Пользователь

    Статус
    Оффлайн
    Регистрация
    06.02.2016
    Сообщений
    18
    Репутация:
    1 ±
    Цитата Сообщение от vovandolg Посмотреть сообщение
    Зачем тебе плагин для таких целей если на форумах полно скриптов анти-пиара или анти-мата, где можно перехватить слово которое ты указываешь.
    Ты не понял. Есть скрипт с закрытым исходным кодом, а он в свою очередь отправляет ошибочное сообщение, но автор не хочет обновлять его, а мне нужно чтобы это сообщение попросту не показалось игроку. Вот мне нужно перехватить его и запретить его показ. То есть, сообщение отправляет не игрок, а другой подключенный скрипт.

  4. #4
    Аватар для Profyan
    Пользователь

    Статус
    Оффлайн
    Регистрация
    23.12.2013
    Адрес
    Омск
    Сообщений
    196
    Репутация:
    22 ±
    #offtop
    Могу предположить,что вы взяли на проверку пробную версию какого-то скрипта,который каждые n секунд выводит рекламу или сообщение о том,что она пробная.
    По теме:
    id нужного вам RPC: RPC_ClientMessage = 93;
    Вот плагин:
    http://pro-pawn.ru/showthread.php?13333-RNM-RakNet-Manager-1-0-0
    В теме есть пример перехвата.
    Последний раз редактировалось Profyan; 08.02.2016 в 17:23.



    Любой дурак может написать код, понятный компьютеру. Хороший программист пишет код, понятный человеку
    Мартин Фаулер


    Skype
    profan99
    VK
    click




  5. #5
    Аватар для CheSToRiA
    Пользователь

    Статус
    Оффлайн
    Регистрация
    06.02.2016
    Сообщений
    18
    Репутация:
    1 ±
    Цитата Сообщение от Profyan Посмотреть сообщение
    #offtop
    Могу предположить,что вы взяли на проверку пробную версию какого-то скрипта,который каждые n секунд выводит рекламу или сообщение о том,что она пробная.
    По теме:
    id нужного вам RPC: RPC_ClientMessage = 93;
    Вот плагин:
    http://pro-pawn.ru/showthread.php?13333-RNM-RakNet-Manager-1-0-0
    В теме есть пример перехвата.
    Да пример есть, но что вводить BS_ReadValue я так и не понял. Пробовал как там или по другому, но мне выдало либо пустую строку, либо иероглифы.

  6. #6
    Аватар для Profyan
    Пользователь

    Статус
    Оффлайн
    Регистрация
    23.12.2013
    Адрес
    Омск
    Сообщений
    196
    Репутация:
    22 ±
    Цитата Сообщение от CheSToRiA Посмотреть сообщение
    Да пример есть, но что вводить BS_ReadValue я так и не понял. Пробовал как там или по другому, но мне выдало либо пустую строку, либо иероглифы.
    PHP код:
    new RPC_Chat 101;
    public 
    OnServerSendRPC(playeridrpcidBitStream:bs)
    {
        if(
    rpcid == RPC_Chat)
        {
            new 
    message[256], len;

            
    BS_ReadValue(bsRNM_UINT8len,
                        
    RNM_STRINGmessagelen);

            if(!
    strcmp(message,"Твой текст"true)) return 0;
        }
        return 
    1;

    Не проверял на работоспособность.

    Еще точно не знаю какой RPC.Либо RPC_ClientMessage,либо RPC_Chat.
    Последний раз редактировалось Profyan; 08.02.2016 в 18:10.



    Любой дурак может написать код, понятный компьютеру. Хороший программист пишет код, понятный человеку
    Мартин Фаулер


    Skype
    profan99
    VK
    click




  7. #7
    Аватар для CheSToRiA
    Пользователь

    Статус
    Оффлайн
    Регистрация
    06.02.2016
    Сообщений
    18
    Репутация:
    1 ±
    Цитата Сообщение от Profyan Посмотреть сообщение
    PHP код:
    new RPC_Chat 101;
    public 
    OnServerSendRPC(playeridrpcidBitStream:bs)
    {
        if(
    rpcid == RPC_Chat)
        {
            new 
    message[256], len;

            
    BS_ReadValue(bsRNM_UINT8len,
                        
    RNM_STRINGmessagelen);

            if(!
    strcmp(message,"Твой текст"true)) return 0;
        }
        return 
    1;

    Не проверял на работоспособность.

    Еще точно не знаю какой RPC.Либо RPC_ClientMessage,либо RPC_Chat.
    Это когда игрок отправляет, а мне надо когда SendClientMessage, а это RPC_ClientMessage.

  8. #8
    Аватар для Profyan
    Пользователь

    Статус
    Оффлайн
    Регистрация
    23.12.2013
    Адрес
    Омск
    Сообщений
    196
    Репутация:
    22 ±
    Цитата Сообщение от CheSToRiA Посмотреть сообщение
    Это когда игрок отправляет, а мне надо когда SendClientMessage, а это RPC_ClientMessage.
    Ну попробуй с RPC_ClientMessage.Отпишись потом.



    Любой дурак может написать код, понятный компьютеру. Хороший программист пишет код, понятный человеку
    Мартин Фаулер


    Skype
    profan99
    VK
    click




  9. #9
    Аватар для CheSToRiA
    Пользователь

    Статус
    Оффлайн
    Регистрация
    06.02.2016
    Сообщений
    18
    Репутация:
    1 ±
    Цитата Сообщение от Profyan Посмотреть сообщение
    Ну попробуй с RPC_ClientMessage.Отпишись потом.
    Я же говорю что пробовал, но там или иероглифы или пустая строчка.

  10. #10
    Аватар для Profyan
    Пользователь

    Статус
    Оффлайн
    Регистрация
    23.12.2013
    Адрес
    Омск
    Сообщений
    196
    Репутация:
    22 ±
    Цитата Сообщение от CheSToRiA Посмотреть сообщение
    Я же говорю что пробовал, но там или иероглифы или пустая строчка.
    Я попробовал.Получилось.Только есть баг,он считывает с ФС. Вот код:
    МОД
    PHP код:
    public OnServerSendRPC(playeridrpcidBitStream:bs)
    {
        new 
    RPC_ClientMessage 93;
        if(
    rpcid == RPC_ClientMessage)
        {
            new 
    message[256], len;

            
    BS_ReadValue(bsRNM_UINT8len,
                        
    RNM_STRINGmessagelen);

            if(!
    strcmp(message,"It works!"true))
            {
                
    printf("ITSWORK");
                return 
    0;
            }
        }
        return 
    1;

    Кстати в моде тоже работает.(вставил 6 SendClientMessage(playerid,-1,"It works"); в OnPlayerSpawn(playerid))
     Логи

    PHP код:
    [21:10:52ITSWORK
    [21:10:52ITSWORK
    [21:10:52ITSWORK
    [21:10:52ITSWORK
    [21:10:54ITSWORK
    [21:10:54ITSWORK 


    Скрины
    Последний раз редактировалось Profyan; 08.02.2016 в 19:18. Причина: Извиняюсь,был не правильный код.



    Любой дурак может написать код, понятный компьютеру. Хороший программист пишет код, понятный человеку
    Мартин Фаулер


    Skype
    profan99
    VK
    click




 

 
Страница 1 из 2 1 2 ПоследняяПоследняя

Информация о теме

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

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •