Nun, das komplette Skript umfasst einige mehr Funktionieren, aber schau es dir mal an Code: class Window_CharacterCommand < Window_MenuCommand def make_command_list add_command("Name ändern", :name) add_command("Klasse bearbeiten", :class) add_command("Level ändern", :level) add_command("Skills bearbeiten", :skills) add_command("heilen", :heal) add_command("Status hinzufügen/entfernen", :stats) end end class Window_DebugClass < Window_Command def make_command_list for i in 1...$data_actors.size name = $data_classes[i].name text = sprintf("%s", name) add_command(text, :switch, true, i) end end end class Window_Level < Window_Command def make_command_list add_command("< >", :switch) end def update super update_tone update_open if @opening update_close if @closing if Input.repeat?(:RIGHT) call_handler(:right) end if Input.repeat?(:LEFT) call_handler(:left) end end end class Window_DebugSkill < Window_SkillList def col_max return 1 end def enable?(item) return true end def include?(item) return true end def make_item_list @data = $data_skills end end class Window_DebugStates < Window_SkillList def col_max return 1 end def enable?(item) return true end def include?(item) return true end def make_item_list @data = $data_states end def draw_item(index) state = @data[index] if state rect = item_rect(index) rect.width -= 4 draw_item_name(state, rect.x, rect.y, enable?(state)) infl = inflicted?(state) ? "[ON]" : "[OFF]" draw_text(item_rect_for_text(index), infl, 2) end end def inflicted?(state) return @actor.state?(state) end end class Scene_Character < Scene_Status def start super @status_window = Window_Status.new(@actor) @status_window.set_handler(:pagedown, method(:next_actor)) @status_window.set_handler(:pageup, method(:prev_actor)) @status_window.refresh @command_window = Window_CharacterCommand.new @command_window.x = 350 @command_window.y = 200 @command_window.width = 290 @command_window.set_handler(:name, method(:command_change_name)) @command_window.set_handler(:class, method(:command_change_class)) @command_window.set_handler(:level, method(:command_change_level)) @command_window.set_handler(:skills, method(:command_edit_skills)) @command_window.set_handler(:heal, method(:command_heal)) @command_window.set_handler(:stats, method(:command_edit_states)) @command_window.set_handler(:cancel, method(:return_scene)) @command_window.refresh @class_window = Window_DebugClass.new(100, 100) @class_window.hide @level_window = Window_Level.new(300, 200) @level_window.hide @skill_window = Window_DebugSkill.new(100, 100, 400, 480) @skill_window.hide @states_window = Window_DebugStates.new(100, 300, 250, 250) @states_window.hide @states_window.set_handler(:ok, method(:on_state_ok)) @states_window.set_handler(:cancel, method(:on_state_cancel)) end def command_change_name SceneManager.call(Scene_Name) SceneManager.scene.prepare(@actor, 10) end def command_change_class @class_window = Window_DebugClass.new(100, 40) @class_window.width = 250 @class_window.set_handler(:ok, method(:on_class_ok)) @class_window.set_handler(:cancel, method(:on_class_cancel)) @class_window.activate @class_window.refresh end def command_change_level @level_window = Window_Level.new(100, 100) @level_window.set_handler(:ok, method(:on_level_cancel)) @level_window.set_handler(:cancel, method(:on_level_cancel)) @level_window.set_handler(:left, method(:decrease_level)) @level_window.set_handler(:right, method(:increase_level)) @level_window.activate @level_window.refresh end def command_edit_skills @skill_window = Window_DebugSkill.new(100, 0, 400, 400) @skill_window.actor = @actor @skill_window.set_handler(:ok, method(:on_skill_ok)) @skill_window.set_handler(:cancel, method(:on_skill_cancel)) @skill_window.activate @skill_window.refresh @skill_window.select(1) end def command_change_equip end def command_heal @actor.recover_all @command_window.refresh @command_window.activate @status_window.refresh end def command_edit_states @states_window = Window_DebugStates.new(100, 120, 250, 250) @states_window.actor = @actor @states_window.set_handler(:ok, method(:on_state_ok)) @states_window.set_handler(:cancel, method(:on_state_cancel)) @states_window.activate @states_window.refresh @states_window.select(1) end def on_class_ok cl = @class_window.index + 1 @actor.change_class(cl) @class_window.hide @command_window.activate @status_window.refresh end def on_class_cancel @command_window.activate @class_window.hide end def on_level_cancel @level_window.hide @command_window.activate @status_window.refresh end def decrease_level @actor.level_down @status_window.refresh end def increase_level @actor.level_up @status_window.refresh end def on_skill_ok @actor.learn_skill(@skill_window.index) @skill_window.refresh @skill_window.activate @status_window.refresh end def on_skill_cancel @skill_window.hide @command_window.activate @status_window.refresh end def on_state_ok state_id = @states_window.index if (4 < 2) @actor.remove_state(state_id) else @actor.add_state(state_id) end #@states_window.select(@states_window.index) @states_window.refresh #@status_window.refresh @states_window.activate end def on_state_cancel @states_window.hide @command_window.activate @status_window.refresh end end
class Window_CharacterCommand < Window_MenuCommand def make_command_list add_command("Name ändern", :name) add_command("Klasse bearbeiten", :class) add_command("Level ändern", :level) add_command("Skills bearbeiten", :skills) add_command("heilen", :heal) add_command("Status hinzufügen/entfernen", :stats) end end class Window_DebugClass < Window_Command def make_command_list for i in 1...$data_actors.size name = $data_classes[i].name text = sprintf("%s", name) add_command(text, :switch, true, i) end end end class Window_Level < Window_Command def make_command_list add_command("< >", :switch) end def update super update_tone update_open if @opening update_close if @closing if Input.repeat?(:RIGHT) call_handler(:right) end if Input.repeat?(:LEFT) call_handler(:left) end end end class Window_DebugSkill < Window_SkillList def col_max return 1 end def enable?(item) return true end def include?(item) return true end def make_item_list @data = $data_skills end end class Window_DebugStates < Window_SkillList def col_max return 1 end def enable?(item) return true end def include?(item) return true end def make_item_list @data = $data_states end def draw_item(index) state = @data[index] if state rect = item_rect(index) rect.width -= 4 draw_item_name(state, rect.x, rect.y, enable?(state)) infl = inflicted?(state) ? "[ON]" : "[OFF]" draw_text(item_rect_for_text(index), infl, 2) end end def inflicted?(state) return @actor.state?(state) end end class Scene_Character < Scene_Status def start super @status_window = Window_Status.new(@actor) @status_window.set_handler(:pagedown, method(:next_actor)) @status_window.set_handler(:pageup, method(:prev_actor)) @status_window.refresh @command_window = Window_CharacterCommand.new @command_window.x = 350 @command_window.y = 200 @command_window.width = 290 @command_window.set_handler(:name, method(:command_change_name)) @command_window.set_handler(:class, method(:command_change_class)) @command_window.set_handler(:level, method(:command_change_level)) @command_window.set_handler(:skills, method(:command_edit_skills)) @command_window.set_handler(:heal, method(:command_heal)) @command_window.set_handler(:stats, method(:command_edit_states)) @command_window.set_handler(:cancel, method(:return_scene)) @command_window.refresh @class_window = Window_DebugClass.new(100, 100) @class_window.hide @level_window = Window_Level.new(300, 200) @level_window.hide @skill_window = Window_DebugSkill.new(100, 100, 400, 480) @skill_window.hide @states_window = Window_DebugStates.new(100, 300, 250, 250) @states_window.hide @states_window.set_handler(:ok, method(:on_state_ok)) @states_window.set_handler(:cancel, method(:on_state_cancel)) end def command_change_name SceneManager.call(Scene_Name) SceneManager.scene.prepare(@actor, 10) end def command_change_class @class_window = Window_DebugClass.new(100, 40) @class_window.width = 250 @class_window.set_handler(:ok, method(:on_class_ok)) @class_window.set_handler(:cancel, method(:on_class_cancel)) @class_window.activate @class_window.refresh end def command_change_level @level_window = Window_Level.new(100, 100) @level_window.set_handler(:ok, method(:on_level_cancel)) @level_window.set_handler(:cancel, method(:on_level_cancel)) @level_window.set_handler(:left, method(:decrease_level)) @level_window.set_handler(:right, method(:increase_level)) @level_window.activate @level_window.refresh end def command_edit_skills @skill_window = Window_DebugSkill.new(100, 0, 400, 400) @skill_window.actor = @actor @skill_window.set_handler(:ok, method(:on_skill_ok)) @skill_window.set_handler(:cancel, method(:on_skill_cancel)) @skill_window.activate @skill_window.refresh @skill_window.select(1) end def command_change_equip end def command_heal @actor.recover_all @command_window.refresh @command_window.activate @status_window.refresh end def command_edit_states @states_window = Window_DebugStates.new(100, 120, 250, 250) @states_window.actor = @actor @states_window.set_handler(:ok, method(:on_state_ok)) @states_window.set_handler(:cancel, method(:on_state_cancel)) @states_window.activate @states_window.refresh @states_window.select(1) end def on_class_ok cl = @class_window.index + 1 @actor.change_class(cl) @class_window.hide @command_window.activate @status_window.refresh end def on_class_cancel @command_window.activate @class_window.hide end def on_level_cancel @level_window.hide @command_window.activate @status_window.refresh end def decrease_level @actor.level_down @status_window.refresh end def increase_level @actor.level_up @status_window.refresh end def on_skill_ok @actor.learn_skill(@skill_window.index) @skill_window.refresh @skill_window.activate @status_window.refresh end def on_skill_cancel @skill_window.hide @command_window.activate @status_window.refresh end def on_state_ok state_id = @states_window.index if (4 < 2) @actor.remove_state(state_id) else @actor.add_state(state_id) end #@states_window.select(@states_window.index) @states_window.refresh #@status_window.refresh @states_window.activate end def on_state_cancel @states_window.hide @command_window.activate @status_window.refresh end end
--Facebook Maker: VX Ace Projekt: Hyperverse Theory (Fantasy-SciFi RPG) Status: nur Planung
Foren-Regeln