Ergebnis 1 bis 20 von 98

Thema: [DynRPG] RPGSS

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    hab das mit der anzeige erstmal soweit hinbekommen.

    Zitat 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"?

  2. #2
    Zitat Zitat von IndependentArt Beitrag anzeigen
    Ä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 Zitat von IndependentArt Beitrag anzeigen
    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 Zitat von IndependentArt Beitrag anzeigen
    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.:

    Code:
    @call add_sprite, "bla", "Picture/bla.png", "mix", V1, V2, V3, V4, V5, V6
    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.

    Geändert von Kyuu (17.06.2014 um 12:04 Uhr)

  3. #3
    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:

    Neuer Release

    rpgss-0.8.0.7z

    Code:
    Changes between 0.8.0 and 0.7.0
    -------------------------------
    
      * Added onSystemBackgroundDrawn callback.
      * Added keyboard.getVirtualKeyCode.
      * Added keyboard.getState.
      * Added mouse.getState.
      * Mouse position is now clipped to screen dimensions.
      * Added Sound.pitch.
      * Renamed Sound.repeat to Sound.loop to avoid collision with Lua's
        "repeat" keyword.
      * Added graphics.newSystemFontImage.
      * Added option to graphics.writeImage to force a particular color as
        the first palette entry in palletized images.
      * Added game.frameRate.
      * Added game.millisPerFrame.
      * Added game.frameCounter.
      * Added game.playTime.
      * Added game.system.graphicFilename.
      * Added game.menu.scene.
      * Added game.menu.allowed.
      * Added game.menu.saveAllowed.
      * Added game.menu.teleportAllowed.
      * Added game.menu.escapeAllowed.
      * Added game.battle.layout.
      * Added game.battle.atbMode.
      * Added game.battle.speed.
      * Added game.map.existsEvent.
      * Added game.map.findEvent (replaces game.map.findEventById and
        game.map.findEventByName).
      * game.map.moveCamera now behaves as expected (positive offsets move toward
        positive infinity, negative offsets move toward negative infinity).
      * Renamed control mode and layer constants for brevity.
      * Added Character:move.
      * Renamed game.music.fadeOut to game.music.fade for consistency.
      * Added a temporary workaround in game.screen.drawq that fixes the issue
        that the TexturedQuad primitive ignores the source rect position.
      * Moved screen drawing code into its own module for reasons of clarity
        and improved maintainability.
      * Anything rendered to the screen is now affected by the screen brightness
        to avoid sticking out during transitions.
      * Added bitmap versions of the system fonts msmincho and msgothic, as well
        as initial versions of the system window skins.
      * The # (length) operation now works on proxies returned by properties
        like game.party, game.map.events, game.battle.enemies, etc.
      * Refactored and restructured existing system scripts for improved
        modularity and maintainability.
      * Added class.lua (allows for solid object-oriented programming in Lua;
        powered by Yonaba's 30log library).
      * Added Cache.lua (allows caching of frequently used resources like images,
        fonts and window skins).
      * Added Timer.lua (keeps track of and provides an interface to query the
        frame/time delta between updates).
      * Added CallbackManager.lua (allows writing encapsulated extensions).
      * Added InputManager.lua (allows listening/reacting to input events).
      * Added AudioManager.lua (allows playback of BGM, BGS, ME and SE).
      * Added GameClock.lua (keeps track of the total play time and optionally
        displays it in the main menu).
      * Added PathFinder.lua (adds powerful and feature-rich pathfinding tools;
        powered by Yonaba's Jumper library).
    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:



    Download (alte Version, siehe weiter unten für die aktuelle)

    Edit:

    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.

    Geändert von Kyuu (01.07.2014 um 17:29 Uhr)

  4. #4
    Ich habe für jemanden ein Skript zum automatisierten Anzeigen von Lightmaps geschrieben. Ich denke, das können auch andere brauchen:



    Download


    Installation

    • RPGSS 0.8 installieren (inklusive Assets).
    • 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.

    Geändert von Kyuu (06.07.2014 um 00:51 Uhr)

  5. #5
    probiere es grad aus, hatte allerdings noch keinen erfolg.

    ich hab also meine lightmap im ordner lightmaps. sie heißt "map0066.png" und ist für die map 66.

    ich hab die sachen aus dem demoprojekt kopiert. wie finde ich den fehler? ^^

  6. #6
    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:

    Code:
    require "extensions.lightmapmanager"
    require "extensions.gameclock"
    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 ^^).

    Geändert von Kyuu (03.07.2014 um 13:10 Uhr)

  7. #7

  8. #8
    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...

    Geändert von Kyuu (03.07.2014 um 13:20 Uhr)

  9. #9
    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!

  10. #10
    Klicke auf die Grafik für eine größere Ansicht 

Name:	bam.JPG 
Hits:	9 
Größe:	17,4 KB 
ID:	20632

    will immernoch mehr

    das ist ja komischerweise die grafik, die ich im system hab. kenne ja die genauen hintergründe nicht.

  11. #11
    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:
    Code:
    windowskin = Cache:windowskin("WindowSkins/"..game.system.graphicFilename..".png"),
    Da du aber kein System-Windowskin verwendest, gibt's Probleme. Muss ich mal überarbeiten...

    Geändert von Kyuu (03.07.2014 um 15:32 Uhr)

  12. #12
    FUCK YEAH!

    Klicke auf die Grafik für eine größere Ansicht 

Name:	bam.JPG 
Hits:	37 
Größe:	22,6 KB 
ID:	20633

    frag mich, warum das ding hier so wenig beachtung bekommt bisher.

    das sind automatisch ins spiel integrierte lightmaps mit ALPHAKANAL!

    macht doch mal lärm für Kyuuu leute


    könnte ich die lightmap eigentlich jetz irgendwie auch ansteuern und ein/ausfaden zB?

  13. #13
    Zitat Zitat von IndependentArt Beitrag anzeigen
    könnte ich die lightmap eigentlich jetz irgendwie auch ansteuern und ein/ausfaden zB?
    Jetzt schon: Download :>

    Einfach die alten durch die neuen Skripte ersetzen.

    Mit

    Code:
    @call change_lightmap_opacity, opacity, duration
    kannst du ein/ausfaden. opacity geht von 0 (unsichtbar) bis 255 (komplett sichtbar). duration ist die Zeit in Millisekunden, die das Fading dauern soll.

    Geändert von Kyuu (11.07.2014 um 03:30 Uhr)

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •