Stránka 1 z 1

Java, Bukkit - Problém s časováním.

Napsal: 12 bře 2013 00:38
od siOnzee
Ahojte, při mém programování jsem narazil na problém.
Problém je v tom že výsledek háže nesmysl.
Příklad:
1 sekunda je 1000 v milisekundách.
60 sekund je 60 000 v milisekundách.
Já hraji 5 minut, odpojím se. // Vyvolá se funkce 'odRegistrovatHrace'
Když se připojim vysledek = 9195198498156465 až moc nesmyslné číslo, nevíte co jsem mohl udělat špatně ?

Kód: Vybrat vše

public void registrovatHrace(String jmenoHrace) {
   //Vloží do mapy hráče a čas kdy se připojil.
   Doba.put(jmenoHrace, System.currentTimeMillis());
}

public void odRegistrovatHrace(String jmenoHrace) {
   //Načte .yml hráče k používání do metody.
   uzivFile = new File("plugins/FreeLance/users/" + jmenoHrace + ".yml");
   uziv = YamlConfiguration.loadConfiguration(uzivFile);
   
   //Zkontroluje jestli config obsahuje 'Nahrano' jestli ne, nastaví hodnotu na 0.
   if(!uziv.contains("Nahrano")) {
      uziv.set("Nahrano", 0);
      ulozitConfig(uziv,uzivFile);
   }
   
   //Vezme čas kdy se hráč připojil a dosadí. (Není v této funkci).
   long casPripojeni = Doba.get(jmenoHrace);
   
   //Vezme čas co doposud nahrál.
   long vConfigu = uziv.getLong("Nahrano");
   
   //Spočíta jak dlouho hrač hraje.
   long vysledek = System.currentTimeMillis() - casPripojeni + vConfigu;
   
   //Nastaví hodnotu pro hráče a uloží soubor.
   uziv.set("Nahrano", vysledek);
   ulozitConfig(uziv,uzivFile);
}

Re: Java, Bukkit - Problém s časováním.

Napsal: 12 bře 2013 14:46
od honzaik
tak jako pokud tomu dobře rozumim, chceš zjistit jak dlouho hrál hráč za jednu "session" - připojení, tak nevím proč vysledek neni jen System.currentTimeMillis() - casPripojeni
vlastne když to převedeš třeba ted je 1363095741113 a za 5 min je 1363096041113 a rozdíl je 300 000 ms = 5min,
1363096041113 - 1363095741113 = 300 000
nevím proč tam dodáváš nějaký vConfigu. pokud jsem to teda dobře pochopil že chceš změřit čas za jednu dobu hraní
a teda když budeš chtít zjistit celkovou dobu hraní na serveru prostě k tý proměný do který uložíš 1. záznam bude přičítat ty výsledky

Re: Java, Bukkit - Problém s časováním.

Napsal: 12 bře 2013 23:18
od CZechBoY
z tohohle se vůbec nedá poznat co tam je za hodnoty proměnných, takže bohužel tvůj příspěvek nám nic neřekne