PDA

Просмотр полной версии : Синхронизация автомобилей


Ну погоди!
17.08.2025, 17:03
У меня имеется плагин на кастомные автомобили (снимает лимиты, всё с ним хорошо). В итоге, работает так: человек с плагином видит автомобиль, всё хорошо. Без плагина не видно автомобиль, в F5 нет. Как я могу сделать замену для игроков без лаунчера, условно, с 12500 -> 411

вайега52
17.08.2025, 17:30
У меня имеется плагин на кастомные автомобили (снимает лимиты, всё с ним хорошо). В итоге, работает так: человек с плагином видит автомобиль, всё хорошо. Без плагина не видно автомобиль, в F5 нет. Как я могу сделать замену для игроков без лаунчера, условно, с 12500 -> 411


Такое обычно делается на стороне сервера. Создаются ассоциации для каждой кастомной модели на стандартную и при создании идет проверка играет чел с плагином для расширения тачек или без

Ну погоди!
17.08.2025, 17:33
Такое обычно делается на стороне сервера. Создаются ассоциации для каждой кастомной модели на стандартную и при создании идет проверка играет чел с плагином для расширения тачек или без


А вот за рулем условной BMW сидит 2 игрока. Как это показать то игроку без плагина?

Если что, r3

iogz
17.08.2025, 18:09
Как-то так примерно. Это для сервера, нужен Pawn.RakNet:

C:





[CODE]
const
RAKNET_RPC_WORLDVEHICLEADD
=
164
;
public
OnOutgoingRPC
(
playerid
,
rpcid
,
BitStream
:
bs
)
// Сервер КЛИЕНТУ
{
if
(
rpcid
==
RAKNET_RPC_WORLDVEHICLEADD
)
{
/* проверка на то, играет ли игрок с лаунчера/имеет ли плагин/etc....... Играет - возвращаем просто true */
new vehicleid
;
BS_ReadInt16
(
bs
,
vehicleid
)
;
if
(
!
(
400



Но какой смысл от ваших плагинов на снятие лимитов со стороны сервера (если ты его имеешь в виду), когда можно обойтись работой с рпс WorldVehicleAdd?

Проще хранить в массиве список всех моделей машин, их модель со стороны обычного клиента и лаунчера, при создании машины создавать её в виде обычной модели гта са, а затем в OnOutgoingRPC заменять её на кастомную с лаунчера (с обычного клиента при этом ничего даже заменять не надо будет). Тогда код выше можно будет упростить

Ну разве что только с помощью какого-нибудь фастмана снимать лимиты на клиенте

Чем меньше зависимостей - тем лучше и меньше заморочек в будущем

madix1999
17.08.2025, 19:09
[QUOTE="iogz"]

Как-то так примерно. Это для сервера, нужен Pawn.RakNet:

C:





[CODE]
const
RAKNET_RPC_WORLDVEHICLEADD
=
164
;
public
OnOutgoingRPC
(
playerid
,
rpcid
,
BitStream
:
bs
)
// Сервер КЛИЕНТУ
{
if
(
rpcid
==
RAKNET_RPC_WORLDVEHICLEADD
)
{
/* проверка на то, играет ли игрок с лаунчера/имеет ли плагин/etc....... Играет - возвращаем просто true */
new vehicleid
;
BS_ReadInt16
(
bs
,
vehicleid
)
;
if
(
!
(
400