Первое что хотелось бы сказать, что философия данного inc состоит в том, чтобы все манипуляции воспроизводились без создания и нужды дополнительных файлов на сервере.
Данное "оружие" было создано для удобной работы с другими .dll, ведь в функциях SourcePawn можно работать только с 3-мя => server.dll/engine.dll/matchmaking_ds
3) MemoryEx/DynamicLibrary.inc - Реализует функции для работы с динамическими библиотеками
4) MemoryEx/ServerLibrary.inc - Работа с server[.so]/[.dll] - а именно получения базового адреса [Windows Only] (Для Linux не нужен) / Получение OS сервера
5) MemoryEx/LinuxFunction.inc - Вспомогательные функции для linux => Загрузка списка .so библиотек
6) MemoryEx/WindowsFunction.inc - Функции для Windows => Получения размера DLL из PEB заголовка/Получения версии Windows
Требования
SourceMod 1.10+
Данное "оружие" было создано для удобной работы с другими .dll, ведь в функциях SourcePawn можно работать только с 3-мя => server.dll/engine.dll/matchmaking_ds
MemoryEx/BaseMemory.inc | Реализовывает базовые функции для более удобной работы с памятью |
---|---|
void BaseMemory::SetAddr(any address) | |
Pointer BaseMemory::GetAddr() | |
void BaseMemory::Add(any iOffset) | |
int BaseMemory::ReadByte(int iOffset = 0) | |
void BaseMemory::WriteByte(any iByte, int iOffset = 0, int flags = MemoryEx_NoNeedAdd) | |
int BaseMemory::ReadWord(int iOffset = 0) | |
void BaseMemory::WriteWord(any iByte, int iOffset = 0, int flags = MemoryEx_NoNeedAdd) | |
int BaseMemory::ReadInt(int iOffset = 0) | |
void BaseMemory::WriteInt(any iByte, int iOffset = 0, int flags = MemoryEx_NoNeedAdd) | |
void BaseMemory::WriteData(const int[] data, int iSize, int flags = MemoryEx_NoNeedAdd) | |
int BaseMemory::ReadString(char[] sString, int iMaxLength) | Возвращает длину строки |
void BaseMemory::WriteString(const char[] sString, bool bNull = true, int flags = MemoryEx_NoNeedAdd) | |
void BaseMemory::WriteUnicodeString(const char[] sString, bool bNull = true, int flags = MemoryEx_NoNeedAdd) | |
Pointer BaseMemory::FindPattern(Pointer base, any size, const int[] pattern, int iLength, int iOffset = 0) | return address = found address + iOffset |
4) MemoryEx/ServerLibrary.inc - Работа с server[.so]/[.dll] - а именно получения базового адреса [Windows Only] (Для Linux не нужен) / Получение OS сервера
5) MemoryEx/LinuxFunction.inc - Вспомогательные функции для linux => Загрузка списка .so библиотек
6) MemoryEx/WindowsFunction.inc - Функции для Windows => Получения размера DLL из PEB заголовка/Получения версии Windows
Требования
SourceMod 1.10+