Show posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Messages - Dark_Kyu09

1
Wow, it works! Thank you so much
You're totally awesome :D
2
Hey there, everyone. Not really sure if this is the right place to post, so forgive me if I got it wrong. I do need some help here. I'm currently working on a game project on the RPG Maker VX Ace engine and I'm using one of Moghunter's script, the Battle Result.

So I've got it working, but I stumble into a major problem. It doesn't grant any EXP to the reserved party members. I've already ticked the 'Reserve Party Members' EXP' by the System Settings, but the result is still the same.

The script is in the following here:
Spoiler: ShowHide


#==============================================================================
# +++ MOG - Battle Result (2.0) +++
#==============================================================================
# By Moghunter
# https://atelierrgss.wordpress.com/
#==============================================================================
# Apresentação animada do resultado da batalha.
#==============================================================================
# Arquivos necessários. (Graphics/System)
#
# Result.png
# Result_Layout.png
# Result_Levelup.png
# Result_Levelword.png
# Result_Number_1.png
# Result_Number_2.png
#
#==============================================================================
# ● Histórico (Version History)
#==============================================================================
# v2.0 - Correção do bug de não ativar o resultado em inimigos ocultos.
#==============================================================================
module MOG_BATLE_RESULT
  #Posição do EXP.
  RESULT_EXP_POSITION = [440,80]
  #Posição do GOLD.
  RESULT_GOLD_POSITION = [476,125]
  #Posição da palavra LeveL UP.
  RESULT_LEVELWORD_POSITION = [0,0]
  #Posição do Level.
  RESULT_LEVEL_POSITION = [230,-7]
  #Posição dos parâmetros
  RESULT_PARAMETER_POSITION = [70,70]
  #Posição da janela de skill.
  RESULT_NEW_SKILL_POSITION = [240,230]
  #Definição da animação de Level UP.
  RESULT_LEVELUP_ANIMATION_ID = 37
end

$imported = {} if $imported.nil?
$imported[:mog_battler_result] = true

#==============================================================================
# ■ Game Temp
#==============================================================================
class Game_Temp
  attr_accessor :level_parameter
  attr_accessor :level_parameter_old
  attr_accessor :result
  attr_accessor :battle_end
  attr_accessor :battle_result
   
  #--------------------------------------------------------------------------
  # ● Initialize
  #--------------------------------------------------------------------------
  alias mog_result_initialize initialize
  def initialize
      @level_parameter = [] ; @level_parameter_old = []
      @result = false ; @battle_end = false ; @battle_result = false
      mog_result_initialize
  end

  #--------------------------------------------------------------------------
  # ● Sprite Visible
  #--------------------------------------------------------------------------   
  def sprite_visible
      return false if $game_message.visible
      return false if $game_temp.battle_end
      return true
  end   
 
end

#==============================================================================
# ■ Game Actor
#==============================================================================
class Game_Actor < Game_Battler

  #--------------------------------------------------------------------------
  # ● Display_level_up
  #--------------------------------------------------------------------------
  alias mog_result_display_level_up display_level_up
  def display_level_up(new_skills)
      if $game_temp.result
         $game_temp.level_parameter = [@level,new_skills]
         return
      end   
      mog_result_display_level_up(new_skills)
  end

end

#==============================================================================
# ■ BattleManager
#==============================================================================
module BattleManager
 
  #--------------------------------------------------------------------------
  # ● Process Victory
  #--------------------------------------------------------------------------
  def self.process_victory
      @phase = nil
      @event_proc.call(0) if @event_proc
      $game_temp.battle_result = true ;play_battle_end_me ; replay_bgm_and_bgs
      SceneManager.return
      return true
  end
 
end

#==============================================================================
# ■ Spriteset Battle
#==============================================================================
class Scene_Battle < Scene_Base
 
  #--------------------------------------------------------------------------
  # ● Dispose
  #--------------------------------------------------------------------------               
  alias mog_battle_result_pre_terminate pre_terminate
  def pre_terminate
      execute_result if can_enable_battle_result?
      mog_battle_result_pre_terminate
  end 
 
  #--------------------------------------------------------------------------
  # ● Can Enable Battle Result?
  #--------------------------------------------------------------------------   
  def can_enable_battle_result?
      return false if !$game_temp.battle_result
      return true
  end
   
  #--------------------------------------------------------------------------
  # ● Execute Result
  #--------------------------------------------------------------------------                 
  def execute_result
      $game_temp.battle_result = false
      result = Battle_Result.new
      $game_temp.combo_hit[2] = 0 rescue nil if $imported[:mog_combo_count]
      @status_window.visible = false
      if $imported[:mog_battle_command_ex]
         @window_actor_face.visible = false if @window_actor_face != nil
      end
      loop do
           result.update ; @spriteset.update
           Graphics.update ; Input.update
           break if result.victory_phase == 10
      end
      result.dispose
      $game_party.on_battle_end
      $game_troop.on_battle_end
      SceneManager.exit if $BTEST
  end 
 
end

#==============================================================================
# ■ Battle Result
#==============================================================================
class Battle_Result
  include MOG_BATLE_RESULT
 
  attr_accessor :victory_phase
   
  #--------------------------------------------------------------------------
  # ● Initialize
  #--------------------------------------------------------------------------     
  def initialize
      $game_temp.battle_end = true ; $game_temp.result = true
      @victory_phase = 0 ; @victory_wait_duration = 0
      @fade_result_window = false ; create_victory_sprites
  end
 
  #--------------------------------------------------------------------------
  # ● Create Victory Sprites
  #--------------------------------------------------------------------------   
  def create_victory_sprites
      @result_number = Cache.system("Result_Number_1")
      @result_number2 = Cache.system("Result_Number_2")
      @result_cw = @result_number.width / 10
      @result_ch = @result_number.height / 2         
      @result2_cw = @result_number2.width / 10
      @result2_ch = @result_number2.height / 2 
      create_victory_text ; create_victory_layout ; create_victory_exp
      create_victory_gold ; create_window_treasure
  end 

  #--------------------------------------------------------------------------
  # ● Victory Wait ?
  #--------------------------------------------------------------------------       
  def victory_wait?
      return false if @victory_wait_duration <= 0
      @victory_wait_duration -= 1
      return true
  end     
 
  #--------------------------------------------------------------------------
  # ● End Victory
  #--------------------------------------------------------------------------   
  def end_victory
      @victory_wait_duration = 10 ; dispose
  end
 
  #--------------------------------------------------------------------------
  # ● Create Victory Layout
  #--------------------------------------------------------------------------     
  def create_victory_layout
      return if @victory_layout_sprite != nil
      @victory_layout_sprite = Sprite.new
      @victory_layout_sprite.z = 1001
      @victory_layout_sprite.bitmap = Cache.system("Result_Layout")
      @victory_layout_sprite.zoom_x = 2.0
      @victory_layout_sprite.opacity = 0
  end 
 
  #--------------------------------------------------------------------------
  # ● Create Victory Text
  #--------------------------------------------------------------------------     
  def create_victory_text
      return if @victory_sprite != nil
      @victory_sprite = Sprite.new
      @victory_sprite.z = 1000
      @victory_sprite.bitmap = Cache.system("Result")
      @victory_sprite.ox = @victory_sprite.width / 2
      @victory_sprite.oy = @victory_sprite.height / 2
      @victory_sprite.x = @victory_sprite.ox
      @victory_sprite.y = @victory_sprite.oy
      @victory_sprite.zoom_x = 1.5
      @victory_sprite.zoom_y = 1.5
      @victory_sprite.opacity = 0   
  end 
 
end

#==============================================================================
# ■ Battle Result
#==============================================================================
class Battle_Result
 
  #--------------------------------------------------------------------------
  # ● Dispose
  #--------------------------------------------------------------------------     
  def dispose
      $game_temp.result = false
      @victory_sprite.bitmap.dispose ; @victory_sprite.dispose
      @victory_layout_sprite.bitmap.dispose ; @victory_layout_sprite.dispose
      @exp_number.bitmap.dispose ; @exp_number.dispose
      @gold_number.bitmap.dispose ; @gold_number.dispose
      @result_number.dispose ; @window_treasure.dispose
      dispose_level_up ; @result_number.dispose ; @result_number2.dispose
      @tr_viewport.dispose
  end 
   
  #--------------------------------------------------------------------------
  # ● Dispose Result Actor Bitmap
  #--------------------------------------------------------------------------             
  def dispose_result_actor_bitmap
      return if @result_actor_sprite == nil
      return if @result_actor_sprite.bitmap == nil
      @result_actor_sprite.bitmap.dispose
  end
 
  #--------------------------------------------------------------------------
  # ● Dispose Level UP
  #--------------------------------------------------------------------------       
  def dispose_level_up
      return if @levelup_layout == nil
      @levelup_layout.bitmap.dispose ; @levelup_layout.dispose
      @levelup_word.bitmap.dispose ; @levelup_word.dispose
      @result_actor_sprite.bitmap.dispose ; @result_actor_sprite.dispose
      @parameter_sprite.bitmap.dispose ; @parameter_sprite.dispose
      @level_sprite.bitmap.dispose ; @level_sprite.dispose
      @new_skill_window.dispose if @new_skill_window
  end
 
end

#==============================================================================
# ■ Battle Result
#==============================================================================
class Battle_Result
 
  #--------------------------------------------------------------------------
  # ● Update
  #-------------------------------------------------------------------------- 
  def update
      $game_temp.battle_end = true
      if $mog_rgss3_pause != nil
         update_pause if MOG_PAUSE::PAUSE_SCENE_BATTLE
      end   
      return if @victory_phase == nil
      update_victory_fade if @fade_result_window
      return if victory_wait?
      case @victory_phase
         when 0;  update_victory_initial
         when 1;  update_victory_initial2
         when 2;  update_victory_initial3
         when 3;  update_victory_exp
         when 4;  update_victory_gold
         when 5;  update_victory_item
         when 6;  update_victory_levelup
         when 9;  update_skip_result
      end
      if Input.trigger?(:C)
         if @victory_phase == 10
            end_victory
         elsif @victory_phase.between?(1,5)
            Sound.play_cursor ; @victory_phase = 9
         end         
      end   
  end
 
  #--------------------------------------------------------------------------
  # ● Skip Result
  #--------------------------------------------------------------------------         
  def update_skip_result
      @victory_sprite.opacity -= 10
      @victory_sprite.visible = false
      @victory_layout_sprite.opacity += 10
      @victory_layout_sprite.zoom_x = 1.00
      @gold_number.opacity += 10
      @gold_number.zoom_x = 1.00
      @gold_number.zoom_y = 1.00
      @exp_number.opacity += 10
      @exp_number.zoom_x = 1.00
      @exp_number.zoom_y = 1.00     
      @window_treasure.contents_opacity += 10
      if @exp_old != @exp_total
         @exp_old = @exp_total
         refresh_exp_number
      end
      if @gold_old = @gold_total 
         @gold_old = @gold_total
         refresh_gold_number
      end   
      @window_treasure.x = 0
      update_victory_item if @window_treasure.contents_opacity == 255
  end 
 
  #--------------------------------------------------------------------------
  # ● Update Victory Fade
  #--------------------------------------------------------------------------       
  def update_victory_fade
      fade_speed = 10
      @victory_sprite.opacity -= fade_speed
      @victory_layout_sprite.opacity -= fade_speed
      @gold_number.opacity -= fade_speed
      @exp_number.opacity -= fade_speed
      @window_treasure.contents_opacity -= fade_speed
  end
 
  #--------------------------------------------------------------------------
  # ● Update Victory Initial
  #--------------------------------------------------------------------------     
  def update_victory_initial
      @victory_sprite.zoom_x -= 0.01
      @victory_sprite.zoom_y -= 0.01
      @victory_sprite.opacity += 10
      if @victory_sprite.zoom_x <= 1.00
         @victory_sprite.zoom_x = 1
         @victory_sprite.zoom_y = 1
         @victory_sprite.opacity = 255
         @victory_phase = 1
         @victory_wait_duration = 20
      end
  end

  #--------------------------------------------------------------------------
  # ● Update Victory Initial 2
  #--------------------------------------------------------------------------     
  def update_victory_initial2
      @victory_sprite.zoom_x += 0.01
      @victory_sprite.zoom_y += 0.01
      @victory_sprite.opacity -= 10
      if @victory_sprite.opacity <= 0
         @victory_sprite.zoom_x = 1
         @victory_sprite.zoom_y = 1
         @victory_sprite.opacity = 0
         @victory_phase = 2
      end
  end

  #--------------------------------------------------------------------------
  # ● Update Victory Initial 3
  #--------------------------------------------------------------------------       
  def update_victory_initial3   
      @victory_layout_sprite.zoom_x -= 0.02
      @victory_layout_sprite.opacity += 10
      if @victory_layout_sprite.zoom_x <= 1.00
         @victory_layout_sprite.zoom_x = 1
         @victory_layout_sprite.opacity = 255
         @victory_phase = 3
      end             
  end   
     
end

#==============================================================================
# ■ Battle Result
#==============================================================================
class Battle_Result

  #--------------------------------------------------------------------------
  # ● Create Victory Exp
  #--------------------------------------------------------------------------     
  def create_victory_exp
      @exp_number = Sprite.new
      @exp_number.bitmap = Bitmap.new(@result_number.width,@result_ch)
      @exp_number.z = 1002 ; @exp_number.y = RESULT_EXP_POSITION[1]
      @exp_number.zoom_x = 2 ; @exp_number.zoom_y = 2
      @exp_total = $game_troop.exp_total ; @exp_number.opacity = 0
      @exp_old = 0
      @exp_ref = ((1 * @exp_total) / 111).truncate rescue nil
      @exp_ref = 1 if @exp_ref < 1 or @exp_ref == nil     
      @exp_ref = 0 if @exp_total == 0
      refresh_exp_number
  end
 
  #--------------------------------------------------------------------------
  # ● Update Victory Exp
  #--------------------------------------------------------------------------       
  def update_victory_exp
      update_exp_sprite ; update_exp_number
  end
 
  #--------------------------------------------------------------------------
  # ● Update EXP Sprite
  #--------------------------------------------------------------------------         
  def update_exp_sprite
      @exp_number.opacity += 15
      if @exp_number.zoom_x > 1.00
         @exp_number.zoom_x -= 0.03
         @exp_number.zoom_x = 1.00 if @exp_number.zoom_x <= 1.00
      end
      @exp_number.zoom_y = @exp_number.zoom_x
      if (@exp_old >= @exp_total) and @exp_number.zoom_x == 1.00
         @victory_phase = 4
         Sound.play_cursor
      end   
  end

  #--------------------------------------------------------------------------
  # ● Refresh Exp Number
  #--------------------------------------------------------------------------       
  def refresh_exp_number
      @exp_number.bitmap.clear
      draw_result_exp(@exp_old, 0,0)     
  end

  #--------------------------------------------------------------------------
  # ● Update Exp_number
  #--------------------------------------------------------------------------
  def update_exp_number
      return if @exp_old == @exp_total
      @exp_old += @exp_ref
      @exp_old = @exp_total if @exp_old > @exp_total
      refresh_exp_number
  end

  #--------------------------------------------------------------------------
  # ● Draw Result EXP
  #--------------------------------------------------------------------------       
  def draw_result_exp(value,x,y)
      ncw = @result_cw ; nch = @result_ch ; number = value.abs.to_s.split(//)
      x2 = x - (number.size * ncw)
      @exp_number.ox = (number.size * ncw) / 2
      @exp_number.oy = @result_ch / 2
      @exp_number.x = (RESULT_EXP_POSITION[0] + @result_cw + @exp_number.ox) - (number.size * ncw)
      for r in 0..number.size - 1
          number_abs = number[r].to_i
          nsrc_rect = Rect.new(ncw * number_abs, 0, ncw, nch)
          @exp_number.bitmap.blt(x + (ncw *  r), y, @result_number, nsrc_rect)       
      end
  end

end

#==============================================================================
# ■ Battle Result
#==============================================================================
class Battle_Result

  #--------------------------------------------------------------------------
  # ● Create Victory Gold
  #--------------------------------------------------------------------------     
  def create_victory_gold
      @gold_number = Sprite.new
      @gold_number.bitmap = Bitmap.new(@result_number.width,@result_ch)
      @gold_number.z = 1002
      @gold_number.y = RESULT_GOLD_POSITION[1]
      @gold_number.opacity = 0
      @gold_number.zoom_x = 2
      @gold_number.zoom_y = 2     
      @gold_total = $game_troop.gold_total
      @gold_old = 0
      @gold_ref = ((1 * @gold_total) / 111).truncate rescue nil
      @gold_ref = 1 if @gold_ref < 1 or @gold_ref == nil     
      @gold_ref = 0 if @gold_total == 0
      $game_party.gain_gold($game_troop.gold_total)
      refresh_gold_number
  end   
 
  #--------------------------------------------------------------------------
  # ● Update Victory Gold
  #--------------------------------------------------------------------------       
  def update_victory_gold
      update_gold_sprite ; update_gold_number
  end
 
  #--------------------------------------------------------------------------
  # ● Update GOLD Sprite
  #--------------------------------------------------------------------------         
  def update_gold_sprite
      @gold_number.opacity += 15
      if @gold_number.zoom_x > 1.00
         @gold_number.zoom_x -= 0.03
         @gold_number.zoom_x = 1.00 if @gold_number.zoom_x <= 1.00
      end
      @gold_number.zoom_y = @gold_number.zoom_x
      if @gold_old >= @gold_total and @gold_number.zoom_x == 1.00
         @victory_phase = 5 ; Sound.play_cursor
      end   
  end 
 
  #--------------------------------------------------------------------------
  # ● Refresh gold Number
  #--------------------------------------------------------------------------       
  def refresh_gold_number
      @gold_number.bitmap.clear
      draw_result_gold(@gold_old, 0,0)     
  end
 
  #--------------------------------------------------------------------------
  # ● Update Gold Number
  #--------------------------------------------------------------------------
  def update_gold_number
      return if @gold_old == @gold_total
      @gold_old += @gold_ref
      @gold_old = @gold_total if @gold_old > @gold_total
      refresh_gold_number
  end       
 
  #--------------------------------------------------------------------------
  # ● Draw Result Gold
  #--------------------------------------------------------------------------       
  def draw_result_gold(value,x,y)
      ncw = @result_cw ; nch = @result_ch
      number = value.abs.to_s.split(//)
      x2 = x - (number.size * ncw)
      @gold_number.ox = (number.size * ncw) / 2
      @gold_number.oy = @result_ch / 2
      @gold_number.x = (RESULT_GOLD_POSITION[0] + @result_cw + @gold_number.ox) - (number.size * ncw)
      for r in 0..number.size - 1
          number_abs = number[r].to_i
          nsrc_rect = Rect.new(ncw * number_abs, @result_ch, ncw, nch)
          @gold_number.bitmap.blt(x + (ncw *  r), y, @result_number, nsrc_rect)       
      end
  end

end

#==============================================================================
# ■ Battle Result
#==============================================================================
class Battle_Result
 
  #--------------------------------------------------------------------------
  # ● Create Window Treasure
  #--------------------------------------------------------------------------           
  def create_window_treasure
      @tr_viewport = Viewport.new(-8, 164, Graphics.width + 32, 118)
      @tr_viewport.z = 1003
      @window_treasure = Window_Treasure.new
      @window_treasure.viewport = @tr_viewport
  end 
 
  #--------------------------------------------------------------------------
  # ● Update Victory Item
  #--------------------------------------------------------------------------         
  def update_victory_item
      @window_treasure.update
      @actor_level = []
      return if @window_treasure.x != 0 and @victory_phase >= 6
      @victory_phase = 6
      if $data_system.opt_extra_exp
         @result_member_max = $game_party.members.size
      else
         @result_member_max = $game_party.battle_members.size
      end
      @result_member_id = 0
  end
 
end

#==============================================================================
# ■ Window Treasure
#==============================================================================
class Window_Treasure < Window_Base

  #--------------------------------------------------------------------------
  # ● Initialize
  #--------------------------------------------------------------------------
  def initialize
      super(-Graphics.width,-10, Graphics.width + 32, 288)
      self.opacity = 0 ; self.contents_opacity = 0
      self.contents.font.size = 24 ; self.contents.font.bold = true
      self.z = 1003 ; @range_max = 256 ; @wait_time = 30 ; @scroll = false
      draw_treasure
  end

  #--------------------------------------------------------------------------
  # ● Draw_Treasure
  #-------------------------------------------------------------------------- 
  def draw_treasure
      contents.clear
      space_x = Graphics.width / 3
      $game_troop.make_drop_items.each_with_index do |item, index|
         xi = (index * space_x) - ((index / 3) * (space_x * 3))       
         yi = (index / 3) * 32
         $game_party.gain_item(item, 1)
         draw_item_name(item,xi, yi, true, 140)
     end
     @range_max = ($game_troop.make_drop_items.size / 3) * 32
     @scroll = true if $game_troop.make_drop_items.size > 12
  end 
 
  #--------------------------------------------------------------------------
  # ● Update
  #-------------------------------------------------------------------------- 
  def update
      super
      self.contents_opacity += 10
      if self.x < 0
         self.x += 15
        (self.x = 0 ; Sound.play_cursor) if self.x >= 0
      end
      if @scroll and self.contents_opacity == 255 and self.x == 0
         @wait_time -= 1 if  @wait_time > 0
         return if @wait_time > 0
         self.y -= 1
         self.y = 128 if self.y < -@range_max
         @wait_time = 30 if self.y == -10
      end
  end

end

#==============================================================================
# ■ Battle Result
#==============================================================================
class Battle_Result
 
  #--------------------------------------------------------------------------
  # ● Create Levelup
  #--------------------------------------------------------------------------           
  def create_levelup
      if @levelup_layout == nil
         @levelup_layout = Sprite.new ; @levelup_layout.z = 1000
         @levelup_layout.bitmap = Cache.system("Result_Levelup")
      end
      if @levelup_word == nil
         @levelup_word = Sprite.new ; @levelup_word.z = 1001
         @levelup_word.bitmap = Cache.system("Result_Levelword")
         @levelup_word.ox = @levelup_word.bitmap.width / 2
         @levelup_word.oy = @levelup_word.bitmap.height / 2
         @levelup_word.x = @levelup_word.ox + RESULT_LEVELWORD_POSITION[0]
         @levelup_word.y = @levelup_word.oy + RESULT_LEVELWORD_POSITION[1]
      end
      @levelup_word.blend_type = 1
      @levelup_word.zoom_x = 2 ; @levelup_word.zoom_y = 2       
  end 
 
  #--------------------------------------------------------------------------
  # ● Create Parameter Number
  #--------------------------------------------------------------------------             
  def create_parameter_number
      if @parameter_sprite == nil
         @parameter_sprite = Sprite.new
         @parameter_sprite.bitmap = Bitmap.new(250,220)
         @parameter_sprite.z = 1001
         @parameter_sprite.x = RESULT_PARAMETER_POSITION[0]
         @parameter_sprite.y = RESULT_PARAMETER_POSITION[1]
         @parameter_sprite.bitmap.font.size = 16
         @parameter_sprite.bitmap.font.bold = true         
      end
      refresh_parameter
  end
 
  #--------------------------------------------------------------------------
  # ● Refresh Parameter
  #--------------------------------------------------------------------------               
  def refresh_parameter
       @parameter_animation = 0
       @parameter_sprite.bitmap.clear
       @parameter_sprite.opacity = 0
       @parameter_sprite.x = RESULT_PARAMETER_POSITION[0] - 200
       actor_old = $game_temp.level_parameter_old
       draw_result_parameter(@actor_result.mhp,actor_old[1],0,28 * 0)
       draw_result_parameter(@actor_result.mmp,actor_old[2],0,28 * 1)
       draw_result_parameter(@actor_result.atk,actor_old[3],0,28 * 2)
       draw_result_parameter(@actor_result.def,actor_old[4],0,28 * 3)
       draw_result_parameter(@actor_result.mat,actor_old[5],0,28 * 4)
       draw_result_parameter(@actor_result.mdf,actor_old[6],0,28 * 5)
       draw_result_parameter(@actor_result.agi,actor_old[7],0,28 * 6)
       draw_result_parameter(@actor_result.luk,actor_old[8],0,28 * 7)
  end 
 
  #--------------------------------------------------------------------------
  # ● Draw Result EXP
  #--------------------------------------------------------------------------       
  def draw_result_parameter(value,value2,x,y)
      ncw = @result2_cw ; nch = @result2_ch ; number = value.abs.to_s.split(//)
      x2 = x + (number.size * ncw) + 16
      for r in 0..number.size - 1
          number_abs = number[r].to_i
          nsrc_rect = Rect.new(ncw * number_abs, 0, ncw, nch)
          @parameter_sprite.bitmap.blt(x + (ncw *  r), y, @result_number2, nsrc_rect)       
      end
      value3 = value - value2
      par = ""
      if value > value2
         par = "+"
         @parameter_sprite.bitmap.font.color = Color.new(50,255,255)
      elsif value < value2
         par = ""
         @parameter_sprite.bitmap.font.color = Color.new(255,155,100)
      end
      return if value == value2
      @parameter_sprite.bitmap.draw_text(x2,y - 8,100,32,par.to_s + value3.to_s,0)   
  end 
 
  #--------------------------------------------------------------------------
  # ● Create Result Actor
  #--------------------------------------------------------------------------           
  def create_result_actor
      if @result_actor_sprite == nil
         @result_actor_sprite = Sprite.new ; @result_actor_sprite.z = 999
      end
      dispose_result_actor_bitmap
      @result_actor_sprite.bitmap = Cache.picture("Actor" + @actor_result.id.to_s)
      @result_actor_org = [380 - (@result_actor_sprite.bitmap.width / 2), Graphics.height - @result_actor_sprite.bitmap.height]
      @result_actor_sprite.x = @result_actor_org[0] + 200
      @result_actor_sprite.y = @result_actor_org[1]
      @result_actor_sprite.opacity = 0
  end 

  #--------------------------------------------------------------------------
  # ● Check New Skill
  #--------------------------------------------------------------------------             
  def check_new_skill
      @new_skills = $game_temp.level_parameter[1] ; @new_skills_index = 0
  end
     
  #--------------------------------------------------------------------------
  # ● Show New Skill
  #--------------------------------------------------------------------------               
  def show_new_skill(start = false)
      Sound.play_recovery unless start
      @new_skill_window.draw_new_skill(@new_skills[@new_skills_index])
      @new_skills_index += 1
      if @new_skills_index == @new_skills.size or
         @new_skills[@new_skills_index] == nil
         @new_skills = nil
      end   
  end
 
  #--------------------------------------------------------------------------
  # ● Check Level UP
  #--------------------------------------------------------------------------           
  def check_level_up   
      if @new_skills != nil and !@new_skills.empty?
         show_new_skill
         return
       end 
      for battler_id in @result_member_id..@result_member_max
          actor_result = $game_party.members[@result_member_id] 
          $game_temp.level_parameter = []
          $game_temp.level_parameter_old = []
          $game_temp.level_parameter_old = [actor_result.level,actor_result.mhp,actor_result.mmp,
          actor_result.atk, actor_result.def, actor_result.mat, actor_result.mdf, actor_result.agi, actor_result.luk] rescue nil
          actor_result.gain_exp($game_troop.exp_total) rescue nil
          @result_member_id += 1 ; @new_skills = nil ; @new_skills_index = 0
          if @result_member_id > $game_party.battle_members.size
             $game_temp.level_parameter = []
             $game_temp.level_parameter_old = []
             next
          end
          if $game_temp.level_parameter != nil and !$game_temp.level_parameter.empty?
             show_level_result
             break
          end   
      end
      return if !$game_temp.level_parameter.empty?
      @victory_phase = 10 if @result_member_id >= @result_member_max
  end 
 
  #--------------------------------------------------------------------------
  # ● Create Level
  #--------------------------------------------------------------------------               
  def create_level
      if @level_sprite == nil
         @level_sprite = Sprite.new ; @level_sprite.bitmap = Bitmap.new(200,64)
         @level_sprite.z = 1002
      end     
      @level_sprite.bitmap.font.size = 48
      @level_sprite.bitmap.font.bold = true
      @level_sprite.x = RESULT_LEVEL_POSITION[0]
      @level_sprite.y = RESULT_LEVEL_POSITION[1]
      @level_sprite.bitmap.clear
      @level_sprite.bitmap.font.color = Color.new(255,255,255)
      @level_sprite.bitmap.draw_text(0,0,100,64,@actor_result.level,1)
      levelup = @actor_result.level - $game_temp.level_parameter_old[0]
      @level_sprite.bitmap.font.color = Color.new(50,255,255)
      @level_sprite.bitmap.font.size = 18
      @level_sprite.bitmap.draw_text(80,0,100,64,"+" + levelup.to_s ,0)
  end
 
  #--------------------------------------------------------------------------
  # ● Create New Skill Windos
  #--------------------------------------------------------------------------                 
  def create_new_skill_window
      @new_skill_window = Window_Result_Skill.new if @new_skill_window == nil
      @new_skill_window.x = RESULT_NEW_SKILL_POSITION[0]
      @new_skill_window.y = RESULT_NEW_SKILL_POSITION[1]
      check_new_skill
      if @new_skills != nil and !@new_skills.empty?
         show_new_skill
      else 
         @new_skill_window.x = -Graphics.width
      end
  end 
 
  #--------------------------------------------------------------------------
  # ● Show Level Result
  #--------------------------------------------------------------------------             
  def show_level_result
      Sound.play_cursor
      @actor_result = $game_party.members[@result_member_id - 1] rescue nil
      return if @actor_result == nil
      @actor_result.animation_id = RESULT_LEVELUP_ANIMATION_ID
      @fade_result_window = true
      create_levelup ; create_level ; create_parameter_number
      create_result_actor ; create_new_skill_window
  end 
 
end

#==============================================================================
# ■ Battle Result
#==============================================================================
class Battle_Result
 
  #--------------------------------------------------------------------------
  # ● Update Victory Item
  #--------------------------------------------------------------------------         
  def update_victory_levelup     
       check_level_up if Input.trigger?(:C)
       update_show_levelup
       if @levelup_layout == nil
          @window_treasure.update
       else
          @window_treasure.contents_opacity -= 15
       end
  end
 
  #--------------------------------------------------------------------------
  # ● Update Show Level UP
  #--------------------------------------------------------------------------           
  def update_show_levelup
      return if @levelup_layout == nil
      return if @result_actor_sprite == nil
      @new_skill_window.update
      if @result_actor_sprite.x > @result_actor_org[0]
         @result_actor_sprite.x -= 5
         @result_actor_sprite.opacity += 7
         if @result_actor_sprite.x <= @result_actor_org[0]
            @result_actor_sprite.x = @result_actor_org[0]
            @result_actor_sprite.opacity = 255
         end
      end
      if @levelup_word.zoom_x > 1.00
         @levelup_word.zoom_x -= 0.03
         if @levelup_word.zoom_x < 1.00
            @levelup_word.zoom_x = 1.00 ; @levelup_word.blend_type = 0
         end
      end
      @levelup_word.zoom_y = @levelup_word.zoom_x
      if @parameter_sprite.x < RESULT_PARAMETER_POSITION[0]
         @parameter_sprite.opacity += 13
         @parameter_sprite.x += 5
         if @parameter_sprite.x >= RESULT_PARAMETER_POSITION[0]
            @parameter_sprite.opacity = 255
            @parameter_sprite.x = RESULT_PARAMETER_POSITION[0]
         end   
      end 
  end   
 
end

#==============================================================================
# ■ Window Result Skill
#==============================================================================
class Window_Result_Skill < Window_Base

  #--------------------------------------------------------------------------
  # ● Initialize
  #--------------------------------------------------------------------------
  def initialize
      super(0,0, 270, 58)
      self.opacity = 160 ; self.contents_opacity = 255
      self.contents.font.bold = true ; self.z = 1003 ; @animation_time = 999
      @org = [MOG_BATLE_RESULT::RESULT_NEW_SKILL_POSITION[0],MOG_BATLE_RESULT::RESULT_NEW_SKILL_POSITION[1]]
  end

  #--------------------------------------------------------------------------
  # ● DrawNew Skill
  #-------------------------------------------------------------------------- 
  def draw_new_skill(skill)
      contents.clear
      self.contents.font.size = 16
      self.contents.font.color = Color.new(100,200,100)
      contents.draw_text(0,0,100,32, "New Skill",0)
      self.contents.font.color = Color.new(255,255,255)
      draw_item_name_skill(skill,70,0, true, 170)
      self.x = @org[0] ; self.y = @org[1]
      @animation_time = 0 ; self.opacity = 0 ; self.contents_opacity = 0     
  end 
 
  #--------------------------------------------------------------------------
  # ● Draw Item Name
  #--------------------------------------------------------------------------
  def draw_item_name_skill(item, x, y, enabled = true, width = 172)
      return unless item
      draw_icon(item.icon_index, x, y, enabled)
      change_color(normal_color, enabled)
      draw_text(x + 24, y + 4, width, line_height, item.name)
  end
 
  #--------------------------------------------------------------------------
  # ● Update
  #-------------------------------------------------------------------------- 
  def update
      super
      return if @animation_time == 999 
      @animation_time += 1 if @animation_time != 999
      case @animation_time
          when 0..30
            self.y -= 1 ; self.opacity += 5 ; self.contents_opacity += 5                 
          when 31..60
            self.y += 1 ; self.opacity += 5 ; self.contents_opacity += 5                     
          else
            self.y = @org[1] ; self.opacity = 255 ; self.contents_opacity = 255
            @animation_time = 999     
      end
  end 
   
end



Can someone help edit the script?
3
General Discussion / Tips for Promoting RPG Maker Game
December 09, 2015, 07:36:10 pm
I hope I'm posting at the right place.

I do need some help. You see, I'm having big trouble trying to get more and more people to try out my game project. Sadly, not many people get to try out the game, both in Youtube and the forums I've been at. I was hoping to get some tips in how to promote the game, as in getting more and more guys to try it out.

Can anyone at least give me a few tips?
Thank you for your time :)
4
Welcome! / Re: Zeriab is back, this time with hugs
October 21, 2015, 08:16:50 pm
Welcome back, Zeriab  :clap:

:beer:
5
Good news, everyone.

Rakenzarn Tales version 2 has finally been released. New link is in the first post or you can get it from this site
rknztales.wikia.com/wiki/Download_Links

6
Welcome! / Re: Hey everyone!
October 01, 2015, 04:14:44 am
Hello there! Welcome to the forum :)

Hope you enjoy it here as much as the rest of us do.
7
Welcome! / Re: An apology and hello
September 29, 2015, 06:47:54 pm
Whoa! Hey there, R.A.V.S.O.! Same here to you!
Never thought you'd be here besides the old rpg palace site.
8
Welcome! / Re: An apology and hello
September 28, 2015, 06:29:31 pm
Aww, thanks.
Glad to see some have replied.
9
Welcome! / An apology and hello
September 28, 2015, 11:06:38 am
Should've done this years ago.

First of all, I really wanna apologize for not doing this sooner. I guess I was young back then and had a bad habit of rush into things too quickly.  :^_^': Now here, I'm thinking of coming back to this site with an introduction.

Anyway, hi there. My name is Dark_Kyu09.
Love playing video games and making them using RPG Maker (My main is none other than RPG Maker XP).
Currently, doing my life-long crossover game project.

Hope to get to know each other!  :)
10
Well, it's been a long ride but about time I manage to work this out.  :^_^':

If you have been following the game in my deviantart page or the other site, this is Version 1.2.2. This is also going to be the last of Version 1 before moving on to Version 2.

This latest version has little change from version 1.2.1., with only completing Chapter 8. This chapter will conclude the Da'fur Region arc. Also, it has two secret bosses that you can only fight after completing the main story.

I hope you'll enjoy this game.
11
Ah. Looks like a little error, but I can fix it, RayX1.

https://www.dropbox.com/s/eg37d5n7b6xre8n/Fixed%20Map%20Data.zip?dl=0
Inside the file is an RPGXP Data "Map057"

After you DL it, go to the game's Data folder and then replace the Map057 inside with the new one. After that, you just leave the library through the door and go back inside. It should fix the bug.

In any case, thank you very much for the heads up.
12
New Projects / Re: Kingdom Hearts: Age of Guardians
July 06, 2014, 07:42:35 pm
 :o Oh my... You, sir, are badass. That is one amazing title screen, totally capturing the Kingdom Hearts feel.

Now you just make me feel more excited for the game! :)
13
Whoa, this looks really neat. The sprite works are just amazing.

I'll definitely try this out this weekend once I get enough free time.
14
Sorry for the late reply, WhiteRose. I was kinda busy lately  :^_^':

Anyways, thank you very much. I'll be glad if you can try the game out and tell me what you think about it :)
15
I really don't know if anyone's paying much attention here, but I guess I can just post it here on.

Anyways, I've done a lot of updates and improving the game for months. I thought it's a good time to release the updated version. It continues the storyline (about 7 chapters) and improvising the gameplay mechanic.

The current version, 1.2.1., also features a new gameplay element: the Ultra Bosses.
This is actually inspired by the Epic Boss fights from Marvel: Avengers Alliance. These are villains that will only appear when certain characters are in your active party and after defeating certain bosses, mostly the main storyline bosses. But it's not just limited to the storyline, they're also in guild quests. Remember, the character must be in the active party, not the reserve party or you will not trigger the Ultra Boss fight.

Spoiler: ShowHide
For example: in Chapter 4, you must use Donald in the chapter's final boss. If you defeat the boss, the chapter doesn't end there. Instead, you fight another boss completely by surprise (yes, that is the Ultra Boss). Once the Ultra Boss is defeated, the chapter ends.


The Ultra Bosses are way harder than the normal bosses, but defeating them can give additional rewards for yourself and the specific character. It's worth the shot. However, a lot of them are missable, so you only have one shot with them.

Hope you get to enjoy the game.
16
New Projects / [XP] Cry of the Forbidden Ones
April 28, 2014, 11:45:16 am
Thought I should post this. This is actually my secondary project (my primary game project is Rakenzarn Tales). It's still under development.

The game is based on Umineko no Naku Koro Ni and mostly takes place in an alternate reality. In addition, there are also certain elements and characters from the Forgotten Realms series.




Story
Spoiler: ShowHide
The story takes place in the year 1990 where the realms of magic exists, but no one seems to be aware of it except for a very few people. Demons are capable of hunting humans without being seen, mages abuse their magic for their personal gains, a shadowy conspiracy working in secrets... It is indeed a world of chaos.

Fortunately, there are those who execute and right the wrongs. Enter the Ludicium Magicum, an organization that enforces and protect the law of both realms, mainly keeping secret from the real world as the people aren't ready to learn such existence. They usually send their 'Agents' and 'Inquisitors' to execute any beings that are considered as threats, arrest mages who abuse their gifts, etc.

You play as Kanon, the newest member and the youngest of the Ludicium Magicum. His past is shrouded in mystery and he can't remember anything from his past. His descent into the world of magic will force him to face ominous demons, witches, dark mages, and mysterious servants with magical properties known as Furniture while uncovering his past.



Main characters


Spoiler: ShowHide
Kanon

The 16-year-old boy who is the newest member of the organization. He possesses a mysterious gift that allow him to fight both supernatural and magic property. His primary weapon is a laser blade that he can summon with his bare hands.

As the game progresses, Kanon can use different variety of his laser blade, ranging from a long scythe to twin blades.



Khelben Blackstaff Arunsun
One of the most renowned Archmages from the Forgotten Realm series. He's actually from another realm but is tasked to be the leader of the Ludicium Magicum.

For those who don't know about the Forgotten Realms, it's actually a campaign for the Dungeons & Dragons (D&D) fantasy role-playing game. It's quite interesting with its stories and realms, which will play a role in the story.



Elise
The main character's Familiar in a form of a European Robin. She acts as the main character's voice of reason and guide as she tutors him. She's a bit sarcastic as she tends to insult the Rookie though she'll start to warm up to him.



Gabriel Cunningham
A veteran agent of the Ludicium Magicum and the main character's mentor. He's a smooth, slick type of character who has very bad luck with women. He's also quite fascinated with Japanese culture.

His appearance is that of a young man in his early 30s. He has a short, black, messy hair wearing a white T-Shirt with a trench coat and blue jeans.


Catherine
An agent of the Ludicium Magicum. She is a young woman who has some experience in combat. She wields a rapier.

Other characters from Umineko will also make their appearances in the game, but later on.



Features/Gameplay
Spoiler: ShowHide
The game will feature dark, gothic atmosphere with few elements of the supernatural and magic. Not to mention, a few references to the horror genre.

It mostly takes place in Europe with London being the main hub. The Rookie's home is an apartment owned by another member of the Ludicium Magicum.

The game will be part visual novel through Kanon's point of view as you go explore and solve various murders committed in the most bizarre (and sometimes downright disturbing) ways. It's also part RPG with dark, horror element mixed into it using Tigurus Fay's One-Player Battle system as you battle against a variety of enemies. There will be a total of five episodes with each takes place in different locations. In the very beginning, only one episode is unlocked. You have to complete one to unlock the other episodes. Other characters from the series will also make their appearances in the game.

There will also be a crafting system, inspired by the Forging System from Castlevania: Curse of Darkness. It allows players to create items and armors through forgery in "workshops," which are located throughout the episodes. Other times, it can allow Kanon to forge his energy blade; players can upgrade it and even change forms ranging from a standard blade to demonic claws. By defeating enemies, players can gain materials, which can be used to create new items in crafting. However, some materials can be only bought in shops.

Other feature includes dialogue trees that result in different outcomes (something I'm bringing back from my previous game project), face portraits for major characters in dialogue, and various music from the visual novel.


Screenshots
Spoiler: ShowHide

Episode selection






The character is created through Anonymous D.'s anime character creator




The battle system



So what do you think with this game's concept and story?

This is all I can show for now.
17
It works! It really works!

Thank you so much, KK20! I really appreciate it  :D
18
Quote from: ThallionDarkshine on April 26, 2014, 08:21:41 pm
what other scripts are you using? I can't find any issues in the demo.


Let's see, I'm using:
- One-Player Menu Script by Tigurus
- Advanced Message Script
- Emoticon script by Ánemus
- Law's Custom Save System
19
Quote from: PhoenixFire on April 26, 2014, 10:35:59 am
All I found there was a Morale Add-on script... Are you sure you linked to the right page?


Danggit.  :facepalm:
Sorry, I got the wrong link by accident.
20
http://www.rpgmaker.org/resources/view.asp?id=36

Here it is. I got it from here.