Skocz do zawartości
  • 0

Jak zrobić inventory z którego nie da się brać rzeczy?


Pytanie

Jak zrobić inventory z którego nie da się brać rzeczy?

Próbowałem tym sposobem:

    public void onInventoryClick(InventoryClickEvent event){
        Inventory inventory = event.getInventory();
        Player player = (Player) event.getWhoClicked();
        if (inventory.getName()==myInventory.getName()){
            event.setCancelled(true);
            player.closeInventory();
        }

ale nic się nie dzieje - można dalej normalnie brać przedmioty.

Edytowane przez Ixidi
[code]
Odnośnik do komentarza
https://skript.pl/temat/24116-jak-zrobi%C4%87-inventory-z-kt%C3%B3rego-nie-da-si%C4%99-bra%C4%87-rzeczy/
Udostępnij na innych stronach

7 odpowiedzi na to pytanie

Rekomendowane odpowiedzi

  • 0

Zrób jakiegoś debuggera i sprawdź czy wszystkie ify przejdą:

public void onInventoryClick(InventoryClickEvent event){
        Inventory inventory = event.getInventory();
        Player player = (Player) event.getWhoClicked();
        if (inventory.getName()==myInventory.getName()){
            p.sendMessage("dziala.");
            event.setCancelled(true);
            player.closeInventory();
        }

 

Odnośnik do komentarza
https://skript.pl/temat/24116-jak-zrobi%C4%87-inventory-z-kt%C3%B3rego-nie-da-si%C4%99-bra%C4%87-rzeczy/#findComment-161780
Udostępnij na innych stronach

  • 0

Właśnie to zrobiłem. Wyszło, że wiadomość "zlodziej", a w twoim przypadku "dziala" się nie wyświetla.

Dodam, że po dodaniu "else" do tego if' a wiadomość po else się nie wyświetla.

A no i w sumie w ogóle dodając co linijkę broadcasta nie wyświetla się żaden... Czyli event jest zły. To w takim razie jaki ma być event?

Odnośnik do komentarza
https://skript.pl/temat/24116-jak-zrobi%C4%87-inventory-z-kt%C3%B3rego-nie-da-si%C4%99-bra%C4%87-rzeczy/#findComment-161781
Udostępnij na innych stronach

  • 0
command /minedrops:	
	trigger:	
		open chest with 3 rows named "" to player
		wait 2 tick
		format slot 0 of player with black glass named "" to close
		format slot 1 of player with black glass named "" to close
		format slot 2 of player with black glass named "" to close
		format slot 3 of player with black glass named "" to close
		format slot 4 of player with black glass named "" to close
		format slot 5 of player with black glass named "" to close
		format slot 6 of player with black glass named "" to close
		format slot 7 of player with black glass named "" to close
		format slot 8 of player with black glass named "" to close
		format slot 9 of player with black glass named "" to close
		format slot 10 of player with black glass named "" to close
		format slot 11 of player with diamond named "&e0.5" to close
		format slot 12 of player with emerald named "&e0.7" to close
		format slot 13 of player with black glass named "" to close
		format slot 14 of player with iron ingot named "&e1" to close
		format slot 15 of player with gold ingot named "&e0.9" to close
		format slot 16 of player with black glass named "" to close
		format slot 17 of player with black glass named "" to close
		format slot 18 of player with black glass named "" to close
		format slot 19 of player with black glass named "" to close
		format slot 20 of player with black glass named "" to close
		format slot 21 of player with black glass named "" to close
		format slot 22 of player with stone named "&aStatystyki" to run "sudo %player% dropstats"
		format slot 23 of player with black glass named "" to close
		format slot 24 of player with black glass named "" to close
		format slot 25 of player with black glass named "" to close
		format slot 26 of player with red wool named "&4Powrot" to run "sudo %player% pomoc"

Nie chodzi ci o to?

Odnośnik do komentarza
https://skript.pl/temat/24116-jak-zrobi%C4%87-inventory-z-kt%C3%B3rego-nie-da-si%C4%99-bra%C4%87-rzeczy/#findComment-161783
Udostępnij na innych stronach

  • 0

@Antoni Załupka

Inventory inventory = Bukkit.createInventory(null, 27, "§cCzerwona nazwa inventory");//Tworzy inventory o wielkosci 27 slotow
Inventory.addItem(new ItemStack(Material.DIRT, 5));//Dodaje 5 dirta do inventory
e.getPlayer().openInventory(inventory);//Otwiera graczowi inventory

 

Odnośnik do komentarza
https://skript.pl/temat/24116-jak-zrobi%C4%87-inventory-z-kt%C3%B3rego-nie-da-si%C4%99-bra%C4%87-rzeczy/#findComment-161787
Udostępnij na innych stronach

  • 0

Tylko, że mi chodzi o to, aby nie dało się brać przedmiotów z tego inventory

Dobrze, udało mi się. Jeśli ktoś ma podobny problem lub jest ciekawy jak to rozwiązałem to dodałem "@EventHandler" przed funkcją oraz zamieniłem onInventoryClick na onClick

Odnośnik do komentarza
https://skript.pl/temat/24116-jak-zrobi%C4%87-inventory-z-kt%C3%B3rego-nie-da-si%C4%99-bra%C4%87-rzeczy/#findComment-161790
Udostępnij na innych stronach

  • 0
4 godziny temu, Antoni Załupka napisał:

zamieniłem onInventoryClick na onClick

To akurat nie ma żadnego znaczenia.

Generalnie nie używa się też == do porównywania stringów, należy użyć metody equals().

Problem został rozwiązany.

Odnośnik do komentarza
https://skript.pl/temat/24116-jak-zrobi%C4%87-inventory-z-kt%C3%B3rego-nie-da-si%C4%99-bra%C4%87-rzeczy/#findComment-161794
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ę...