[LUA] Удаление строчки из локального чата SAMP

tryboyobvitalya2007

Новичок
Автор темы
9
0
Как можно перехватить/удалить локальное сообщение? (не от сервера)
Нужно удалить из чата сообщения: -> Head movements disabled и -> Head movements enabled при их появлении. Подскажите, как это можно сделать?
Перепробовал всеми способами что нашёл, что-то ничего не получается.
 
Решение
Lua:
local memory = require('memory')

function main()
    while not isSampAvailable() do wait(0) end
  
    local samp = getModuleHandle("samp.dll")

    memory.fill(samp + 0x6822A, 0x90, 0x5, true);
    memory.fill(samp + 0x6825E, 0x90, 0x5, true);

    wait(-1);
end

если хочешь вернуть все назад:

Lua:
function main()
    while not isSampAvailable() do wait(0) end
  
    local samp = getModuleHandle("samp.dll")

    local bytes = {
        {0xE8, 0xC1, 0xF6, 0xFF, 0xFF},
        {0xE8, 0x8D, 0xF6, 0xFF, 0xFF},
    }

    for i = 0, 4 do
        writeMemory(samp + 0x6822A + i, 0x1, bytes[1][i+1], true);
        writeMemory(samp + 0x6825E + i, 0x1, bytes[2][i+1], true);
    end

    wait(-1);
end

whyega52

Eblang головного мозга
Модератор
2,884
2,859
Как можно перехватить/удалить локальное сообщение? (не от сервера)
Нужно удалить из чата сообщения: -> Head movements disabled и -> Head movements enabled при их появлении. Подскажите, как это можно сделать?
Перепробовал всеми способами что нашёл, что-то ничего не получается.
Какая версия сампа?
 

Tema05

Известный
1,526
495
На lua лучше это не делать хуком. Особенно если ты через лаунчер проекта играешь. Надо патчить память затирая вызов этих строк. Что может быть проблематично если опять же ты не на дефолт клиенте
 

tryboyobvitalya2007

Новичок
Автор темы
9
0
На lua лучше это не делать хуком. Особенно если ты через лаунчер проекта играешь. Надо патчить память затирая вызов этих строк. Что может быть проблематично если опять же ты не на дефолт клиенте
Да, через лаунчер.
 

tryboyobvitalya2007

Новичок
Автор темы
9
0
Тогда нужно более предметно говорить. Что за лаунчер и какие конкретно строки
Лаунчер аризоны, строки в посте указаны. У меня в скрипте идёт автоматизация на /headmove для удобства, при этом мне нужно чтобы локальная самповская команда -> Head movements disabled\enable не вылазила в чат.
 

Tema05

Известный
1,526
495
Лаунчер аризоны, строки в посте указаны. У меня в скрипте идёт автоматизация на /headmove для удобства, при этом мне нужно чтобы локальная самповская команда -> Head movements disabled\enable не вылазила в чат.
Тут без работы с памятью и ffi в любом случаи не обойтись. Тогда уж проще нативно переключать параметр, нежели ебаться с скрытием строк
 
  • Вау
Реакции: Lance_Sterling

Lance_Sterling

Известный
1,000
357
Lua:
local memory = require('memory')

function main()
    while not isSampAvailable() do wait(0) end
  
    local samp = getModuleHandle("samp.dll")

    memory.fill(samp + 0x6822A, 0x90, 0x5, true);
    memory.fill(samp + 0x6825E, 0x90, 0x5, true);

    wait(-1);
end

если хочешь вернуть все назад:

Lua:
function main()
    while not isSampAvailable() do wait(0) end
  
    local samp = getModuleHandle("samp.dll")

    local bytes = {
        {0xE8, 0xC1, 0xF6, 0xFF, 0xFF},
        {0xE8, 0x8D, 0xF6, 0xFF, 0xFF},
    }

    for i = 0, 4 do
        writeMemory(samp + 0x6822A + i, 0x1, bytes[1][i+1], true);
        writeMemory(samp + 0x6825E + i, 0x1, bytes[2][i+1], true);
    end

    wait(-1);
end
 
Последнее редактирование: