The command window must be dependant on the battler, so this window has to be refreshed every time it's called.
In
Scene_Battle 3 you can find the method
phase3_setup_command_window with :
@actor_command_window.active = true
@actor_command_window.visible = true
The command window becomes visible thanks to those lines, so it has to be refreshed in this method.
Just add before the 2 lines :
@actor_command_window.refresh_weapon_and_shield(@active_battler)
Now you have to create the new method
refresh_weapon_and_shield in the class
Window_Command. The method must just alter the first and third commands, dependant on the battler, then call a refresh.
So you must add in
Window_Command :
def refresh_weapon_and_shield(battler)
@commands[0] = "Attack with " + $data_weapons[battler.weapon_id].name
@commands[2] = "Block with " + $data_armors[battler.armor1_id].name
refresh
end
And if the text is too long for the window's width, you can modify this width in
Scene_Battle 1 ; in
main you can find :
@actor_command_window = Window_Command.new(160, [s1, s2, s3, s4])
Just replace 160 by a bigger value.