Also die einzelnen Menüpunkte findest du in der Methode (create_command_window).
Als erstes werden anhand von Variablen wie s1 oder s2 die Namen der Punkte festgelegt. In dieser Zeile @command_window = Window_Command.new(160, [s1, s2, s3, s4, s5, s6]) wird dann das Fenster erstellt und wie du vllt erkennst werden die variablen, in denen sich die Namen befinden, auch übergeben. Also wenn du s1 aus dieser Zeile löscht kommst du nicht mehr ins Itemmenü.
Darunter befindet sich die Abfrage welche Menüpunkte deaktiiert werden, falls sich keine Charakter in der Truppe befindet.
In der Methode update_command_selection wird dann mit ner Case-Bedingung abgefragt wohin man kommt, wenn man ein Punkt ausgewählt hat und auf A (ist normalerweise Space oder Enter) gedrückt hat.
Jetzt müsste man die jeweilige Bedingung abändern bzw. löschen und die folgenden Bedingungen ebenfalls anpassen. Wenn man Item löscht müsste man die Werte um 1 subtrahieren. Kommt aber noch ein bisschen dazu, wenn es perfekt ablaufen soll.
Übrigens hier ist das Skript ^^: #==============================================================================
# ** Scene_Menu
#------------------------------------------------------------------------------
# This class performs the menu screen processing.
#==============================================================================
class Scene_Menu < Scene_Base
#--------------------------------------------------------------------------
# * Start processing
#--------------------------------------------------------------------------
def start
super
create_menu_background
create_command_window
@gold_window = Window_Gold.new(0, 360)
@gold_window.x = (544 - @gold_window.width) / 2
@gold_window.y = ((416 - @gold_window.height) / 2) + 48
end
#--------------------------------------------------------------------------
# * Termination Processing
#--------------------------------------------------------------------------
def terminate
super
dispose_menu_background
@command_window.dispose
@gold_window.dispose
end
#--------------------------------------------------------------------------
# * Frame Update
#--------------------------------------------------------------------------
def update
super
update_menu_background
@command_window.update
@gold_window.update
update_command_selection if @command_window.active
end
#--------------------------------------------------------------------------
# * Create Command Window
#--------------------------------------------------------------------------
def create_command_window
commands = []
commands[0] = Vocab::item
commands[1] = Vocab::save
commands[2] = Vocab::game_end
@command_window = Window_Command.new(160, commands)
@command_window.index = @menu_index
@command_window.x = (544 - @command_window.width) / 2
@command_window.y = ((416 - @command_window.height) / 2) - 32
# Disable item if number of party members is 0
@command_window.draw_item(0, false) if $game_party.members.size == 0
# Disable save if save is forbidden
@command_window.draw_item(4, false) if $game_system.save_disabled
end
#--------------------------------------------------------------------------
# * Update Command Selection
#--------------------------------------------------------------------------
def update_command_selection
if Input.trigger?(Input::B)
Sound.play_cancel
$scene = Scene_Map.new
elsif Input.trigger?(Input::C)
if $game_party.members.size == 0 and @command_window.index < 1
Sound.play_buzzer
return
elsif $game_system.save_disabled and @command_window.index == 1
Sound.play_buzzer
return
end
Sound.play_decision
case @command_window.index
when 0 # Item
$scene = Scene_Item.new
when 1 # Save
$scene = Scene_File.new(true, false, false)
when 2 # End Game
$scene = Scene_End.new
end
end
end
end
#==============================================================================
# ** Scene_File
#------------------------------------------------------------------------------
# This class performs the save and load screen processing.
#==============================================================================
class Scene_File < Scene_Base
#--------------------------------------------------------------------------
# * Return to Original Screen
#--------------------------------------------------------------------------
def return_scene
if @from_title
$scene = Scene_Title.new
elsif @from_event
$scene = Scene_Map.new
else
$scene = Scene_Menu.new(1)
end
end
end
#==============================================================================
# ** Scene_End
#------------------------------------------------------------------------------
# This class performs game end screen processing.
#==============================================================================
class Scene_End < Scene_Base
#--------------------------------------------------------------------------
# * Return to Original Screen
#--------------------------------------------------------------------------
def return_scene
$scene = Scene_Menu.new(2)
end
end