RPG maker VX


Unirse al foro, es rápido y fácil

RPG maker VX
RPG maker VX
¿Quieres reaccionar a este mensaje? Regístrate en el foro con unos pocos clics o inicia sesión para continuar.
Últimos temas
» Script de menu
por maxi Jue 04 Dic 2014, 1:44 pm

» Ayuda intro animado!!!
por maxi Miér 03 Dic 2014, 9:41 pm

» ayuda con este engin
por maxi Miér 03 Dic 2014, 8:42 am

» Hud de Vida 100% Personalizable - Engine Sencillo! Sin Scripts :)
por davidaikago Jue 20 Nov 2014, 10:58 am

» Ultimate parallax control by:GDS [ace]
por arellano Miér 08 Oct 2014, 8:28 pm

» Script Touhou (animated) Map name (v1.4)
por davidaikago Miér 08 Oct 2014, 2:09 pm

» tutorial puerta nueva
por davidaikago Miér 08 Oct 2014, 9:08 am

» cámara de fotos
por davidaikago Miér 08 Oct 2014, 9:05 am

» Imperial Action System II Demo
por davidaikago Miér 08 Oct 2014, 8:47 am

» VE Batalla animada [ACE]
por FhierusIV Jue 18 Sep 2014, 10:57 am

» Nuevo Reglamento del Foro [Vigente desde Septiembre 2014]
por maxi Miér 17 Sep 2014, 8:37 am

» MOG|Animated Title
por Souta21 Mar 09 Sep 2014, 7:24 pm

» Tutorial Engine - Cambiar Character al Equipar Objeto
por maxi Lun 21 Jul 2014, 10:19 am

» Script de climas
por gambasoxd Sáb 19 Jul 2014, 8:58 am

» Script de contraseña(codigo) para abrir un cofre
por rpgame Jue 03 Jul 2014, 6:03 pm

¿Quién está en línea?
En total hay 1 usuario en línea: 0 Registrados, 0 Ocultos y 1 Invitado

Ninguno

[ Ver toda la lista ]


El record de usuarios en línea fue de 117 durante el Mar 09 Ago 2011, 3:39 pm

Script para limite de peso

3 participantes

Ir abajo

Script para limite de peso  Empty Script para limite de peso

Mensaje por colbi Vie 16 Nov 2012, 6:23 pm

Pues eso, busco script para el limite de peso k puedas llevar, es decir k cada objeto tenga su peso y haya un limite.
lo intente con variables pero me daba muchos problemas
colbi
colbi
15
15

Masculino

Edad 35

Cantidad de envíos 21

Maker Cash 31

Reputación 1


Volver arriba Ir abajo

Script para limite de peso  Empty Re: Script para limite de peso

Mensaje por Mike_182 Vie 16 Nov 2012, 7:05 pm

Especifica para que maker lo necesitas.
Te dejo el de Ace:
[Tienes que estar registrado y conectado para ver este vínculo]
Mike_182
Mike_182
Super Moderador
Super Moderador

Masculino

Edad 28

Cantidad de envíos 814

Maker Cash 1041

Reputación 150


Extras
Sobre mí::

Volver arriba Ir abajo

Script para limite de peso  Empty para el vx

Mensaje por colbi Vie 16 Nov 2012, 7:20 pm

cierto, lo tendre en cuenta pa la proxima.
lo estoy buscando para el vx, pero gracias de todas formas.
tambien busco k sea compatible con el sistema de batalla tankentai(nose muy bien como funciona todo esto de las compatibilidades), kiza sea muxo pedir, de todas formas cualkiera k aya para el vx supongo servira
colbi
colbi
15
15

Masculino

Edad 35

Cantidad de envíos 21

Maker Cash 31

Reputación 1


Volver arriba Ir abajo

Script para limite de peso  Empty Re: Script para limite de peso

Mensaje por luistop12 Vie 16 Nov 2012, 9:34 pm

Para Vx es este [Tienes que estar registrado y conectado para ver este vínculo] trata de especificar la proxima vez y suerte
luistop12
luistop12
500
500

Masculino

Edad 33

Cantidad de envíos 759

Maker Cash 944

Reputación 42


Volver arriba Ir abajo

Script para limite de peso  Empty Re: Script para limite de peso

Mensaje por colbi Lun 19 Nov 2012, 8:43 pm

perfecto el script, es lo k keria y mas. lo de los baules tambien lo keria y me va a venir muu bien.
muuchas gracias.

x cierto sabes si se puede cambiar durante el juego el limite de peso? en plan yamar un script
colbi
colbi
15
15

Masculino

Edad 35

Cantidad de envíos 21

Maker Cash 31

Reputación 1


Volver arriba Ir abajo

Script para limite de peso  Empty Re: Script para limite de peso

Mensaje por luistop12 Jue 22 Nov 2012, 12:58 pm

Mmmmm eso no lo sé, pero ojala te valla bien y te alla servido el script ^-^
luistop12
luistop12
500
500

Masculino

Edad 33

Cantidad de envíos 759

Maker Cash 944

Reputación 42


Volver arriba Ir abajo

Script para limite de peso  Empty Re: Script para limite de peso

Mensaje por colbi Vie 23 Nov 2012, 3:18 pm

Pues en principio me servia y mucho, el script tiene de todo. Pero ahora e decidido cambiar al ACE para mi proyecto (lo cual no tengo muy claro pero weno).
De todas formas gracias y ahi keda por si otra persona lo kiere.

X cierto Mike, probe tu script para Ace y no me iba, puede k iziera algo mal o no supiera usarlo. el caso es k consegui otro tambien para el Ace, lo dejo x aki x si a alguien le interesa

esta en español


Código:
#=======================================================
# Lune Item Weight
# Autor : Raizen
#=======================================================

module Lune_Weight
#=============================================================================#
#========================= Configuraciones Generales ==============================#
#=============================================================================#

# Para configurar el peso de un objeto, basta con ir a la base de datos,
# en el espacio de notas y poner:
# <peso n>, donde n es el valor del peso.

# Para que un objeto sea imposible de tirar basta con colocar
# en las notas:
# <keyitem>

# En caso de que no haya notas
# el script pondra el valor por defecto:
Default = 50

# Coloque el peso para cada moneda que tenga:
Gold = 1

# Recibir objetos cuando esta sobrecargado?
# Para evitar perdidas de objetos importantes puede habilitar esta opcion que permitira
# que el personaje siga recibiendo objetos aun cuando anda sobre el limite de peso total.
# true = recibe, false = no recibe
Receive = true

# En caso de que quede como true puedes hacer que el heroe se trabe estando encima del peso
# hasta que aliviane la carga: true=si, false=no
Travar = true

# Escoja una variable que recibira el peso cargado.
Var_C = 5
# Escoja una variable que recibira el peso maximo.
Var_M = 6
# A partir de esas 2 variables puedes crear varios engines

LimiteB = 8000 # Configure solo si esta usando el script Lune_vault
#=============================================================================#
#===================== Configuraciones del limite de peso =======================#
#=============================================================================#

# Para indicar que el valor a ser cargado es solo la fuerza del actor principal
# coloque :for1
# Para indicar que el valor a ser cargado es la sumatoria de todas las fuerzas, coloque
# :all_for
# Para indicar que el valor a ser cargado es solo  el nivel del actor principal
#, coloque :lvl1
# Para indicar que el valor a ser cargado es la sumatoria de todos los niveles, coloque
# :all_lvl
# Para indicar que es una variable coloque :var
# Para indicar que es un número fijo coloque :fix

# Ejemplo: Carry_Limit = lvl1
Carry_Limit = :for1

# EN caso de que lo haga de acuerdo a la fuerza o nivel encima, indique
# aqui la formula a ser usada en relación a esto
# donde "at" significa el atributo (nivel o fuerza) que será colocado
# en la formula, por ejemplo.
# Si quiero que el peso sea 2 veces el valor de la fuerza de un personaje colocaria:
# def self.weight_formula(at)
#  at * 2
# end

# Si es una variable coloque la id de la variable o numero fijo

# Ejemplo:

# def self.weight_formula(at)
#  20
# end

# En el caso de arriba, representa que sera la variable 20 y
# el limite del peso sera 20, dependiendo de que fue escogido en
# Carry_Limit


def self.weight_formula(at)
  at * 2 + 1000
end


#===================== Configuraciones del Vocabulario ==========================#
# Siempre escribe entre comillas las configuraciones.
# Unidad de peso
PS = ' Oz'

# Vocabulario en el menú principal y la tienda:
Peso = 'Peso:'
Carregando = 'Cargando: '
Bau = '' # Deja en blanco.

# Vocabulario de la ventana de Objetos.
Usar = 'Usar'
Descartar = 'Descartar'

#=============================================================================#
#========================== Aqui começa o script =============================#
#=============================================================================#

  #--------------------------------------------------------------------------
  # * Calculo do limite de peso
  #--------------------------------------------------------------------------
  def self.weight_limit
    return unless $game_party.members[0]
    case Carry_Limit
    when :for1
      weight = weight_formula($game_party.members[0].param(2))
    when :all_for
      weight = 0
      for members in 0...$game_party.members.size - 1
        weight += weight_formula($game_party.members[members].param(2))
      end
    when :lvl1
      weight = weight_formula($game_party.members[0].level)
    when :all_lvl
      weight = 0
      for members in 0...$game_party.members.size - 1
        weight += weight_formula($game_party.members[members].level)
      end
    when :fix
      weight = weight_formula(0)
    when :var
      weight = $game_variables[weight_formula(0)]
    end
    $game_variables[Var_M] = weight
    weight
  end
end



#==============================================================================
# ** Game_Party
#------------------------------------------------------------------------------
#  Esta classe gerencia o grupo. Contém informações sobre dinheiro, itens.
# A instância desta classe é referenciada por $game_party.
#==============================================================================

class Game_Party < Game_Unit
alias :lune_weight_gain :gain_item
  #--------------------------------------------------------------------------
  # * Quantidade de itens carregados mais os itens equipados
  #--------------------------------------------------------------------------
  def carried_items
    @all_carried_items = 0
    all_items.each {|item| get_weight(item)}
    for i in 0...4
      members.each {|actor| @all_carried_items += calc_weight(actor.equips[i], 1)}
    end
    @all_carried_items += Lune_Weight::Gold * gold/100
    $game_variables[Lune_Weight::Var_C] = @all_carried_items
    @all_carried_items
  end
  #--------------------------------------------------------------------------
  # * Calculo do peso de um item no inventário
  #--------------------------------------------------------------------------
  def get_weight(item)
    if item.note =~ /<peso (.*)>/i
      @all_carried_items += $1.to_i * item_number(item)
    else
      @all_carried_items += Lune_Weight::Default * item_number(item)
    end
  end
  #--------------------------------------------------------------------------
  # * Calculo do peso de um item relativo a quantidade
  #--------------------------------------------------------------------------
  def calc_weight(item, amount)
    return 0 unless item
    if item.note =~ /<peso (.*)>/i
      carried_itens = $1.to_i * amount
    else
      carried_itens = Lune_Weight::Default * amount
    end
    carried_itens
  end
  #--------------------------------------------------------------------------
  # * Acrescentar item (redução)
  #    item          : item
  #    amount        : quantia alterada
  #    include_equip : incluir itens equipados
  #--------------------------------------------------------------------------
  def gain_item(item, amount, include_equip = false)
    if Lune_Weight::Receive
      lune_weight_gain(item, amount, include_equip = false)
      return
    end
    return if item == nil
    weight = calc_weight(item, amount) + carried_items
    while weight > Lune_Weight.weight_limit
      amount -= 1
      weight = calc_weight(item, amount) + carried_items
      return if amount == 0
    end
    lune_weight_gain(item, amount, include_equip = false)
  end
end

#==============================================================================
# ** Scene_Shop
#------------------------------------------------------------------------------
#  Esta classe executa o processamento da tela de loja.
#==============================================================================

class Scene_Shop < Scene_MenuBase
alias :lune_max_buy :max_buy
  #--------------------------------------------------------------------------
  # * Aquisição do número máximo disponível para compra
  #--------------------------------------------------------------------------
  def max_buy
    max = lune_max_buy
    weight = $game_party.calc_weight(@item, max) + $game_party.carried_items
    while weight > Lune_Weight.weight_limit && max > 0
      max -= 1
      weight = $game_party.calc_weight(@item, max) + $game_party.carried_items
    end
    max
  end
  #--------------------------------------------------------------------------
  # * Criação da janela de ajuda.
  #--------------------------------------------------------------------------
  def create_help_window
    @help_window = Window_Weight_Help.new
    @help_window.viewport = @viewport
    @get_item_num = $game_party.carried_items
  end
  #--------------------------------------------------------------------------
  # * Atualização da janela de peso
  #--------------------------------------------------------------------------
  def update
    super
    if @get_item_num != $game_party.carried_items
      @help_window.refresh
      @get_item_num = $game_party.carried_items
    end
  end
end

#==============================================================================
# ** Window_ShopBuy
#------------------------------------------------------------------------------
#  Esta janela exibe bens compráveis na tela de loja.
#==============================================================================

class Window_ShopBuy < Window_Selectable
alias :lune_enable_item :enable?
  #--------------------------------------------------------------------------
  # * Definição de habilitação do item
  #    item : item
  #--------------------------------------------------------------------------
  def enable?(item)
    return false if $game_party.calc_weight(item, 1) + $game_party.carried_items > Lune_Weight.weight_limit
    lune_enable_item(item)
  end
end


#==============================================================================
# ** Window_Help
#------------------------------------------------------------------------------
#  Esta janela exibe explicação de habilidades e itens e outras informações.
#==============================================================================

class Window_Weight_Help < Window_Base
include Lune_Weight
  #--------------------------------------------------------------------------
  # * Inicialização do objeto
  #    line_number : número de linhas
  #--------------------------------------------------------------------------
  def initialize(line_number = 2, bau = false)
    @bau = bau
    super(0, 0, Graphics.width, fitting_height(line_number))
  end
  #--------------------------------------------------------------------------
  # * Configuração de texto
  #    text : texto
  #--------------------------------------------------------------------------
  def set_text(text)
    if text != @text
      @text = text
      refresh
    end
  end
  def on_bau(bau = false)
    @bau = bau
  end
  #--------------------------------------------------------------------------
  # * Limpeza
  #--------------------------------------------------------------------------
  def clear
    set_text("")
  end
  #--------------------------------------------------------------------------
  # * Definição de item
  #    item : habilidades, itens, etc.
  #--------------------------------------------------------------------------
  def set_item(item)
    @item = item
    set_text(item ? item.description : "")
  end
  #--------------------------------------------------------------------------
  # * Renovação
  #--------------------------------------------------------------------------
  def refresh
    contents.clear
    draw_text_ex(4, 0, @text)
    if @item
      text = Peso + $game_party.calc_weight(@item,1).to_s + PS
      draw_text(4, line_height, 200, line_height, text, 0)
      if @bau == true
        LimiteB == "" ? text_lim = "????" : text_lim = LimiteB
        text = Bau + $game_party.items_on_vault.to_s + "/" + text_lim.to_s + PS
      else
        text = Carregando + $game_party.carried_items.to_s + "/" + Lune_Weight.weight_limit.to_s + PS
      end
      draw_text(- 20, line_height, Graphics.width, line_height, text, 2)
    end
  end
end


#==============================================================================
# ** Game_Player
#------------------------------------------------------------------------------
#  Esta classe gerencia o jogador.
# A instância desta classe é referenciada por $game_player.
#==============================================================================

class Game_Player < Game_Character
alias :lune_move_by :move_by_input
  #--------------------------------------------------------------------------
  # * Processamento de movimento através de pressionar tecla
  #--------------------------------------------------------------------------
  def move_by_input
    return if Lune_Weight::Travar && $game_party.carried_items > Lune_Weight.weight_limit
    lune_move_by
  end
end


#==============================================================================
# ** Scene_Item
#------------------------------------------------------------------------------
#  Esta classe executa o processamento da tela de item.
#==============================================================================
class Scene_Item < Scene_ItemBase
alias raizen_combine_start start
  def start
    raizen_combine_start
    @combine_item = Window_Item_Combine.new
    @combine_item.viewport = @viewport
    @combine_item.set_handler(:new_game, method(:command_use))
    @combine_item.set_handler(:continue, method(:command_combine))
  end
  def on_item_ok
    if item == nil
      @item_window.activate
      return
    end
    if @combine_item.close?
      @combine_item.open
      @combine_item.activate
    else
      determine_item   
    end
  end

  def update
    super
    if @number_window and @number_window.nitens == true
        @number_window.nitens = false
        @combine_item.close
        @item_window.refresh
        @help_window.refresh
        @item_window.activate
    end
    if Input.trigger?(:B) and !@combine_item.close?
      Sound.play_cancel
      if @number_window and !@number_window.close?
        @number_window.close
        @combine_item.activate
      else
        @combine_item.close
        @item_window.activate
      end
    end
  end
  def command_use
    determine_item
  end

  def command_combine
    if @number_window and !@number_window.close?
      @combine_item.activate
      return
    end
    @number_window = Window_NumberInputInner.new(Window_Base.new(0,0,0,0), item, @item_window.index)
    @number_window.viewport = @viewport
    @number_window.start
  end
  def create_help_window
    @help_window = Window_Weight_Help.new
    @help_window.viewport = @viewport
  end
end

#==============================================================================
# ** Window_MenuStatus
#------------------------------------------------------------------------------
#  Esta janela exibe os parâmetros dos membros do grupo na tela de menu.
#==============================================================================

class Window_Item_Combine < Window_Command
include Lune_Weight
  #--------------------------------------------------------------------------
  # * Inicialização do objeto
  #--------------------------------------------------------------------------
  def initialize
    super(0, 0)
    self.z = 9999
    self.x = (Graphics.width / 2) - (window_width / 2)
    self.y = Graphics.height / 2
    self.openness = 0
  end
  #--------------------------------------------------------------------------
  # * Aquisição da largura da janela
  #--------------------------------------------------------------------------
  def window_width
    return 160
  end
  #--------------------------------------------------------------------------
  # * Criação da lista de comandos
  #--------------------------------------------------------------------------
  def make_command_list
    add_main_commands

  end
  #--------------------------------------------------------------------------
  # * Adição dos comandos principais
  #--------------------------------------------------------------------------
  def add_main_commands
    add_command(Usar,  :new_game,  true)
    add_command(Descartar,  :continue,  true)
  end
end




#==============================================================================
# ** Scene_ItemBase
#------------------------------------------------------------------------------
#  Esta é a superclasse das classes que executam as telas de itens e
# habilidades.
#==============================================================================

class Scene_ItemBase < Scene_MenuBase
  def determine_item
    @combine_item.close
    if item.is_a?(RPG::Item) and item.for_friend?
      show_sub_window(@actor_window)
      @actor_window.select_for_item(item)
    else
      item.is_a?(RPG::Item) ? use_item : Sound.play_buzzer
      activate_item_window
    end
  end
end

#==============================================================================
# ** Window_NumberInputInner
#------------------------------------------------------------------------------
#  Esta janela é utilizada para o comando de eventos [Armazenar Número]
#==============================================================================

class Window_NumberInputInner < Window_NumberInput
attr_accessor :nitens
def initialize(message_window, item, index_2)
  @index_2 = index_2
  @item = item
  @get_lost_itens = 0
  super(message_window)
end
  #--------------------------------------------------------------------------
  # * Inicialização do processo
  #--------------------------------------------------------------------------
  def start
    @digits_max = 2
    @number = @get_lost_itens
    @number = [[@number, 0].max, 10 ** @digits_max - 1].min
    @index = 0
    update_placement
    create_contents
    refresh
    open
    activate
  end
  #--------------------------------------------------------------------------
  # * Atualização da posição da janela
  #--------------------------------------------------------------------------
  def update_placement
    self.width = @digits_max * 20 + padding * 2
    self.height = fitting_height(1)
    self.x = (Graphics.width - width) / 2
    self.y = Graphics.height/2 - height
    self.z = 150
  end

  #--------------------------------------------------------------------------
  # * Definição de resultado ao pressionar o botão de confirmação
  #--------------------------------------------------------------------------
  def process_ok
    number = $game_party.item_number(@item)
    if @number <= number
      make_icon
    else
      Sound.play_cancel
    end
    deactivate
    @nitens = true
    close
  end
  def make_icon
    @nitens = true
    if @item.note =~ /<keyitem>/
      Sound.play_cancel
    else
      Sound.play_ok
      $game_party.lose_item(@item, @number)
    end
  end
end

#==============================================================================
# ** Window_ItemList
#------------------------------------------------------------------------------
#  Esta janela exibe a lista de itens possuidos na tela de itens.
#==============================================================================

class Window_ItemList < Window_Selectable
  #--------------------------------------------------------------------------
  # * Definição de habilitação do item
  #    item : item
  #--------------------------------------------------------------------------
  def enable?(item)
    true
  end
end

$lune_weight_script = true 
colbi
colbi
15
15

Masculino

Edad 35

Cantidad de envíos 21

Maker Cash 31

Reputación 1


Volver arriba Ir abajo

Script para limite de peso  Empty Re: Script para limite de peso

Mensaje por Contenido patrocinado


Contenido patrocinado


Volver arriba Ir abajo

Volver arriba

- Temas similares

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