Pomogła: 232 razy Dołączyła: 18 Wrz 2007 Posty: 2424
Wysłany: Sob 30 Paź, 2010 14:48
Heh, problem tylko w tym, że wszystkie komendy nie zmieszczą się w jednym rzędzie. Więc są dwa wyjścia - albo dam dwa rzędy poleceń, albo usunę jedną z komend, np. koniec gry (Game End), a w to miejsce dam "Poziom plus". Niemniej jednak rozwiązanie pierwsze wydaje się lepsze. Polskie odpowiedniki "Item", "Skill" itd. są dłuższe, więc można by wprowadzić 7 komend, cztery w górnym i trzy w dolnym rzędzie.
Podmień za Menu jednoosobowe:
Spoiler:
Kod:
#==============================================================================
# Menu Jednoosobowe [VX]
#==============================================================================
# Autor: Matheus2
# Poprawki by Ayene
# Skrypt zmienia menu na jednoosobowe - wyświetlane są dane tylko
# pierwszej osoby w drużynie.
#==============================================================================
module Ayene
# Wyświetla awatar postaci zamiast characters
AWATAR_ZAMIAST_CHARA = true
end
#------------------------------------------------------------------------------#
# Game_Party
#------------------------------------------------------------------------------#
class Game_Party < Game_Unit
MAX_MEMBERS = 1
end
#------------------------------------------------------------------------------#
# Game_Map
#------------------------------------------------------------------------------#
class Game_Map
attr_reader :map_id
def namemap
@name_map = load_data("Data/MapInfos.rvdata")
@name_map[@map_id].name
end
end
#------------------------------------------------------------------------------#
# Window_Status
#------------------------------------------------------------------------------#
class Window_Stats < Window_Base
def initialize(actor)
super(250, 264, 294, 152)
@actor = actor
refresh
end
def terminate
super
dispose_menu_background
@command_window.dispose
@gold_window.dispose
@status_window.dispose
@map_window.dispose
@equips_window.dispose
@time_window.dispose
@stats_window.dispose
end
def update
super
update_menu_background
@command_window.update
@gold_window.update
@status_window.update
@time_window.update
update_command_selection
end
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 < 4
Sound.play_buzzer
return
elsif $game_system.save_disabled and @command_window.index == 4
Sound.play_buzzer
return
end
Sound.play_decision
case @command_window.index
when 0
$scene = Scene_Item.new
when 1
$scene = Scene_Skill.new(0)
when 2
$scene = Scene_Equip.new(0)
when 3
$scene = Scene_Status.new(0)
when 4
$scene = Scene_RequiemUpgrade.new(0)
when 5
$scene = Scene_File.new(true, false, false)
when 6
$scene = Scene_End.new
end
end
end
end
def update
super
update_menu_background
@requiem_upgwindow.update
@requiem_upgcmdwnd.update
if Input.trigger?(Input::B)
Sound.play_cancel
$scene = Scene_Menu.new(4)
elsif Input.trigger?(Input::C)
if @actor.points > 0
Sound.play_decision
else
Sound.play_buzzer
return
end
case @requiem_upgcmdwnd.index
when 0
@actor.points -= 1
@actor.maxhp += 10
when 1
@actor.points -= 1
@actor.maxmp += 10
when 2
@actor.points -= 1
@actor.atk += 1
when 3
@actor.points -= 1
@actor.def += 1
when 4
@actor.points -= 1
@actor.spi += 1
when 5
@actor.points -= 1
@actor.agi += 1
end
end
end
def terminate
super
dispose_menu_background
@requiem_upgwindow.dispose
@requiem_upgcmdwnd.dispose
end
end
#------------------------------------------------------------------------------
class Scene_File < Scene_Base
def return_scene
if @from_title
$scene = Scene_Title.new
elsif @from_event
$scene = Scene_Map.new
else
$scene = Scene_Menu.new(5)
end
end
end
#------------------------------------------------------------------------------
class Scene_End < Scene_Base
def return_scene
$scene = Scene_Menu.new(6)
end
end
# Samowyświetlające się okno - przy każdym następnym awansie okno samo będzie
# się pojawiać
OKNO_UP = true # true / false
end
Points_Gained = 5 # Ilość punktów co poziom
#------------------------------------------------------------------------------
#------------------------------------------------------------------------------
class Game_Actor < Game_Battler
attr_accessor :points
alias requiem_upgwnd_initialize initialize
alias requiem_upgwnd_lvlup level_up
def initialize(actor_id)
requiem_upgwnd_initialize(actor_id)
@points = 0
end
def level_up
requiem_upgwnd_lvlup
@points += Points_Gained
# gdy awans na poziom następuje poprzez bezpośrednie dodanie exp drużynie
if Ayene::OKNO_UP == true
$scene = Scene_RequiemUpgrade.new(0,false) unless $game_temp.in_battle == true
end
end
end
# by Ayene
# okno ze statystykami wyświetla się po walce, gdy ktoś z drużyny ma awans
if Ayene::OKNO_UP == true
class Scene_Battle < Scene_Base
alias ayene_proc_vic process_victory
def process_victory
ayene_proc_vic
if $game_party.members.any? {|actor| actor.points > 0}
$scene = Scene_RequiemUpgrade.new(0,false)
else
battle_end(0)
end
end
end
end
# koniec
#------------------------------------------------------------------------------
class Requiem_UpgradeWindow < Window_Base
def initialize(actor)
super(0,65,320,320)
@actor = actor
update
end
# by Ayene
# Niewielka modyfikacja Window_Help
class Window_Help < Window_Base
def initialize (y = 0, width = 544)
super(0, y, width, WLH + 32)
end
end
# koniec
#------------------------------------------------------------------------------
class Scene_RequiemUpgrade < Scene_Base
# by Ayene
# następny / poprzedni bohater
def next_actor
@actor_index += 1
@actor_index %= $game_party.members.size
if @from_menu == true
$scene = Scene_RequiemUpgrade.new(@actor_index,true)
else
$scene = Scene_RequiemUpgrade.new(@actor_index,false)
end
end
def prev_actor
@actor_index += $game_party.members.size - 1
@actor_index %= $game_party.members.size
if @from_menu == true
$scene = Scene_RequiemUpgrade.new(@actor_index,true)
else
$scene = Scene_RequiemUpgrade.new(@actor_index,false)
end
end
# koniec
def update
super
update_menu_background
@requiem_upgwindow.update
@requiem_upgcmdwnd.update
@help_window.update
if Input.trigger?(Input::B)
Sound.play_cancel
if @from_menu
$scene = Scene_Menu.new(4)
else
$scene = Scene_Map.new
end
# by Ayene
# następny / poprzedni bohater
elsif Input.trigger?(Input::R)
Sound.play_cursor
next_actor
elsif Input.trigger?(Input::L)
Sound.play_cursor
prev_actor
# koniec
elsif Input.trigger?(Input::C)
if @actor.points > 0
Sound.play_decision
else
Sound.play_buzzer
return
end
case @requiem_upgcmdwnd.index
when 0
@actor.points -= 1
@actor.maxhp += 10
when 1
@actor.points -= 1
@actor.maxmp += 10
when 2
@actor.points -= 1
@actor.atk += 1
when 3
@actor.points -= 1
@actor.def += 1
when 4
@actor.points -= 1
@actor.spi += 1
when 5
@actor.points -= 1
@actor.agi += 1
end
end
end
def terminate
super
dispose_menu_background
@requiem_upgwindow.dispose
@requiem_upgcmdwnd.dispose
@help_window.dispose
end
end
#------------------------------------------------------------------------------
class Scene_File < Scene_Base
def return_scene
if @from_title
$scene = Scene_Title.new
elsif @from_event
$scene = Scene_Map.new
else
$scene = Scene_Menu.new(5)
end
end
end
#------------------------------------------------------------------------------
class Scene_End < Scene_Base
def return_scene
$scene = Scene_Menu.new(6)
end
end
Nie możesz pisać nowych tematów Nie możesz odpowiadać w tematach Nie możesz zmieniać swoich postów Nie możesz usuwać swoich postów Nie możesz głosować w ankietach Nie możesz załączać plików na tym forum Możesz ściągać załączniki na tym forum