[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Убывающее время
Dazl
Люди как сделать убывающее время т.е. вот я указал 1:30 и он считает обратно до нуля и не надо напоминать что язык северный я знаю.



Спустя 8 минут, 8 секунд (8.07.2011 - 08:28) tatti написал(а):
по логике обратный счётчик(так чтоб тикал на форме у клиента) делають на JS

Спустя 4 минуты, 42 секунды (8.07.2011 - 08:33) Dazl написал(а):
Ну а если мне надо чтоб на сервере и чтоб на пхп был?

Спустя 5 минут, 40 секунд (8.07.2011 - 08:38) tatti написал(а):
а зачем? для клиента это делаешь или для кого? blink.gif

Спустя 8 минут, 48 секунд (8.07.2011 - 08:47) YVSIK написал(а):
Dazl а давай так покажи как ты берешь время
саму функцию А!!?
а то это простая болтовня

Спустя 7 минут, 7 секунд (8.07.2011 - 08:54) Dazl написал(а):
Цитата
а зачем? для клиента это делаешь или для кого?


да для клиента. я скажем так метю онлайн стратегию зделать конечно не скоро э так года через 2 мож и зделаю


Цитата
давай так покажи как ты берешь время


Пока ещё не как просто хотел узнать, мож кто практиковал

Спустя 7 минут, 16 секунд (8.07.2011 - 09:01) tatti написал(а):
Dazl
так счётчика не хватит, пока ты делать будешь, сервер на твоём счётчике повесится!
laugh.gif laugh.gif laugh.gif

братуха, вот подумай сам. тыбы сел на боевую ракету покататся с ветерком? вот и тут также. php для сервера js для клиента.

Спустя 3 минуты, 36 секунд (8.07.2011 - 09:05) Dazl написал(а):
Цитата
братуха

я думал ты она huh.gif


Цитата
так счётчика не хватит, пока ты делать будешь, сервер на твоём счётчике повесится!


вымысле счётчика, какого? и ява для этого мне не подойдет если клиент выйдет отсчет то должен продолжаться


Спустя 3 минуты, 52 секунды (8.07.2011 - 09:09) Tod написал(а):
http://www.php.net/manual/ru/book.datetime.php глянь тут. можешь найдешь чего.

Спустя 8 секунд (8.07.2011 - 09:09) sharki написал(а):
Dazl
мдец... ты купи книгу по PHP прочти от начала до конца, и все вопросы отпадут... ну как минимум гугл еще не отменили.

PHP работает так - ты отправил запрос с сайта, он выдал теб страничку, и стерся в памяти, ВСЁ, НЕТУ ТВОЕГО PHP ФАЙЛА, как он будет тебе счетчик отсчитываться.

Заноси время в БД, при следующем обращении смотри, если время текущее - время в БД > тому времени которое тебе надо, то счетчик истек

Спустя 1 минута, 30 секунд (8.07.2011 - 09:10) tatti написал(а):
Цитата (Dazl @ 8.07.2011 - 06:05)
ява для этого мне не подойдет если клиент выйдет отсчет то должен продолжаться

вот это уже конкретно.

тогда тебе поможет сессия. в ней и храни.

Спустя 5 минут, 5 секунд (8.07.2011 - 09:16) Dazl написал(а):
А теперь главные вопрос на которой я знаю что вы мне отверите biggrin.gif


Что такое сессия?

только не бросайтесь спенным мозгом как говорит mr. Freeman.

я уже ухожу... в google

Спустя 1 минута, 33 секунды (8.07.2011 - 09:17) tatti написал(а):
Цитата (Dazl @ 8.07.2011 - 06:16)
Что такое сессия?

подрастёшь, узнаешь biggrin.gif

Спустя 9 минут, 34 секунды (8.07.2011 - 09:27) Dazl написал(а):
И как долго данные хранятся в сессии?

Спустя 7 минут, 3 секунды (8.07.2011 - 09:34) YVSIK написал(а):
Dazl
сессия ЭТО... хм)))))
да лучше для начала прочитай
нам тебе потом легче подсказать будет
а про время вот подумай
<?php echo (date("Y:m:d",time()+ 30*24*60*60));?>
<?php
echo (date("Y:m:d",time()- 1*24*60*60));?>

Спустя 6 минут, 4 секунды (8.07.2011 - 09:40) Dazl написал(а):
Я понял что такое сессия. я хочу знать как долго данные хранятся там?

а на счёт времени у меня стало вот так 2011:08:072011:07:07

и застыло и после обновления тоже так...

не меняется


Спустя 3 минуты, 9 секунд (8.07.2011 - 09:43) YVSIK написал(а):
ладно есль ты знашь что такое сессия то скажи что это
сам вот чет запаметывал huh.gif

Спустя 2 минуты (8.07.2011 - 09:45) Dazl написал(а):
YVSIK Кеп, я бы перешел по ссылке тока это не ссылка )

Спустя 5 минут, 2 секунды (8.07.2011 - 09:50) YVSIK написал(а):
а это и не ссыль это вопрос что такое эти СЕССИИ
вот подскажи что ты понял про сессии huh.gif unsure.gif huh.gif

Спустя 3 минуты, 15 секунд (8.07.2011 - 09:53) tatti написал(а):
да....
это и правда сложно понять. не смешно!

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

Спустя 7 минут, 41 секунда (8.07.2011 - 10:01) Dazl написал(а):
Цитата
само по себе вне сервера это самое время не обновится


Помоемому тут промашка! как это не обновить оно будут обновляться на сервере

а клиент получает готовый ответ. разве не так??

Спустя 1 минута, 12 секунд (8.07.2011 - 10:02) tatti написал(а):
Dazl
на форуме принято делится опытом а не пережевывать по 100 раз.

Спустя 54 секунды (8.07.2011 - 10:03) Dazl написал(а):
Взаимно.

Спустя 1 минута, 2 секунды (8.07.2011 - 10:04) Dazl написал(а):
Цитата
а это и не ссыль это вопрос что такое эти СЕССИИ
вот подскажи что ты понял про сессии     


ну как бы они переносят данные со страницы на страницу

Спустя 4 минуты, 8 секунд (8.07.2011 - 10:08) Dazl написал(а):
Цитата
на форуме принято делится опытом а не пережевывать по 100 раз.


на этом форуме преобладающие делятся ссылками на google.ru

Спустя 8 минут, 8 секунд (8.07.2011 - 10:16) tatti написал(а):
Цитата (Dazl @ 8.07.2011 - 07:08)
на этом форуме преобладающие делятся ссылками на google.ru

только с теми, кто сам до этого додуматься не в состоянии smile.gif

всё.

Спустя 36 минут, 20 секунд (8.07.2011 - 10:53) YVSIK написал(а):
Цитата (Dazl @ 8.07.2011 - 09:40)
Я понял что такое сессия. я хочу знать как долго данные хранятся там?


это можно определять или самому или есть установки на сервере
и на конец после обращению к хостеру
он там настраивает по умолчанию

Спустя 8 минут, 56 секунд (8.07.2011 - 11:02) Rand написал(а):
Сессии тут не помогут, храни в БД. Например заказал строительство здания, оно строится 60 мин. Заносишь в БД время начала строительства с помощью функции time(). На клиенте анимация времени стартует на JS. Затем пользователь может закрыть браузер и уйти обедать на 25 минут.
По прошествии 25 минут пользователь снова заходит в игру. На сервере формируются объекты, принадлежащий игроку, если есть строящиеся здания, для них вычисляется время оставшиеся до завершения:

времени прошло = текущие время - время начала строительства
осталось до завершения = время строительства - времени прошло

Время у нас хранится в секундах. Получается:

времени прошло = 1310115058 - 1310113558 = 1500
осталось до завершения = 3600 - 1500 = 2100

Дальше сервер проверяет, если число положительное, то он формирует объект, как строящиеся здание и отправляет клиенту время, которое осталось до завершения, затем оно "тикает" на JS.

Если же число получилось отрицательное, т.е. пользователь отсутствовал больше времени, необходимого на строительство, то число получится отрицательным или равным 0, тогда сервер формирует объект, как завершенный.

Спустя 6 минут, 13 секунд (8.07.2011 - 11:08) Dazl написал(а):
Цитата
Rand


да, теория идеальная, но вот без наглядного примера я не в состоянии представить себе это ввиде кода sad.gif

Спустя 18 минут, 27 секунд (8.07.2011 - 11:26) Rand написал(а):
К сожалению, за тебя вряд-ли кто-то будет что-то писать, поскольку здесь не так уж и мало кода. Лучше начни писать, а потом задай вопрос по местам, которые ты плохо понимаешь. И попробуй найти исходники какой-нибудь браузерной стратегии, возможно там ты найдешь некоторые решения и не только по этому вопросу.

Спустя 3 часа, 16 минут, 32 секунды (8.07.2011 - 14:43) Dazl написал(а):
Цитата
исходники какой-нибудь браузерной стратегии


это я уже делал тока нечего не нашел, могу согласиться что я не правильно ищу.
и все я же пришел выводу что исходники таких проектов не "валяются".
Нет, честно искал, зацепки на Травиан, 3-й мир и т.д. не шёл того что искал

Спустя 6 часов, 10 минут, 10 секунд (8.07.2011 - 20:53) inpost написал(а):
Dazl
если бы они были доступны, куча в сети было бы клонов этих сайтов. По ссылкам ты только вируса найти сможешь.

Спустя 22 минуты, 7 секунд (8.07.2011 - 21:15) Rand написал(а):
Цитата (Dazl @ 8.07.2011 - 17:43)
и все я же пришел выводу что исходники таких проектов не "валяются".

Тебе не нужны исходники раскрученных проектов, ты их не найдешь. Тебе нужен абсолютно любой исходник браузерной стратегии, чтобы хотя бы примерно смысл понять. Хотя думается, если твои знания php довольно скромны, то он тебе не поможет, лучше подучить PHP и JS для начала. Я вот даже не занимался никогда разработкой браузерных игр, но представляю себе, как это сделать, только потому, что мои знания языка чуть повыше твоего.

Спустя 13 минут, 33 секунды (8.07.2011 - 21:29) ИНСИ написал(а):
По вопросу, то сделать счетчик на пхп можно без проблем, использую sleep. К примеру:

for($i = 0, $i <= 15; $i++) {
if($i == 15)
echo 'Прошло 15 секунд';
else
sleep(1);
}

Спустя 3 минуты, 24 секунды (8.07.2011 - 21:32) ИНСИ написал(а):
Dazl я сам сейчас делаю онлайн игру и поверь, это не так просто smile.gif

Спустя 9 часов, 35 минут, 6 секунд (9.07.2011 - 07:07) Dazl написал(а):
Цитата
не так просто


я знал это с самого начала, но не предстолял что это настолько трудно sad.gif

Спустя 4 минуты, 17 секунд (9.07.2011 - 07:11) Rand написал(а):
Dazl, у многих программистов были когда-то свои мега-пупер проЭкты, которые должны были захватить мир. Обычно с этого начиналось изучение языка или вообще программирования biggrin.gif Так что это нормально, удачи!

Спустя 11 минут, 58 секунд (9.07.2011 - 07:23) Dazl написал(а):
Rand

Спасибо! это желание меня уже давно жгёт )

Спустя 1 минута, 47 секунд (9.07.2011 - 07:25) Dazl написал(а):
Цитата
for($i = 0, $i <= 15; $i++) {
if($i == 15)
  echo 'Прошло 15 секунд';
else
  sleep(1);
}


а это идея )) а сервак интересно эта команда не будет напрягать если например 100 человек одновременно ею воспользуются или того хуже 1000

Спустя 34 минуты, 21 секунда (9.07.2011 - 08:00) Rand написал(а):
Будет, по скольку обычно скрипт завершает свою работу за доли секунд, а тут постоянно в памяти будут висеть сотни запущенных скриптов. Этот код тебе не подойдет по многим причинам. Хотя бы даже потому, что в php нет многопоточности и если игрок будет строить несколько зданий с разным временем строительства (и временем начала строительства), это что для каждого здания свою копию скрипта запускать придется? Вообще не вариант. Да и на стороне клиента весь процесс отображать будет затруднительно, данные от скриптов, которые не завершили свою работу получить будет невозможно.

Спустя 37 минут, 30 секунд (9.07.2011 - 08:37) Dazl написал(а):
Это наверно выглядить смешно но я не как смог разобраться с базой sql и решил всё записывать в файлах. как думаешь Rand у меня получиться? все данные в файлах хранить?

Спустя 5 минут, 58 секунд (9.07.2011 - 08:43) Rand написал(а):
Нет, плохая идея =) Почитай хотя бы курс, который под патронажем этого форума находится, там вроде бы всё очень доступно )) http://irbis-team.com/

Спустя 6 минут, 36 секунд (9.07.2011 - 08:50) YVSIK написал(а):
Цитата
Это наверно выглядить смешно

нет это не смешно таковы пути познания
а что не разобрал с базой ?
я не зная как подступиться по началу и не зная где и что искать
потребовалось боле года этот вопрос решать ,
тогда ещё время не было работал много на другой работе,
так к стати ,тож подобным образом пробовал решить если не понял про базу

laugh.gif laugh.gif

Спустя 6 минут, 40 секунд (9.07.2011 - 08:56) Dazl написал(а):
да в принципе соеденяться я нучился и даже вводить данные, но вот выводить их или выводить что-то на определённой строке и т.д. подобные (вроде мелочи) меня тормозят я много прочитал про это но как я уже сказал у статьи не спросишь.

Спустя 4 минуты, 37 секунд (9.07.2011 - 09:01) Dazl написал(а):
В принципе идея с файлами мне понравилась суть была такая в регистрации создаться файл в котором ввиде массива хранятся все данные этого пользователя
уже пробовал и получалось, но конечно я буду делать что вы мне посоветуете

Спустя 6 минут, 25 секунд (9.07.2011 - 09:07) Rand написал(а):
Вот смотри, захочешь ты топ100 пользователей сделать, и что, при каждом вызове страницы, будешь все файлы открывать, чтобы узнать кто круче? Изучай SQL и реляционную модель БД.

Спустя 5 минут, 48 секунд (9.07.2011 - 09:13) Dazl написал(а):
ок так и сделаю

Спустя 8 минут, 23 секунды (9.07.2011 - 09:21) YVSIK написал(а):
в подпись мою глянь там хорошая книжка есть 10 минут на изучение
одного вопроса про базы

Спустя 1 час, 5 минут, 15 секунд (9.07.2011 - 10:27) Dazl написал(а):
отличная книжка

Спустя 13 минут, 10 секунд (9.07.2011 - 10:40) ИНСИ написал(а):
Dazl сразу учи и jquery + push ajax (Comet). Потому что в основном в игре они все делают, а php надо отдавать лишь часть работы. Про memcached - пока тебе рано изучать, но раз уж взялся за такой сложный проект, то знай на что внимание свое заострять smile.gif

P.S. Делать таймер на php - извращение. Лучше это делать через JS. Я лишь привел пример, что таймер можно сделать на php

Спустя 59 минут, 29 секунд (9.07.2011 - 11:39) Dazl написал(а):


Цитата
jquery + push ajax (Comet)


а что это? это языки или комбинация языков?

а какого жанра ты делаешь игру?

Спустя 2 минуты, 53 секунды (9.07.2011 - 11:42) inpost написал(а):
Смотри, тебе нужен таймер постройки здания. В БД заносишь в специальную таблицу действий, например: в 11:00 началось строительство здания, которое строится 30 минут. Теперь, заходя в раздел построек, человек будет видеть, что здание строится, таймер работает на JS только в качестве визуальной части, а не функциональности. Новую информацию человек сможет получить с перезагрузкой страницы. То есть в КУКИСЫ отправляется время, когда необходимо будет браузеру перезагрузить страницу (расчет вместе с таймером), потом с интервалом, как это ты уже знаешь, дергается JAVASCRIPT (без обращений к серверу) время, если оно наступило, то КУКИ очищаются, а браузер перезагружается.
ТОЛЬКО после перезагрузки страницы человек увидит, что строение построено. Если у человека будет отключены различного рода перезагрузки страницы (редиректы), то в 11:30 у него будет изображено, что здание на данный момент в процессе постройки, в 11:40 тоже самое, ему необходимо будет именно перегрузить страницу, чтобы получить новую информацию.

Вот так действует таймер постройки, приблизительно на 90% один в один так же как на Травиане. Там, если посмотришь, идёт отсчет времени, как строительство заканчивается - страничка перегружается.

То есть делай выводы, визуально человек видит, что здание строится, что оно построилось на JS, НО(!!!), это не реальные факты, потому что реальные должны храниться на сервере, и получают их человек только с перезагрузкой страницы.

Спустя 1 час, 3 минуты, 5 секунд (9.07.2011 - 12:45) Dazl написал(а):
Да, вообщем я знаю как это... тока вот на практике появятся другие вопросы

Спустя 17 минут, 4 секунды (9.07.2011 - 13:02) inpost написал(а):
Dazl
как сделать счетчик на пхп... это другие вопросы? Это совсем не так, как должно работать на самом деле!

Спустя 55 секунд (9.07.2011 - 13:03) ИНСИ написал(а):
Цитата
а что это? это языки или комбинация языков?

Поищи в гугле. Там есть много статей хороших.

Цитата
а какого жанра ты делаешь игру?

Что-то типа Sims ....

Спустя 5 часов, 19 минут, 26 секунд (9.07.2011 - 18:23) Dazl написал(а):
Цитата
Что-то типа Sims


Да-а у тебя работы выше крыши...


Цитата
как сделать счетчик на пхп... это другие вопросы? Это совсем не так, как должно работать на самом деле!


Тот счётчик который мне нужен я уже сделал.

всем спасибо за труд.

Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.