Плохо! Плохо!:  0
Показано с 1 по 4 из 4

Тема: Synthesis Shop

  1. #1
    Познающий Аватар для 100500
    Информация о пользователе
    Регистрация
    22.05.2011
    Сообщений
    351
    Записей в дневнике
    15
    Репутация: 28 Добавить или отнять репутацию

    Сообщение Synthesis Shop

    Synthesis Shop (VX)
    Автор: Zylos (rmrk.net)


    Описание: скрипт предназначен для создания магазина синтеза, как в Final Fantasy IX. В магазине синтеза игрок может комбинировать за деньги два материала, чтобы создать новый предмет/броню/оружие. Все настройки осуществляются путём внесения данных в поле "Заметки" в базе данных, поэтому в самом скрипте ничего настраивать и ковыряться не нужно.

    Инструкция: скопировать и разместить скрипт в секцию "Материалы", выше Main. Подробная инструкция на русском языке содержится в коде скрипта в виде комментариев.

    Скриншот:
    Спойлер Клик!:


    Скрипт:
    Спойлер Код:
    PHP код:
    #==============================================================================
    #  Synthesis Shop (VX)
    #  Version: 1.0
    #  Author: Zylos (rmrk.net)
    #  Date: February 25, 2011
    #------------------------------------------------------------------------------
    #  Описание:
    #
    #   Этот простой скрипт предназначен для создания магазина синтеза, как в
    #   Final Fantasy IX. В магазине синтеза игрок может комбинировать два 
    #   материала (за деньги), чтобы создать новый предмет/броню/оружие.
    #   Этот скрипт позволяет легко включать и выключать магазин синтеза с помощью
    #   переключателя, настраивать, какие вещи могут быть изготовлены с помощью
    #   синтеза, их стоимость и требуемые для синтеза материалы, просто вводя числа 
    #   в заметки предмета в базе данных. Вам не придётся ничего изменять в скрипте,
    #   кроме выбора переключателя, который вы хотите использовать для включения/вык-
    #   лючения магазина синтеза.
    #
    #------------------------------------------------------------------------------
    #  Инструкции:
    #  
    #     - Разместите скрипт в секцию "Материалы", выше Main.
    #     - Выберите номер переключателя, которым вы будете включать/выключать
    #       магазин синтеза. По умолчанию номер переключателя - 20, и он может быть
    #       изменён (настройки - ниже этой инструкции).
    #     - Выберите или создайте вещи, оружие или броню, которые можно будет 
    #       изготовить в магазине синтеза. В поле Заметки выбранного предмета
    #       (нижний правый угол в базе данных), добавьте следующие данные:
    #    
    #           \cost[] - это цена предмета.
    #           \type1[] - тип материала для первого требуемого предмета.
    #                      0 - для вещи, 1 - для оружия, и 2 - для брони.
    #           \type2[] - тип материала для второго требуемого предмета.
    #                      0 - для вещи, 1 - для оружия, и 2 - для брони.
    #           \id1[] - ID первого требуемого предмета.
    #           \id2[] - ID второго требуемого предмета.
    #
    #     - Например, если вы хотите сделать "Палаш" из двух "Длинных мечей"
    #       за 150 монет (при неизменённой базе данных), вы должны ввести
    #       \cost[150], \type1[1], \type2[1], \id1[2], и \id2[2]. Подобное нужно
    #       сделать для каждого предмета, который можно изготовить в магазине синтеза.
    #     - Чтобы создать магазин синтеза в игре, просто включите переключатель,
    #       который вы выбрали и вызовите обычный магазин, используя только те
    #       товары, которые настроены для синтеза. Не забудьте выключать переключатель
    #       после магазина синтеза! (Иначе все магазины станут магазинами синтеза)
    #
    #==============================================================================

    module Synth_Switch
      
    #============================================================================
      #  ВАЖНО! Редактируйте здесь, чтобы изменить переключатель для вызова
      #  синтеза. Если переключатель выключен, ничего не произойдёт. Если этот
      #  переключатель включен, обычный магазин станет магазином синтеза.
      #
      #  Настраиваемый переключатель:
      #============================================================================
     
      
    Synthesis_Switch 20   #переключатель для синтеза
     
      #============================================================================
      #  Больше ничего трогать не нужно. Все остальные настройки производятся
      #  через базу данных, путём редактирования заметок.
      #============================================================================
    end

    #==============================================================================
    # ** Module RPG
    #------------------------------------------------------------------------------
    #  The coding used in checking the noteboxes of the synthesizable items.
    #==============================================================================

    module RPG  
      
    class BaseItem
        def s_cost    
    # The price of the synthesized good.
          
    @s_cost self.note[/\\COST\[(\d+)\]/i] != nil ? $1.to_i if @s_cost == nil
          
    return @s_cost
        end
        def s_req_1_type    
    # The object type of the first required material.
          
    @s_req_1_type self.note[/\\TYPE1\[(\d+)\]/i] != nil ? $1.to_i if @s_req_1_type == nil
          
    return @s_req_1_type
        end
        def s_req_1_id    
    # The ID of the first required material.
          
    @s_req_1_id self.note[/\\ID1\[(\d+)\]/i] != nil ? $1.to_i if @s_req_1_id == nil
          
    return @s_req_1_id
        end
        def s_req_2_type    
    # The object type of the second required material.
          
    @s_req_2_type self.note[/\\TYPE2\[(\d+)\]/i] != nil ? $1.to_i if @s_req_2_type == nil
          
    return @s_req_2_type
        end
        def s_req_2_id    
    # The ID of the second required material.
          
    @s_req_2_id self.note[/\\ID2\[(\d+)\]/i] != nil ? $1.to_i if @s_req_2_id == nil
          
    return @s_req_2_id
        end
      end
    end

    #==============================================================================
    # ** Scene_Map
    #------------------------------------------------------------------------------
    #  The switch redirecting a normal shop call to a synthesis shop.
    #==============================================================================

    class Scene_Map Scene_Base
      def call_shop
        $game_temp
    .next_scene nil
        
    if $game_switches[Synth_Switch::Synthesis_Switch]
          
    $scene Scene_Synthesis.new
        else
          
    $scene Scene_Shop.new
        
    end
      end
    end

    #==============================================================================
    # ** Window_Base
    #------------------------------------------------------------------------------
    #  Adding a bit to the window base to add transparency to faces.
    #==============================================================================


    #==============================================================================
    # ** Window_SynthBuy
    #------------------------------------------------------------------------------
    #  This window displays the synthesizable goods in the synthesis shop.
    #==============================================================================

    class Window_SynthBuy Window_Selectable
      
    #--------------------------------------------------------------------------
      # * Object Initialization
      #     x : window X coordinate
      #     y : window Y coordinate
      #--------------------------------------------------------------------------
      
    def initialize(xy)
        
    super(xy304232)
        @
    shop_goods $game_temp.shop_goods
        refresh
        self
    .index 0
      end
      
    #--------------------------------------------------------------------------
      # * Get Item
      #--------------------------------------------------------------------------
      
    def item
        
    return @data[self.index]
      
    end
      
    #--------------------------------------------------------------------------
      # * Get Required Material One
      #--------------------------------------------------------------------------
      
    def req1
        type1 
    item.s_req_1_type
        id1 
    item.s_req_1_id
        
    case type1
        when 0
          
    @req1 $data_items[id1]
        
    when 1
          
    @req1 $data_weapons[id1]
        
    when 2
          
    @req1 $data_armors[id1]
        
    end
        
    return @req1
      end
      
    #--------------------------------------------------------------------------
      # * Get Required Material Two
      #--------------------------------------------------------------------------
      
    def req2
        type2 
    item.s_req_2_type
        id2 
    item.s_req_2_id
        
    case type2
        when 0
          
    @req2 $data_items[id2]
        
    when 1
          
    @req2 $data_weapons[id2]
        
    when 2
          
    @req2 $data_armors[id2]
        
    end
        
    return @req2
      end
      
    #--------------------------------------------------------------------------
      # * Refresh
      #--------------------------------------------------------------------------
      
    def refresh
        
    @data = []
        for 
    goods_item in @shop_goods
          
    case goods_item[0]
          
    when 0
            item 
    $data_items[goods_item[1]]
          
    when 1
            item 
    $data_weapons[goods_item[1]]
          
    when 2
            item 
    $data_armors[goods_item[1]]
          
    end
          
    if item != nil
            
    @data.push(item)
          
    end
        end
        
    @item_max = @data.size
        create_contents
        
    for i in 0...@item_max
          draw_item
    (i)
        
    end
      end
      
    #--------------------------------------------------------------------------
      # * Draw Item
      #--------------------------------------------------------------------------
      
    def draw_item(index)
        
    item = @data[index]
        
    number $game_party.item_number(item)
        
    type1 item.s_req_1_type
        id1 
    item.s_req_1_id
        
    case type1
        when 0
          req1 
    $data_items[id1]
        
    when 1
          req1 
    $data_weapons[id1]
        
    when 2
          req1 
    $data_armors[id1]
        
    end
        type2 
    item.s_req_2_type
        id2 
    item.s_req_2_id
        
    case type2
        when 0
          req2 
    $data_items[id2]
        
    when 1
          req2 
    $data_weapons[id2]
        
    when 2
          req2 
    $data_armors[id2]
        
    end
        
    if req1 == req2
          enabled 
    = (item.s_cost <= $game_party.gold and number 99 and $game_party.item_number(req1) > 1)
        else
          
    enabled = (item.s_cost <= $game_party.gold and number 99 and $game_party.item_number(req1) > and $game_party.item_number(req2) > 0)
        
    end
        rect 
    item_rect(index)
        
    self.contents.clear_rect(rect)
        
    draw_item_name(itemrect.xrect.yenabled)
        
    rect.width -= 4
        self
    .contents.draw_text(rectitem.s_cost2)
      
    end
      
    #--------------------------------------------------------------------------
      # * Help Text Update
      #--------------------------------------------------------------------------
      
    def update_help
        
    @help_window.set_text(item == nil "" item.description)
      
    end
    end

    #==============================================================================
    # ** Window_SynthStatus1
    #------------------------------------------------------------------------------
    #  This window displays the current amount of gold, the number of items
    #  possessed, and the number of items currently equiped.
    #==============================================================================

    class Window_SynthStatus1 Window_Base
      
    #--------------------------------------------------------------------------
      # * Object Initialization
      #     x : window X coordinate
      #     y : window Y coordinate
      #--------------------------------------------------------------------------
      
    def initialize(xy)
        
    super(xy240116)
        @
    item nil
        refresh
      end
      
    #--------------------------------------------------------------------------
      # * Refresh
      #--------------------------------------------------------------------------
      
    def refresh
        self
    .contents.clear
        self
    .contents.font.color system_color
        self
    .contents.draw_text(40200WLH*1.5"Деньги")
        
    cd contents.text_size(Vocab::gold).width
        self
    .contents.font.color normal_color
        self
    .contents.draw_text(40200-cd-2WLH*1.5$game_party.gold2)
        
    self.contents.font.color system_color
        self
    .contents.draw_text(40200WLH*1.5Vocab::gold2)
        
    number $game_party.item_number(@item)
        
    self.contents.font.color system_color
        self
    .contents.draw_text(40190WLH*3.5"Имеется")
        
    self.contents.font.color normal_color
        self
    .contents.draw_text(40190WLH*3.5number2)
        
    number2 0
        
    for actor in $game_party.members
          
    if actor.equips.include?(@itemthen number2 number2 1
          end
        end
        self
    .contents.font.color system_color
        self
    .contents.font.color.alpha = @item.is_a?(RPG::Item) ? 128 255
        self
    .contents.draw_text(40190WLH*5.5"Экипировано")
        
    self.contents.font.color normal_color
        self
    .contents.font.color.alpha = @item.is_a?(RPG::Item) ? 128 255
        self
    .contents.draw_text(40190WLH*5.5number22)
      
    end
      
    #--------------------------------------------------------------------------
      # * Set Item
      #--------------------------------------------------------------------------
      
    def item=(item)
        if @
    item != item
          
    @item item
          refresh
        end
      end
    end

    #==============================================================================
    # ** Window_SynthRequire
    #------------------------------------------------------------------------------
    #  This window displays the items necessary to synthesize.
    #==============================================================================

    class Window_SynthRequire Window_Base
      
    #--------------------------------------------------------------------------
      # * Object Initialization
      #     x : window X coordinate
      #     y : window Y coordinate
      #--------------------------------------------------------------------------
      
    def initialize(xy)
        
    super(xy240116)
        @
    item nil
        
    @req1 nil
        
    @req2 nil
        refresh
      end
      
    #--------------------------------------------------------------------------
      # * Refresh
      #--------------------------------------------------------------------------
      
    def refresh
        self
    .contents.clear
        
    if @item != nil
          self
    .contents.font.color system_color
          self
    .contents.draw_text(40200WLH"Требуется")
          
    enabled = ($game_party.item_number(@req1) > 0)
          
    draw_item_name(@req11525enabled)
          
    enabled = @req1==@req2 ? ($game_party.item_number(@req2) > 1) : ($game_party.item_number(@req2) > 0)
          
    draw_item_name(@req21552enabled)
        
    end
      end
      
    #--------------------------------------------------------------------------
      # * Set Item
      #--------------------------------------------------------------------------
      
    def item=(item)
        if @
    item != item
          
    @item item
          type1 
    item.s_req_1_type
          id1 
    item.s_req_1_id
          
    case type1
          when 0
            
    @req1 $data_items[id1]
          
    when 1
            
    @req1 $data_weapons[id1]
          
    when 2
            
    @req1 $data_armors[id1]
          
    end
          type2 
    item.s_req_2_type
          id2 
    item.s_req_2_id
          
    case type2
          when 0
            
    @req2 $data_items[id2]
          
    when 1
            
    @req2 $data_weapons[id2]
          
    when 2
            
    @req2 $data_armors[id2]
          
    end
          refresh
        end
      end
    end

    #==============================================================================
    # ** Window_SynthStatus2
    #------------------------------------------------------------------------------
    #  This displays how much of an improvement or disadvantage the equipment gives
    #  to the individual actors in the current party. If the selection is an item
    #  rather than equipment, then nothing will happen.
    #==============================================================================

    class Window_SynthStatus2 Window_Base
      
    #--------------------------------------------------------------------------
      # * Object Initialization
      #     x : window X coordinate
      #     y : window Y coordinate
      #--------------------------------------------------------------------------
      
    def initialize(xy)
        
    super(xy544128)
        @
    item nil
        refresh
      end
      
    #--------------------------------------------------------------------------
      # * Refresh
      #--------------------------------------------------------------------------
      
    def refresh
        self
    .contents.clear
        
    if @item != nil
          number 
    $game_party.item_number(@item)
          for 
    actor in $game_party.members
            
    #--------------------------------------------------------------------
            # This can be used to center the actor's pictures instead, if it looks
            # awkward with more or less than four actors in a party at one time.
            #--------------------------------------------------------------------
            #o = $game_party.members.size
            #x = ((actor.index+1)*((self.width-32)/o))-(((self.width-32)/o)/2)-48
            
    actor.index*136
            y 
    0
            draw_actor_parameter_change
    (actorxy)
          
    end
        end
      end
      
    #--------------------------------------------------------------------------
      # * Draw Actor's Current Equipment and Parameters
      #     actor : actor
      #     x     : draw spot x-coordinate
      #     y     : draw spot y-coordinate
      #--------------------------------------------------------------------------
      
    def draw_actor_parameter_change(actorxy)
        return if @
    item.is_a?(RPG::Item)
        
    enabled actor.equippable?(@item)
        
    draw_actor_graphic(actor4068)
        
    self.contents.font.color text_color(15)
        
    self.contents.font.color.alpha enabled 180 60
        self
    .contents.draw_text(x+2y+2200WLHactor.name)
        
    self.contents.font.color normal_color
        self
    .contents.font.color.alpha enabled 255 100
        self
    .contents.draw_text(xy200WLHactor.name)
            if @
    item.is_a?(RPG::Weapon)
          
    item1 weaker_weapon(actor)
        
    elsif actor.two_swords_style and @item.kind == 0
          item1 
    nil
        
    else
          
    item1 actor.equips[+ @item.kind]
        
    end
        
    if enabled
          
    if @item.is_a?(RPG::Weapon)
            
    atk1 item1 == nil item1.atk
            atk2 
    = @item == nil : @item.atk
            change 
    atk2 atk1
          
    else
            
    def1 item1 == nil item1.def
            def2 
    = @item == nil : @item.def
            change 
    def2 def1
          end
          self
    .contents.font.color text_color(15)
          
    self.contents.font.color.alpha enabled 180 60
          self
    .contents.draw_text(x7296WLHsprintf("%+d"change), 2)
          if 
    change == 0
            self
    .contents.font.color normal_color
          end
          
    if change 0
            self
    .contents.font.color power_up_color
          end
          
    if change 0
            self
    .contents.font.color power_down_color
          end
          self
    .contents.draw_text(x7096WLHsprintf("%+d"change), 2)
        
    end
      end
      
    #--------------------------------------------------------------------------
      # * Get Weaker Weapon Equipped by the Actor (for dual wielding)
      #     actor : actor
      #--------------------------------------------------------------------------
      
    def weaker_weapon(actor)
        if 
    actor.two_swords_style
          weapon1 
    actor.weapons[0]
          
    weapon2 actor.weapons[1]
          if 
    weapon1 == nil or weapon2 == nil
            
    return nil
          elsif weapon1
    .atk weapon2.atk
            
    return weapon1
          
    else
            return 
    weapon2
          end
        
    else
          return 
    actor.weapons[0]
        
    end
      end
      
    #--------------------------------------------------------------------------
      # * Set Item
      #     item : new item
      #--------------------------------------------------------------------------
      
    def item=(item)
        if @
    item != item
          
    @item item
          refresh
        end
      end
    end

    #==============================================================================
    # ** Window_SynthNumber
    #------------------------------------------------------------------------------
    #  This window is for inputting quantity of items to synthesize on the
    # synth screen.
    #==============================================================================

    class Window_SynthNumber Window_Base
      
    #--------------------------------------------------------------------------
      # * Object Initialization
      #     x : window X coordinate
      #     y : window Y coordinate
      #--------------------------------------------------------------------------
      
    def initialize(xy)
        
    super(xy304232)
        @
    item nil
        
    @max 1
        
    @price 0
        
    @number 1
        
    @req1 nil
        
    @req2 nil
      end
      
    #--------------------------------------------------------------------------
      # * Set Items, Max Quantity, and Price
      #--------------------------------------------------------------------------
      
    def set(itemmaxprice)
        @
    item item
        
    @max max
        
    @price item.s_cost
        type1 
    item.s_req_1_type
        id1 
    item.s_req_1_id
        
    case type1
        when 0
          
    @req1 $data_items[id1]
        
    when 1
          
    @req1 $data_weapons[id1]
        
    when 2
          
    @req1 $data_armors[id1]
        
    end
        type2 
    item.s_req_2_type
        id2 
    item.s_req_2_id
        
    case type2
        when 0
          
    @req2 $data_items[id2]
        
    when 1
          
    @req2 $data_weapons[id2]
        
    when 2
          
    @req2 $data_armors[id2]
        
    end
        
    @number 1
        refresh
      end
      
    #--------------------------------------------------------------------------
      # * Set Inputted Quantity
      #--------------------------------------------------------------------------
      
    def number
        
    return @number
      end
      
    #--------------------------------------------------------------------------
      # * Refresh
      #--------------------------------------------------------------------------
      
    def refresh
        y 
    20
        self
    .contents.clear
        draw_item_name
    (@item0y)
        
    self.contents.font.color normal_color
        self
    .contents.draw_text(212y20WLH"×")
        
    self.contents.draw_text(248y20WLH, @number2)
        
    self.cursor_rect.set(244y28WLH)
        
    self.contents.font.color system_color
        self
    .contents.draw_text(0+ (2.5*WLH), 200WLH"Требуется:")
        
    self.contents.font.color normal_color
        draw_item_name
    (@req110+ (3.5*WLH))
        
    self.contents.draw_text(212+ (3.5*WLH), 20WLH"×")
        
    self.contents.draw_text(248+ (3.5*WLH), 20WLH, @number2)
        
    draw_item_name(@req210+ (4.5*WLH))
        
    self.contents.draw_text(212+ (4.5*WLH), 20WLH"×")
        
    self.contents.draw_text(248+ (4.5*WLH), 20WLH, @number2)
        
    draw_currency_value(@price * @number4+ (6.5*WLH), 264)
      
    end
      
    #--------------------------------------------------------------------------
      # * Frame Update
      #--------------------------------------------------------------------------
      
    def update
        super
        
    if self.active
          last_number 
    = @number
          
    if Input.repeat?(Input::RIGHT) and @number < @max
            
    @number += 1
          end
          
    if Input.repeat?(Input::LEFT) and @number 1
            
    @number -= 1
          end
          
    if Input.repeat?(Input::UP) and @number < @max
            
    @number = [@number 10, @max].min
          end
          
    if Input.repeat?(Input::DOWN) and @number 1
            
    @number = [@number 101].max
          end
          
    if @number != last_number
            Sound
    .play_cursor
            refresh
          end
        end
      end
    end


    #==============================================================================
    # ** Scene_Synthesis
    #------------------------------------------------------------------------------
    #  This class performs the actual synthesis, much like a shop.
    #==============================================================================

    class Scene_Synthesis Scene_Base
      
    #--------------------------------------------------------------------------
      # * Start processing
      #--------------------------------------------------------------------------
      
    def start
        super
        create_menu_background
        
    @help_window Window_Help.new
        @
    buy_window Window_SynthBuy.new(056)
        @
    buy_window.active true
        
    @buy_window.visible true
        
    @buy_window.help_window = @help_window
        
    @number_window Window_SynthNumber.new(056)
        @
    number_window.active false
        
    @number_window.visible false
        
    @status1_window Window_SynthStatus1.new(30456)
        @
    status1_window.item = @buy_window.item
        
    @status1_window.visible true
        
    @status2_window Window_SynthStatus2.new(0288)
        @
    status2_window.item = @buy_window.item
        
    @status2_window.visible true
        
    @require_window Window_SynthRequire.new(304172)
        @
    require_window.visible true
        
    @require_window.item = @buy_window.item
      end
      
    #--------------------------------------------------------------------------
      # * Termination Processing
      #--------------------------------------------------------------------------
      
    def terminate
        super
        dispose_menu_background
        
    @help_window.dispose
        
    @buy_window.dispose
        
    @number_window.dispose
        
    @status1_window.dispose
        
    @status2_window.dispose
        
    @require_window.dispose
      end
      
    #--------------------------------------------------------------------------
      # * Frame Update
      #--------------------------------------------------------------------------
      
    def update
        super
        update_menu_background
        
    @help_window.update
        
    @buy_window.update
        
    @number_window.update
        
    @status1_window.update
        
    @status2_window.update
        
    @require_window.update
        
    if @buy_window.active
          update_buy_selection
        elsif 
    @number_window.active
          update_number_input
        end
      end
      
    #--------------------------------------------------------------------------
      # * Update Buy Item Selection
      #--------------------------------------------------------------------------
      
    def update_buy_selection
        
    @status1_window.item = @buy_window.item
        
    @status2_window.item = @buy_window.item
        
    @require_window.item = @buy_window.item
        
    if Input.trigger?(Input::B)
            
    Sound.play_decision
            $scene 
    Scene_Map.new
        
    end
        
    if Input.trigger?(Input::C)
          @
    item = @buy_window.item
          
    @req1 = @buy_window.req1
          
    @req2 = @buy_window.req2
          
    if @req1 == @req2 and $game_party.item_number(@req1) <= 1
            req3 
    true
          end
          number 
    $game_party.item_number(@item)
          if @
    item == nil or @item.s_cost $game_party.gold or number == 99 or $game_party.item_number(@req1) == or $game_party.item_number(@req2) == or req3 == true
            Sound
    .play_buzzer
          
    else
            
    Sound.play_decision
            max 
    = @item.s_cost == 99 $game_party.gold / @item.s_cost
            
    if @req1 != @req2
              
    if max $game_party.item_number(@req1) or max $game_party.item_number(@req2)
                
    max $game_party.item_number(@req1) <= $game_party.item_number(@req2) ? $game_party.item_number(@req1) : $game_party.item_number(@req2)
              
    end
            
    else
              if 
    max > ($game_party.item_number(@req1)/2)
                
    max = ($game_party.item_number(@req1)/2)
              
    end
            end
            max 
    = [max99 number].min
            
    @buy_window.active false
            
    @buy_window.visible false
            
    @number_window.set(@itemmax, @item.s_cost)
            @
    number_window.active true
            
    @number_window.visible true
          end
        end
      end
      
    #--------------------------------------------------------------------------
      # * Update Number Input
      #--------------------------------------------------------------------------
      
    def update_number_input
        
    if Input.trigger?(Input::B)
          
    cancel_number_input
        elsif Input
    .trigger?(Input::C)
          
    decide_number_input
        end
      end
      
    #--------------------------------------------------------------------------
      # * Cancel Number Input
      #--------------------------------------------------------------------------
      
    def cancel_number_input
        Sound
    .play_cancel
        
    @number_window.active false
        
    @number_window.visible false
        
    @buy_window.active true
        
    @buy_window.visible true
      end
      
    #--------------------------------------------------------------------------
      # * Confirm Number Input
      #--------------------------------------------------------------------------
      
    def decide_number_input
        Sound
    .play_shop
        
    @number_window.active false
        
    @number_window.visible false
        $game_party
    .lose_gold(@number_window.number * @item.s_cost)
        
    $game_party.gain_item(@item, @number_window.number)
        
    $game_party.lose_item(@req1, @number_window.number)
        
    $game_party.lose_item(@req2, @number_window.number)
        @
    buy_window.refresh
        
    @status1_window.refresh
        
    @status2_window.refresh
        
    @require_window.refresh
        
    @buy_window.active true
        
    @buy_window.visible true
      end
    end 


    Демо:
    Synthesis Shop VX Demo.rar

    Пожалуйста, исправьте кто может заголовок темы. А то там два раза [VХ] получилось.
    Последний раз редактировалось 100500; 22.08.2012 в 00:16.

  2. #2

    По умолчанию

    Хорошо!

  3. #3

    По умолчанию

    Алхимия по-моему удобнее и логичнее, чем это.

  4. #4
    Познающий Аватар для 100500
    Информация о пользователе
    Регистрация
    22.05.2011
    Сообщений
    351
    Записей в дневнике
    15
    Репутация: 28 Добавить или отнять репутацию

    По умолчанию

    Цитата Сообщение от Che_Guiltara Посмотреть сообщение
    Алхимия по-моему удобнее и логичнее, чем это.
    Ха, логичнее. Огнестрельное оружие - оно тоже логичнее, чем фаерболы, но тем не менее в играх маги с пистолетами бегают крайне редко.
    В jRPG, как я уже много-много раз говорил, не стоит искать логику. Весь жанр - это сплошная условность. Дело лишь за фантазией.

    ps Заметил, что картинки сдохли. Я это исправлю, только не сию же минуту, а несколько позже. Сейчас нет возможности.

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Социальные закладки

Социальные закладки

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •  
Synthesis Shop