Здраствуйте,
Уже некоторое время что я попробывал синхронизировать фары тачек между игроками не получается. На самем деле всё отлично сихронизировано когда два игрока рядом друг друга; но когда какой то новый чел из далека приехал то синхрон потерян; у одного фары включены у другого нет. Я подумал как обычно использовать entitystreamIn но не получилось. Помогите пожалуйста. К сожалению фары тачек не ставится в серверской части как двигатель а в клиентксой части только они доступны. Я как то пытался синхрить с сервером через перемены но не удалось. Попробывал timeout но не помогло на entitystreamIn. Документация на фары : https://wiki.rage.mp/index.php?title=Vehicle::setLights https://wiki.rage.mp/index.php?title=Vehicle::getLightsState
Server side:
--------------------------------------------------------------------------------------------------------------------------------------------------
Client side:
Уже некоторое время что я попробывал синхронизировать фары тачек между игроками не получается. На самем деле всё отлично сихронизировано когда два игрока рядом друг друга; но когда какой то новый чел из далека приехал то синхрон потерян; у одного фары включены у другого нет. Я подумал как обычно использовать entitystreamIn но не получилось. Помогите пожалуйста. К сожалению фары тачек не ставится в серверской части как двигатель а в клиентксой части только они доступны. Я как то пытался синхрить с сервером через перемены но не удалось. Попробывал timeout но не помогло на entitystreamIn. Документация на фары : https://wiki.rage.mp/index.php?title=Vehicle::setLights https://wiki.rage.mp/index.php?title=Vehicle::getLightsState
Server side:
Код:
mp.events.add("storeVehicleLightsState", (player, vehicleId, lightsOn) => {
let vehicle = mp.vehicles.atRemoteId(vehicleId);
if (vehicle) {
vehicle.setVariable("lightsOn", lightsOn);
}
});
Client side:
Код:
mp.events.add("playerLeaveVehicle", (vehicle, seat) => {
if (mp.players.local.vehicle) {
let lightState = mp.players.local.vehicle.getLightsState(0, 0);
let lightsOn = lightState.lightsOn === 1 ? 'true' : 'false';
mp.events.callRemote("storeVehicleLightsState", vehicle.remoteId, lightsOn);
mp.gui.chat.push(`Фары: ${lightsOn}`);
}
});
mp.events.add('entityStreamIn', (entity) => {
if (entity.type !== "vehicle") return;
let lightsOn = entity.getVariable("lightsOn");
if (lightsOn !== undefined) {
let state = lightsOn === 'true' ? 0 : 1;
if (mp.players.local.vehicle && mp.players.local.vehicle.remoteId === entity.remoteId) {
mp.players.local.vehicle.setLights(state);
}
}
});