hab das mit der anzeige erstmal soweit hinbekommen.
Zitat
Du meinst statt über eine Zeichenkette (Name), über eine numerische ID?
...
Ähm, nummern wären vielleicht auch nicht verkehrt, wenn bisher nur buchstaben möglich sind.
aber eigentlich meinte, ich, ob man bestimmen kann, welches picture aufgerufen wird auf der basis von einer variable. ehrlich gesagt, weiß ich selbst nicht mal genau was ich damit meine, aber bei dynPEC hab ich halt die anzeigen meiner gegner im kampf so in der art gemacht, wobei man nochmal differenzieren muss, weil es da eben über diese spritesheets ging, wo ich dann eben die spalte des sheets mit der variable angezeigt hab. ... so wichtig ist das auch nicht, vielleicht. ich seh bei diesen "Pointer"-geschichten, so nennt man das glaub ich, noch nich so recht durch.
wie geb ich denn bei den anderen werten die variable an? diese form: "var0000"?
Ähm, nummern wären vielleicht auch nicht verkehrt, wenn bisher nur buchstaben möglich sind.
...
Im Grunde sollte man bereits jetzt (durch zu optimistisches Programmieren von mir) numerische IDs verwenden können, es wird aber spätestens beim Speichern zu einer Fehlermeldung kommen, da von Zeichenketten als Bezeichner ausgegangen wird. Das wird sich auch in Zukunft nicht ändern um das Skript nicht zu kompliziert zu machen, nur werde ich die Schnittstelle (also die "Befehle", die du per Event-Kommentar verwendest) so überarbeiten, dass numerische IDs im Hintergrund zu Zeichenketten konvertiert werden.
Zitat von IndependentArt
aber eigentlich meinte, ich, ob man bestimmen kann, welches picture aufgerufen wird auf der basis von einer variable. ehrlich gesagt, weiß ich selbst nicht mal genau was ich damit meine, aber bei dynPEC hab ich halt die anzeigen meiner gegner im kampf so in der art gemacht, wobei man nochmal differenzieren muss, weil es da eben über diese spritesheets ging, wo ich dann eben die spalte des sheets mit der variable angezeigt hab. ... so wichtig ist das auch nicht, vielleicht. ich seh bei diesen "Pointer"-geschichten, so nennt man das glaub ich, noch nich so recht durch.
...
Beim Lesen dachte ich erst, du meinst sowas wie "MeinBild" + V123 + ".png", also dass der Dateiname dynamisch zusammengebaut wird, aber nachdem ich mir DynPEC genauer angesehen habe, verstehe ich was du meinst. Im Prinzip ist das bereits möglich (durch Angabe des Quellrechtecks, siehe set_sprite_source_rect), wenn auch etwas umständlicher. Ich werde das aber noch weiter vereinfachen, so dass man ein Quellrechteck auch anhand einer ID auswählen kann.
Wenn du möchtest, können wir uns mal im IRC oder so treffen und ich erkläre dir alles, was du wissen möchtest, bzw. wo du noch Unklarheiten hast im Detail. Melde dich einfach mal, wenn du Lust hast.
Zitat von IndependentArt
wie geb ich denn bei den anderen werten die variable an? diese form: "var0000"?
...
Genau so wie auch bei allen anderen DynRPG-Plugins: V<ID> (ohne "<" und ">") Also z.B.:
Das holt sich die Werte für die Parameter visible, z, x, y, scale und angle entsprechend aus den Variablen #1, #2, #3, #4, #5 und #6. Variablen-Lookup (so nennt man das) funktioniert auch mit beliebiger Verschachtelungstiefe, also VV1, oder VVVVV1 würde auch funktionieren (wobei das nicht bedeutet "hole Wert aus Variable #1, sondern "solange Anzahl Vs > 1: hole Wert als Variable-ID und wiederhole Lookup, sonst: hole Wert"), ist aber wahrscheinlich ab einer Verschachtelungstiefe > 2 nicht mehr praktikabel.
Wollte die nächste Version eigentlich schon vor einer Woche oder so veröffentlichen, habe mich dann aber entschieden die ganzen Änderungen, die ich schon lange vor mir herschiebe, endlich hinzuzufügen. Und hier ist das Ergebnis:
Ein großer Schritt Richtung Version 1.0 und Richtung solides Framework!
Skripte wurden erheblich überarbeitet und viele neue hinzugefügt. Mit dem Callback Manager kann man nun isolierte Erweiterungen schreiben, die wie das Plugin-System von DynRPG Plug & Play erlauben. Ein gutes Beispiel dazu ist die Game Clock-Erweiterung.
Mit dem Hinzufügen von Character:move ist nun auch Pathfinding möglich! Dazu habe ich für euch eine Demo vorbereitet:
Ich habe das Pathfinder-Skript erweitert, so dass nun, sollte kein Pfad zur Zielposition existieren, ein Pfad zur nächstbesten Position zurückgegeben werden kann. Dazu einfach beim Aufruf von move_character (siehe Scripts/extensions/pathfinder/interface.lua) für den Parameter allownearest eine 1 übergeben.
Hier ist die aktualisierte Pathfinding-Demo: Download
Ihr könnt entweder einfach die aktualisierten Pathfinder-Skripte aus dieser Demo verwenden, oder aus dem Repository (immer auf dem neuesten Stand) herunterladen.
In der Datei Scripts/boot.lua sicherstellen, dass entweder eine Zeile mit require "extensions", oder eine Zeile mit require "extensions.lightmapmanager" als Inhalt existiert. Einfach mit einem beliebigen Text-Editor öffnen/bearbeiten.
Alles aus LightmapDemo/Scripts/extensions/lightmapmanager in das selbe Verzeichnis deines Projekts kopieren.
Verwendung
Falls über eine Map eine Lightmap gelegt werden soll: Lightmap in "mapXXXX.png" umbenennen, wobei für XXXX die Map-ID einsetzen, inklusive führender Nullen, und ins Verzeichnis Picture/lightmaps kopieren.
Guck mal in boot.lua ob da require "extensions" steht. Wenn nicht (ich gehe stark davon aus), dann einfach irgendwo oben require "extensions" hinzufügen.
Wenn man nicht alle, sondern nur bestimmte Extensions haben will, einfach die Zeile require "extensions.name" für jede Extension einfügen. Also zum Beispiel:
Um die Extensions Lightmap Manager und Game Clock hinzuzufügen.
Manche Extensions benötigen andere Extensions, in dem Fall muss aber nichts weiter getan werden, denn diese werden automatisch hinzugefügt (vorausgesetzt der Extension-Autor hat alles richtig gemacht ^^).
Ich sollte mal meine Installationshinweise in der Dokumentation überarbeiten und die Assets-Installation zur Pflicht machen. :> Einfach den Ordner Fonts und am besten auch gleich den Ordner WindowSkins (zu finden im Ordner assets im 0.8-Release) in dein Spielverzeichnis kopieren.
Manche Extensions zeichnen Text/Fenster und benötigen entsprechend die mitgelieferten Standardfonts/-windowskins.
Übrigens: Die Scene Manager Extension kann die aktuellen FPS am Bildschirm ausgeben. Dazu einfach F10 drücken. Nur so am Rande...
Solche nützlichen Skripte wie das Pathfinding und der LE-Manager sind wirklich das, was RPGSS braucht, bis sich Leute finden, die eigene Skripte schreiben. Sehr toll das Ganze!
Damn, lösch' mal den Ordner Scripts/extensions/gameclock (brauchst du eh nicht). xD
Das Problem ist die Zeile 8 in GameClock.lua, das versucht nämlich folgendes:
Da du aber kein System-Windowskin verwendest, gibt's Probleme. Muss ich mal überarbeiten...
Einfach die alten durch die neuen Skripte ersetzen.
Mit
kannst du ein/ausfaden. opacity geht von 0 (unsichtbar) bis 255 (komplett sichtbar). duration ist die Zeit in Millisekunden, die das Fading dauern soll.