Перейти к содержанию

Награда за возвращение(daily reward)(Daily bonus), время отсчитывается после выключения игры, таймер с обратным отсчётом, сохранение переменных.


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

Вступление.

Захотелось мне добавить в игру (Нубик Стив спаси меня) награду за возвращение, для поднятия возврата в игру. Но обыскав наш форум и официальный, так толком ничего не нашёл. Есть плагин и исходник на официальном сайте (но они уже устарели и не запускаются), так же есть платный исходник и пак плагинов за 99$, где есть нужный плагин. Но зачем платить, если можно не платить ?) 

Как работает награда можете посмотреть в игре Нубик Стив спаси меня.

На самом деле всё довольно просто.

 

 

Урок

Спойлер

Как должна работать система награды? (прежде чем начать что-то делать, лучше понять, как это должно работать)

При запуске игры/получении первого бонуса, система запоминает текущее время. А при следующем входе, сравнивает сколько прошло времени.

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

 

Нам понадобиться объект Date.

Screenshot_2.jpg

Cоздаём 2 переменные.

Screenshot_1.jpg

Сначала мы сделаем таймер с обратным отсчётом. 

Screenshot_3.jpg

Т.е каждую секунду мы отнимаем от timer  1.

А код 

zeropad(floor(timer/3600)%60,2)&":"&zeropad(floor(timer/60)%60,2)&":"&zeropad(floor(timer%60),2)

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

Цитата

zeropad(floor(timer%60),2) покажет секунды в переменной timer.

zeropad(floor(timer/60)%60,2) покажет минуты в переменной timer.

zeropad(floor(timer/3600)%60,2) покажет сколько часов в переменной timer.

И у нас получился такой красивый таймер.

Screenshot_10.jpg

 

Я сделал по принципу:  если первый раз зашёл в игру, то получи бонус нажав на кнопку, а следующий бонус можно получить через 4 часа. 

Screenshot_8.jpg

Если в таймере закончилось время и нажата кнопка :

В переменную DataEnd загружается текущее время Date.now (сколько миллисекунд прошло с 01.01.1970)+ 14400000 миллисекунды (4 часа).

А в переменную Timer разница между DataEnd  и текущим временем, поделённое на 1000 (переводим в секунды результат)

Получаем бонус.

И сохраняем в память число DataEnd.

 

Делаем загрузку сохранения при входе в меню/в игру. 

Screenshot_9.jpg

Думаю тут всё понятно.

Самое главное не запутаться, где секунды и миллисекунды.

 

Жду ваших комментариев. Уверен, что можно сделать было легче. Но додумался только до такого.

К сожалению такой бонус можно легко обмануть, изменив время на телефоне. Думаю можно привязаться к firebase или к другим сервисам. Так что жду ваших вариантов. 

 

Изменено пользователем xdronx

Сложно доводить проекты до конца ?  Как повысить продуктивность в геймдеве. Смотри видео: Видео на youtube

Буду рад лайку и подписке.

 

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

1 час назад, xdronx сказал:

К сожалению такой бонус можно легко обмануть, изменив время на телефоне. Думаю можно привязаться к firebase или к другим сервисам. Так что жду ваших вариантов. 

:chan_thumbup:

За статью с исходником и разъяснения спасибо. Частый вопрос.

Это не онлайн игра где бонусы могут помешать играть людям. Пусть сидят и крутят часы если так охота поиграть с бонусами, главное чтоб играли!

А  на счет критики, если работает без глюков ну и ладно, зачем лезть.:dntknw:

Я ежедневный бонус если есть плагин браузер через него реализовываю, чтоб не добавлять ради этого Date, если нет через него.

 

 

Изменено пользователем bromgeksin8
Ссылка на комментарий
Поделиться на другие сайты

3 минуты назад, bromgeksin8 сказал:

Я ежедневный бонус если есть плагин браузер через него реализовываю, чтоб не добавлять ради этого Date, если нет через него.

 

Можно скрин, как сделать через браузер ? 

Сложно доводить проекты до конца ?  Как повысить продуктивность в геймдеве. Смотри видео: Видео на youtube

Буду рад лайку и подписке.

 

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

1 час назад, xdronx сказал:

Можно скрин, как сделать через браузер ? 

Вот моя тема с автономной шахтой. Там в исходнике я запрашивают постоянно текущее время и прописываю его в хранилище. А при следующем старте сравниваю сколько времени пользователь отсутствовал. Вот и бонус можно выдать. 

Там в теме основные моменты кода затронуты.

 

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

@xdronx Привет. Не нашёл тему с твоей игрой. Подскажи что новая иконка,  дала эффект?

Screenshot_20220101_225731_com.android.vScreenshot_20220101_225744.jpg

Как то её тестил перед внедрением?

Изменено пользователем bromgeksin8
Ссылка на комментарий
Поделиться на другие сайты

В 01.01.2022 в 23:03, bromgeksin8 сказал:

 Привет. Не нашёл тему с твоей игрой.

Игру еще не добавлял на форум. 

 

В 01.01.2022 в 23:03, bromgeksin8 сказал:

Как то её тестил перед внедрением?

В google play есть A/b тестирование. И тесты показали, что она более эффективная(больше скачиваний).  Я маловато конечно ждал, надо было больше. Но тесты показали, что за неделю она всегда была самой эффективной. 

 

А вообще интересна эта тема с развитием игр ?  Как повысить конверсию скачиваний ? Как делать аб тесты на эффективность  скачиваний? Как трафик бесплатный получать? На форуме нет ничего похожего вроде. 

Вообще тут очень много информации. https://www.youtube.com/channel/UCN7DlL9ImJCfsPNU_SgFlRQ очень рекомендую всем посмотреть ВСЕ ролики. 

В 01.01.2022 в 23:03, bromgeksin8 сказал:

Подскажи что новая иконка,  дала эффект?

Сейчас немного подросла эффективность. Но так как трафика не так много идет на игру, сложно анализировать.

 

Изменено пользователем xdronx

Сложно доводить проекты до конца ?  Как повысить продуктивность в геймдеве. Смотри видео: Видео на youtube

Буду рад лайку и подписке.

 

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

58 минут назад, xdronx сказал:

Сейчас немного подросла эффективность. Но так как трафика не так много идет на игру, сложно анализировать.

Ясно. Спасибо за ответ. Удивительные результаты. 

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

25 минут назад, bromgeksin8 сказал:

Ясно. Спасибо за ответ. Удивительные результаты. 

Почему  ?)

Сложно доводить проекты до конца ?  Как повысить продуктивность в геймдеве. Смотри видео: Видео на youtube

Буду рад лайку и подписке.

 

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

38 минут назад, xdronx сказал:

Почему  ?)

Визуально неприятная иконка, мне во время обновления это сразу в глаза бросилось. Может этим и берет. 🙄

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

Присоединяйтесь к обсуждению

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

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Восстановить форматирование

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

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

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