Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

Pomoc w pisaniu pluginu - GUI


kondziu98

Rekomendowane odpowiedzi

Opublikowano

Witam!
Mam taki mały problem, otóż nie wiem jak zrobić by tworzyło mi wirtualną skrzynkę w której będą gracze.
Chodzi o to że gdy np: wpiszę /gracz to wyskakuje mi okno w którym to będą wybrani gracze (którzy coś tam zrobili-pewnie będzie potrzebny config do odczytywania tego) i jak kliknę na tego gracza otwiera mi jego ekwipunek, z którego mogę zabrać jego itemy (nie chce żadnego dodatkowego pluginu do otwierania tego).
Nie wiem czy skumaliście o co chodzi czy nie.

Teraz tak, zapewne będzie mi potrzeby config w którym to będzie zapisywać danych graczy i ich itemy a przy otwarciu tej skrzyni będzie odczytywać config i wyświetlać to w tej wirtualnej skrzyni.
 

531001454960877632167.png

Opublikowano

O co Ci dokładnie chodzi ? wpisujesz /gracz i otwiera Ci się GUI w ktorym wybierasz gracza a następnie po wyborze edytujesz zawartosc jego eq ? Pisz na GG jak cos 53867328

Tak, tylko chodzi o to że w pluginie napisany jest ban gracza, i gdy go zbanuje to admin wtedy będzie mógł zabrać jego eq tak jak napisałeś

531001454960877632167.png

Opublikowano
https://bukkit.org/threads/tutorial-create-a-inventory-menu.173571/

A co do pobierania ekwipunku gracza offline to zaraz Ci powiem.

 

Z tego co wiem aby pobrać ekwipunek offline musisz ten ekwipunek zapisywać przy wyjściu gracza, chyba że jest jakaś magia której nie znam.

 

Poza tym, bardzo proste. @kondziu98

	// wsadz w komende np.
	// jest to pod graczy online, mozesz zrobic tak samo tyle ze z wszystkimi graczami.
	// po prostu liste graczy z online zamieniasz na zapisanych (z twojego pluginu) graczy.
	// no i potem musisz zrobic wlasny system offline inventory, ale to nie problem jest ;d
	public static void open(Player player, String[] args) {
		if(args.length == 0) {
			Inventory inv = Bukkit.createInventory(null, 54, "Gracze");
			Collection<? extends Player> players = Bukkit.getOnlinePlayers();
			Iterator<? extends Player> it = players.iterator();
			int index = 0;
			while(it.hasNext()) {
				Player p = it.next();
				ItemStack is = new ItemStack(Material.SKULL_ITEM, 1);
				ItemMeta im = is.getItemMeta();
				im.setDisplayName(p.getName());
				is.setItemMeta(im);
				inv.setItem(index, is); // chyba to byla glowa 
				if(index == 53) {
					break;         // mozesz sobie zrobic system stron
				}
				index++;
			}
			player.playSound(player.getLocation(), Sound.CHEST_OPEN, 1.0F, 1.0F);
			player.openInventory(inv);
			return;
		}
	}
	
	@EventHandler
	public void onInventoryClick(InventoryClickEvent e) {
		Inventory plist = e.getView().getTopInventory();
		Player p = (Player) e.getWhoClicked();
		
		ItemStack is = e.getCurrentItem();
		if(!e.getClickedInventory().equals(plist)) {
			return;
		}
		if(e.getClickedInventory().getTitle().equalsIgnoreCase("Gracze")) {
			String pname = is.getItemMeta().getDisplayName();
			p.openInventory(Bukkit.getPlayer(pname).getInventory()); 
			return;
		}
		return;
	}
  

Licze na like? :D

ps: mam nadzieje że działa, pisane na czysto (bez podpowiedzi i programu do pisania w javie :D)

 

­

Moja oficjalna strona! :)

http://socketbyte.pl/ 

  • 9 miesięcy temu...

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...