Follow along with the video below to see how to install our site as a web app on your home screen.
Примечание: This feature may not be available in some browsers.
Это не оно!HTML:type="text"
При помощи TYPEOF я узнаю тип данных для ввода их. Я делаю триггер для регистрации, вроде бы их правильно записал, но не выводит notify при условии, начал рыть и узнавать в чём проблема, так и не нашёл. Для полей ввода пароля и логина должно использоваться string а у меня получается int.Не понял ничего. Показывай код и что от него хочешь
function sendLoginInfo() {
let username = document.getElementById("user").value;
string u = user.TiString();
let password = document.getElementById("pass").value;
string p = pass.TiString();
//alert(`${username}, ${password}`);
mp.trigger("loginToClient", user, pass);
}
Ивент:
mp.events.add('loginToClient', (user, pass) => {
/*if (login.length < 5 || pass.length < 5) return*/ mp.game.graphics.notify(`$ u} ${pass} `);
});/ICODE]
Ты же пытаешься передать и логин, пароль отдельно. По идее у тебя передается только первый аргумент - user. И в ивенте pass будет неопределен.mp.trigger позволяем нам отправить из браузера на клиент только один дополнительный параметр. И это может быть только строка или число. Нам же нужно отправить два значения. Мы не можем отправить напрямую массив или объект, но мы можем преобразовать наш объект с логином и паролем в json строку JSON.stringify({ login, password }). И теперь эту строку мы легко передаем в одном аргументе.
mp.game.graphics.notify(`$ u} ${pass} `);
, то тут у тебя какие-то опечатки. Наверное предполагается что будет так mp.game.graphics.notify(`${user} ${pass} `);
mp.game.graphics.notify(`$ u} ${pass} `); Это я стёр. И не увидел когда копировал кодПосмотри в уроке по регистрации как мы передаем логин и пароль из браузера на клиент.
Ты же пытаешься передать и логин, пароль отдельно. По идее у тебя передается только первый аргумент - user. И в ивенте pass будет неопределен.
Да и к тому же когда ты выводишьmp.game.graphics.notify(`$ u} ${pass} `);
, то тут у тебя какие-то опечатки. Наверное предполагается что будет такmp.game.graphics.notify(`${user} ${pass} `);
string u = user.TiString();
string u
это будет ошибка в синтаксисе. Нет такого идентификатора string// CEF:
function sendLoginInfo() {
const username = document.getElementById("user").value;
const password = document.getElementById("pass").value;
mp.events.call("loginToClient", JSON.stringify({username, password}));
}
// Client:
mp.events.add('loginToClient', data => {
data = JSON.parse(data);
if (data.username.length < 5 || data.password.length < 5) {
mp.game.graphics.notify(`${data.username}: ${data.password}`);
return;
}
// выполняешь какие-то действия после проверки
})
спасибо, уже решилJavaScript:// CEF: function sendLoginInfo() { const username = document.getElementById("user").value; const password = document.getElementById("pass").value; mp.events.call("loginToClient", JSON.stringify({username, password})); } // Client: mp.events.call('loginToClient', data => { data = JSON.parse(data); if (data.username.length < 5 || data.password.length < 5) { mp.game.graphics.notify(`${data.username}: ${data.password}`); return; } })
Понимаю, что не по теме, но для будущего я рекомендую использовать нововведения Rage 1.1, а именно вместо mp.trigger -> mp.events.call. Разницы никакой, но кто знает, может в будующих обновлениях Rage и вовсе удалят mp.trigger и нужно будет искать все файлы где мы юзали mp.trigger и менять их на mp.events.call, что конечно не хорошо. Это лишь совет, а ты уже дальше сам думай как тебе удобней будет