Блин... что ж у меня не получается нормально выразиться то )) Как дерьмово когда не знаешь что хочешь )) Эммм.. как создать этот ориентир времени, относительно которого, будут производиться зависящие от него действия? Этот таймер, должен каждую секунду (в лучшем случае), пробежать всю таблицу "действий", найти уже просроченное действие, а именно, то что сказал постом выше etc: И соответственно что либо выполнить.
Пришел в голову анальный вариант: При каждом обновлении страницы у юзера обновляюца, например, кукисы, а точнее timestamp в них. Сравнивать timestamp юзера со stamp'ом в момент подгрузки страницы и мат. формулой рассчитывать тот же рост хп или что там нужно И, между прочим, это можно реализовать на том же аяксе, как мне думаеца) upd: Ещё можно в кроне или любом другом менеджере задач запускать скриптец, который прогоняет бд и изменяет заданные параметры (ну т.е. восстановление хп, например)
n0ne, так куки смогут подделывать. Это ещё хуже, что бы какие то значения переменных напрямую брались из кук имхо
PEPSICOLA, смотри, скажем, есть таблица, в которой это все содержиться. В нее пишутся, скажем, эффекты воздействия над тем или иным параметром, как я уже писал - время начала и конца действия + привязка к игроку. date - тек. дата start - начало действия end - конец действия time - число, соотв. игровому времени (соотношение игрового времени с реальным). eff - единица эффекта, на 1 ед. time 1. Извелкаем данные 2.1. Смотрим дату начала действия 2.2. Смотрим текущую дату, если она превышает конец действия то нам нужно вычислить результат воздействия следующим образом: 2.3. если текущая дата не превышает конец действия,то правда тут нужно смотреть, чтобы была кратность в вычислениях, т.е. чтобы в базе не получилось остатка, не кратному единице времени))) (этого можно достич путем доп. вычислений при записи времени end,start в таблицу, либо просто округлением, хотя оно не всегда есть гуд) 2.3.1. обновляем timestamp с целью того, чтобы после обновления страницы эффект добавился с последнего обновления, а не с первой записи. 2.4. добавляем полученные единицы к статам (скажем, просто обновляем таблицу).. ппц нах)
пепсик, не надо каждые 4 минуы обновлять - храни последнюю дату обновления, а когда инфа потребуется - по запросу обновляй у данного как выполненное (t2-t1)/4 раз.
Pepsicola, а не надо в открытом виде хранить Это всё можно грамотно закриптовать)) И ещё есть вариант с кроном, он, имхо, лучше)
А во ,создай отдельную таблицу где будешь отсчитывать время , и ориентируйся на эту таблицу(допустим если время там по 0 то когда пользователь забросит её то выполняется какой то код else ещо непрошло определённое кол-во времени)