Blaupausen features

  • red51 Ich hatte gerade mal in der API ein wenig geforscht, weil ich ein feature bauen wollte das es verhindert blaupausen zu setzen die man vorher nicht selber auf dem server erstellt hat. Dabei ist mir aufgefallen das bei den Events

    `PlayerCreateBlueprintEvent` und `PlayerPlaceBlueprintEvent` eigentlich sowas fehlt wie getBlueprint. Also beim erstellen wird es das evtl noch nicht geben aber beim Platzieren könnte man so auch an die creatorID kommen und diese mit dem Spieler abgleichen.

    Ich hatte mir daher vorgestellt eine Art hash über die Anzahl der objekte+pflanzen+teile sowie der player.dbid zu bilden und sie irgendwie dann in eine plugin db zu speichern, so das ich sie beim platzieren wieder prüfen kann. Das ist nicht super sicher, wäre aber schon mal ein Anfang. Gut wäre wenn es die Funktion nativ gäbe, oder aber wenigstens ein hash den man sowohl beim erstellen als auch beim platzieren über das event bekommt, dann kann man den rest immer noch per plugin lösen. In einem nativen hash können ja auch noch creation timestamp und werte wie koordinaten der einzelnen objekte mit einfließen.

  • Das Problem ist, dass die Blaupause nur bedingt serverseitig repräsentiert wird. Der Server kennt zwar die Metadaten der Blaupause, aber die einzelnen Elemente werden erst im Zuge des Platzierens an den Server gesendet (auf viele Pakete verteilt, die erst gesendet werden, wenn die Place-Events grünes Licht geben) :|

    Ich möchte mittelfristig die Blaupausen mal überarbeiten, dann könnten die Daten auch im Event übergeben werden, das wird aber vmtl. noch etwas dauern...


    Dinge die die CreatorID könnten relativ problemlos eingebaut werden. Was würdest du noch benötigen? Wie meinst du das mit den Hashes, meinst du ein Hash der alle Bauelemente beschreibt (um zu prüfen, ob zwei Blaupausen inhaltlich identisch sind, also dieselben Elemente enthalten)?

  • Das Problem ist, dass die Blaupause nur bedingt serverseitig repräsentiert wird. Der Server kennt zwar die Metadaten der Blaupause, aber die einzelnen Elemente werden erst im Zuge des Platzierens an den Server gesendet (auf viele Pakete verteilt, die erst gesendet werden, wenn die Place-Events grünes Licht geben) :|

    Ich möchte mittelfristig die Blaupausen mal überarbeiten, dann könnten die Daten auch im Event übergeben werden, das wird aber vmtl. noch etwas dauern...


    Dinge die die CreatorID könnten relativ problemlos eingebaut werden. Was würdest du noch benötigen? Wie meinst du das mit den Hashes, meinst du ein Hash der alle Bauelemente beschreibt (um zu prüfen, ob zwei Blaupausen inhaltlich identisch sind, also dieselben Elemente enthalten)?

    Ja irgendwie so ein SHA über die blaupause, so das sie eindeutig zu identifizieren ist. Wenn ich beim erstellen einer blaupause so einen SHA dem spieler zuordnen kann, kann ich beim platzieren ebenfalls prüfen ob dieser SHA für diesen spieler existiert und somit verifizieren das er diese blaupause auch auf dem jeweiligen server vorher erstellt hat.

    Ich hatte ja auch mal überlegt einen Blaupausenhandel zu ermöglichen bei dem man Blaupausen auf dem server von anderen kaufen kann, aber dazu müßte es möglich sein blaupausen hoch und runter zu laden :D nur das du das evtl bei der mittelfristigen Überarbeitung im Hinterkopf hast

Participate now!

Don’t have an account yet? Create a new account now and be part of our community!