Seite 1 von 1

TTT Rüstung

BeitragVerfasst: Fr 21. Apr 2017, 23:24
von TheZuvex
Hey,
ich bin derzeit dabei TTT am programmieren, allerdings komme ich bei einer Sache nicht weiter.
Undztwar, möchte ich gerne, dass sobald das Spiel gestartet ist, dass Traitor, Rote Brustplatten bei den Traitorn sehen aber die Innocents trotzdem nur Grüne Brustplatten sehen.
Kann mir villeicht weiter helfen? Denke mal, dass es irgendwie mit Packet geht.

Danke im vorraus!

Re: TTT Rüstung

BeitragVerfasst: Sa 22. Apr 2017, 10:44
von Homerlator
Hey da für gibt es ein packet,

Code: Alles auswählen
  1.     private void fakeEquip(Player p, int entityid, int slot, ItemStack item){
  2.         PacketPlayOutEntityEquipment packet = new PacketPlayOutEntityEquipment(entityid, slot,
  3.                 CraftItemStack.asNMSCopy(item));
  4.        
  5.         ((CraftPlayer)p).getHandle().playerConnection.sendPacket(packet);
  6.     }


So tust du jemanden fakeequipen:
Code: Alles auswählen
  1. if(getTraitors().contains(p)) {
  2.             for (Player t : getTraitors()) {
  3.                 if(p != t)
  4.                     fakeEquip(t, p.getEntityId(), 2, new ItemStack(RED CHESTPLATE));
  5.             }
  6.         }


Also du gibts allen Spielern eine grüne Brustplatte auch den Traitorn.

Als erstes wird abgefragt ob der Spieler(p) ein Traitor ist,
wenn er einer ist tuen wir alle Traitors einzeln aufrufen mit einer for-each schleife.
In der for-each schleife wird noch mal abgefragt ob der Spieler = der Traitor ist wenn es nicht so ist wird die oben genannte fakeEquip methode ausgeführt.

Die Traitors sehen nur das die Chestplate rot ist aber in wirklichkeit ist sie grün.

Ich hoffe ich konnte dir Helfen. :)

Mfg Philipp