Синхронизация Луа

Mobile user

Новичок
Автор темы
18
2
Версия SA-MP
  1. Любая
Всем привет. Подскажите, как работает синхронизация, что она делает и т.п. Я умею работать с rpc и Cef пакетами и все с помощью raknet. Однако не вдупляюсь, что за синхра. Я попытался поработать с синхрой так же, как и rpc и Cef, но меня сходу кикало(я просто в 207 пакете(on_foot sync) при отправке читал x, y, z velocity и менял их на x*2 и т.д.). Еще и synchronization.lua есть какой-то.
 
  • Влюблен
Реакции: WIKEIRY

WIKEIRY

Новичок
9
0
в файле synchronization.lua находятся все переменные синхронизации. А кикало тебя при изменении кооодинат потому что к примеру на некс-ac без различных обходов сместится можно всего на 20 метров без кика с ног, с машины 35.

Изменять как раз таки позицию педа ты можешь через синхронизацию, что бы понять как это сделать открываешь synchronization.lua и видишь там переменную position, и еще 3 переменные(координаты). их и меняешь

С помощью синхронизации ты можешь меня все как и меняется оно само в процессе игры. Позиция, скорость(педа, машины), оружие, угол, устанавливать трейлер или машину по их айди и многое другое.
 

Mobile user

Новичок
Автор темы
18
2
в файле synchronization.lua находятся все переменные синхронизации. А кикало тебя при изменении кооодинат потому что к примеру на некс-ac без различных обходов сместится можно всего на 20 метров без кика с ног, с машины 35.

Изменять как раз таки позицию педа ты можешь через синхронизацию, что бы понять как это сделать открываешь synchronization.lua и видишь там переменную position, и еще 3 переменные(координаты). их и меняешь

С помощью синхронизации ты можешь меня все как и меняется оно само в процессе игры. Позиция, скорость(педа, машины), оружие, угол, устанавливать трейлер или машину по их айди и многое другое.
Так я скорость менял. Я даже на x * 1.05 изменил, меня все равно кикало. Или надо еще и положение рассчитывать, угол, а не тупо скорость менять?(Я все делал с помощью onSendPacket и raknet функций) Всм я могу менять все как и меняется в процессе игры? Типо если я изменю только скорость, то оно само рассчитает все остальное?
 

Mobile user

Новичок
Автор темы
18
2
Сможешь показать как ты это делал?
Ну примерно так
local sampev = require "lib.samp.events"
local imgui = require "mimgui"
local encoding = require 'encoding'
encoding.default = 'CP1251'
local u8 = encoding.UTF8
local ffi = require('ffi')
local samem = require("SAMemory")
active = false
function onSendPacket(id, bs)
if id == 207 and active then
local offset = raknetBitStreamGetReadOffset(bs)
raknetBitStreamSetReadOffset(bs, 6)
local x = raknetBitStreamReadFloat(bs)
local y = raknetBitStreamReadFloat(bs)
local z = raknetBitStreamReadFloat(bs)
raknetBitStreamSetReadOffset(bs, offset)
raknetBitStreamSetWriteOffset(bs, 6)
local new_x, new_y, new_z = x * 1.05, y * 1.05, z * 1.05
raknetBitStreamWriteFloat(bs, new_x)
raknetBitStreamWriteFloat(bs, new_y)
raknetBitStreamWriteFloat(bs, new_z)
end
end
function main()
while not isSampLoaded() and not isSampfuncsLoaded() do
wait(100)
end
sampRegisterChatCommand("speed", function()
active = not active
end)
end
 

Вложения

  • Screenshot_2025-09-06-01-32-10-911_com.arizona.game.jpg
    Screenshot_2025-09-06-01-32-10-911_com.arizona.game.jpg
    2 MB · Просмотры: 44

WIKEIRY

Новичок
9
0
Так я скорость менял. Я даже на x * 1.05 изменил, меня все равно кикало. Или надо еще и положение рассчитывать, угол, а не тупо скорость менять?(Я все делал с помощью onSendPacket и raknet функций) Всм я могу менять все как и меняется в процессе игры? Типо если я изменю только скорость, то оно само рассчитает все остальное?
привет. нет, я лишь перечислил то что ты можешь менять вообщем. Но для перемещения или скорости тебе нужны обходы если ты хочешь сделать это больше. скорость педа можно поставить {0.16} по 3 осям, кика не будет. на счет перемещения уже рассказывал
 

Mobile user

Новичок
Автор темы
18
2
привет. нет, я лишь перечислил то что ты можешь менять вообщем. Но для перемещения или скорости тебе нужны обходы если ты хочешь сделать это больше. скорость педа можно поставить {0.16} по 3 осям, кика не будет. на счет перемещения уже рассказывал
Ты имеешь ввиду raknetBitStreamWriteFloat(bs, 0.16) для каждой оси? Ну я хочу скорость бега сж(примерно). Мне для бота нужна скорость
 

VanoKLR

Известный
1,096
738
Ну я хочу скорость бега сж(примерно
Тебе тогда не в синхре нужно копать, есть специальный rpc onInitGame, там есть параметр useCJwalk, если его заменить на бег cj устанавливай его на true. Синхра - та залупа что отправляется на сервер что бы показать ее потом другим игрокам. С клиента нечего не поменяется
 
  • Эм
  • Нравится
Реакции: WIKEIRY и Vespan

Mobile user

Новичок
Автор темы
18
2
Тебе тогда не в синхре нужно копать, есть специальный rpc onInitGame, там есть параметр useCJwalk, если его заменить на бег cj устанавливай его на true. Синхра - та залупа что отправляется на сервер что бы показать ее потом другим игрокам. С клиента нечего не поменяется
Аа, это сработает? Мне просто нейросеть пиздела, что это на серверах не работает, поскольку устанавливается всем игрокам и т.д.

привет. нет, я лишь перечислил то что ты можешь менять вообщем. Но для перемещения или скорости тебе нужны обходы если ты хочешь сделать это больше. скорость педа можно поставить {0.16} по 3 осям, кика не будет. на счет перемещения уже рассказывал
А я понял про какую скорость ты говорил. Я с помощью SAMemory смог чекнуть скорость. Только вот когда я изменил. x, y, z в vMoveSpeed, то скорость не увеличилась, хотя с машиной увеличилась(я изначально увеличил так скорость на авто, сейчас по аналогии сделал для перса. Скорость показывается, но когда я умножил её на 2.5, то нихуя не случилось). Крч в пизду эту синхру. Я отправляю синхры пакет, который я словил, находясь рядом с этим местом - нихуя не происходит. Делаю тоже самое, но далеко от этого места - кик. Видимо память круче. Жаль, что я C не знаю
 
Последнее редактирование:
  • Нравится
Реакции: WIKEIRY