Hey Leute, habe mal eben 'ne Frage bzgl Ruby.
Für mich schwer zu lösen, Leute die etwas geübter sind werden den...die Fehler wohl schnell erkennen.^^
Hier der Code:
Es geht um die letzte Reihe. (Die oberen sind etwas verändert, da nicht alle Ausrüstungsgegenstände gebraucht werden und ich keine Lücken haben wollte).
Naja, zum Problem. Ich habe ein Picture (Systemschrift) angefertigt und diese soll nun unten auf dem Bildschirm angezeigt werden (Das Pic beinhaltet den Namen des Spiels).
Dies ist übrigens ein Teil aus dem "Window_Status" Script.
Hoffe jemand kann mir helfen.
Edit: Also nur um das klar zustellen: Wenn ich auf den Status des Charas gehe, tritt 'ne Fehlermeldung auf...Die würde ich sehr gerne umgehen, nur muss dafür die letzte Zeile des Scripts richtig gestellt werden.
1.) Wie lautet die Fehlermeldung??? (sollte bei jedem Problem dabeistehen, denn allein aus deinem Codeschnipsel wird wohl keiner schlau)
2.)
Wo hast du diese Methode denn definiert? und wenn immer nur der name des spiels angezeigt werden soll, wofür dann eine methode für Game_Actors schreiben???
Probier einfach statt der letzten zeile einmal:
Ansonsten bitte genaueres posten, mit diesen paar zeilen wird wahrscheinlich niemand helfen können...
Hm, mit dem Code den du mir geschickt hast geht's auch nicht.
Ich möchte diesen Code gerne als Script einbinden weil ich das Menü etwas angepasst habe und so weniger Platz verbrauche. Im unteren Teil des Bildschirms ist viel Platz den ich gerne füllen würde.
Hier der komplette Code:
Hier werden ja quasi die Ausrüstungsgegenstände, Statuswerte etc. angezeigt. Deshalb möchte ich das Pic hier drüber einbinden.
Durch diese Zeile kommt aber folgende Fehlermeldung zustande:
(Bin noch ein totaler Anfänger in ruby).
Edit: Laut Fehlermeldung muss dieser Code noch irgendwo definiert werden, oder? Wo genau und wie macht man sowas?
Ansonsten in Window_Status VOR dem letzten end das einfügen:
def titel_anzeigen(x=0, y=0)
bitmap = RPG::Cache.picture("systemschrift.png") #wenn das pic systemschrift.png heißt
cw = bitmap.width
ch = bitmap.height
src_rect = Rect.new(0, 0, cw, ch)
self.contents.blt(x, y, bitmap, src_rect)
end
und dort wo die zeile mit draw_picture_name stand, das einfügen (in den klammern die richtigen x und y-werte eintragen)
titel_anzeigen(200, 300)
Ist btw. nicht die schönste/sauberste Art neuen Code einzufügen, aber ich hab atm. keine Zeit dafür, das ganze "schön" zu scripten, außerdem sollte es so auch reichen...
@Adrian2000: Problem hat sich doch schon erledigt.
Nächste Probleme:
1. Wie kann man die Charakterposition im Kampfmenü verschieben?
Bild:
2. Ich habe ein Event in dem ein Charakter immer wieder den selben Weg läuft,
hier ein Beispiel:
Move up
Move up
Move up
Move down
Move down
Move down
[Repeat action]
Ich würde ihn gerne alle 3 Sekunden nach links gehen lassen.
Wie macht man sowas?
@Adrian2000: Problem hat sich doch schon erledigt.
Nächste Probleme:
1. Wie kann man die Charakterposition im Kampfmenü verschieben?
Bild:
...
1)
bei Game_Actor zeile 570 folgend wird die x koordinate der battlergrafik im kampf angegeben.
2)
in Window_BattleStatus zeile 38 wird die x koordinate des info fenster berechnet.
@Nesis: Bei dieser Sache gibt's noch'n kleines Problem:
Sobald der Switch wieder off ist, verfolgt der Chara seine ursprüngliche Route von Anfang an. D.h. das er anstatt nach unten, nach oben geht und aus dem Bildschirm verschwindet.
Sprich: Der Charakter sollte nachdem der Switch auf "off" gestellt ist, seine vorgegebene Route beenden und nicht neu beginnen.
@2
also wenn die nesis möglichkeit nich gefällt hab ich da auch noch zwei x)
setze die event bewegung auf custom und mach da deine auf/ab bewegung.
dann das event noch auf parallel process stellen und als event commands nen wait von 60 frames (20fps*3sec=60frames) und danach den move befehl nach links
du kannst aber auch einfach ausrechnen wann die 3 sec um sind un das direkt in die bewegungsroute einbauen. bei der geschwindikeit slow benötigt das event 8 frames für einen schritt.
dh:
60frames / 8 frames = 7.5 schritte
=> 8 schritte und dann die links bewegung.
@Shining Advances:
Das Problem ist fast gelöst, nur führt das Event die links/rechts Bewegung nur 1 mal aus. Danach kommt nur noch die oben/unten Bewegung.
Erstmal danke dafür das es jetzt schon besser ist als zuvor. Suche jetzt noch selbst 'ne Lösung dafür, das die links Bewegung alle 3 Sekunden ausgelöst wird.
Oder weißt du wieso sie nur 1 mal ausgelöst wird?
Edit: Mein Fehler, habe unter dem Move befehl 'n "wait for moves completition" gesetzt.
Vielen Dank für die schnelle und detaillierte Hilfe.
Guten Ab...öhm...gute Nacht Community,
Ich würde gerne die Schriftfarbe des des "Shop processing" ändern.
Wo stellt man sowas ein? Im "Window_Base" habe ich nichts gefunden und im "Shop_processing" auch nicht.
Schon mal danke im Vorraus.
Edit: Wo man die Schriftfarbe im Kampf umstellen kann (Lebenspunktabzug) finde ich auch nicht.
hm weiß nicht genau was das shop processing sein soll (die suche im script editor will mir nix zeigen).
meinst du damit die ganz normale shop scene oder nen speziellen bereich?
wie auch immer....
die farbe ändert man über
self.contents.font.color = Color.new(r,g,b,alpha)
rgba durch die farbwerte ersetzen (rot, grün, blau, transparenz).
kannst das in den refresh part vor den draw_text befehlen einer jeden window klasse setzen.
edit: k im kampf bei den hp stimmt das nicht ganz was ich oben gesagt hab. da wird die farbe innerhalb von draw_actor_hp nochmal verändert. musst das also dort ändern.
statt knockout_color/crisis_color etc deine gewünschten farbwerte per Color.new ODER einfach die methoden ändern (window_base zeile 64-90).
Geändert von Shining Advances (08.04.2009 um 12:58 Uhr)
Hallo Community,
irgendwie habe ich ein Problem mit einem Autorun Event...ein Problem welches mir fast schon peinlich ist.
Aus irgendeinen Grund wird Picture 2 nicht angezeigt.
Wieso?
Hallo Community,
ich habe ein relativ schweres Problem: Die Begehbarkeit der Tiles eines bestimmten Sets.
Sie sind in der Database durch ein "x" gekennzeichnet, trotzdem kann ich über manche dieser Tiles drüberlaufen.
Habe schon folgendes probiert:
-Database Platz ändern, also von Platz 32 zu Platz 35.
Brachte nichts.
-Paralell Process Events geprüft.
Kein Fund auf Beeinflussung.
-Geschaut ob unsichtbare Tiles ("o") drüberliegen
Tun sie nicht.
Hat jemand vielleicht eine Erklärung was da los sein könnte?
Btw. wenn ich unsichtbare "x" Tiles drüberlegen, dann funktioniert es komischerweise. Nur ist das keine befriedigende Lösung für mich, da es ja nun mal "normal" funktionieren sollte.