Запись очков в онлайн браузерной игре.

Форум для самых маленьких, а так же тех, кому недосуг читать справку самостоятельно.

Запись очков в онлайн браузерной игре.

Сообщение newArray 13 сен 2013, 23:45

Я не мог понять такой идиотской вещи - когда в онлайн игре записывать очки. Игрок же их постоянно зарабатывает. И есть одно условие - игра браузерная. Допустим базу я держу не на ВПС, а на обычном хосте. в реальной игре я же не могу себе позволить на каждом заработанном очке писать его в базу. Я сделал уже запись в базу раз в 10 минут. Кстати все равно -тариф не держит - письма счастья с хоста идут. но получается если грок поиграл там 8 минут заработал очки и закрыл игру и получил ноль из заработанного - я ему говорю извнин братишка надо было поиграть 10 минут тогда бы ты заработал очки. Вобщем главная проблема - когда игрок закрывает браузер, просто закрывая страницу с игрой, как отловить это событие - я тормозил. Сначала думал ловить событие дисконект от сервера. Но на фотоне и на стандартной сети в браузере не срабатывает событие дисконект от сервера когда игрок просто закрывает страницу - не успевает что ли.
И только в день програмиста до меня доперло что когда игрок играет курсор же залочен. Чтобы закрыть браузер ему нужно обязательно нажать ескейп для разлочивания курсора.
И событие записи очков в браузерных играх надо производить именно по клавише ескейп. И это будет совершенно точная запись очков. Конечно при входе в магазин или инвентарь тоже надо показывать курсор и значит в этот момент игрок тоже может покинуть игру - это проблемка. Получается что надо записывать очки также и при каждом заходе игрока в инвентарь. А он может туда заходить херову тучу раз.

Скрытый текст:
А делать так игрок нажал клавишу инвентаря и выходит табличка
- сука, ты собираешся сейчас выходить? клавиши--да =нет
если да - соответственно записываем
если нет - выходит еще сообщение - ну смотри сука, если ты меня наебал, очки не будут записаны в базу!!!
newArray
Адепт
 
Сообщения: 1226
Зарегистрирован: 14 фев 2013, 07:03
Откуда: оттуда

Re: Запись очков в онлайн браузерной игре.

Сообщение mp3 14 сен 2013, 00:29

Что курим? Где берем?
Be straight, or go forward.
Аватара пользователя
mp3
Адепт
 
Сообщения: 1071
Зарегистрирован: 21 окт 2009, 23:50

Re: Запись очков в онлайн браузерной игре.

Сообщение 2rusbekov 14 сен 2013, 10:55

Still alive...
Аватара пользователя
2rusbekov
Адепт
 
Сообщения: 1409
Зарегистрирован: 06 апр 2012, 12:57
Откуда: Бишкек

Re: Запись очков в онлайн браузерной игре.

Сообщение newArray 14 сен 2013, 11:16

http://docs.unity3d.com/Documentation/M ... ation.html и onbeforeunload в js


А вот такую функцию брать onbeforeunload Т. е. есть функция onload это я знаю - на открытии страницы. Короче это на закрытии - спасибо. Так же можно намного оптимизировать запись очков.
Кстати есть же вариант делать страницу юнити веб плеера на php.
Одно но - по этой функции не удастся выполнить php скрипт опять же без лишней кнопки. Думаю попробовать сделать коротку задержку timer по onbeforeunload и за это время успеть передать обратно месагу в юнити и запустить php оттуда.




Код: Выделить всё
<script>
window.onunload = window.onbeforeunload = setTimeout(function(){alert("hi")},1000)
</script>


Пишут что onunlod не срабатывает в moziile советуют ставить вот так 2 раза. Я пока стремаюсь таким кодом делать. А у кого то в браузере не работает алерт? Если не работает отпишитесь пожалуйста в каком браузере.

Но самое главное обратите внимание как будет вести себя фрейм если не перезегрузить, а закрыть эту страницу форума, куда встроен фрейм - алерт не даст. Тут встраивание во фрейм похоже, как встраивают в соц сетях приложение. Значит для соц сетей такой метод не будет работать. Только может если игра пускается на своем сайте
Все таки придется итти по событию разлока курсора.
newArray
Адепт
 
Сообщения: 1226
Зарегистрирован: 14 фев 2013, 07:03
Откуда: оттуда


Вернуться в Почемучка

Кто сейчас на конференции

Сейчас этот форум просматривают: Yandex [Bot] и гости: 21