• Из-за обновления GTA 5 (был добавлен новый патч) может временно не работать вход в RAGE Multiplayer.

    Ошибка: Ваша версия Grand Theft Auto V не поддерживается RAGE Multiplayer.
    ERROR: Your game version is not supported by RAGE Multiplayer.

    Данная ошибка говорит о том, что GTA V обновилась до новой версии (GTA Online тоже). Вам необходимо обновить саму игру в главном меню вашего приложения (Steam / Epic Games / Rockstar Games).
    Если после этого RAGE:MP все равно не работает - вам нужно дождаться выхода патча для самого мультиплеера (обычно это занимает от нескольких часов до нескольких дней).

    Новости и апдейты Rockstar Games - https://www.rockstargames.com/newswire/
    Статус всех служб для Rockstar Games Launcher и поддерживаемых игр: https://support.rockstargames.com/ru/servicestatus


    Grand Theft Auto 5 (+ GTA Online) последний раз были обновлены:

Проблема JSON.parse возвращает [object Object]

hun1yy

Новый участник
2 Авг 2022
248
3
33

Вложения

  • 1660373888498.png
    1660373888498.png
    3.3 KB · Просмотры: 121

dooj

Гуру
FrontEnd developer
24 Мар 2022
480
133
120
Зачем ты распарсил дату и отправил ее обратно? Ты не можешь обмениваться между сервером и клиентом объектами. Если тебе нужно перекинуть объект, то превращай его в строку, а на выходе снова парсить.

JavaScript:
mp.events.callRemote('log',`BRUH ${JSON.stringify(data)}`);

// СЕРВЕР

mp.events.add('log', (player, log) => {
    console.log(JSON.parse(log))
})

И вообще тебе вроде консоль на CEF надо вызывать, зачем такие манипуляции?
 

hun1yy

Новый участник
2 Авг 2022
248
3
33
JavaScript:
let cars;

function loadCarList(){
  mp.trigger('log2',cars);
}

function setCarList(l){
  document.querySelector("#inf").innerHTML = l;
  document.querySelector("#info").innerHTML = typeof(l);
  // let list = JSON.parse(l);
  // document.querySelector("#inf").innerHTML = list; // если у тебя тут объект, то он не вставится просто так.
  // cars = list;
  // loadCarList();
}

mp.events.add('update:cars',(list) => {
  cars = JSON.parse(list);
  mp.trigger('log2',cars);
  mp.trigger('log2',typeof(cars));
  document.querySelector("#info").innerHTML = cars;
  document.querySelector("#inf").innerHTML = typeof(cars);
});
Зачем ты распарсил дату и отправил ее обратно? Ты не можешь обмениваться между сервером и клиентом объектами. Если тебе нужно перекинуть объект, то превращай его в строку, а на выходе снова парсить.

JavaScript:
mp.events.callRemote('log',`BRUH ${JSON.stringify(data)}`);

// СЕРВЕР

mp.events.add('log', (player, log) => {
    console.log(JSON.parse(log))
})

И вообще тебе вроде консоль на CEF надо вызывать, зачем такие манипуляции?
весь код если что
клиент
JavaScript:
mp.events.add('showParking',(cars) => {
  parking = mp.browsers.new('package://cef/parking/index.html');
  parking.active = true;
  hud.active = false;
  setTimeout(() => {
    useBinds = false;
    let player = mp.players.local;
    var data = JSON.parse(mp.players.local.getVariable('cars'));
    mp.events.callRemote('log',`BRUH ${data}`);
    mp.events.callRemote('log',typeof(data));
    parking.call('update:cars', JSON.stringify(data));
    mp.events.callRemote('log',typeof(data));
  },500);
  // parking.execute(`setCarList("${JSON.stringify(mp.players.local.getVariable('cars'))}");`);
  mp.gui.cursor.show(true,true);
  mp.players.local.freezePosition(true);
  mp.game.controls.disableAllControlActions(2);
  mp.gui.chat.activate(false);
});
цеф
 

dooj

Гуру
FrontEnd developer
24 Мар 2022
480
133
120
Так, ладно. Я не знаю как еще больше можно разжевать, но повторюсь.

ОБМЕН МЕЖДУ CLIENT - SERVER - CEF ПРОИЗВОДИТСЯ ТОЛЬКО СТРОКАМИ. ЕСЛИ ТЫ ВПИСАЛ ${data} В АПОСТРОФЫ ОНО ВСТАВЛЯЕТ У ТЕБЯ [OBJECT, OBJECT].

На cef ты отправил правильно. Покажи что у тебя на сервере.
 

hun1yy

Новый участник
2 Авг 2022
248
3
33
Так, ладно. Я не знаю как еще больше можно разжевать, но повторюсь.

ОБМЕН МЕЖДУ CLIENT - SERVER - CEF ПРОИЗВОДИТСЯ ТОЛЬКО СТРОКАМИ. ЕСЛИ ТЫ ВПИСАЛ ${data} В АПОСТРОФЫ ОНО ВСТАВЛЯЕТ У ТЕБЯ [OBJECT, OBJECT].

На cef ты отправил правильно. Покажи что у тебя на сервере.
разобрался, теперь на цефе у меня object, не понимаю почему
JavaScript:
mp.events.add('update:cars',(list) => {
  mp.trigger('log2',typeof(list));
  cars = JSON.parse(list);
  document.querySelector("#info").innerHTML = cars;
  document.querySelector("#inf").innerHTML = typeof(cars);
});
 

dooj

Гуру
FrontEnd developer
24 Мар 2022
480
133
120
разобрался, теперь на цефе у меня object, не понимаю почему
JavaScript:
mp.events.add('update:cars',(list) => {
  mp.trigger('log2',typeof(list));
  cars = JSON.parse(list);
  document.querySelector("#info").innerHTML = cars;
  document.querySelector("#inf").innerHTML = typeof(cars);
});
Ну тебе приходит объект, а ты его вставляешь сразу в строку. Что ты хочешь чтобы у тебя отобразилось там?
Покажи что у тебя хранится в list
 

hun1yy

Новый участник
2 Авг 2022
248
3
33
Ну тебе приходит объект, а ты его вставляешь сразу в строку. Что ты хочешь чтобы у тебя отобразилось там?
Покажи что у тебя хранится в list
JSON:
{"cars":[{"model":"g632019","fuel":150,"health":1000,"number":null,"name":"Mercedes Benz G63"}]}
 

dooj

Гуру
FrontEnd developer
24 Мар 2022
480
133
120
По хорошему тебе нужно перебирать массив через for/map/forEach и делать append. В данном случае, я показал как можно вывести model. Дальше додумывай сам.

Читай про массивы, про то как с ними работать, как перебирать массив и выводить это в html через js
 

dooj

Гуру
FrontEnd developer
24 Мар 2022
480
133
120
работает, а как я могу получить cars.cars именно список
Я к сожалению не учу людей, а работаю. Я дал направление - разбирайся, все в твоих руках.
Не хочешь разбираться сам - плати, но лучше разберись сам, честное слово...