Ogłoszenie 

Uwaga! To forum jest w trybie offline.
Wszelką pomoc uzyskasz pod adresem
forum.ultimateam.pl


Administracja Forum


Poprzedni temat «» Następny temat
Zamknięty przez: Ayene
Pon 09 Maj, 2011 08:05
YEM - Victory Aftermath - problem z wyświetlaniem drużyny
Autor Wiadomość
lolerixe 




Preferowany:
RPG Maker VX

Pomógł: 2 razy
Dołączył: 01 Mar 2011
Posty: 41
Skąd: Okolice Wrocławia
Wysłany: Pon 28 Mar, 2011 19:07
YEM - Victory Aftermath - problem z wyświetlaniem drużyny
A więc. Niby wyświetla 6 członków drużyny ale 1 i 6 są poza ekranem, widać ich w 10-15%.
Czy mógłby ktoś przerobić poniższy skrypt, aby wyświetlało normalnie 6 członków drużyny.

Spoiler:

#===============================================================================
#
# 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 = 61
SKIP_VICTORY_SWITCH = 62

# This hash adjusts the vocabulary used throughout the script.
VOCAB ={
:top_message => "Battle Results",
:gold_found => "Found %s Gold",
:exp_receive => "Earned %s EXP",
:percent_exp => "%1.2f%%",
:next_level => "To Level %s",
:max_level => "Max Level",
:next_exp => "%s EXP",
:level_up => "LEVEL UP!",
:to_level => "to Level %s",
:level_msg => "%s has reached level %s!",
:next_stat => "→",
:new_skills => "Skills Acquired",
:spoils => "Victory Spoils",
:no_items => "No items were found.",
:found_items => "%s has found items!",
: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 = nil

# 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 = 1 # 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("Field1", 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 = 1000

# 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 = true

# 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 => 20, # Common Victory Quotes
1 => 21, # Ralph's Victory Quotes
2 => 22, # Ulrika's Victory Quotes
3 => 23, # Bennett's Victory Quotes
4 => 24, # Ylva's Victory Quotes
5 => 25, # Lawrence's Victory Quotes
6 => 26, # Oscar's Victory Quotes
7 => 27, # Vera's Victory Quotes
8 => 28, # Elmer's Victory Quotes
} # 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)
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)
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)
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)
@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)
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)
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, 56, 316, 232)
@skill_back_window = Window_Base.new(316, 56, 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, 0, 56, 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
#
#===============================================================================

________________________
------STAN PROJEKTU-------
Skrypty - 85%
Fabuła - 60%
Mapy - 10 %
Muzyka i Dźwięki - 100%
Baza Danych - 65% (około 800 z 1200 itemków)



Kliknij i zobacz
 
 
 
Yoroiookami 

Omnomnomnom



Preferowany:
RPG Maker XP

Ranga RM:
3 gry

Pomógł: 57 razy
Dołączył: 24 Lut 2010
Posty: 751
Wysłany: Pon 28 Mar, 2011 19:37
A to w ogóle możliwe? :shock:
Gracz w końcu znajduje się na środku mapy, więc skala chyba musiałaby być mniejsza :I
 
 
lolerixe 




Preferowany:
RPG Maker VX

Pomógł: 2 razy
Dołączył: 01 Mar 2011
Posty: 41
Skąd: Okolice Wrocławia
Wysłany: Pon 28 Mar, 2011 21:00
Chyba się nie zrozumieliśmy.


________________________
------STAN PROJEKTU-------
Skrypty - 85%
Fabuła - 60%
Mapy - 10 %
Muzyka i Dźwięki - 100%
Baza Danych - 65% (około 800 z 1200 itemków)



Kliknij i zobacz
 
 
 
Yoroiookami 

Omnomnomnom



Preferowany:
RPG Maker XP

Ranga RM:
3 gry

Pomógł: 57 razy
Dołączył: 24 Lut 2010
Posty: 751
Wysłany: Pon 28 Mar, 2011 21:49
Rzeczywiście, źle zrozumiałem. ^^
 
 
Ayene 




Ranga RM:
4 gry

Pomogła: 232 razy
Dołączyła: 18 Wrz 2007
Posty: 2424
Wysłany: Czw 07 Kwi, 2011 07:39
No a jak chciałbyś, żeby było to ułożone? Nie ma za bardzo miejsca w tym okienku, chyba że zrezygnowałbyś w awatarów na rzecz charów.
________________________


 
 
 
lolerixe 




Preferowany:
RPG Maker VX

Pomógł: 2 razy
Dołączył: 01 Mar 2011
Posty: 41
Skąd: Okolice Wrocławia
Wysłany: Czw 07 Kwi, 2011 09:03
Może da rady przerobić grafę awatarów i w skrypcie wskazać, czy jak tam.
Grafę mogę bez problemu przerobić, chyba że da się w skrypcie wskazać wielkość okienek z awatarami i przez to automatycznie ich przytnie w wyświetlaniu.
________________________
------STAN PROJEKTU-------
Skrypty - 85%
Fabuła - 60%
Mapy - 10 %
Muzyka i Dźwięki - 100%
Baza Danych - 65% (około 800 z 1200 itemków)



Kliknij i zobacz
 
 
 
FireBlade 




Preferowany:
RPG Maker VX

Pomogła: 8 razy
Dołączyła: 04 Kwi 2010
Posty: 243
Skąd: Opole
Wysłany: Czw 07 Kwi, 2011 09:05
Ewentualnie dało by się zmniejszyć grafikę avatarów i czcionki, i to wszystko przesunąć ...
ale to nie będzie dobrze wyglądało i nie wiem czy dla 6 osób będzie ci się chciało ? ;)
________________________
"Nigdy się nie tłumacz, przyjaciele tego nie potrzebują a wrogowie i tak nie uwierzą.,"

"Oklaski są z łaski a brawa to wielka sprawa"

"Akcpetuję tylko wodę, mountain dew i coca colę zero..."

DeviantArt : http://divinekataroshie.deviantart.com/
 
 
 
lolerixe 




Preferowany:
RPG Maker VX

Pomógł: 2 razy
Dołączył: 01 Mar 2011
Posty: 41
Skąd: Okolice Wrocławia
Wysłany: Czw 07 Kwi, 2011 09:35
Widziałem na YouTube tak poprzycinane i nie wyglądało jakoś koszmarnie, problem że z skryptów to tylko umie robić nowe skile do sidewiew.
________________________
------STAN PROJEKTU-------
Skrypty - 85%
Fabuła - 60%
Mapy - 10 %
Muzyka i Dźwięki - 100%
Baza Danych - 65% (około 800 z 1200 itemków)



Kliknij i zobacz
 
 
 
bionicl 




Preferowany:
RPG Maker VX

Pomógł: 1 raz
Dołączył: 06 Gru 2009
Posty: 99
Skąd: z Huty Mińskiej
Wysłany: Pią 08 Kwi, 2011 14:57
A jak ty sobie to w ogóle wyobrażasz? Że co: klikasz strzałów w prawo i się przesuwają facey w prawo i klikasz tyle razy aż zobaczysz całe podsumowanie? Wg mnie powinieneś usunąć skrypt, albo zmienić na inny bo jakoś sobie tego w grze nie wyobrażam...
Sory, ja nic ci nie pomogę, ale chce ci tylko uświadomić że ta prośba jest trochę bez sensu ale... "Jak mawiał poeta, Rubta se co chceta" ;-)
________________________
Gość, podoba ci się moja gra? ;)
 
 
lolerixe 




Preferowany:
RPG Maker VX

Pomógł: 2 razy
Dołączył: 01 Mar 2011
Posty: 41
Skąd: Okolice Wrocławia
Wysłany: Pią 08 Kwi, 2011 15:10
bionicl napisał/a:
A jak ty sobie to w ogóle wyobrażasz? Że co: klikasz strzałów w prawo i się przesuwają facey w prawo i klikasz tyle razy aż zobaczysz całe podsumowanie?


Co ty stary pleciesz? chyba nie zaczaiłeś co tu pisze!!! Weź przeczytaj jeszcze raz spokojnie a dopiero potem się wypowiadaj!!!
________________________
------STAN PROJEKTU-------
Skrypty - 85%
Fabuła - 60%
Mapy - 10 %
Muzyka i Dźwięki - 100%
Baza Danych - 65% (około 800 z 1200 itemków)



Kliknij i zobacz
 
 
 
bionicl 




Preferowany:
RPG Maker VX

Pomógł: 1 raz
Dołączył: 06 Gru 2009
Posty: 99
Skąd: z Huty Mińskiej
Wysłany: Sob 09 Kwi, 2011 12:27
Może się trochę słabo wyraziłem...
Cytat:
Widziałem na YouTube tak poprzycinane i nie wyglądało jakoś koszmarnie,

A pokażesz ten filmik abyśmy wiedzieli o co ci chodzi?
________________________
Gość, podoba ci się moja gra? ;)
 
 
lolerixe 




Preferowany:
RPG Maker VX

Pomógł: 2 razy
Dołączył: 01 Mar 2011
Posty: 41
Skąd: Okolice Wrocławia
Wysłany: Pon 11 Kwi, 2011 07:47
No to masz:

http://www.youtube.com/watch?v=w7aE_LtoOaE
lub
http://www.youtube.com/wa...feature=related
________________________
------STAN PROJEKTU-------
Skrypty - 85%
Fabuła - 60%
Mapy - 10 %
Muzyka i Dźwięki - 100%
Baza Danych - 65% (około 800 z 1200 itemków)



Kliknij i zobacz
 
 
 
Wyświetl posty z ostatnich:   
Ten temat jest zablokowany bez możliwości zmiany postów lub pisania odpowiedzi
Nie możesz pisać nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach
Nie możesz załączać plików na tym forum
Możesz ściągać załączniki na tym forum
Dodaj temat do Ulubionych
Wersja do druku

Skocz do:  

Powered by phpBB modified by Przemo © 2003 phpBB Group | Template Klam by Ayene