Java, Bukkit - Čas nefunguje jak má.
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 long = 9195198498156465 až moc nesmyslné číslo, nevíte co jsem mohl udělat špatně ?
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);
}
Stále nikdo neví ?
ktory 'long' to je? mas tam casPropojeni/vConfigu/vysledek...
propocitavas tam 'vConfigu', nema uz to nejaku zlu hodnotu?