UltimaForum

Skrypty [XP] - Trochę inny CMS

PaKiTos - Pią 27 Sie, 2010 09:00
Temat postu: Trochę inny CMS
Uwaga: Trzeba pozmieniać opcje wyjścia z Itemów itp. Bo kolejność jest pomieszana!
Autor: Ja
Opis: Skrypt modyfikuje CMS tak, żeby nie zasłaniał on całkowicie mapki. Jest miejsce na dodatkowe komendy.
Skrypt:
Spoiler:

Kod:
class Scene_Menu
  def initialize(menu_index = 0)
    @menu_index = menu_index
  end
  def main
    @Ked = Spriteset_Map.new
    s1 = $data_system.words.item
    s2 = "Postacie"
    s3 = "Zapis gry"
    s4 = "Koniec"
    @command_window = Window_Command.new(160, [s1, s2, s3, s4])
    @command_window.index = @menu_index
        @command_window.x = 480
    if $game_system.save_disabled
      @command_window.disable_item(2)
    end
    @playtime_window = Window_PlayTime.new
    @playtime_window.x = 480
    @playtime_window.y = 224
    @steps_window = Window_Steps.new
    @steps_window.x = 480
    @steps_window.y = 320
    @gold_window = Window_Gold.new
    @gold_window.x = 480
    @gold_window.y = 416
    Graphics.transition
    loop do
      Graphics.update
      Input.update
      update
      if $scene != self
        break
      end
    end
    Graphics.freeze
    @command_window.dispose
    @playtime_window.dispose
    @steps_window.dispose
    @gold_window.dispose
    @Ked.dispose
  end
  def update
    @command_window.update
    @playtime_window.update
    @steps_window.update
    @gold_window.update
    if @command_window.active
      update_command
      return
    end
    if @status_window.active
      update_status
      return
    end
  end
  def update_command
        if Input.trigger?(Input::B)
      $game_system.se_play($data_system.cancel_se)
      $scene = Scene_Map.new
      return
    end
    if Input.trigger?(Input::C)
      if $game_party.actors.size == 0 and @command_window.index < 4
        $game_system.se_play($data_system.buzzer_se)
        return
      end
      case @command_window.index
      when 0
        $game_system.se_play($data_system.decision_se)
        $scene = Scene_Item.new
            when 1
        $game_system.se_play($data_system.decision_se)
        $scene = Scene_Postacie.new
      when 2
        if $game_system.save_disabled
          $game_system.se_play($data_system.buzzer_se)
          return
        end
        $game_system.se_play($data_system.decision_se)
        $scene = Scene_Save.new
      when 3
        $game_system.se_play($data_system.decision_se)
        $scene = Scene_End.new
      end
      return
    end
  end
  def update_status
    if Input.trigger?(Input::B)
      $game_system.se_play($data_system.cancel_se)
      @command_window.active = true
      @status_window.active = false
      @status_window.index = -1
      return
    end
    end
  end
#
class Scene_Postacie
  def initialize(menu_index = 0)
    @menu_index = menu_index
  end
  def main
    @Ked = Spriteset_Map.new
    s1 = $data_system.words.skill
    s2 = $data_system.words.equip
    s3 = "Statystyki"
    @command_window = Window_Command.new(160, [s1, s2, s3])
    @command_window.index = @menu_index
        @command_window.x = 480
    if $game_party.actors.size == 0
      @command_window.disable_item(0)
      @command_window.disable_item(1)
      @command_window.disable_item(2)
    end
    @playtime_window = Window_PlayTime.new
    @playtime_window.x = 480
    @playtime_window.y = 224
    @steps_window = Window_Steps.new
    @steps_window.x = 480
    @steps_window.y = 320
    @gold_window = Window_Gold.new
    @gold_window.x = 480
    @gold_window.y = 416
    @status_window = Window_MenuStatus.new
    @status_window.x = 0
    @status_window.y = 0
    Graphics.transition
    loop do
      Graphics.update
      Input.update
      update
      if $scene != self
        break
      end
    end
    Graphics.freeze
    @command_window.dispose
    @playtime_window.dispose
    @steps_window.dispose
    @gold_window.dispose
    @status_window.dispose
    @Ked.dispose
  end
  def update
    @command_window.update
    @playtime_window.update
    @steps_window.update
    @gold_window.update
    @status_window.update
    if @command_window.active
      update_command
      return
    end
    if @status_window.active
      update_status
      return
    end
  end
  def update_command
        if Input.trigger?(Input::B)
      $game_system.se_play($data_system.cancel_se)
      $scene = Scene_Menu.new
      return
    end
    if Input.trigger?(Input::C)
      if $game_party.actors.size == 0 and @command_window.index < 4
        $game_system.se_play($data_system.buzzer_se)
        return
      end
      case @command_window.index
      when 0
        $game_system.se_play($data_system.decision_se)
        @command_window.active = false
        @status_window.active = true
        @status_window.index = 0
      when 1
        $game_system.se_play($data_system.decision_se)
        @command_window.active = false
        @status_window.active = true
        @status_window.index = 0
      when 2
        $game_system.se_play($data_system.decision_se)
        @command_window.active = false
        @status_window.active = true
        @status_window.index = 0
      end
      return
    end
  end
  def update_status
    if Input.trigger?(Input::B)
      $game_system.se_play($data_system.cancel_se)
      @command_window.active = true
      @status_window.active = false
      @status_window.index = -1
      return
    end
    if Input.trigger?(Input::C)
      case @command_window.index
      when 0
        if $game_party.actors[@status_window.index].restriction >= 2
          $game_system.se_play($data_system.buzzer_se)
          return
        end
        $game_system.se_play($data_system.decision_se)
        $scene = Scene_Skill.new(@status_window.index)
      when 1 
        $game_system.se_play($data_system.decision_se)
        $scene = Scene_Equip.new(@status_window.index)
      when 2
        $game_system.se_play($data_system.decision_se)
        $scene = Scene_Status.new(@status_window.index)
      end
      return
    end
  end
  end


kamillo112 - Pią 27 Sie, 2010 09:42

Daj chociaż screen.
FilipsO - Pią 27 Sie, 2010 09:48

Wadą CMS-a jest to że trzeba se samemu dodać opcję zapisu itp.
PaKiTos - Pią 27 Sie, 2010 10:36

Proszę, oto fotki:
Spoiler:


kamillo112 - Pią 27 Sie, 2010 10:40

w 2 screen to miejsce przezroczyste mi nie pasuje a poza tym morze być.
PaKiTos - Pią 27 Sie, 2010 10:47

Mi tam się podoba ;p

Powered by phpBB modified by Przemo © 2003 phpBB Group