Ergebnis 1 bis 20 von 323

Thema: Kleine RmXP FAQ

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Zitat Zitat von Sigma Beitrag anzeigen
    1. Wie kann ich via Ruby Battleanimations auf Events oder dem Spieler abspielen?
    Code:
    $game_map.events[x].animation_id = y
    x ist die ID vom Event, y die ID der Animation.

    Zitat Zitat von Sigma Beitrag anzeigen
    2. Ist es möglich in Ruby einer Variable einen Zufallswert aus einem definierten
    Zahlenbereich (zB 5 - 10) zuzuwiesen?
    Code:
    $game_variables[x] = rand(y)
    x ist die ID der Variable und y.
    Rand ermittelt eine Zufallszahl zwischen 0 und y - 1. Musst es also ein wenig anpassen um auf einen anderen bereich zu kommen.
    Code:
    rand(6) + 5
    bringt dir dementsprechend eine Zufallszahl zwischen 5 und 10.

  2. #2
    Danke, das hilft mir weiter.

  3. #3
    Moin, ich hätte eine kleine Frage zu RGSS.
    Gibt es eine einfache Möglichkeit, aus einem RGSS-Script heraus eine Standart-Textbox oder ein Common Event aufzurufen?

  4. #4
    ja, die gibt es ^,^ Ich werde mir heute mal die Skripts anschauen und daraufhin den Code auslesen.

    Um eine Windoof Message zu bekommen, kannst du ja mal damit probieren:
    PHP-Code:
    print("ERROR 101"
    Das würde in ein extra Fenster die Nachricht ERROR 101 Ausgeben, passieren würde aber nichts

    Wie gesagt, ich schaue mir heute mal die Skripte an.

  5. #5
    Print gibt ja leider eben so eine Windoof-Nachricht aus, die aussieht, als würde sie nicht zum Spiel gehören.
    Die einzige Idee, welche ich hatte, wäre eine neue Klasse < Window_Base, um zu versuchen, die Textboxfunktion möglichst gut zu imitieren.
    Bei den Common Events würde das jedoch nicht weiterhefen, und umso besser, wenn es eine einfachere Möglichkeit gibt.
    Zitat Zitat
    Ich werde mir heute mal die Skripts anschauen und daraufhin den Code auslesen.
    Das klingt doch vielversprechend. Ich bedanke mich schonmal für deine Mühen.

  6. #6
    ich finde nicht den Code, um Messages anzuzeigen. Nur um sie wieder verschwinden zu lassen. Was mich auf die Idee bringt, wieder mal ein kleines Skript zu machen ^,^
    Ich werde heute auch mal suchen, wie man Comon Events über Ruby aufruft.

  7. #7
    Problem hat sich erledigt, habe mir selbst für verschiedene Fehlermeldungen etc. einen Message-Ersatz gebastelt.

  8. #8
    Hallo,

    seit langem habe ich mal wieder angefangen etwas mit dem RMXP zu experimentiren. Momentan versuche ich mich an einem Skrip mit dem ich die Charsets eines Events ändern kann. Ich weiß, man kann das auch per Klick-Skript über 'Set move route', aber ich möchte es gerne etwas kompakter und flexibler gestalten und das neue Charsets per String-Argument übergeben. Ich hab mir bis jetzt Folgendes zusammengepfuscht:

    Code:
      def change_gfx(id, name)
        $game_map.events[47].character_name = "MainChar-Tony"
      end
    Dafür musste ich allerdings unter
    Code:
    Game_Character
    den Eintrag
    Code:
    attr_reader   :character_name
    Code:
    attr_accessor   :character_name
    ändern. Ich hab bisher einfach nichts anderes gefunden womit sich die Grafik ändern lässt, aber da der Code von Game_Character den Dateinamen nur als Attr_reader zugänglich macht müsste da ja eigentlich eine andere Möglichkeit bestehen. Hat jemand eine Ahnung wo ich danach suchen muss? Beziehungsweise, kann ich das so lassen, oder isses nicht so gut wenn ich die Grafik auf diesem Wege direkt in
    Code:
    $game_map.events
    ändere? Wäre nett wenn mir da jemand kurz weiterhelfen könnte, blicke in Ruby noch nicht so 100%ig durch ^^

  9. #9
    attr_reader/writer/accessor erstellt Funktionen, die Prozessen außerhalb der Instanz einfachen Zugriff auf die Instanzvariable @character_name gewähren, auf welche innerhalb jeder Game_Character-Instanz allerdings sowieso immer frei zugegriffen werden kann.

    Eine Änderung dieser Variablen ist dabei in diesem Fall in 3 Fällen vorgesehen:
    - beim Aufruf von "initialize" (Event/Spieler wird erstellt)
    - beim Aufruf von "refresh" (im Falle Game_Event/Game_Player: Eventseite oder Heldengruppe hat sich geändert)
    - beim Aufruf von "move_type_custom" (in der Bewegungsroute wurde "Change Graphic" aufgerufen)

    Da es keine Methode gibt, die von außen direkt diese Variable überschreibt war es hier nicht notwendig attr_accessor zu verwenden. Wenn du die Variable doch aus irgendeinem Grund auch von außen direkt auf diese Variable zugreifen musst wäre attr_accessor eine Lösung. (Aufgepasst sollte jedoch, wenn die Methode character_name= bereits existieren sollte da diese sich mit der durch attr_accessor :character_name erzeugten Methode überschreiben würde.)

    Geändert von ETeCe (29.12.2010 um 11:39 Uhr)

  10. #10
    Danke erstmal.

    Mein Problem dabei ist einfach, dass ich nicht weiß wo die Methode zum ändern dieser Instanzvariablen ist. Es muss eine geben, über die zum Beispiel 'Set move route' die Grafik eines Events ändert, nur finde ich den entsprechenden Code einfach nicht und weiß daher nicht wie ich ihn gezielt aufrufen kann. Im Moment funktioniert es ja so, ich will nur halt einfach nichts falsch oder kaputt machen und kann im moment einfach noch nicht so recht überblicken wie dieser code arbeitet.

  11. #11
    Die Methode die letztlich alle Move-Route-Befehle ausführt heißt move_type_custom , du findest sie in "Game_Character 2" ab Zeile 175.

    Die Methode arbeitet den nächsten Befehl in der Move-Route des Events ab
    (Den genauen Aufbau der Klasse RPG::MoveRoute findest du in der Makerhilfe, die du im Maker über F1 aufrufen kannst). Abhängig vom Code des neuen Befehls wird eine andere Bewegung ausgeführt - das Prinzip ist das gleiche wie in der Interpreterklasse (Wenn der Code gleich 1 ist tue das, wenn 2 tue das uswusf.).
    Der "Change Graphic"-Befehl zum Beispiel hat den Code 41, die "Übersetzung" dieses Befehls findest du entsprechend ab Zeile 318. Eine weitere Methode wird dort allerdings nicht mehr aufgerufen.

Berechtigungen

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