ANTICHAT

ANTICHAT (https://forum.antichat.xyz/index.php)
-   Общие вопросы программирования (https://forum.antichat.xyz/forumdisplay.php?f=206)
-   -   Синхронизация автомобилей (https://forum.antichat.xyz/showthread.php?t=1541192)

Ну погоди! 17.08.2025 17:03

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

вайега52 17.08.2025 17:30

Цитата:

Сообщение от Ну погоди!

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

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

Ну погоди! 17.08.2025 17:33

Цитата:

Сообщение от вайега52

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

А вот за рулем условной 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


Время: 07:17