Mundo Maker
¡Bienvenid@ a Mundo Maker!

¿Quieres aprender todo sobre el RPG Maker?



Regístrate y forma parte de Mundo Maker.
Conectarse

Recuperar mi contraseña

Temas importantes
----------------------------------------
Páginas con recursos RPG Maker
----------------------------------------
----------------------------------------
----------------------------------------
----------------------------------------
----------------------------------------
----------------------------------------
----------------------------------------
----------------------------------------
----------------------------------------
Afiliados
Estadísticas
Tenemos 4075 miembros registrados.
El último usuario registrado es chuwakal.

Nuestros miembros han publicado un total de 84153 mensajes en 11990 argumentos.

Scene Shop Opacity

Ver el tema anterior Ver el tema siguiente Ir abajo

RPG Maker VX ACE Scene Shop Opacity

Mensaje por HUNTER MAKER el 2012-05-23, 17:09

Bueno Hice mi Script 100% Oficial Mio xD Bueno lo unico que hace es Mostrar el Scene Shop
en Opacity

Instrucciones:
Pegar encima de Main

Creditos:Los Creditos no son necesarios ya que podria hacerlo cualquiera que sepa
un Poco de RGSS.

Screens:


Script:
Código:
#==============================================================================
#Scene Shop By:HUNTER
#Creditos:Los Creditos son como Ustedes quieren Yo no obligo a nadie a dar
#creditos pero me parece un Buen acto dar creditos al Autor Original.
#-----------------------------------------------------------------------------
class Scene_Shop < Scene_MenuBase
  #--------------------------------------------------------------------------
  def prepare(goods, purchase_only)
    @goods = goods
    @purchase_only = purchase_only
  end
  #--------------------------------------------------------------------------
  def start
    super
    create_help_window
    @help_window.opacity = 0
    create_gold_window
    @gold_window.opacity = 0
    create_command_window
    @command_window.opacity = 0
    create_dummy_window
    @dummy_window.opacity = 0
    create_number_window
    create_status_window
    @status_window.opacity = 0
    create_buy_window
    @buy_window.opacity = 0
    create_category_window
    @category_window.opacity = 0
    create_sell_window
    @sell_window.opacity = 0
    end
  #--------------------------------------------------------------------------
  def create_gold_window
    @gold_window = Window_Gold.new
    @gold_window.viewport = @viewport
    @gold_window.x = Graphics.width - @gold_window.width
    @gold_window.y = @help_window.height
  end
  #--------------------------------------------------------------------------
  def create_command_window
    @command_window = Window_ShopCommand.new(@gold_window.x, @purchase_only)
    @command_window.viewport = @viewport
    @command_window.y = @help_window.height
    @command_window.set_handler(:buy,    method(:command_buy))
    @command_window.set_handler(:sell,  method(:command_sell))
    @command_window.set_handler(:cancel, method(:return_scene))
  end
  #--------------------------------------------------------------------------
  def create_dummy_window
    wy = @command_window.y + @command_window.height
    wh = Graphics.height - wy
    @dummy_window = Window_Base.new(0, wy, Graphics.width, wh)
    @dummy_window.viewport = @viewport
  end
  #--------------------------------------------------------------------------
  def create_number_window
    wy = @dummy_window.y
    wh = @dummy_window.height
    @number_window = Window_ShopNumber.new(0, wy, wh)
    @number_window.viewport = @viewport
    @number_window.hide
    @number_window.set_handler(:ok,    method(:on_number_ok))
    @number_window.set_handler(:cancel, method(:on_number_cancel))
  end
  #--------------------------------------------------------------------------
  def create_status_window
    wx = @number_window.width
    wy = @dummy_window.y
    ww = Graphics.width - wx
    wh = @dummy_window.height
    @status_window = Window_ShopStatus.new(wx, wy, ww, wh)
    @status_window.viewport = @viewport
    @status_window.hide
  end
  #--------------------------------------------------------------------------
  def create_buy_window
    wy = @dummy_window.y
    wh = @dummy_window.height
    @buy_window = Window_ShopBuy.new(0, wy, wh, @goods)
    @buy_window.viewport = @viewport
    @buy_window.help_window = @help_window
    @buy_window.status_window = @status_window
    @buy_window.hide
    @buy_window.set_handler(:ok,    method(:on_buy_ok))
    @buy_window.set_handler(:cancel, method(:on_buy_cancel))
  end
  #--------------------------------------------------------------------------
  def create_category_window
    @category_window = Window_ItemCategory.new
    @category_window.viewport = @viewport
    @category_window.help_window = @help_window
    @category_window.y = @dummy_window.y
    @category_window.hide.deactivate
    @category_window.set_handler(:ok,    method(:on_category_ok))
    @category_window.set_handler(:cancel, method(:on_category_cancel))
  end
  #--------------------------------------------------------------------------
  def create_sell_window
    wy = @category_window.y + @category_window.height
    wh = Graphics.height - wy
    @sell_window = Window_ShopSell.new(0, wy, Graphics.width, wh)
    @sell_window.viewport = @viewport
    @sell_window.help_window = @help_window
    @sell_window.hide
    @sell_window.set_handler(:ok,    method(:on_sell_ok))
    @sell_window.set_handler(:cancel, method(:on_sell_cancel))
    @category_window.item_window = @sell_window
  end
  #--------------------------------------------------------------------------
  def activate_buy_window
    @buy_window.money = money
    @buy_window.show.activate
    @status_window.show
  end
  #--------------------------------------------------------------------------
  def activate_sell_window
    @category_window.show
    @sell_window.refresh
    @sell_window.show.activate
    @status_window.hide
  end
  #--------------------------------------------------------------------------
  def command_buy
    @dummy_window.hide
    activate_buy_window
  end
  #--------------------------------------------------------------------------
  def command_sell
    @dummy_window.hide
    @category_window.show.activate
    @sell_window.show
    @sell_window.unselect
    @sell_window.refresh
  end
  #--------------------------------------------------------------------------
  def on_buy_ok
    @item = @buy_window.item
    @buy_window.hide
    @number_window.set(@item, max_buy, buying_price, currency_unit)
    @number_window.show.activate
  end
  #--------------------------------------------------------------------------
  def on_buy_cancel
    @command_window.activate
    @dummy_window.show
    @buy_window.hide
    @status_window.hide
    @status_window.item = nil
    @help_window.clear
  end
  #--------------------------------------------------------------------------
  def on_category_ok
    activate_sell_window
    @sell_window.select(0)
  end
  #--------------------------------------------------------------------------
  def on_category_cancel
    @command_window.activate
    @dummy_window.show
    @category_window.hide
    @sell_window.hide
  end
  #--------------------------------------------------------------------------
  def on_sell_ok
    @item = @sell_window.item
    @status_window.item = @item
    @category_window.hide
    @sell_window.hide
    @number_window.set(@item, max_sell, selling_price, currency_unit)
    @number_window.show.activate
    @status_window.show
  end
  #--------------------------------------------------------------------------
  def on_sell_cancel
    @sell_window.unselect
    @category_window.activate
    @status_window.item = nil
    @help_window.clear
  end
  #--------------------------------------------------------------------------
  def on_number_ok
    Sound.play_shop
    case @command_window.current_symbol
    when :buy
      do_buy(@number_window.number)
    when :sell
      do_sell(@number_window.number)
    end
    end_number_input
    @gold_window.refresh
    @status_window.refresh
  end
  #--------------------------------------------------------------------------
  def on_number_cancel
    Sound.play_cancel
    end_number_input
  end
  #--------------------------------------------------------------------------
  def do_buy(number)
    $game_party.lose_gold(number * buying_price)
    $game_party.gain_item(@item, number)
  end
  #--------------------------------------------------------------------------
  def do_sell(number)
    $game_party.gain_gold(number * selling_price)
    $game_party.lose_item(@item, number)
  end
  #--------------------------------------------------------------------------
  def end_number_input
    @number_window.hide
    case @command_window.current_symbol
    when :buy
      activate_buy_window
    when :sell
      activate_sell_window
    end
  end
  #--------------------------------------------------------------------------
  def max_buy
    max = $game_party.max_item_number(@item) - $game_party.item_number(@item)
    buying_price == 0 ? max : [max, money / buying_price].min
  end
  #--------------------------------------------------------------------------
  def max_sell
    $game_party.item_number(@item)
  end
  #--------------------------------------------------------------------------
  def money
    @gold_window.value
  end
  #--------------------------------------------------------------------------
  def currency_unit
    @gold_window.currency_unit
  end

  #--------------------------------------------------------------------------
  def buying_price
    @buy_window.price(@item)
  end
  #--------------------------------------------------------------------------
  def selling_price
    @item.price / 2
  end
end
################################################################################
#Fin

Un Cordial Saludo.
avatar
HUNTER MAKER
Soñador
Soñador

0/3

Créditos 125

Gracias : 5

http://www.hunter-maker.net/

Volver arriba Ir abajo

RPG Maker VX ACE Re: Scene Shop Opacity

Mensaje por Mukadelheid el 2012-05-23, 17:42

Podrías aprender a utilizar un poco el "alias".

Con aquello puedes "acortar" un poquito un edit.

Ese codigo tuyo puede ser reducido a esto;

Código:
class Scene_Shop < Scene_MenuBase
  alias start_opacity start
  def start
    super
    create_help_window
    @help_window.opacity = 0
    create_gold_window
    @gold_window.opacity = 0
    create_command_window
    @command_window.opacity = 0
    create_dummy_window
    @dummy_window.opacity = 0
    create_number_window
    create_status_window
    @status_window.opacity = 0
    create_buy_window
    @buy_window.opacity = 0
    create_category_window
    @category_window.opacity = 0
    create_sell_window
    @sell_window.opacity = 0
  end
  end

Hace lo mismo.

Así te ahorras errores y fluidez.
avatar
Mukadelheid
Principiante
Principiante

0/3

Créditos 334

Gracias : 28

Volver arriba Ir abajo

RPG Maker VX ACE Re: Scene Shop Opacity

Mensaje por HUNTER MAKER el 2012-05-23, 17:48

Haaa Gracias Muka e Aprendido algo mas Sobre el RGSS 3
Aun estoy aprendiendo asi que querria ver el Efecto que tenia
el Scene Shop un Saludo.

Por haora e aprendido Lo Basico de RGSS 3 y me las Apaño
pasando Scripts del VX al VX ACE. Very Happy
avatar
HUNTER MAKER
Soñador
Soñador

0/3

Créditos 125

Gracias : 5

http://www.hunter-maker.net/

Volver arriba Ir abajo

RPG Maker VX ACE Re: Scene Shop Opacity

Mensaje por Contenido patrocinado


Contenido patrocinado


Volver arriba Ir abajo

Ver el tema anterior Ver el tema siguiente Volver arriba


Permisos de este foro:
No puedes responder a temas en este foro.