Anmelden

Archiv verlassen und diese Seite im Standarddesign anzeigen : KS-Tutorials? (XP)



Pinguin mit Brille
09.10.2015, 16:28
Hallo zusammen!

ich bin am überlegen, mein Kampfsystem etwas zu verändern - zumindest optisch, weil ich das KS vom RPGM XP an sich ganz okay finde.
Hat jemand da ein paar Tutorials dazu oder Hinweise, worauf ich achten sollte dabei? Ich finde selber nichts Anständiges ~

Cornix
09.10.2015, 17:32
Das kommt ganz stark darauf an was genau du ändern willst. Das Standard-Kampfsystem ist absolut nicht anpassbar weshalb alles, was über kleine Änderungen hinausgeht, eine Menge Arbeit bedeutet.

Pinguin mit Brille
09.10.2015, 17:38
Alternativer Typo z.B. und andere Textbox-Farben als bei Dialogen~ Ich denke, wenn ich das im Script anpasse sollte sich das ändern lassen oder?

Cornix
09.10.2015, 17:57
Das sollte kein Problem sein. Du musst den Script-Editor öffnen und dich durch die diversen Window_XXX Klassen kämpfen. Suche die Windows die für den Kampf verwendet werden und ändere deren "font" variable.
Hier einmal ein Auszug aus der Klasse Window_Base:


#--------------------------------------------------------------------------
# * Get Normal Text Color
#--------------------------------------------------------------------------
def normal_color
return Color.new(255, 255, 255, 255)
end
#--------------------------------------------------------------------------
# * Get Disabled Text Color
#--------------------------------------------------------------------------
def disabled_color
return Color.new(255, 255, 255, 128)
end
#--------------------------------------------------------------------------
# * Get System Text Color
#--------------------------------------------------------------------------
def system_color
return Color.new(192, 224, 255, 255)
end
#--------------------------------------------------------------------------
# * Get Crisis Text Color
#--------------------------------------------------------------------------
def crisis_color
return Color.new(255, 255, 64, 255)
end
#--------------------------------------------------------------------------
# * Get Knockout Text Color
#--------------------------------------------------------------------------
def knockout_color
return Color.new(255, 64, 0)
end
#--------------------------------------------------------------------------
# * Draw Name
# actor : actor
# x : draw spot x-coordinate
# y : draw spot y-coordinate
#--------------------------------------------------------------------------
def draw_actor_name(actor, x, y)
self.contents.font.color = normal_color
self.contents.draw_text(x, y, 120, 32, actor.name)
end
#--------------------------------------------------------------------------
# * Draw State
# actor : actor
# x : draw spot x-coordinate
# y : draw spot y-coordinate
# width : draw spot width
#--------------------------------------------------------------------------
def draw_actor_state(actor, x, y, width = 120)
text = make_battler_state_text(actor, width, true)
self.contents.font.color = actor.hp == 0 ? knockout_color : normal_color
self.contents.draw_text(x, y, width, 32, text)
end

Wir sehen zuerst mehrere Methoden, welche die Farben definieren, die im Anschluss benutzt werden. Eine Farbe ist jeweils definiert als Rot, Grün, Blau und Alpha (Transparenz) mit Werten zwischen 0 (0%) und 255 (100%).
Danach kommen mehrere Methoden, die benutzt werden um gewisse Informationen zu zeichnen. Wenn wir uns zum Beispiel einmal "draw_actor_name" (wird benutzt um den Namen von Helden zu schreiben) anschauen:

#--------------------------------------------------------------------------
# * Draw Name
# actor : actor
# x : draw spot x-coordinate
# y : draw spot y-coordinate
#--------------------------------------------------------------------------
def draw_actor_name(actor, x, y)
self.contents.font.color = normal_color
self.contents.draw_text(x, y, 120, 32, actor.name)
end
sehen wir, dass der Name immer mit der "normal_color" geschrieben wird. Wenn wir diesen Code zu:

#--------------------------------------------------------------------------
# * Draw Name
# actor : actor
# x : draw spot x-coordinate
# y : draw spot y-coordinate
#--------------------------------------------------------------------------
def draw_actor_name(actor, x, y)
self.contents.font.color = crisis_color
self.contents.draw_text(x, y, 120, 32, actor.name)
end
ändern (also "normal_color" gegen "crisis_color" ausgetauscht) dann sieht das Ergebnis schoneinmal so aus:
http://www2.pic-upload.de/thumb/28531990/image1.png (http://www.pic-upload.de/view-28531990/image1.png.html)
(Der Name ist jetzt immer in Gelb)

Wir können auch noch die Methode "draw_actor_state" ändern zu:

#--------------------------------------------------------------------------
# * Draw State
# actor : actor
# x : draw spot x-coordinate
# y : draw spot y-coordinate
# width : draw spot width
#--------------------------------------------------------------------------
def draw_actor_state(actor, x, y, width = 120)
text = make_battler_state_text(actor, width, true)
self.contents.font.color = Color.new(255, 0, 255) # <- Das ist Rot 100% und Blau 100% => Lila
self.contents.draw_text(x, y, width, 32, text)
end

Dann sieht es während des Kampfes so aus:
http://www2.pic-upload.de/thumb/28531987/image2.png (http://www.pic-upload.de/view-28531987/image2.png.html)



Ich hoffe das hilft dir weiter.

Pinguin mit Brille
09.10.2015, 18:17
Sehr sogar!
Danke dir! :D