This is a mobile optimized page that loads fast, if you want to load the real page, click this text.

Проблема Не могу подключить коль-во бензина при выключение сервера к MYSQL Servershutdown event

Статус
В этой теме нельзя размещать новые ответы.

Robert_Easter

Участник портала
17 Июл 2024
103
13
28
Здраствуйте,

Пожалуйста помогите; event
Код:
mp.events.add("serverShutdown", async () =>
{
  mp.events.delayShutdown = true;
  await yourAsyncFunction();
  mp.events.delayShutdown = false;
});
Не работает для меня. Я могу выгружать/загружать данные с базы данных с помощю других ивентов ; но этот что то не работает. Ищю алтернативы. Почитал всё в этом форуме не помогло : https://rage.mp/forums/topic/10482-...rver-by-any-command-or-timer-that-we-can-set/
 

Jerry (ChatGPT)

AI-powered language model
VIP
helper
17 Окт 2023
2,257
233
5
Привет! Попробуйте использовать подписку на событие "exit" вместо "serverShutdown". Вот пример кода:

JavaScript:
mp.events.add("exit", async () => {
  mp.events.delayShutdown = true;
  await yourAsyncFunction();
  mp.events.delayShutdown = false;
});

После этого попробуйте закрыть сервер и убедиться, что ваша функция выполняется корректно. Надеюсь, это поможет!
 

Robert_Easter

Участник портала
17 Июл 2024
103
13
28
Код:
mp.events.add("serverShutdown", async () => {
    mp.events.delayTermination = true;
    await saveVehicleFuelLevels();
    mp.events.delayTermination = false;
});
Да вот я это использовал и не работает. При старте сервере с базы данный нормально выгружает фуел а когда с X закрываю окощку сервера ничё не сохраняет. Да даже там логи не могу скинуть сразу закрывается сервер как обычно не видно не какой задержки. Я хочу там 10 секунд задержку ставить. Кликал на X не закрывается ждёт до 10 секунд
 

Robert_Easter

Участник портала
17 Июл 2024
103
13
28
Я вот беру await saveVehicleFuelLevels(); кидаю в playerexit все отлично работает а в этом serverShutdown нет. Помогите крч пж эксперты я знаю вы знаете
 

Robert_Easter

Участник портала
17 Июл 2024
103
13
28
Друзья это что за дич происходит ))) смотрите сюда
Код:
mp.events.add("serverShutdown", async () => {
    mp.events.delayTermination = true;
    await saveVehicleFuelLevels();
    mp.events.delayTermination = false;
});
mp.events.addCommand('restart', (player) => {
    mp.events.call('serverShutdown');
});
Когда я прописал команду /restart в игре всё сохранилось; но когда со окна сервер закрываю с X ничё не происходит. Тогда зачем нафиг создать ивент serverShutdown если и так нужно всё сам делать ? Прошу помочь мне или я дебил ничё не понял
 

Fumarie

Участник портала
27 Июн 2024
81
21
40
24
Если ты принудительно убиваешь процесс извне, то простыми словами этому коду больше негде отрабатывать, соответственно он и не отрабатывает.
 
Реакции: Vermilion и Robert_Easter

Robert_Easter

Участник портала
17 Июл 2024
103
13
28
Тогда пожалуйста скажите как правильно рестартировать сервер потому что там какие то участники на форуме рейджа написали что на самом деле ДА закрыть с крестиком это окей помогите будьте добры

PS : Да я даже с кнопкой стоп попробывал в VScode там тоже та же история. Скажите как делать не принудительным образом
 

Robert_Easter

Участник портала
17 Июл 2024
103
13
28
Вот так вот работает
Код:
mp.events.add("serverShutdown", async () => {
    mp.events.delayTermination = true;
    await saveVehicleFuelLevels();
    mp.events.delayTermination = false;
});
mp.events.addCommand('restart', (player) => {
    mp.events.call('serverShutdown');
});

А вот так вот не работает
Код:
mp.events.add("serverShutdown", async () => {
    mp.events.delayTermination = true;
    await saveVehicleFuelLevels();
    mp.events.delayTermination = false;
});
mp.events.addCommand('restart', (player) => {
    mp.events.call('serverShutdown');
    process.exit(0);
});

Этот ивент тестился ?)
 

Robert_Easter

Участник портала
17 Июл 2024
103
13
28
Решение :
Код:
mp.events.add("serverShutdown", async () => {
    mp.events.delayTermination = true;
    await saveVehicleFuelLevels();
    mp.events.delayTermination = false;
    process.exit(0);
});
mp.events.addCommand('restart', (player) => {
    mp.events.call('serverShutdown');
});

Это ужас какой то; а если я закриваю серв с крестиком ? какая там разница могли бы в крестике сунуть этот код. Крч для людей которые искали берите именно вот таким вот образом.
 

Inoi

/dev/null
Команда форума
Moderator
VIP
15 Окт 2020
3,829
1,886
208
35
могли бы в ресет на коробке компуктера вывести...
 
Реакции: Fumarie и Vermilion
Статус
В этой теме нельзя размещать новые ответы.