Plugin API - Wehre schön, wenn & Fehlerberichte - It would be nice, if & bug reports

  • Also der gesammte DedicatedServer beendet sich, diese Info taucht auch nicht im Log auf, Sondern "nur" auf der Server-Konsole, von der ich ein OBS mitschnit mache, da kann ich das dann sehen.

    Ja, dann crasht der Server. Das kann durchaus mit o.g. Problematik (dass JNI bei Exceptions im nativen Code zwangsläufig hart crasht) zusammenhängen :/


    Das klingt danach das ich in dieser Funktion was habe (?offene native Metode?) die dann Stenkert :thinking:

    Das muss kein Fehler von deiner Seite sein: Ich wollte damit sagen, dass jeder noch so kleine Fehler, der auf nativer Seite (also innerhalb des API Funktionsaufrufs), einen harten Crash mit sich zieht. Das kann zB auch ein Bug im Spiel sein, oder auch eine bestimmte Konstellation (zB Spieler disconnected in dem Moment wo du auf ihn zugreifst o.ä)


    Was allerdings noch ziemlich wichtig wehre, das mann eine Text-Datei aus einem Asset auslesen kann. Eigendlich nur für Config/Yaml/Jason.

    Das sollte eigentlich bereits möglich sein mit AssetBundle.loadTextAsset() :)


    Für die UIElemente würde ich noch ein Drack-Drop wünschen, so das ich Elemente aufnehmen und Ablegen kann (für ein egenes "Inventar"), und auch die Aktuelle Position bekommen kann (vieleicht als abfrage da könnte ich den Rütmus selber bestimmen).

    Geht es dir dabei konkret um Drag&Drop von Vanilla Items (also dass du zB ein Event bekommst, wenn du im Inventar ein Item auf dein API Element ziehst)? Oder möchtest du eigene API Elemente ziehen und auf anderen Elementen droppen?

  • Das sollte eigentlich bereits möglich sein mit AssetBundle.loadTextAsset() :)

    :love:Super, das hatte ich nicht mitbekommen:saint:


    Oder möchtest du eigene API Elemente ziehen und auf anderen Elementen droppen?

    Eher eigene API Elemente:thinking:wie für ein Puzzel.



    :saint:Aber Items aus dem Inventar auf ein eigenes API Element zu ziehen und dann mit den Item Daten Arbeiten zu können:Dwehre auch Super, da könnte mann sowas wie Alchemietisch oder Schließmechanismen die mit Verschiedenen Item's Funktionieren.


    Für die Item-Drop Geschichte würde ja eigendlich ein "UIItem" (oder so) reichen, das hat dann deine Feste Itemgröße (denke das ist OKe) und lässt sich "Überall" Platzieren, dazu die Passenden Events Drag & Rrop mit Rückgabe des Elemenst. Vieleicht hat/ist das Element dann eine variable mit dem Item, Sollte Passen^^schön wehre wenn das natürlich auch dann mit den CustomItem klappt:saint:

  • Hi red51 ich habe mal Versucht das npc.setBehaviour zu benutzen, irgend wie klappt das nicht wie ich Dachte.

    Ich habe einmal, mit Teilerfolg, das:

    Dabei Flieht der Npc, ist er aber an seinem Punkt angekommen, oder ich löse das zurücksetzen aus, kommt er direckt auf mich zu gerannt, obwohl er sich Entfernt hatte (Also karm nicht in den Hörbereich hinein)


    Eigendlich wollte ich sowas:saint:

    Wenn der NPC zu nahe gekommen ist, in seinem Angriff, ihn in die Flucht Schlagen.

    Aber er Schaltet direckt wieder in den Angrifsmodus.




    ^^wie ist das it dem Verhalten Überschreiben gedacht gewesen?

    Infos über den Aktuellen Status weren auch nicht Schlecht.

    Ich habe mal einen Dummy-NPC Agressiv gemacht, aber kenen Efeckt:thinking:

  • red51 ,

    Der Hover Klappt wieder ohne Probleme:thumbup:



    Bei den NPC's wehre es vieleicht nicht schlecht wenn man die Aktuellen Einstellungen Einstellungen über die API abfragen kann. (Ist warscheinlich schon auf der Liste^^)


    Für den Dummy/Human weren Vieleicht auch noch die Hörreichweite/Angrifsradius, Interessant einzustellen.
    Ich Denke die API zum Einstellen der NPC's kommt noch, Kleidung, Waffen. Ich habe schon gesehen, ich könnte auch eine neue Variante in die DB hinzufügen, wehre das Sinvoll? Nach jedem Update Weck oder auch nach jedem Neustart?



    Zu den NPC's bei mir Spawn "nur" die Skelette in der Nacht, ich bin acuh schon was Herum gelaufen aber Piraten oder Babaren habe ich noch nicht gesehen. Ich habe allerdings noch keine neue Insel Betreten und bin in einem Gemäßigten Biom.


    :!:Was mir gerade noch Aufgefallen, ich hatte für meine NPC-Info in der ToolsAPI, ein Funktionalietät das mann mit Gedrückter [ALT] die Maus Bekommen hat, vorher konnte mann in ein TextEingabeFeld Klicken dadurch wurde der PlayerUIElementClickEvent Ausgelöst und ich konnte das Ausblenden beim Loasassen von [ALT] verhindern.

    Jetzt scheint dieser Event nicht mehr Durch zu kommen. Mit gedrückter [ALT] Taste kann ich leider keinen Text eingeben. Das UITextField hatte ich auch Extra auf Clickable gestellt, das hat jetzt keine Efeckt mehr.

    Die [ALT] wurde in disableClientsideKeys eingetragen. Bei UIElemnten wird der PlayerUIElementClickEvent weiterhin ausgefürt (mit [ALT]).

    Wurde am UITextField was verändert?


    Ich schaue noch bei den Bisheriegen Projeckten ob Probleme auftauchen, danach kommt der UIScrollView auf den Prüfstand:nerd:

  • Der ScrollView klappt wunderbar:thumbup:
    Ich würde mir da nur noch ein "ScrollToEnd" Wünschen, oder die Scroll Position einstellen. :thinking: 0-100% wehre vieleicht am Sinvollsten, ich Überlege Text an zu Zeigen in dem mann Suchen könnte und zu der Position Springen könnte, aber es muss ja irgendwas einheitliches sein. Die Höhe der Gesammt Scroll Flache wehre auch nicht schlecht, aber da müsste ich die Automatische Größe eines Labels in Pixel umrechnen:D
    Ich denke ein xScrollEnd und yScrollEnd, oder so ähnlich würde erstmal reichen, wenn es nicht schon das Maximum ist was man am ScrollView Schrauben kann.

  • Hi, red51 ich hoffe dir gehts soweit gut:)


    Welches Projeckt muss ich jetzt nehmen?



    Also style.scale.set(-1, 1) klappt einbanfrei:thumbup:



    Bei den UIElementen, speziell bei Internals.addUIElementToPlayer auf InGameMenuLayer habe ich noch das Phenomän wenn ich ein UIElement als Button Nutze und beim Klicken z.B. das Image ändere. 'Habe ich gerade das Phänomen sobald ich zweimal den Button benutze und mit der Maus das Element Verlasse, da wird irgendwas genullt.



    Das Passiert bei beiden Knöpfen, auf die gleiche Position wie im Zweiten Bild.
    Und da die Knöpfe nicht im Spiel zu sehen sein sollen, kann ich das nicht einfach in ein Panel machen und Centern.


    Ich habe auch schon Versucht den HoverStyle zu setzen, entweder habe ich da noch was Vergessen oder es hängt mit dem (Hover in/out) und dem Änder von Element Werten.

    Die anderen Probleme mit dem Style sind gefixt, jedenfalls Klappen alle anderen UIElement Projekte nach dem Fix:thumbup:

    Erstmal konnte ich das Fixen indem ich das Ausblenden Deaktiviert habe, genaue setClickable(fals), da ich den "Esc" abfange und damit Registriere wann das Menü geschlossen wird, hier kann ich es unbeschwert ausblenden und die Buttons wieder Aktivieren:Ddamit kann ich vorerst Lebn8)
    Aber dennoch passiert es weiterhin, wenn ich mit der Maus über die beiden Buttons Fahre nach dem ich sie 2x benutzt habe:drunk:



    Beim ColorPicker scheint noch irgendwas mit der Farbe nicht optimal zu sein:

    Für den Input muss ich die Farben nach Links Schieben und der OutPut muss nach Rechts Verschoben werden.
    Denke das hat was mit dem RGB->RGBA und dem Serialisieren zu tun;)



    Zum showFontDialog gibts nicht Viel zu sagen, Klappt wie erwartet.
    Allerdings glaube ich das Handwritten & FingerPaint in der API nicht klappen weil sie Handwritten1 & FingerPaint1 heißen sollten;)Kriege ich noch nicht umgebogen:D

  • Sorry für meine späte Antwort, ist leider zwischendurch etwas untergegangen :/


    Hi red51 ich habe mal Versucht das npc.setBehaviour zu benutzen, irgend wie klappt das nicht wie ich Dachte.

    Das Problem war zuvor, dass die Änderung am Behaviour teilweise keine Wirkung hatte, wenn der Alert-State noch gesetzt ist. Leider gab es zuvor aber auch einen kleinen Bug, dass der Alert-State nicht über die API geändert werden konnte... das wurde aber mit dem letzten Hotfix korrigiert.

    Nun sollte es eigentlich funktionieren, wenn du das Behaviour änderst. Wichtig ist oftmals auch, dass die AttackReaction auch geändert wird (der Name ist etwas irreführend, denn effektiv ist das das Verhalten, was bei aktivem Alert-State ausgeführt wird) ;)


    Bei den NPC's wehre es vieleicht nicht schlecht wenn man die Aktuellen Einstellungen Einstellungen über die API abfragen kann. (Ist warscheinlich schon auf der Liste^^)

    Welche Einstellungen meinst du genau? Behaviour und AttackReaction? Das können wir mit dem nächsten Update einbauen ^^


    Ich Denke die API zum Einstellen der NPC's kommt noch, Kleidung, Waffen. Ich habe schon gesehen, ich könnte auch eine neue Variante in die DB hinzufügen, wehre das Sinvoll? Nach jedem Update Weck oder auch nach jedem Neustart?

    Items kommen noch, aber Kleidung kannst du bereits über die API einstellen: Dafür musst du dir das Clothes Objekt des Npcs holen (via Npc.getClothes()). Das Clothes-Objekt kann dann angepasst werden (Kleidungsstücke entfernt oder hinzugefügt werden) :)


    Zu den NPC's bei mir Spawn "nur" die Skelette in der Nacht, ich bin acuh schon was Herum gelaufen aber Piraten oder Babaren habe ich noch nicht gesehen. Ich habe allerdings noch keine neue Insel Betreten und bin in einem Gemäßigten Biom.

    Meist ist es so, dass wenn Skelette Nachts aktiv sind, man kaum Banditen antrifft, da diese nicht spawnen, wenn Skelette in der Nähe sind (der Skelett-Spawn aber insgesamt recht hoch ist).


    Barbaren sind aber meist häufig anzutreffen, da diese auch tagsüber spawnen. Barbaren findest du aber nur auf ariden Inseln.


    Piraten gibt es bisher leider noch nicht^^


    :!: Was mir gerade noch Aufgefallen, ich hatte für meine NPC-Info in der ToolsAPI, ein Funktionalietät das mann mit Gedrückter [ALT] die Maus Bekommen hat, vorher konnte mann in ein TextEingabeFeld Klicken dadurch wurde der PlayerUIElementClickEvent Ausgelöst und ich konnte das Ausblenden beim Loasassen von [ALT] verhindern.

    Jetzt scheint dieser Event nicht mehr Durch zu kommen. Mit gedrückter [ALT] Taste kann ich leider keinen Text eingeben. Das UITextField hatte ich auch Extra auf Clickable gestellt, das hat jetzt keine Efeckt mehr.

    Die [ALT] wurde in disableClientsideKeys eingetragen. Bei UIElemnten wird der PlayerUIElementClickEvent weiterhin ausgefürt (mit [ALT]).

    Wurde am UITextField was verändert?

    Wir haben daran eigentlich nichts geändert, was dazwischenfunken sollte :wat: Aber ich kann bestätigen, dass man das Click-Event nicht erhält beim Textfeld (bzw. nur ganz an der linken oder rechten Ecke). Hat sich das vorher anders verhalten bzw. hat man immer das Click-Event erhalten, egal wo man hingeklickt hat?


    Ich würde mir da nur noch ein "ScrollToEnd" Wünschen, oder die Scroll Position einstellen. :thinking: 0-100% wehre vieleicht am Sinvollsten, ich Überlege Text an zu Zeigen in dem mann Suchen könnte und zu der Position Springen könnte, aber es muss ja irgendwas einheitliches sein. Die Höhe der Gesammt Scroll Flache wehre auch nicht schlecht, aber da müsste ich die Automatische Größe eines Labels in Pixel umrechnen :D

    Ich schaue mal, was sich da machen lässt ;)


    Welches Projeckt muss ich jetzt nehmen?

    High Definition 3D


    Bei den UIElementen, speziell bei Internals.addUIElementToPlayer auf InGameMenuLayer habe ich noch das Phenomän wenn ich ein UIElement als Button Nutze und beim Klicken z.B. das Image ändere. 'Habe ich gerade das Phänomen sobald ich zweimal den Button benutze und mit der Maus das Element Verlasse, da wird irgendwas genullt.

    Hmm... schwer zu sagen, was das verursacht... kannst du mir evtl. ein kleines Plugin senden, mit welchem der Fehler reproduziert werden kann? Dann kann ich mir mal genauer anschauen, was da los ist ^^


    Die anderen Probleme mit dem Style sind gefixt, jedenfalls Klappen alle anderen UIElement Projekte nach dem Fix :thumbup:

    Danke für die Rückmeldung, freut mich, dass das klappt :) :thumbup:


    Beim ColorPicker scheint noch irgendwas mit der Farbe nicht optimal zu sein:

    Tatsächlich wird eine RGB Farbe erwartet... das ist generell nicht optimal, da ColorRGBA nur eine RGBA Farbe ausgibt... vmtl. werden wir die Funktion dahingehend ändern, dass sie RGBA Farben akzeptiert und auch zurückgibt :thinking:


    Allerdings glaube ich das Handwritten & FingerPaint in der API nicht klappen weil sie Handwritten1 & FingerPaint1 heißen sollten ;) Kriege ich noch nicht umgebogen :D

    Inwiefern? Bzw. was funktioniert da nicht genau? Intern heißen die Fonts tatsächlich nur Handwritten und FingerPaint, nur der lokalisierte Name ist "Handwritten 1" und "Finger Paint 1" ^^

  • Sorry für meine späte Antwort, ist leider zwischendurch etwas untergegangen :/

    Kein Problem, hatte mich ur etwas Gewundert^^



    Welche Einstellungen meinst du genau? Behaviour und AttackReaction?

    dass die Änderung am Behaviour teilweise keine Wirkung hatte

    Also wenn das mit dem Behaviour und AttackReaction über die Npcs.NpcDefinition klappt, reicht mir das. Ich dacht nur das die NpcDefinition Final sind und "extra" gesendet werden müsten.
    Ich werde das nochmal Probieren und Berichte dann;)




    Kleidungsstücke entfernt oder hinzugefügt werden

    Ja, das war noch vor deinem Update mit dem NPC-Editor:D
    Für den Edito hätte ich allerdings noch den Vorschlag. Wenn man Selber Feindlich NPC's machen will, wehre die änderung der AttacDistance und Damage nicht schlecht, mann könnte somit unterschiedlich Starke Gegner machen.



    Ich schaue mal, was sich da machen lässt ;)

    High Definition 3D

    werden wir die Funktion dahingehend ändern, dass sie RGBA Farben akzeptiert und auch zurückgibt :thinking:

    :thumbup::love:



    Inwiefern? Bzw. was funktioniert da nicht genau?

    Naja wenn ich über die API, eine der Beiden Schriften benutze, bekomme ich "nur" die Default Schrift angezeig. Erst dachte ich die sind noch nicht implementiert aber dann gab es die Font übersicht bei den Schildern in denne man sie Koreckt auswählen kann.
    Dann dachte ich das der Enum Name als zuordnung zur Schrift dient.

    :saint:Lange Rede Kurzer Sinn: "Handwritten 1" und "Finger Paint 1" werden über die API zu Dafault.




    was da los ist ^^

    Da habe ich dir eine PN: 2961-low-level-socket-support gesendet, da ist ein Link zu meinem Gesammten "Aktiven" Plugin's.


    Das Knopf Problem taucht im CompassBar auf. Der mit dem MagicWizard zusammen Arbeitet.

    Leider auch beim neusten Projeck "RWos" (noch am anfang), alle "alten" Button und Elemente klappen ohne Probleme und hier füge ich "nur" ein Element was wie ein Button benutzt wird in meine "Frame" ein (Der Power Knopf).
    Also hat es nicht Direckt was mit dem GUI-Layer zu tun, das war mein erster Verdacht.

    Miti dem FlowerPower habe ich was geschaffen das den Server auf Unterster Ebene Killt (low soket).


    Ich dachte mir wenn ich dir Alle Plugin's gebe, die ich Benutze, hast du mehr möglichkeiten zu Testen:saint:

  • red51 ich habe da mal noch eine Frage:saint:

    plugin.executeDelayed und new Timer(0f, 1f / 4f, 0, () -> {}); sind Syncrone Processe?

    Ich habe einen Process der Blokiert, wenn ich ihn im Timer Ausführe ist für den Client alles soweit OKe, Console geht noch und ich kann Rumlaufen (etstmal nur kleinen bereich), aber Versuche ich mich erneut anzumelden komm ich nicht über 10% (Der Server ist Ausgelastet).


    Kann ich ein ExecutorService oder ThreadPoolExecutor nutzen?

    Ich habe das natürlich schon Probiert, aber dabei festgestellt das ich auch wenn der Pool "eigendlich" Leer ist, und der Server Beendet (exit und restart) bleibt die Java-VM hängen, bis zum X-en.
    Wenn das Theoretisch gehen sollte, muss ich mir das noch mal genauer ansehen^^(bin mit Executor noch am Anfang ^^)

  • Hi red51.


    Wenn ich im Inventar den Letzten QuickSlot mit Gürtel (Slot 0/10) einen Block Dubliziere kommt ein Fehler index out of bounds, ohne Gürtel (Slot 5) geht dann direckt ins Inventar.8)


    Gibt es eigendlich eine "Area" im Cretiv-Modus auf die sich Comando Befele auswirken?
    Ich habe den edit move entdeckt, was hilfreich ist zum Knstruieren. Da dachte ich mir es wehre doch Cool wenn ich einen Bereich Makieren könnte und alles darin gewegen könnte, hier wehre es nicht Schlecht wenn die Auflösung der Area wie beim Löschen sehr fein ist.

    Mit [F8] kann ich nachträglich Textur und Ausrichtung Ändern, in der Console mit edit

    klappt Texture sehr gut, aber ich Vermisse eine texturealignment. Den Befehl gibt es außerhalb von edit, lässt sich aber nicht auf Blöcke Anwenden. :saint:

  • Hi red51 ,


    ich habe mal wieder ein Bisschen mit den Storages Rumgespielt:saint:

    Köntest du noch ein Storage.setName(^^) mit auf die Liste Setzten?

    Ich kann zwar:

    Code
    WorldDatabase wDbStore = getWorldDatabase(WorldDatabase.Target.Storages);
    wDbStore.executeUpdate("UPDATE storages SET name = 'Rucksack' WHERE id ='" + storage.getID() + "' ");

    machen, aber das wird erst nach einem Server Neustart wirksam wenn es ein Permaneter Store ist. Wenn setName auch bei Temtorären Stoage Funktioniert were auch Super:love:


    Was noch Net wehre das mann beim Storage UI den Mülleiner einschalten kann oder das wie beim Inventar im GM1 mit eingeblendet wird.


    Ich habe mir gedacht das wenn man einen Rucksack auf hat, kommt mann immer in das Storage Menü, in der Gewohnheit Fehlt da nur noch der Mülleimer (im GM1):nerd:

Participate now!

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