Grade Victory Screen

Clord

Nya~
Veteran
Joined
Aug 5, 2012
Messages
2,358
Reaction score
385
Primarily Uses
Your script has ended up becoming part of my current project.
 

ディーノス

Make a new destiny!
Veteran
Joined
Jul 3, 2012
Messages
187
Reaction score
19
First Language
Indonesian
Primarily Uses
can u make this victory scene to 6 characters?

i'm really need it...
 

oshakashama

Warper
Member
Joined
Nov 9, 2012
Messages
1
Reaction score
0
First Language
English
Primarily Uses
This script will work perfectly in a game idea I have. There is one problem I'm noticing at the moment though. I'm currently testing this alongside Fomar0153's ATB/CTB System script. Starting up the battle is fine, so long as I keep this script above the ATB system, but once I attack an enemy, I get an error saying...



Script 'Graded Battles' line 741: NoMethodError occured



undefined method `[]' for nil:NilClass

Any clue on how to fix this to work better with the ATB System?
 
Joined
Apr 30, 2012
Messages
216
Reaction score
35
First Language
Spanish
Primarily Uses
This is a great script,thanks you very much NeonBlack.

The only problem that i see,is the Damage Dealt count,the number showed after battle is equivalent to enemy max hp,not in the damage dealt by the party members.

Excuse me for my bad English and greetings from Argentina.
 
Last edited by a moderator:

Hirei

Veteran
Veteran
Joined
Mar 18, 2012
Messages
798
Reaction score
642
First Language
English
Primarily Uses
RMVXA
Wow script looks interesting, I might have to use this for my capstone. But I wonder if I can edit my GUI to fit this.
 
Last edited by a moderator:

Neon Black

The Classy Prostitute
Veteran
Joined
Mar 17, 2012
Messages
1,149
Reaction score
374
First Language
Sarcasm
Primarily Uses
Updated to version 2.1. This includes the following changes.

  • Fixed a pretty serious glitch that actually made items HARDER to get if their drop multiplier was higher.
  • Added grade requirements for extra drops.
  • Allowed support for more more or less than 4 characters.
  • Cleaned up exp bars a little. They still require modifications to work with gauge related scripts.

Sorry, been holding this one for a while.... Any issues let me know and I'll fix them up.
 

NorthernChild10

Villager
Member
Joined
Dec 11, 2012
Messages
8
Reaction score
0
First Language
French
Primarily Uses
Ahoy, Neon Black!

I'm currently testing out if your script could work out with the project I am currenclty working on, and so far, it's awesome, except that I run into one small ambiguity.

I will start by saying that I have but small knowledge of the whole RMVXAce program and of it's scripting aspect, but thus far I have been pretty succesful with what I'm testing and I know how to google, but I prefer to ask you directly

For the first part of my project, the player is playing the villain, and enters into some battles. I would want to know if it was possible to disactivate your script for the first 4-5 maps of my project, than activate it when the player gets to play the actual main character.

Already thanking you for the answer, but mostly for the hard work you must have put in this. Truly enjoying it.
 
Last edited by a moderator:

Neon Black

The Classy Prostitute
Veteran
Joined
Mar 17, 2012
Messages
1,149
Reaction score
374
First Language
Sarcasm
Primarily Uses
I can add a way to make it disable while a switch is active, but I am a bit busy at the moment, so it'll be a few days before I add that in.
 

NorthernChild10

Villager
Member
Joined
Dec 11, 2012
Messages
8
Reaction score
0
First Language
French
Primarily Uses
I can understand, with all the exams going! Well thanks for your fast answer, will check up this thread regularly.
 

deilin

Ranger/Elementalist
Veteran
Joined
Mar 13, 2012
Messages
1,188
Reaction score
172
First Language
English
I was thinking of a grade on our average grades.

As the game progresses, it keeps track of all your grades (E - S) and gives a grade on your average grade in a script call.
 

Archduke

Jack of all Trades
Veteran
Joined
Jul 1, 2012
Messages
292
Reaction score
80
First Language
English
Primarily Uses
Not sure if you've already considered this, but is there a way to customize the grading ratio for different battles? Like, I wouldn't want it to grade them as harshly for a boss battle or optional bosses, etc. In this way, I'd set the amount of terms before it started to affect their grade; I'd set how much damage they could take; and I'd set how many deaths before it began to seriously decrease their final score in battle.

This would increase the usability of this script ten fold, I would think!

EDIT: Also, maybe it would be lighter or harsher on the player depending on how many characters they have in their active party at any given time? (e.g. beating a hard boss with 1 character scores higher than beating the same boss with 4)
 
Last edited by a moderator:

deilin

Ranger/Elementalist
Veteran
Joined
Mar 13, 2012
Messages
1,188
Reaction score
172
First Language
English
Not sure if you've already considered this, but is there a way to customize the grading ratio for different battles? Like, I wouldn't want it to grade them as harshly for a boss battle or optional bosses, etc. In this way, I'd set the amount of terms before it started to affect their grade; I'd set how much damage they could take; and I'd set how many deaths before it began to seriously decrease their final score in battle.

This would increase the usability of this script ten fold, I would think!

EDIT: Also, maybe it would be lighter or harsher on the player depending on how many characters they have in their active party at any given time? (e.g. beating a hard boss with 1 character scores higher than beating the same boss with 4)
You can give bonus points for boss kills, and bonus for healing since most if the score is damage dealt than recieved.
 

Archduke

Jack of all Trades
Veteran
Joined
Jul 1, 2012
Messages
292
Reaction score
80
First Language
English
Primarily Uses
You can give bonus points for boss kills, and bonus for healing since most if the score is damage dealt than recieved.
That isn't at all what I wanted, or meant, but whatever you want to implement.
 

Neon Black

The Classy Prostitute
Veteran
Joined
Mar 17, 2012
Messages
1,149
Reaction score
374
First Language
Sarcasm
Primarily Uses
I could maybe make a way to swing the damage ratio up or down to affect the score you get from damage.

When I was first working on the script I had a value for a solo party bonus, but I removed it.

I'm not too keen on modifying the overall score based on conditions, but I might find some clever way to re-implement party members into the score.
 

deilin

Ranger/Elementalist
Veteran
Joined
Mar 13, 2012
Messages
1,188
Reaction score
172
First Language
English
well, the damage you can deal is capped at enemy total HP, while damage you recieved has no cap, so the longer the battle draws out, the worse it is for the grade. What about a point multiplier on boss tags.
 

Neon Black

The Classy Prostitute
Veteran
Joined
Mar 17, 2012
Messages
1,149
Reaction score
374
First Language
Sarcasm
Primarily Uses
I could probably add a point multiplier tag for enemies that would work similar to the point bonus tag.

grade multi[120%]

For example.
 

pinkapinkie

Veteran
Veteran
Joined
Mar 30, 2012
Messages
69
Reaction score
6
First Language
Italian
Primarily Uses
Could you make this compatible with MOG ATB system? I'm only having an issue at the end of battle, when it displays all the custom windows, the ATB bar won't stop running, causing a little problem when trying to select an enemy who is already dead.

Here's MOG's script:

Code:
#==============================================================================
# +++ MOG - AT System (v0.6 Beta) +++
#==============================================================================
# By Moghunter
# http://www.atelier-rgss.com/
#==============================================================================
# Sistema de batalha de turnos em tempo real.
#==============================================================================
#==============================================================================
# ● Histórico (Version History)
#==============================================================================
# v 0.6 - Corrigido o bug de ações forçadas consecutivas.
#     - Corrigido o bug de contagem de turnos das condições. (Stop / Sleep)
#     - Corrigido o bug de resetar o AT quando o battler recebe qualquer
#         tipo de status que não tenham o efeito Stop / Sleep.
# v 0.5 - Corrigido o bug da contagem de turnos nas condições. (States)
# v 0.4 - Corrigido o bug de crash randômico. (relativo a dispose de imagem.)
#     - Corrigido o bug de crash randômico. (relativo ao turno.)
#     - Corrigido o bug de travar a tela na execução da mensagem de batalha.
# v 0.3 - Corrigido o Bug da janela de comando ao apertar a tecla Cancel.
#     - Corrigido o Bug de não apresentar a janela de status no começo.
#     - Melhor codificação para aumentar a compatibilidade.
#     - Opção de definir a posição do medidor de AT pelo X&Y do battler.
# v 0.2 - Corrigido o bug da seleção do alvo para ações de cast time.
# v 0.1 - Primeiro lançamento.
#==============================================================================
#==============================================================================
# ● Imagens Necessárias
#==============================================================================
# Serão necessários as imagens:
#
# Battle_AT_Layout.png
# Battle_AT_Meter.png
#
# Na pasta GRAPHICS/SYSTEM/
#
#==============================================================================
# ● AT SYSTEM
#==============================================================================
# A velocidade de AT é baseaddo na agilidade do Battler.
# Em caso de batalhas preventivas (Preemptive) os aliados começarão com AT em
# 80% e os inimigos começarão com AT em 0 (Zero)
# Em batalhas surpresas (Surprise) é o inverso das batalhas preventivas.
# Em batalhas normais todos os battlers começarão com AT em 40%.
#==============================================================================
# ● CAST TIME
#==============================================================================
# Para definir uma habilidade ou item com a função de Cast Time basta definir
# o valor da velocidade (Speed) diferente de 0 (Zero).
#
# NOTA - Não é possível ativar 2 ou mais habilidades com a função Cast Time no
# mesmo turno. (Caso você esteja usando características de Multi Action em
# seu projeto.)
#==============================================================================
module MOG_AT_SYSTEM
# Tipo de posicionamento da Hud.
# 0 - Posição fixa.
# 1 - Posição baseado no valor X e Y do battler.
HUD_POSITION_TYPE = 0
#Posição geral (Inicial) da Hud.
HUD_POSITION = [15,470]
#Posição do medidor de AT
AT_METER_POSITION = [29,1]
#Definição da posição do espaço da HUD entre os membros do grupo.
#
#MEMBERS_SPACE = [Horizontal ,Vertical]
#
MEMBERS_SPACE = [170,0]
#Velocidade de animação do medidor de at, defina 0 se não quiser a animação.
AT_METER_FLOW_SPEED = 3
#Prioridade da Hud.
BATTLE_HUD_Z = 0
#Som quando o sistema AT estiver no maximo
SE_ACTIVE = "Decision2"
#Definição do valor de AT para ativar a ação.(Gauge Meter).
AT_GAUGE_METER = 5000
# Definição do tipo de duração (Contagem/formula) de um turno.
# Essa definição influência na ativação dos eventos de batalha.
# (BATTLE EVENTS)
#
# 0 - Duração de um turno é um valor fixo.
# 1 - Duração de um turno é multiplicado pela quantidade de batllers.
# 2 - Duração de um turno é baseado na média de agilidade dos battlers.
#
TURN_DURATION_TYPE = 0
# Definição de valor usado para calcular a duração de um turno.
TURN_DURATION = 100
# Definição da animação quando o battler usa habilidades de carregamento.
CAST_ANIMATION = 81
# Ativar a janela de LOG, deixe desativado se desejar uma batalha mais
# dinâmica.
WAIT_LOG_WINDOW = true
# Ativar a mensagem inicial com os nomes dos inimigos.
MESSAGE_ENEMY_APPEAR = false
# Definição da posição da janela de mensagem.
# 0 - Superior
# 1 - Centro
# 2 - Inferior
MESSAGE_POSITION = 0
end
#==============================================================================
# ■ Game_System
#==============================================================================
class Game_System

attr_accessor :at_max

#--------------------------------------------------------------------------
# ● Initialize
#--------------------------------------------------------------------------        
alias mog_at_system_initialize initialize
def initialize
     @at_max = [[MOG_AT_SYSTEM::AT_GAUGE_METER, 999999].min, 100].max
     mog_at_system_initialize
end

end
#==============================================================================
# ■ BattleManager
#==============================================================================
module BattleManager

#--------------------------------------------------------------------------
# ● Battle Start
#--------------------------------------------------------------------------
def self.battle_start
     $game_system.battle_count += 1
     $game_party.on_battle_start
     $game_troop.on_battle_start
     if MOG_AT_SYSTEM::MESSAGE_ENEMY_APPEAR
         $game_troop.enemy_names.each do |name|
         $game_message.add(sprintf(Vocab::Emerge, name))
         end
     end
     if @preemptive
         $game_message.add(sprintf(Vocab::Preemptive, $game_party.name))
     elsif @surprise
         $game_message.add(sprintf(Vocab::Surprise, $game_party.name))
     end
     wait_for_message
end

#--------------------------------------------------------------------------
# ● Input Start
#--------------------------------------------------------------------------
def self.input_start_at(battler)
     if @phase != :input
         @phase = :input
         battler.make_actions
         clear_actor
     end
     return !@surprise && battler.inputable?
end

#--------------------------------------------------------------------------
# ● Turn Start
#--------------------------------------------------------------------------
def self.turn_start
     @phase = :turn
     clear_actor
     make_action_orders
end

#--------------------------------------------------------------------------
# ● Preemtive Attack
#--------------------------------------------------------------------------
def self.preemptive_attack
     @preemptive
end

#--------------------------------------------------------------------------
# ● Suprise Attack
#--------------------------------------------------------------------------
def self.surprise_attack
     @surprise
end

end
#==============================================================================
# ■ Game Action
#==============================================================================
class Game_Action

#--------------------------------------------------------------------------
# ● Prepare
#--------------------------------------------------------------------------            
alias mog_at_system_prepare prepare
def prepare
     mog_at_system_prepare
     set_cast_action
end

#--------------------------------------------------------------------------
# ● Set Cast Action
#--------------------------------------------------------------------------            
def set_cast_action
     return if forcing
     if @item.object != nil and @item.object.speed != 0 and @subject.at_cast.empty?
         @subject.at_cast = [@item.object,@item.object.speed.abs,@target_index]
         @item.object = nil
         @subject.animation_id = MOG_AT_SYSTEM::CAST_ANIMATION
         @subject.at = 0
         BattleManager.turn_end if @subject.auto_battle?
     elsif !@subject.at_cast.empty?
         if @subject.at_cast[1] == 0
         @item.object = @subject.at_cast[0]
         @target_index = @subject.at_cast[2]        
         @subject.at_cast.clear
         else
         @item.object = nil
         end
     end
end

end

#==============================================================================
# ■ Game Battler Base
#==============================================================================
class Game_BattlerBase
#--------------------------------------------------------------------------
# ● Inputable?
#--------------------------------------------------------------------------            
def inputable?
     normal? && !auto_battle? && self.at == $game_system.at_max
end

end
#==============================================================================
# ■ Game_Battler
#==============================================================================
class Game_Battler < Game_BattlerBase

attr_accessor :at
attr_accessor :at_cast
attr_accessor :at_turn_duration

#--------------------------------------------------------------------------
# ● Initialize
#--------------------------------------------------------------------------    
alias mog_at_system_initialize initialize
def initialize
     mog_at_system_initialize
     @at = 0
     @at_cast = []
     @at_cast_selectable = true
     @at_turn_duration = 0
end

#--------------------------------------------------------------------------
# ● At
#--------------------------------------------------------------------------        
def at
     n = at_active? ? $game_system.at_max : 0
     return [[@at, n].min, 0].max
end

#--------------------------------------------------------------------------
# ● At Active
#--------------------------------------------------------------------------            
def at_active?
     return false if restriction >= 4
     return false if self.hp == 0
     return true
end

#--------------------------------------------------------------------------
# ● Added New State
#--------------------------------------------------------------------------
alias mog_at_system_add_new_state add_new_state
def add_new_state(state_id)
     mog_at_system_add_new_state(state_id)
     if restriction >= 4
         self.at_cast.clear
         self.at = 0
     end
end

end
#==============================================================================
# ■ Game Enemy
#==============================================================================
class Game_Enemy < Game_Battler

#--------------------------------------------------------------------------
# ● Tranform
#--------------------------------------------------------------------------
alias mog_at_system_transform transform
def transform(enemy_id)
     mog_at_system_transform(enemy_id)
     self.at = 0
     self.at_cast.clear
end
end

if !MOG_AT_SYSTEM::WAIT_LOG_WINDOW
#==============================================================================
# ■ BattleManager
#==============================================================================
class Window_BattleLog < Window_Selectable
#--------------------------------------------------------------------------
# ● Refresh
#--------------------------------------------------------------------------
def refresh
end
#--------------------------------------------------------------------------
# ● Message Speed
#--------------------------------------------------------------------------
def message_speed
     return 5
end
end
end
#==============================================================================
# ■ Scene Battle
#==============================================================================
class Scene_Battle < Scene_Base
include MOG_AT_SYSTEM

#--------------------------------------------------------------------------
# ● AT Wait
#--------------------------------------------------------------------------        
alias mog_at_system_start start
def start
     reset_at_parameter
     mog_at_system_start
end

#--------------------------------------------------------------------------
# ● Battle Start
#--------------------------------------------------------------------------
def battle_start
     BattleManager.battle_start
     process_event
     set_turn_duration
end

#--------------------------------------------------------------------------
# ● Reset AT Parameter
#--------------------------------------------------------------------------
def reset_at_parameter
     return if @at_phase != nil
     @at_phase = 0
     n_at = $game_system.at_max * 40 / 100
     p_at = $game_system.at_max * 90 / 100
     s_at = 0
     all_battle_members.each do |battler|
         if BattleManager.preemptive_attack
             battler.at = p_at if battler.is_a?(Game_Actor)
             battler.at = s_at if battler.is_a?(Game_Enemy)
         elsif BattleManager.surprise_attack
             battler.at = p_at if battler.is_a?(Game_Enemy)
             battler.at = s_at if battler.is_a?(Game_Actor)
         else
             battler.at = n_at
         end
         if battler.at >= $game_system.at_max
             battler.at = $game_system.at_max - 1
         end
         battler.at = 0 if battler.at < 0
         battler.at_cast.clear
     end
end
#--------------------------------------------------------------------------
# ● Set Turn Duration
#--------------------------------------------------------------------------
def set_turn_duration
     max_battlers = all_battle_members.size > 0 ? all_battle_members.size : 1
     case TURN_DURATION_TYPE
     when 1
         n = TURN_DURATION * max_battlers
     when 2
         turn_sp = 0
         all_battle_members.each do |battler|
             turn_sp += battler.agi
         end
         n = TURN_DURATION + (turn_sp / max_battlers)
     else
         n = TURN_DURATION
     end
     turn_time_max = [[n, 9999].min, 120].max
     @turn_duration = [0, turn_time_max]
     if @status_window != nil
         @status_window.open
     end
end

#--------------------------------------------------------------------------
# ● Turn End
#--------------------------------------------------------------------------
def turn_end
     @at_phase = 0
     all_battle_members.each do |battler|
         if battler.at >= $game_system.at_max
         battler.at = 0
         refresh_status
         @log_window.display_auto_affected_status(battler)
         @log_window.wait_and_clear
         end
     end
     BattleManager.turn_end
end

#--------------------------------------------------------------------------
# ● Update Turn Duration
#--------------------------------------------------------------------------            
def update_turn_duration
     return if @turn_duration == nil or @turn_duration[0] == nil
     @turn_duration[0] += 1
     if @turn_duration[0] >= @turn_duration[1]
         @turn_duration[0] = 0
         $game_troop.increase_turn
         process_event
         check_states_effect_turn
     end
end

#--------------------------------------------------------------------------
# ● Check States Effect Turn
#--------------------------------------------------------------------------            
def check_states_effect_turn
     all_battle_members.each do |battler|
         battler.on_turn_end if battler.restriction >= 4
     end
end

#--------------------------------------------------------------------------
# ● Update AT System
#--------------------------------------------------------------------------        
def update_at_system    
     reset_at_parameter if @at_phase == nil
     set_turn_duration if @turn_duration == nil
     return if !can_update_at?
     update_turn_duration
     all_battle_members.each do |battler|
         update_battler_turn_duration(battler)
         if !battler.at_cast.empty?
             battler.at_cast[1] -= 1
             if battler.at_cast[1] <= 0
             execute_at_cast(battler)
             break
             end
         else
             battler.at += battler.agi
         end
         if battler.at >= $game_system.at_max
             battler.on_turn_end
             update_at_actor(battler)
             update_at_enemy(battler)
             battler.current_action.prepare if battler.current_action
             if battler.at_cast.empty?
             @at_phase = 1
             turn_start if battler.is_a?(Game_Enemy)
             end            
             break
         end
     end
end

#--------------------------------------------------------------------------
# ● Update Battler Turn Duration
#--------------------------------------------------------------------------            
def update_battler_turn_duration(battler)
     if battler.restriction >= 4
         battler.at_turn_duration += 1
         if battler.at_turn_duration >= $game_system.at_max
         battler.on_turn_end
         battler.at_turn_duration = 0
         end
     else
         battler.at_turn_duration = 0
     end
end

#--------------------------------------------------------------------------
# ● Execute AT CAST
#--------------------------------------------------------------------------            
def execute_at_cast(battler)
     @subject = battler
     battler.make_actions
     turn_start
end

#--------------------------------------------------------------------------
# ● Update AT Actor
#--------------------------------------------------------------------------            
def update_at_actor(battler)
     return if !battler.is_a?(Game_Actor)
     Audio.se_play("Audio/SE/" + SE_ACTIVE,100,100)
     start_party_command_selection_at(battler)
end

#--------------------------------------------------------------------------
# ● Update AT Enemy
#--------------------------------------------------------------------------            
def update_at_enemy(battler)
     return if !battler.is_a?(Game_Enemy)
     battler.make_actions
end

#--------------------------------------------------------------------------
# ● Can Update AT
#--------------------------------------------------------------------------            
def can_update_at?
     return false if $game_troop.interpreter.running?
     return false if BattleManager.action_forced?
     return false if @at_phase != 0
     return false if $game_message.visible
     return false if BattleManager.in_turn?
     return true
end

#--------------------------------------------------------------------------
# ● Star Party Command Selection at
#--------------------------------------------------------------------------
def start_party_command_selection_at(battler)
     unless scene_changing?
         refresh_status
         @status_window.unselect
         @status_window.open
         if BattleManager.input_start_at(battler)
         @actor_command_window.close
         next_command
         else
         turn_start
         end
     end
end

#--------------------------------------------------------------------------
# ● Update Basic
#--------------------------------------------------------------------------    
alias mog_at_system_update_basic update_basic
def update_basic
     mog_at_system_update_basic
     update_at_system
     update_party_command
     $game_message.position = MESSAGE_POSITION
end

#--------------------------------------------------------------------------
# ● Update Party Command
#--------------------------------------------------------------------------    
def update_party_command
     return if !@party_command_window.active
     return if !@actor_command_window.visible
     return if $game_message.visible
     if Input.trigger?(:
         next_command
         Sound.play_cancel
         @party_command_window.active = false
     end
end

end
#==============================================================================
# ■ AT Meter
#==============================================================================
class AT_Meter

include MOG_AT_SYSTEM

#--------------------------------------------------------------------------
# ● Initialize
#--------------------------------------------------------------------------
def initialize(actor)
     dispose
     @actor = actor
     if HUD_POSITION_TYPE == 1 and @actor.use_sprite?
         @x = HUD_POSITION[0] + @actor.screen_x rescue 0
         @y = HUD_POSITION[1] + @actor.screnn_y rescue 0
     else
         @x = HUD_POSITION[0] + (MEMBERS_SPACE[0] * @actor.index)
         @y = HUD_POSITION[1] + (MEMBERS_SPACE[1] * @actor.index)    
     end
     pre_cache
     create_layout
     create_at_meter
end

#--------------------------------------------------------------------------
# ● Pre Cache
#--------------------------------------------------------------------------    
def pre_cache
     @meter = Cache.system("Battle_AT_Meter")
     @meter_cw = @meter.width / 3
     @meter_ch = @meter.height / 3
end

#--------------------------------------------------------------------------
# ● Create Layout
#--------------------------------------------------------------------------    
def create_layout
     @layout = Sprite.new
     @layout.bitmap = Cache.system("Battle_AT_Layout")
     @layout.z = BATTLE_HUD_Z
     @layout.x = @x
     @layout.y = @y
end

#--------------------------------------------------------------------------
# ● Create AT Meter
#--------------------------------------------------------------------------    
def create_at_meter
     @at_meter = Sprite.new
     @at_meter.bitmap = Bitmap.new(@meter_cw,@meter_ch)
     @at_meter.z = BATTLE_HUD_Z + 50
     @at_meter.x = @x + AT_METER_POSITION[0]
     @at_meter.y = @y + AT_METER_POSITION[1]
     @at_flow = rand(@meter_cw * 2)
     at_flow_update
end

#--------------------------------------------------------------------------
# ● Dispose
#--------------------------------------------------------------------------
def dispose
     return if @layout == nil
     @layout.bitmap.dispose
     @layout.dispose
     @layout = nil
     @at_meter.bitmap.dispose
     @at_meter.dispose
end

#--------------------------------------------------------------------------
# ● Update
#--------------------------------------------------------------------------
def update
     return if @layout == nil
     at_position
     at_flow_update
end

#--------------------------------------------------------------------------
# ● Update
#--------------------------------------------------------------------------
def at_position
     return unless HUD_POSITION_TYPE == 1 and @actor.use_sprite?
     @x = HUD_POSITION[0] + @actor.screen_x rescue 0
     @y = HUD_POSITION[1] + @actor.screnn_y rescue 0
     @layout.x = @x
     @layout.y = @y
     @at_meter.x = @x + AT_METER_POSITION[0]
     @at_meter.y = @y + AT_METER_POSITION[1]
end

#--------------------------------------------------------------------------
# ● AT Flow Update
#--------------------------------------------------------------------------
def at_flow_update
     @at_meter.bitmap.clear
     if !@actor.at_cast.empty?
         max_cast = @actor.at_cast[0].speed.abs != 0 ? @actor.at_cast[0].speed.abs : 1
         at_width = @meter_cw * @actor.at_cast[1] / max_cast
         ch = @meter_ch * 2
     else
         at_width = @meter_cw * @actor.at / $game_system.at_max
         ch = @actor.at < $game_system.at_max ? 0 : @meter_ch
     end
     src_rect = Rect.new(@at_flow, ch,at_width, @meter_ch)
     @at_meter.bitmap.blt(0,0, @meter, src_rect)
     @at_flow += AT_METER_FLOW_SPEED
     @at_flow = 0 if @at_flow >= @meter_cw * 2    
end

end
#==============================================================================
# ■ Spriteset Battle
#==============================================================================
class Spriteset_Battle

#--------------------------------------------------------------------------
# ● Initialize
#--------------------------------------------------------------------------        
alias mog_at_system_initialize initialize
def initialize
     mog_at_system_initialize
     create_at_meter
end

#--------------------------------------------------------------------------
# ● Create AT Meter
#--------------------------------------------------------------------------            
def create_at_meter
     dispose_at_meter
     @at_meter = []
     for i in $game_party.battle_members
         @at_meter.push(AT_Meter.new(i))
     end    
end

#--------------------------------------------------------------------------
# ● Dispose
#--------------------------------------------------------------------------    
alias mog_at_system_dispose dispose
def dispose
     mog_at_system_dispose
     dispose_at_meter
end

#--------------------------------------------------------------------------
# ● Dispose AT Meter
#--------------------------------------------------------------------------    
def dispose_at_meter
     return if @at_meter == nil
     @at_meter.each {|sprite| sprite.dispose }
     @at_meter.clear
     @at_meter = nil
end

#--------------------------------------------------------------------------
# ● Update
#--------------------------------------------------------------------------    
alias mog_at_system_update update
def update
     mog_at_system_update
     update_at_meter
end

#--------------------------------------------------------------------------
# ● Update AT Meter
#--------------------------------------------------------------------------        
def update_at_meter
     return if @at_meter == nil
     @at_meter.each {|sprite| sprite.update }
end

end
$mog_rgss3_at_system = true
Thanks
 
Last edited by a moderator:

NorthernChild10

Villager
Member
Joined
Dec 11, 2012
Messages
8
Reaction score
0
First Language
French
Primarily Uses
As it was the source of my problem (described here), I had to desactivate your script.

It angers me, as I really wanted it to be part of my project (especially the XP bars).

I feel it's a duty to report issues to script authors, so I invite you to read this short thread I linked.

Good luck in your future attempts to fix the issue. Make sure to let me know if you want more information about exactly what was the problem.
 

Neon Black

The Classy Prostitute
Veteran
Joined
Mar 17, 2012
Messages
1,149
Reaction score
374
First Language
Sarcasm
Primarily Uses
I'll look into it, but if you won't mind could you put the script inside a "spoiler" tag?

As it was the source of my problem (described here), I had to desactivate your script.

It angers me, as I really wanted it to be part of my project (especially the XP bars).

I feel it's a duty to report issues to script authors, so I invite you to read this short thread I linked.

Good luck in your future attempts to fix the issue. Make sure to let me know if you want more information about exactly what was the problem.
I read up on your issue. Unfortunately I do not provide support with Tankentai. The only thing I can really think of is to double check a certain portion of my script's config:



Code:
# This is the switch used to skip all change in music during a battle.  The    #
# victory screen will still show, but the music will not change when starting  #
# or ending the battle while this switch is on.                                #
SKIP_SWITCH = 5 # Default = 5                                                  #
Make sure Tankentai is not using the same switch or that switch is not ON before the battle starts as it will cause changes to the BGM to be ignored. If all else fails, comment out the following lines from my script:



Code:
  alias play_battle_bgm_cpv play_battle_bgm unless $@
  def play_battle_bgm
    play_battle_bgm_cpv unless skip?
  end
That should fix your problem.
 

ディーノス

Make a new destiny!
Veteran
Joined
Jul 3, 2012
Messages
187
Reaction score
19
First Language
Indonesian
Primarily Uses
hi... neon black...

can you make compatible with actor sprites instead faces?

because i don't want faces on my game...

can you help me then ? :D
 

Users Who Are Viewing This Thread (Users: 0, Guests: 1)

Latest Threads

Latest Profile Posts

People3_5 and People3_8 added!

so hopefully tomorrow i get to go home from the hospital i've been here for 5 days already and it's driving me mad. I miss my family like crazy but at least I get to use my own toiletries and my own clothes. My mom is coming to visit soon i can't wait to see her cause i miss her the most. :kaojoy:
Couple hours of work. Might use in my game as a secret find or something. Not sure. Fancy though no? :D
Holy stink, where have I been? Well, I started my temporary job this week. So less time to spend on game design... :(
Cartoonier cloud cover that better fits the art style, as well as (slightly) improved blending/fading... fading clouds when there are larger patterns is still somewhat abrupt for some reason.

Forum statistics

Threads
105,868
Messages
1,017,083
Members
137,583
Latest member
write2dgray
Top