Моментальная инфа с таба при коннекте

Enterprise

Новичок
Автор темы
18
2
Версия MoonLoader
.026-beta
Приветствую всех. После коннекта к серверу мне необходимо моментально получить уровень игрока по его айди.
У меня есть такой код, помогите пж))

Lua:
function sampev.onServerMessage(color, text)
    lua_thread.create(function()
        if text:find('Добро пожаловать.*') and active == 1 then
            if sampGetPlayerScore(id_q) > 0 then
                sampAddChatMessage("У игрока с ID " .. id_q .. " уровень равен " .. sampGetPlayerScore(id_q), color) -- конкретно тут после коннекта функция уровня будет возвращать постоянно 0, пока не пройдет секунд 5-10 после коннекта, а мне хотелось бы получить это моментально
            end
        end
    end)
end
 
Последнее редактирование:

sdfy

Известный
349
230
Перед точкой в регулярке поставь%
Но по факту тут лучше хукать пакет подключения, а не сообщение сервера

Upd: все я понял что ты пытаешься хукать. Эту строку при подключении отправляет самп, а не сервер. Так что лучше хукай пакеты

Если не ошибаюсь у пакета подключения 34 ид
Lua:
function onReceivePacket(id, bitStream)
    if id == 34 then
        --code
    end
end
 
Последнее редактирование:
  • Нравится
Реакции: why ega и Enterprise

Enterprise

Новичок
Автор темы
18
2
Перед точкой в регулярке поставь%
Но по факту тут лучше хукать пакет подключения, а не сообщение сервера

Upd: все я понял что ты пытаешься хукать. Эту строку при подключении отправляет самп, а не сервер. Так что лучше хукай пакеты

Если не ошибаюсь у пакета подключения 34 ид
Lua:
function onReceivePacket(id, bitStream)
    if id == 34 then
        --code
    end
end
Т.е после 34 я смогу уже получить уровень? И где можно посмореть ид всех пакетов?
 

chapo

🫡 В армии с 17.10.2023. В ЛС НЕ ОТВЕЧАЮ
Друг
8,778
11,223
Перед точкой в регулярке поставь%
Но по факту тут лучше хукать пакет подключения, а не сообщение сервера

Upd: все я понял что ты пытаешься хукать. Эту строку при подключении отправляет самп, а не сервер. Так что лучше хукай пакеты

Если не ошибаюсь у пакета подключения 34 ид
Lua:
function onReceivePacket(id, bitStream)
    if id == 34 then
        --code
    end
end
зачем ему хукать пакет? Уровень устанавливается после авторизации.

Lua:
while not sampIsLocalPlayerSpawned() do wait(0) end
print(sampGetPlayerScore(айди))
 
  • Эм
Реакции: qdIbp

Enterprise

Новичок
Автор темы
18
2
Перед точкой в регулярке поставь%
Но по факту тут лучше хукать пакет подключения, а не сообщение сервера

Upd: все я понял что ты пытаешься хукать. Эту строку при подключении отправляет самп, а не сервер. Так что лучше хукай пакеты

Если не ошибаюсь у пакета подключения 34 ид
Lua:
function onReceivePacket(id, bitStream)
    if id == 34 then
        --code
    end
end
Ну так тоже можно, но уровень после подключения у игроков серавно возвращает 0, приходится ждать 5-10 секунд после коннекта, либо я что то не понимаю)

Перед точкой в регулярке поставь%
Но по факту тут лучше хукать пакет подключения, а не сообщение сервера

Upd: все я понял что ты пытаешься хукать. Эту строку при подключении отправляет самп, а не сервер. Так что лучше хукай пакеты

Если не ошибаюсь у пакета подключения 34 ид
Lua:
function onReceivePacket(id, bitStream)
    if id == 34 then
        --code
    end
end
Такая картина получается, это я просто получал уровень по клавише
VcdBF.png
 
Последнее редактирование:

_raz0r

t.me/sssecretway | ТГК: t.me/razor_code
Модератор
1,895
3,062
Ну так тоже можно, но уровень после подключения у игроков серавно возвращает 0, приходится ждать 5-10 секунд после коннекта, либо я что то не понимаю)
потому что он у клиента не моментально после коннекта отображается, поэтому и выдает 0
 

sdfy

Известный
349
230
Ну так тоже можно, но уровень после подключения у игроков серавно возвращает 0, приходится ждать 5-10 секунд после коннекта, либо я что то не понимаю)


Такая картина получается, это я просто получал уровень по клавише
VcdBF.png
Проверяй после прихода первого рпк тогда
  • UpdateScoresAndPings - ID: 155​

 

papercut

Участник
90
13

через ffi присри это