Ú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


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 }

Además permite utilizar un objeto para hacer que termine siendo gratis el costo por utilizar una técnica o habilidad, obviamente es un objeto consumible. También es gratuita cuando la técnica está como permanente y temporal. Cuando se acaban los usos de la temporal, pues, vuelve a costar SP o PM.




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 : 54
Monedas : 168
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 Secundario
PJ Secundario

Masculino
Chile
RPG Maker : Ace
Mensajes : 146
Monedas : 322
Reputación : 14
Edad : 20
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 : 54
Monedas : 168
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 Secundario
PJ Secundario

Masculino
Chile
RPG Maker : Ace
Mensajes : 146
Monedas : 322
Reputación : 14
Edad : 20
Localización : En el cuarto del boss

Volver arriba Ir abajo

Re: KTempSkills XP

Mensaje por kyonides el Vie Ago 04, 2017 5:38 am

[quote="kyonides"]
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 }

Además permite utilizar un objeto para hacer que termine siendo gratis el costo por utilizar una técnica o habilidad, obviamente es un objeto consumible. También es gratuita cuando la técnica está como permanente y temporal. Cuando se acaban los usos de la temporal, pues, vuelve a costar SP o PM.



Espero que editen mi primer post porque esto postea una y otra vez lo que se suponía que era una simple edición de ese post inicial.

kyonides
PJ de Quest
PJ de Quest

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

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.