Skocz do zawartości
  • 0

Komenda dostępna raz na jakiś czas.


Pytanie

Witam.

Piszę pluginy który ma za zadanie przyznawać graczom z rangą VIP itemy.

Chciałbym żeby gracz miał dostęp do polecenia przyznającego itemy raz na jakiś czas (np 7 dni).

Ktoś wie jak coś takiego zrobić ?

 

Odnośnik do komentarza
https://skript.pl/temat/22153-komenda-dost%C4%99pna-raz-na-jaki%C5%9B-czas/
Udostępnij na innych stronach

7 odpowiedzi na to pytanie

Rekomendowane odpowiedzi

  • 0
9 godzin temu, KrejzolekPRO napisał:

No ustawiasz date wzięcia i przy ponownej chęci wykonania komendy sprawdzasz czy zapisana data jest większa od 7 days i tyle.

Zrób tak jak @KrejzolekPRO powiedział, nikt tu ci gotowaca nie będzie dawał :v

Odnośnik do komentarza
https://skript.pl/temat/22153-komenda-dost%C4%99pna-raz-na-jaki%C5%9B-czas/#findComment-151109
Udostępnij na innych stronach

  • 0
public static Map<UUID, Long> map = new HashMap<>();
  
  	//kod
  	final UUID uuid = player.getUniqueId();
  	if (!map.containsKey(uuid) || map.get(uuid) <= 0L){
        //Nie pamietam ile to bylo 1000L, chyba jedna sekunda
        final int 7days = 604800; //7 dni to 604800 sekund
		map.put(uuid, System.currentTimeMillis()+1000L*7days);
        giveKit(player);
        player.sendMessage("Odebrales swoj zestaw! Nastepny raz mozesz go wziac za 7dni.");
        
	}
    else if (map.containsKey(uuid) && map.get(uuid) > 0L)){
    	player.sendMessage("Nie mozesz odebrac swojego zestawu! Musisz poczekac 7 dni od ostatniego zabrania.");
    	return;
    }
    
//metoda do dawania zestawu
public static void giveKit(Player p){
	p.getInventory().addItem(new ItemStack(Material.DIAMOND, 10));
}

 

Odnośnik do komentarza
https://skript.pl/temat/22153-komenda-dost%C4%99pna-raz-na-jaki%C5%9B-czas/#findComment-151121
Udostępnij na innych stronach

  • 0
23 minuty temu, yooniks napisał:

public static Map<UUID, Long> map = new HashMap<>();
  
  	//kod
  	final UUID uuid = player.getUniqueId();
  	if (!map.containsKey(uuid) || map.get(uuid) <= 0L){
        //Nie pamietam ile to bylo 1000L, chyba jedna sekunda
        final int 7days = 604800; //7 dni to 604800 sekund
		map.put(uuid, System.currentTimeMillis()+1000L*7days);
        giveKit(player);
        player.sendMessage("Odebrales swoj zestaw! Nastepny raz mozesz go wziac za 7dni.");
        
	}
    else if (map.containsKey(uuid) && map.get(uuid) > 0L)){
    	player.sendMessage("Nie mozesz odebrac swojego zestawu! Musisz poczekac 7 dni od ostatniego zabrania.");
    	return;
    }
    
//metoda do dawania zestawu
public static void giveKit(Player p){
	p.getInventory().addItem(new ItemStack(Material.DIAMOND, 10));
}

 

Serwer się wyłączy i co wtedy? Trzeba wczytywać i zapisywać dane przy onEnable() i onDisable()

Odnośnik do komentarza
https://skript.pl/temat/22153-komenda-dost%C4%99pna-raz-na-jaki%C5%9B-czas/#findComment-151131
Udostępnij na innych stronach

  • 0
3 minuty temu, KrejzolekPRO napisał:

Serwer się wyłączy i co wtedy? Trzeba wczytywać i zapisywać dane przy onEnable() i onDisable()

dałem tylko przykład.

Odnośnik do komentarza
https://skript.pl/temat/22153-komenda-dost%C4%99pna-raz-na-jaki%C5%9B-czas/#findComment-151133
Udostępnij na innych stronach

  • 0
Dnia 14.10.2017 o 11:07, KrejzolekPRO napisał:

Warto było o tym wspomnieć, bo autor postu mógł o tym nie wiedzieć :)

:derpy: No takie podstawy to ja rozumiem. Chyba podepnę plugin pod bazę danych i tam będę przechowywał czas :D

Nie chce mi się bawić w zapisywanie danych a do bazy mam gotowy skrypt :P

@Edit

Problem rozwiązany. Podłączyłem plugin pod bazę i wszystko śmiga.

 

 

 

Edytowane przez Arczi98
Problem rozwiązany.
Odnośnik do komentarza
https://skript.pl/temat/22153-komenda-dost%C4%99pna-raz-na-jaki%C5%9B-czas/#findComment-151243
Udostępnij na innych stronach

Nieaktywny
Ten temat został zamknięty. Brak możliwości dodania odpowiedzi.
  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...