Показать сообщение отдельно

  #6  
Старый 30.09.2008, 19:07
etc
Постоянный
Регистрация: 16.02.2008
Сообщений: 724
Провел на форуме:
1025839

Репутация: 581


По умолчанию

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

date - тек. дата
start - начало действия
end - конец действия
time - число, соотв. игровому времени (соотношение игрового времени с реальным).
eff - единица эффекта, на 1 ед. time


1. Извелкаем данные
2.1. Смотрим дату начала действия
2.2. Смотрим текущую дату, если она превышает конец действия то нам нужно вычислить результат воздействия следующим образом:
Цитата:
((end-start)/time)*eff
2.3. если текущая дата не превышает конец действия,то
Цитата:
((date-start)/time)*eff
правда тут нужно смотреть, чтобы была кратность в вычислениях, т.е. чтобы в базе не получилось остатка, не кратному единице времени))) (этого можно достич путем доп. вычислений при записи времени end,start в таблицу, либо просто округлением, хотя оно не всегда есть гуд)
2.3.1. обновляем timestamp с целью того, чтобы после обновления страницы эффект добавился с последнего обновления, а не с первой записи.
2.4. добавляем полученные единицы к статам (скажем, просто обновляем таблицу)..

ппц нах)

Последний раз редактировалось etc; 30.09.2008 в 19:14..