Jump to content
Rpg²S Forum
  • 0

Problema KGC_LargeParty. Conflitto (?) con Window_PartyCommand


Armored
 Share

Question

Come da titolo, per mettere un particolare Custom Menù nel mio progetto, mi sono ritrovato con questo errore che non mi permette di fare accesso alle battaglie.

Sinceramente, mi dispiacerebbe dover togliere questo menù, tuttavia, io di RGSS2 (E anche di tutti gli altri codici) non me ne intendo per nulla...

Mi rivolgo quindi a voi, lasciando solo uno screen e KGC_LargeParty:

 

http://i40.tinypic.com/mauwk7.png

 

 

Script:

KGC_LargeParty:

 

(X)

 

 

Spero possiate risolvere questo mio dilemma...

 

Edit: Siccome non riuscivo a farlo stare corretto in una barra codice, ho dovuto hostarlo come blocco note su un sito a parte...

 

-link rimosso dall'utente-

 

Edited by Armored
Link to comment
Share on other sites

11 answers to this question

Recommended Posts

  • 0
Guest clyde

Si è verificato un problema quando hai inserito lo script. Risulta visualizzato tutto in una riga.

Clyde ti suggerisce di editare il primo post ricordandoti di usare correttamente i tag SPOILER e CODE.

Link to comment
Share on other sites

  • 0

Per qualche motivo, quando mettevo il codice in una delle barre codice, mi si riconfigurava completamente...

Fatto sta che l'ho hostato su altervista, così non dovrebero esserci problemi >_>

Link to comment
Share on other sites

  • 0
Guest clyde

Per qualche motivo, quando mettevo il codice in una delle barre codice, mi si riconfigurava completamente...

Fatto sta che l'ho hostato su altervista, così non dovrebero esserci problemi >_>

Altri script usati?

Link to comment
Share on other sites

  • 0

Gli script che uso:

 

-link rimosso dall'utente-

 

Non ho potuto metterli qui perchè erano un po' troppi... Inoltre così penso che potrai controllare in prima persona cosa c'è che non va...

Edited by Armored
Link to comment
Share on other sites

  • 0
Guest clyde

Clyde ritiene che sia un problema di incompatibilità fra KGC Large Party e ATB 1.2c.

 

Prova ad aggiungere sotto KGC Large Party questo script:

 

 

class Scene_Battle < Scene_Base

 def create_info_viewport
@command_members = []
@action_battlers = []
@info_viewport = Viewport.new(0, 288, 544, 128)
@info_viewport.z = 100
@status_window = Window_BattleStatus.new
@party_command_window = Window_PartyCommand.new
@actor_command_window = Window_ActorCommand.new
@status_window.viewport = @info_viewport
@actor_command_window.viewport = @info_viewport
@status_window.x = 128
@actor_command_window.x = 672
@info_viewport.visible = false
@party_command_window.visible = false
@info_viewport.ox = 128
 end

end

 

 

Edited by clyde
Link to comment
Share on other sites

  • 0

Grande, funziona correttamente ora o_o

 

Scusa, già che ci siamo, posso chiedere un altro aiuto (ma di secondaria importanza, dato che non è un fastidio al gameplay, ma all'estetica...)

 

Il mio Victory Aftermath (Yanfly Engine Melody), per qualche ragione a me oscura, una volta finitas la battaglia, per le reward della battaglia, mi da una finestra mal tagliata... Ho provato a cercare tra lo script le misure della finestra, ma sinceramente non ho capito quali siano...

 

http://i43.tinypic.com/2qwdf0z.png

 

Anche, se io inizialmente pensavo possa essere un contrasto con il tankentai... Hai qualche idea sul come sistemarlo?

 

P.s. Oltre al Victory Aftermath YEM, avevo fin dall'inizio aggiunto anche YEM Victory Compatibility e KGC_InterfaceForWin32API.

 

Ti ringrazio ancora per l'aiuto che mi offri =D

Link to comment
Share on other sites

  • 0
Guest clyde

Ricordati di mettere sotto spoiler anche le immagini (ingombrano e rallentano il caricamento della pagina)!

Non so dove hai preso lo script ma le coordinate delle finestre erano tutte sballate.

 

Ecco la versione corretta:

 

 

#===============================================================================
#
# Yanfly Engine Melody - Victory Aftermath
# Last Date Updated: 2010.05.28
# Level: Normal, Hard, Lunatic
#
# The victory aftermath scene after battles are finished hardly display any
# data at all for the player. All that's generally mentioned is how much EXP
# they've acquired, who levels up, and what items are dropped in only a message
# box window. Now, the whole process is more visual and will contain lists to
# show the player what changes have been made as far as the victory portion is
# concerned. The item drop list will also no longer go on and on forever with
# the message windows, but instead, show them properly in a list window.
#
#===============================================================================
# Updates
# -----------------------------------------------------------------------------
# o 2010.05.28 - Double EXP "gain" bugfix.
# o 2010.05.22 - Compatibility Update with Custom Message Melody.
# o 2010.05.20 - Converted to Yanfly Engine Melody.
#===============================================================================
# Instructions
# -----------------------------------------------------------------------------
# To install this script, open up your script editor and copy/paste this script
# to an open slot below ▼ Materials but above ▼ Main. Remember to save.
#===============================================================================
$imported = {} if $imported == nil
$imported["VictoryAftermath"] = true
module YEM
 module VICTORY
 
#===========================================================================
# Section I. General Settings
# --------------------------------------------------------------------------
# The following below will adjust the basic settings and vocabulary that
# will display throughout the script. These settings will also determine
# which windows you would like to have appear. Change them as you see fit.
#===========================================================================
 
# This is how many frames to wait before displaying the victory aftermath
# scene on the screen.
WAIT = 60
 
# The following adjusts the two switches that are associated with this
# script so bind them accordingly. Bypassing the BGM will cause no BGM
# change from battle start to end. Skip victory switch will cause the
# victory display portion to be ignored (but gaining EXP and such will
# still occur).
BYPASS_BGM_SWITCH   = 225
SKIP_VICTORY_SWITCH = 226
 
# This hash adjusts the vocabulary used throughout the script.
VOCAB ={
  :top_message => "Risultati della Battaglia:",
  :gold_found  => "Trovi %s G!",
  :exp_receive => "Hai acquisito %s EXP!",
  :percent_exp => "%1.2f%%",
  :next_level  => "Per il livello %s",
  :max_level   => "Livello Massimo",
  :next_exp	=> "%s EXP",
  :level_up	=> "LIVELLO SUPERIORE!",
  :to_level	=> "per il livello %s",
  :level_msg   => "%s ha raggiunto il livello %s!",
  :next_stat   => "->",
  :new_skills  => "Abilità Apprese:",
  :spoils	  => "Oggetti trovati",
  :no_items	=> "Nessun oggetto trovato.",
  :found_items => "%s trovato!",
  :item_amount => "×%2d",
} # Do not remove this.
 
# This determines the gauge information for the victory screens.
FACE_OPACITY  = 200 # This adjusts the opacity of the actor's faces
EXP_TICKS	 = 10  # This is how many ticks it takes to fill the gauge.
EXP_GAUGE_1   = 28  # Experience gauge colour 1 for non-leveled characters.
EXP_GAUGE_2   = 29  # Experience gauge colour 2 for non-leveled characters.
EXP_FONT_SIZE = 18  # Font size used for experience gauge.
LVL_COLOUR	= 6   # Text colour used for leveling up.
LVL_GAUGE_1   = 20  # Experience gauge colour 1 for leveled characters.
LVL_GAUGE_2   = 21  # Experience gauge colour 2 for leveled characters.
 
# These constants determine which series of windows will appear. By default
# all of the windows will show up. The EXP windows will appear if there
# are no drop items present.
SHOW_EXP_WINDOWS   = true
SHOW_LEVEL_WINDOWS = true
SHOW_ITEM_WINDOWS  = true
 
#===========================================================================
# Section II. Experience Settings
# --------------------------------------------------------------------------
# The following below allows you to adjust the amount of experience each
# actor will earn and the rules that govern the experience gained.
#===========================================================================
 
# If any allies are dead, are they allowed to gain EXP?
DEAD_ALLY_EXP = false
 
# Do you want the game to scale the experience based on how many actors are
# in the party? This means actors can earn more or less.
PARTY_SPLIT_EXP = false
PARTY_SIZE_SCALING ={
  1 => 1.000,  # If one actor is active.
  2 => 0.500,  # If two actors are active.
  3 => 0.334,  # If three actors are active.
  4 => 0.250,  # If four actors are active.
  5 => 0.200,  # If five actors are active.
  6 => 0.167,  # If six actors are active.
  7 => 0.143,  # If seven actors are active.
  8 => 0.125,  # If eight actors are active.
} # Do not remove this.
 
#===========================================================================
# Section III. Level Settings
# --------------------------------------------------------------------------
# The following below allows you to adjust the amount of experience each
# actor will earn and the rules that govern the experience gained.
#===========================================================================
 
# The following array determines which stats will be shown with level up
# increases and also what order. Only the following can be used.
# :maxhp, :maxmp, :atk, :def, :spi, :res, :dex, :agi
SHOWN_STATS = [:maxhp, :maxmp, :atk, :def, :spi, :res, :dex, :agi]
 
# The following hash adjusts the colours used to display each of the
# various objects inside of the level window.
LEVEL_COLOURS ={
  :stat_name => 4,  # The stat's name.
  :arrow	 => 4,  # Arrow in between the old and new stats.
  :old_stat  => 5,  # The older unleveled stat.
  :new_stat  => 6,  # The newer leveled stat.
} # Do not remove this.
 
# Changing the following value to an icon ID will change the → arrow to use
# an icon instead. i.e. ARROW_ICON = 142
ARROW_ICON = 678
 
# Changing the following below will show the change in stat difference from
# the old stat to the new stat rather than just showing the new stat.
SHOW_DIFFERENCE = false
 
# The following will determine how HP and MP recovery is calculated upon
# leveling up. 0 - no change. 1 - difference from max. 2 - full recovery.
HP_RECOVERY = 1   # Adjusts HP Recovery Style
MP_RECOVERY = 0   # Adjusts MP Recovery Style
 
#===========================================================================
# Section IV. Audio Settings
# --------------------------------------------------------------------------
# This part of the module adjusts everything that's audio related. Be sure
# to modify them accordingly.
#===========================================================================
 
# This victory BGM will play once the fanfare finishes.
BGM = RPG::BGM.new("BattleEnd", 100, 100)
 
# This sound adjusts the ticking noise that occurs as the experience bar
# goes upward. Adjust it accordingly.
TICK_SOUND = RPG::SE.new("Decision1", 80, 100)
 
# The following adjusts how long to play the Victory ME after finishing
# battle in milliseconds (if it is still continuing).
FANFARE_FADE = 60
 
# This is the level up sound that plays when an actor levels up.
LEVEL_SOUND = RPG::SE.new("Flash1", 100, 100)
 
# This is the sound that will play if items were found.
ITEM_SOUND = RPG::SE.new("Item1", 80, 100)
 
 end # VICTORY
end # YEM
#===============================================================================
# Lunatic Mode - Victory Aftermath
# -----------------------------------------------------------------------------
# This mode allows you to add in a bit more of a personal touch to your game by
# adding in victory battle quotes. If they're on, actors who were participating
# in battle can brief the victory spoils and whatnot.
#
# To use this mode, bind each actor to a common event ID. Those common events
# will play out the messages written for them. However, to distinguish when to
# display each message, use conditional branches with a script value check.
# Insert the following into your script value checks:
#
#   victory_quote("Main")	  Occurs at the first page of victory.
#   victory_quote("Level")	 Occurs when leveling up your character.
#   victory_quote("Skill")	 Occurs when leveling up and learning a skill.
#   victory_quote("Nothing")   Occurs when no drops are found.
#   victory_quote("Drops")	 Occurs if the enemy has left drops.
#
# When displaying the message events, a few new text shortcuts should be taken
# note of. They are the two following:
#
#   \VN	  This displays the talking actor's name.
#   \VF	  This displays the talking actor's face.
#
# Anything else in the common event will run normally.
#===============================================================================
module YEM::VICTORY

 # If this is enabled, victory quotes will occur instead of the typical
 # battle end messages.
 ENABLE_QUOTES = false

 # The following hash determines which common event ID's are bound to which
 # actors when their victory quotes are to be launched.
 ACTOR_QUOTES ={ # Actor 0 is the actor used for unlisted actors.
 # ActorID => Common Event ID
	   0 => 80,  # Common Victory Quotes
	   1 => 82,  # Prims
	   2 => 81,  # Seig
 } # Do not remove this.

end # YEM::VICTORY
#===============================================================================
# Editting anything past this point may potentially result in causing computer
# damage, incontinence, explosion of user's head, coma, death, and/or halitosis.
# Therefore, edit at your own risk.
#===============================================================================
#===============================================================================
# module Icon
#===============================================================================
if !$imported["BattleEngineMelody"] and !$imported["IconModuleLibrary"]
module Icon

 #--------------------------------------------------------------------------
 # self.stat
 #--------------------------------------------------------------------------
 def self.stat(actor, item); return 0; end

end # Icon
end # !$imported["BattleEngineMelody"] and !$imported["IconModuleLibrary"]
#===============================================================================
# Game_Temp
#===============================================================================
class Game_Temp

 #--------------------------------------------------------------------------
 # public instance variables
 #--------------------------------------------------------------------------
 attr_accessor :victory_actor
 attr_accessor :victory_quote
 attr_accessor :victory_clone

end # Game_Temp
#===============================================================================
# Game_Actor
#===============================================================================
class Game_Actor < Game_Battler

 #--------------------------------------------------------------------------
 # new method: learned_skills
 #--------------------------------------------------------------------------
 def learned_skills
result = []
for i in @skills
  result.push($data_skills[i])
end
return result
 end

 #--------------------------------------------------------------------------
 # new method: now_exp
 #--------------------------------------------------------------------------
 def now_exp
return @exp - @exp_list[@level]
 end

 #--------------------------------------------------------------------------
 # new method: next_exp
 #--------------------------------------------------------------------------
 def next_exp
return @exp_list[@level+1] > 0 ? @exp_list[@level+1] - @exp_list[@level] : 0
 end

end # Game_Actor
#==============================================================================
# Game_Interpreter
#==============================================================================
class Game_Interpreter

 #--------------------------------------------------------------------------
 # victory_quote
 #--------------------------------------------------------------------------
 def victory_quote(text)
return false unless $game_temp.in_battle and $scene.is_a?(Scene_Battle)
return false if $game_temp.victory_quote == nil
return true if text.upcase == $game_temp.victory_quote
return false
 end

end # Game_Interpreter
#===============================================================================
# Window_Message
#===============================================================================
class Window_Message < Window_Selectable

 #--------------------------------------------------------------------------
 # alias method: convert_special_characters
 #--------------------------------------------------------------------------
 unless $imported["CustomMessageMelody"]
 alias convert_special_characters_va convert_special_characters unless $@
 def convert_special_characters
@text.gsub!(/\\VF/i) { victory_face_art }
@text.gsub!(/\\VN/i) { victory_actor_name }
convert_special_characters_va
 end
 end # $imported["CustomMessageMelody"]

 #--------------------------------------------------------------------------
 # new method: victory_actor_name
 #--------------------------------------------------------------------------
 def victory_actor_name
return "" unless $scene.is_a?(Scene_Battle)
return $scene.victory_actor.name
 end

 #--------------------------------------------------------------------------
 # new method: victory_face_art
 #--------------------------------------------------------------------------
 def victory_face_art
return "" unless $scene.is_a?(Scene_Battle)
$game_message.face_name  = $scene.victory_actor.face_name
$game_message.face_index = $scene.victory_actor.face_index
return ""
 end

end # Window_Message
#===============================================================================
# Window_Party_Exp_Back
#===============================================================================
class Window_Party_Exp_Back < Window_Base

 #--------------------------------------------------------------------------
 # initialize
 #--------------------------------------------------------------------------
 def initialize
super(0, 112, 544, 176)#@@(0+48, 112+32, 544, 176)
refresh
 end

 #--------------------------------------------------------------------------
 # refresh
 #--------------------------------------------------------------------------
 def refresh
self.contents.clear
sw = self.width - 32
dy = 0
dx = (sw/2) - $game_party.members.size*60
for actor in $game_party.members
  opacity = YEM::VICTORY::FACE_OPACITY
  draw_party_face(actor, dx+12, dy, opacity)
  self.contents.draw_text(dx+12, dy, 96, WLH, actor.name, 1)
  dx += 120
end
 end

 #--------------------------------------------------------------------------
 # Draw Party Face
 #--------------------------------------------------------------------------
 def draw_party_face(actor, x, y, opacity = 255, size = 96)
face_name = actor.face_name
face_index = actor.face_index
bitmap = Cache.face(face_name)
rect = Rect.new(0, 0, 0, 0)
rect.x = face_index % 4 * 96 + (96 - size) / 2
rect.y = face_index / 4 * 96 + (96 - size) / 2
rect.width = size
rect.height = size
self.contents.blt(x, y, bitmap, rect, opacity)
bitmap.dispose
 end

end # Window_Party_Exp_Back
#===============================================================================
# Window_Party_Exp_Front
#===============================================================================
class Window_Party_Exp_Front < Window_Base

 #--------------------------------------------------------------------------
 # public instance variables
 #--------------------------------------------------------------------------
 attr_accessor :full_actors

 #--------------------------------------------------------------------------
 # initialize
 #--------------------------------------------------------------------------
 def initialize
super(0, 112, 544, 176)#@@(0+48, 112+32, 544, 176)
self.opacity = 0
@extra_per = 0
@increase = 100 / YEM::VICTORY::EXP_TICKS
refresh
 end

 #--------------------------------------------------------------------------
 # refresh
 #--------------------------------------------------------------------------
 def refresh(extra_per = 0)
@full = true if extra_per >= 100
self.contents.clear
@full_actors = 0
sw = self.width - 32
dy = WLH*4
dx = (sw/2) - $game_party.members.size*60
for actor in $game_party.members
  self.contents.font.color = normal_color
  self.contents.font.size = Font.default_size
  draw_exp_gauge(actor, dx, dy, extra_per)
  draw_exp_text(actor, dx, dy+WLH, extra_per)
  dx += 120
end
 end

 #--------------------------------------------------------------------------
 # draw_exp_gauge
 #--------------------------------------------------------------------------
 def draw_exp_gauge(actor, dx, dy, extra_per)
self.contents.font.size = YEM::VICTORY::EXP_FONT_SIZE
gc1 = text_color(YEM::VICTORY::EXP_GAUGE_1)
gc2 = text_color(YEM::VICTORY::EXP_GAUGE_2)
if actor.level > $game_temp.victory_clone[actor.id].level
  gc1 = text_color(YEM::VICTORY::LVL_GAUGE_1)
  gc2 = text_color(YEM::VICTORY::LVL_GAUGE_2)
  gw = 96
  self.contents.font.color = text_color(YEM::VICTORY::LVL_COLOUR)
  text = YEM::VICTORY::VOCAB[:level_up]
elsif actor.next_exp != 0
  gw = 96 * (actor.now_exp + exp_gained(extra_per, actor))
  gw /= actor.next_exp
  gw = [[gw, 96].min, 0].max
  text = sprintf(YEM::VICTORY::VOCAB[:next_level], actor.level + 1)
  if gw == 96
	self.contents.font.color = text_color(YEM::VICTORY::LVL_COLOUR)
	gc1 = text_color(YEM::VICTORY::LVL_GAUGE_1)
	gc2 = text_color(YEM::VICTORY::LVL_GAUGE_2)
	text = YEM::VICTORY::VOCAB[:level_up]
  end
else
  gw = 96
  text = YEM::VICTORY::VOCAB[:max_level]
end
if $imported["CoreFixesUpgradesMelody"] and YEM::UPGRADE::OUTLINE
  self.contents.fill_rect(dx + 12, dy - 8, 96, 8, gauge_back_color)
  self.contents.gradient_fill_rect(dx + 13, dy - 7, gw-2, 6, gc1, gc2)
else
  self.contents.fill_rect(dx + 12, dy - 6, 96, 6, gauge_back_color)
  self.contents.gradient_fill_rect(dx + 12, dy - 6, gw, 6, gc1, gc2)
end
self.contents.draw_text(dx, dy, 120, WLH, text, 1)
self.contents.font.color = normal_color
 end

 #--------------------------------------------------------------------------
 # draw_exp_text
 #--------------------------------------------------------------------------
 def draw_exp_text(actor, dx, dy, extra_per)
if actor.level > $game_temp.victory_clone[actor.id].level
  exp_percent = 100.0
  text1 = sprintf(YEM::VICTORY::VOCAB[:percent_exp], exp_percent)
  text2 = sprintf(YEM::VICTORY::VOCAB[:to_level], actor.level)
elsif actor.next_exp != 0
  exp_percent = (actor.now_exp + exp_gained(extra_per, actor)) * 100.0
  exp_percent /= actor.next_exp
  exp_percent = [[exp_percent, 100.0].min, 0].max
  @full_actors += 1 if exp_percent >= 100.0
  value = [actor.next_rest_exp_s - exp_gained(extra_per, actor), 0].max
  text1 = sprintf(YEM::VICTORY::VOCAB[:percent_exp], exp_percent)
  text2 = sprintf(YEM::VICTORY::VOCAB[:next_exp], value)
else
  exp_percent = 100.0
  @full_actors += 1
  text1 = sprintf(YEM::VICTORY::VOCAB[:percent_exp], exp_percent)
  text2 = ""
end
self.contents.draw_text(dx, dy - WLH * 2, 120, WLH, text1, 1)
self.contents.draw_text(dx, dy, 120, WLH, text2, 1)
 end

 #--------------------------------------------------------------------------
 # exp_gained
 #--------------------------------------------------------------------------
 def exp_gained(extra_per, actor)
return 0 if actor.dead?
extra_per = 100 if extra_per > 100
exp = $game_troop.exp_total
members = $game_party.members.size
if YEM::VICTORY::PARTY_SPLIT_EXP
  size = YEM::VICTORY::DEAD_ALLY_EXP ?
  $game_party.members.size : $game_party.existing_members.size
  exp = Integer(exp * YEM::VICTORY::PARTY_SIZE_SCALING[size])
end
exp *= 2 if actor.double_exp_gain
exp *= extra_per
exp /= 100
return exp
 end

end # Window_Party_Exp_Front
#===============================================================================
# Window_New_Skills
#===============================================================================
class Window_New_Skills < Window_Selectable

 #--------------------------------------------------------------------------
 # initialize
 #--------------------------------------------------------------------------
 def initialize(new_skills)
@new_skills = new_skills
super(316, 80, 228, 208)#@@(316+48, 80+32, 228, 208)
self.index = -1
self.opacity = 0
refresh
 end

 #--------------------------------------------------------------------------
 # skill
 #--------------------------------------------------------------------------
 def skill; return @data[self.index]; end

 #--------------------------------------------------------------------------
 # refresh
 #--------------------------------------------------------------------------
 def refresh
@data = []
for skill in @new_skills
  @data.push(skill)
end
@item_max = @data.size
create_contents
for i in 0..(@item_max-1)
  draw_item(i)
end
 end

 #--------------------------------------------------------------------------
 # draw_item
 #--------------------------------------------------------------------------
 def draw_item(index)
rect = item_rect(index)
self.contents.clear_rect(rect)
skill = @data[index]
return if skill == nil
draw_item_name(skill, rect.x, rect.y)
 end

 #--------------------------------------------------------------------------
 # update_help
 #--------------------------------------------------------------------------
 def update_help
@help_window.set_text(skill == nil ? "" : skill.description)
 end

end # Window_New_Skills
#===============================================================================
# Window_BattleDrops
#===============================================================================
class Window_BattleDrops < Window_Selectable

 #--------------------------------------------------------------------------
 # initialize
 #--------------------------------------------------------------------------
 def initialize(drop_items)
super(0, 56, 544, 232)#@@(48, 56+32, 544, 232)
@drop_items = drop_items
@column_max = 2
self.index = -1
refresh
 end

 #--------------------------------------------------------------------------
 # item
 #--------------------------------------------------------------------------
 def item; return @data[self.index]; end

 #--------------------------------------------------------------------------
 # refrehs
 #--------------------------------------------------------------------------
 def refresh
@items = {}; @weapons = {}; @armours = {}; @goods = {}; @data = []
for item in @drop_items
  case item
  when RPG::Item
	@items[item] = 0 if @items[item] == nil
	@items[item] += 1
  when RPG::Weapon
	@weapons[item] = 0 if @weapons[item] == nil
	@weapons[item] += 1
  when RPG::Armor
	@armours[item] = 0 if @armours[item] == nil
	@armours[item] += 1
  end
end
@items = @items.sort { |a,b| a[0].id <=> b[0].id }
@weapons = @weapons.sort { |a,b| a[0].id <=> b[0].id }
@armours = @armours.sort { |a,b| a[0].id <=> b[0].id }
for key in @items; @goods[key[0]] = key[1]; @data.push(key[0]); end
for key in @weapons; @goods[key[0]] = key[1]; @data.push(key[0]); end
for key in @armours; @goods[key[0]] = key[1]; @data.push(key[0]); end
@item_max = @data.size
create_contents
for i in 0..(@item_max-1); draw_item(i); end
 end

 #--------------------------------------------------------------------------
 # draw_item
 #--------------------------------------------------------------------------
 def draw_item(index)
rect = item_rect(index)
self.contents.clear_rect(rect)
item = @data[index]
return if item == nil
number = @goods[item]
rect.width -= 4
self.contents.font.size = Font.default_size
self.contents.font.color = normal_color
draw_item_name(item, rect.x, rect.y)
if $imported["BattleEngineMelody"]
  text = YEM::BATTLE_ENGINE::ITEM_SETTINGS[:text]
  self.contents.font.size = YEM::BATTLE_ENGINE::ITEM_SETTINGS[:size]
  colour = YEM::BATTLE_ENGINE::ITEM_SETTINGS[:colour]
  self.contents.font.color = text_color(colour)
  self.contents.draw_text(rect, sprintf(text, number), 2)
else
  text = YEM::VICTORY::VOCAB[:item_amount]
  self.contents.draw_text(rect, sprintf(text, number), 2)
end
 end

 #--------------------------------------------------------------------------
 # update_help
 #--------------------------------------------------------------------------
 def update_help
@help_window.set_text(item == nil ? "" : item.description)
 end

end # Window_BattleDrops
#===============================================================================
# Window_Level_Up
#===============================================================================
class Window_Level_Up < Window_Base

 #--------------------------------------------------------------------------
 # initialize
 #--------------------------------------------------------------------------
 def initialize(actor, dx, dy, dw, dh)
super(dx, dy, dw, dh)
@actor = actor
@clone = $game_temp.victory_clone[actor.id]
refresh
 end

 #--------------------------------------------------------------------------
 # refresh
 #--------------------------------------------------------------------------
 def refresh
self.contents.clear
sw = self.width - 32
dy = 0; dx = sw/2 - 210/2
draw_stats(dx, dy)
 end

 #--------------------------------------------------------------------------
 # draw_stats
 #--------------------------------------------------------------------------
 def draw_stats(dx, dy)
arrow = YEM::VICTORY::VOCAB[:next_stat]
colours = YEM::VICTORY::LEVEL_COLOURS
@actor.clear_battle_cache if $imported["BattleEngineMelody"]
for stat in YEM::VICTORY::SHOWN_STATS
  case stat
  when :maxhp
	text = Vocab.hp
	value1 = @clone.maxhp
	value2 = @actor.maxhp
  when :maxmp
	text = Vocab.mp
	value1 = @clone.maxmp
	value2 = @actor.maxmp
  when :atk
	text = Vocab.atk
	value1 = @clone.atk
	value2 = @actor.atk
  when :def
	text = Vocab.def
	value1 = @clone.def
	value2 = @actor.def
  when :spi
	text = Vocab.spi
	value1 = @clone.spi
	value2 = @actor.spi
  when :agi
	text = Vocab.agi
	value1 = @clone.agi
	value2 = @actor.agi
  when :dex
	next unless $imported["DEX Stat"]
	text = Vocab.dex
	value1 = @clone.dex
	value2 = @actor.dex
  when :res
	next unless $imported["RES Stat"]
	text = Vocab.res
	value1 = @clone.res
	value2 = @actor.res
  else; next
  end
  icon = Icon.stat(@actor, stat)
  icon = 0 if icon == nil
  value2 = sprintf("%+d", value2 - value1) if YEM::VICTORY::SHOW_DIFFERENCE
  draw_icon(icon, dx, dy)
  self.contents.font.color = text_color(colours[:stat_name])
  self.contents.draw_text(dx+24, dy, 60, WLH, text, 0)
  self.contents.font.color = text_color(colours[:old_stat])
  self.contents.draw_text(dx+84, dy, 60, WLH, value1, 2)
  if YEM::VICTORY::ARROW_ICON.is_a?(Integer)
	draw_icon(YEM::VICTORY::ARROW_ICON, dx+147, dy)
  else
	self.contents.font.color = text_color(colours[:arrow])
	self.contents.draw_text(dx+144, dy, 30, WLH, arrow, 1)
  end
  self.contents.font.color = text_color(colours[:new_stat])
  self.contents.draw_text(dx+174, dy, 60, WLH, value2, 0)
  dy += WLH
end
 end

end # Window_Level_Up
#===============================================================================
# Scene Map
#===============================================================================
class Scene_Map < Scene_Base
 #--------------------------------------------------------------------------
 # alias method: call battle
 #--------------------------------------------------------------------------
 alias call_battle_va call_battle unless $@
 def call_battle
if $game_switches[YEM::VICTORY::BYPASS_BGM_SWITCH]
  @spriteset.update
  Graphics.update
  $game_player.make_encounter_count
  $game_player.straighten
  $game_temp.map_bgm = RPG::BGM.last
  $game_temp.map_bgs = RPG::BGS.last
  Sound.play_battle_start
  $game_temp.next_scene = nil
  $scene = Scene_Battle.new
else
  call_battle_va
end
 end

end # Scene Map
#===============================================================================
# Scene_Battle
#===============================================================================
class Scene_Battle < Scene_Base
 #--------------------------------------------------------------------------
 # alias method: terminate
 #--------------------------------------------------------------------------
 alias terminate_va terminate unless $@
 def terminate
@top_window.dispose if @top_window != nil
@exp_window.dispose if @exp_window != nil
@gold_window.dispose if @gold_window != nil
@exp_back_window.dispose if @exp_back_window != nil
@exp_front_window.dispose if @exp_front_window != nil
@drops_window.dispose if @drops_window != nil
terminate_va
 end

 #--------------------------------------------------------------------------
 # overwrite method: process_victory
 #--------------------------------------------------------------------------
 def process_victory
if $imported["BattleEngineMelody"]
  @judge_win_loss = true
  pause_atb(true, true)
  @enemy_gauge_window.dispose if @enemy_gauge_window != nil
  @hide_battlecursor = true
  @party_input_flag = true
end  
wait_for_deaths if $imported["FancyDeaths"]
unless $game_switches[YEM::VICTORY::BYPASS_BGM_SWITCH]
  RPG::BGM.stop
  $game_system.battle_end_me.play
  YEM::VICTORY::BGM.play unless YEM::VICTORY::BGM == nil
end
if $imported["BattleEngineMelody"]
  start_victory_poses
  @spriteset.update_dtb_order
  @spriteset.update_ctb_order
end
wait(YEM::VICTORY::WAIT, true)
@info_viewport.visible = false
if $imported["BattleEngineMelody"]
  @message_window.dispose
  @message_window = Window_BattleMessage.new
elsif $imported["VictoryCompatibility"]
  @message_window.dispose
  @message_window = Window_BattleMessageCompatible.new
end
@message_window.visible = true
create_victory_clones
create_victory_actor
display_exp_and_gold
display_level_up
display_drop_items
battle_end(0)
$game_temp.victory_actor = nil
$game_temp.victory_clone = nil
victory_me = Thread.new {
  time = YEM::VICTORY::FANFARE_FADE
  RPG::ME.fade(time)
  sleep(time / 1000.0)
  RPG::ME.stop }
battle_end(0)
 end

 #--------------------------------------------------------------------------
 # overwrite method: display_exp_and_gold
 #--------------------------------------------------------------------------
 def display_exp_and_gold
unless $game_switches[YEM::VICTORY::SKIP_VICTORY_SWITCH]
  show_exp_and_gold
else
  @exp = $game_troop.exp_total
  if YEM::VICTORY::PARTY_SPLIT_EXP
	size = YEM::VICTORY::DEAD_ALLY_EXP ?
	$game_party.members.size : $game_party.existing_members.size
	@exp = Integer(@exp * YEM::VICTORY::PARTY_SIZE_SCALING[size])
  end
  $game_party.gain_gold($game_troop.gold_total)
end
 end

 #--------------------------------------------------------------------------
 # overwrite method: display_level_up
 #--------------------------------------------------------------------------
 def display_level_up
unless $game_switches[YEM::VICTORY::SKIP_VICTORY_SWITCH]
  show_level_up
else
  group = YEM::VICTORY::DEAD_ALLY_EXP ?
  $game_party.members : $game_party.existing_members
  for actor in group
	last_level = actor.level
	last_skills = actor.learned_skills.clone
	actor.gain_exp(@exp, false)
  end
end
 end

 #--------------------------------------------------------------------------
 # overwrite method: display_drop_items
 #--------------------------------------------------------------------------
 def display_drop_items
@active_battler = nil
unless $game_switches[YEM::VICTORY::SKIP_VICTORY_SWITCH]
  show_drop_items
else
  drop_items = $game_troop.make_drop_items
  for item in drop_items; $game_party.gain_item(item, 1); end
end
 end

 #--------------------------------------------------------------------------
 # new method: create_victory_clones
 #--------------------------------------------------------------------------
 def create_victory_clones
$game_temp.victory_clone = {}
$game_temp.in_battle = false
for actor in $game_party.members
  $game_temp.victory_clone[actor.id] = actor.clone
end
$game_temp.in_battle = true
 end

 #--------------------------------------------------------------------------
 # new method: create_victory_actor
 #--------------------------------------------------------------------------
 def create_victory_actor
$game_temp.victory_actor = nil
@original_victory_actor = victory_actor
 end

 #--------------------------------------------------------------------------
 # new method: victory_actor
 #--------------------------------------------------------------------------
 def victory_actor
if $game_temp.victory_actor == nil
  roulette = []
  for actor in $game_party.existing_members; roulette.push(actor); end
  $game_temp.victory_actor = roulette.size > 0 ?
	roulette[rand(roulette.size)] : nil
end
return $game_temp.victory_actor
 end

 #--------------------------------------------------------------------------
 # new method: victory_actor_quote
 #--------------------------------------------------------------------------
 def victory_actor_quote(value)
$game_temp.victory_quote = value
if YEM::VICTORY::ACTOR_QUOTES.include?(victory_actor.id)
  $game_temp.common_event_id = YEM::VICTORY::ACTOR_QUOTES[victory_actor.id]
else
  $game_temp.common_event_id = YEM::VICTORY::ACTOR_QUOTES[0]
end
@message_window.visible = true
process_victory_event
 end

 #--------------------------------------------------------------------------
 # new method: process_victory_event
 #--------------------------------------------------------------------------
 def process_victory_event
loop do
  $game_troop.interpreter.update
  $game_troop.setup_battle_event
  wait_for_message
  return unless $game_troop.interpreter.running?
  update_basic
end
 end

 #--------------------------------------------------------------------------
 # new method: show_exp_and_gold
 #--------------------------------------------------------------------------
 def show_exp_and_gold
#--- Draw Victory Message
@top_window = Window_Help.new
text = YEM::VICTORY::VOCAB[:top_message]
@top_window.set_text(text, 1)
#--- Draw EXP Window
@exp = $game_troop.exp_total
if YEM::VICTORY::PARTY_SPLIT_EXP
  size = YEM::VICTORY::DEAD_ALLY_EXP ?
  $game_party.members.size : $game_party.existing_members.size
  @exp = Integer(@exp * YEM::VICTORY::PARTY_SIZE_SCALING[size])
end
@exp_window = Window_Base.new(272, 56, 272, 56)#@@(272+48, 56+32, 272, 56)
text = sprintf(YEM::VICTORY::VOCAB[:exp_receive], @exp)
@exp_window.contents.draw_text(0, 0, 240, 24, text, 1)
#--- Draw Gold Window
@gold = $game_troop.gold_total
$game_party.gain_gold(@gold)
@gold_window = Window_Base.new(0, 56, 272, 56)#@@(48, 56+32, 272, 56)
text = sprintf(YEM::VICTORY::VOCAB[:gold_found], @gold)
@gold_window.contents.draw_text(0, 0, 240, 24, text, 1)
#--- Draw Party EXP Windows
@exp_back_window = Window_Party_Exp_Back.new
@exp_front_window = Window_Party_Exp_Front.new
if $imported["BattleEngineMelody"]
  @top_window.viewport = @spriteset.viewportC
  @exp_window.viewport = @spriteset.viewportC
  @gold_window.viewport = @spriteset.viewportC
  @exp_back_window.viewport = @spriteset.viewportC
  @exp_front_window.viewport = @spriteset.viewportC
end
if !YEM::VICTORY::SHOW_EXP_WINDOWS
  @top_window.visible = false
  @exp_window.visible = false
  @gold_window.visible = false
  @exp_back_window.visible = false
  @exp_front_window.refresh(100)
  @exp_front_window.visible = false
  return
end
fill_exp_gauge
#--- Battle Quotes
if YEM::VICTORY::ENABLE_QUOTES
  victory_actor_quote("MAIN")
else
  text = sprintf(Vocab::Victory, $game_party.name)
  $game_message.texts.push(text)
  wait_for_message
end
 end

 #--------------------------------------------------------------------------
 # new method: fill_exp_gauge
 #--------------------------------------------------------------------------
 def fill_exp_gauge
ticks = 0
percent = 0
increase = 100 / YEM::VICTORY::EXP_TICKS
until ticks > YEM::VICTORY::EXP_TICKS
  ticks += 1
  percent += increase
  @exp_front_window.refresh(percent)
  if @exp_front_window.full_actors != $game_party.existing_members.size
	YEM::VICTORY::TICK_SOUND.play if YEM::VICTORY::TICK_SOUND != nil
  end
  update_basic
end
 end

 #--------------------------------------------------------------------------
 # new method: show_level_up
 #--------------------------------------------------------------------------
 def show_level_up
return unless YEM::VICTORY::SHOW_LEVEL_WINDOWS
@top_window.visible = true
@exp_window.visible = false
@gold_window.visible = false
@exp_back_window.visible = false
@exp_front_window.visible = false
group = YEM::VICTORY::DEAD_ALLY_EXP ?
  $game_party.members : $game_party.existing_members
for actor in group
  last_level = actor.level
  last_skills = actor.learned_skills.clone
  actor.gain_exp(@exp, false)
  create_level_up_windows(actor, last_skills) if actor.level > last_level
end
wait_for_message
 end

 #--------------------------------------------------------------------------
 # new method: create_level_up_windows
 #--------------------------------------------------------------------------
 def create_level_up_windows(actor, last_skills)
@active_battler = actor
#--- Basic Settings
YEM::VICTORY::LEVEL_SOUND.play if YEM::VICTORY::LEVEL_SOUND != nil
$game_temp.victory_actor = actor
new_skills = actor.learned_skills - last_skills
@top_window.contents.clear
text = sprintf(YEM::VICTORY::VOCAB[:level_msg], actor.name, actor.level)
@top_window.set_text(text, 1)
#--- HP and MP Recovery
case YEM::VICTORY::HP_RECOVERY
when 1; actor.hp += actor.maxhp - $game_temp.victory_clone[actor.id].maxhp
when 2; actor.hp = actor.maxhp
end
case YEM::VICTORY::MP_RECOVERY
when 1; actor.mp += actor.maxmp - $game_temp.victory_clone[actor.id].maxmp
when 2; actor.mp = actor.maxmp
end
#--- Create Windows
if new_skills != []
  @levelup_window = Window_Level_Up.new(actor, 0+48, 56+32, 316, 232)
  @skill_back_window = Window_Base.new(316+48, 56+32, 228, 232)
  @skill_back_window.contents.font.color = @skill_back_window.system_color
  text = YEM::VICTORY::VOCAB[:new_skills]
  @skill_back_window.contents.draw_text(0, 0, 196, 24, text, 1)
  @skill_list_window = Window_New_Skills.new(new_skills)
else
  @levelup_window = Window_Level_Up.new(actor, 48, 56+32, 544, 232)
end
if $imported["BattleEngineMelody"]
  @levelup_window.viewport = @spriteset.viewportC
  if @skill_back_window != nil
	@skill_back_window.viewport = @spriteset.viewportC
	@skill_list_window.viewport = @spriteset.viewportC
  end
end
if YEM::VICTORY::ENABLE_QUOTES
  value = (last_skills != actor.learned_skills) ? "SKILL" : "LEVEL"
  victory_actor_quote(value)
else
  text = sprintf(Vocab::LevelUp, actor.name, Vocab::level, actor.level)
  $game_message.new_page
  $game_message.texts.push(text)
  if new_skills != []
	for skill in new_skills
	  text = sprintf(Vocab::ObtainSkill, skill.name)
	  $game_message.texts.push(text)
	end
  end
  wait_for_message
end
#--- Skill Window Scrolling
if new_skills.size > 7
  @skill_list_window.index = 0
  @skill_list_window.active = true
  @skill_list_window.help_window = @top_window
  loop do
	update_basic
	@skill_list_window.update
	if Input.trigger?(Input::C)
	  Sound.play_decision; break
	elsif Input.trigger?(Input::B)
	  Sound.play_cancel; break
	elsif Input.press?(Input::A)
	  break
	end
  end
end
#--- Disposal of Windows
@levelup_window.dispose if @levelup_window != nil
@levelup_window = nil
@skill_back_window.dispose if @skill_back_window != nil
@skill_back_window = nil
@skill_list_window.dispose if @skill_list_window != nil
@skill_list_window = nil
 end

 #--------------------------------------------------------------------------
 # new method: show_drop_items
 #--------------------------------------------------------------------------
 def show_drop_items
@drop_items = $game_troop.make_drop_items
for item in @drop_items; $game_party.gain_item(item, 1); end
return unless YEM::VICTORY::SHOW_ITEM_WINDOWS
@top_window.visible = true
if @drop_items != []
  @top_window.set_text(YEM::VICTORY::VOCAB[:spoils],1)
  YEM::VICTORY::ITEM_SOUND.play if YEM::VICTORY::ITEM_SOUND != nil
  @drops_window = Window_BattleDrops.new(@drop_items)
  if $imported["BattleEngineMelody"]
	@drops_window.viewport = @spriteset.viewportC
  end
else
  @top_window.set_text(YEM::VICTORY::VOCAB[:no_items],1)
  @exp_window.visible = true
  @gold_window.visible = true
  @exp_back_window.visible = true
  @exp_front_window.visible = true
end
if YEM::VICTORY::ENABLE_QUOTES
  $game_temp.victory_actor = @original_victory_actor
  value = (@drop_items == []) ? "NOTHING" : "DROPS"
  victory_actor_quote(value)
else
  if @drop_items == []
	text = YEM::VICTORY::VOCAB[:no_items]
  else
	text = sprintf(YEM::VICTORY::VOCAB[:found_items], $game_party.name)
  end
  $game_message.texts.push(text)
  wait_for_message
end
if @drop_items != [] and @drops_window.item_max > 16
  @drops_window.index = 0
  @drops_window.active = true
  @drops_window.help_window = @top_window
  loop do
	update_basic
	@drops_window.update
	if Input.trigger?(Input::C)
	  Sound.play_decision; break
	elsif Input.trigger?(Input::B)
	  Sound.play_cancel; break
	elsif Input.press?(Input::A)
	  break
	end
  end
end
 end

end # Scene_Battle
#===============================================================================
#
# END OF FILE
#
#===============================================================================

 

 

 

Potrebbero anche esserci altri errori, nel caso fallo sapere a clyde e lui penserà a correggerle! ^_^

Se sei curioso di vedere dove si possono regolare le coordinate delle finestre, cerca "#@@" nello Script Editor.

Link to comment
Share on other sites

  • 0

Si, effettivamente così risulta ben inquadrata l'immagine...

Tuttavia, per qualche motivo, i enable_quotes, riga 203 (i commenti dei personaggi a fine battaglia) vanno su False.

Se gli metto nuovamente True, però, la finestra si ritrova di nuovo squadrata...

 

Non capisco cosa non vada >_>

 

Sinceramente, non è essenziale che vada perfetto... Tuttavia non mi sarebbe dispiaciuto :\

In ogni caso, grazie per quello che hai fatto finora ^^

Link to comment
Share on other sites

  • 0
Guest clyde

Quell'impostazione l'aveva cambiata clyde perché il gioco dava errore non trovando gli eventi comuni (non ha il progetto, ma solo gli script).

Rimettere il valore true non è assolutamente legato al posizionamento delle finestre, l'unica spiegazione è che tu abbia copiaincollato la versione precedente dello script :P

Link to comment
Share on other sites

  • 0

Risolto...

 

Non so come, ma disattivando e riattivando KGC_InterfaceForWin32API e YEM Victory Compatibility, ora ha preso a funzionare correttamente...

 

Idea mia, ma penso che per qualche motivo mi leggesse prima YEM Victory Compatibility e dopo Victory Aftermath, e quindi generasse contrasto (?)

 

 

Comunque, grazie per il tuo prezioso aiuto, mi sei stato molto utile ^^

 

 

A proposito, è da un po' che me lo chiedo... Perchè parli in terza persone? D:

*Si prepara a segnalare furto d'account* :3

 

Link to comment
Share on other sites

  • 0
Guest clyde

Risolto...

 

Non so come, ma disattivando e riattivando KGC_InterfaceForWin32API e YEM Victory Compatibility, ora ha preso a funzionare correttamente...

 

Idea mia, ma penso che per qualche motivo mi leggesse prima YEM Victory Compatibility e dopo Victory Aftermath, e quindi generasse contrasto (?)

 

 

Comunque, grazie per il tuo prezioso aiuto, mi sei stato molto utile ^^

Il mondo degli script è misterioso per tutti, e clyde non fa eccezione!

 

 

A proposito, è da un po' che me lo chiedo... Perchè parli in terza persone? D:

*Si prepara a segnalare furto d'account* :3

 

Perché clyde non può scrivere, e io (il suo criceto ^_^) scrivo per lui!

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...