Beiträge von JD1992

    Warum möchtest du im prefix den nochmal den Namen setzen? Du musst dir im Klaren sein das ein prefix nur etwas ist was man vorne anhängt und nicht für die komplette Ausgabe/Anzeige benutzt wird.


    Was ist den mit der Anzeige ohne den zusätzlichen Playername im prefix falsch?

    Deine exception sagt dir recht genau was los ist.


    java.lang.NullPointerException


    Und


    GMInventorySelectLauscher.java:37


    sagt dir eigentlich das in der angegeben Datei in Zeile 37 etwas null ist. Da du uns nicht die ganze Datei zur Verfügung gestellt hast musst du und mitteilen wie diese Zeile aussieht oder am besten die ganze Datei zur Verfügung stellen, was besser wäre da wir dann besser verstehen könnten was genau abläuft.

    Als erstes muss ich sagen das ich es als keine saubere Lösung empfinde es so zu machen, vor allem daher das es halt nicht so einfach ist auf das ganze zu reagieren bzw zu überprüfen ob das ganze nun passt oder nicht. Es ist schwer zu sagen ob die Person jetzt wirklich etwas verkaufen wollte oder nicht. Normalerweise würde man es mit einem link bzw Rechtsklick machen, da man dann genau weis das die Person etwas machen wollte.


    Nun zu deinem problem. Also an sich die einfachste Lösung wäre, wenn man alle chestshop Locations in einer Liste hat und sobald der Spieler ein item droppt zu schauen ob er in dem Umkreis einer der Locations ist und dann darauf reagieren.

    Java
    1. public Location loadLocation(String path) {
    2. return (Location) getConfig().get(path);
    3. }
    4. public void saveLocation(Location location, String path) {
    5. getConfig().set(path, location);
    6. saveConfig();
    7. }

    Die Location kann ganz normal gesetzt werden, wie ein int oder String. Beim auslesen muss man halt das ganze zu einer Location casten, aber mehr muss man auch gar nicht tun. Das ganze geht übrigens mit allen Klassen die das Interface ConfigurationSerializable implementieren wie z.b de ItemStack.

    Zum Thema Locations sollte man sich auch nochmal etwas informieren. Diese können nämlich direkt in der Config gespeichert werden und auch dann wieder direkt ausgelesen werden ohne das man umständlich jeden Wert einzelne speichert und später einzeln ausliest.


    Zum Thema beim draufklicken soll etwas passieren ist es schon so wie zM4xi es beschrieben hat, das du dafür einen listener brauchst. Sollte man mit der Maus im Inventar drsufklicken sollen, dann ist das InventoryClickEvent schon richtig. Sollte man in der Hand mit dem item rechtsklicken sollen, dann ist das PlayerInterctEvent bzw. dessen Unterklassen interessant dafür.

    Wobei du hier eigentlich Daten hast die sich super gut in einer Relationalen Datenbank darstellen lassen, da es hier viele Verbindungen zwischen den Daten gibt. Denn z.b die Instrumente wirst du immer wieder brauchen, ebenso wie die Künstler und Daten zu denen, da beides sehr oft vorkommen kann.

    Du solltest dir ein Mapping bauen. Also beim einfügen in das Inventar dir merken wo was ist bzw auf welchem Slot welche Bedeutung/Flag liegt und dann aufgrund dieser Information aktivieren/deaktivieren.

    Hast du mal geschaut wo genau deine Locations sind? Wenn diese zu weit unten sind buggen die items weg. Vielleicht einfach mal die items einen Block weiter oben spawnen lassen.

    Versuch doch mal deine Hashmap anders zu befüllen. Soweit ich weiß hat das befüllen mithilfe einer anonymen klasse einige seiteneffekte und kann zu Fehlverhalten führen in gewissen Konstellationen.


    Also Map deklarieren, dann einzeln Elemente hinzufügen und dann map in das Jason packen.

    Bei den wlan repetern kommt es aber auch sehr stark auf den Anbieter drauf an, wie die Geräte sich verhalten.


    Wir hatten auch mal ein günstiges Gerät für knapp 30€, das kaum Einstellungsmöglichkeiten hatte und ein neues wlan netz erstellt hat und darüber halt das andere geschleift hat. Mit meinen Geräten war das so das sie, wenn sie bei beiden Netzen angemeldet waren, haben sie einfach irgendwann in das andere netz gewechselt... gelegentlich musste ich von Hand wechseln.


    Später als wir dann eine Fritzbox bekamen konnte ich meine Eltern davon überzeugen ein wlan repeter von Fritz zu besorgen und muss sagen das die halt doch tausend mal besser sind. Der hat nämlich das Netz genommen und es 1:1 weiter gegeben. Ich war dauerhaft mit dem gleichen netz verbunden, ohne das es Stocken wegen dem wechsel der Netze gab.


    Natürlich war das ganze einiges teurer, hat aber sich viel besser funktioniert und man könnte noch ein paar zusätzliche Dinge einstellen.


    Aber wie vorher schon gesagt wurde, wenn mehr als nur Smartphone und Tablet dranhängen sollte man lieber mal nach dlan schauen, dass ist dann zwar weniger flexibel, dafür aber weitaus stabiler was die Datenraten angeht. Und man kann am dlan Adapter in den oberen Stockwerken dann ja auch einfach nochmal einen günstigen Router anschließen der dort ein wlan netz verteilt für mobile Geräte.

    Also der Fehler verweist ja auf eine Stelle in deiner querry und genau an der Stelle kommt mir auch etwas spanisch vor `role_slug` varchar(255) unsigned not null. Was ist denn ein unsigned varchar? Unsigned ist soweit ich weis bei numerischen Typen dafür da zu sagen das nur positive Zahlen genutzt werden dürfen(unsigned = ohne Zeichen)


    Rincewind34 war wohl leicht schneller als ich ^^

    Ja, so im Prinzip meine ich das. Jedes deiner codeschnipsel entspricht einer Tabelle. Dann ist es recht einfach über joins möglich alles zu bekommen was zu einer conversation gehört.


    Hier kann man dann die relationen auch recht gut sehen.


    1 Conversation hat n Teilnehmer


    1 Conversation hat n Nachrichten


    Ebenso kannst du damit dafür sorgen das du nur die Nachrichten zurück bekommst die auf der aktuellen Seite angezeigt werden, also eine pagination einzubauen.

    Die beste Möglichkeit ist sehr relativ, da es Möglichkeiten gibt die die schnellste, einfachste oder leicht umzusetzende. Eine Lösung zu finden die in allem das beste ist gibt es wohl nicht und ist auch stark Ansichtssache.


    Also bei den Datenstrukturen die du da beschreibst und wie ich diese Funktion kenne hätte ich bei sowas ja eine relationale Datenbank bzw Datenstruktur gewählt, da dort solche Beziehungen wie eine Conversation hat viele Nachrichten irgendwie einfacher abzubilden bzw ich finde ersichtlicher sind.


    Wenn man deinen Ansatz jetzt aber anschaut muss man überlegen ob es so wirklich gut ist, da der kein von den members und der messages/texts wahrscheinlich auf Dauer ziemlich groß werden können. Sollte man dort also etwas finden wollen ist das eventuell nicht so einfach und wohl auch mit recht großem Aufwand verbunden. Wobei es hier auch recht stark darauf ankommt was du für eine Datenbank benutzen möchtest, also von mir erstmal die Frage...


    Welche Datenbank möchtest du den dafür verwenden?