Últimos temas
» [ACE] La Aventura de Sonik
por Calayax Hoy a las 4:15 am

» [XP] Engine de Terreno de Calayax
por Calayax Hoy a las 1:40 am

» Taller del BGM
por ZororoWhite Ayer a las 12:48 pm

» Concurso de screens - Mayo/Junio 2017 [Resultados]
por ZororoWhite Ayer a las 12:44 pm

» Ayuda cob Interruptores
por KRiZaLiD Ayer a las 7:02 am

» Ayuda - Quitar opción de atravesar todo RPG VX ACE
por KRiZaLiD Ayer a las 6:57 am

» KUnits XP 2017
por kyonides Ayer a las 5:37 am

» Evento Comunes...todavía no la cazo bien con algo
por Calayax Jue Jul 20, 2017 8:50 pm

» Guía de trucos para ACE
por Pokefanmati Jue Jul 20, 2017 8:03 am

» Que el personaje desaparezca al usar habilidad [ayuda] [MV]
por Dream Jue Jul 20, 2017 5:53 am

» KyoDiscounts MV
por cebmetal Lun Jul 17, 2017 3:50 pm

» KUnits VX - Grupos de Héroes
por kyonides Lun Jul 17, 2017 6:07 am


KTempSkills XP

Ver el tema anterior Ver el tema siguiente Ir abajo

KTempSkills XP

Mensaje por kyonides el Vie Jul 14, 2017 2:02 am

KTempSkills XP


por Kyonides-Arkanthos
 
Este sencillo script les permitirá configurar el aprendizaje de habilidades temporales tanto para héroes como para villanos. Como son temporales se gastarán con el uso hasta desaparecer.

Configuren eso en las Constantes SKILLS para héroes y ENEMY_SKILLS para villanos.

Llamados a script


Para héroes:  KTemp.actor_learn_skill(ID Actor, ID Skill)
Para enemigos:  KTemp.enemy_learn_skill(Indice Enemigo, ID Skill)

En este caso la técnica número 2 tendría 10 usos en el cao del héroe

SKILLS[2] = 10

En el cao del monstruo tendría 9 usos y un rating de 4 o intermedio si mal no recuerdo.

ENEMY_SKILLS[2] = { :uses => 9, :rating => 4 }


Código:
# * KTempSkills XP
#   Scripter : Kyonides-Arkanthos
#   2017-03-21

#   Instructions   #

#   Place it below other skill altering scripts in the script editor.
#   This script includes two hashes (the ones that are equal to {} ), SKILLS is
#   for Actors, while ENEMY_SKILLS is for enemies as you have noticed by now.
#   They need to be configured in different ways as stated in comments below.

### Script Calls ###
#   # Add a Temporary Skill #
#   For any Actor:  KTemp.actor_learn_skill(Actor ID, Skill ID)
#   For any Enemy:  KTemp.enemy_learn_skill(Enemy Index, Skill ID)

module KTemp
  SKILLS = {} # Do Not Edit This Line
  SKILLS.default = 5
  # To Add an Actor's Temporary Skill add a line, i.e. SKILLS[Skill ID] = USES
  # USES is equal to a number (an Integer) greater than 0.
  SKILLS[2] = 10
  ENEMY_SKILLS = {} # Do Not Edit This Line
  ENEMY_SKILLS.default = { :uses => 5, :rating => 5 }
  # To Add an Enemy's Temporary Skill add a line :
  #   SKILLS[Skill ID] = { :uses => USES, :rating => Skill Rating }
  # USES is the same as above, Skill Rating is a number between 1 and 10.
  ENEMY_SKILLS[2] = { :uses => 10, :rating => 4 }
  # END OF SETUP SECTION #
  def self.actor_learn_skill(actor_id, skill_id)
    $game_party.actors[actor_id].add_temp_skill(skill_id)
  end
  def self.enemy_learn_skill(enemy_index, skill_id)
    $game_troop.enemies[enemy_index].add_temp_skill(skill_id)
  end
end

class Game_Battler
  alias kyon_ktempskills_gm_battler_skill_effect skill_effect
  def skill_effect(user, skill)
    result = kyon_ktempskills_gm_battler_skill_effect(user, skill)
    skill_id = skill.id
    if user.temp_skills.include?(skill_id)
      user.temp_skill_uses[skill_id] -= 1
      lose_temp_action(skill_id) if user.temp_skill_uses[skill_id] == 0
    end
    return result
  end
end

class Game_Actor
  attr_reader :temp_skills
  alias kyon_ktempskills_gm_actor_setup setup
  def setup(actor_id)
    kyon_ktempskills_gm_actor_setup(actor_id)
    @temp_skills = []
    @temp_skill_uses = {}
  end

  def add_temp_skill(skill_id)
    return if (@skills + @temp_skills).include?(skill_id)
    @temp_skills << skill_id
    @temp_skill_uses[skill_id] = KTemp::SKILLS[skill_id]
    @temp_skills = @temp_skills.sort
  end

  def lose_temp_skill(skill_id)
    @temp_skills.delete skill_id
    @temp_skill_uses.delete skill_id
  end
end

class Game_Enemy
  attr_reader :actions
  alias kyon_ktempskills_gm_enemy_init initialize
  alias kyon_ktempskills_gm_enemy_skill_effect skill_effect
  def initialize(troop_id, member_index)
    kyon_ktempskills_gm_enemy_init(troop_id, member_index)
    @actions = $data_enemies[@enemy_id].actions
    @action_pos = {}
    @temp_skills = []
    @temp_skill_uses = {}
  end

  def add_temp_action(skill_id)
    return if @temp_skills.include?(skill_id)
    temp_skills = KTemp::ENEMY_SKILLS[skill_id]
    @action_pos[skill_id] = @actions.size
    @actions << RPG::Enemy::Action.new
    @actions[-1].kind = 1
    @actions[-1].skill_id = skill_id
    @actions[-1].rating = temp_skills[:rating]
    @temp_skills << skill_id
    @temp_skill_uses[skill_id] = temp_skills[:uses]
  end

  def lose_temp_action(skill_id)
    @actions.delete_at @action_pos[skill_id]
    @action_pos.delete skill_id
    @temp_skills.delete skill_id
    @temp_skill_uses.delete skill_id
  end
end

kyonides
PJ de Quest
PJ de Quest

Masculino
Costa Rica
RPG Maker : Xp
Mensajes : 38
Monedas : 136
Reputación : 1

Volver arriba Ir abajo

Re: KTempSkills XP

Mensaje por Pokefanmati el Vie Jul 14, 2017 2:14 am

Ahmm gracias por todos tus aportes. Me gustaría comentarlos uno a uno, pero creo que es más cómodo comentar sólo el último. Me gustaría ver alguna review tuya, ¿Los has usado? ¿Que te han parecido?, ¿Cuantos puntos les darías en una escala del uno al diez?.

Oh, recuerda también colocar un comentario en el índice de Scripts para que que así sean añadidos
avatar
Pokefanmati
PJ Recurrente
PJ Recurrente

Masculino
Chile
RPG Maker : Ace
Mensajes : 109
Monedas : 274
Reputación : 9
Edad : 19
Localización : En el cuarto del boss

Volver arriba Ir abajo

Re: KTempSkills XP

Mensaje por kyonides el Vie Jul 14, 2017 2:24 am

Soy un scripter, lo mío no es ponerme calificaciones sino brindar cosas necesarias o faltantes o novedosas si es el caso. Los desarrollo con la intención de que sean útiles y eso implica que deben ser funcionales. Algunos requieren de más pruebas que otros, pero este es corto en realidad, así que no hay forma de tardarse mucho en terminarlo y utilizarlo a discreción.

¿Por qué solo comentaría uno de los más recientes? ¿Acaso no vale la pena revisarlos todos si alcanza el tiempo? Solo me preguntaba...

Hablando de mi script, me imagino que es interesante incomodar un poco al jugador al agregarle un poco de estrategia al uso de las técnicas, no sea que utilice una Ultima con un enemigo de nivel intermedio y luego le hagan falta varios usos para enfrentar a un jefe rechoncho y despiadado que fácilmente ignora la cara de idiota de Alex o Alexis o Aluxes (según la versión o traducción del RMXP).

kyonides
PJ de Quest
PJ de Quest

Masculino
Costa Rica
RPG Maker : Xp
Mensajes : 38
Monedas : 136
Reputación : 1

Volver arriba Ir abajo

Re: KTempSkills XP

Mensaje por Pokefanmati el Vie Jul 14, 2017 3:01 am

Oh boy, ¡No me había dado cuenta que era tuyos!
Por aportes me refería a que los habías compartidos.
Y por comentar en todos me refería a que, bueno, no uso XP así que no me voy muy útiles. Así que en mi caso, es más cómo agradecerte por publicarlos en el foro; y, para eso, sólo hace falta el último xP
avatar
Pokefanmati
PJ Recurrente
PJ Recurrente

Masculino
Chile
RPG Maker : Ace
Mensajes : 109
Monedas : 274
Reputación : 9
Edad : 19
Localización : En el cuarto del boss

Volver arriba Ir abajo

Re: KTempSkills XP

Mensaje por Contenido patrocinado


Contenido patrocinado


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.