Daniel_Cortez
07.10.2015, 19:59
Описание:
Вызывается при смене мода или завершении его работы, т.е. после вызова GameModeExit() или выполнения RCON-команды "gmx".
Параметры:
У данного коллбэка нет параметров.
Примечания:
OnGameModeExit вызывается не только в моде, но и в фильтрскриптах. Следовательно, этот коллбэк можно использовать в фильтрскриптах для обнаружения смены мода или рестарта сервера.
Сервер не ждёт, пока выполнится код в данном коллбэке, поэтому в нём нельзя выполнять затратные операции, такие как сохранение домов, аккаунтов игроков и т.п. - сервер может не дождаться их выполнения и данные окажутся повреждены.
Если хотите выключить или перезагрузить сервер, сначала сохраните все данные, а потом выключайте/перезагружайте его (посредством GameModeExit() или SendRconCommand("gmx")), но ни в коем случае не проводите сохранение в OnGameModeExit.
Пример использования:
CMD:gmx(playerid, params[])
{
if(IsPlayerAdmin(playerid))
{
// Сохранение аккаунтов игроков и домов перед перезагрузкой.
SaveAccounts();
SaveHouses();
// Перезагрузка мода.
SendRconCommand("gmx");
}
}
public OnGameModeExit()
{
print("Игровой мод завершил работу.");
}
Статью подготовил: Daniel_Cortez (http://pro-pawn.ru/member.php?100-Daniel_Cortez)
Вызывается при смене мода или завершении его работы, т.е. после вызова GameModeExit() или выполнения RCON-команды "gmx".
Параметры:
У данного коллбэка нет параметров.
Примечания:
OnGameModeExit вызывается не только в моде, но и в фильтрскриптах. Следовательно, этот коллбэк можно использовать в фильтрскриптах для обнаружения смены мода или рестарта сервера.
Сервер не ждёт, пока выполнится код в данном коллбэке, поэтому в нём нельзя выполнять затратные операции, такие как сохранение домов, аккаунтов игроков и т.п. - сервер может не дождаться их выполнения и данные окажутся повреждены.
Если хотите выключить или перезагрузить сервер, сначала сохраните все данные, а потом выключайте/перезагружайте его (посредством GameModeExit() или SendRconCommand("gmx")), но ни в коем случае не проводите сохранение в OnGameModeExit.
Пример использования:
CMD:gmx(playerid, params[])
{
if(IsPlayerAdmin(playerid))
{
// Сохранение аккаунтов игроков и домов перед перезагрузкой.
SaveAccounts();
SaveHouses();
// Перезагрузка мода.
SendRconCommand("gmx");
}
}
public OnGameModeExit()
{
print("Игровой мод завершил работу.");
}
Статью подготовил: Daniel_Cortez (http://pro-pawn.ru/member.php?100-Daniel_Cortez)