You are not logged in.

  • Login

[Bukkit-Plugin] Cooldown

Bitte besucht unser neues Forum unter https://forum.nitrado.net | Please visit our new Forum at https://forum.nitrado.net

Dear visitor, welcome to Nitrado.net Prepaid Gameserver Community-Support - Archiv. If this is your first visit here, please read the Help. It explains in detail how this page works. To use all features of this page, you should consider registering. Please use the registration form, to register here or read more information about the registration process. If you are already registered, please login here.

darksider2018

User / Kunde

  • "darksider2018" started this thread

Posts: 6

  • Send private message

1

Monday, January 28th 2019, 3:13pm

Cooldown

Guten Tag,

ich programmiere gerade einen Command der Command soll jede 3 Sekunden benutzbar sein. Das heißt ich gebe z.B /heal ein wenn ich den Command DIREKT danach wieder eingebe soll das stehen "Du kannst diesen Command nur jede 3 Sekunden benutzen" der Command soll NICHT nach 3 Sekunden ausgeführt werden sondern man soll ihn nur nicht spammen können.

Würde mich über ein Beispielcode freuen :)

LG

Renel2202

User / Kunde

  • "Renel2202" is male

Posts: 40

Occupation: Auszubildender Fachinformatiker in der Anwendungsentwicklung

  • Send private message

2

Monday, January 28th 2019, 4:08pm

Guten Tag,
Es gibt mehrere möglichkeiten dies zu tun,
zu einem kannst du eine Hashmap mit der Spieler uuid und der aktuellen zeit, dann macshst
du eine if abfrage zu beginn des commands ob die aktuelle Zeit minus die die du gespeichert hast.
und ist diese diverenz größer als 3 sekundne kannst du deinen Code ausführen.
MFG
René

darksider2018

User / Kunde

  • "darksider2018" started this thread

Posts: 6

  • Send private message

3

Tuesday, January 29th 2019, 1:59pm

Guten Tag,
Es gibt mehrere möglichkeiten dies zu tun,
zu einem kannst du eine Hashmap mit der Spieler uuid und der aktuellen zeit, dann macshst
du eine if abfrage zu beginn des commands ob die aktuelle Zeit minus die die du gespeichert hast.
und ist diese diverenz größer als 3 sekundne kannst du deinen Code ausführen.
MFG
René
Okay kannst du mir ein Beispielcode zusenden? Ich kann mir darunter schon was vorstellen aber kann es so nicht in die Praxis umsetzen. Würde mich drüber freuen :D

Fabsi23

User / Kunde

  • "Fabsi23" is male

Posts: 809

  • Send private message

4

Wednesday, January 30th 2019, 8:46am

Deine HashMap sollte die Felder UUID und Long beinhalten.

Die aktuelle Zeit bekommst du mit

Java source code

1
System.currentTimeInMillis();


Wenn der Spieler den Befehl eingibt, dann schaust du ob der Eintrag zu seiner UUID kleiner ist, als die aktuelle Zeit minus 3000 (1000 ms = 1s) oder natürlich null. Falls ja kann er den Befehl ausführen (und du speicherst die neue Zeit), sonst nicht.

Ich schreibe dir extra keinen Beispielcode, da du sonst nichts daraus lernst. Wenn du das Ganze mit den obigen Anweisungen nicht umsetzen kannst, dann setz dich am besten nochmal genauer mit HashMaps auseinander.
"Ich bewundere deine Gelassenheit!"
"Das ist Desinteresse."

Bitte besucht unser neues Forum unter https://forum.nitrado.net| Please visit our new Forum at https://forum.nitrado.net