Anmelden

Archiv verlassen und diese Seite im Standarddesign anzeigen : Problem beim anpassen eines Battle-Script



swordman
01.06.2011, 09:28
Hi,
ich probier gerade etwas mit dem RMVX rum und habe jetzt ein Problem bei der Darstellung von dem
Namen des Charakters. Ich benutze Kaduki&Enu Battle-Script und habs angepasst mit folgendem Script zur Dastellung von Faces im Kampf:



#---------------------------------------------------
#Questo script fa visualizzare i face nelle battaglie

#Autore: Ally/Haku

#Istruzioni: Inserite lo script sopra "Material"
#---------------------------------------------------


class Window_Base
def draw_face(face_name, face_index, x, y, size = 100, opacity = 50)
bitmap = Cache.face(face_name)
rect = Rect.new(0, 0, 0, 0)
rect.x = face_index % 4 * 96 + (96 - size) / 2
rect.y = face_index / 4 * 96 + (96 - size) / 2
rect.width = size
rect.height = size
self.contents.blt(x, y, bitmap, rect,opacity)
bitmap.dispose
end
def draw_actor_face(actor, x, y, size = 100, opacity = 50 )
draw_face(actor.face_name, actor.face_index, x, y, size, opacity)
end
end

class Window_BattleStatus

def draw_faces(index)
actor = $game_party.members[index]
draw_actor_face(actor, actor.index * 96 + 2, 0, 96, 200)
end
def draw_item(index)
self.contents.font.color = normal_color
actor = $game_party.members[index]
draw_actor_state(actor, index * 96 + 2, 18, 100)
draw_actor_hp(actor, index * 96 + 2, 56, 100)
draw_actor_mp(actor, index * 96 + 2, 74, 100)
end

def initialize
super(0, 0, 416, 128 )
@column_max = 4
@spacing = 0
refresh
self.active = false
end
def refresh
self.contents.clear
@item_max = $game_party.members.size
for i in 0...@item_max
draw_faces(i)
end
for i in 0...@item_max
draw_item(i)
end
end
end


Ich habe bereits angepasst (In Window_BattleStatus) das der Name des Charakters nicht mehr angezeigt wird. Allerdings wird der blinkende Auswahlbalken noch an der Stelle angezeigt wo der Name wäre. Hat jemand einen Vorschlag wie ich das Problem lösen könnte oder an welcher Stelle ich den draw-Eintrag für den Rahmen finden kann (für mich kommen da das KS-Script und die Window-Einträge in Frage)

faerith
17.06.2011, 18:09
Also ich bin zwar Anfänger mit dem XP-Maker, aber wenn der VX ähnlich ist...
self.active = false läßt darauf schliessen, daß Window_BattleStatus ein Window_Selectable sein soll,
ergo müsste ja das erste item des Windows mit dem Blink-cursor "markiert" sein.

Das hieße für BattleStatus, die Klasse
a) bleibt Window_Selectable => du mußt zu BattleStatus def update_cursor_rect hinzufügen
und die Cursor-Positioin und Form umdefinieren (wenn die def so beim VX heißt)
oder
b) leitet von Window_Base ab => dann müsstest du,wenn ich mich nicht irre, nur die Zeilen self.active=false und
@column_max = 4 entfernen.
Ich hoffe ich konnte dir helfen und hab keinen Quatsch erzählt. ^^