ServerPlugin (Milli)sekundenzähler

Dieses Thema im Forum "Programmierung" wurde erstellt von 2801MC, 7. Oktober 2014.

  1. 2801MC
    Offline

    2801MC

    Registriert seit:
    15. August 2013
    Beiträge:
    77
    Hallo!
    Ich mache gerade wieder mal ein Plugin wo ich jetzt aber wiedermal etwas hilfe brauche!
    Ich will im PlayerJoinEvent einen Millisekundenzähler einbauen!
    So soll das ca. aussehen:

    int Millis = 60000;
    while(Millis > 0){
    __//1 Millisekunde warten
    __Millis--;
    }

    Aber wie kann ich das mit dem 1 Sekunde warten jetzt machen?
    Und wenn der Spieler leavt würde es dann weiterzählen oder auto. stoppen?
     
    #1
  2. MiCrJonas
    Offline

    MiCrJonas

    Registriert seit:
    29. Oktober 2012
    Beiträge:
    1.069
    #2
  3. 2801MC
    Offline

    2801MC

    Registriert seit:
    15. August 2013
    Beiträge:
    77
    Ja genau sowas meinte ich! Danke! Nur muss ich jetzt die Sekunden bzw. ticks zählen und nicht die Millisekunden aber das geht auch :)
     
    #3
  4. Darkangel93424
    Offline

    Darkangel93424

    Registriert seit:
    28. Januar 2012
    Beiträge:
    20
    Minecraft:
    Darkangel
    ja der Server arbeitet nur mit Ticks (1 Sekunde = 20 Ticks), aber warum möchtest du jede Sekunde warten, was hast du den vor?
     
    #4
  5. 2801MC
    Offline

    2801MC

    Registriert seit:
    15. August 2013
    Beiträge:
    77
    Ich habe vor ein Jail-Plugin zu programmieren in dem man aber nicht z.b. 6 stunden ins jail kommen kann sondern nur z.b. 30 minuten ONLINEZEIT und erst wenn die zeit vorbei ist kann man raus!
     
    #5
  6. Darkangel93424
    Offline

    Darkangel93424

    Registriert seit:
    28. Januar 2012
    Beiträge:
    20
    Minecraft:
    Darkangel
    setz ihm ne metadata und blockiere das moven und frag mit dem Timer nicht jede sekunde sondern dann die gesamtzeit (z.b. 30 min)
     
    #6
  7. MiCrJonas
    Offline

    MiCrJonas

    Registriert seit:
    29. Oktober 2012
    Beiträge:
    1.069
    Wenn der Spieler ins Gefängnis kommt, speicherst du ab, bis wann der Spieler im Gefängnis ist. (System.currentTimeMills() + sekunden * 1000). Dann startest du einen Scheduler, der den Spieler nach [sekunden] freilässt. Wenn der Spieler den Server verlässt, prüfst du, ob er sich im Gefängnis befindet. Ist dies der Fall, rechnest du aus, wie lange es jetzt noch ist, bis der Spieler aus dem Gefängnis kann ((Gebannt bis - System.currentTimeMills()) / 1000). Das speicherst du irgendwo ab. Außerdem muss der Scheduler noch gestoppt werden. Wenn der Spieler nun wieder auf den Server kommt und noch im Gefängnis ist, fängt das, was ich geschrieben habe wieder von neuem an, bis der Spieler entlassen wird.
     
    #7