1. Wie kann ich via Ruby Battleanimations auf Events oder dem Spieler abspielen?
...
x ist die ID vom Event, y die ID der Animation.
Zitat von Sigma
2. Ist es möglich in Ruby einer Variable einen Zufallswert aus einem definierten
Zahlenbereich (zB 5 - 10) zuzuwiesen?
...
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.
bringt dir dementsprechend eine Zufallszahl zwischen 5 und 10.
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?
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:
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.
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
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.
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.
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:
Dafür musste ich allerdings unter
den Eintrag
ä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 ändere? Wäre nett wenn mir da jemand kurz weiterhelfen könnte, blicke in Ruby noch nicht so 100%ig durch ^^
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.)
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.
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.