-Axel
-
Posts
35 -
Joined
-
Last visited
Content Type
Profiles
Forums
Calendar
Posts posted by -Axel
-
-
uff... ci sono solo quelli che stanno
in CoM e non vanno bene...
-
fatto ma sempre la stessa roba... in che posizione lo
devo mettere e che nome gli devo dare?
-
chi ha dei chara dell' organizzazione XIII?
se possibile anche degli heartless..
-
ma che vuol dire?
-
e quindi che devo fare per farlo funzionare?
non è che qualcuno può farmi la demo funzionante?
così mi basta modificare la demo e gli script funzionano
così si risolve tutto subito

-
raga secondo me servono delle immagini...
è strano che lo script può fare tutto senza le immagini
che credo dovrebbero stare in una cartelletta...
o almeno... in uno script ci dovevano stare per
funzionare... ma le immagini non ci sono!
"stack level to deep" bhe non ho idea di che voglia dire, è l' errore nello script
enorme di tantissime righe omg
ecco la riga che mi dà errore:
2613 macl_bitmapdraw_init(*args)
non ho idea di che voglia dire, il
traduttore di google fa pena
e non sono un mito in inglese
anche se ho 8 in pagella omg
-
c'è solo questo aggiuntivo, gli altri sono quelli default
script aggiunto:
#======================================================================
========
# ** Kingdom Hearts II HUD
#------------------------------------------------------------------------------
# SephirothSpawn
# Version 1.0
# 2008-09-17
#------------------------------------------------------------------------------
# * Description:
#
# This script was designed to remake the arc gradient bar HUD from Kingdom
# Hearts 2. It shows the HP and SP values, with a custom feature that
# will make the face change when hp drops, hp rises, your actor
# dies, or life falls below 25% health.
#
# All HUD dimensions are customizable, although I did make a basic setup
# nearly perfectly matching the Kingdom Hearts 2 HUD. You may also toggle
# the visibility when a switch is on or off.
#------------------------------------------------------------------------------
# * Instructions:
#
# Place the script below the SDK (if included) and above main.
#
# Change the constant in Kingdom_Hearts_2_HUD module.
#------------------------------------------------------------------------------
# * Requirements:
#
# Method and Class Library 2.3+
#------------------------------------------------------------------------------
# * Terms & Conditions:
#
# Copyright © 2007 SephirothSpawn (Timothy Hoffman)
# Free for non-commercial use.
# 40 USD commercial license. Contact via. SephirothSpawn@hotmail.com
#
# Any modifications to the system are not to be re-distributed without my
# consent.
#==============================================================================
#==============================================================================
# ** SDK Log
#==============================================================================
if Object.const_defined?(:SDK)
SDK.log('Kingdom Hearts II HUD', 'SephirothSpawn', 1.0, '2008-09-17')
end
#------------------------------------------------------------------------------
# * Begin SDK Enable Test
#------------------------------------------------------------------------------
if Object.const_defined?(:SDK) == false || SDK.enabled?('Kingdom Hearts II HUD')
#==============================================================================
# ** Kingdom_Hearts_2_HUD
#==============================================================================
module Kingdom_Hearts_2_HUD
#--------------------------------------------------------------------------
# * Faces Directory
#--------------------------------------------------------------------------
Face_Folder = 'Graphics/HUD Faces/'
#--------------------------------------------------------------------------
# * Background & Cover Images
#
# The background image will be displayed below everything
# The cover image will be drawn over everything
# Draw Background will draw pixel borders are gradient bars
# Draw SP Background will draw pixel borders are sp bar
#--------------------------------------------------------------------------
Background_Image = nil
Cover_Image = nil
Draw_Background = true
Draw_SP_Background = true
#--------------------------------------------------------------------------
# * Faces Size: Rect.new(0, 0, width, height)
#--------------------------------------------------------------------------
Main_Face_Rect = Rect.new(525, 369, 86, 86)
Sub_Face_Rect = Rect.new(573, 307, 46, 46)
#--------------------------------------------------------------------------
# * Main HUD Preferences
#--------------------------------------------------------------------------
Main_Center_X = 568
Main_Center_Y = 412
Main_HP_Min_Radius = 36
Main_HP_Max_Radius = 50
Main_HP_Border_Width = 2
Main_HP_Tail_Length = 172
Main_HP_Color = Color.new(188, 243, 62)
Main_HP_Color2 = Color.new(53, 215, 18)
Main_SP_Length = 150
Main_SP_Height = Draw_Background ? 8 : Draw_SP_Background ? 12 : 8
Main_SP_Border_Width = 2
Main_SP_Overlap = 6
Main_SP_Color = Color.new(9, 141, 255)
Main_SP_Color2 = Color.new(8, 101, 222)
Main_HP_Background = Color.new(50, 50, 50)
Main_SP_Backgorund = Color.new(25, 25, 25)
#--------------------------------------------------------------------------
# * Sub HUD Dimensions
#--------------------------------------------------------------------------
Sub_Center_X = 596
Sub_Center_Y = 332
Sub_Center_Diff = 56
Sub_Min_Radius = 20
Sub_Max_Radius = 26
Sub_Border_Width = 2
Sub_HP_Color = Main_HP_Color
Sub_HP_Color2 = Main_HP_Color2
Sub_SP_Color = Main_SP_Color
Sub_SP_Color2 = Main_SP_Color2
Sub_Background_Color = Color.new(50, 50, 50)
#--------------------------------------------------------------------------
# * Visibility Switch
#--------------------------------------------------------------------------
Switch_ID = 1
#--------------------------------------------------------------------------
# * Faces
#--------------------------------------------------------------------------
Enable_Complex_Faces = true
Complex_Face_Change = 20
Complex_Faces = {
'hp_down' => '_hp_down',
'hp_up' => '_hp_up',
'crisis' => '_crisis',
'dead' => '_dead',
}
#--------------------------------------------------------------------------
# * Load Face
#--------------------------------------------------------------------------
def self.face(actor)
begin
return RPG::Cache.load_bitmap(Face_Folder,
actor.kh_face, actor.character_hue)
rescue
return RPG::Cache.load_bitmap(Face_Folder,
actor.kh_face_base, actor.character_hue)
end
end
#--------------------------------------------------------------------------
# * Background
#--------------------------------------------------------------------------
def self.background
return RPG::Cache.load_bitmap(Face_Folder, Background_Image)
end
#--------------------------------------------------------------------------
# * Cover
#--------------------------------------------------------------------------
def self.cover
return RPG::Cache.load_bitmap(Face_Folder, Cover_Image)
end
end
#==============================================================================
# ** Game_Actor
#==============================================================================
class Game_Actor
#--------------------------------------------------------------------------
# * Public Instance Variables
#--------------------------------------------------------------------------
attr_accessor :kh_face_suffix
#--------------------------------------------------------------------------
# * Kingdom Hearts Face Base
#--------------------------------------------------------------------------
def kh_face_base
return character_name
end
#--------------------------------------------------------------------------
# * Kingdom Hearts Face
#--------------------------------------------------------------------------
def kh_face
begin
return "#{kh_face_base}#{kh_face_suffix.nil? ? '' : kh_face_suffix}"
rescue
return kh_face_base
end
end
end
#==============================================================================
# ** Kingdom_Hearts_2_HUD::Window_HUD
#==============================================================================
class Kingdom_Hearts_2_HUD::Window_HUD < Window_Base
#--------------------------------------------------------------------------
# * Include Constants
#--------------------------------------------------------------------------
include Kingdom_Hearts_2_HUD
#--------------------------------------------------------------------------
# * Math Calculations
#--------------------------------------------------------------------------
c = Main_HP_Min_Radius + (Main_HP_Max_Radius - Main_HP_Min_Radius) / 2
c *= 2 * Math::PI * 4 / 3
HP_Arc_Percent = c / (c + Main_HP_Tail_Length)
HP_Arc_Color = Color.color_between(Main_HP_Color, Main_HP_Color2,
HP_Arc_Percent)
#--------------------------------------------------------------------------
# * Object Initialization
#--------------------------------------------------------------------------
def initialize
super(-16, -16, 672, 512)
self.contents = Bitmap.new(width - 32, height - 32)
self.opacity = 0
# If background exist
if Background_Image != nil
# Draw background
b = Kingdom_Hearts_2_HUD.background
self.contents.blt(0, 0, b, b.rect)
end
# Set empty actors
@actors = []
# Save face changes
@face_suffix, @face_time = [], []
# Update
update
# If cover exist
if Cover_Image != nil
# Draw Cover
b = Kingdom_Hearts_2_HUD.cover
self.contents.blt(0, 0, b, b.rect)
end
end
#--------------------------------------------------------------------------
# * Frame Update
#--------------------------------------------------------------------------
def update
super
# Update visibility
self.visible = $game_switches[switch_ID]
# Stop if not visible
return unless self.visible
# If no actors
if $game_party.actors.size == 0
# Clear window and return
self.contents.clear
return
end
# Update face suffix
for i in 0...[@actors.size, $game_party.actors.size].max
update_face_suffix(i)
end
# If main actor has changed
if actor_changed?($game_party.actors[0], @actors[0])
# Save actor
@actors[0] = $game_party.actors[0].dup
# Clear main
clear_main
# Draw main HP Background
draw_main_background if Draw_Background
# Draw main HP Bar
draw_main_hp_bar
# Draw main face
draw_main_face
# Draw main SP bar
draw_main_sp_bar
end
# Pass through sub actors
for i in 1...[@actors.size, $game_party.actors.size].max
# If nil actor
if $game_party.actors == nil
# Set nil actor
@actors = nil
# Clear area and skip to next
clear_sub(i)
next
end
# If sub actor has changed
if actor_changed?($game_party.actors, @actors)
# Save actor
@actors = $game_party.actors.dup
# Clear sub area
clear_sub(i)
# Draw sub background
draw_sub_background(i) if Draw_Background
# Draw sub HP bar
draw_sub_hp_bar(i)
# Draw sub SP bar
draw_sub_sp_bar(i)
# Draw sub face
draw_sub_face(i)
end
end
end
#--------------------------------------------------------------------------
# * Update Face Suffix
#--------------------------------------------------------------------------
def update_face_suffix(i)
# Return if not complex faces
return unless Enable_Complex_Faces
# Get new and old actor
new_actor, old_actor = $game_party.actors, @actors
# If id is different
if new_actor.id != old_actor.id
# Clear both suffixes
new_actor.kh_face_suffix = '' unless new_actor == nil
old_actor.kh_face_suffix = '' unless old_actor == nil
# Clear time and suffix
@face_suffix = nil
@face_time = nil
return
end
# If dead
if new_actor.dead?
suffix = Complex_Faces['dead']
# If less life
elsif new_actor.hp < old_actor.hp
suffix = Complex_Faces['hp_down']
# If more life
elsif new_actor.hp > old_actor.hp
suffix = Complex_Faces['hp_up']
# If crisis
elsif new_actor.hp <= new_actor.maxhp / 4 && new_actor.kh_face_suffix == ''
suffix = Complex_Faces['crisis']
else
suffix = ''
end
# If suffix exist
if suffix != ''
# Change suffix
new_actor.kh_face_suffix = suffix
@face_suffix = suffix
@face_time = Complex_Face_Change
return
end
# Return if no face suffix
if @face_time == nil
@face_suffix = nil
return
end
# If time is greater than 0
if @face_time > 0
# Subtract time
@face_time -= 1
return
end
# Return if suffix is dead or crisis
return if [Complex_Faces['crisis'],
Complex_Faces['dead']].include?(new_actor.kh_face_suffix)
# Clear suffix
new_actor.kh_face_suffix = ''
@face_suffix = nil
@face_time = nil
end
#--------------------------------------------------------------------------
# * Clear Main
#--------------------------------------------------------------------------
def clear_main
# Get rect
rx = Main_Center_X - Main_HP_Tail_Length - Main_HP_Border_Width
ry = Main_Center_Y - Main_HP_Max_Radius - Main_HP_Border_Width
rw = Main_Center_X + Main_HP_Max_Radius + Main_HP_Border_Width - rx
rh = Main_HP_Max_Radius * 2 + Main_HP_Border_Width * 2
rect = Rect.new(rx, ry, rw, rh)
# Clear area
self.contents.fill_rect(rect, Color.clear)
# Draw background
if Background_Image != nil
# Draw background
b = Kingdom_Hearts_2_HUD.background
self.contents.blt(rx, ry, b, rect)
end
end
#--------------------------------------------------------------------------
# * Draw Background
#--------------------------------------------------------------------------
def draw_main_background
# Draw arc region
self.contents.draw_cw_arc_region(Main_Center_X, Main_Center_Y,
Main_HP_Min_Radius - Main_HP_Border_Width, Main_HP_Max_Radius +
Main_HP_Border_Width, 180, 270, 1, 1, Main_HP_Background)
# Draws corner border
ox = Main_Center_X - Main_HP_Max_Radius - Main_HP_Border_Width
oy = Main_Center_Y
ow = (Main_HP_Max_Radius - Main_HP_Min_Radius) + Main_HP_Border_Width * 2
oh = Main_HP_Border_Width
self.contents.fill_rect(ox, oy, ow, oh, Main_HP_Background)
# Get HP tail dimensions
ox = Main_Center_X - Main_HP_Tail_Length - Main_HP_Border_Width
oy = Main_Center_Y + Main_HP_Min_Radius - Main_HP_Border_Width
ow = Main_HP_Tail_Length + Main_HP_Border_Width
oh = Main_HP_Max_Radius - Main_HP_Min_Radius + Main_HP_Border_Width * 2
# Draw bar
self.contents.fill_rect(ox, oy, ow, oh, Main_HP_Background)
end
#--------------------------------------------------------------------------
# * Draw Main HP
#--------------------------------------------------------------------------
def draw_main_hp_bar
# Get current and max values
cur, max = @actors[0].hp, @actors[0].maxhp
# Adjust for arc region
max = Integer(max * HP_Arc_Percent)
cur = [max, cur].min
# Gets center and radi
cx, cy = Main_Center_X, Main_Center_Y
mnr, mxr = Main_HP_Min_Radius, Main_HP_Max_Radius
# Draw Arc Region
if Main_HP_Color2 == nil
self.contents.draw_cw_arc_region(cx, cy, mnr, mxr, 180, 270, cur, max,
Main_HP_Color)
else
self.contents.draw_cw_grad_arc_region(cx, cy, mnr, mxr, 180, 270, cur,
max, Main_HP_Color, HP_Arc_Color)
end
# Gets max subtraction
max_sub = Integer(@actors[0].maxhp * HP_Arc_Percent)
# Get new cur & max
cur, max = @actors[0].hp, @actors[0].maxhp
cur -= max_sub ; max -= max_sub
# Return if cur < 0
return unless cur > 0
# Get HP tail dimensions
ox = Main_Center_X - Main_HP_Tail_Length
oy = Main_Center_Y + Main_HP_Min_Radius
ow = Main_HP_Tail_Length
oh = Main_HP_Max_Radius - Main_HP_Min_Radius
# Draw reverse bar
if Main_HP_Color2 == nil
self.contents.draw_rev_bar(ox, oy, ow, oh, cur, max, Main_HP_Color)
else
self.contents.draw_rev_grad_bar(ox, oy - 1, ow, oh + 2, cur, max,
HP_Arc_Color, Main_HP_Color2)
end
end
#--------------------------------------------------------------------------
# * Draw Main SP
#--------------------------------------------------------------------------
def draw_main_sp_bar
# If draw background
if Draw_Background
# Get SP tail dimensions
ox = Main_Center_X - Main_HP_Tail_Length - Main_HP_Border_Width
oy = Main_Center_Y + Main_HP_Min_Radius - Main_HP_Border_Width
oy -= Main_SP_Height - Main_SP_Overlap
ow = Main_SP_Length + Main_SP_Border_Width * 2
oh = Main_SP_Height + Main_SP_Border_Width * 2
# Draw border
self.contents.fill_rect(ox, oy, ow, oh, Main_SP_Backgorund)
# Get gradient dimensions
ox += Main_SP_Border_Width
oy += Main_SP_Border_Width
# Draw reverse bar
if Main_SP_Color2 == nil
self.contents.draw_rev_bar(ox, oy, Main_SP_Length, Main_SP_Height,
@actors[0].sp, @actors[0].maxsp, Main_SP_Color)
else
self.contents.draw_rev_grad_bar(ox, oy, Main_SP_Length, Main_SP_Height,
@actors[0].sp, @actors[0].maxsp, Main_SP_Color, Main_SP_Color2)
end
# If draw sp background
elsif Draw_SP_Background
# Get SP tail dimensions
ox = Main_Center_X - Main_HP_Tail_Length
oy = Main_Center_Y + Main_HP_Min_Radius - Main_SP_Height + Main_SP_Overlap
ow = Main_SP_Length
oh = Main_SP_Height
# Draw border
self.contents.fill_rect(ox, oy, ow, oh, Main_SP_Backgorund)
# Offset border
ox += Main_SP_Border_Width ; oy += Main_SP_Border_Width
ow -= Main_SP_Border_Width * 2; oh -= Main_SP_Border_Width * 2
# Draw reverse bar
if Main_SP_Color2 == nil
self.contents.draw_rev_bar(ox, oy, ow, oh,
@actors[0].sp, @actors[0].maxsp, Main_SP_Color)
else
self.contents.draw_rev_grad_bar(ox, oy, ow, oh,
@actors[0].sp, @actors[0].maxsp, Main_SP_Color, Main_SP_Color2)
end
else
# Get SP tail dimensions
ox = Main_Center_X - Main_HP_Tail_Length
oy = Main_Center_Y + Main_HP_Min_Radius - Main_SP_Height + Main_SP_Overlap
# Draw reverse bar
if Main_SP_Color2 == nil
self.contents.draw_rev_bar(ox, oy, Main_HP_Tail_Length, Main_SP_Height,
@actors[0].sp, @actors[0].maxsp, Main_SP_Color)
else
self.contents.draw_rev_grad_bar(ox, oy, Main_HP_Tail_Length,
Main_SP_Height, @actors[0].sp, @actors[0].maxsp, Main_SP_Color,
Main_SP_Color2)
end
end
# Get rect
rx = Main_Center_X - Main_HP_Tail_Length - Main_HP_Border_Width
ry = Main_Center_Y - Main_HP_Max_Radius - Main_HP_Border_Width
rw = Main_Center_X + Main_HP_Max_Radius + Main_HP_Border_Width - rx
rh = Main_HP_Max_Radius * 2 + Main_HP_Border_Width * 2
rect = Rect.new(rx, ry, rw, rh)
# Draw Cover
if Cover_Image != nil
# Draw cover
b = Kingdom_Hearts_2_HUD.cover
self.contents.blt(rx, ry, b, rect)
end
end
#--------------------------------------------------------------------------
# * Draw Main Face
#--------------------------------------------------------------------------
def draw_main_face
# Gets bitmap
bitmap = Kingdom_Hearts_2_HUD.face(@actors[0])
# Draws face
self.contents.stretch_blt(Main_Face_Rect, bitmap, bitmap.rect)
end
#--------------------------------------------------------------------------
# * Sub Center Y
#--------------------------------------------------------------------------
def sub_center_y(i)
y = Sub_Center_Y
y -= Sub_Center_Diff * (i - 1)
end
#--------------------------------------------------------------------------
# * Clear Sub
#--------------------------------------------------------------------------
def clear_sub(i)
# Get rect
rx = Sub_Center_X - Sub_Max_Radius - Sub_Border_Width
ry = sub_center_y(i) - Sub_Max_Radius - Sub_Border_Width
rw = rh = Sub_Max_Radius * 2 + Sub_Border_Width + 2
rect = Rect.new(rx, ry, rw, rh)
# Clear area
self.contents.fill_rect(rect, Color.clear)
# Draw background
if Background_Image != nil
# Draw background
b = Kingdom_Hearts_2_HUD.background
self.contents.blt(rx, ry, b, rect)
end
end
#--------------------------------------------------------------------------
# * Draw Sub Background
#--------------------------------------------------------------------------
def draw_sub_background(i)
# Gets center
cx, cy = Sub_Center_X, sub_center_y(i)
# Draw outer circle
self.contents.draw_circle(cx, cy, Sub_Max_Radius + Sub_Border_Width,
Sub_Background_Color)
# Clear inner circle
self.contents.draw_circle(cx, cy, Sub_Min_Radius - Sub_Border_Width,
Color.clear)
end
#--------------------------------------------------------------------------
# * Draw Sub HP Bar
#--------------------------------------------------------------------------
def draw_sub_hp_bar(i)
# Get actor
a = @actors
# Gets center
cx, cy = Sub_Center_X, sub_center_y(i)
# Draw arc region
if Sub_HP_Color2 == nil
self.contents.draw_cw_arc_region(cx, cy, Sub_Min_Radius, Sub_Max_Radius,
268, 92, a.hp, a.maxhp, Sub_HP_Color)
else
self.contents.draw_cw_grad_arc_region(cx, cy, Sub_Min_Radius,
Sub_Max_Radius, 268, 92, a.hp, a.maxhp, Sub_HP_Color, Sub_HP_Color2)
end
end
#--------------------------------------------------------------------------
# * Draw Sub SP Bar
#--------------------------------------------------------------------------
def draw_sub_sp_bar(i)
# Get actor
a = @actors
# Gets center
cx, cy = Sub_Center_X, sub_center_y(i)
# Draw arc region
if Sub_SP_Color2
self.contents.draw_ccw_arc_region(cx, cy, Sub_Min_Radius, Sub_Max_Radius,
272, 88, a.sp, a.maxsp, Sub_SP_Color)
else
self.contents.draw_ccw_grad_arc_region(cx, cy, Sub_Min_Radius,
Sub_Max_Radius, 272, 88, a.sp, a.maxsp, Sub_SP_Color, Sub_SP_Color2)
end
end
#--------------------------------------------------------------------------
# * Draw Sub Face
#--------------------------------------------------------------------------
def draw_sub_face(i)
# Gets dest rect
dx = Sub_Face_Rect.x
dy = Sub_Face_Rect.y - Sub_Center_Diff * (i - 1)
dest_rect = Rect.new(dx, dy, Sub_Face_Rect.width, Sub_Face_Rect.height)
# Gets bitmap
bitmap = Kingdom_Hearts_2_HUD.face(@actors)
# Draws face
self.contents.stretch_blt(dest_rect, bitmap, bitmap.rect)
# Get rect
rx = Sub_Center_X - Sub_Max_Radius - Sub_Border_Width
ry = sub_center_y(i) - Sub_Max_Radius - Sub_Border_Width
rw = rh = Sub_Max_Radius * 2 + Sub_Border_Width + 2
rect = Rect.new(rx, ry, rw, rh)
# Draw cover
if Cover_Image != nil
# Draw cover
b = Kingdom_Hearts_2_HUD.cover
self.contents.blt(rx, ry, b, rect)
end
end
#--------------------------------------------------------------------------
# * Actor Changed?
#--------------------------------------------------------------------------
def actor_changed?(a1, a2)
return true unless a2.is_a?(Game_Actor)
return a1.hp != a2.hp || a1.maxhp != a2.maxhp ||
a1.sp != a2.sp || a1.maxsp != a2.maxsp ||
a1.kh_face != a2.kh_face ||
a1.character_hue != a2.character_hue
end
end
#==============================================================================
# ** Scene_Map
#==============================================================================
class Scene_Map
#--------------------------------------------------------------------------
# * Main Window
#--------------------------------------------------------------------------
if Object.const_defined?(:SDK)
alias_method :seph_kh2hud_mw, :main_window
def main_window
seph_kh2hud_mw
@hud = Kingdom_Hearts_2_HUD::Window_HUD.new
end
else
alias_method :seph_kh2hud_m, :main
def main
seph_kh2hud_m
@hud = Kingdom_Hearts_2_HUD::Window_HUD.new
end
end
end
#==============================================================================
# ** Bitmap
#==============================================================================
class Bitmap
#--------------------------------------------------------------------------
# * Draw Clockwise Circular Arc Region
#--------------------------------------------------------------------------
def draw_cw_arc_region(x, y, min_rad, max_rad, s_angle, e_angle,
cur_v, max_v, color = Color.red)
# Calculate Inner Regions
inner_region = {}
for i in 0..min_rad
y_ = Integer((min_rad ** 2 - i ** 2) ** 0.5)
inner_region[x + i] = y_
inner_region[x - i] = y_
end
# Make Degrees between 0 - 360
s_angle %= 360 ; e_angle %= 360
# Make s_angle Greater than e_angle
s_angle += 360 if s_angle < e_angle
# Calculate Difference
diff = s_angle - e_angle
# Get Percent Difference
p_diff = Integer(diff * cur_v / max_v.to_f)
# Modify e_angle with percent Diffence
e_angle = s_angle - p_diff
# Pass from left to right
for i in (x - max_rad)..(x + max_rad)
# Get Y max at that pixel
y_max = Integer((max_rad ** 2 - (x - i).abs ** 2) ** 0.5)
# Pass from top to bottom
for j in (y - y_max)..(y + y_max)
# If Inner region has key
if inner_region.has_key?(i)
# Get Inner Value
inner = inner_region
# Skip if Between inner region limits
next if j.between?(y - inner, y + inner)
end
# Gets Angle of pixel from center
a = Math.atan2((j - y).abs, (i - x).abs.to_f) * 180 / Math::PI
# Get 360 Degree Angle
if (i - x) > 0
a = 360 - a if (j - y) > 0
else
a = 180 + ((j - y) > 0 ? a : -a)
end
# Set Pixel if Between Angles
if Math.cw_between_angles?(a, s_angle, e_angle)
set_pixel(i, j, color)
end
end
end
end
#--------------------------------------------------------------------------
# * Draw Counter-Clockwise Circular Arc Region
#--------------------------------------------------------------------------
def draw_ccw_arc_region(x, y, min_rad, max_rad, s_angle, e_angle,
cur_v, max_v, color = Color.red)
# Make Degrees between 0 - 360
s_angle %= 360 ; e_angle %= 360
# Make e_angle Greater than s_angle
e_angle += 360 if e_angle < s_angle
# Calculate Difference
diff = e_angle - s_angle
# Get Percent Difference
p_diff = Integer(diff * cur_v / max_v.to_f)
# Modify e_angle with percent Diffence
e_angle = s_angle + p_diff
# Draw CW Arc Region
draw_cw_arc_region(x, y, min_rad, max_rad, e_angle, s_angle, 1, 1, color)
end
#--------------------------------------------------------------------------
# * Draw Clockwise Gradient Circular Arc Region
#--------------------------------------------------------------------------
def draw_cw_grad_arc_region(x, y, min_rad, max_rad, s_angle, e_angle,
cur_v, max_v, s_color = Color.red,
e_color = Color.blue)
# Calculate Inner Regions
inner_region = {}
for i in 0..min_rad
y_ = Integer((min_rad ** 2 - i ** 2) ** 0.5)
inner_region[x + i] = y_
inner_region[x - i] = y_
end
# Make Degrees between 0 - 360
s_angle %= 360 ; e_angle %= 360
# Make s_angle Greater than e_angle
s_angle += 360 if s_angle < e_angle
# Calculate Difference
diff = s_angle - e_angle
# Get Percent Difference
p_diff = Integer(diff * cur_v / max_v.to_f)
# Modify e_angle with percent Diffence
e_angle = s_angle - p_diff
# Pass from left to right
for i in (x - max_rad)..(x + max_rad)
# Get Y max at that pixel
y_max = Integer((max_rad ** 2 - (x - i).abs ** 2) ** 0.5)
# Pass from top to bottom
for j in (y - y_max)..(y + y_max)
# If Inner region has key
if inner_region.has_key?(i)
# Get Inner Value
inner = inner_region
# Skip if Between inner region limits
next if j.between?(y - inner, y + inner)
end
# Gets Angle of pixel from center
a = Math.atan2((j - y).abs, (i - x).abs.to_f) * 180 / Math::PI
# Get 360 Degree Angle
if (i - x) > 0
a = 360 - a if (j - y) > 0
else
a = 180 + ((j - y) > 0 ? a : -a)
end
# If Between Angles
if Math.cw_between_angles?(a, s_angle, e_angle)
# Get Color Value
per = Math.cw_percent_between_angles(a, s_angle, s_angle - diff)
color = Color.color_between(e_color, s_color, per)
# Set Pixel
set_pixel(i, j, color)
end
end
end
end
#--------------------------------------------------------------------------
# * Draw Counter-Clockwise Gradient Circular Arc Region
#--------------------------------------------------------------------------
def draw_ccw_grad_arc_region(x, y, min_rad, max_rad, s_angle, e_angle,
cur_v, max_v, s_color = Color.red,
e_color = Color.blue)
# Make Degrees between 0 - 360
s_angle %= 360 ; e_angle %= 360
# Make e_angle Greater than s_angle
e_angle += 360 if e_angle < s_angle
# Calculate Difference
diff = e_angle - s_angle
# Get Percent Difference
p_diff = Integer(diff * cur_v / max_v.to_f)
# Modify e_angle with percent Diffence
e_angle2 = s_angle + p_diff
# Modify colors
per = Math.ccw_percent_between_angles(e_angle2, s_angle, e_angle)
sc = Color.color_between(s_color, e_color, per)
ec = s_color
# Draw CW Grad Arc Region
draw_cw_grad_arc_region(x, y, min_rad, max_rad, e_angle2, s_angle, 1, 1,
sc, ec)
end
#--------------------------------------------------------------------------
# * Draw Reverse Bar
#--------------------------------------------------------------------------
def draw_rev_bar(x, y, width, height, cur, max, color = Color.red)
bar_width = Integer((cur / max.to_f) * width)
self.fill_rect(x + width - bar_width, y, bar_width, height, color)
end
#--------------------------------------------------------------------------
# * Draw Reverse Gradient Bar
#--------------------------------------------------------------------------
def draw_rev_grad_bar(x, y, width, height, cur, max, s_color = Color.red,
e_color = Color.blue)
for i in 0...((cur / max.to_f) * width)
c = Color.color_between(s_color, e_color, (i / width.to_f))
self.fill_rect(x + width - 1 - i, y + 1, 1, height - 2, c)
end
end
end
#------------------------------------------------------------------------------
# * End SDK Enable Test
#------------------------------------------------------------------------------
end
quello che ha più di 9000 righe l' ho cancellato
che tanto non ha cambiato nulla...
-
se smettete di darmi del nabbo mi fate un favore...
continuate a scrivere nabbo nabbo nabbo
nabbo qui
nabbo là
nabbo su
nabbo giu
ho capito che non so fare
niente ma basta coi nabbo..
e poi il tutorial è in un formato che più strano si muore,
se qualcuno lo fà in .txt o formato microsoft office..
-
ho inserito lo script
6736 righe O_O
ma sempre la stessa roba...
-
non è che se vi passo il progetto me lo
aggiustate voi? io non capisco niente di
ste robe, non me ne intendo per niente

-
non ho capito
-
Non mi funzia sto script (barre stile kh)
errore alla riga 194
dato che nessuno mi risponde sul vecchio ne faccio uno nuovo omg
riga: HP_Arc_Color = Color.color_class(Main_HP_Color, Main_HP_Color2,
mi dice una cosa tipo Color:Class e method e bla bla
#==============================================================================
# ** Kingdom Hearts II HUD
#------------------------------------------------------------------------------
# SephirothSpawn
# Version 1.0
# 2008-09-17
#------------------------------------------------------------------------------
# * Description:
#
# This script was designed to remake the arc gradient bar HUD from Kingdom
# Hearts 2. It shows the HP and SP values, with a custom feature that
# will make the face change when hp drops, hp rises, your actor
# dies, or life falls below 25% health.
#
# All HUD dimensions are customizable, although I did make a basic setup
# nearly perfectly matching the Kingdom Hearts 2 HUD. You may also toggle
# the visibility when a switch is on or off.
#------------------------------------------------------------------------------
# * Instructions:
#
# Place the script below the SDK (if included) and above main.
#
# Change the constant in Kingdom_Hearts_2_HUD module.
#------------------------------------------------------------------------------
# * Requirements:
#
# Method and Class Library 2.3+
#------------------------------------------------------------------------------
# * Terms & Conditions:
#
# Copyright © 2007 SephirothSpawn (Timothy Hoffman)
# Free for non-commercial use.
# 40 USD commercial license. Contact via. SephirothSpawn@hotmail.com
#
# Any modifications to the system are not to be re-distributed without my
# consent.
#==============================================================================
#==============================================================================
# ** SDK Log
#==============================================================================
if Object.const_defined?(:SDK)
SDK.log('Kingdom Hearts II HUD', 'SephirothSpawn', 1.0, '2008-09-17')
end
#------------------------------------------------------------------------------
# * Begin SDK Enable Test
#------------------------------------------------------------------------------
if Object.const_defined?(:SDK) == false || SDK.enabled?('Kingdom Hearts II HUD')
#==============================================================================
# ** Kingdom_Hearts_2_HUD
#==============================================================================
module Kingdom_Hearts_2_HUD
#--------------------------------------------------------------------------
# * Faces Directory
#--------------------------------------------------------------------------
Face_Folder = 'Graphics/HUD Faces/'
#--------------------------------------------------------------------------
# * Background & Cover Images
#
# The background image will be displayed below everything
# The cover image will be drawn over everything
# Draw Background will draw pixel borders are gradient bars
# Draw SP Background will draw pixel borders are sp bar
#--------------------------------------------------------------------------
Background_Image = nil
Cover_Image = nil
Draw_Background = true
Draw_SP_Background = true
#--------------------------------------------------------------------------
# * Faces Size: Rect.new(0, 0, width, height)
#--------------------------------------------------------------------------
Main_Face_Rect = Rect.new(525, 369, 86, 86)
Sub_Face_Rect = Rect.new(573, 307, 46, 46)
#--------------------------------------------------------------------------
# * Main HUD Preferences
#--------------------------------------------------------------------------
Main_Center_X = 568
Main_Center_Y = 412
Main_HP_Min_Radius = 36
Main_HP_Max_Radius = 50
Main_HP_Border_Width = 2
Main_HP_Tail_Length = 172
Main_HP_Color = Color.new(188, 243, 62)
Main_HP_Color2 = Color.new(53, 215, 18)
Main_SP_Length = 150
Main_SP_Height = Draw_Background ? 8 : Draw_SP_Background ? 12 : 8
Main_SP_Border_Width = 2
Main_SP_Overlap = 6
Main_SP_Color = Color.new(9, 141, 255)
Main_SP_Color2 = Color.new(8, 101, 222)
Main_HP_Background = Color.new(50, 50, 50)
Main_SP_Backgorund = Color.new(25, 25, 25)
#--------------------------------------------------------------------------
# * Sub HUD Dimensions
#--------------------------------------------------------------------------
Sub_Center_X = 596
Sub_Center_Y = 332
Sub_Center_Diff = 56
Sub_Min_Radius = 20
Sub_Max_Radius = 26
Sub_Border_Width = 2
Sub_HP_Color = Main_HP_Color
Sub_HP_Color2 = Main_HP_Color2
Sub_SP_Color = Main_SP_Color
Sub_SP_Color2 = Main_SP_Color2
Sub_Background_Color = Color.new(50, 50, 50)
#--------------------------------------------------------------------------
# * Visibility Switch
#--------------------------------------------------------------------------
Switch_ID = 1
#--------------------------------------------------------------------------
# * Faces
#--------------------------------------------------------------------------
Enable_Complex_Faces = true
Complex_Face_Change = 20
Complex_Faces = {
'hp_down' => '_hp_down',
'hp_up' => '_hp_up',
'crisis' => '_crisis',
'dead' => '_dead',
}
#--------------------------------------------------------------------------
# * Load Face
#--------------------------------------------------------------------------
def self.face(actor)
begin
return RPG::Cache.load_bitmap(Face_Folder,
actor.kh_face, actor.character_hue)
rescue
return RPG::Cache.load_bitmap(Face_Folder,
actor.kh_face_base, actor.character_hue)
end
end
#--------------------------------------------------------------------------
# * Background
#--------------------------------------------------------------------------
def self.background
return RPG::Cache.load_bitmap(Face_Folder, Background_Image)
end
#--------------------------------------------------------------------------
# * Cover
#--------------------------------------------------------------------------
def self.cover
return RPG::Cache.load_bitmap(Face_Folder, Cover_Image)
end
end
#==============================================================================
# ** Game_Actor
#==============================================================================
class Game_Actor
#--------------------------------------------------------------------------
# * Public Instance Variables
#--------------------------------------------------------------------------
attr_accessor :kh_face_suffix
#--------------------------------------------------------------------------
# * Kingdom Hearts Face Base
#--------------------------------------------------------------------------
def kh_face_base
return character_name
end
#--------------------------------------------------------------------------
# * Kingdom Hearts Face
#--------------------------------------------------------------------------
def kh_face
begin
return "#{kh_face_base}#{kh_face_suffix.nil? ? '' : kh_face_suffix}"
rescue
return kh_face_base
end
end
end
#==============================================================================
# ** Kingdom_Hearts_2_HUD::Window_HUD
#==============================================================================
class Kingdom_Hearts_2_HUD::Window_HUD < Window_Base
#--------------------------------------------------------------------------
# * Include Constants
#--------------------------------------------------------------------------
include Kingdom_Hearts_2_HUD
#--------------------------------------------------------------------------
# * Math Calculations
#--------------------------------------------------------------------------
c = Main_HP_Min_Radius + (Main_HP_Max_Radius - Main_HP_Min_Radius) / 2
c *= 2 * Math::PI * 4 / 3
HP_Arc_Percent = c / (c + Main_HP_Tail_Length)
HP_Arc_Color = Color.color_between(Main_HP_Color, Main_HP_Color2,
HP_Arc_Percent)
#--------------------------------------------------------------------------
# * Object Initialization
#--------------------------------------------------------------------------
def initialize
super(-16, -16, 672, 512)
self.contents = Bitmap.new(width - 32, height - 32)
self.opacity = 0
# If background exist
if Background_Image != nil
# Draw background
b = Kingdom_Hearts_2_HUD.background
self.contents.blt(0, 0, b, b.rect)
end
# Set empty actors
@actors = []
# Save face changes
@face_suffix, @face_time = [], []
# Update
update
# If cover exist
if Cover_Image != nil
# Draw Cover
b = Kingdom_Hearts_2_HUD.cover
self.contents.blt(0, 0, b, b.rect)
end
end
#--------------------------------------------------------------------------
# * Frame Update
#--------------------------------------------------------------------------
def update
super
# Update visibility
self.visible = $game_switches[switch_ID]
# Stop if not visible
return unless self.visible
# If no actors
if $game_party.actors.size == 0
# Clear window and return
self.contents.clear
return
end
# Update face suffix
for i in 0...[@actors.size, $game_party.actors.size].max
update_face_suffix(i)
end
# If main actor has changed
if actor_changed?($game_party.actors[0], @actors[0])
# Save actor
@actors[0] = $game_party.actors[0].dup
# Clear main
clear_main
# Draw main HP Background
draw_main_background if Draw_Background
# Draw main HP Bar
draw_main_hp_bar
# Draw main face
draw_main_face
# Draw main SP bar
draw_main_sp_bar
end
# Pass through sub actors
for i in 1...[@actors.size, $game_party.actors.size].max
# If nil actor
if $game_party.actors == nil
# Set nil actor
@actors = nil
# Clear area and skip to next
clear_sub(i)
next
end
# If sub actor has changed
if actor_changed?($game_party.actors, @actors)
# Save actor
@actors = $game_party.actors.dup
# Clear sub area
clear_sub(i)
# Draw sub background
draw_sub_background(i) if Draw_Background
# Draw sub HP bar
draw_sub_hp_bar(i)
# Draw sub SP bar
draw_sub_sp_bar(i)
# Draw sub face
draw_sub_face(i)
end
end
end
#--------------------------------------------------------------------------
# * Update Face Suffix
#--------------------------------------------------------------------------
def update_face_suffix(i)
# Return if not complex faces
return unless Enable_Complex_Faces
# Get new and old actor
new_actor, old_actor = $game_party.actors, @actors
# If id is different
if new_actor.id != old_actor.id
# Clear both suffixes
new_actor.kh_face_suffix = '' unless new_actor == nil
old_actor.kh_face_suffix = '' unless old_actor == nil
# Clear time and suffix
@face_suffix = nil
@face_time = nil
return
end
# If dead
if new_actor.dead?
suffix = Complex_Faces['dead']
# If less life
elsif new_actor.hp < old_actor.hp
suffix = Complex_Faces['hp_down']
# If more life
elsif new_actor.hp > old_actor.hp
suffix = Complex_Faces['hp_up']
# If crisis
elsif new_actor.hp <= new_actor.maxhp / 4 && new_actor.kh_face_suffix == ''
suffix = Complex_Faces['crisis']
else
suffix = ''
end
# If suffix exist
if suffix != ''
# Change suffix
new_actor.kh_face_suffix = suffix
@face_suffix = suffix
@face_time = Complex_Face_Change
return
end
# Return if no face suffix
if @face_time == nil
@face_suffix = nil
return
end
# If time is greater than 0
if @face_time > 0
# Subtract time
@face_time -= 1
return
end
# Return if suffix is dead or crisis
return if [Complex_Faces['crisis'],
Complex_Faces['dead']].include?(new_actor.kh_face_suffix)
# Clear suffix
new_actor.kh_face_suffix = ''
@face_suffix = nil
@face_time = nil
end
#--------------------------------------------------------------------------
# * Clear Main
#--------------------------------------------------------------------------
def clear_main
# Get rect
rx = Main_Center_X - Main_HP_Tail_Length - Main_HP_Border_Width
ry = Main_Center_Y - Main_HP_Max_Radius - Main_HP_Border_Width
rw = Main_Center_X + Main_HP_Max_Radius + Main_HP_Border_Width - rx
rh = Main_HP_Max_Radius * 2 + Main_HP_Border_Width * 2
rect = Rect.new(rx, ry, rw, rh)
# Clear area
self.contents.fill_rect(rect, Color.clear)
# Draw background
if Background_Image != nil
# Draw background
b = Kingdom_Hearts_2_HUD.background
self.contents.blt(rx, ry, b, rect)
end
end
#--------------------------------------------------------------------------
# * Draw Background
#--------------------------------------------------------------------------
def draw_main_background
# Draw arc region
self.contents.draw_cw_arc_region(Main_Center_X, Main_Center_Y,
Main_HP_Min_Radius - Main_HP_Border_Width, Main_HP_Max_Radius +
Main_HP_Border_Width, 180, 270, 1, 1, Main_HP_Background)
# Draws corner border
ox = Main_Center_X - Main_HP_Max_Radius - Main_HP_Border_Width
oy = Main_Center_Y
ow = (Main_HP_Max_Radius - Main_HP_Min_Radius) + Main_HP_Border_Width * 2
oh = Main_HP_Border_Width
self.contents.fill_rect(ox, oy, ow, oh, Main_HP_Background)
# Get HP tail dimensions
ox = Main_Center_X - Main_HP_Tail_Length - Main_HP_Border_Width
oy = Main_Center_Y + Main_HP_Min_Radius - Main_HP_Border_Width
ow = Main_HP_Tail_Length + Main_HP_Border_Width
oh = Main_HP_Max_Radius - Main_HP_Min_Radius + Main_HP_Border_Width * 2
# Draw bar
self.contents.fill_rect(ox, oy, ow, oh, Main_HP_Background)
end
#--------------------------------------------------------------------------
# * Draw Main HP
#--------------------------------------------------------------------------
def draw_main_hp_bar
# Get current and max values
cur, max = @actors[0].hp, @actors[0].maxhp
# Adjust for arc region
max = Integer(max * HP_Arc_Percent)
cur = [max, cur].min
# Gets center and radi
cx, cy = Main_Center_X, Main_Center_Y
mnr, mxr = Main_HP_Min_Radius, Main_HP_Max_Radius
# Draw Arc Region
if Main_HP_Color2 == nil
self.contents.draw_cw_arc_region(cx, cy, mnr, mxr, 180, 270, cur, max,
Main_HP_Color)
else
self.contents.draw_cw_grad_arc_region(cx, cy, mnr, mxr, 180, 270, cur,
max, Main_HP_Color, HP_Arc_Color)
end
# Gets max subtraction
max_sub = Integer(@actors[0].maxhp * HP_Arc_Percent)
# Get new cur & max
cur, max = @actors[0].hp, @actors[0].maxhp
cur -= max_sub ; max -= max_sub
# Return if cur < 0
return unless cur > 0
# Get HP tail dimensions
ox = Main_Center_X - Main_HP_Tail_Length
oy = Main_Center_Y + Main_HP_Min_Radius
ow = Main_HP_Tail_Length
oh = Main_HP_Max_Radius - Main_HP_Min_Radius
# Draw reverse bar
if Main_HP_Color2 == nil
self.contents.draw_rev_bar(ox, oy, ow, oh, cur, max, Main_HP_Color)
else
self.contents.draw_rev_grad_bar(ox, oy - 1, ow, oh + 2, cur, max,
HP_Arc_Color, Main_HP_Color2)
end
end
#--------------------------------------------------------------------------
# * Draw Main SP
#--------------------------------------------------------------------------
def draw_main_sp_bar
# If draw background
if Draw_Background
# Get SP tail dimensions
ox = Main_Center_X - Main_HP_Tail_Length - Main_HP_Border_Width
oy = Main_Center_Y + Main_HP_Min_Radius - Main_HP_Border_Width
oy -= Main_SP_Height - Main_SP_Overlap
ow = Main_SP_Length + Main_SP_Border_Width * 2
oh = Main_SP_Height + Main_SP_Border_Width * 2
# Draw border
self.contents.fill_rect(ox, oy, ow, oh, Main_SP_Backgorund)
# Get gradient dimensions
ox += Main_SP_Border_Width
oy += Main_SP_Border_Width
# Draw reverse bar
if Main_SP_Color2 == nil
self.contents.draw_rev_bar(ox, oy, Main_SP_Length, Main_SP_Height,
@actors[0].sp, @actors[0].maxsp, Main_SP_Color)
else
self.contents.draw_rev_grad_bar(ox, oy, Main_SP_Length, Main_SP_Height,
@actors[0].sp, @actors[0].maxsp, Main_SP_Color, Main_SP_Color2)
end
# If draw sp background
elsif Draw_SP_Background
# Get SP tail dimensions
ox = Main_Center_X - Main_HP_Tail_Length
oy = Main_Center_Y + Main_HP_Min_Radius - Main_SP_Height + Main_SP_Overlap
ow = Main_SP_Length
oh = Main_SP_Height
# Draw border
self.contents.fill_rect(ox, oy, ow, oh, Main_SP_Backgorund)
# Offset border
ox += Main_SP_Border_Width ; oy += Main_SP_Border_Width
ow -= Main_SP_Border_Width * 2; oh -= Main_SP_Border_Width * 2
# Draw reverse bar
if Main_SP_Color2 == nil
self.contents.draw_rev_bar(ox, oy, ow, oh,
@actors[0].sp, @actors[0].maxsp, Main_SP_Color)
else
self.contents.draw_rev_grad_bar(ox, oy, ow, oh,
@actors[0].sp, @actors[0].maxsp, Main_SP_Color, Main_SP_Color2)
end
else
# Get SP tail dimensions
ox = Main_Center_X - Main_HP_Tail_Length
oy = Main_Center_Y + Main_HP_Min_Radius - Main_SP_Height + Main_SP_Overlap
# Draw reverse bar
if Main_SP_Color2 == nil
self.contents.draw_rev_bar(ox, oy, Main_HP_Tail_Length, Main_SP_Height,
@actors[0].sp, @actors[0].maxsp, Main_SP_Color)
else
self.contents.draw_rev_grad_bar(ox, oy, Main_HP_Tail_Length,
Main_SP_Height, @actors[0].sp, @actors[0].maxsp, Main_SP_Color,
Main_SP_Color2)
end
end
# Get rect
rx = Main_Center_X - Main_HP_Tail_Length - Main_HP_Border_Width
ry = Main_Center_Y - Main_HP_Max_Radius - Main_HP_Border_Width
rw = Main_Center_X + Main_HP_Max_Radius + Main_HP_Border_Width - rx
rh = Main_HP_Max_Radius * 2 + Main_HP_Border_Width * 2
rect = Rect.new(rx, ry, rw, rh)
# Draw Cover
if Cover_Image != nil
# Draw cover
b = Kingdom_Hearts_2_HUD.cover
self.contents.blt(rx, ry, b, rect)
end
end
#--------------------------------------------------------------------------
# * Draw Main Face
#--------------------------------------------------------------------------
def draw_main_face
# Gets bitmap
bitmap = Kingdom_Hearts_2_HUD.face(@actors[0])
# Draws face
self.contents.stretch_blt(Main_Face_Rect, bitmap, bitmap.rect)
end
#--------------------------------------------------------------------------
# * Sub Center Y
#--------------------------------------------------------------------------
def sub_center_y(i)
y = Sub_Center_Y
y -= Sub_Center_Diff * (i - 1)
end
#--------------------------------------------------------------------------
# * Clear Sub
#--------------------------------------------------------------------------
def clear_sub(i)
# Get rect
rx = Sub_Center_X - Sub_Max_Radius - Sub_Border_Width
ry = sub_center_y(i) - Sub_Max_Radius - Sub_Border_Width
rw = rh = Sub_Max_Radius * 2 + Sub_Border_Width + 2
rect = Rect.new(rx, ry, rw, rh)
# Clear area
self.contents.fill_rect(rect, Color.clear)
# Draw background
if Background_Image != nil
# Draw background
b = Kingdom_Hearts_2_HUD.background
self.contents.blt(rx, ry, b, rect)
end
end
#--------------------------------------------------------------------------
# * Draw Sub Background
#--------------------------------------------------------------------------
def draw_sub_background(i)
# Gets center
cx, cy = Sub_Center_X, sub_center_y(i)
# Draw outer circle
self.contents.draw_circle(cx, cy, Sub_Max_Radius + Sub_Border_Width,
Sub_Background_Color)
# Clear inner circle
self.contents.draw_circle(cx, cy, Sub_Min_Radius - Sub_Border_Width,
Color.clear)
end
#--------------------------------------------------------------------------
# * Draw Sub HP Bar
#--------------------------------------------------------------------------
def draw_sub_hp_bar(i)
# Get actor
a = @actors
# Gets center
cx, cy = Sub_Center_X, sub_center_y(i)
# Draw arc region
if Sub_HP_Color2 == nil
self.contents.draw_cw_arc_region(cx, cy, Sub_Min_Radius, Sub_Max_Radius,
268, 92, a.hp, a.maxhp, Sub_HP_Color)
else
self.contents.draw_cw_grad_arc_region(cx, cy, Sub_Min_Radius,
Sub_Max_Radius, 268, 92, a.hp, a.maxhp, Sub_HP_Color, Sub_HP_Color2)
end
end
#--------------------------------------------------------------------------
# * Draw Sub SP Bar
#--------------------------------------------------------------------------
def draw_sub_sp_bar(i)
# Get actor
a = @actors
# Gets center
cx, cy = Sub_Center_X, sub_center_y(i)
# Draw arc region
if Sub_SP_Color2
self.contents.draw_ccw_arc_region(cx, cy, Sub_Min_Radius, Sub_Max_Radius,
272, 88, a.sp, a.maxsp, Sub_SP_Color)
else
self.contents.draw_ccw_grad_arc_region(cx, cy, Sub_Min_Radius,
Sub_Max_Radius, 272, 88, a.sp, a.maxsp, Sub_SP_Color, Sub_SP_Color2)
end
end
#--------------------------------------------------------------------------
# * Draw Sub Face
#--------------------------------------------------------------------------
def draw_sub_face(i)
# Gets dest rect
dx = Sub_Face_Rect.x
dy = Sub_Face_Rect.y - Sub_Center_Diff * (i - 1)
dest_rect = Rect.new(dx, dy, Sub_Face_Rect.width, Sub_Face_Rect.height)
# Gets bitmap
bitmap = Kingdom_Hearts_2_HUD.face(@actors)
# Draws face
self.contents.stretch_blt(dest_rect, bitmap, bitmap.rect)
# Get rect
rx = Sub_Center_X - Sub_Max_Radius - Sub_Border_Width
ry = sub_center_y(i) - Sub_Max_Radius - Sub_Border_Width
rw = rh = Sub_Max_Radius * 2 + Sub_Border_Width + 2
rect = Rect.new(rx, ry, rw, rh)
# Draw cover
if Cover_Image != nil
# Draw cover
b = Kingdom_Hearts_2_HUD.cover
self.contents.blt(rx, ry, b, rect)
end
end
#--------------------------------------------------------------------------
# * Actor Changed?
#--------------------------------------------------------------------------
def actor_changed?(a1, a2)
return true unless a2.is_a?(Game_Actor)
return a1.hp != a2.hp || a1.maxhp != a2.maxhp ||
a1.sp != a2.sp || a1.maxsp != a2.maxsp ||
a1.kh_face != a2.kh_face ||
a1.character_hue != a2.character_hue
end
end
#==============================================================================
# ** Scene_Map
#==============================================================================
class Scene_Map
#--------------------------------------------------------------------------
# * Main Window
#--------------------------------------------------------------------------
if Object.const_defined?(:SDK)
alias_method :seph_kh2hud_mw, :main_window
def main_window
seph_kh2hud_mw
@hud = Kingdom_Hearts_2_HUD::Window_HUD.new
end
else
alias_method :seph_kh2hud_m, :main
def main
seph_kh2hud_m
@hud = Kingdom_Hearts_2_HUD::Window_HUD.new
end
end
end
#==============================================================================
# ** Bitmap
#==============================================================================
class Bitmap
#--------------------------------------------------------------------------
# * Draw Clockwise Circular Arc Region
#--------------------------------------------------------------------------
def draw_cw_arc_region(x, y, min_rad, max_rad, s_angle, e_angle,
cur_v, max_v, color = Color.red)
# Calculate Inner Regions
inner_region = {}
for i in 0..min_rad
y_ = Integer((min_rad ** 2 - i ** 2) ** 0.5)
inner_region[x + i] = y_
inner_region[x - i] = y_
end
# Make Degrees between 0 - 360
s_angle %= 360 ; e_angle %= 360
# Make s_angle Greater than e_angle
s_angle += 360 if s_angle < e_angle
# Calculate Difference
diff = s_angle - e_angle
# Get Percent Difference
p_diff = Integer(diff * cur_v / max_v.to_f)
# Modify e_angle with percent Diffence
e_angle = s_angle - p_diff
# Pass from left to right
for i in (x - max_rad)..(x + max_rad)
# Get Y max at that pixel
y_max = Integer((max_rad ** 2 - (x - i).abs ** 2) ** 0.5)
# Pass from top to bottom
for j in (y - y_max)..(y + y_max)
# If Inner region has key
if inner_region.has_key?(i)
# Get Inner Value
inner = inner_region
# Skip if Between inner region limits
next if j.between?(y - inner, y + inner)
end
# Gets Angle of pixel from center
a = Math.atan2((j - y).abs, (i - x).abs.to_f) * 180 / Math::PI
# Get 360 Degree Angle
if (i - x) > 0
a = 360 - a if (j - y) > 0
else
a = 180 + ((j - y) > 0 ? a : -a)
end
# Set Pixel if Between Angles
if Math.cw_between_angles?(a, s_angle, e_angle)
set_pixel(i, j, color)
end
end
end
end
#--------------------------------------------------------------------------
# * Draw Counter-Clockwise Circular Arc Region
#--------------------------------------------------------------------------
def draw_ccw_arc_region(x, y, min_rad, max_rad, s_angle, e_angle,
cur_v, max_v, color = Color.red)
# Make Degrees between 0 - 360
s_angle %= 360 ; e_angle %= 360
# Make e_angle Greater than s_angle
e_angle += 360 if e_angle < s_angle
# Calculate Difference
diff = e_angle - s_angle
# Get Percent Difference
p_diff = Integer(diff * cur_v / max_v.to_f)
# Modify e_angle with percent Diffence
e_angle = s_angle + p_diff
# Draw CW Arc Region
draw_cw_arc_region(x, y, min_rad, max_rad, e_angle, s_angle, 1, 1, color)
end
#--------------------------------------------------------------------------
# * Draw Clockwise Gradient Circular Arc Region
#--------------------------------------------------------------------------
def draw_cw_grad_arc_region(x, y, min_rad, max_rad, s_angle, e_angle,
cur_v, max_v, s_color = Color.red,
e_color = Color.blue)
# Calculate Inner Regions
inner_region = {}
for i in 0..min_rad
y_ = Integer((min_rad ** 2 - i ** 2) ** 0.5)
inner_region[x + i] = y_
inner_region[x - i] = y_
end
# Make Degrees between 0 - 360
s_angle %= 360 ; e_angle %= 360
# Make s_angle Greater than e_angle
s_angle += 360 if s_angle < e_angle
# Calculate Difference
diff = s_angle - e_angle
# Get Percent Difference
p_diff = Integer(diff * cur_v / max_v.to_f)
# Modify e_angle with percent Diffence
e_angle = s_angle - p_diff
# Pass from left to right
for i in (x - max_rad)..(x + max_rad)
# Get Y max at that pixel
y_max = Integer((max_rad ** 2 - (x - i).abs ** 2) ** 0.5)
# Pass from top to bottom
for j in (y - y_max)..(y + y_max)
# If Inner region has key
if inner_region.has_key?(i)
# Get Inner Value
inner = inner_region
# Skip if Between inner region limits
next if j.between?(y - inner, y + inner)
end
# Gets Angle of pixel from center
a = Math.atan2((j - y).abs, (i - x).abs.to_f) * 180 / Math::PI
# Get 360 Degree Angle
if (i - x) > 0
a = 360 - a if (j - y) > 0
else
a = 180 + ((j - y) > 0 ? a : -a)
end
# If Between Angles
if Math.cw_between_angles?(a, s_angle, e_angle)
# Get Color Value
per = Math.cw_percent_between_angles(a, s_angle, s_angle - diff)
color = Color.color_between(e_color, s_color, per)
# Set Pixel
set_pixel(i, j, color)
end
end
end
end
#--------------------------------------------------------------------------
# * Draw Counter-Clockwise Gradient Circular Arc Region
#--------------------------------------------------------------------------
def draw_ccw_grad_arc_region(x, y, min_rad, max_rad, s_angle, e_angle,
cur_v, max_v, s_color = Color.red,
e_color = Color.blue)
# Make Degrees between 0 - 360
s_angle %= 360 ; e_angle %= 360
# Make e_angle Greater than s_angle
e_angle += 360 if e_angle < s_angle
# Calculate Difference
diff = e_angle - s_angle
# Get Percent Difference
p_diff = Integer(diff * cur_v / max_v.to_f)
# Modify e_angle with percent Diffence
e_angle2 = s_angle + p_diff
# Modify colors
per = Math.ccw_percent_between_angles(e_angle2, s_angle, e_angle)
sc = Color.color_between(s_color, e_color, per)
ec = s_color
# Draw CW Grad Arc Region
draw_cw_grad_arc_region(x, y, min_rad, max_rad, e_angle2, s_angle, 1, 1,
sc, ec)
end
#--------------------------------------------------------------------------
# * Draw Reverse Bar
#--------------------------------------------------------------------------
def draw_rev_bar(x, y, width, height, cur, max, color = Color.red)
bar_width = Integer((cur / max.to_f) * width)
self.fill_rect(x + width - bar_width, y, bar_width, height, color)
end
#--------------------------------------------------------------------------
# * Draw Reverse Gradient Bar
#--------------------------------------------------------------------------
def draw_rev_grad_bar(x, y, width, height, cur, max, s_color = Color.red,
e_color = Color.blue)
for i in 0...((cur / max.to_f) * width)
c = Color.color_between(s_color, e_color, (i / width.to_f))
self.fill_rect(x + width - 1 - i, y + 1, 1, height - 2, c)
end
end
end
#------------------------------------------------------------------------------
# * End SDK Enable Test
#------------------------------------------------------------------------------
end
è urgente

-
HP_Arc_Color = Color.color_between(Main_HP_Color, Main_HP_Color2,
Script 'nome che gli ho dato' line 194: NoMethodError occurred.
undefined method 'color_between' for Color:Class
mi esce così omg
-
non vorrei uppare topic vecchi, ma la barra non mi funzia... errore alla riga 194 ._.
-
grazie ho capito tutto
nel vero senso che ho capito non
nel senso che non ho capito :smile:
ps.: se una persona è niubba hehe
che si deve fà omg
-
omg calmati O_O
-
anche questo è per il progetto kh omg
devo mettere la solita canzone d' inizio "dlon dlen dlon dlan dlan
dlen dlon dlan daan dlon dlan dladladlan dlon dlon dlan dlen dlonn.." e
ricomincia omge devo mettere uno sfondo con l' organizzazione XII
omg e devo colorare quelle cose blu del menù in bianco (scritta) e nero
(selezione) e grigio (non selezionato) omg
understand it? omg
-
si u.u anche in kh ci sono i trucchi! ad esempio...
...
....
.....
......
Action replay?
-
per quanto riguarda il XII è perchè roxas è denro sora ed è morto insieme a lui :smile:
comuqnue non è sotto orma di zombie omg
e comunque il fucile già cel'
ha xigbar e sono anche 2
chi vuole fare il gioco insieme a me?
attualmente siamo:
-io che dirigo
-grafico
-scripter
-trovatore di bug
-omg
-powa
-passione per kh

-Axel è un mito
:rox:
-
-
nha farò che interagendo con un'
oggetto si guadagnano tot soldi (asd)
edit: o forse ci provo
comunque grazie per la spiegazione :smile:
-
hai ragione per i capelli ma per la fronte axel ha
una piazza sopra le sopracciglia (xD scherzo)
la fronte non mi sembra giganteschissima...
-
ora ho capito
quindi durante il gioco scrivo ad esempio powa4ever e ricevo i bla bla?
-
m'è venuta un' idea così per asdasd
in poche parole l' organizzazione XII dopo essere stata
sconfitta sparisce, ma dove? bhè, bho... non sò che nome dare omg
va b'è... si usano tutti i pg ( non tutti subitissimo, se ne scelgono al massimo
3) e creano un nuovo castello del nulla, sterminano heartless e alla fine
(colpo di scena) muoiono sora, riku e kairi insieme a paperino pippo pluto minnie
la bestia belle la sirenetta mulan mushu la guardia il re jack skeleton sally il dottor
franklestin zero il bau bau malefica pietro simba nala le principesse scar che è
già morto muore aladin e jasmin e tutti quelli del loro mondo e muoiono anche
quelli dell' olimpo insieme agli dei e tutti tranne quelli della fortezza oscura
perchè un chokobo gigante li ha protetti asdasd
avete letto sta cosa e avete sprecato del tempo che tanto non c'etra niente
asd
in verità sarebbe che l' organizzazione XII, ormai sparita, nell' aldilà
cercherà di tornare in vita e ce la fà e riuniranno i cuori ancora in un kh ma sora
sarà già morto e sepolto perchè questo avviene dopo 1 secolo da quando
è successo tutto
e devo dire che sora non ha avuto nessun figlio perchè kairi si innamora di riku che però se ne frega di lei allora lei si suiida e riku
ridistrugge l' isola e muore anche lui asdasd però ci sarà anche un po' di lollosità
e di battute stile xemnas report
che ne pensate? omg

Urgente
in Supporto RGSS (XP)
Posted
lo script sdk e il
method class library ce li ho,
li ho messi in tutte le posizioni
possibili ma ancora niente o_o