Перейти к содержанию
Авторизация  
genr

Поминутная аренда мопедов

Рекомендуемые сообщения

genr

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

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

Как это реализовать и будет ли серьёзная нагрузка на сервер, есть ли у мысли право на жизнь.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
noname_idk

@genr, ничего страшного не случится, если ее воплотить в жизнь. Единственное, сделать это стоит грамотно. Не просто создать таймер при старте сервера, где циклом перебирать всех игроков, арендуют ли они транспорт и истекло ли время... 

 

Создать, конечно же, стоит индивидуальный таймер, и даже будет лучше, если Вы код проверки аренды добавите в уже имеющийся секундный таймер (неужели у Вас такового нет?). А далее лишь стоит создать переменную, например,

new pRentVehicle[MAX_PLAYERS];

Затем в OnPlayerConnect или OnPlayerDisconnect ее аннулировать (если она равна нулю, значит игрок ничего не арендует).

Увеличение времени аренды делать примерно так:

pRentVehicle[playerid] = gettime()+(количество секунд аренды);

Если у Вас это поминутно, то и самому будет удобно иметь такую структуру:

pRentVehicle[playerid] = gettime()+60*(количество минут аренды);

Ну, и проверять так:

if(pRentVehicle[playerid] && pRentVehicle[playerid] < gettime())
{
     // срок аренды истек
}
  • Like 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
genr

, спасибо за наводку, получилось реализовать. сделал вот как: после соглашения на аренду запускается таймер на минуту, после истечения минуты проверяется, не вылез ли игрок из транспорта по нажатию на F или enter, далее аренда или продолжается и запускается новый таймер, или заканчивается

  

 

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Гость
Эта тема закрыта для публикации ответов.
Авторизация  

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×

Важная информация

Мы разместили cookie-файлы на ваше устройство, чтобы помочь сделать этот сайт лучше. Вы можете изменить свои настройки cookie-файлов, или продолжить без изменения настроек.