You are not logged in.

  • Login
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.

ItsTheJango

User / Kunde

  • "ItsTheJango" started this thread

Posts: 91

  • Send private message

1

Sunday, March 6th 2016, 12:45pm

Items aus Inventar entfernen

Hey Leute,

Ich programmiere gerade ein SkyPvP Shop-Inventory, bei dem, wenn man auf ein Item klickt, eine bestimmte Anzahl eines bestimmten Items aus dem Spieler-Inventar entfernt wird, und er das Item bekommt.
Meine Frage wäre wie ich es schaffe, dass dem Spieler die Itemanzahl abgezogen wird.


Habe es so versucht, ging 1mal, dann ging es nicht mehr:

Source code

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
public static void checkForItem(Player p, int amount, ItemStack clickedItem){
		
		ItemStack[] items = p.getInventory().getContents();
		boolean suc = false;
		
		for(ItemStack item : items){
            if(item.getType() != Material.GOLD_NUGGET){
                continue;
            }
            if(!(item.getAmount() >= amount)){
                continue;
            }
            if(item.getAmount() == amount){
            	p.getInventory().remove(item);
            	p.getInventory().addItem(clickedItem);
            	p.updateInventory();
            	suc = true;
            }else if(item.getAmount() > amount){
            	item.setAmount(item.getAmount() - amount);
            	p.getInventory().addItem(clickedItem);
            	p.updateInventory();
            	suc = true;
            	break;
            }
            break;
        }
		if(suc == false){
			p.closeInventory();
        	p.sendMessage(Main.pre + "§cDu hast nicht genüg Coins dafür!");
		}
		
	}


Danke schonmal für eure Antworten,
LG Jango :)

Koopa03

User / Kunde

  • "Koopa03" is male

Posts: 104

  • Send private message

2

Sunday, March 6th 2016, 2:22pm

Zuerst erstellst du ein ItemStack:

ItemStack item = New ItemStack(Materials.EMERALD);

Entfernen tust Du es dann so:
p.getInventory.removeItem(item);

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