Sie sind nicht angemeldet.

  • Anmelden

Lieber Besucher, herzlich willkommen bei: Nitrado.net Prepaid Gameserver Community-Support. Falls dies Ihr erster Besuch auf dieser Seite ist, lesen Sie sich bitte die Hilfe durch. Dort wird Ihnen die Bedienung dieser Seite näher erläutert. Darüber hinaus sollten Sie sich registrieren, um alle Funktionen dieser Seite nutzen zu können. Benutzen Sie das Registrierungsformular, um sich zu registrieren oder informieren Sie sich über den Registrierungsvorgang. Falls Sie sich bereits zu einem früheren Zeitpunkt registriert haben, können Sie sich hier anmelden.

90maam09

User / Kunde

  • »90maam09« ist männlich
  • »90maam09« ist der Autor dieses Themas

Beiträge: 37

Wohnort: Oldenburg

Beruf: Schüler

  • Nachricht senden

1

Montag, 29. Dezember 2014, 21:43

Nur 1 Item eines Types aus dem Inventar nehmen

Heyho, ich habe ein ProbleM. Immer wenn ich einem Spieler ein Item aus dem Inventar nehme, verschwindet enweder nichts oder alles (kommt drauf an ob ich ein ItemStack oder ein Material remove). Wie entferne ich einem Spieler nur EIN Item, wenn er zum Beispiel 5 Diamanten hat, soll nur einer removed werden. Vielen Dank :)

frickx

User / Kunde

  • »frickx« ist männlich

Beiträge: 452

Wohnort: Braunschweig <3

  • Nachricht senden

2

Montag, 29. Dezember 2014, 21:49

Heyho, ich habe ein ProbleM. Immer wenn ich einem Spieler ein Item aus dem Inventar nehme, verschwindet enweder nichts oder alles (kommt drauf an ob ich ein ItemStack oder ein Material remove). Wie entferne ich einem Spieler nur EIN Item, wenn er zum Beispiel 5 Diamanten hat, soll nur einer removed werden. Vielen Dank :)
Probier es mal hiermit

Java-Quelltext

1
2
3
4
public void removeSpecificAmountOfMaterials(Player player, Material material, int amount)
{
    player.getInventory().remove(new ItemStack(material, amount));
}

forgot

User / Kunde

Beiträge: 54

  • Nachricht senden

3

Montag, 29. Dezember 2014, 22:40

ich hab mir mal für ein plugin ne kleine methode geschrieben...
für inv musst du das Inventar des spielers übergeben
für mat welches Material entfernwerden soll
und für amount natürlich wie viele items davon

PHP-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
public void removeItem(Inventory invMaterial matint amount) {
        for (ItemStack is inv.getContents())
            if ((is != null) && (is.getType() == mat)) {
                int k is.getAmount() - amount;
                if (0) {
                    is.setAmount(k);
                    break;
                } else {
                    inv.remove(is);
                    amount = -k;
                    if (amount == 0)
                        break;
                }
            }
    }

90maam09

User / Kunde

  • »90maam09« ist männlich
  • »90maam09« ist der Autor dieses Themas

Beiträge: 37

Wohnort: Oldenburg

Beruf: Schüler

  • Nachricht senden

4

Montag, 29. Dezember 2014, 22:41

Nein, er zieht immer noch keinen Dia von mir ab. Ich hab 3 Dias im Inventar und der lässt immer 3 Dias drin ._.

Anno35

User / Kunde

Beiträge: 1 227

Danksagungen: 3

  • Nachricht senden

5

Montag, 29. Dezember 2014, 22:51

Mal versucht mit Player.updateInventory() das Inventar zu updaten?

forgot

User / Kunde

Beiträge: 54

  • Nachricht senden

6

Montag, 29. Dezember 2014, 22:54

achso ja das updaten hab i iwo anders hingepackt :D
hoppala
ja bei inventar und schildern vergesse ich des updaten trotzdem öters ganz gerne :S

90maam09

User / Kunde

  • »90maam09« ist männlich
  • »90maam09« ist der Autor dieses Themas

Beiträge: 37

Wohnort: Oldenburg

Beruf: Schüler

  • Nachricht senden

7

Montag, 29. Dezember 2014, 22:56

@forgot Danke, es funzt ;) bist der beste ^^

forgot

User / Kunde

Beiträge: 54

  • Nachricht senden

8

Montag, 29. Dezember 2014, 22:57

gerne :)