Posts by Sandboxgamer

    Hallo red51 ,


    ich hätte da mal eine frage zu den Servergruppen.

    Gibt es da eine Möglichkeit, dass der Serveradmin bestimmen kann, welche Reihenfolge die Servergruppen hat. (z.B. bei Neuling: "Rang: 1", VIP: "Rang 2", Admin "Rang: 3")


    Dann könnte man nämlich über das Plugin ein "promote" und "demote" System machen.

    Was ich mir auch gut vorstellen kann, ist dass man auch fragen kann, ob ein Rang höher oder niedriger ist, als der angegebene Rang/Gruppe.

    Hallo red51 ,


    wenn ich meinen Server starte, bekomme ich folgende Fehlermeldung:

    Code
    NullReferenceException: Object reference not set to an instance of an object.
    at RisingWorld.Server.Managers.ServerTextManager.SyncText (RisingWorld.Server.Texts.ServerText text) [0x00000] in C:/GitLab-Runner/builds/jxpAq3Km/2/jiw-games/rising-world/Assets/Scripts/Server/Managers/ServerTextManager.cs:85
    at RisingWorld.PluginAPI.Objects.SignAPI.SetText (System.IntPtr envPtr, JIW.JNI.Wrapper.Objects.JObject obj, System.Int64 handle, JIW.JNI.Wrapper.Objects.JString text) [0x00000] in C:/GitLab-Runner/builds/jxpAq3Km/2/jiw-games/rising-world/Assets/Scripts/PluginAPI/Objects/SignAPI.cs:114
    UnityEngine.Logger:LogException(Exception, Object)
    UnityEngine.Debug:LogException(Exception)
    ExceptionExtensions:PrintStackTrace(Exception) (at C:/GitLab-Runner/builds/jxpAq3Km/2/jiw-games/rising-world/Assets/Scripts/Common/Utility/Extensions/ExceptionExtensions.cs:10)
    RisingWorld.PluginAPI.Objects.SignAPI:SetText(IntPtr, JObject, Int64, JString) (at C:/GitLab-Runner/builds/jxpAq3Km/2/jiw-games/rising-world/Assets/Scripts/PluginAPI/Objects/SignAPI.cs:118)

    Es beeinträchtig zwar den Server nicht, aber ich habe gedacht, du solltest dies wissen. ;)

    Intern werden Areas nur über ihre ID identifiziert. Das könnten wir theoretisch zwar ggf. ändern, aber die eigentliche Area-Referenz geht spätestens verloren, wenn eine Area aus der Datenbank ausgelesen wird. Sprich wenn du zB einen "FactoryPlot" erstellst und in der Datenbank speicherst und beim nächsten Mal ausliest, dann wird es automatisch zur "Area" (das lässt sich leider nicht ändern) :silenced:

    Das ist mir klar, dass ich da nur Areas bekommen, aber dies lässt sich ja in einer eigenen Datenbank speichern.

    In meiner Datenbank speicher ich nur die ID und welcher "AreaType" es ist (z.B. mit einer Zahl: 1 = FactoryPlot; 2 = PlayerPlot; etc.)
    Dann kann ich ja mit einer Methode wieder die Area z.B. zu einer FactoryPlot machen:

    Java
    List<SavedArea> areas = plugin.Areas.getAllAreasFromDB(); //SavedAreas ist eine Klasse, mit der ich die Area-ID, "AreaTyp" und Anderes erhalte erhalten kann
    for (SavedArea sa : areas) {
    Area area = Server.getArea(sa.getID())
    if (sa.getTyp() == 1) {
    FactoryPlot fp == new FactoryPlot(area);
    plugin.factory.addFactoryPlot(fp)
    }
    }

    Und somit habe ich aus der Area wieder eine FactoryPlot gemacht. Mann muss die Area nur eindeutig identifizieren können (z.B. ID).


    Mir ist dann nur wichtig, dass man auf die Area-Funktionen + meine eigenen Funktionen zugreifen kann. Meine eigenen Funktionen speichere ich in einer eigenen Datenbank. ;)

    Du musst sie nicht als FactoryPlot in deine Datenbank speichern. Wenn sie dort als Area gespeichert ist, reicht das völlig.

    Hallo red51 ,


    gibt es irgendwie eine Möglichkeit, das man von der Klasse Area erben kann.

    Ich würde gerne eigene Area-Arten anlegen (z.B. "AreaPlot", "AreaFactory" etc.)

    Dann wäre das Verwalten und Filtern von Areas noch einfacher.

    Beispiel:

    Und dann:

    So wäre es auch möglich, nach bestimmten Areas zu filtern und man kann sicherstellen, dass diese Area von diesem Plugin kommt. :D


    Ich habe auch noch eine weitere Frage zu den Areas:

    Muss man neue Areas immer noch selbst in einer eigenen Datenbank speichern oder werden neu erstellte Areas von Plugins auch, wie deine WorldProtection-Areas in die World-Datenbank gespeichert und wir müssen nur die ID speichern? :thinking:

    Hallo red51 ,


    wie wäre es mit einem "ReadyEvent", dass immer aufgerufen wird, wenn beim Serverstart in der Console das [Ready] kommt. Dann weiß man z.B., dass alles geladen ist (auch alle Plugins).

    Hallo red51 ,


    ich bin mir sicher, dass man sich auch selbst mit Server.getAllPlayer() eine Funktion zusammenstellen kann,

    aber wäre es möglich, in der Klasse "World" die Funktion findNearestPlayer(Vector3f pos) zu erstellen?

    Es gibt bereits eine Funktion für NPC und Items. Da fehlt nur noch der Player. ;)

    Hallo red51 ,


    ich weiß ja nicht, wie viel Aufwand es hat, aber wäre es möglich in nächsten Update eine "ListBox" einzufügen?

    Denn ich habe immer das Problem, etwas grafisch Aufzulisten.


    Und am besten wäre es, wenn die Liste auch UIElemente auflisten kann, so dass meine die Liste wie deine Server-Liste im Hauptmenü aussehen lassen kann.


    Ich habe aber auch Verständnis, wenn dies nicht mehr in das nächste Update schaffen würde. ;)

    Sandboxgamer für unsere R.W. Wiki benutze ich auch die "definitions.db"

    Siehe: Wiki - Alle Items

    Nur ich benutze eine Datenbank-Abfrage

    Danke für deine Hilfe. Kann ich gut gebrauchen.


    Es gibt bestimmt die Methode, die du suchst, aber leider habe ich nicht ganz verstanden, was du meinst :saint: Worum geht es dir konkret? Möchtest du Items spawnen, oder nur den Namen eines bestimmten Objektes/Items erhalten?

    Ich möchte mit der Item-ID und der Viariante die Klasse "Item" oder wenn das nicht geht zumindest den Namen zurück bekommen. Ich will z.B. wissen, welches Item kommt bei der ID 25 raus.

    Hallo red51 ,


    1. Bitte:

    Ich weiß nicht, ob es bereits möglich ist, aber ich brauch unbedingt eine Methode, wo man ein Item-Objekt durch TypeID und Variante erhält, damit man z.B. den Namen auslesen kann.


    Beispiel: Item item = Item.getItem(short id, int variant)


    2. Bitte

    Gibt es eine Möglichkeit, eine Liste aller Item-IDs zu erhalten, das man auch herausfinden kann, welche Item-IDs es gibt.

    I hate to bother you but, iConomy seems to be throwing out some issues on one of the servers i moderate on.


    Ich hasse es, Sie zu stören, aber iConomy scheint einige Probleme auf einem der Server auszulösen, auf denen ich moderiere. (Google Translate)

    Please download the new version of ConfigManager (2.0.3) and try again. There are currently problems in the API with the order in which the plugins are loaded. In your log (thanks for that) I can see that iConomy is loaded before the ConfigManager, hence the error. If there are still problems after the ConfigManager update, please say so.

    Hallo red51

    es geht mir, wie bereits im Betreff geschrieben, um die Methode player.getInventory().findItem(...).


    Es wäre super, wenn es auch ein findItems() gibt, die eine Liste aller Slots mit diesem Item zurückgibt.

    Es kann ja durchaus sein, dass das selbe Item, auf mehreren Slots liegt. Ich brauch sowas, um Items zusammen zu zählen.

    Habe eben die Plugin ToolsAPI und iConomy neu eingespielt, erhalte aber nach wie vor den o.a. Fehler, dass die Methode nicht vorhanden sein. :(


    Dieses Mal kommt die Fehlermeldung allerdings direkt nach der Eingabe des Befehls. Vorher erschien zumindest der ATM nur man konnte ihn nicht platzieren.

    Sorry, habe noch die Falsche Datei im Link. Habe Sie nun ausgewechselt. :saint:


    EDIT:

    Falls beim Laden der Plugins irgendwelche Fehlermeldung kommen, dass ein bestimmtes Event nicht gefunden worden ist, dann bitte ignorieren. Das scheint ein Bug in Rising World zu sein. Der Event wird trotzdem geladen!

    Hotfix 2.0.1


    Hallo Leute,

    ein kleines Hotfix ist nun verfügbar, das unter andern den ATM-Fehler behebt.

    Bitte nicht vergessen die ToolsAPI zu aktualisieren!


    NEU: Die loadorder ist:-100! Alle Plugins, die mein iConomy verwenden möchten, brauchen eine höhere Loadorder als iConomy!