Отправка синхры местоположения

spr1te

Потрачен
Автор темы
251
65
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
как отправить синхру местоположения ну допустим, я стою у мэрии, а синхру отправляю что стою у грува.. И чтобы сервер думал что я стою у грува?
 
Решение
Это луа, а вопрос задан в клео....
https://blast.hk/threads/17440/ вон там в примерах есть

КЛЕО В 2019:
{$CLEO}
{$INCLUDE SF}

0001: wait 0 ms

while not SAMP.Available()
    wait 400
end

0BE2: raknet setup_outcoming_packet_hook @out_packet // Подготавливаем хук

0BDE: pause_thread 0 // Бесконечный цикл нам не нужен, поэтому просто поставим скрипт на "паузу". Хуки, вызовы команды и т.п., что не требует постоянной обработки, будут работать в это время.

:out_packet
0BE5: raknet 0@ = get_hook_param PARAM_PACKETID // Получаем ИД пакета
if 0@ == PACKET_PLAYER_SYNC // Сравниваем
then
    0BE5: raknet 1@ = get_hook_param PARAM_BITSTREAM // Получаем битстрим

    0BF3: raknet 2@ = bit_stream 1@ get_data_ptr // Получаем указатель на...

Aniki

🐰
Администратор
1,229
1,564
Толку от этого если отрисовка со стороны сервера будет идти около грува (координат которые ты отсылаешь в синхре серверу), а у мэрии не будут отрисовываться педы/машины/объекты?
 

spr1te

Потрачен
Автор темы
251
65
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Толку от этого если отрисовка со стороны сервера будет идти около грува (координат которые ты отсылаешь в синхре серверу), а у мэрии не будут отрисовываться педы/машины/объекты?
Ну мне это и надо.
 

Aniki

🐰
Администратор
1,229
1,564
  • Нравится
Реакции: EazyBoost и spr1te

spr1te

Потрачен
Автор темы
251
65
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
example:
local sampev = require 'lib.samp.events'

function sampev.onSendPlayerSync(data)
    data.position.x = 1337
    data.position.y = 1488
    data.position.z = 228
    -- вместо чисел выше нужны координаты нужные тебе очевидно
end

Вообще этот код есть в примерах для SAMP.lua https://blast.hk/threads/14624/
Это луа, а вопрос задан в клео....
 

Aniki

🐰
Администратор
1,229
1,564
Это луа, а вопрос задан в клео....
https://blast.hk/threads/17440/ вон там в примерах есть

КЛЕО В 2019:
{$CLEO}
{$INCLUDE SF}

0001: wait 0 ms

while not SAMP.Available()
    wait 400
end

0BE2: raknet setup_outcoming_packet_hook @out_packet // Подготавливаем хук

0BDE: pause_thread 0 // Бесконечный цикл нам не нужен, поэтому просто поставим скрипт на "паузу". Хуки, вызовы команды и т.п., что не требует постоянной обработки, будут работать в это время.

:out_packet
0BE5: raknet 0@ = get_hook_param PARAM_PACKETID // Получаем ИД пакета
if 0@ == PACKET_PLAYER_SYNC // Сравниваем
then
    0BE5: raknet 1@ = get_hook_param PARAM_BITSTREAM // Получаем битстрим

    0BF3: raknet 2@ = bit_stream 1@ get_data_ptr // Получаем указатель на содержимое битстрима
    0C0D: struct 2@ offset 7 size 4 = 228 // x
    0C0D: struct 2@ offset 11 size 4 = 1488 // y
    0C0D: struct 2@ offset 15 size 4 = -90.0 // в данные битстрима установим значение -90.0. Это будет координата Z в синхронизации.

end
0BE0: raknet hook_ret true // отправляем пакет, false - не отправлять
 
  • Нравится
Реакции: spr1te