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]`);
});
})