Ergebnis 1 bis 20 von 98

Thema: [DynRPG] RPGSS

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    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)

  2. #2
    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)

  3. #3
    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? ^^

  4. #4
    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)

  5. #5

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

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

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

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

  10. #10
    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?

  11. #11
    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)

  12. #12
    hm, wäre es nicht einfacher gewesen, wenn die lightmap einen standart-namen hätte, den man dann mit den normalen spritebefehlen ansteuert?

  13. #13
    Zitat Zitat von IndependentArt Beitrag anzeigen
    hm, wäre es nicht einfacher gewesen, wenn die lightmap einen standart-namen hätte, den man dann mit den normalen spritebefehlen ansteuert?
    Lightmap ist im Moment nicht als Sprite implementiert, sondern wird direkt als Image gezeichnet. Es ist aber natürlich möglich sie als Sprite zu implementieren. In dem Fall könntest du sie dann als gewöhnlichen Sprite ansteuern, ja. Hm, ich glaube das wäre sogar wünschenswert, weil die Lightmap dann einen Z-Wert hätte und man Sprites sowohl hinter der Lightmap, als auch davor zeichnen könnte (was im Moment nicht möglich ist). Ist es das, warum du fragst?

Berechtigungen

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