Перезаписывать onSendPlayerSync

optimal user

Известный
Автор темы
107
6
Версия MoonLoader
.026-beta
Как правильно перезапсиывать и отправлять свои пакеты? Можно сделать это просто через samp events, или это делается только через RakLua?
 

optimal user

Известный
Автор темы
107
6
можно, меняешь значения и возвращаешь перезаписанное через return
Окей, а че делать мне с этими значениями если их нет, но я буду отправлять? Конкретно про surfing говорю
Байтстрим же по сути меняется, либо в samp events это предусмотрено?
Lua:
    if has_value(bs) then
        data.surfingVehicleId = bsread.uint16(bs)
        data.surfingOffsets = bsread.vector3d(bs)
    end
    if has_value(bs) then
        data.animationId = bsread.uint16(bs)
        data.animationFlags = bsread.uint16(bs)
    end
 

whyega52

Eblang головного мозга
Модератор
2,858
2,834
Как правильно перезапсиывать и отправлять свои пакеты? Можно сделать это просто через samp events, или это делается только через RakLua?
Изначально в муне есть функции, которые позволяют отправлять пакеты и работать с битстримом, самп евентс всего-лишь дает удобный интерфейс для этого. Все бы ничего, но эти самые функции зависят от сампфункса.
RakLua дает возможность работать с битстримом и ракнетом без сампфункса. Раклуа также имеет поддержку самп евентса.
Также, если имеются знания, то можно самому хукать ракнет, но вряд ли оно тебе надо. Поэтому я бы в любом случае использовал самп евентс, так как он есть почти у всех, и он значительно упрощает работу с пакетами и рпц.

Окей, а че делать мне с этими значениями если их нет, но я буду отправлять? Конкретно про surfing говорю
Байтстрим же по сути меняется, либо в samp events это предусмотрено?
Lua:
    if has_value(bs) then
        data.surfingVehicleId = bsread.uint16(bs)
        data.surfingOffsets = bsread.vector3d(bs)
    end
    if has_value(bs) then
        data.animationId = bsread.uint16(bs)
        data.animationFlags = bsread.uint16(bs)
    end
Это предусмотрено, поэтому в функции каллбеке (sampev.onSendPlayerSync) можешь не перезаписывать все параметры, а только те, которые тебе нужны