Últimos temas
» Batallas Pokemon
por maxlobo Hoy a las 7:47 am

» Complecsua
por MoonSoldierMx Ayer a las 12:20 am

» Readvin 1 y 2
por Muzgar Dom Nov 19, 2017 7:42 pm

» Busco ayuda para mi juego, no importa la edad
por Muzgar Dom Nov 19, 2017 3:16 pm

» [VXACE] Las Esferas de Capricornia. Actualizado 17.11.17
por Pocari Dom Nov 19, 2017 12:31 am

» [Vx/Ace] Pack Bioma de Miel
por YggdrasilHerald Vie Nov 17, 2017 4:00 am

» La Historia Infinita (DEMO)
por Chaskarron Miér Nov 15, 2017 12:36 am

» [MV+Completo]Al Ataque - Derrotemos a nuestros enemigos
por hikarukurenai Mar Nov 14, 2017 8:07 pm

» Dekar Chronicles
por KRiZaLiD Mar Nov 14, 2017 7:43 pm

» [Sugerencia] Buenas practicas
por Alojzy Lun Nov 13, 2017 9:56 pm

» [Ace]Script día/noche + reloj
por JAMSDream Dom Nov 12, 2017 1:52 am

» "La tribu" demo
por Chaskarron Vie Nov 10, 2017 10:57 pm


KBlueMage XP

Ver el tema anterior Ver el tema siguiente Ir abajo

KBlueMage XP

Mensaje por kyonides el Vie Jul 14, 2017 1:39 am

KBlueMage XP
v 1.2.1
por Kyonides-Arkanthos
 
Con este sencillo script podrán hacer que los héroes que Uds. escojan puedan aprender habilidades a lo mago azul de Final Fantasy. Solo hay que modificar los valores de unas cuantas Constantes y eso es todo.

Esta versión permite aprender siempre las habilidades sin importar su sistema de batallas, pero el aviso en forma de ventana solo estará disponible para el Sistema de Batallas por Defecto de XP.

Lo interesante es que les permite utilizar estados o states para no permitirle al mago azul que aprenda las habilidades por estar "enfermo". Si no les gusta o no necesitan esta opción, la pueden deshabilitar en la Constante STATESSTOPBML.

BLUEMAGES sirva para definir a los magos azules por medio de los IDs de actores.

BLUEMAGIC sirve para definir las habilidades que pueden aprender los magos azules al ser víctimas de estas la primera vez. 0 es el valor para todas las habilidades, los demás valores (uno tras otro separados por comas) son para esas habilidades únicamente.

NOBMLEARNING sirve para evitar que del todo aprendan ciertas habilidades, como la de algún jefe me imagino yo.

ANTIBMSTATES sirve para definir los estados o states que pueden impedir el aprendizaje de técnicas.

BMLEARNED está ahí para indicar en una ventana el aviso del aprendizaje de x habilidad. (Esto último es para el Sistema de Batallas de XP solamente).
 
Desde la versión 1.1


IGNORESUCCESSRATES les permite mantener la capacidad de siempre aprender una técnica (true) o de empezar a creer en la suerte (false o nil).

SUCCESSRATES les permite configurar entre qué niveles se va a tener cierto porcentaje de éxito en el aprendizaje de una técnica que los haya golpeado, IGNORESUCCESSRATES debe ser igual a false o nil si desean que se utilice esto.

Ejemplo:
SUCCESSRATES = {1..12 => 25}

Indica que entre el primer y el doceavo nivel se tiene una tasa de éxito del 25%.
El porcentaje SIEMPRE debe ser un múltiplo de 5.
 
Desde la Versión 1.2


IGNOREACCESSORIES les permite mantener la capacidad de aprender una técnica sin utilizar un accesorio específico o pueden deshabilitar esta Constante para exigirle que lo equipe al menos en determinados casos desde antes de que pueda ser golpeado por dicha técnica.

ACCESSORIES les permite configurar qué accesorios les permitirán aprender ciertas técnicas. Si no aparece un accesorio, entonces se podrá aprender la técnica normalmente. Sin embargo, si está deshabilitada la constante IGNORESUCCESSRATES, o sea, que habilitaron lo de contar suerte para aprenderla, igual no aprenderían la técnica si no tuvieron esa suerte necesaria para hacerlo.

Versión 1.2.1


Código:
#  KBlueMage XP - Default BS Version
#  v 1.2.1 - 2012-12-23
#  v 1.0   - 2012-08-26
#  Scripter: Kyonides-Arkanthos

#  No script call needed

module BlueSys
  # Hero IDs - They will learn skills right after being hit by them
  BLUEMAGES = [8]
  # Skill IDs - 0 : all IDs, any other number : those skills can be learned
  BLUEMAGIC = [0]
  # Skill IDs - Any number : Blue mages cannot learn them
  NOBMLEARNING = []
  # State IDs - States that may prevent blue mages from learning skills
  ANTIBMSTATES = []#[3, 6, 12]
  # Boolean (true or false) - States may prevent you from learning skills
  STATESTOPBML = false#true
  # String - Tell the player that he or she learned a new skill
  BMLEARNED = ' aprendió la habilidad de '
  # This version of my script adds the possibility of failing to learn a skill
  # Set to true if you want to always learn the skill, false if you feel lucky
  IGNORESUCCESSRATES = false
  # How probable is it for the Blue Mage to learn a skill after being hit
  # First Level..Last Level => Multiples of 5
  SUCCESSRATES = { 1..9 => 15, 10..21 => 20,
    22..38 => 25, 39..62 => 30,
    63..87 => 35, 88..100 => 40 }
  # NO NEED TO EQUIP ACCESSORIES to allow BM to learn some skills: true or false
  IGNOREACCESSORIES = false
  # Accessory ID => Array of Skill IDs
  ACCESSORIES = { 28 => [8, 11] }
  @bmlearned = [] # Leave It Alone!!
  def self.learned_skill(actor_name, skill)
    @bmlearned << [actor_name, $data_skills[skill].name]
  end

  def self.new_skills; @bmlearned end

  def self.clear_skills; @bmlearned.clear end
end

class Array
  def shuffle
    hsh = {}
    self.size.times {|n| index = rand(1000000)
      index = !hsh.keys.include?(index)? n : n + rand(1000000)
      hsh[index] = self[n] }
    hsh.values
  end

  def shuffle!() self[0..-1] = self.shuffle end
end

class Game_Actor
  alias kyon_blue_magic_gm_act_sk_eff skill_effect
  def skill_effect(user, skill)
    effective = kyon_blue_magic_gm_act_sk_eff(user, skill)
    afflicted = antibluemagic_states?
    learn_blue_magic(skill, afflicted, effective)
    return effective
  end

  def antibluemagic_states?
    return false if @states.empty? or !BlueSys::STATESTOPBML
    afflicted = @states.map {|s| break if BlueSys::ANTIBMSTATES.include?(s)}
    return afflicted.nil?
  end

  def learn_blue_magic(skill, afflicted, effective)
    if !afflicted and effective and BlueSys::BLUEMAGES.include?(self.id) and
        (BlueSys::BLUEMAGIC.include?(skill.id) or BlueSys::BLUEMAGIC[0] == 0)
      return if BlueSys::NOBMLEARNING.include?(skill.id)
      unless BlueSys::IGNORESUCCESSRATES
        key = BlueSys::SUCCESSRATES.keys.select {|k| k.include?(@level) }[0]
        success = [true] * (BlueSys::SUCCESSRATES[key] / 5)
        success += [nil] * (20 - success.size)
        success = success[rand(20)]
        return unless success
      end
      unless BlueSys::IGNOREACCESSORIES
        req = BlueSys::ACCESSORIES.select{|a, s| s.include?(skill.id)}.flatten
        armorid_ok = req.empty? ? nil : req[0] == @armor4_id
        return unless req.empty? or armorid_ok
      end
      learned = learn_skill(skill.id)
      BlueSys.learned_skill(self.name, skill.id) if learned
    end
  end
end

class Scene_Battle
  alias kyon_blue_magic_sc_bat_up_ph4_s6 update_phase4_step6
  def update_phase4_step6
    if @wait_count > 0
      @wait_count -= 1
      return
    end
    unless BlueSys.new_skills.empty?
      name, skill = BlueSys.new_skills.shift
      @help_window.set_text(name + BlueSys::BMLEARNED + skill, 1)
      @help_window.visible = true if !@help_window.visible
      @wait_count = 60
    end
    return if @wait_count > 0
    kyon_blue_magic_sc_bat_up_ph4_s6
  end
end


kyonides
PJ de Quest
PJ de Quest

Masculino
Costa Rica
RPG Maker : Xp
Mensajes : 54
Monedas : 168
Reputación : 1

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.