Aš dar galvoju, kad nepakeitė gal dėl to, jog buvau tik nustatęs dieną prieš tą configą tokį. Skaityk diena bebuvo likus, gal nespėjo suveikti viskas. Reikia manau palaukti sekmadienio ateinančio, jei tada nepakeis, tada reiks bėdos ieškoti.
Manau pratrynus visa config/olympiad.cfg failą ir .properties config'e pakeitus parametrus. Po rr nusistatys naujus periodus laikus ir t.t. tik nežinau paliks senus taškus ar ne...
Testuoji gi eksperimentuok
Paskutinį kartą redagavo: NoMansLand 25 Sausio 2016 - 17:18
"mano laikais" budavo taip, kad duombazej saugodavo sekancio periodo data. T.y. initially paziuri i konfiga, pasiskaiciuoja ir nustato reiksme duombazej. Tada po kiekvieno restarto pasiziuri duombazej kada ten reikes perskaiciuoti herojus, pasidaro scheduled taska ir tiek. Kai scheduled taskas pasileidzia, perskaiciuoja herojus, konfige pasiziuri intervalus ir pasiskaiciuoja atitinkamai nauja data, kuria vel deda i duombaze...
wewewe teisingai pasake kaip keicias periodas, o siaip //manualhero suveiks. BET nepamirsk jog lentelei turi buti irasyta bent 1 win kova, kitaip tau sistema sakys smaukykis is kampo i kampa. 9 kovos ir 1 win minimum.
Kraunasi config'as iš olympiad.cfg (kurio nėra dar),
Sistema laiko, kad Period = 0, OlympiadEnd = 0 ir be didelių klausimų lekia vykdyt -> setNewOlympiadEnd(),
Ten mato, kad norim custom nustatymų periodui -> setNewOlympiadEndCustom(),
Čia nusistato laiką kada keisis periodas, priklausomai nuo to keičiasi kas dieną, savaitę ar mėnesį. Atrodo maždaug taip jei config'inama savaitei ->
Calendar currentTime = Calendar.getInstance();
//nustatomas laikas į 00:00:00
currentTime.set(Calendar.AM_PM, Calendar.AM);
//originalus parašymas kode toks, nesu įsitikines ar kažkur kitur apdoroja
//kodą korektiškai ar taip ir lieka, bet 12AM yra vidurdienis... ???
currentTime.set(Calendar.HOUR, 12);
currentTime.set(Calendar.MINUTE, 0);
currentTime.set(Calendar.SECOND, 0);
//pwz kas savaitę keičiasi AltOlyPeriod = WEEK
currentTime.add(Calendar.WEEK_OF_MONTH, 1); //iš config'ų ateina AltOlyPeriodMultiplier = 1
currentTime.add(Calendar.DAY_OF_MONTH, -1); //papildoma viena diena validacijai
Back to -> load(),
Užsikrauna informaciją iš DB apie nobles'us, jei ne validacijos periodas -> init(),
Nusistato parametrus ir pasileidžia sheduled task'as -> scheduleGeneral(new OlympiadEndTask(), this.getMillisToOlympiadEnd());
Dabar kai susisuka task'as ir startuoja -> OlympiadEndTask() (taip pat šitą punktą gali startuot //manualhero komanda),
Nusistato visokie nobles parametrai, nustatomi hero, hero bonusai, visokie ten apdeitai ir t.t.
Pasiskaičiuoja validacijos pabaigos laikas ir nusistato task'as paleisti -> ValidationEndTask()
Ir čia pravalomi noblesai, nusistato naujas olimpiados pabaigos laikas, ir prasukamas -> init();
.cfg failas saugomas kuomet: 1. Prasideda validacijos periodas, 2. Pasibaigia olympiad game, 3, Server shutdown ???
Starto metu egzistuojant .cfg failui viskas vyksta ganėtinai panašiai tik -> load() metu priklausomai nuo išsaugotų parametrų prasukami ar skip'inami vieni ar kiti punktai. Tam kad teisingai startuot sistemą.