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

tryboyobvitalya2007

Новичок
Автор темы
10
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

вайега52

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

Tema05

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

tryboyobvitalya2007

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

tryboyobvitalya2007

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

Tema05

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

Lance_Sterling

Известный
1,003
359
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
 
Последнее редактирование: