- Регистрация
- 2 Ноя 2019
- Сообщения
- 17
- Лучшие ответы
- 0
- Репутация
- 1
На некоторых серверах замечал эту систему, но она была с багами, там считался не рекордный онлайн, а
кол-во подключений к серверу, вот сделал свою, доработанную.
Вот и все!, надеюсь на плюсик..
Автор - я;
кол-во подключений к серверу, вот сделал свою, доработанную.
В начало мода:
PHP:
new online, ronline;
В onplayerconnect:
PHP:
OnPlayerConnect(playerid)
{
online += 1;
return 1;
}
В onplayerdisconnect:
PHP:
OnPlayerDisconnect(playerid, reason)
{
online -= 1;
return 1;
}
В ongamemodeinit и ongamemodeexit:
PHP:
OnGameModeInit()
{
online = 0;
return 1;
}
PHP:
OnGameModeExit()
{
online = 0;
return 1;
}
Таким образом мы сделали переменную, в которую будет записываться онлайн.
Теперь нам нужен UpdateTimer, если у вас его нет, то:
В ongamemodeinit:
Теперь нам нужен UpdateTimer, если у вас его нет, то:
В ongamemodeinit:
PHP:
OnGameModeInit()
{
SetTimer("UpdateTimer", 1000, 1);
return 1;
}
Теперь в конце мода создаем fpublic:
PHP:
fpublic UpdateTimer()
{
return 1;
}
Все, теперь у вас есть UpdateTimer, продолжаем:
В UpdateTimer():
В UpdateTimer():
PHP:
fpublic UpdateTimer()
{
if(online > ronline) ronline = online;
return 1;
}
Вот и все!, теперь у нас есть переменная, в которой записан рекордный онлайн.
Вот применение:
В onplayerconnect:
Вот применение:
В onplayerconnect:
PHP:
OnPlayerConnect(playerid)
{
new string[128];
format(string, sizeof string, "Рекорд онлайна: %d", ronline);
SendClientMessage(playerid, COLOR_WHITE, string);
return 1;
}
Но после перезапуска сервера рекордный онлайн сброситься, что делать?:
В конец мода:
В конец мода:
PHP:
stock GetRonline()
{
new asd;
new inif = ini_openFile("other.ini");
ini_getInteger(inif, "ronline", asd);
ini_closeFile(inif);
return asd;
}
Еще в конец:
PHP:
stock SetRonline(ro)
{
new inif = ini_openFile("other.ini");
ini_setInteger(inif, "ronline", ro);
ini_closeFile(inif);
return true;
}
Теперь обновляем updatetimer:
PHP:
fpublic UpdateTimer()
{
if(online > ronline)
{
ronline = online;
SetRonline(ronline);
}
return 1;
}
И в ongamemodeinit ( после ronline = 0 ):
PHP:
OnGameModeInit()
{
// тут ronline = 0; уже можно убрать
ronline = GetRonline();
return 1;
}
Автор - я;