¡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 3397 miembros registrados.
El último usuario registrado es LucasGF.

Nuestros miembros han publicado un total de 79808 mensajes en 11257 argumentos.
Navega con Google Chrome
[DESCARGA]

Problemas con algunas habilidades

 :: RPG Maker :: Ayuda RPG

Ver el tema anterior Ver el tema siguiente Ir abajo

Problemas con algunas habilidades

Mensaje por Quiique el 2012-10-20, 18:35

Como ya sabéis he empezado un proyecto de XP, y tengo unos cuantos problemas, con algunas habilidades, que por ahora las estoy metiendo a base de eventos comunes, pero en algunos casos no tengo ni idea de como hacerlo, dejar de utilizar el maker durante tanto hace que te olvides de TODO.

1) Como hacer un ataque que aturda a un enemigo, aumente las resistencias del usuario y libere a sus aliados de los estados dañinos en los que se encuentras. Hasta aquí, lo que he hecho es aumentar las Resistencias desde la habilidad, y activar un evento común que quite los estados de los aliados, pero ni idea de como hacer el aturdimiento de un enemigo solo, en el mismo ataque.
2) Como hacer un ataque que se cure cada turno, o que aumente sus resistencias,etc ¿Quizá un script?
3) Como hacer que los ataques normales, infrinjan daño normal y daño extra (como si fuera mágico)
4) Un ataque que mate directamente al objetivo, con el condicional de que este por debajo de un % de vida.
5) Hacer un ataque que usado sobre un aliado le cure, y sobre un enemigo le dañe.

Quizá alguna de estas cosas no se pueda hacer, pero si me pudieran ayudar seria de gran ayuda. Además quisiera saber si me pueden decir con seguridad que es cada atributo: Destreza, Magia y Agilidad, porque no estoy seguro de que hacen, porque después hay evasión, precisión y Def Mágica y física.

Me quedo un mensaje algo largo, pero así pongo todas las dudas de una. Gracias de antemano.

Quiique
Novato
Novato

0/3

Créditos 93

Gracias : 2

Volver arriba Ir abajo

Re: Problemas con algunas habilidades

Mensaje por silvanash el 2012-10-20, 18:49

Destreza: influye en la probabilidad de dar un golpe crítico y de acertar golpes en general.
Magia: influye en el daño y resistencia mágicos.
Agilidad: influye en la probabilidad de esquivar un crítico, de esquivar un golpe, y de huir del enemigo.
Evasión: pues eso mismo xD. Intenta no usar atributos muy altos de evasión. Una Eva de +15 ya influye mucho en los combates.
Precisión: pues eso mismo.
Def Mágica: influye en la resistencia a los efectos mágicos. Ten en cuenta que influye en la resistencia a efectos aliados y enemigos. La Def Mágica puede reducir el efecto de habilidades curativas.
Def Física: pues eso mismo. En las batallas, el daño se determina como Daño total de atacante - Def Física/2.

Ahora los otros:
Fuerza: influye en la bonificación sobre el daño base. No entiendo muy bien cómo influye, pero las diferencias se notan.
Ataque: el daño base del arma. Un personaje con una Fuerza de 1 hace sólo el daño base, y los aumentos de fuerza van aumentando ese daño base.


Las habilidades que dices... Pues ni idea xD

silvanash
Aventurero
Aventurero

0/3

Créditos 1417

Gracias : 176

Volver arriba Ir abajo

Re: Problemas con algunas habilidades

Mensaje por Quiique el 2012-10-21, 08:54

Pff, en verdad eso era secundario porque más o menos sabia que era cada cosa, lo que quiera saber son las habilidades, con alguna idea. Quizá se haga con algún scipt mezclado con engine.

Quiique
Novato
Novato

0/3

Créditos 93

Gracias : 2

Volver arriba Ir abajo

Re: Problemas con algunas habilidades

Mensaje por orochii el 2012-10-21, 11:18

1) Como vas está bien. El quitar los estados se hace por medio del evento común, y el daño se hace por medio de la habilidad. La subida de los estados puedes hacerla también dentro del evento común, tan sólo creas un estado especial que suba características (mira como ejemplo el estado "Barrera" que sube la defensa).
Lo único es que dicha habilidad será única para un personaje, porque para determinar quién es el usuario si es más complicado. Pero igual, esa habilidad es como para un casi-LimitBreak xD.

2) Para hacer que el personaje se cure por turno necesitarás un script, yo había hecho uno, que lo que hacía era modificar la forma en que funcionaban los estados de daño progresivo (permitía cambiar el %, pudiendo poner un valor negativo y por consiguiente recuperar). Puedes encontrarlo aquí, está en el post principal, en el spoiler que dice "EXTRA" :P. http://www.mundo-maker.com/t4250-rmxp-active-time-battle-system-de-makirouaru
Lo del estado que sube características, dale una buena ojeada a los estados alterados. Éstos incluyen casillas para alterar los estados base de los personajes por porcentaje.

3) Debes crear nuevos elementos, y ponérselos. Por ejemplo elemento "Corte", "Estocada", "Proyectil", "Golpe"... y así. Lo único es que al hacer la selección del elemento, el programa no "multiplicará" los efectos de los elemenos, osea, si haces un espadazo de fuego, y el enemigo es fuerte contra fuego y normal contra corte, hará el daño del corte ignorando el fuego. Simplemente escoge el % más alto de daño.

4) Quizá con eventos comunes, y un ataque que cause un estado alterado que no haga nada xD. El evento común simplemente enciende un switch. Entonces, dentro de cada grupo de enemigo, haces un evento de batalla donde la condición sea dicho switch, y haces algo como ésto:
Código:
<>Condición: EnemigoX Estado alterado TAL
  <>Operación de variable [hpenemigo] poner EnemigoX HP actual
  <>Operación de variable [hpenemigo] multiplicar 100
  <>Operación de variable [hpenemigo] dividir EnemigoX HP máximo
  <>Condición: hpenemigo Menor que 25
    <>Cambiar condición: EnemigoX poner Muerte
    <>
  :Fin
  <>
:Fin
Uno de esos por cada enemigo en el grupo de monstruos, y listo... xD.

5) Necesitas un script para ésto, ya que involucra cambiar de objetivos (cosa que está metida siempre entre los datos del skill). Lo de curar aliado y dañar enemigo puede hacerse fácil, por medio de elementos y resistencias. Haces un elemento especial para el skill. Pones a los héroes resistencia F y a los enemigos los dejas igual (en C creo que era el default xD). Y listo.
Eso sí, todavía faltaría el soporte para cambio de objetivo.

Eso sería todo creo, saluuuuuuuuuuuuudddd (?),
Orochii Zouveleki

orochii
Caballero Shiro
Caballero Shiro

0/3

Créditos 6045

Gracias : 266

http://drekirokr.weebly.com/

Volver arriba Ir abajo

Re: Problemas con algunas habilidades

Mensaje por Quiique el 2012-10-21, 13:35

¡Madre mía que mareo! Muchas gracias, pero quisiera preguntarte algo. En lo de la curación por turnos, quería hacer que un personaje tuviera una regeneración pasivamente, sin coste de mana ni lanzar hechizos, ¿se podría hacer?

Quiique
Novato
Novato

0/3

Créditos 93

Gracias : 2

Volver arriba Ir abajo

Re: Problemas con algunas habilidades

Mensaje por orochii el 2012-10-21, 15:50

Esa es la idea del script del link que puse. La idea para hacer eso es simular un estado "Regen" (referencia a Final Fantasy). Es decir, un estado que recupera HP por turno, tal y como el veneno daña por turno. Misma mecánica, sólo que "invertida" :P.

El script lo que hace es cambiar la forma en que funcionan los estados alterados de "daño progresivo" (como veneno).
Funciona configurando un valor en el script para tus estados de daño por turno. La cosa es que el script permite usar un valor negativo, lo cual hace que en lugar de daño, el héroe se recupere, por turno, por efecto de un estado alterado.

Para configurarlo basta con hacer dos cosas, aparte de añadir el script xD:

1) Debes marcar la casilla "Daño por turno" (o algo así) en todos los estados donde quieres que dañe/recupere HP por turno.
2) Luego, debes revisar ésta parte al comienzo del script:
Código:
module OROCHII_SLIP_STATE
  SLIP_DAMAGE = {
                0 => 5, #valor default
                1 => 1500, #si el estado no tiene slip damage marcado en la base de datos, no sucederá nada
                3 => 3,  #valor para el estado de ID 3
                12 => -7,  #Un valor negativo de ejemplo para regenerar HP por turno
                }
end
Como verás, por cada uno de los estados debe aparecer una línea como ésta:
Código:
12 => -7
En el ejemplo, 12 es la ID del estado en la base de datos.
Los caracteres "=>" son un separador, es cosa de sintaxis de programación, simplemente déjalo así, verás que tiene como forma de flecha además :P.
Por último, -7 es el porcentaje que se reducirá por turno. Como en éste caso el número es negativo, y lo que hace el script es una resta (de un porcentaje), si sabes algo de matemáticas sabes que a - - b = a + b (menos y menos dan más xD).

Y pues eso sería,
Orochii Zouveleki

orochii
Caballero Shiro
Caballero Shiro

0/3

Créditos 6045

Gracias : 266

http://drekirokr.weebly.com/

Volver arriba Ir abajo

Re: Problemas con algunas habilidades

Mensaje por Quiique el 2012-10-21, 18:32

Vale muchas gracias :P Haber que se puede hacer, porque muchas cosas no serán posibles al menos por ahora. (Se me fue la cabeza, al pensar un ataque que stackee armadura por golpe)

Quiique
Novato
Novato

0/3

Créditos 93

Gracias : 2

Volver arriba Ir abajo

Re: Problemas con algunas habilidades

Mensaje por UmbriaChronicles el 2015-01-06, 17:30

¿Y qué hay de ataques del tipo "regenerar PM" o "reducir los PM del enemigo"? ¿Y ataques tipo "absorber vitalidad" donde dañas a tu enemigo a la vez que recuperas vida? ¿Se pueden hacer?

UmbriaChronicles
Novato
Novato

0/3

Créditos 76

Gracias : 2

Volver arriba Ir abajo

Re: Problemas con algunas habilidades

Mensaje por Lance Amano el 2015-01-07, 12:04

UmbriaChronicles escribió:¿Y qué hay de ataques del tipo "regenerar PM" o "reducir los PM del enemigo"? ¿Y ataques tipo "absorber vitalidad" donde dañas a tu enemigo a la vez que recuperas vida? ¿Se pueden hacer?

Tengo este script que permite crear ataques que dañen al PM. Está en inglés pero es fácil configurarlo. Sólo tienes que crear un elemento de "SP DAMAGE TAG" y ponerle dicho elemente a los ataques.

También puedes crear un elemento de "NO HP DAMAGE TAG" para que los ataques solo dañen los SP y no los PV. (Si sólo le pones el "SP DAMAGE TAG", el ataque va a reducir tanto los PM como los PV del enemigo.)

Finalmente el "SP DAMAGE CHANGE" calcula cuánto daño es aplicado al PM en fracciones. Por ejemplo al ponerle "5", el ataque reducirá los PM en 1/5 del total.

Código:
#==============================================================================
# ** Simple SP Bonus Damage
#------------------------------------------------------------------------------
#    by DerVVulfman
#    version 1.3
#    04-28-2012
#    RGSS / RMXP
#------------------------------------------------------------------------------
#
#  INTRODUCTION:
#
#  This lets you apply bonus SP  (or MP)  damage to an attack.  As an option,
#  you can make skills deliver only SP damage to a target.  In any event, the
#  amount of SP damage is a portion based on the what you set in the system.
#
#  There is no damage pop for this effect. However, two values of dvv_sp_damage
#  and dvv_sp_damage_pop  have been included  within the Game_Battler class  if
#  the user wishes to add a compatible SP Damage Pop script.
#
#  NOTE:  Yes, the two values could  merely have been named 'sp_damage' and
#        'sp_damage_pop', but these have been used in Charlie Fleed's CTB.
#
#------------------------------------------------------------------------------
#
#  COMPATABILITY:
#
#  Designed for the RPGMaker XP system and to work with the default battlesys-
#  tem and Charlie Fleed's CTB.  However, Charlie Fleed's CTB has its own ver-
#  sion of an SP-Only damage system so the 'NO_HP_DAMAGE_TAG' isn't required.
#
#------------------------------------------------------------------------------
#
#  TERMS AND CONDITIONS:
#
#  Free to use, even in commercial projects.  Just note that I need some form
#  of due credit, and due credit to AGAFURO who requested this feature.
#
#==============================================================================



module SP_Damage

  # SP DAMAGE TAG
  # Tag your skill(s) with an element that applies SP damage.
  # If you set it to '1', then Fire Element skills (as an example) would
  # give SP Damage.
    DAMAGE_TAG = 11

   
  # NO HP DAMAGE TAG
  # Tag your skill(s) with an element that doesn't apply HP damage.  This way
  # you can have skills that affect a target's SP points exclusively.  It needs
  # you to tag a skill with the SP DAMAGE TAG (see above).
  # If you set it to '3', then Thunder Element skills (as an example) would
  # not deliver HP Damage, and gives only SP damage
    NO_HP_DAMAGE_TAG = 12
   
   
  # SP DAMAGE CHANGE
  # Calculates how much of the damage is applied towards SP damage.
  # As an example, it would give 1/5th damage if set to '5'.
    DAMAGE_CHANGE = 6

end



#==============================================================================
# ** Game_Battler
#------------------------------------------------------------------------------
#  This class deals with battlers. It's used as a superclass for the Game_Actor
#  and Game_Enemy classes.
#==============================================================================

class Game_Battler
  #--------------------------------------------------------------------------
  # * Public Instance Variables
  #--------------------------------------------------------------------------
  attr_accessor :dvv_sp_damage_pop            # SP damage display flag
  attr_accessor :dvv_sp_damage                # SP damage value 
  #--------------------------------------------------------------------------
  # * Object Initialization
  #--------------------------------------------------------------------------
  alias sp_damagepop_init initialize
  def initialize
    # Original Call
    sp_damagepop_init
    # Create the Values
    @dvv_sp_damage_pop = true
    @dvv_sp_damage    = nil
  end
  #--------------------------------------------------------------------------
  # * Apply Skill Effects
  #    user  : the one using skills (battler)
  #    skill : skill
  #--------------------------------------------------------------------------
  alias sp_damagepop_skill_effect skill_effect
  def skill_effect(user, skill)
    # The original call
    effective = sp_damagepop_skill_effect(user, skill)
    # Get the damage value
    damage_val = self.damage
    # Return under conditions (not the element, is a string, not damaging)
    return effective unless skill.element_set.include?(SP_Damage::DAMAGE_TAG)
    return effective unless damage_val.is_a?(Numeric)
    return effective if damage_val < 1
    # Return HP (voiding physical damage) for SP only damage skills
    if skill.element_set.include?(SP_Damage::NO_HP_DAMAGE_TAG)
      self.hp    += damage_val
      self.damage = nil
    end
    # Calculate SP damage (damage divided by configured value)
    dvv_sp_damage = (damage_val/SP_Damage::DAMAGE_CHANGE).to_i
    # Substract damage from SP
    last_sp            = self.sp
    self.sp            -= dvv_sp_damage
    self.dvv_sp_damage  = dvv_sp_damage
    # Return Effective
    return effective
  end
end

Hay un addon para este script que muestra el daño al PM y pudes cambiarle la fuente de letras, el tamaño y color de las letras y el sufijo de daño, es decir ponerle PM en vez de SP:

Código:
=============================================================================
# ** Simple SP Bonus Damage Pop
#------------------------------------------------------------------------------
#    by DerVVulfman
#    version 1.1
#    04-28-2012
#    RGSS / RMXP
#------------------------------------------------------------------------------
#
#  INTRODUCTION:
#
#  This is a damage pop script  that works with DerVVulfman's "Simple SP Bonus
#  Damage" script, letting the user create a damage pop for SP damage.  It can
#  work with battlesystems that are based on the default battlesystem, but has
#  been adapated to work  with Charlie Fleed's CTB  and has some configurables
#  for his battlesystem alone.
#
#  NOTE:  Charlie Fleed's Damage Pops have no fontname set.  If you wish to
#        make it match, set the SP_DAMAGE_FONTNAME to nil.  ^_^
#
#  IMPORTANT:  Place below most scripts  as it not only aliases,  but places a
#              stack error code into the affected methods that typically stops
#              new code from being added... a sideeffect of the F12 stack fix.
#
#
#------------------------------------------------------------------------------
#
#  TERMS AND CONDITIONS:
#
#  Free to use, even in commercial projects.  Just note that I need some form
#  of due credit... even a mere mention in some end titles.
#
#==============================================================================



module SP_Damage

    SP_DAMAGE_FONTNAME  = 'Arial Black'      # Font used for the damage pop
   
    SP_DAMAGE_FONTSIZE  = 32                  # Size of the damage pop
   
    SP_DAMAGE_FONTCOLOR = Color.new(0,0,200)  # Color of the damage pop
   
    SP_DAMAGE_SUFFIX    = " SP"              # Suffix of SP Damage in pop
   
    SP_DAMAGE_ANIM      = 3                  # Bounce type for damage:
                                              # 1 = Random Direction Bounce Pop
                                              # 2 = Wavy Up Direction Pop
                                              # 3 = Straight Up Pop
                                              # 4 = Wide Wave Up Pop
                                              # -- others have no bounce --
 
end
 

#==============================================================================
# ** Sprite_Battler
#------------------------------------------------------------------------------
#  This sprite is used to display the battler.It observes the Game_Character
#  class and automatically changes sprite conditions.
#==============================================================================

class Sprite_Battler < RPG::Sprite
  #--------------------------------------------------------------------------
  # * Frame Update
  #--------------------------------------------------------------------------
  alias sp_damagepop_update update
  def update
    sp_damagepop_update
    # If visible
    if @battler_visible
      # SP Damage
      if @battler.dvv_sp_damage_pop
        # Create the Sprite Pop for SP Damage
        sp_damage(@battler.dvv_sp_damage)
        # Reset the pop values
        @battler.dvv_sp_damage      = nil
        @battler.dvv_sp_damage_pop  = false
      end     
    end
  end
end



#==============================================================================
# ** Scene_Battle
#------------------------------------------------------------------------------
#  This class performs battle screen processing.
#==============================================================================

class Scene_Battle
  #--------------------------------------------------------------------------
  # * Frame Update (main phase step 5 : damage display)
  #--------------------------------------------------------------------------
  alias sp_damagepop_update_phase4_step5 update_phase4_step5
  def update_phase4_step5
    # Display damage
    for target in @target_battlers
      target.dvv_sp_damage_pop = true if target.dvv_sp_damage != nil
    end
    sp_damagepop_update_phase4_step5
  end
end



#==============================================================================
# ** RPG
#------------------------------------------------------------------------------
#  A module containing RPGXP's data structures and more.
#==============================================================================
module RPG
  #============================================================================
  # ** RPG::Sprite
  #----------------------------------------------------------------------------
  #  Class for sprites added to various effect handling used within RPGXP.
  #============================================================================
  class Sprite < ::Sprite
    #------------------------------------------------------------------------
    # * Object Initialization
    #------------------------------------------------------------------------   
    if @derv_init_dmg_stack.nil?
      @derv_init_dmg_stack = true   
      alias sp_damagepop_initialize initialize
      def initialize(viewport = nil)
        super(viewport)
        sp_damagepop_initialize(viewport)
        @_spdamage_duration = 0
      end
    end
    #------------------------------------------------------------------------
    # * Dispose
    #------------------------------------------------------------------------   
    if @derv_disp_dmg_stack.nil?
      @derv_disp_dmg_stack = true   
      alias sp_damagepop_dispose dispose
      def dispose
        # The Dispose
        dispose_spdamage
        # Original Call
        sp_damagepop_dispose
      end
    end
    #------------------------------------------------------------------------
    # * SP Damage Pop
    #    valuex : sp damage value
    #------------------------------------------------------------------------   
    def sp_damage(value)
      dispose_spdamage
      if value.is_a?(Numeric)
        if SP_Damage::SP_DAMAGE_SUFFIX == nil
          damage_string = value.abs.to_s
        else
          damage_string = value.abs.to_s + SP_Damage::SP_DAMAGE_SUFFIX
        end
      else
        return
      end
      bitmap = Bitmap.new(160, 48)
      unless SP_Damage::SP_DAMAGE_FONTNAME.nil?
      bitmap.font.name = SP_Damage::SP_DAMAGE_FONTNAME
      end
      bitmap.font.size = SP_Damage::SP_DAMAGE_FONTSIZE
      bitmap.font.color.set(0, 0, 0)
      bitmap.draw_text(-1, 12-1, 160, 36, damage_string, 1)
      bitmap.draw_text(+1, 12-1, 160, 36, damage_string, 1)
      bitmap.draw_text(-1, 12+1, 160, 36, damage_string, 1)
      bitmap.draw_text(+1, 12+1, 160, 36, damage_string, 1)
      bitmap.font.color = SP_Damage::SP_DAMAGE_FONTCOLOR
      bitmap.draw_text(0, 12, 160, 36, damage_string, 1)
      @_spdamage_sprite = ::Sprite.new(self.viewport)
      @_spdamage_sprite.bitmap = bitmap
      @_spdamage_sprite.ox = 80
      @_spdamage_sprite.oy = -5
      @_spdamage_sprite.x = self.x
      @_spdamage_sprite.y = self.y - self.oy / 2
      @_spdamage_sprite.z = 3000
      if $charlie_lee_ctb == true
        @_spdamage_duration = DAMAGE_DURATION
      else
        @_spdamage_duration = 40
      end
    end
    #------------------------------------------------------------------------
    # * Dispose SP Damage Pop
    #------------------------------------------------------------------------   
    def dispose_spdamage
      if @_spdamage_sprite != nil
        @_spdamage_sprite.bitmap.dispose
        @_spdamage_sprite.dispose
        @_spdamage_sprite = nil
        @_spdamage_duration = 0
      end
    end
    #------------------------------------------------------------------------
    # * Effect Check
    #------------------------------------------------------------------------   
    if @derv_effect_dmg_stack.nil?
      @derv_effect_dmg_stack = true
      alias sp_damagepop_effect?  effect?
      def effect?
        effective = sp_damagepop_effect?
        effective or @_spdamage_duration > 0
      end
    end
    #------------------------------------------------------------------------
    # * Frame Update
    #------------------------------------------------------------------------   
    alias sp_damagepop_sprite_update update
    def update
      # Original Call
      sp_damagepop_sprite_update
      # If using Charlie Fleed's CTB
      if $charlie_lee_ctb == true
        # If sp damage should be visible
        if @_spdamage_duration > 0
          # initialize "zero" height and speed
          if @_spdamage_duration == DAMAGE_DURATION
            @_spdamage_starting_y = @_spdamage_sprite.y
            @_spdamage_xv = rand(2) - 1
            @_spdamage_yv = -3 - rand(2)
          end
          @_spdamage_duration -= 1
          if SP_Damage::SP_DAMAGE_ANIM == 1
            @_spdamage_sprite.x += @_spdamage_xv
            @_spdamage_yv += 0.4
            @_spdamage_sprite.y += @_spdamage_yv
            # invert y speed if "zero" height is reached
            # update the "zero" height
            if @_spdamage_sprite.y >= @_spdamage_starting_y
              @_spdamage_yv = -@_spdamage_yv * 0.6
              # stop animation
              if @_spdamage_yv >= -2.0
                @_spdamage_yv = 0
                @_spdamage_xv = 0
              end
              @_spdamage_starting_y = @_spdamage_sprite.y
            end
          elsif SP_Damage::SP_DAMAGE_ANIM == 2
            @_spdamage_sprite.x += 0.75 * SIN_INCREMENTS[(DAMAGE_DURATION - @_spdamage_duration) / 4]
            @_spdamage_sprite.y -= 1
          elsif SP_Damage::SP_DAMAGE_ANIM == 3
            @_spdamage_sprite.y -= 2
          elsif SP_Damage::SP_DAMAGE_ANIM == 4
            @_spdamage_sprite.x -= 0.75 * SIN_INCREMENTS[(DAMAGE_DURATION - @_spdamage_duration) / 4]
            @_spdamage_sprite.y -= 1
          else
            # nothing
          end
          @_spdamage_sprite.opacity = 256 - (12 - @_spdamage_duration) * 32
        end
        # When done with Pop     
        if @_spdamage_duration == 0
          dispose_spdamage
        end
      # Otherwise, a Default Pop 
      else
        if @_spdamage_duration > 0
          @_spdamage_duration -= 1
          case @_spdamage_duration
          when 38..39
            @_spdamage_sprite.y -= 4
          when 36..37
            @_spdamage_sprite.y -= 2
          when 34..35
            @_spdamage_sprite.y += 2
          when 28..33
            @_spdamage_sprite.y += 4
          end
          @_spdamage_sprite.opacity = 256 - (12 - @_spdamage_duration) * 32
          # Dispose damage when time expired
          if @_spdamage_duration == 0
            dispose_spdamage
          end
        end
      end     
    end
  end
end

Y al último, está este script que permite ataques que absorban vitalidad:

Código:
# HP Absorbption Skills
# by RPG Advocate


# Sample code used for an 'absorb' common event:
#
#  absorb = $game_temp.damage_hook * -1
#  $scene.active_battler.damage = absorb
#  $scene.active_battler.damage_pop=true
#  $scene.active_battler.hp -= absorb


#==============================================================================
# ** Game_Temp
#------------------------------------------------------------------------------
#  This class handles temporary data that is not included with save data.
#  Refer to "$game_temp" for the instance of this class.
#==============================================================================

class Game_Temp
  #--------------------------------------------------------------------------
  # * Public Instance Variables
  #--------------------------------------------------------------------------
  attr_accessor :damage_hook              # damage hook
  #--------------------------------------------------------------------------
  # * Object Initialization
  #--------------------------------------------------------------------------
  alias has_initialize initialize
  def initialize
    # Original call
    has_initialize
    # Initialize damage hook
    @damage_hook = 0
  end
end



#==============================================================================
# ** Game_Battler
#------------------------------------------------------------------------------
#  This class deals with battlers. It's used as a superclass for the Game_Actor
#  and Game_Enemy classes.
#==============================================================================

class Game_Battler
  #--------------------------------------------------------------------------
  # * Apply Skill Effects
  #    user  : the one using skills (battler)
  #    skill : skill
  #--------------------------------------------------------------------------
  alias has_skill_effect skill_effect
  def skill_effect(user, skill, dilute = 1)
    # Original call
    effective = has_skill_effect(user, skill)
    # Set hook to damage
    if self.damage.is_a?(Numeric)
      $game_temp.damage_hook += self.damage
    end
    # End Method
    return effective   
  end
end 
 

 
#==============================================================================
# ** Scene_Battle
#------------------------------------------------------------------------------
#  This class performs battle screen processing.
#==============================================================================

class Scene_Battle
  #--------------------------------------------------------------------------
  # * Public Instance Variables
  #--------------------------------------------------------------------------
  attr_reader :active_battler
  #--------------------------------------------------------------------------
  # * Frame Update (main phase step 1 : action preparation)
  #--------------------------------------------------------------------------
  alias has_up4s1 update_phase4_step1
  def update_phase4_step1
    # Reset damage hook
    $game_temp.damage_hook = 0
    # Original call
    has_up4s1
  end
end




Solo tienes que poner esta parte en un evento común y después ponerle dicho evento común al ataque.

Código:
absorb = $game_temp.damage_hook * -1
$scene.active_battler.damage = absorb
$scene.active_battler.damage_pop=true
$scene.active_battler.hp -= absorb



Lance Amano
Soñador
Soñador

0/3

Créditos 163

Gracias : 13

Volver arriba Ir abajo

Re: Problemas con algunas habilidades

Mensaje por UmbriaChronicles el 2015-01-07, 14:25

¡Muchas gracias LanceAmano, funcionan de maravilla!

UmbriaChronicles
Novato
Novato

0/3

Créditos 76

Gracias : 2

Volver arriba Ir abajo

Re: Problemas con algunas habilidades

Mensaje por matutepac el 2015-03-09, 10:17

no entiendo como hacer con el de regen
el estado lo puse en la vase de datos en el lugar 4 y el 19 pero no se como hacer para que cambien solo esos 2

matutepac
Iniciado
Iniciado

1/3

Créditos 19

Gracias : 3

Volver arriba Ir abajo

Re: Problemas con algunas habilidades

Mensaje por mati82 el 2015-03-09, 16:36

matutepac escribió:no entiendo como hacer con el de regen
el estado lo puse en la vase de datos en el lugar 4 y el 19 pero no se como hacer para que cambien solo esos 2
bueno lo que te puedo ayudar es que tenes que refrescar las cosas olvidadas desde el principio
yo por ejemplo me habia olvidado de hacer el fondo invisible de los charas pero despues de descansar y comer algo
me puse de nuevo y en cinco minutos wala tema tan tonto resuelto
saludos y bienvenido la primera vez que hice un spawn en este sitio tengo que reconocer que la paciencia
que me han tenido no la han tenido en ningun otro sitio de toda la web.

mati82
Novato
Novato

3/3

Créditos 85

Gracias : 4

Volver arriba Ir abajo

Re: Problemas con algunas habilidades

Mensaje por matutepac el 2015-03-10, 15:05

gracias
pero no hizo falta leí toda la explicacion despues de hacer la pregunta y lo entendi, pero no savia como borrar un comentario
XD

matutepac
Iniciado
Iniciado

1/3

Créditos 19

Gracias : 3

Volver arriba Ir abajo

Re: Problemas con algunas habilidades

Mensaje por matutepac el 2015-03-14, 01:56

voy a aprovechar este foro sobre las habilidades

quiero hacer una habilidad que si el enemigo tiene un estado especifico lo mate con otro lo aturde y si no tiene nada le deja dormido
siempre haciendo daño

matutepac
Iniciado
Iniciado

1/3

Créditos 19

Gracias : 3

Volver arriba Ir abajo

Re: Problemas con algunas habilidades

Mensaje por Contenido patrocinado Hoy a las 12:39


Contenido patrocinado


Volver arriba Ir abajo

Ver el tema anterior Ver el tema siguiente Volver arriba


 :: RPG Maker :: Ayuda RPG

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