This is a mobile optimized page that loads fast, if you want to load the real page, click this text.

Можно ли передать массив в таком виде?

dreamharakiri

Новый участник
25 Дек 2021
75
1
49
Я попробовал но вышла ошибка JSON'а
Сервер:
JavaScript:
                     player.info = [
                        nickname = firstPersonName,
                        owner = results[0].owner,
                        Hair = results[0].hair,
                        Masks = results[0].Masks,
                        Torsos = results[0].Torsos,
                        Legs = results[0].Legs,
                        Bags = results[0].Bags,
                        Shoes = results[0].Shoes,
                        Accessories = results[0].Accessories,
                        Undershirts = results[0].Undershirts,
                        Armors = results[0].Armors,
                        Decals = results[0].Decals,
                        Tops = results[0].Tops,
                        Hats = results[0].Hats,
                        Glasses = results[0].Hats,
                        Ears = results[0].Ears,
                        Watches = results[0].Watches,
                        Bracelets = results[0].Bracelets,
                        Sex = results[0].sex,
                        Level = results[0].level,
                        Exp = results[0].exp,
                        Money = results[0].money,
                        Bank = results[0].bank
                    ]
                    let info = player.info;
                    player.call('SpawnPlayer', JSON.stringify({ info }) )

клиент:
Код:
mp.events.add('SpawnPlayer', (player, info) => {
    info = JSON.parse(info);
    var notifications = mp.browsers.new("package://NPC/browser/index.html");
    notifications.execute(`document.getElementById("header").innerText = '${info}';`)
    setTimeout(() => {
        notifications.destroy();
    }, 5000)
})
 

JJIGolem

Старожил
High developer
BackEnd developer
19 Окт 2020
239
288
142
убери из "SpawnPlayer" на клиенте из списка параметров "player"
 

dreamharakiri

Новый участник
25 Дек 2021
75
1
49
убери из "SpawnPlayer" на клиенте из списка параметров "player"
Изменил
JavaScript:
mp.events.add('SpawnPlayer', (info) => {
    info = JSON.parse(info);
    var notifications = mp.browsers.new("package://NPC/browser/index.html");
    notifications.execute(`document.getElementById("header").innerText = '${info}';`)
    setTimeout(() => {
        notifications.destroy();
    }, 5000)
})

Ошибка:
 

JJIGolem

Старожил
High developer
BackEnd developer
19 Окт 2020
239
288
142
выведи перед парсингом свою строку в чат или в консоль лог на клиентке.


JavaScript:
mp.events.add("SpawnPlayer", (info) => {
    mp.gui.chat.push(info);
    mp.console.logInfo(info);

    info = JSON.parse(info);
    var notifications = mp.browsers.new("package://NPC/browser/index.html");
    notifications.execute(`document.getElementById("header").innerText = '${info}';`)
    setTimeout(() => {
        notifications.destroy();
    }, 5000)
})
 

JJIGolem

Старожил
High developer
BackEnd developer
19 Окт 2020
239
288
142

dreamharakiri

Новый участник
25 Дек 2021
75
1
49
 

dreamharakiri

Новый участник
25 Дек 2021
75
1
49
убрал фигурные скобки вокруг info в JSON.stringify ?
Да
Код:
player.info = [
                        nickname = firstPersonName,
                        owner = results[0].owner,
                        Hair = results[0].hair,
                        Masks = results[0].Masks,
                        Torsos = results[0].Torsos,
                        Legs = results[0].Legs,
                        Bags = results[0].Bags,
                        Shoes = results[0].Shoes,
                        Accessories = results[0].Accessories,
                        Undershirts = results[0].Undershirts,
                        Armors = results[0].Armors,
                        Decals = results[0].Decals,
                        Tops = results[0].Tops,
                        Hats = results[0].Hats,
                        Glasses = results[0].Hats,
                        Ears = results[0].Ears,
                        Watches = results[0].Watches,
                        Bracelets = results[0].Bracelets,
                        Sex = results[0].sex,
                        Level = results[0].level,
                        Exp = results[0].exp,
                        Money = results[0].money,
                        Bank = results[0].bank
                    ]
                    let info = player.info;
                    console.log(info);
                    player.call('SpawnPlayer', JSON.stringify( info ) )
 

JJIGolem

Старожил
High developer
BackEnd developer
19 Окт 2020
239
288
142
всё ещё выбивает ошибку при парсинге строки на клиенте?
 

dreamharakiri

Новый участник
25 Дек 2021
75
1
49
всё ещё выбивает ошибку при парсинге строки на клиенте?
именно, у меня ощущение что я неправильно парсю. Вот полный ивент со стороны сервера на всякий случай
JavaScript:
mp.events.add("SelectFirstAccount", (player) =>{
                     player.info = [
                        nickname = firstPersonName,
                        owner = results[0].owner,
                        Hair = results[0].hair,
                        //Сюда внешку
                        Masks = results[0].Masks,
                        Torsos = results[0].Torsos,
                        Legs = results[0].Legs,
                        Bags = results[0].Bags,
                        Shoes = results[0].Shoes,
                        Accessories = results[0].Accessories,
                        Undershirts = results[0].Undershirts,
                        Armors = results[0].Armors,
                        Decals = results[0].Decals,
                        Tops = results[0].Tops,
                        Hats = results[0].Hats,
                        Glasses = results[0].Hats,
                        Ears = results[0].Ears,
                        Watches = results[0].Watches,
                        Bracelets = results[0].Bracelets,
                        Sex = results[0].sex,
                        Level = results[0].level,
                        Exp = results[0].exp,
                        Money = results[0].money,
                        Bank = results[0].bank
                    ]
                    let info = player.info;
                    console.log(info);
                    player.call('SpawnPlayer', JSON.stringify( info ) )
                })
 

JJIGolem

Старожил
High developer
BackEnd developer
19 Окт 2020
239
288
142
попробуйте вот так
JavaScript:
player.call('SpawnPlayer', [JSON.stringify( info )] )
 

JJIGolem

Старожил
High developer
BackEnd developer
19 Окт 2020
239
288
142
я подзабыл, в рейдже на серверной стороне (JS), при вызове клиентского эвента передавать параметры нужно в массиве