PortyGames Generation


 
IndiceÍndiceGaleríaFAQMiembrosBuscarPacksRegistrarseDonacionesConectarse
¡Buenas Invitado, Juega a los videojuegos gratuitos creados por otros PortyGamers!
¡Buenas Invitado, Lee online y totalmente gratis nuestra revista sobre PortyGames!
¡Buenas Invitado, Busca el programa más adecuado para crear tus propios videojuegos!
¡Buenas Invitado, Lee y aprende de los tutoriales de PortyGamers más avanzados!
Conectarse
Nombre de Usuario:
Contraseña:
Entrar automáticamente en cada visita: 
:: Recuperar mi contraseña
Últimos temas
» PortyGames generation cumple 2 años
por Zangetsu Dom Nov 13, 2011 1:02 am

» sugerencia publicidad
por Zangetsu Dom Nov 13, 2011 1:01 am

» PortyGamees aplica soluciones para soportar su crisis...
por Zangetsu Dom Nov 13, 2011 12:59 am

» Baja de ranking
por exellomas Dom Oct 23, 2011 8:06 pm

» wizard101 music xd
por Zangetsu Jue Sep 22, 2011 1:43 pm

» 6 curiosidades sobre la vida de Steve Jobs
por Zangetsu Jue Sep 15, 2011 7:35 pm

» Taller De Charsets Rpg maker 2000/2003
por HollowMaker Jue Ago 25, 2011 1:16 pm

» un pixelart
por Pokaranero Miér Jul 27, 2011 5:14 pm

» Almohadazo
por exellomas Mar Jul 26, 2011 1:07 am

» EmuPack
por Emmet Dom Jul 10, 2011 3:45 pm


CaosG Asistencia ForoActivo Foros Metal Slug FC Anime Supremo No Fansub Good Area




Comparte | 
 

 Inventario Avanzado

Ver el tema anterior Ver el tema siguiente Ir abajo 
AutorMensaje
Zangetsu
Moderador
Moderador


Especialidad : Mapeador

Masculino

Sagitario Serpiente
Mensajes : 461
Monedas : 1036
Reputación : 6
Edad : 27

MensajeTema: Inventario Avanzado   Jue Nov 25, 2010 8:17 pm

Crea un inventario dividido en categorias personalizables.

Autor: Dark Chocobo
Versión: ????
Plataforma: RPG Maker VX


Código:
=begin
[  ===================================================================  ]
[  ===================================================================  ]
[  =============  ]        SCRIPT CREADO POR:      [  =============  ]
[  =============  ]                                [  =============  ]
[  =============  ]        >>> Dark Chocobo        [  =============  ]
[  =============  ]                                [  =============  ]
[  =============  ]                                [  =============  ]
[  =============  ]        > Menú Objetos <        [  =============  ]
[  =============  ]                                [  =============  ]
[  ===================================================================  ]
[  ============  ]  Más scripts de Dark Chocobo en: [  ============  ]
[  ============  ]  DarkChocoboScripts.4shared.com  [  ============  ]
[  ===================================================================  ]
[  ===============  ] : Comunidad RPG Maker VX : [    ==============  ]
[  =====  ] http://www.orkut.com/Community.aspx?cmm=40232098 [  ====  ]
[  ===================================================================  ]
[  ===================================================================  ]

Resumen:
- Crea un menú de objetos más complejo dividido por categorías de objetos y
  con opciones de descarte de objetos y organización.
Instrucciones:
- Puedes renombrar las opciones en las líneas 33 a 36.
- Puedes configurar la velocidad con la que el menú pasa entre las
  categorias y las opciones en la línea 37.
=end

 # Crea las configuraciones iniciales del script.
 $DarkChocoboScripts = {} if $DarkChocoboScripts.nil?
 $DarkChocoboScripts["Menu de Itens"] = {}
 $DarkChocoboScripts["Menu de Itens"]["Categorias"] = []
 $DarkChocoboScripts["Menu de Itens"]["Categorias"][0] = "General"
 $DarkChocoboScripts["Menu de Itens"]["Categorias"][1] = "Raros"
 $DarkChocoboScripts["Menu de Itens"]["Categorias"][2] = "Equipo"
 $DarkChocoboScripts["Menu de Itens"]["Categorias"][3] = "Todos"
 $DarkChocoboScripts["Menu de Itens"]["Speed"] = 2 # Velocidad de cambio de menú de categorías a menu de opciones (1~5)
 
class DC_Menu_de_Itens_Check
 def draw_item?(item, index)
  return true unless $scene.is_a?(Scene_Item)
  case index
  when 0
    return false unless item.is_a?(RPG::Item)
    return item.consumable
  when 1
    return false unless item.is_a?(RPG::Item)
    return item.price == 0
  when 2
    return true unless item.is_a?(RPG::Item)
    return false
  else
    return true
  end
 end
end
$DarkChocoboScripts["Menu de Itens"]["Check"] = DC_Menu_de_Itens_Check.new
class Scene_Item < Scene_Base
 def return_scene
  @item_window.active = false
  @item_window.index = -1
  @command_window.active = true
 end
 alias dc_menu_de_itens_start start
 def start
  dc_menu_de_itens_start
  @item_window.active = false
  @command_window = Window_Command.new(544, ["Usar", "Descartar", "Organizar"], 3)
  @command_window.active = false
  @command_window.y = 112
  @command_window.height = 0
  @command_window.viewport = @viewport
  @category_window = Window_Command.new(544, $DarkChocoboScripts["Menu de Itens"]["Categorias"], $DarkChocoboScripts["Menu de Itens"]["Categorias"].size)
  @category_window.y = 56
  @item_window.y += 56
  @item_window.height -= 56
  @item_window.index = -1
  @item_window.refresh(@category_window.index)
 end
 alias dc_menu_de_itens_terminate terminate
 def terminate
  dc_menu_de_itens_terminate
  @category_window.dispose
  @command_window.dispose
 end
 alias dc_menu_de_itens_update update
 def update
  dc_menu_de_itens_update
  refresh_item_window = @category_window.index
  @category_window.update
  @item_window.refresh(@category_window.index) if refresh_item_window != @category_window.index
  @command_window.update
  if @category_window.active
    dc_update_category_selection
  elsif @command_window.active
    dc_update_command_selection
  end
 end
 def update_item_selection
  if Input.trigger?(Input::B)
    Sound.play_cancel
    return_scene
  elsif Input.trigger?(Input::C)
    @item = @item_window.item
    if @item != nil
      $game_party.last_item_id = @item.id
    end
    if @command_window.index == 0
      if $game_party.item_can_use?(@item)
        Sound.play_decision
        determine_item
      else
        Sound.play_buzzer
      end
    elsif @command_window.index == 1
      discart_item
    end
  end
 end
 def discart_item
  if @item_window.item == nil
    Sound.play_buzzer
    return
  end
  $game_party.gain_item(@item_window.item, -1)
  Audio.se_play("Audio/SE/Equip", 70, 100)
  @item_window.refresh(@category_window.index)
 end
 def dc_update_category_selection
  if Input.trigger?(Input::C)
    Sound.play_decision
    loop do
      Graphics.update
      @category_window.height -= $DarkChocoboScripts["Menu de Itens"]["Speed"]
      @command_window.height += $DarkChocoboScripts["Menu de Itens"]["Speed"]
      @command_window.y -= $DarkChocoboScripts["Menu de Itens"]["Speed"]
      break if @command_window.height >= 56 or @category_window.height <= 0
    end
    @command_window.height = 56
    @command_window.y = 56
    @command_window.active = true
    @category_window.height = 0
    @category_window.active = false
  elsif Input.trigger?(Input::B)
    Sound.play_cancel
    $scene = Scene_Menu.new(0)
  end
 end
 def dc_update_command_selection
  if Input.trigger?(Input::B)
    Sound.play_cancel
    loop do
      Graphics.update
      @category_window.height += $DarkChocoboScripts["Menu de Itens"]["Speed"]
      @command_window.height -= $DarkChocoboScripts["Menu de Itens"]["Speed"]
      @command_window.y += $DarkChocoboScripts["Menu de Itens"]["Speed"]
      break if @command_window.height <= 0 or @category_window.height >= 56
    end
    @command_window.height = 0
    @command_window.y = 118
    @command_window.active = false
    @category_window.height = 56
    @category_window.active = true
  elsif Input.trigger?(Input::C)
    Sound.play_decision
    case @command_window.index
    when 0, 1
      @item_window.active = true
      @item_window.index = 0
      @command_window.active = false
    when 2
      $game_party.dc_sort_items
      @item_window.refresh(@category_window.index)
    end
  end
 end
end
class Window_Item < Window_Selectable
 def refresh(index = nil)
  @data = []
  for item in $game_party.dc_item_order#items
    unless $scene.is_a?(Scene_Item)
      next unless include?(item)
      @data.push(item)
      next
    end
    if $DarkChocoboScripts["Menu de Itens"]["Check"].draw_item?(item, index)
      @data.push(item)
    end
    if item.is_a?(RPG::Item) and item.id == $game_party.last_item_id then self.index = @data.size - 1 end
  end
  @data.push(nil) if include?(nil)
  @item_max = @data.size
  create_contents
  for i in 0...@item_max
    draw_item(i)
  end
 end
end
class Game_Party < Game_Unit
 alias dc_menu_de_itens_initialize initialize
 def initialize
  dc_menu_de_itens_initialize
  @dc_item_order = []
 end
 def dc_item_order
  return @dc_item_order
 end
 def gain_item(item, n, include_equip = false)
  number = item_number(item)
  case item
  when RPG::Item
    if @items[item.id] == 0 or @items[item.id] == nil then @dc_item_order.push(item) end
    @items[item.id] = [[number + n, 0].max, 99].min
    if @items[item.id] == 0 or @items[item.id] == nil then @dc_item_order.delete(item) end
  when RPG::Weapon
    if @weapons[item.id] == 0 or @weapons[item.id] == nil then @dc_item_order.push(item) end
    @weapons[item.id] = [[number + n, 0].max, 99].min
    if @weapons[item.id] == 0 or @weapons[item.id] == nil then @dc_item_order.delete(item) end
  when RPG::Armor
    if @armors[item.id] == 0 or @armors[item.id] == nil then @dc_item_order.push(item) end
    @armors[item.id] = [[number + n, 0].max, 99].min
    if @armors[item.id] == 0 or @armors[item.id] == nil then @dc_item_order.delete(item) end
  end
  n += number
  if include_equip and n < 0
    for actor in members
      while n < 0 and actor.equips.include?(item)
        actor.discard_equip(item)
        n += 1
      end
    end
  end
 end
 def dc_sort_items
  @dc_item_order = items
 end
end



INSTRUCCIONES

Colócalo sobre MAIN. Para personalizarlo, lee el principio del script, todo viene explicado.

SCREEN



Volver arriba Ir abajo
http://zangetsu57.wordpress.com/
exellomas
Miembro Prestigioso
Miembro Prestigioso
avatar

Especialidad : Jugador

Masculino

Tauro Tigre
Mensajes : 638
Monedas : 1138
Reputación : 6
Edad : 19
Localización : En la casa de caperuzita verde
Empleo /Ocio : crear juegos rol o juegos de plataforma sin pago

MensajeTema: Re: Inventario Avanzado   Vie Nov 26, 2010 1:02 am

Gracias por el aporte Very Happy
Volver arriba Ir abajo
http://ciudad-rpg-maker.foroactivo.com
 

Inventario Avanzado

Ver el tema anterior Ver el tema siguiente Volver arriba 
Página 1 de 1.

Permisos de este foro:No puedes responder a temas en este foro.
PortyGames Generation :: Categoria de Ayuda y Tutoriales :: Sección de Scripting-