Как получить онлайн время в construct 2

техническая поддержка по Construct 2

Сообщение Как получить онлайн время в construct 2
» 13 ноя 2020, 13:11

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

Участник
Сообщений: 25
Я тут с 22 фев 2020
Двиг: Construct 2
Репутация 0 [ ? ]

Сообщение Как получить онлайн время в construct 2
» 13 ноя 2020, 13:21

Исходники:
Библиотека исходников для Construct Classic - http://c2community.ru/forum/viewtopic.php?f=16&t=16843

Плагины:
Портирование плагины [C3Runtime] - http://c2community.ru/forum/viewtopic.php?f=200&t=17021
Поддельные плагины [C3Runtime] - http://c2community.ru/forum/viewtopic.php?f=200&t=16933
Аватара пользователя

Участник
Сообщений: 692
Я тут с 12 мар 2020
Откуда: GameSoul Inc.
Двиг: Construct,Unity
Лицензия: Business
Репутация 111 [ ? ]

Сообщение Как получить онлайн время в construct 2
» 13 ноя 2020, 13:31

GameSoul писал(а):GamerYTubik, https://www.youtube.com/watch?v=mblZ3Vx3ZeU.

Ахахахах, нифига, проверил и это не онлайн время давай норм способ
Аватара пользователя

Участник
Сообщений: 25
Я тут с 22 фев 2020
Двиг: Construct 2
Репутация 0 [ ? ]

Сообщение Как получить онлайн время в construct 2
» 13 ноя 2020, 15:12

GamerYTubik, Почему? Попробуй перевести время у себя на ПК и проверь исходник (время будет другое!)
Исходники:
Библиотека исходников для Construct Classic - http://c2community.ru/forum/viewtopic.php?f=16&t=16843

Плагины:
Портирование плагины [C3Runtime] - http://c2community.ru/forum/viewtopic.php?f=200&t=17021
Поддельные плагины [C3Runtime] - http://c2community.ru/forum/viewtopic.php?f=200&t=16933
Аватара пользователя

Участник
Сообщений: 692
Я тут с 12 мар 2020
Откуда: GameSoul Inc.
Двиг: Construct,Unity
Лицензия: Business
Репутация 111 [ ? ]

Сообщение Как получить онлайн время в construct 2
» 13 ноя 2020, 21:17

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

Хмм... Генератор мира? На Construct 2? Ты свехнулся? Во-первых это очень сложно и темболее если для онлайн игры и это много багов будет, это столько тебе придется заплатить за базу данных... Это очень сложно и не выгодно темболее для C2, придумай что нибудь сам, я конечно не осуждаю но говорю как оно есть...
Изображение
Как вам подпись?(Сам делал)
Аватара пользователя

Участник
Сообщений: 68
Я тут с 20 окт 2020
Откуда: Хогвартс
Двиг: Construct 2
Лицензия: Bussines
Репутация 2 [ ? ]

Сообщение Как получить онлайн время в construct 2
» 13 ноя 2020, 22:40

ZeritoSama, Генератор мира на с2 не такая уж и сложная задача, не так давно обсуждалась тема:
viewtopic.php?p=154657#p154698
Но и GamerYTubik ничего не говорил про генерацию мира, ему время нужно узнавать для того, чтобы игрок не мог схитрить с этим самым временем, простой пример: игрок получает каждый день награду, если время запрашивается с устройства пользователя, то пользователь может получить приз, выйти из игры, перевести время на своём устройстве на день вперёд и снова зайти в игру, чтобы получить награду

GamerYTubik, Вам стоит завести аккаунт на 000webhost и создать php-скрипт, который при запросе - обратно и будет отправлять текущее время, подробнее тут: viewtopic.php?f=4&t=524
с того урока вам понадобится только [1. Подготовка к работе]
создаёте файл с расширением .php
Вот код для него
Код: Выделить всё
<?php
header('Access-Control-Allow-Origin: *');
echo date("d.m.Y, H:m:s");
?>

сам файл нужно разместить на хостинге

В с2 добавляете плагин AJAX, и из него обращаетесь к своему файлу, как это сделать можно посмотреть здесь:
viewtopic.php?p=152958#p152958
AJAX в LastData принесёт примерно следующее 13.11.2020, 22:31:35 - с помощью tokenat можно получить год, месяц, день, час и тд, как пользоваться tokenat можно узнать здесь:
viewtopic.php?p=161301#p161301

Если собираетесь свою игру выкладывать в гугл-плей или ещё куда-то, то лучше пользоваться не 000webhost (с ним нередко бывают проблемки), а каким-нибудь другим хостингом, понятное дело - не бесплатно, для экспериментов будет достаточно и 000webhost
 
Изображение
Аватара пользователя

cliva
Сообщений: 818
Я тут с 07 май 2017
Двиг: CC,C2
Лицензия: full
Репутация 317 [ ? ]

Сообщение Как получить онлайн время в construct 2
» 13 ноя 2020, 22:53

ZeritoSama писал(а):это столько тебе придется заплатить за базу данных

Бесплатные хостинги в счет не беру. Среди платных хостинг+база данных можно найти и за 1000 руб. в год (у меня 1300 руб. в год, но я просто заказал у провайдера интернета).
Аватара пользователя

Модератор
Сообщений: 4691
Я тут с 18 сен 2015
Откуда: Екатеринбург
Двиг: С2/С3
Лицензия: Personal
Репутация 682 [ ? ]

Сообщение Как получить онлайн время в construct 2
» 16 ноя 2020, 21:39

ZeritoSama писал(а):
GamerYTubik писал(а):В общем, делаю игру на мобилку, в которой должно через какое-то время строиться обьекты, расти деревья и т. д. Вариант с временем пользователя мне не подходит, поэтому мне нужно как-то узнать онлайн время (или любой другой способ, который считерить не получится). Если что вариант с плагинами мне подойдет :help:

Хмм... Генератор мира? На Construct 2? Ты свехнулся? Во-первых это очень сложно и темболее если для онлайн игры и это много багов будет, это столько тебе придется заплатить за базу данных... Это очень сложно и не выгодно темболее для C2, придумай что нибудь сам, я конечно не осуждаю но говорю как оно есть...

Во-первых, генератор мира не так и сложно сделать, в зависимости от того какой он, а во-вторых у меня его и нет :unknown:
Аватара пользователя

Участник
Сообщений: 25
Я тут с 22 фев 2020
Двиг: Construct 2
Репутация 0 [ ? ]

Сообщение Как получить онлайн время в construct 2
» 16 ноя 2020, 21:55

cliva писал(а):ZeritoSama, Генератор мира на с2 не такая уж и сложная задача, не так давно обсуждалась тема:
viewtopic.php?p=154657#p154698
Но и GamerYTubik ничего не говорил про генерацию мира, ему время нужно узнавать для того, чтобы игрок не мог схитрить с этим самым временем, простой пример: игрок получает каждый день награду, если время запрашивается с устройства пользователя, то пользователь может получить приз, выйти из игры, перевести время на своём устройстве на день вперёд и снова зайти в игру, чтобы получить награду

GamerYTubik, Вам стоит завести аккаунт на 000webhost и создать php-скрипт, который при запросе - обратно и будет отправлять текущее время, подробнее тут: viewtopic.php?f=4&t=524
с того урока вам понадобится только [1. Подготовка к работе]
создаёте файл с расширением .php
Вот код для него
Код: Выделить всё
<?php
header('Access-Control-Allow-Origin: *');
echo date("d.m.Y, H:m:s");
?>

сам файл нужно разместить на хостинге

В с2 добавляете плагин AJAX, и из него обращаетесь к своему файлу, как это сделать можно посмотреть здесь:
viewtopic.php?p=152958#p152958
AJAX в LastData принесёт примерно следующее 13.11.2020, 22:31:35 - с помощью tokenat можно получить год, месяц, день, час и тд, как пользоваться tokenat можно узнать здесь:
viewtopic.php?p=161301#p161301

Если собираетесь свою игру выкладывать в гугл-плей или ещё куда-то, то лучше пользоваться не 000webhost (с ним нередко бывают проблемки), а каким-нибудь другим хостингом, понятное дело - не бесплатно, для экспериментов будет достаточно и 000webhost


Спасибо, я попробую, но еще один вопрос: а можно узнать таким же способом сколько времени прошло с определенной даты - например: сколько секунд прошло с X года? Мне бы очень помгло :good2:
Аватара пользователя

Участник
Сообщений: 25
Я тут с 22 фев 2020
Двиг: Construct 2
Репутация 0 [ ? ]

Сообщение Как получить онлайн время в construct 2
» 16 ноя 2020, 22:29

тогда будет правильней использовать количество секунд, прошедших с начала Эпохи Unix
(The Unix Epoch, 1 января 1970, 00:00:00 GMT)
Код: Выделить всё
<?php
header('Access-Control-Allow-Origin: *');
echo time();
?>

вернёт значение наподобие 1605554291

тогда всё будет проще
1)игрок зашёл в игру -> в LocalStorage проверяется есть ли ключ lastSecond
2)если нет, значит игрок не заходил в игру
3)если есть -> отправляем ajax запрос к файлу php
4)ajax запрос complete -> S=int(ajax.lastdata)-ключ из LocalStorage
сохранение в LocalStorage можно глянуть здесь viewtopic.php?p=156733#p156733
 
Изображение
Аватара пользователя

cliva
Сообщений: 818
Я тут с 07 май 2017
Двиг: CC,C2
Лицензия: full
Репутация 317 [ ? ]



Вернуться в Вопрос-Ответ по Construct 2

Сейчас эту тему просматривают

Зарегистрированные пользователи: нет зарегистрированных пользователей

Наверх