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

tryboyobvitalya2007

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

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

Tema05

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

tryboyobvitalya2007

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

tryboyobvitalya2007

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

Tema05

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

Lance_Sterling

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