Вопросы

5 ответов на этот вопрос

  • 0
.037
Освоившийся

@MurBoy 

Спойлер

#include <Windows.h>
#include <iostream>

#include "MinHook.h"
#pragma comment(lib, "libMinHook-x86-v141-mt.lib")

typedef void(__thiscall* tChatAddEntry)(void *, int nType, char* szText, char* szPrefix, DWORD textColor, DWORD prefixColor);
tChatAddEntry origChatAddEntry = nullptr;

void __fastcall HOOKED_ChatAddEntry(void *_this, void *pUnk, int nType, char* szText, char* szPrefix, DWORD textColor, DWORD prefixColor) {

    printf("type: %d, msg: %s\n", nType, szText);
    
    return origChatAddEntry(_this, nType, szText, szPrefix, textColor, prefixColor);
}

class CPluginInit {
public:
    CPluginInit() {
        base = (DWORD)GetModuleHandleA("samp.dll");
        MH_Initialize();
        MH_CreateHook((void*)(base + 0x0064010), &HOOKED_ChatAddEntry, (void**)&origChatAddEntry);
        MH_EnableHook((void*)(base + 0x0064010));
    };

    ~CPluginInit() {
        MH_DisableHook((void*)(base + 0x0064010));
    };

private:
    DWORD base = 0;
}PluginInit;

 

by. AdCKuY_DpO4uLa

1629746829406.png

Остальное дописывать придётся самому 

Отредактировано пользователем .037

Поделиться сообщением


Ссылка на сообщение
  • 0
MurBoy
Освоившийся
3 минуты назад, .037 сказал:

@MurBoy 

  код (закрыть спойлер)


#include <Windows.h>
#include <iostream>

#include "MinHook.h"
#pragma comment(lib, "libMinHook-x86-v141-mt.lib")

typedef void(__thiscall* tChatAddEntry)(void *, int nType, char* szText, char* szPrefix, DWORD textColor, DWORD prefixColor);
tChatAddEntry origChatAddEntry = nullptr;

void __fastcall HOOKED_ChatAddEntry(void *_this, void *pUnk, int nType, char* szText, char* szPrefix, DWORD textColor, DWORD prefixColor) {

    printf("type: %d, msg: %s\n", nType, szText);
    
    return origChatAddEntry(_this, nType, szText, szPrefix, textColor, prefixColor);
}

class CPluginInit {
public:
    CPluginInit() {
        base = (DWORD)GetModuleHandleA("samp.dll");
        MH_Initialize();
        MH_CreateHook((void*)(base + 0x0064010), &HOOKED_ChatAddEntry, (void**)&origChatAddEntry);
        MH_EnableHook((void*)(base + 0x0064010));
    };

    ~CPluginInit() {
        MH_DisableHook((void*)(base + 0x0064010));
    };

private:
    DWORD base = 0;
}PluginInit;

 

by. AdCKuY_DpO4uLa

1629746829406.png

Остальное дописывать придётся самому 

Это ASI или CLEO?

Поделиться сообщением


Ссылка на сообщение
  • 0
.037
Освоившийся

@MurBoy Asi , надеюсь с компиляцией трудностей не будет, если будут, то в стол заказов (также пишу на заказ asi и SF )))) https://vk.com/id665567261 )

Отредактировано пользователем .037

Поделиться сообщением


Ссылка на сообщение
Гость
Эта тема закрыта для публикации ответов.
  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

  • Похожий контент

    • Korochansky
      От Korochansky
      Я рад объявить о выпуске первой публичной версии современной IDE с открытым исходным кодом под лицензией GPLv3 для разработки open.mp и SA-MP, которая отличается интеграцией с SAMPCTL, управлением зависимостями и встроенной поддержкой Git.
       
      Особенности:
      • Разработано специально для open.mp и SA-MP разработки.
      • Встроенная интеграция с SAMPCTL для создания, запуска и управления проектами.
      • Менеджер зависимостей для удобной установки и обновления серверных пакетов и компонентов.
      • Встроенная поддержка Git с индикаторами состояния репозитория и историей коммитов.
      • Маркеры истории изменений для отслеживания измененных и сохраненных строк.
      • Автоматическое сопоставление и выделение скобок
      • Предварительный просмотр цвета для значений RGBA и HEX прямо в редакторе.
      • Интеграция инструмента выбора цвета для быстрой вставки цветов в код Pawn.
      • Режим 'Разделенный редактор кода' для одновременной работы с несколькими файлами.
      • Дерево проекта, оптимизированное для крупных проектов.
      • Интегрированные панели вывода результатов сборки и консоли сервера.
      • Автоматический мониторинг и обновление файлов проектов.
      • Портативная версия (установка не требуется).
       
      В репозитории: https://github.com/daniilkorochansky/spawn
    • Margiela
      От Margiela
      устал от vs code + он часто конфликтует с маками, конкретно с версией M3(как у меня).
      имеются ли аналоги pawno на mac?