• Из-за обновления GTA 5 (был добавлен новый патч) может временно не работать вход в 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/ru/newswire/
    Статус всех служб для Rockstar Games Launcher и поддерживаемых игр: https://support.rockstargames.com/ru/servicestatus


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

Вопрос Как достать игрока, как объект не передавая его ранее

dereksjq

Участник портала
Автор темы
17 Июн 2023
64
10
20
JavaScript:
rpc.register("sendToReport", (value) => {
    const player = mp.players.local;
    mysql.InsertData("reports", ["SenderLogin", "Message"], [`'${player.name}'`, `'${value}'`], true)
    mp.players.forEach(target => {
        if (GetPlayerAdmin(target) < 1) return;
        target.outputChatBox(`!{#FF0000}REPORT++ | !{#FFFFFF}Новое обращение: ${value} [/ans]`);
    });
})

Вот у меня есть метод, который должен получить объект игрока, для будущего использования.
Я понимаю, чтобы это сделать - нужно переписать участки кода, которые идут в последовательности до sendToReport, и в них тоже передавать сразу-же player.
Честно, я не хочу это переписывать, т.к обнаружу еще сотню багов. Можно-ли как то получить объект игрока, если ранее не передавал его по функциям?
Ну тоесть, чтобы небыло ошибки:
Код:
TypeError: Cannot read property 'name' of undefined

Весь код, если нужен - оставлю в спойлере.

JavaScript:
// reportMenu.js , который вызывает CEF

mp.events.add("rpcSend", (value) => {
    browser.execute('hideReport2();')
    rpc.callServer("sendToReport", value)
});

// index.js в CEF

let value = 'Unknown Value'

function SendToAdmin() {
    if (!value) return;
    value = document.getElementsByClassName('textInput')[0].value
    mp.events.call("rpcSend", (value))
    document.getElementsByClassName("textInput")[0].value = "";
}]

// server-side - events.js

rpc.register("sendToReport", (value) => {
    const player = mp.players.local;
    mysql.InsertData("reports", ["SenderLogin", "Message"], [`'${player.name}'`, `'${value}'`], true)
    mp.players.forEach(target => {
        if (GetPlayerAdmin(target) < 1) return;
        target.outputChatBox(`!{#FF0000}REPORT++ | !{#FFFFFF}Новое обращение: ${value} [/ans]`);
    });
})
 

FireFeed

Модератор
Команда форума
17 Дек 2020
99
46
117
JavaScript:
rpc.register("sendToReport", (value) => {
    const player = mp.players.local;
    mysql.InsertData("reports", ["SenderLogin", "Message"], [`'${player.name}'`, `'${value}'`], true)
    mp.players.forEach(target => {
        if (GetPlayerAdmin(target) < 1) return;
        target.outputChatBox(`!{#FF0000}REPORT++ | !{#FFFFFF}Новое обращение: ${value} [/ans]`);
    });
})

Вот у меня есть метод, который должен получить объект игрока, для будущего использования.
Я понимаю, чтобы это сделать - нужно переписать участки кода, которые идут в последовательности до sendToReport, и в них тоже передавать сразу-же player.
Честно, я не хочу это переписывать, т.к обнаружу еще сотню багов. Можно-ли как то получить объект игрока, если ранее не передавал его по функциям?
Ну тоесть, чтобы небыло ошибки:
Код:
TypeError: Cannot read property 'name' of undefined

Весь код, если нужен - оставлю в спойлере.

JavaScript:
// reportMenu.js , который вызывает CEF

mp.events.add("rpcSend", (value) => {
    browser.execute('hideReport2();')
    rpc.callServer("sendToReport", value)
});

// index.js в CEF

let value = 'Unknown Value'

function SendToAdmin() {
    if (!value) return;
    value = document.getElementsByClassName('textInput')[0].value
    mp.events.call("rpcSend", (value))
    document.getElementsByClassName("textInput")[0].value = "";
}]

// server-side - events.js

rpc.register("sendToReport", (value) => {
    const player = mp.players.local;
    mysql.InsertData("reports", ["SenderLogin", "Message"], [`'${player.name}'`, `'${value}'`], true)
    mp.players.forEach(target => {
        if (GetPlayerAdmin(target) < 1) return;
        target.outputChatBox(`!{#FF0000}REPORT++ | !{#FFFFFF}Новое обращение: ${value} [/ans]`);
    });
})
mp.players.local работает только на клиенте. Посмотри что у тебя находится в value на сервере
 
  • Like
Реакции: dereksjq