kerpson 534 Opublikowano 29 października 2018 Udostępnij Opublikowano 29 października 2018 Tak jak w temacie, macie kod: Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
0 Ixidi 717 Opublikowano 29 października 2018 Udostępnij Opublikowano 29 października 2018 Ja bym zrobił mapę, w której kluczem jest np. UUID, a wartością ostatni czas użycia w milisekundach. No i potem sprawdzasz czy mapa zawiera dane UUID, jeśli tak to porównujesz różnice między aktualnym czasem, a tamtym z np 5000 (5 sekund). Jeśli jest większe lub równe, to może użyć, wykonujesz dany kod i dodajesz aktualny czas dla danego UUID, jeśli jest mniejsze to wyświetlacz jakąś wiadomość czy coś. yooniks 1 Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
0 yooniks 347 Opublikowano 29 października 2018 Udostępnij Opublikowano 29 października 2018 Bukkit.getServer().getScheduler().scheduleAsyncDelayedTask(Main.getPlugin(Main.class), new Runnable(){ public void run() { cooldownns.remove(p); } },100); gdzie lambda? i czemu nie runTaskLaterAsynchrously if(e.getItem().getType().equals(Material.NETHER_STAR)){ == if(p.getItemInHand() == null) return; e.getItem() i nie wiem od ktorej wersji, ale w nowszych jest juz event.hasItem() Player p = (Player) e.getPlayer(); czemu castujesz playera do playera ArrayList<Player> cooldownf = new ArrayList<>(); List<Player> cooldown = new ArrayList<>(); a tak poza tym to jezeli bylby to tylko jeden cooldown to uzylbym jakiejs mapy od guavy private final Cache<UUID, Integer> registerRequests = CacheBuilder .newBuilder().expireAfterWrite(60, TimeUnit.SECONDS).build(); chociaz nie wiem czy tutaj sie przyda mapka =/ najlepiej wedlug mnie byloby to trzymac w jakims userze i po prostu trzy longi no i ustawiasz je po prostu na System.currentTimeMillis() + TImeUnit.SECONDS.toMillis(10); czyli czas z teraz + 10 sekund - i masz 10 sekundowy cooldown, a w ifach sprawdzasz: if (user.cooldown(FIRST) > System.currentTimeMillis()) { player.sendMessage("Mozesz tego uzywac co 10 sekund!"); return; } user.putCooldown(FIRST, System.currentTimeMillis() + TimeUnit.SECONDS.toMillis(10)); player.sendMessage("uzyto!"); Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
0 kerpson 534 Opublikowano 29 października 2018 Autor Udostępnij Opublikowano 29 października 2018 Dzieki, zastosuje sie do tych rad Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
0 Ixidi 717 Opublikowano 29 października 2018 Udostępnij Opublikowano 29 października 2018 Problem został rozwiązany. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Pytanie
kerpson 534
Tak jak w temacie, macie kod:
Odnośnik do komentarza
Udostępnij na innych stronach
4 odpowiedzi na to pytanie
Rekomendowane odpowiedzi