¡Bienvenido a Universo Maker!
¿Es esta la primera vez que visitas el foro? Si es así te recomendamos que te registres para tener completo acceso a todas las áreas y secciones del foro, así también podrás participar activamente en la comunidad. Si ya tienes una cuenta, conectate cuanto antes.
Iniciar Sesión Registrarme

No estás conectado. Conéctate o registrate

Ver el tema anterior Ver el tema siguiente Ir abajo Mensaje [Página 1 de 1.]

#1 [VX Ace] Skill's Item Cost v1.1 el Jue Ago 01, 2013 7:03 pm

Reputación del mensaje :100% (1 voto)

youkai

avatar
Pues bueno, lo que hace basicamente es eso...provoca que, si lo deseas, cierta habilidad te pida(ademas de lo que le configures) algun item. Por que para Ace se preguntaran?? Pues es una larga historia...mejor la omito XDDD

Autor: youkai

Change Log:
Código:
         Skill's Item Cost V 1.1

  ○  Corregido el bug que hacia que el script no funcionara con partidas cargadas
  ○  Posibilidad de determinar cual item se desea consumir y cual no para una misma habilidad
  ○  Agregada como determinante para el uso de las habilidades las armaduras equipadas
  ---------------------------------------------------------------------
          Skill's Item Cost V 1.0
  ○  Primera version del script...creada toda la base
  ○  Se hizo la necesidad de items y la posibilidad de determinar si consumirlos
     o no para usar cierta habilidad
Script:
Código:
# $/\$/$/\$/$/\$/$/\$/$/\$/$/\$/$/\$/$/\$/$/\$/$/\$/$/\$/$/\$/$/\$/$/\$/$/\$/$/\
#                           Skill's Item Cost
#          Autor: youkai
#          Version: 1.1
#          Maker: VX Ace
#
# $/\$/$/\$/$/\$/$/\$/$/\$/$/\$/$/\$/$/\$/$/\$/$/\$/$/\$/$/\$/$/\$/$/\$/$/\$/$/\
###########################    Change Log #################################
#          Skill's Item Cost V 1.1
#
#  ○  Corregido el bug que hacia que el script no funcionara con partidas cargadas
#  ○  Posibilidad de determinar cual item se desea consumir y cual no para una
#     misma habilidad
#  ○  Agregada como determinante para el uso de las habilidades las armaduras
#     equipadas
#   ---------------------------------------------------------------------
#          Skill's Item Cost V 1.0
#  ○  Primera version del script...creada toda la base
#  ○  Se hizo la necesidad de items y la posibilidad de determinar si consumirlos
#     o no para usar cierta habilidad
#   ---------------------------------------------------------------------
# $/\$/$/\$/$/\$/$/\$/$/\$/$/\$/$/\$/$/\$/$/\$/$/\$/$/\$/$/\$/$/\$/$/\$/$/\$/$/\

module Youkai

#         Modo de Uso:
# Para agregarle el costo de items a una habilidad es solo agregar dentro de
# Skill_Item_Cost una linea con la siguiente sintaxis:
# ID_Skill => [[Item_ID, Cantidad], [Item_ID, Cantidad], ...],
# Se pueden poner tantos items como se desee.
# Si no se escribe una cantidad en alguno de los items se tomara como que solo
# necesita 1. Tambien para este caso se omiten los corchetes
# Ejemplo:
#  Skill_Item_Cost = {
#  95 => [[1, 1], [4, 5]],
#  86 => [5, [6, 3]], # En este caso particular necesitaria solo 1 item 5 y 3 items 6
#  69 => [6, 7, 1], # Aqui es solo un item de cada ID
#  }
# NOTA: Notece que cuando digo item 5 me refiero a su ID. Al item de ID 5.
# Recuerden la coma al final

  Skill_Item_Cost =
 {
  80 => [[1, 1], [4, 1]],
  81 => [1, 2],
  }
# Esta caracteristica ofrece la posibilidad de pedir como parametro para usar
# cierta habilidad tener equipada determinada armadura. Esta caracteristica si-
# gue la siguiente sintaxis:
#   Skill_Armor_Require = { ID_Skill => [ID_Armadura, ID_Armadura, ...], ..., }
# Puedes agregar tantas armaduras como desees como parametro para usar alguna
# habilidad pero recuerda que solo puedes equiparte 4(los accesorios cuentan
# como armaduras :P)
  Skill_Armor_Require = {
  80 => [1, 2],
  }
# Si deseas que los items se consuman, dar valor true. Si no quieres que se
# consuman, entonces poner false
  Consume_Items = true
# Modificar solo en caso de que Consume_Items sea true. En caso contrario esto no
# tiene ningun efecto.
# Sintaxis:
#   {
#   ID_Skill => [Posicion en el Skill_Item_Cost],
#   }
# Esto lo que provoca es que ahora en lugar de consumirse/no consumirse todos
# los items que requiera dicha habilidad puedes especificar cuales son aquellos
# que quieres que se consuman y cuales no. Por ejemplo:
#   Skill_Item_Cost = { 78 => [[1, 1], [4, 1], 5], }
#
#   Not_Consume = { 78 => [0, 1], }
#
# En este caso, la habilidad 78 solo consumira el 5 ya que has especificado(en
# Not_Consume) que de la lista de items a consumirse, los 2 primeros no se
# consuman(Recuerden que en programacion se empieza a contar de 0)
# Si hubieras puesto 78 => [0, 2] entonces solo se consumiria el item 4...espero
# que se haya entendido :P

  Not_Consume = {
  80 => [1],
  }
#   ---------------NO MODIFICAR A MENOS QUE SEPAS LO QUE HACES------------------
  def self.item_cost
    item = {}
    Skill_Item_Cost.each{|key, value|
    item[key] = []
    value.each{|i|
    if i.is_a?(Array)
      item[key].push([$data_items[i[0]], i[1]])
    else
      item[key].push([$data_items[i], 1])
    end}}
    return item
  end
  
  def self.armor_required
    item = {}
    Skill_Armor_Require.each{|key, value|
    item[key] = []
    value.each{|i|
    item[key].push($data_armors[i])}}
    return item
  end
end

class RPG::Skill < RPG::UsableItem
  def initialize
    super
    @scope = 1
    @stype_id = 1
    @mp_cost = 0
    @tp_cost = 0
    @message1 = ''
    @message2 = ''
    @required_wtype_id1 = 0
    @required_wtype_id2 = 0
    @required_atypes = []
    @required_items = []
  end
  attr_accessor :stype_id
  attr_accessor :mp_cost
  attr_accessor :tp_cost
  attr_accessor :message1
  attr_accessor :message2
  attr_accessor :required_wtype_id1
  attr_accessor :required_wtype_id2
  attr_accessor :required_atypes
  attr_accessor :required_items
end

class Scene_Title < Scene_Base
  alias skill_itemcost_create_command_window create_command_window
  def create_command_window
    skill_itemcost_create_command_window
    Youkai.item_cost.each{|key, value|
    $data_skills[key].required_items = value}
    Youkai.armor_required.each{|key, value|
    $data_skills[key].required_atypes = value}
  end
end

class Game_Actor < Game_Battler
  def skill_items_ok?(skill)
    items = skill.required_items
    return true if items.nil? || items.empty?
    items.each{|i|
   return false if $game_party.item_number(i[0]) < i[1]}
    return true
  end
  
  def skill_atype_ok?(skill)
    a = skill.required_atypes
    return true if a.nil? || a.empty?
    a.each {|armor|
   return false unless armors.include?(armor)}
    return true
  end
end

class Game_BattlerBase
  def skill_conditions_met?(skill)
    usable_item_conditions_met?(skill) &&
    skill_wtype_ok?(skill) && skill_cost_payable?(skill) &&
    !skill_sealed?(skill.id) && !skill_type_sealed?(skill.stype_id) &&
    skill_items_ok?(skill) && skill_atype_ok?(skill)
  end
  
  def skill_items_ok?(skill)
    return true
  end
  
  def skill_atype_ok?(skill)
    return true
  end
  
  alias skill_item_cost_pay_skill_cost pay_skill_cost
  def pay_skill_cost(skill)
    unless (skill.required_items.nil? || skill.required_items.empty?) ||
      !Youkai::Consume_Items
      unless Youkai::Not_Consume.include?(skill.id)
        Youkai::Not_Consume[skill.id].each{|i| skill.required_items.delete_at(i)} if Youkai::Not_Consume[skill.id]
        skill.required_items.each{|i| next unless i[0].is_a?(RPG::Item)
        $game_party.lose_item(i[0], i[1])}
      end
    end
    skill_item_cost_pay_skill_cost(skill)
  end
end
Por favor si encuentran algun bug me lo reportan que no he tenido mucho tiempo para probarlo profundamente...
Saludos,
¥oukai



Última edición por youkai el Mar Sep 03, 2013 4:11 pm, editado 3 veces

#2 Re: [VX Ace] Skill's Item Cost v1.1 el Jue Ago 01, 2013 10:36 pm

Aarl

avatar
¡Fantástico aporte! Este script es bien útil. ¡Y es una buena vuelta a la vida forera! xD

¡+2 Makedas para ti, Youkai!

Saludos~

#3 Re: [VX Ace] Skill's Item Cost v1.1 el Mar Sep 03, 2013 4:03 pm

youkai

avatar
Acrualizado el script!!! Leer los cambios en el change log:
Código:
          Skill's Item Cost V 1.1

  ○  Corregido el bug que hacia que el script no funcionara con partidas cargadas
  ○  Posibilidad de determinar cual item se desea consumir y cual no para una
    misma habilidad
  ○  Agregada como determinante para el uso de las habilidades las armaduras
    equipadas
  ---------------------------------------------------------------------
          Skill's Item Cost V 1.0
  ○  Primera version del script...creada toda la base
  ○  Se hizo la necesidad de items y la posibilidad de determinar si consumirlos
    o no para usar cierta habilidad

#4 Re: [VX Ace] Skill's Item Cost v1.1 el Mar Sep 03, 2013 4:09 pm

rpgmanumaker

avatar
Tal vez me esté equivocando... pero creo que te has equivocado al postear la script...
O sea, si la comparo con la que tengo yo... que fue la primera que pusiste... como que falta un poco del script, ¿no?...

#5 Re: [VX Ace] Skill's Item Cost v1.1 el Mar Sep 03, 2013 4:13 pm

youkai

avatar
Si en efecto...me cogiste cuando estaba cambiando el post XDDDD Lo que no se por que razon me registro una parte del post nada mas :S...y bueno comentaste justo cuando lo estaba corrigiendo XD
Saludos,
¥oukai

#6 Re: [VX Ace] Skill's Item Cost v1.1 el Mar Sep 03, 2013 6:32 pm

rpgmanumaker

avatar
Ya veo. Bueno, parece que has mejorado mucho el script, muchas gracias por tu esfuerzo =).
Y a ver si haces más cositas para el ace... que no todo tiene que ser XP XDD.
En fin, a ver si te acuerdas de que existo... y me contesta al PM que te mandé... al menos para decirme si puedes o no hacerlo... Es para postearlo por algún lado y que otro modifique el script =)...
En fin, gracias por el script, siempre se aprecia una segunda versión y la corrección de errores.

Contenido patrocinado


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

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