World Event Calendar.

Indította NevemSenki, 2013 március 09, 10:25:28 DÉLELŐTT

Előző téma - Következő téma

NevemSenki


Sziasztok.

Én mint Blizz-es játékos... fontosnak tartom az World Event-eket. De viszont a visszaszámolásával akadtak problémáim.
TrinityCore-ról beszélünk.
Ebből http://collab.kpsn.org/display/tc/Game+event+tc2 szeretném kiszámolni ezt http://www.wowhead.com/events#calendar.
Beírhatnám a pontos értékeket, hogy ezen Event ettől - eddig tart. De mi van abban az esetben ha én hozzáadok egy Event-et, vagy éppen elveszek?
Ezt kéne pontosan kiszámolni, és egyszerű megoldás sajnos nem jutott az eszembe.
A probléma az Event kezdeti időpontjával van.

A Game-Event tábla szerint a start_time az abszolút kezdő dátum. Igen ám, de ez évekre van a jelenlegi dátumtól. Itt jön a képbe az occurence tábla, ami az esemény ismétlődését ( két esemény között eltelt időt ) határozza meg.

Ebből következi, hogy [ start_time ] + { [ occurence ] * [ x ] } = [ Az Event pontos indulási ideje. ]

Akad még egy tábla, az pedig a length ami az Event időtartamát ( hosszát ) határozza meg.

Így már kiszámolható az Event pontos befejezési ideje.

[ start_time ] + {( [ occurence ] + [ length ] ) * [ x ] } = [ Az Event pontos befejezési dátuma. ]

És ezt minden áldott alkalommal ki kéne számolni, és összehasonlítani a jelenlegi dátummal. Végigléptetni egy ciklussal, addig az értékig ami a kegközelebb esik a jelenlegi dátumhoz, de azt nem haladja meg, majd hozzáadni a [ lenght ] értéket, és ha az túl esik a jelen dátumon, akkor az Event éppen fut. Ez így egy elég hosszúkás lekérés... mondjuk ha az Arena-s ládás Event-et nézzük Boty Bay felett. Az 3 óránként ismétlődik. Na most akkor ugye:

[ x ] = ( [ Jelenlegi dátum ] - [ start_time ] ) / [ 180 perc ]

[ x ]-szer futna le a ciklus. Ez kicsit sok.....

Itt nem csak Évek, Hónapok, Napok hanem Órák és Pecek pontossággal.
Ráadásul ez nem elég, mert míg a [ start_time ] és az [ end_time ] normál dátummal van ellátva, azalatt a [ occurence ] és a [ lenght ] pedig Unix time-al.

Mivel nem akarok plusz táblát az adatbázisba ha lehetséges, és ne függjön a működés egy külső oldaltól / script-től sem, megoldható valahogy egyszerűbben a kiszámítás?
Mert ez egy plugin lenne a weboldalba. És ugye a plugin nem 1x és nem 2x töltődik be....

Várom az ötleteket.

Üdv.: Senki
Csak a Puffin ad neked erőt, és mindent lebíró akaratot!

Powered by EzPortal