• Из-за обновления 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) последний раз были обновлены:

Вопрос Как из VueJS передать значение переменной на серверную часть

Кликни, чтобы узнать больше!

Vermilion

Искусственный Интеллект
High developer
BackEnd developer
FrontEnd developer
29 Сен 2021
1,919
1,212
181
35
Правильно, потому что ты передаешь 2 параметра, а пытаешься принять только один. Замени (player, data) на (player, login, password)
 
Реакции: youngBeaver

Sublimate

Участник портала
11 Июн 2023
153
9
75
Правильно, потому что ты передаешь 2 параметра, а пытаешься принять только один. Замени (player, data) на (player, login, password)
И в серверной части тоже?

JavaScript:
const mysqlc = require('./mysql.js');


mp.events.add("register", (player, login, password) => {
    try {console.log(JSON.stringify(data.login), JSON.stringify(data.password))} catch (e) {console.log(e)}
    // mp.trigger("ui:server:event", "register", login, password);
    //Получить логин и пароль
    
})
 

Vermilion

Искусственный Интеллект
High developer
BackEnd developer
FrontEnd developer
29 Сен 2021
1,919
1,212
181
35
Либо оберни отправку данных из CEF в объект. Не работаю с стандартными методами, точно не скажу
 

youngBeaver

Гений
BackEnd developer
24 Янв 2023
1,289
491
191
Вадим нашел ошибку быстрее меня, я не подумал, что ты не полностью взял мой код. В моем примере я данные передавал в скобках, что образовало массив. Но в твоем случае, ты передаешь 2 переменные, а на сервере принимаешь лишь один.
 

Sublimate

Участник портала
11 Июн 2023
153
9
75
Вадим нашел ошибку быстрее меня, я не подумал, что ты не полностью взял мой код. В моем примере я данные передавал в скобках, что образовало массив. Но в твоем случае, ты передаешь 2 переменные, а на сервере принимаешь лишь один.
Я думал оно массивом передаётся, поэтому и пытался через data[x] итд
 

youngBeaver

Гений
BackEnd developer
24 Янв 2023
1,289
491
191
Я думал оно массивом передаётся, поэтому и пытался через data[x] итд
mp.trigger - согласно вики принимает через запятую после названия эвента неограниченное количество параметров. Поэтому без скобок ты туда мог еще штук 10 передать и все бы они шли отдельными аргументами.
 

Sublimate

Участник портала
11 Июн 2023
153
9
75
И в серверной части тоже?

JavaScript:
const mysqlc = require('./mysql.js');


mp.events.add("register", (player, login, password) => {
    try {console.log(JSON.stringify(data.login), JSON.stringify(data.password))} catch (e) {console.log(e)}
    // mp.trigger("ui:server:event", "register", login, password);
    //Получить логин и пароль
   
})
Извиняюсь, поплыл, в клиентской
:

JavaScript:
mp.events.add("ui:server:event", (eventName, data) => {
    try {
        mp.events.callRemote(eventName, data)
    } catch (e) {
        console.log(e)
    }
})
 

Vermilion

Искусственный Интеллект
High developer
BackEnd developer
FrontEnd developer
29 Сен 2021
1,919
1,212
181
35
Нет, если передаешь объект , то на сервере он будет data.login и data.password
 

Sublimate

Участник портала
11 Июн 2023
153
9
75
Нет, если передаешь объект , то на сервере он будет data.login и data.password
Немного не соображаю, как

JavaScript:
mp.events.add("register", (player, data, login, password) => {
    try {console.log(JSON.stringify(data), JSON.stringify(data.password))} catch (e) {console.log(e)}
    
})

Если data.password до undefined, если password то тоже undefined
 

Vermilion

Искусственный Интеллект
High developer
BackEnd developer
FrontEnd developer
29 Сен 2021
1,919
1,212
181
35
Объект а не массив
 

X-Clusiv

Модератор
Команда форума
Moderator
4 Окт 2020
771
368
161
31
Дружище)
В общем.
Браузер:
JavaScript:
mp.trigger("youEventInClient", arg1, arg2)
На клиенте:
JavaScript:
mp.events.add("youEventInClient", ("youEventInClient") => {
    mp.events.callRemote("youEventInServer", arg1, arg2);
}
На сервере:

JavaScript:
mp.events.add("youEventInServer", (player, arg1, arg2) => {
    console.log(arg1);
    console.log(arg2);
}
 

X-Clusiv

Модератор
Команда форума
Moderator
4 Окт 2020
771
368
161
31
А еще проще, чтобы общаться на прямую с сервером из браузера, можно написать что-то по типу.

JavaScript:
//CEF
window.callServerEvent = (event, ...args) => {
  try {
    mp.trigger('callServerEvent', event, JSON.stringify(args))
  } catch (e) {
    console.warn(e)
  }
}
//Client

mp.events.add("callServerEvent", (event, args) => {
  try{
    args = JSON.parse(args);
    mp.events.callRemote(event, ...args);
  } catch (e){
  }
};)

А после уже можно вызывать серверные евенты напрямую из браузера.


JavaScript:
//CEF
callSeverEvent("youSeverEvent", login, password)

//Server
mp.events.add("youServerEvent", (player, login, password) => {
    console.log(login);
    console.log(password)
})
 

Similar threads