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

Вопрос Взаимодействие между CEF (HTML-CSS-JS) и C#

declasse

Участник портала
1 Май 2021
22
6
60
ранее задавал вопрос по цефке, но теперь возник другой вопрос, как возможно прокинуть взаимодействие между цефкой, написанной с использованием HTML-CSS-JS, и C#? дабы реализовать ту же авторизацию; вывод данных из БД в цефку?
если есть ссылки на примеры - буду признателен
 
Последнее редактирование:

Jerry (ChatGPT)

AI-powered language model
VIP
helper
17 Окт 2023
2,253
231
5
Для взаимодействия между цефкой на HTML-CSS-JS и C# можно использовать CEFSharp — библиотеку, предоставляющую доступ к функциям Chromium Embedded Framework (CEF) из C#. Это позволит вам обмениваться данными и вызывать методы C# из цефки и наоборот. Таким образом, вы сможете реализовать авторизацию, получение данных из БД и другие необходимые операции.
 

Inoi

/dev/null
Команда форума
Moderator
VIP
15 Окт 2020
3,812
1,866
208
35

declasse

Участник портала
1 Май 2021
22
6
60
не просто вызов цефки, но и прокидывание функционала для нее
например, той же возможности авторизоваться через нее
 

Inoi

/dev/null
Команда форума
Moderator
VIP
15 Окт 2020
3,812
1,866
208
35
не просто вызов цефки, но и прокидывание функционала для нее
например, той же возможности авторизоваться через нее
ну ты дёргаешь евенты клиента из цефки, заполняя данными :unsure:
всё что касается "авторизации" ещё раз, это серверный код - он напрямую никак не взаимодействует с цефкой.

у тебя цепочка цефка - клиентский евент который она дёргает - сервер - база данных
 

declasse

Участник портала
1 Май 2021
22
6
60
ну ты дёргаешь евенты клиента из цефки, заполняя данными :unsure:
всё что касается "авторизации" ещё раз, это серверный код - он напрямую никак не взаимодействует с цефкой.

у тебя цепочка цефка - клиентский евент который она дёргает - сервер - база данных
можно с тобой в лс связаться?
 

Inoi

/dev/null
Команда форума
Moderator
VIP
15 Окт 2020
3,812
1,866
208
35
можно, но не нужно
есть же паблик форум


я пока всё ещё не понимаю в чём у тебя вопрос
его как будто бы конкретного и нет
 

declasse

Участник портала
1 Май 2021
22
6
60
можно, но не нужно
есть же паблик форум


я пока всё ещё не понимаю в чём у тебя вопрос
его как будто бы конкретного и нет
то что я не полностью представляю как реализовать авторизацию через ЦЕФку, что клиентскую часть, что серверную
я понимаю, что все опирается в вытягивание данных с бд, проверки введенных данных в текстбокс и на основании этого пускать дальше/возвращать, но как это все прописать - нет
у меня единственная реализация с цефкой - закрытие окна при нажатии на кнопку
 

Inoi

/dev/null
Команда форума
Moderator
VIP
15 Окт 2020
3,812
1,866
208
35
ещё раз

ты сначала берёшь данные из браузера
отправляешь их в клиентский евент
в клиентском евенте ты их берёшь и дёргаешь с ними серверный евент
на сервере ты уже сверяешь эти данные с тем, что у тебя в базе данных и отдаёшь ответ на клиент в какой то евент
на клиенте в соответствии с ответом ты дальше уже что-то делаешь

никакой прямой связи клиент-бд и тем более цеф-бд нет и быть не может
 

declasse

Участник портала
1 Май 2021
22
6
60
ещё раз

ты сначала берёшь данные из браузера
отправляешь их в клиентский евент
в клиентском евенте ты их берёшь и дёргаешь с ними серверный евент
на сервере ты уже сверяешь эти данные с тем, что у тебя в базе данных и отдаёшь ответ на клиент в какой то евент
на клиенте в соответствии с ответом ты дальше уже что-то делаешь

никакой прямой связи клиент-бд и тем более цеф-бд нет и быть не может
зайду с другого угла

у меня есть триггер, забитый на кнопку в самой верстке
JavaScript:
function onLoginButtonClick() {
    mp.trigger('closeBrowser');
}

у меня есть клиентский ивент
C#:
public Main()
{
    Events.Add("closeBrowser", OnCloseBrowserMessage);
}
делегат ивента
C#:
    public void OnCloseBrowserMessage(object[] args)
    {
        openedWindow.Destroy();
        Cursor.ShowCursor(false, false);
    }
и оно работает, но этого мало, мне нужно понять, как прокинуть сюда работу с БД, чтоб тянулась запись о логине и пароле, и если они совпадают - закрывать закрывать окно/открывать следующее, чего я не могу для себя понять. Не алгоритм действий (данные с браузера - в клиент - в сервер).
Где, в какой момент нужно впихнуть код, который будет работать с БД?
 

Inoi

/dev/null
Команда форума
Moderator
VIP
15 Окт 2020
3,812
1,866
208
35
бля у меня такое ощущение что ты просто хуй забиваешь читать на то что я пишу
я тебе сколько, три раза сказал что это происходит на сервере?

давай ещё раз, совсем по шагам, попробуй прочитать попробовать всё таки на этот раз

У тебя есть форма в ЦЕФке, где вводят логин и пароль.
При нажатии кнопки — ты в JS вызываешь
Код:
mp.trigger('loginAttempt', login, password)

Это всё — клиент, HTML+JS.
На клиенте в C# ты слушаешь этот евент:

Код:
Events.Add("loginAttempt", OnLoginAttempt);

внутри:
Код:
public void OnLoginAttempt(object[] args)
{
string login = args[0].ToString();
string password = args[1].ToString();
Events.CallRemote("serverLoginAttempt", login, password);
}

всё, данные ушли на сервер.
на сервере у тебя есть RemoteEvent:
Код:
[RemoteEvent("serverLoginAttempt")]
public void ServerLoginAttempt(Player player, string login, string password)
{
// вот только тут блять ты и работаешь с БД
var user = Database.Users.FirstOrDefault(u => u.Login == login);
if (user != null && user.Password == password) // это просто пример от пизды, ясен хуй ты будешь сверять хэш
{
player.TriggerEvent("loginResult", true);
}
else
{
player.TriggerEvent("loginResult", false);
}
}
Назад на клиент, ловишь loginResult:
Код:
Events.Add("loginResult", OnLoginResult);

public void OnLoginResult(object[] args)
{
bool success = (bool)args[0];
if (success)
{
// логин прошёл
openedWindow.Destroy();
Cursor.ShowCursor(false, false);
// можешь тут же открыть следующее окно, закрыть предыдущее, ещё любая твоя хуйня
}
else
{

Chat.Output("Неверный логин или пароль");
}
}
ЦЕФ → клиент → сервер → БД → сервер → клиент → ЦЕФ (или логика клиента).

Все твои "сравнения" происходят НА СЕРВЕРЕ
Ты никакие данные прямые из БД не передаёшь на клиент НИКОГДА
И ни с чем их не сравниваешь
Клиент ТОЛЬКО ОБРАБАТЫВАЕТ РЕЗУЛЬТАТЫ ОТВЕТА ОТ СЕРВЕРА

Код вставлен +- от пизды, я никогда не работал с клиенткой C#
Ну и приколы типа Database.Users.FirstOrDefault в здравом уме в 2к24 естественно никто использовать не будет
Но в целом тебе похуй, а на логику это абсолютно никак не влияет
 

declasse

Участник портала
1 Май 2021
22
6
60
бля у меня такое ощущение что ты просто хуй забиваешь читать на то что я пишу
я тебе сколько, три раза сказал что это происходит на сервере?
1. нет, не забиваю
2. я нигде не писал, что это должно происходить на клиенте (откуда это предположение вообще взялось? 0_0)
 

Inoi

/dev/null
Команда форума
Moderator
VIP
15 Окт 2020
3,812
1,866
208
35
откуда это предположение вообще взялось? 0_0
ну вот отсюда

вывод данных из БД в цефку
отсюда
не просто вызов цефки, но и прокидывание функционала для нее
например, той же возможности авторизоваться через нее
отсюда
вытягивание данных с бд, проверки введенных данных в текстбокс
отсюда
прокинуть сюда работу с БД, чтоб тянулась запись о логине и пароле, и если они совпадают - закрывать закрывать окно/открывать


Я ж тебе в первом же сообщении сказал что ты уезжаешь с клиента на сервер работать с бд
А ты из сообщения в сообщение повторяешь одно и то же, прикладывая только клиентский код

без негатива как бы но ну да
 
Реакции: enotit

declasse

Участник портала
1 Май 2021
22
6
60
ну вот отсюда


отсюда

отсюда

отсюда



Я ж тебе в первом же сообщении сказал что ты уезжаешь с клиента на сервер работать с бд
А ты из сообщения в сообщение повторяешь одно и то же, прикладывая только клиентский код

без негатива как бы но ну да
ты подтянул какие-то мои общие вопросы, не указывающие на конкретику
и я с первого сообщения это понял, приложил только клиентский код потому что он и был, у меня были лишь прикидки для серверной части
именно что без негатива, просто друг друга не поняли, но к решению вопроса все таки пришли
 
Реакции: Inoi