Исходник SAMP Биндер

TastyBread123

Известный
Автор темы
611
290
Кратко, биндер на адресах памяти сампа
Зависимости: pymem (pip install pymem)
Код взят отсюда

Код:
import pymem

FUNC_SAMP_SENDSAY = 0x57F0
FUNC_SAMP_SENDCMD = 0x65C60


process = pymem.Pymem("gta_sa.exe")
module = pymem.process.module_from_name(process.process_handle, "samp.dll").lpBaseOfDll

def send_chat(message: str, encoding: str = "cp1251") -> None:
    if message.startswith('/'):
        cmd = message.replace('/', '')
        address = process.allocate(len(cmd))
        process.write_bytes(address, cmd.encode(encoding), len(cmd))
        process.start_thread(module + FUNC_SAMP_SENDCMD, address)
        return process.free(address)

    address = process.allocate(len(message))
    process.write_bytes(address, message.encode(encoding), len(message))
    process.start_thread(module + FUNC_SAMP_SENDSAY, address)
    process.free(address)
Примеры:
send_chat("круто")
# если в аргументе первый символ - "/", то будет отправляться команда
send_chat("/mm")