• Bitte beachte, dass wir eine Serverliste sind!
    Wenn du ein Problem auf einem Server hast (z.B. Entbannantrag, etc), dann ist das Forum hier der falsche Ort.
  • Es freut uns dass du in unser Minecraft Forum gefunden hast. Hier kannst du mit über 130.000 Minecraft Fans über Minecraft diskutieren, Fragen stellen und anderen helfen. In diesem Minecraft Forum kannst du auch nach Teammitgliedern, Administratoren, Moderatoren , Supporter oder Sponsoren suchen. Gerne kannst du im Offtopic Bereich unseres Minecraft Forums auch über nicht Minecraft spezifische Themen reden. Wir hoffen dir gefällt es in unserem Minecraft Forum!

Problem bei Pluginzusammenarbeit

weazelcraft

Minecrafter
Registriert
13 Mai 2018
Beiträge
4
Alter
34
Diamanten
50
Hallo liebe Community,

Wir sind ein Servernetzwerk im Aufbau und haben momentan folgendes Problem:

Wenn man auf den Server joint, wird man in einer MySQL-Datenbank registriert, ebenso wie die Stats, das Geld, Inventar etc.
Dies erfolgt durch die Plugins "PlayerSQL" , "MysqlEcoBridge" und "MysqlInventoryBridge".

Sollte es der erste Join auf dem Server sein, sind die dann erstellten Tabellen für den Account natürlich erstmal leer bzw. auf 0,
da es ja noch nichts zu verarbeiten gibt. Jetzt tritt allerdings folgendes Problem auf..

Es ist ebenfalls ein LobbyPlugin installiert, welches bei jedem Join Items vergeben soll. Diese sind beim joinen kurz zu sehen, verschwinden aber sobald die Datenbank abgelesen wird, da der Spieler ja eigentlich noch keine Items hat. Wenn ich dem Spieler manuell ein Item gebe und er verbindet sich neu, hat dieser Spieler das Item noch.

Meine Frage hierzu ist also folgende:

Kann ich es irgendwie lösen, dass der Spieler seine Items etwas später als der "Joinmoment" bekommt und dann auch jedes mal falls er sie noch nicht hat ? Evtl mit einer Aufgabe wie auf ein Schild klicken o.ä.

Mit freundlichen Grüßen.
Weazelcraft.
 
Zuletzt bearbeitet:

Chrisliebär❤️

nur echt mit ❤️
Moderator
Registriert
19 Mai 2014
Beiträge
1.675
Diamanten
830
Woher kommt das Plugin, dass die Items in der Datenbank speichert? Ist das von euch? Dann fixt das Problem dort wo es entsteht: im Datenbankplugin. Wenn das Datenbankplugin noch kein Inventar für den Spieler hat, dann sollte es gefälligst auch keine Items laden, denn dass es einfach das Inventar überschreibt ist ganz klar ein Bug.

Außerdem arbeitet das Datenbankplugin falsch. Der korrekte Moment um das Inventar zu laden ist noch vor dem Login in AsyncPlayerPreLoginEvent. Dort zwischenspeichern (inklusive der Frage ob das Inventar überhaupt geladen wird) und beim Spawnevent (oder wie auch immer das heißt) das Inventar mit höchster Priorität laden. Das Asynchrone Event sollte dabei natürlich solange blockiert werden, wie die Daten von der Datenbank abgefragt werden, genau für solche fälle ist das nämlich da. Ansonsten fallen mir da nämlich einige Möglichkeiten ein, wie man das Plugin sogar für das Duplizieren von Items benutzen kann.

Aktuell klingt das so als wäre euer Plugin einfach nur schlecht programmiert.
 
Oben