Всем привет.
Ребята, сегодня речь пойдёт о секундных пабликах, которые на сегодняшний день, лично по моему мнению, есть в каждом моде.
Что такое секундный паблик? Это паблик, который обновляется каждую секунду с помощью таймера типа SetTimer.
К чему же я клоню? Клоню я к тому, что как раз из-за таких секундных пабликов, в моде происходит краш, сейчас объясню почему. В большинстве случаев краш мода из-за секундых пабликов происходит именно на хостинге. Проблема в том, что если у вас в секундном паблике находится слишком много кода, то серверная машина не успевает обработать весь этот код за одну секунду, и из-за этого в моде происходит краш.
Сейчас продемонстрирую решение данной проблемы.
По стандарту, мы создаём в паблике OnGameModeInit таймер типа SetTimer. Рассмотрим аргументы данного таймера.
Работать мы будем с аргументом repeating. Данный аргумент отвечает за то, будет ли функция повторятся или нет.
По стандарту мы привыкли ставить значение true, этого нельзя делать не в коем случае! Именно из-за этого в моде происходит краш.
Вы зададите вопрос: "Если мы выставим значение false, то наш секундный паблик не будет повторятся. Как сделать чтобы он повторялся?". Сделать это очень просто! Тот же самый таймер, который мы создавали в паблике OnGameModeInit, нам нужно прописать в нашем секундном паблике.
Пример:
public OnGameModeInit()
{
SetTimer("OneSecondTime", 1000, false);
return true;
}
Вывод: пока код не обработается полностью, паблик не начнёт обновляться заново.
На этом всё!
Урок подготовил: TheSeLToN
Ребята, сегодня речь пойдёт о секундных пабликах, которые на сегодняшний день, лично по моему мнению, есть в каждом моде.
Что такое секундный паблик? Это паблик, который обновляется каждую секунду с помощью таймера типа SetTimer.
К чему же я клоню? Клоню я к тому, что как раз из-за таких секундных пабликов, в моде происходит краш, сейчас объясню почему. В большинстве случаев краш мода из-за секундых пабликов происходит именно на хостинге. Проблема в том, что если у вас в секундном паблике находится слишком много кода, то серверная машина не успевает обработать весь этот код за одну секунду, и из-за этого в моде происходит краш.
Сейчас продемонстрирую решение данной проблемы.
По стандарту, мы создаём в паблике OnGameModeInit таймер типа SetTimer. Рассмотрим аргументы данного таймера.
Работать мы будем с аргументом repeating. Данный аргумент отвечает за то, будет ли функция повторятся или нет.
По стандарту мы привыкли ставить значение true, этого нельзя делать не в коем случае! Именно из-за этого в моде происходит краш.
Вы зададите вопрос: "Если мы выставим значение false, то наш секундный паблик не будет повторятся. Как сделать чтобы он повторялся?". Сделать это очень просто! Тот же самый таймер, который мы создавали в паблике OnGameModeInit, нам нужно прописать в нашем секундном паблике.
Пример:
public OnGameModeInit()
{
SetTimer("OneSecondTime", 1000, false);
return true;
}
Код:
public OneSecondTime()
{
//Здесь ваш код
SetTimer("OneSecondTime", 1000, false);
return true;
}
На этом всё!
Урок подготовил: TheSeLToN
Последнее редактирование модератором: