Maker Palace

¡El Reino del RpgMaker y del Ocio!
 
ÍndiceBuscarGrupos de UsuariosScriptsRecursosTutorialesPalaceJuegosPalaceWikiFAQRegistrarseConectarse
Conectarse
Nombre de Usuario:
Contraseña:
Entrar automáticamente en cada visita: 
:: Recuperar mi contraseña
Temas similares
Buscar
 
 

Resultados por:
 
Rechercher Búsqueda avanzada
Últimos temas
» Reparación de Conjuros
por kyonides-arkanthos Jue Oct 12, 2017 12:22 am

» Screenshot del nuevo KUnits XP oon menú
por LinkLuis55 Sáb Sep 23, 2017 10:03 pm

» Dando una vuelta por acá
por LinkLuis55 Dom Ago 20, 2017 2:56 pm

» Heroes del Crimen 2 DEMO
por jasuso Mar Ago 01, 2017 12:04 am

» The Legend of Celestia II: A World of Twilight Shadows Demo
por Jlopez_96 Vie Jul 28, 2017 6:20 pm

» The Legend of Celestia: Four Cristals
por Jlopez_96 Mar Abr 25, 2017 4:59 pm

» [VXAce] Burando Doragon
por gantzer49 Dom Abr 23, 2017 7:43 pm

Recomendados
RPG en RPG Maker
La importancia de un Backup
Que requiere un sistema de Batalla para ser exitoso
9 Minutos de Juegos por fans
Guía de Subforos para Tontos de Maker Palace
Indice de Scripts Locales XP
Falcao Pearl ABS Liquid
¿Quién está en línea?
En total hay 10 usuarios en línea: 0 Registrados, 0 Ocultos y 10 Invitados :: 1 Motor de búsqueda

Ninguno

La mayor cantidad de usuarios en línea fue 179 el Mar Ago 30, 2011 10:06 pm.
MiniChat
Mejores posteadores
Raiden (3346)
 
DaviX (2740)
 
Frikilangelo (2461)
 
SagahonArturo (1806)
 
Falcao (1775)
 
kyonides-arkanthos (1768)
 
Mur-mai-der (1755)
 
Ares (1613)
 
LinkLuis55 (1558)
 
Webmaster24 (1354)
 
Afiliados
Crear foro Mundo Maker Foro de anime y RM2k3/XP/VX Computer mix
Flag Counter
free counters
Visitas


Comparte | 
 

 Modificaciones al ABS de Near Fantastica

Ver el tema anterior Ver el tema siguiente Ir abajo 
AutorMensaje
kyonides-arkanthos
Lord Guru Maker
Lord Guru Maker
avatar

Cantidad de envíos : 1768
Miembro desde : 03/02/2010
Sexo : Masculino

Maker : RMXP


MensajeTema: Modificaciones al ABS de Near Fantastica   Lun Dic 24, 2012 3:01 am

Modificaciones del Active Battle System
versión de Near Fantastica

(un script algo viejito)



Bueno con estas modificaciones al script original de 5 partes se pretende obtener 2 beneficios muy específicos:

  • Incluir una animación a la hora de subir de nivel que sea visible en el mapa
  • Agregar más botones al juego para hacerlo algo más parecido a Ragnarok Online en el que se utilizan las teclas de funciones (F1 a F9) para activar las habilidades. SIN EMBARGO, en esta modificación se utilizas las teclas F2 a F10 por una buena razón, F1 en el RMXP abre la ventanita de configuración original del teclado y el mando y no se puede reemplazar esta función.


Para la segunda modificación se requiere que incluyan antes de las 5 partes del script de ABS el script JEM - Jennifer's Entry Module de DerVVulfman, que es el que hace posible que se utilicen más botones que los de costumbre en el RMXP.


SOBRE EL SE PARA SUBIR DE NIVEL

Para escuchar un efecto de sonido exclusivo para el subir de nivel deben de editar el nombre del archivo correspondiente en la Constante LEVEL_UP_SE. Recuerden que el nombre del archivo siempre tiene que ir entre comillas, sean simples o dobles.


SOBRE DYNAMIC LEVELING

Se trata de que el jugador no siempre ganará la misma cantidad de puntos de experiencia EXP por cada vez que mata a un monstruo. De hecho el nivel del monstruo y del jugador serán tomados en cuenta para el cálculo de cuánto EXP recibirá realmente el jugador. Esto se configura en la Constante EXP_PERCENTAGE, que debe de tener un valor de un número con decimales como 0.08 . Si no lo quieren activar, deben dejarlo en 0 .

Si ambos son del mismo nivel, pues, se gana lo que sale en la base de datos.
Si el jugador tiene un nivel inferior, este gana un poco más de EXP.
Si el jugador tiene un nivel superior, este pierde algo del total de EXP o incluso solo 1 punto si tiene un nivel muy superior al del monstruo.

Para asignarle un nivel al monstruo deben de ir a la base de datos de enemigos y ahí crean una acción cuya condición sea el nivel que creen que debe de tener dicho monstruo. El sistema les pedirá que elijan una consecuencia para esa acción, eso se los dejo a su gusto. Para el script lo único que importa es que la acción de enemigo con el mayor nivel es la que indica cuál es el nivel del monstruo, lo que active o no active es insignificante.

También pueden descargar las modificaciones de mediafire.

DESCARGAS

Script - Agregar Animación y SE Al Subir De Nivel + Dynamic Leveling - v 0.3.1

Código:
#  Modificación del Script ABS de Near Fantastica
#    - Animación y SE y Diferente EXP al Subir de Nivel -
#    - Versión 0.3.1 - 2012-12-18
#      Modificación hecha por el Scripter : Kyonides-Arkanthos

#      Pueden agregar tantas como gusten, las que no agreguen, utilizarán
#      la primera animación : CLASS_ANIME_IDS[0] = Número de ID de animación

module NF_ABS_KAnimeMod
  ALLOW_GENERIC_LEVELUP_ANIME = false
  # Nombre de Efecto de Sonido (SE) de Subir de Nivel - EDITABLE
  LEVEL_UP_SE = '001-System01'
  # Porcentaje de Experiencia que se pierde o gana por el Dynamic Leveling
  EXP_PERCENTAGE = 0.08
  CLASS_ANIME_IDS = {}
  # ID de la animación de subir de nivel para todas las clases si activó esto
  # MODIFIQUEN SOLO EL ID DE ANIMACIÓN " = 1"
  CLASS_ANIME_IDS[0] = 1
  # IDs de la clase o job y la animación que aparecerá al subir de nivel
  # ESTE EJEMPLO ES MODIFICABLE A SU GUSTO
  CLASS_ANIME_IDS[1] = 1
  # AGREGUEN MÁS A PARTIR DE AQUÍ #
 
end

class RPG::System
  alias nfabs_kanime_se_dynlvl_rpg_sys_init initialize
  def initialize
    nfabs_kanime_se_dynlvl_rpg_sys_init
    @levelup_se = RPG::AudioFile.new(NF_ABS_KAnimeMod::LEVEL_UP_SE, 80)
  end
  attr_accessor :levelup_se
end
# Esta parte de la sección 1 de 5 del ABS es muy similar a la que viene en el
# RPG Maker XP por defecto, pero busca algún evento en el mapa y eliminaba la
# animación al subir de nivel que en el original ocurría justo sobre el battler.
class Action_Battle_System
  def battle_spoils(event_index)
    $game_map.map.events[event_index].name = "Dead"
    @enemy_id[event_index] = 0
    $game_map.events[event_index].erase
    treasures = []
    if rand(100) < @enemy_treasure_prob[event_index]
      if @enemy_item_id[event_index] > 0
        treasures.push($data_items[@enemy_item_id[event_index]])
      end
      if @enemy_weapon_id[event_index]> 0
        treasures.push($data_weapons[@enemy_weapon_id[event_index]])
      end
      if @enemy_armor_id[event_index] > 0
        treasures.push($data_armors[@enemy_armor_id[event_index]])
      end
    end
    # Treasure is limited to a maximum of 6 items
    treasures = treasures[0..5]
    # Obtaining EXP
    actor = nil
    for i in 0...$game_party.actors.size
      actor = $game_party.actors[i]
      break if $game_player.character_name == actor.character_name
    end
    unless actor.cant_get_exp?
      last_level = actor.level
      enemy = $data_enemies[event_index]
      max_level = enemy.actions.map {|action| action.condition_level}.max
      if last_level > max_level
        offset = -(last_level - max_level)
        actor.exp += get_dynamic_level_exp(event_index, offset)
      elsif last_level == max_level
        actor.exp += @enemy_exp[event_index]
      elsif last_level < max_level
        offset = max_level - last_level
        actor.exp += get_dynamic_level_exp(event_index, offset)
      end
      # Modificación de la versión por defecto del RPG Maker XP
      # Ahora incluye una animación al subir de nivel pero en el character
      if actor.level > last_level
        class_id = actor.class_id
        included = NF_ABS_KAnimeMod::CLASS_ANIME_IDS.keys.include?(class_id)
        generic = NF_ABS_KAnimeMod::ALLOW_GENERIC_LEVELUP_ANIME
        class_id = (included and !generic)? actor.class_id : 0
        $game_system.se_play($data_system.levelup_se)
        $game_player.animation_id = NF_ABS_KAnimeMod::CLASS_ANIME_IDS[class_id]
      end
    end
    # Obtaining gold
    $game_party.gain_gold(@enemy_gold[event_index] )
    # Obtaining treasure
    for item in treasures
      case item
      when RPG::Item
        $game_party.gain_item(item.id, 1)
      when RPG::Weapon
        $game_party.gain_weapon(item.id, 1)
      when RPG::Armor
        $game_party.gain_armor(item.id, 1)
      end
    end
  end

  def get_dynamic_level_exp(index, bonus)
    exp = (@enemy_exp[index] * NF_ABS_KAnimeMod::EXP_PERCENTAGE).round
    total_exp = [1, @enemy_exp[index] + (bonus * exp)].max
  end
end

Script - Reemplazo de la Parte 2 del ABS de Near Fantastica para utilizar más botones

Código:
#  Modificación del Script ABS de Near Fantastica
#    - Reemplazo de la Parte 2 de 5 del ABS -
#    - Plug & Play -
#    - Más botones están disponibles gracias al script JEM de DerVVulfman
#      Modificado por el Scripter : Kyonides-Arkanthos

module Input
  Key_F2 = 113
  K_LIST[36, 0] = Key_F2
end

class Action_Battle_System
  alias nfabs_kyonmod_act_bat_sys_init initialize
  def initialize
    nfabs_kyonmod_act_bat_sys_init
    @skill_hot_key = {1 => 0, 2 => 0, 3 => 0, 4 => 0, 5 => 0,
                      6 => 0, 7 => 0, 8 => 0, 9 => 0}
  end
end

class Scene_Map
#--------------------------------------------------------------------------
# â—? Refer setup to Scene Map
#--------------------------------------------------------------------------
  alias scene_map_main main
  alias scene_map_update update
#--------------------------------------------------------------------------
# â—? Refers to Main
#--------------------------------------------------------------------------
  def main
    @on_map_diplay = Window_Mapstats.new
    $ABS.display = Sprite.new
    $ABS.display.bitmap = Bitmap.new(88, 48)
    scene_map_main
    $ABS.display.dispose
    @on_map_diplay.dispose
  end

  def update
    @on_map_diplay.update
    $ABS.update
    if Input.trigger?(Input::L)
      # Player Attack
      if $ABS.player_defending == false
        $ABS.player_melee_preconditions
      end
    end
    if Input.press?(Input::R) # Player Shield Active
      $ABS.player_defending = true
    else $ABS.player_defending = false end
    if Input.trigger?(Input::Key_F2)
      $ABS.player_skill_preconditions(1)
    elsif Input.trigger?(Input::Key_F3)
      $ABS.player_skill_preconditions(2)
    elsif Input.trigger?(Input::Key_F4)
      $ABS.player_skill_preconditions(3)
    elsif Input.trigger?(Input::Key_F5)
      $ABS.player_skill_preconditions(4)
    elsif Input.trigger?(Input::Key_F6)
      $ABS.player_skill_preconditions(5)
    elsif Input.trigger?(Input::Key_F7)
      $ABS.player_skill_preconditions(6)
    elsif Input.trigger?(Input::Key_F8)
      $ABS.player_skill_preconditions(7)
    elsif Input.trigger?(Input::Key_F9)
      $ABS.player_skill_preconditions(8)
    elsif Input.trigger?(Input::Key_F10)
      $ABS.player_skill_preconditions(9)
    end
    if Input.trigger?(Input::X) # Player Skill Hot Key 1
      $ABS.player_skill_preconditions(1)
    elsif Input.trigger?(Input::Y) # Player Skill Hot Key 2
      $ABS.player_skill_preconditions(2)
    elsif Input.trigger?(Input::Z) # Player Skill Hot Key 3
      $ABS.player_skill_preconditions(3)
    end
    scene_map_update
  end
end
 
#==============================================================================
# Window_Base
#------------------------------------------------------------------------------
# Adds Draw line function, Draw Hp, Draw Sp, Draw Exp,
# Adds Draw Actors Battler, Refines Draw Text Actors Level
#==============================================================================

class Window_Base < Window
#--------------------------------------------------------------------------
# â—? The drawing of HP
# actor : actor
# x : Ahead drawing X coordinate
# y : Ahead drawing Y-coordinate
# width : Width ahead drawing
#--------------------------------------------------------------------------
def draw_actor_hp_text(actor, x, y, width = 144)
# Character string "HP" It draws
self.contents.font.color = system_color
self.contents.draw_text(x, y, 32, 32, $data_system.words.hp)
# Calculates is a space which draws MaxHP
if width - 32 >= 108
hp_x = x + width - 108
flag = true
elsif width - 32 >= 48
hp_x = x + width - 48
flag = false
end
# Drawing HP
self.contents.font.color = actor.hp == 0 ? knockout_color :
actor.hp <= actor.maxhp / 4 ? crisis_color : normal_color
self.contents.draw_text(hp_x, y, 40, 32, actor.hp.to_s, 2)
# Drawing MaxHP
if flag
self.contents.font.color = normal_color
self.contents.draw_text(hp_x + 40, y, 12, 32, "/", 1)
self.contents.draw_text(hp_x + 52, y, 48, 32, actor.maxhp.to_s)
end
end
#--------------------------------------------------------------------------
# â—? The drawing of SP
# actor : actor
# x : Ahead drawing X coordinate
# y : Ahead drawing Y-coordinate
# width : Width ahead drawing
#--------------------------------------------------------------------------
def draw_actor_sp_text(actor, x, y, width = 144)
# Character string "sP" It draws
self.contents.font.color = system_color
self.contents.draw_text(x, y, 32, 32, $data_system.words.sp)
# Calculates is a space which draws MaxSP
if width - 32 >= 108
sp_x = x + width - 108
flag = true
elsif width - 32 >= 48
sp_x = x + width - 48
flag = false
end
# Drawing HP
self.contents.font.color = actor.sp == 0 ? knockout_color :
actor.sp <= actor.maxsp / 4 ? crisis_color : normal_color
self.contents.draw_text(sp_x, y, 40, 32, actor.sp.to_s, 2)
# Drawing MaxHP
if flag
self.contents.font.color = normal_color
self.contents.draw_text(sp_x + 40, y, 12, 32, "/", 1)
self.contents.draw_text(sp_x + 52, y, 48, 32, actor.maxsp.to_s)
end
end
#--------------------------------------------------------------------------
# â—? Draws Actors Hp meter
#--------------------------------------------------------------------------
def draw_actor_hp_bar(actor, x, y, width = 100, height = 10, bar_color = Color.new(255, 0, 0, 255))
self.contents.fill_rect(x, y, width, height, Color.new(255, 255, 255, 100))
w = width * actor.hp / actor.maxhp
for i in 0..height
r = bar_color.red * (height -i)/height + 0 * i/height
g = bar_color.green * (height -i)/height + 0 * i/height
b = bar_color.blue * (height -i)/height + 0 * i/height
a = bar_color.alpha * (height -i)/height + 255 * i/height
self.contents.fill_rect(x, y+i, w , 1, Color.new(r, g, b, a))
end
end
#--------------------------------------------------------------------------
# â—? Draws Actors Sp meter
#--------------------------------------------------------------------------
def draw_actor_sp_bar(actor, x, y, width = 100, height = 10, bar_color = Color.new(0, 0, 255, 255))
self.contents.fill_rect(x, y, width, height, Color.new(255, 255, 255, 100))
w = width * actor.sp / actor.maxsp
for i in 0..height
r = bar_color.red * (height -i)/height + 0 * i/height
g = bar_color.green * (height -i)/height + 0 * i/height
b = bar_color.blue * (height -i)/height + 0 * i/height
a = bar_color.alpha * (height -i)/height + 255 * i/height
self.contents.fill_rect(x, y+i, w , 1, Color.new(r, g, b, a))
end
end
#--------------------------------------------------------------------------
# â—? Draws Actors Exp meter
#--------------------------------------------------------------------------
def draw_actor_exp_bar(actor, x, y, width = 100, height = 10, bar_color = Color.new(255, 255, 0, 255))
self.contents.fill_rect(x, y, width, height, Color.new(255, 255, 255, 100))
if actor.level == 99
w = 0
else
w = width * actor.exp / actor.next_exp_s.to_f
end
for i in 0..height
r = bar_color.red * (height -i)/height + 0 * i/height
g = bar_color.green * (height -i)/height + 0 * i/height
b = bar_color.blue * (height -i)/height + 0 * i/height
a = bar_color.alpha * (height -i)/height + 255 * i/height
self.contents.fill_rect(x, y+i, w , 1, Color.new(r, g, b, a))
end
end
#--------------------------------------------------------------------------
# â—? Draws Actors Str meter
#--------------------------------------------------------------------------
def draw_actor_str_bar(actor, i, x, y, width = 100, height = 10, bar_color = Color.new(255, 0, 0, 255))
self.contents.fill_rect(x, y, width, height, Color.new(255, 255, 255, 100))
w = width * actor.str / 999
for i in 0..height
r = bar_color.red * (height -i)/height + 0 * i/height
g = bar_color.green * (height -i)/height + 0 * i/height
b = bar_color.blue * (height -i)/height + 0 * i/height
a = bar_color.alpha * (height -i)/height + 255 * i/height
self.contents.fill_rect(x, y+i, w , 1, Color.new(r, g, b, a))
end
end
#--------------------------------------------------------------------------
# â—? Draws Actors Dex meter
#--------------------------------------------------------------------------
def draw_actor_dex_bar(actor, i, x, y, width = 100, height = 10, bar_color = Color.new(0, 255, 0, 255))
self.contents.fill_rect(x, y, width, height, Color.new(255, 255, 255, 100))
w = width * actor.dex / 999
for i in 0..height
r = bar_color.red * (height -i)/height + 0 * i/height
g = bar_color.green * (height -i)/height + 0 * i/height
b = bar_color.blue * (height -i)/height + 0 * i/height
a = bar_color.alpha * (height -i)/height + 255 * i/height
self.contents.fill_rect(x, y+i, w , 1, Color.new(r, g, b, a))
end
end
#--------------------------------------------------------------------------
# â—? Draws Actors Agi meter
#--------------------------------------------------------------------------
def draw_actor_agi_bar(actor, i, x, y, width = 100, height = 10, bar_color = Color.new(0, 0, 255, 255))
self.contents.fill_rect(x, y, width, height, Color.new(255, 255, 255, 100))
w = width * actor.agi / 999
for i in 0..height
r = bar_color.red * (height -i)/height + 0 * i/height
g = bar_color.green * (height -i)/height + 0 * i/height
b = bar_color.blue * (height -i)/height + 0 * i/height
a = bar_color.alpha * (height -i)/height + 255 * i/height
self.contents.fill_rect(x, y+i, w , 1, Color.new(r, g, b, a))
end
end
#--------------------------------------------------------------------------
# â—? Draws Actors Int meter
#--------------------------------------------------------------------------
def draw_actor_int_bar(actor, i, x, y, width = 100, height = 10, bar_color = Color.new(180, 100, 200, 255))
self.contents.fill_rect(x, y, width, height, Color.new(255, 255, 255, 100))
w = width * actor.int / 999
for i in 0..height
r = bar_color.red * (height -i)/height + 0 * i/height
g = bar_color.green * (height -i)/height + 0 * i/height
b = bar_color.blue * (height -i)/height + 0 * i/height
a = bar_color.alpha * (height -i)/height + 255 * i/height
self.contents.fill_rect(x, y+i, w , 1, Color.new(r, g, b, a))
end
end
#--------------------------------------------------------------------------
# â—? Draws Dash Power bar
#--------------------------------------------------------------------------
def draw_dash_bar(x, y, width = 50, height = 10)
self.contents.fill_rect(x, y, width, height, Color.new(255, 255, 255, 100))
case $ABS.dash_level
when 0 .. 1
bar_color = Color.new(255, 0, 0, 255)
when 2 .. 3
bar_color = Color.new(255, 255, 0, 255)
else
bar_color = Color.new(0, 255, 0, 255)
end
w = width * $ABS.dash_level / 5
for i in 0..height
r = bar_color.red * (height -i)/height + 0 * i/height
g = bar_color.green * (height -i)/height + 0 * i/height
b = bar_color.blue * (height -i)/height + 0 * i/height
a = bar_color.alpha * (height -i)/height + 255 * i/height
self.contents.fill_rect(x, y+i, w , 1, Color.new(r, g, b, a))
end
end
#--------------------------------------------------------------------------
# â—? Draws Actors Battler
#--------------------------------------------------------------------------
def draw_actor_battler(actor, x, y)
bitmap = RPG::Cache.battler(actor.character_name, actor.character_hue)
cw = bitmap.width
ch = bitmap.height
src_rect = Rect.new(0, 0, cw, ch)
self.contents.blt(x - cw / 2, y - ch, bitmap, src_rect)
end
end

#==============================================================================
# â–  On Map Display
#------------------------------------------------------------------------------
# Displayes curent player stats to the window
#=============================================================================

class Window_Mapstats < Window_Base
#--------------------------------------------------------------------------
# â—? Initialization
#--------------------------------------------------------------------------
  def initialize
    super(0, 400, 640, 80)
    self.contents = Bitmap.new(width - 32, height - 32)
    self.back_opacity = 125
    # self.opacity = 0
    update
  end
#--------------------------------------------------------------------------
# â—? Update
#--------------------------------------------------------------------------
  def refresh
    self.contents.clear
    actor = $game_party.actors[$ABS.active_actor]
    draw_actor_graphic(actor, 10, 45) # draws the actor graphic
    draw_actor_name(actor, 30, -5) #draws the actors name
    draw_actor_level(actor, 30, 15) #draws the actor level
    draw_actor_hp_text(actor, 110, -5) #draws the actors hp
    draw_actor_hp_bar(actor, 260, 5) #draws the actors hp bar
    draw_actor_sp_text(actor,110, 15) #draws the actors sp
    draw_actor_sp_bar(actor, 260, 27) #draws the actors sp bar
  end
#--------------------------------------------------------------------------
# â—? Update
#--------------------------------------------------------------------------
  def update
    refresh if Graphics.frame_count / Graphics.frame_rate != @total_sec
  end
end

#==============================================================================
# â–  Scene_Title
#------------------------------------------------------------------------------
#  It is the class which processes the title picture
#==============================================================================
class Scene_Title
#--------------------------------------------------------------------------
# â—? Refer setup to Scene Title
#--------------------------------------------------------------------------
  alias scene_title_update update
#--------------------------------------------------------------------------
# â—? Loads Event names
#--------------------------------------------------------------------------
  def update
    $ABS = Action_Battle_System.new
    scene_title_update
  end
end

#==============================================================================
# â–  Game_Map
#------------------------------------------------------------------------------
#  Add defenision of the names to Game Map Class
#==============================================================================
class Game_Map
#--------------------------------------------------------------------------
# â—? Refer setup to Game Map
#--------------------------------------------------------------------------
  attr_accessor :map
  alias game_map_setup setup
#--------------------------------------------------------------------------
# â—? Refers the Map Setup
#--------------------------------------------------------------------------
  def setup(map_id)
    game_map_setup(map_id)
    $ABS.enemy_setup
  end
end

#==============================================================================
# â–  Game_Character
#------------------------------------------------------------------------------
#  Add move_type to the accessor adderse
#==============================================================================
class Game_Character
#--------------------------------------------------------------------------
# â—? Open instance variable
#--------------------------------------------------------------------------
  attr_accessor :move_type
  attr_accessor :move_speed
  attr_accessor :move_frequency
  attr_accessor :character_name
end

class Scene_Skill
  alias nfabs_kyonmod_scn_skill_up_skill update_skill
#--------------------------------------------------------------------------
# â—? Object initialization
# actor_index : Actor index
#--------------------------------------------------------------------------
  def initialize(actor_index = 0, equip_index = 0)
    @actor_index = actor_index
  end
#--------------------------------------------------------------------------
# â—? Main processing
#--------------------------------------------------------------------------
  def main
    # Acquiring the actor
    @actor = $game_party.actors[@actor_index]
    # Drawing up the help window, the status window and the skill window
    @help_window = Window_Help.new
    @status_window = Window_SkillStatus.new(@actor)
    @skill_window = Window_Skill.new(@actor)
    # Help window association
    @skill_window.help_window = @help_window
    # Target window compilation (invisibility non actively setting)
    @target_window = Window_Target.new
    @target_window.visible = false
    @target_window.active = false
    # Skill Hot Key Window
    @shk_window = Window_Command.new(250, ["Skill Assigned to Hot Key"])
    @shk_window.visible = false
    @shk_window.active = false
    @shk_window.x = 200
    @shk_window.y = 250
    @shk_window.z = 1500
    # Transition execution
    Graphics.transition
    # Main loop
    loop do
      # Renewing the game picture
      Graphics.update
      # Updating the information of input
      Input.update
      # Frame renewal
      update
      # When the picture changes, discontinuing the loop
      break if $scene != self
    end
    # Transition preparation
    Graphics.freeze
    # Releasing the window
    @help_window.dispose
    @status_window.dispose
    @skill_window.dispose
    @target_window.dispose
    @shk_window.dispose
  end
#--------------------------------------------------------------------------
# â—? Frame renewal
#--------------------------------------------------------------------------
  def update
    # Renewing the windows
    @help_window.update
    @status_window.update
    @skill_window.update
    @target_window.update
    @shk_window.update
    # When the skill window is active: Update_skill is called
    if @skill_window.active
      update_skill
    return
    end
    # When the target window is active: Update_target is called
    if @target_window.active
      update_target
      return
    end
    # When the skill_hot_key window is active: Update_shk is called
    if @shk_window.active
      update_shk
      return
    end
  end

  def update_skill
    nfabs_kyonmod_scn_skill_up_skill
    update_other_buttons
  end

  def update_other_buttons
    if Input.trigger?(Input::Key_F2)
      set_hotkey(1)
    elsif Input.trigger?(Input::Key_F3)
      set_hotkey(2)
    elsif Input.trigger?(Input::Key_F4)
      set_hotkey(3)
    elsif Input.trigger?(Input::Key_F5)
      set_hotkey(4)
    elsif Input.trigger?(Input::Key_F6)
      set_hotkey(5)
    elsif Input.trigger?(Input::Key_F7)
      set_hotkey(6)
    elsif Input.trigger?(Input::Key_F8)
      set_hotkey(7)
    elsif Input.trigger?(Input::Key_F9)
      set_hotkey(8)
    elsif Input.trigger?(Input::Key_F10)
      set_hotkey(9)
    # NF ABS Original Hotkeys X, Y, Z - now equivalent to F2, F3 and F4
    elsif Input.trigger?(Input::X)
      set_hotkey(1)
    elsif Input.trigger?(Input::Y)
      set_hotkey(2)
    elsif Input.trigger?(Input::Z)
      set_hotkey(3)
    end
  end

  def set_hotkey(index)
    $game_system.se_play($data_system.decision_se)
    @skill_window.active = !(@shk_window.active = @shk_window.visible = true)
    $ABS.skill_hot_key[index] = @skill_window.skill.id
  end

  def update_shk
    # The C when button is pushed,
    if Input.trigger?(Input::C)
      # Performing decision SE
      $game_system.se_play($data_system.decision_se)
      # Reset Skill hot key window
      @skill_window.active = !(@shk_window.active = @shk_window.visible = false)
      #Change to menu screen
      $scene = Scene_Skill.new(@actor_index)
      return
    end
  end
end
Volver arriba Ir abajo
Ver perfil de usuario http://deloquesea.mforos.com/forums/
Raiden
Admin
Admin
avatar

Cantidad de envíos : 3346
Miembro desde : 01/03/2010
Edad : 24
Sexo : Masculino

Maker : RMXP

Logros MP :


MensajeTema: Re: Modificaciones al ABS de Near Fantastica   Lun Dic 24, 2012 11:24 am

En verdad que este sistema de batalla es bastante viejo.
No crees que deberías incluir el abs original, al menos para que quien no lo tenga se lo pueda descargar.

_________________




"La amenaza de una espada, mantiene a la otra envainada."

Spoiler:
 
Volver arriba Ir abajo
Ver perfil de usuario
kyonides-arkanthos
Lord Guru Maker
Lord Guru Maker
avatar

Cantidad de envíos : 1768
Miembro desde : 03/02/2010
Sexo : Masculino

Maker : RMXP


MensajeTema: Re: Modificaciones al ABS de Near Fantastica   Lun Dic 24, 2012 4:24 pm

La pregunta aquí sería si realmente lo tengo en mi PC...

Ya hablando en serío, ¿cómo esperaban que el demo del enlace de descarga corriera sin ese script de ABS?

Además ese demo también tiene otros scripts.
Volver arriba Ir abajo
Ver perfil de usuario http://deloquesea.mforos.com/forums/
NewBryan
Escudero Pro
Escudero Pro
avatar

Cantidad de envíos : 79
Miembro desde : 05/10/2011
Edad : 23
Localización : Uruguay - Cerro Largo - Rio Branco
Sexo : Masculino

Maker : RMXP


MensajeTema: Re: Modificaciones al ABS de Near Fantastica   Lun Feb 11, 2013 8:28 am

@kyonides-arkanthos: Hola kyonides, solo vengo a reportar un error. Me he descargado el demo del link que dejo en el post, pero al iniciar el juego me sale error, no he modificado nada en sus scripts, estan tal cual los descargue.

Screen del Error:
Spoiler:
 
Volver arriba Ir abajo
Ver perfil de usuario http://thenewworld.foros-phpbb.com
kyonides-arkanthos
Lord Guru Maker
Lord Guru Maker
avatar

Cantidad de envíos : 1768
Miembro desde : 03/02/2010
Sexo : Masculino

Maker : RMXP


MensajeTema: Re: Modificaciones al ABS de Near Fantastica   Lun Feb 11, 2013 12:05 pm

Me extraña que se genere dicho error, pero no lo he tocado en algùn tiempo. Verè si se trata de una versiòn màs vieja del script o què estarìa pasando, aunque admito que no es una de mis prioridades en este momento.
Volver arriba Ir abajo
Ver perfil de usuario http://deloquesea.mforos.com/forums/
Contenido patrocinado




MensajeTema: Re: Modificaciones al ABS de Near Fantastica   

Volver arriba Ir abajo
 
Modificaciones al ABS de Near Fantastica
Ver el tema anterior Ver el tema siguiente Volver arriba 
Página 1 de 1.
 Temas similares
-
» Liga Fantastica LVM - Sudafrica 2010
» Liga Fantastica Marca
» Iker Muniain FM 11
» FM2010 // Hércules CF - "Volver a Primera"
» donde se guardan los videos?

Permisos de este foro:No puedes responder a temas en este foro.
Maker Palace :: RGSS Scripts :: Scripts Maker XP-
Cambiar a: