Спустя 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 написал(а):
а зачем? для клиента это делаешь или для кого?

Спустя 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
так счётчика не хватит, пока ты делать будешь, сервер на твоём счётчике повесится!
братуха, вот подумай сам. тыбы сел на боевую ракету покататся с ветерком? вот и тут также. php для сервера js для клиента.
так счётчика не хватит, пока ты делать будешь, сервер на твоём счётчике повесится!



братуха, вот подумай сам. тыбы сел на боевую ракету покататся с ветерком? вот и тут также. php для сервера js для клиента.
Спустя 3 минуты, 36 секунд (8.07.2011 - 09:05) Dazl написал(а):
Цитата |
братуха |
я думал ты она

Цитата |
так счётчика не хватит, пока ты делать будешь, сервер на твоём счётчике повесится! |
вымысле счётчика, какого? и ява для этого мне не подойдет если клиент выйдет отсчет то должен продолжаться
Спустя 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 ФАЙЛА, как он будет тебе счетчик отсчитываться.
Заноси время в БД, при следующем обращении смотри, если время текущее - время в БД > тому времени которое тебе надо, то счетчик истек
мдец... ты купи книгу по 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 написал(а):
А теперь главные вопрос на которой я знаю что вы мне отверите
Что такое сессия?
только не бросайтесь спенным мозгом как говорит mr. Freeman.
я уже ухожу... в google

Что такое сессия?
только не бросайтесь спенным мозгом как говорит mr. Freeman.
я уже ухожу... в google
Спустя 1 минута, 33 секунды (8.07.2011 - 09:17) tatti написал(а):
Цитата (Dazl @ 8.07.2011 - 06:16) |
Что такое сессия? |
подрастёшь, узнаешь

Спустя 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
и застыло и после обновления тоже так...
не меняется
а на счёт времени у меня стало вот так 2011:08:072011:07:07
и застыло и после обновления тоже так...
не меняется
Спустя 3 минуты, 9 секунд (8.07.2011 - 09:43) YVSIK написал(а):
ладно есль ты знашь что такое сессия то скажи что это
сам вот чет запаметывал
сам вот чет запаметывал

Спустя 2 минуты (8.07.2011 - 09:45) Dazl написал(а):
YVSIK Кеп, я бы перешел по ссылке тока это не ссылка )
Спустя 5 минут, 2 секунды (8.07.2011 - 09:50) YVSIK написал(а):
а это и не ссыль это вопрос что такое эти СЕССИИ
вот подскажи что ты понял про сессии
вот подскажи что ты понял про сессии



Спустя 3 минуты, 15 секунд (8.07.2011 - 09:53) tatti написал(а):
да....
это и правда сложно понять. не смешно!
Dazl
понимаешь, время на сервере само по себе без сервера это просто цифра сгенерированая на сервере и посланая в браузер клиенту. чтобы время сгенерированое на сервере и посланое в браузер клиенту менялось, его надо как минимум обновлять. само по себе вне сервера это самое время не обновится. так устроены приложения клиент-сервер
это и правда сложно понять. не смешно!
Dazl
понимаешь, время на сервере само по себе без сервера это просто цифра сгенерированая на сервере и посланая в браузер клиенту. чтобы время сгенерированое на сервере и посланое в браузер клиенту менялось, его надо как минимум обновлять. само по себе вне сервера это самое время не обновится. так устроены приложения клиент-сервер
Спустя 7 минут, 41 секунда (8.07.2011 - 10:01) Dazl написал(а):
Цитата |
само по себе вне сервера это самое время не обновится |
Помоемому тут промашка! как это не обновить оно будут обновляться на сервере
а клиент получает готовый ответ. разве не так??
Спустя 1 минута, 12 секунд (8.07.2011 - 10:02) tatti написал(а):
Dazl
на форуме принято делится опытом а не пережевывать по 100 раз.
на форуме принято делится опытом а не пережевывать по 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 |
только с теми, кто сам до этого додуматься не в состоянии

всё.
Спустя 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, тогда сервер формирует объект, как завершенный.
По прошествии 25 минут пользователь снова заходит в игру. На сервере формируются объекты, принадлежащий игроку, если есть строящиеся здания, для них вычисляется время оставшиеся до завершения:
времени прошло = текущие время - время начала строительства
осталось до завершения = время строительства - времени прошло
Время у нас хранится в секундах. Получается:
времени прошло = 1310115058 - 1310113558 = 1500
осталось до завершения = 3600 - 1500 = 2100
Дальше сервер проверяет, если число положительное, то он формирует объект, как строящиеся здание и отправляет клиенту время, которое осталось до завершения, затем оно "тикает" на JS.
Если же число получилось отрицательное, т.е. пользователь отсутствовал больше времени, необходимого на строительство, то число получится отрицательным или равным 0, тогда сервер формирует объект, как завершенный.
Спустя 6 минут, 13 секунд (8.07.2011 - 11:08) Dazl написал(а):
Цитата |
Rand |
да, теория идеальная, но вот без наглядного примера я не в состоянии представить себе это ввиде кода

Спустя 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 я сам сейчас делаю онлайн игру и поверь, это не так просто 

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

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

Спустя 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 написал(а):
Цитата |
Это наверно выглядить смешно |
нет это не смешно таковы пути познания
а что не разобрал с базой ?
я не зная как подступиться по началу и не зная где и что искать
потребовалось боле года этот вопрос решать ,
тогда ещё время не было работал много на другой работе,
так к стати ,тож подобным образом пробовал решить если не понял про базу


Спустя 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 - пока тебе рано изучать, но раз уж взялся за такой сложный проект, то знай на что внимание свое заострять 
P.S. Делать таймер на php - извращение. Лучше это делать через JS. Я лишь привел пример, что таймер можно сделать на php

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, НО(!!!), это не реальные факты, потому что реальные должны храниться на сервере, и получают их человек только с перезагрузкой страницы.
ТОЛЬКО после перезагрузки страницы человек увидит, что строение построено. Если у человека будет отключены различного рода перезагрузки страницы (редиректы), то в 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 |
Да-а у тебя работы выше крыши...
Цитата |
как сделать счетчик на пхп... это другие вопросы? Это совсем не так, как должно работать на самом деле! |
Тот счётчик который мне нужен я уже сделал.
всем спасибо за труд.