Ergebnis 1 bis 20 von 52

Thema: [XP/ Ruby] Fragensammelthread (1.12.)

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Du kannst bedenkenlos so viele Ordner mit dem RPG-Maker XP und VX verwenden wie du willst und denen Namen geben wie dir lieb ist.
    Du kannst die Ordner auch irgendwo halten, wo immer du willst. Sogar auf deinem Desktop wenn du es so magst.
    Du kannst die Bilddateien auch so wie sie sind einfach in den Spieleordner packen ohne sie in irgendein Unterverzeichnis zu setzen.
    Macht alles keinen Unterschied.

    Bei dem RPG-Maker XP wirst du dann nichtmehr über RPG:ache arbeiten können um die Bilddateien zu holen, aber das ist sowieso vollkommen unnötig. Zumindest solange du weist was du tust.
    Geschwindigkeitsunterschied ist kaum vorhanden, wenn aber dann eher schneller als wenn du den Cache benutzt da du damit einen Funktionsaufruf sparst.

    Als Code brauchst du lediglich folgendes um ein Bild zu laden:
    Code:
    some_bitmap = Bitmap.new(<PATH>)
    wobei du <PATH> mit dem Pfad der Bilddatei angibst. Hier ein paar Beispiele:
    "einBild" würde die Bilddatei mit Namen "einBild" direkt aus dem Hauptordner des Spieles laden.
    "Graphics/einBild" würde die Bilddatei aus dem Ordner "Graphics" laden.
    "Graphics/Battler-Animations/einBild" würde die Datei aus dem Ordner "Battler-Animations" aus dem Ordner "Graphics" laden.
    "C:/Dokumente und Einstellungen/Neuer Ordner/einBild" würde die Datei aus [...]
    Ich glaube du verstehst inzwischen wie das geht.
    Funktioniert für jegliche Arten von Audio-Dateien äquivalent.

    Um auf deine Wahrscheinlichkeitsrechnungsfrage einzugehen (schau dir einmal dieses Wort an):
    So wie es mir scheint willst du nicht die Trefferwahrscheinlichkeit von 90% um 50% erhöhen, denn das wäre tatsächlich 135% sondern eher die Chance daneben zu schlagen, also 10% um 50% verringern um die Trefferchance damit auf 95% zu erhöhen.
    Versuch einmal damit zu arbeiten und sag uns auf welche Ergebnisse du gekommen bist.

    Geändert von Cornix (21.12.2011 um 22:18 Uhr)

  2. #2
    @Ordner: Ordner sind ja auch okay, schreib ich ja^^. Das umgehen von neuen Orner mit Prefixen stellt nur eine Alternative dar.

    Zitat Zitat von Cornix Beitrag anzeigen
    Um auf deine Wahrscheinlichkeitsrechnungsfrage einzugehen (schau dir einmal dieses Wort an):
    So wie es mir scheint willst du nicht die Trefferwahrscheinlichkeit von 90% um 50% erhöhen, denn das wäre tatsächlich 135% sondern eher die Chance daneben zu schlagen, also 10% um 50% verringern um die Trefferchance damit auf 95% zu erhöhen.
    Versuch einmal damit zu arbeiten und sag uns auf welche Ergebnisse du gekommen bist.
    Ihr habt parallel gepostet oder?
    Ich bezweifel, dass sich da ein Ansatz finden lässt. Alternativ könnte man auch von allem was größer als 67% ist auf 100% springen - oder gar wirklich 135%, vor Ausweichen. Praktisch gesehen hast du damit deine 50%. Vllt gibt es andere Lösungen, aber ehrlich gesagt bin ich der Meinung, dass es dann in einer Art und Weise nicht mehr intuitiv genug ist, dass es für den Spieler nachvollziehbar ist. Wenn der Spieler liesst, erhöhung um 50%, erwartet er eine der beide Lösung.

    Du hast aber recht, für besoners kleine Werte geht das schief. Am Intuitivsten find ich einfach mit dem Faktor zu multiplizieren und werte über 100% entweder zu cutten oder für Ausweichen-Modifikation drin zu lassen. Aber vllt hat jemand eine bessere Idee

  3. #3
    Danke zur Antwort mit den Ordnern, so ausführlich braucht ichs gar nicht - Meine Sorge war nur, dass irgendwas dadurch kaputt gehen könnte, vor langer Zeit beim Rm2k hab ich alle Dateien in die Verzeichnisse kopiert und irgendwann war das Projekt für den Maker nicht mehr lesbar. Kann zwar auch an was anderem gelegen haben, aber seitdem bin ich da lieber vorsichtig.

    Bei der Wahrscheinlichkeit dachte ich, dass es da eine passende Formel gibt aus der Wahrscheinlichkeitsrechnung (Trefferwahrscheinlichkeit x verändert sich um Faktor m) gibt, Wahrscheinlichkeitsrechnung ist ja ein recht großes Gebiet- Aber die Frage ist halt streng mathematisch und vielleicht ist hier nicht das ideale Forum, um für sowas eine Antwort zu finden. Danke dennoch für die Ansätze.

  4. #4
    Dein Problem hat allerdings in etwa 0 mit Wahrscheinlichkeitsrechnung zu tun. Es ist nicht mehr als reine Arithmetik. Wahrscheinlichkeitsrechnung würde jetzt vllt soweit gehn, wie hoch die Wahrscheinlichkeit ist, von 3 Attacken mindestens 2 zu Treffen. Du willst einen Erhöhung des Wertes. Vllt mag das in der Theorie auch eine Instannz von Wahrscheinlichkeitsrechnung sein, aber in einem Trivialfall, der nicht viel mit eigentlicher Wahrscheinlichkeitsrechnung gemein hat.
    Da mir nicht ganz klar ist, wie genau du es haben willst, schreib bitte deine Erwarteten Werte mal auf. Gib uns ein paar Beispiele, wie genau bei Trefferchance und modifikator das Ergebnis aussehen soll, weil offenbar scheitern wir daran, nicht zu wissen, wo genau du hinwillst.

  5. #5
    Den RPG:ache kannst du immer noch benutzen. Schreib einfach das Unterverzeichnis vor den Dateinamen:
    Code:
    mein_bitmap = RPG::Cache.picture("facesets/foo")
    Das Problem ist eher, dass du diese Pictures nicht über die normalen Event-Befehle verwenden kannst. Von der Rubyseite aus gibts da aber keine Probleme. Es kann außerdem noch sein, dass beim Verschlüsseln des Projekts (falls du das denn vor hast) die Unterordner nicht mit verschlüsselt werden. Zudem wird beim Importieren bei alpha-channel freien Bildern die Transparenz vom Maker gesetzt. Das kannst du aber auch mit einem geeignetem Grafikprogramm manuell machen.

    Zur Wahrscheinlichkeitsrechnung: Cornix hat es imo richtig erklärt. Eine Steigerung der Trefferchance um 50% ist dasselbe wie eine Verringerung der gegnerischen Ausweichsrate um 50%. Lässt sich einfach über 1.0 - (1.0 - Trefferrate) * 0.5 berechnen und liefert imo auch ein sinnvolles Ergebnis.

  6. #6
    Zitat Zitat von -KD- Beitrag anzeigen
    Den RPG:ache kannst du immer noch benutzen. Schreib einfach das Unterverzeichnis vor den Dateinamen:
    Code:
    mein_bitmap = RPG::Cache.picture("facesets/foo")
    Gut, bei Unterordnern geht das. Was nicht geht ist extra-Ordner via RPG:ache abrufen, ist was ich meinte. Ala Graphics/NeuerOrdner/

  7. #7
    Zitat Zitat von Todu Beitrag anzeigen
    Gut, bei Unterordnern geht das. Was nicht geht ist extra-Ordner via RPG:ache abrufen, ist was ich meinte. Ala Graphics/NeuerOrdner/
    Das geht auch, du müsstest nur die Cache-Klasse ein wenig umschreiben.
    Diese ist im RPG-Maker XP zwar versteckt aber du kannst sie auch aus dem RPG-Maker VX kopieren da diese dort beinahe identisch realisiert worden ist.

  8. #8
    In der Hilfedatei vom XP ist auch der Quellcode, aber da hast du recht.

  9. #9
    So, kleines Problem mit den Window-Klassen:
    Ich hätte gerne Fensterinhalt, der nicht mitscrollt. also quasi ein Headerbereich, der immer stehen bleibt, und darunter ein Bereich, der normal über ox/oy scrollen kann.
    Ich würde am ehesten die Funktionsweise von content ändern und content2 hinzufügen, sodass ich einmal scrollenden und einmal stehenden content habe. Problem ist, dass ich keinerlei Code der Klasse Window habe und aus der Dokumentation ich keinen Ansatz finde, wie ich da was ändern könnte. Ich wäre schon glücklich, wenn ich Position vom content ändern könnte, sodass dieser nicht immer 16 Pixel Abstand zum Rand hat.
    Alternative Lösung wäre natürlich, zwei Windows übereinander zu legen, eins für den statischen und eins für den scrollenden Bereich, aber wenn ich die Funktionsweise vom Window content ändern könnte, fände ich das schöner.

  10. #10
    Einfach einen weiteren Sprite darüber setzen. Content im Window ist auch nichts anderes als ein separater Sprite.

  11. #11
    Content ist ein Bitmap-Objekt. Du könntest eine weitere Window-Klasse machen, die z.B. von Window_Base erbt und darin ein zweites Bitmap-Objekt (content2 oder wie auch immer) instanzieren:
    Code:
    self.contents2 = Bitmap.new(width - 32, height - 32)

    Geändert von stardust (24.01.2012 um 15:26 Uhr)

  12. #12
    Zitat Zitat von stardust Beitrag anzeigen
    Content ist ein Bitmap-Objekt. Du könntest eine weitere Window-Klasse machen, die z.B. von Window_Base erbt und darin ein zweites Bitmap-Objekt (content2 oder wie auch immer) instanzieren:
    Code:
    self.contents2 = Bitmap.new(width - 32, height - 32)
    Das würde so nicht funktionieren. Ein Bitmap kann man nicht sehen auf dem Bildschirm. Ein Bitmap enthält nur Daten.
    Was man braucht um eine Grafik anzuzeigen ist ein Sprite. Einen sprite setzt man in einen Viewport, in diesem Fall den gleichen wie das Fenster, und übergibt dem Sprite ein Bitmap welches er darstellen soll.
    Wie ich oben bereits geschrieben habe, erstelle einen Sprite und lege diesen an die richtige Stelle. Die Window Contents sind ebenfalls nichts anderes.

  13. #13
    Mmhm danke für die Antworten, wird wohl auf ne zusätzliche Klasse / Sprite hinauslaufen - Ich hätts halt am saubersten (und wohl auch für andere Vorhaben potentiell hilfreich) gefunden,wenn ich irgendwie den sprite vom content-Bitmap modifizieren könnte und nicht nur das Bitmap selbst,

  14. #14
    Ich hab was ähnliches gemacht, ich weiss allerdings nicht genau, ob sich das auch auf Scrollbare Windows anwenden lässt, wobei es Window_Command mit ner Headline ist und daher eh eine Subklasse von Selectable.

    Ich persönlich hab mir ne zweite Klasse erstellt, also in meinem Fall Window_Command_Headline, Klasse redefinieren oder von ihr Ableiten dürfte aber mit leicht anderer Herangehensweise auch funktionieren.

    In Window_Command findest du übrigens auch eine Standard-Contents-Erstellungsanweisung afaik, kannst dich daran ja Orientieren und das passend Semantisch auf Fenstergröße umstellen.

    Der Trick ist jetzt, einfach alle an relevanten Operationen die Koordinaten zu modifizieren - in den meissten Fällen wird das also y+Interger(Headgröße) sein - bzw +AnzahlAnZeilenVomHeader - je nachdem was passiert
    Ich weiß nicht 100%ig ob das ein Ansatz ist, der auch für Selectable funktioniert, aber für Command hat die herangehensweise wunderbar funktioniert.

  15. #15
    Hallo, mal wieder eine Frage von mir

    Mich plagt eigentlich schon die ganze Zeit das Laden von Musik im RPGXP. Bei der Suche hab ich nichts dazu gefunden, daher scheint es kein generelles Problem zu sein. Die Sache ist jedenfalls:
    Wenn das erste Mal eine BGM oder ME abgespielt werden soll, hängt das Spiel für 5 Sekunden. Die Musik wird noch nicht abgespielt, aber auch alles an Grafik friert ein. Erstes Mal heißt dabei jedes Mal, wenn das Spiel geöffnet wird. So dauert es 5 Sekunden, bis der Titelbildschirm angezeigt wird. Wenn ich die BGM für den Titel abstelle, häng tes stattdessen bei der ersten Map mit BGM usw. Mit den MEs genau das Gleiche.
    Die Ladezeit gibt es immer nur beim ersten Mal, wenn z.B. beim Titel BGM1 gespielt wird und bei der ersten Map BGM2 lädt es nur beim Titelbildschirm und alle weiteren BGMs werden sofort abgespielt. Es ist dabei anscheinend egal, was für eine BGM beim ersten Mal gespielt wird, importiert oder aus der RTP, kleine oder große Datei, kein Unterschied. Das Problem tritt auch in jedem Projekt auf, auch in einem neu gestarteten Projekt ohne Inhalt / Imports.
    Ist das Problem bekannt und gibt es Lösungen um die Ladezeit wegzukriegen? Beim Testen ist es doch ziemlich nervig wenn man jedes Mal, auch wenn man Kleinigkeiten testet, erstmal die Verzögerung abzuwarten.

    Geändert von Fatalis (09.04.2012 um 12:04 Uhr)

  16. #16
    Ich habe zwar noch nie etwas dergleichen gemerkt aber ich würde sagen das klingt stark danach, dass einfach die Bibliotheken und Scripte zum Abspielen von Musik geladen und initialisiert werden müssen.
    Das kannst du nicht umgehen.

  17. #17
    Das selbe Problem habe ich auch. Zumindest bei mir tritt das Problem aber nur bei MIDI-Dateien auf. Ist übrigens auch im Editor so. Wenn ich dort das erste Mal eine MIDI-Datei abspielen will, hängt das ganze kurz. In Winamp/Mediaplayer/etc habe ich dieses Problem aber nicht, dürfte also ein Problem der Engine sein, und keines von meinem PC.

  18. #18
    Kurze Frage:

    Ist es irgendwie möglich, in RGSS an die Abhängigkeiten der Maps zu komen? Also grob gesagt sowas wie $game_map.parent, um an die map zu kommen (bzw.die id der map würde schon reichen), die in der Struktur über der aktuellen Map ist.

  19. #19
    Solche Dinge stehen iirc in der MapInfos.rxdata.

  20. #20

Berechtigungen

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