【XAS】xas多技能脚本
如题,即时战斗系统xas的脚本插件,这是我第一次发布脚本,话会多些,我与xas也算挺有渊源的吧。很早之前就一直想做一个ARPG,做之前也看了很多即时战斗的方法和脚本,但最终还是选择了XAS,入坑时就有很多和我一样同样在找xas的多技能脚本的人
我看这么久了依然没有看到有人发布xas的额外技能脚本,自己边学边写也写了挺久的,本来想整合一下再发出来,以前半生不熟还多bug,现在一看便重写了
一遍。
同时很感谢在这期间教我大佬,感谢你们!
用了这脚本可能快捷菜单就没用了
我想防御和冲刺可以放在一起做出一个专属技能的效果,并空出一个按钮,可用于存放三技能或二道具,我这里没有写,需要你自行去定义了。
以下是核心脚本:
RUBY 代码
=begin
#===============================================================================
# ■ XAS 多技能脚本
#本脚本将原快捷菜单中的快捷菜单按钮用于新增2技能
#放置技能到 菜单》技能》选择技能
#作者:唯莫 v:1.0.1;2020.1.31,02:48
#===============================================================================
=end
module XAS_BUTTON
#使2技能的按钮
BSKILL_BUTTON = Input::L
#是否启用3技能 :请自行定义
CSKILL_ENABLE = true
#使用3技能的按钮 :请自行定义
CSKILL_BUTTON = Input::L
#是否允许相同的技能
ALLOW_SAME_SKILL = false
end
module XAS_TOOL_HUD
#是否启用2技能槽HUD
SECOND_SKILL_HUD = true
#2技能HUD位置
SECOND_HUD_POSITION =
#是否启用3技能槽HUD
THIRD_SKILL_HUD = true
#3技能HUD位置
THIRD_HUD_POSITION =
end
#===============================================================================
# ■ XAS 部分
#===============================================================================
class Game_Actor < Game_Battler
attr_accessor :skill_id
attr_accessor :skill_id2
attr_accessor :skill_id3
alias dj_setup setup
def setup(actor_id)
@skill_id = 0
@skill_id2 = 0
@skill_id3 = 0
dj_setup(actor_id)
end
end
class Window_SkillList < Window_Selectable
include XAS_BUTTON
def can_equip_skill_action?
returnfalseif$game_party.in_battle
skill = @data
if skill != niland( skill.note =~ // or skill.note =~ //)
if$djnxx==3
@技能检测 = skill.id
if can_skill_identical?
msgbox("不能装备相同的技能")
returntrue
else
@i = $game_party.battle_members.id
@actor.skill_id3 = skill.id
Sound.play_equip
returntrue
end
end
if$djnxx==2
@技能检测 = skill.id
if can_skill_identical?
msgbox("不能装备相同的技能")
returntrue
else
i = $game_party.battle_members.id
@actor.skill_id2 = skill.id
Sound.play_equip
returntrue
end
end
if$djnxx==1
@技能检测 = skill.id
if can_skill_identical?
msgbox("不能装备相同的技能")
returntrue
else
@actor.skill_id = skill.id
Sound.play_equip
returntrue
end
end
returnfalse
end
end
def can_skill_identical?
returnfalseif ALLOW_SAME_SKILL
if$djnxx==3
returntrueif @技能检测 == @actor.skill_idor @技能检测 == @actor.skill_id2
end
if$djnxx==2
returntrueif @技能检测 == @actor.skill_idor @技能检测 ==@actor.skill_id3
end
if$djnxx==1
returntrueif @技能检测 ==@actor.skill_id2or @技能检测 ==@actor.skill_id3
end
end
end
class Window_much_skill < Window_Command
include XAS_BUTTON
def initialize
super(150, 100)
end
def window_width
return240
end
def window_height
if CSKILL_ENABLE
return100
else
return80
end
end
def make_command_list
add_command("放入一技能", :qwe, true)
add_command("放入二技能", :qwer, true)
add_command("放入三技能", :qwert, true)if CSKILL_ENABLE
end
end
class Scene_Sqtory < Scene_MenuBase
include XAS_BUTTON
def start
super
@teleport_window = Window_much_skill.new
@teleport_window.set_handler(:qwe, method(:scck))
@teleport_window.set_handler(:qwer, method(:secondskill))
@teleport_window.set_handler(:qwert, method(:thirdskill))if CSKILL_ENABLE
@teleport_window.set_handler(:cancel, method(:return_scene))
end
def scck #第一技能
$djnxx=1
SceneManager.call(Scene_Skill)
end
def secondskill
$djnxx=2
SceneManager.call(Scene_Skill)
end
def thirdskill
$djnxx=3
SceneManager.call(Scene_Skill)
end
end
class Scene_Menu < Scene_MenuBase
def on_personal_ok
case@command_window.current_symbol
when:skill
SceneManager.call(Scene_Sqtory)
when:equip
SceneManager.call(Scene_Equip)
when:status
SceneManager.call(Scene_Status)
end
end
end
class Game_Player < Game_Character
alias new_update_action_command update_action_command
def update_action_command
new_update_action_command
update_2skill_button
end
defupdate_2skill_button
if Input.trigger?(BSKILL_BUTTON)
type = 2
returnunless can_use_skill_command?
returnif execute_combo?(type)
check_equipped_action(type)
action_id = self.battler.skill_id2
returnif action_id == 0
returnif state_seal_command?(type)
self.shoot(action_id)
end
if Input.trigger?(CSKILL_BUTTON)
type = 2
returnunless can_use_skill_command?
returnif execute_combo?(type)
check_equipped_action(type)
action_id = self.battler.skill_id3
returnif action_id == 0
returnif state_seal_command?(type)
self.shoot(action_id)
end
end
end
以下是HUD部分,这东西直接粘贴在原脚本HUD插件页上 -> Tool HUD
,把原脚本给覆盖掉,试了好多方法,就是没法像上面那样定义
RUBY 代码
#==============================================================================
# ■ +++ MOG - XAS TOOL HUD (v1.0) +++
#==============================================================================
# By Moghunter
# http://www.atelier-rgss.com
#==============================================================================
# 以下是在XAS系统中使用的插件显示器脚本的设置。
#
#===============================================================================
module XAS_TOOL_HUD
#是否启用2技能槽HUD
SECOND_SKILL_HUD = true
#2技能HUD位置
SECOND_HUD_POSITION =
#是否启用3技能槽HUD
THIRD_SKILL_HUD = true
#3技能HUD位置
THIRD_HUD_POSITION =
#是否启用技能HUD
ENABLE_SKILL_HUD = true
#是否启用道具HUD.
ENABLE_ITEM_HUD = true
#是否启用武器HUD.
ENABLE_WEAPON_HUD = true
#是否启用防具HUD.
ENABLE_SHIELD_HUD = true
#是否启用金钱HUD.
ENABLE_GOLD_HUD = false
#道具的位置
ITEM_HUD =
#技能的位置
SKILL_HUD =
#武器的位置
WEAPON_HUD =
#防具的位置
SHIELD_HUD =
#金钱窗口的位置
GOLD_HUD =
#金钱数字的位置
GOLD_NUMBER =
#位置布局
LAYOUT =
#道具图标
ICON =
#数字的位置.
NUMBER =
#数字间距.
NUMBER_SPACE = 0
end
#==============================================================================
# ■ Tool Hud
#==============================================================================
class Tool_Hud
include XAS_TOOL_HUD
#--------------------------------------------------------------------------
# ● Initialize
#--------------------------------------------------------------------------
def initialize
@actor = $game_party.members
returnif@actor == nil
@icon_image = Cache.system("Iconset")
@number_image = Cache.system("XAS_Tool_Number")
@number_cw = @number_image.width / 10
@number_ch = @number_image.height / 3
@number_sc = @number_cw + NUMBER_SPACE
create_skill if ENABLE_SKILL_HUD
create_item if ENABLE_ITEM_HUD
create_weapon if ENABLE_WEAPON_HUD
create_shield if ENABLE_SHIELD_HUD
create_gold if ENABLE_GOLD_HUD
create_second_skill if SECOND_SKILL_HUD
create_third_skill if THIRD_SKILL_HUD
end
#--------------------------------------------------------------------------
# ● Refresh
#--------------------------------------------------------------------------
def refresh
dispose
initialize
end
#--------------------------------------------------------------------------
# ● Create Gold
#--------------------------------------------------------------------------
def create_gold
@gold = $game_party.gold
@gold_old = @gold
@gold_ref = @gold_old
@gold_refresh = false
# Layout -------------------------------------------------------------------
@gold_layout_sprite = Sprite.new
@gold_layout_sprite.bitmap = Cache.system("XAS_Tool_Gold")
@gold_layout_sprite.z = 151
@gold_layout_sprite.x = GOLD_HUD
@gold_layout_sprite.y = GOLD_HUD
# Gold ---------------------------------------------------------------------
@gold_number_sprite = Sprite.new
@gold_number_sprite.bitmap = Bitmap.new(@number_image.width, @number_image.height / 3)
@gold_number_sprite.z = 152
@gold_number_sprite.x = GOLD_HUD + GOLD_NUMBER
@gold_number_sprite.y = GOLD_HUD + GOLD_NUMBER
gold_number_update
end
#--------------------------------------------------------------------------
# ● Create Shield
#--------------------------------------------------------------------------
def create_shield
#LAYOUT ------------------------------------------------------------
@shield_layout_sprite = Sprite.new
@shield_layout_sprite.bitmap = Cache.system("XAS_Tool_Shield")
@shield_layout_sprite.z = 150
@shield_layout_sprite.x = SHIELD_HUD + LAYOUT
@shield_layout_sprite.y = SHIELD_HUD + LAYOUT
@shield = @actor.equips
@old_shield = @shield
if@shield != nil
icon_index = @shield.icon_index
else
icon_index = 0
end
@shield_icon_sprite = Sprite.new
@shield_icon_sprite.bitmap = Bitmap.new(24,24)
bitmap_shield_rect = Rect.new(icon_index % 16 * 24, icon_index / 16 * 24, 24, 24)
@shield_icon_sprite.bitmap.blt(0, 0, @icon_image, bitmap_shield_rect)
@shield_icon_sprite.z = 151
@shield_icon_sprite.x = SHIELD_HUD + ICON
@shield_icon_sprite.y = SHIELD_HUD + ICON
#NUMBER ------------------------------------------------------------
@shield_number_sprite = Sprite.new
@shield_number_sprite.bitmap = Bitmap.new(@number_image.width, @number_image.height / 3)
@shield_number_sprite.z = 152
refresh_shield_number
end
#--------------------------------------------------------------------------
# ● Refresh Shield Number
#--------------------------------------------------------------------------
def refresh_shield_number
@shield_number = 0
@s_item = 0
@shield_number_sprite.bitmap.clear
returnif@shield == nil
if@shield.note =~ //
action_id =$1.to_i
skill = $data_skills
if skill != nil
if skill.note =~ //
item_id = $1.to_i
if item_id != nil
@s_item = $data_items
@shield_number = $game_party.item_number(@s_item)
end
end
end
end
returnif@s_item == 0
cost_split = @shield_number.to_s.split(//)
for r in0..cost_split.size - 1
number_abs = cost_split.to_i
src_rect = Rect.new(@number_cw * number_abs, 0, @number_cw, @number_ch)
@shield_number_sprite.bitmap.blt(@number_sc*r, 0, @number_image, src_rect)
end
xf = ((cost_split.size * @number_sc) / 2)
@shield_number_sprite.x = SHIELD_HUD + NUMBER - xf
@shield_number_sprite.y = SHIELD_HUD + NUMBER
end
#--------------------------------------------------------------------------
# ● Create Weapon
#--------------------------------------------------------------------------
def create_weapon
#LAYOUT ------------------------------------------------------------
@weapon_layout_sprite = Sprite.new
@weapon_layout_sprite.bitmap = Cache.system("XAS_Tool_Weapon")
@weapon_layout_sprite.z = 150
@weapon_layout_sprite.x = WEAPON_HUD + LAYOUT
@weapon_layout_sprite.y = WEAPON_HUD + LAYOUT
#ICON
@weapon = @actor.equips
@old_weapon = @weapon
if@weapon != nil
icon_index = @weapon.icon_index
else
icon_index = 0
end
@weapon_icon_sprite = Sprite.new
@weapon_icon_sprite.bitmap = Bitmap.new(24,24)
bitmap_weapon_rect = Rect.new(icon_index % 16 * 24, icon_index / 16 * 24, 24, 24)
@weapon_icon_sprite.bitmap.blt(0, 0, @icon_image, bitmap_weapon_rect)
@weapon_icon_sprite.z = 151
@weapon_icon_sprite.x = WEAPON_HUD + ICON
@weapon_icon_sprite.y = WEAPON_HUD + ICON
#NUMBER ------------------------------------------------------------
@weapon_number_sprite = Sprite.new
@weapon_number_sprite.bitmap = Bitmap.new(@number_image.width, @number_image.height / 3)
@weapon_number_sprite.z = 152
refresh_weapon_number
end
#--------------------------------------------------------------------------
# ● Refresh Weapon Number
#--------------------------------------------------------------------------
def refresh_weapon_number
@weapon_number = 0
@w_item = 0
@weapon_number_sprite.bitmap.clear
returnif@weapon == nil
if@weapon.note =~ //
action_id =$1.to_i
skill = $data_skills
if skill != nil
if skill.note =~ //
item_id = $1.to_i
if item_id != nil
@w_item = $data_items
@weapon_number = $game_party.item_number(@w_item)
end
end
end
end
returnif@w_item == 0
cost_split = @weapon_number.to_s.split(//)
for r in0..cost_split.size - 1
number_abs = cost_split.to_i
src_rect = Rect.new(@number_cw * number_abs, 0, @number_cw, @number_ch)
@weapon_number_sprite.bitmap.blt(@number_sc*r, 0, @number_image, src_rect)
end
xf = ((cost_split.size * @number_sc) / 2)
@weapon_number_sprite.x = WEAPON_HUD + NUMBER - xf
@weapon_number_sprite.y = WEAPON_HUD + NUMBER
end
#--------------------------------------------------------------------------
# ● Create Skill
#--------------------------------------------------------------------------
def create_skill
#LAYOUT ------------------------------------------------------------
@skill_layout_sprite = Sprite.new
@skill_layout_sprite.bitmap = Cache.system("XAS_Tool_Skill")
@skill_layout_sprite.z = 150
@skill_layout_sprite.x = SKILL_HUD + LAYOUT
@skill_layout_sprite.y = SKILL_HUD + LAYOUT
#ICON ------------------------------------------------------------
@old_skill = @actor.skill_id
@skill = $data_skills[@actor.skill_id]
if@skill != nil
icon_index = @skill.icon_index
@skill_mp_cost = @skill.mp_cost
else
icon_index = 0
@skill_mp_cost = 0
end
@skill_icon_sprite = Sprite.new
@skill_icon_sprite.bitmap = Bitmap.new(24,24)
bitmap_skill_rect = Rect.new(icon_index % 16 * 24, icon_index / 16 * 24, 24, 24)
@skill_icon_sprite.bitmap.blt(0, 0, @icon_image, bitmap_skill_rect)
@skill_icon_sprite.z = 151
@skill_icon_sprite.x = SKILL_HUD + ICON
@skill_icon_sprite.y = SKILL_HUD + ICON
#NUMBER ------------------------------------------------------------
skill_number_bitmap = Bitmap.new(@number_image.width, @number_image.height / 3)
@skill_number_sprite = Sprite.new
@skill_number_sprite.bitmap = skill_number_bitmap
cost_split = @skill_mp_cost.to_s.split(//)
for r in0..cost_split.size - 1
number_abs = cost_split.to_i
src_rect = Rect.new(@number_cw * number_abs, @number_ch, @number_cw, @number_ch)
skill_number_bitmap.blt(@number_sc*r, 0, @number_image, src_rect)
end
@skill_number_sprite.z = 152
xf = ((cost_split.size * @number_sc) / 2)
@skill_number_sprite.x = SKILL_HUD + NUMBER - xf
@skill_number_sprite.y = SKILL_HUD + NUMBER
end
#--------------------------------------------------------------------------
# ● Create Item
#--------------------------------------------------------------------------
def create_item
#LAYOUT ------------------------------------------------------------
@item_layout_sprite = Sprite.new
@item_layout_sprite.bitmap = Cache.system("XAS_Tool_Item")
@item_layout_sprite.z = 150
@item_layout_sprite.x = ITEM_HUD + LAYOUT
@item_layout_sprite.y = ITEM_HUD + LAYOUT
#ICON ------------------------------------------------------------
@old_item = @actor.item_id
@item = $data_items[@actor.item_id]
if@item != nil
icon_index = @item.icon_index
@item_number = $game_party.item_number(@item)
else
icon_index = 0
@item_number = 0
end
@item_icon_sprite = Sprite.new
@item_icon_sprite.bitmap = Bitmap.new(24,24)
bitmap_item_rect = Rect.new(icon_index % 16 * 24, icon_index / 16 * 24, 24, 24)
@item_icon_sprite.bitmap.blt(0, 0, @icon_image, bitmap_item_rect)
@item_icon_sprite.z = 160
@item_icon_sprite.x = ITEM_HUD + ICON
@item_icon_sprite.y = ITEM_HUD + ICON
#NUMBER ------------------------------------------------------------
item_number_bitmap = Bitmap.new(@number_image.width, @number_image.height / 3)
@item_number_sprite = Sprite.new
@item_number_sprite.bitmap = item_number_bitmap
cost_split = @item_number.to_s.split(//)
for r in0..cost_split.size - 1
number_abs = cost_split.to_i
src_rect = Rect.new(@number_cw * number_abs, 0, @number_cw, @number_ch)
@item_number_sprite.bitmap.blt(@number_sc*r, 0, @number_image, src_rect)
end
@item_number_sprite.z = 152
xf = ((cost_split.size * @number_sc) / 2)
@item_number_sprite.x = ITEM_HUD + NUMBER - xf
@item_number_sprite.y = ITEM_HUD + NUMBER
end
def create_second_skill
#创建技能槽-----------------------------------------------------------------
@second_skill = Sprite.new
@second_skill.bitmap = Cache.system("XAS_Tool_Skill")
@second_skill.x= SECOND_HUD_POSITION
@second_skill.y= SECOND_HUD_POSITION
#槽中图标-------------------------------------------------------------------
@old_second_skill = @actor.skill_id2
@bskill = $data_skills[@actor.skill_id2]
if@bskill != nil
icon_index = @bskill.icon_index
@second_skill_number = @bskill.mp_cost
else
icon_index = 0
@second_skill_number = 0
end
@second_skill_icon = Sprite.new
@second_skill_icon.bitmap = Bitmap.new(24,24)
bitmap_bskill_rect = Rect.new(icon_index % 16 * 24, icon_index / 16 * 24, 24, 24)
@second_skill_icon.bitmap.blt(0, 0, @icon_image, bitmap_bskill_rect)
@second_skill_icon.x = SECOND_HUD_POSITION+5
@second_skill_icon.y = SECOND_HUD_POSITION+12
#槽下数字-------------------------------------------------------------------
skill_number_bitmap = Bitmap.new(@number_image.width, @number_image.height / 3)
@second_skill_number_sprite = Sprite.new
@second_skill_number_sprite.bitmap = skill_number_bitmap
cost_split = @second_skill_number.to_s.split(//)
for r in0..cost_split.size - 1
number_abs = cost_split.to_i
src_rect = Rect.new(@number_cw * number_abs, @number_ch, @number_cw, @number_ch)
skill_number_bitmap.blt(@number_sc*r, 0, @number_image, src_rect)
end
xf = ((cost_split.size * @number_sc) / 2)
@second_skill_number_sprite.x = SECOND_HUD_POSITION+12
@second_skill_number_sprite.y = SECOND_HUD_POSITION+35
end
def create_third_skill
#创建技能槽-----------------------------------------------------------------
@third_skill = Sprite.new
@third_skill.bitmap = Cache.system("XAS_Tool_Skill")
@third_skill.x= THIRD_HUD_POSITION
@third_skill.y= THIRD_HUD_POSITION
#槽中图标-------------------------------------------------------------------
@old_third_skill = @actor.skill_id3
@cskill = $data_skills[@actor.skill_id3]
if@cskill != nil
icon_index =@cskill.icon_index
@third_skill_number = @cskill.mp_cost
else
icon_index = 0
@third_skill_number = 0
end
@third_skill_icon = Sprite.new
@third_skill_icon.bitmap = Bitmap.new(24,24)
bitmap_bskill_rect = Rect.new(icon_index % 16 * 24, icon_index / 16 * 24, 24, 24)
@third_skill_icon.bitmap.blt(0, 0, @icon_image, bitmap_bskill_rect)
@third_skill_icon.x = THIRD_HUD_POSITION+5
@third_skill_icon.y = THIRD_HUD_POSITION+12
#槽下数字-------------------------------------------------------------------
skill_number_bitmap = Bitmap.new(@number_image.width, @number_image.height / 3)
@third_skill_number_sprite = Sprite.new
@third_skill_number_sprite.bitmap = skill_number_bitmap
cost_split = @second_skill_number.to_s.split(//)
for r in0..cost_split.size - 1
number_abs = cost_split.to_i
src_rect = Rect.new(@number_cw * number_abs, @number_ch, @number_cw, @number_ch)
skill_number_bitmap.blt(@number_sc*r, 0, @number_image, src_rect)
end
xf = ((cost_split.size * @number_sc) / 2)
@third_skill_number_sprite.x = THIRD_HUD_POSITION+12
@third_skill_number_sprite.y = THIRD_HUD_POSITION+35
end
#--------------------------------------------------------------------------
# ● Dispose
#--------------------------------------------------------------------------
def dispose
returnif@actor == nil
dispose_skill if ENABLE_SKILL_HUD
dispose_item if ENABLE_ITEM_HUD
dispose_weapon if ENABLE_WEAPON_HUD
dispose_shield if ENABLE_SHIELD_HUD
dispose_gold if ENABLE_GOLD_HUD
@icon_image.dispose
@number_image.dispose
dispose_second_skill if SECOND_SKILL_HUD
dispose_third_skill if THIRD_SKILL_HUD
end
#--------------------------------------------------------------------------
# ● 处置二技能
#--------------------------------------------------------------------------
def dispose_second_skill
@second_skill.bitmap.dispose
@second_skill.dispose
@second_skill_icon.bitmap.dispose
@second_skill_icon.dispose
@second_skill_number_sprite.bitmap.dispose
@second_skill_number_sprite.dispose
end
#--------------------------------------------------------------------------
# ● 处置3技能
#--------------------------------------------------------------------------
def dispose_third_skill
@third_skill.bitmap.dispose
@third_skill.dispose
@third_skill_icon.bitmap.dispose
@third_skill_icon.dispose
@third_skill_number_sprite.bitmap.dispose
@third_skill_number_sprite.dispose
end
#--------------------------------------------------------------------------
# ● Dispose Skill
#--------------------------------------------------------------------------
def dispose_skill
@skill_layout_sprite.bitmap.dispose
@skill_layout_sprite.dispose
@skill_icon_sprite.bitmap.dispose
@skill_icon_sprite.dispose
@skill_number_sprite.bitmap.dispose
@skill_number_sprite.dispose
end
#--------------------------------------------------------------------------
# ● Dispose Gold
#--------------------------------------------------------------------------
def dispose_gold
@gold_layout_sprite.bitmap.dispose
@gold_layout_sprite.dispose
@gold_number_sprite.bitmap.dispose
@gold_number_sprite.dispose
end
#--------------------------------------------------------------------------
# ● Dispose Item
#--------------------------------------------------------------------------
def dispose_item
@item_layout_sprite.bitmap.dispose
@item_layout_sprite.dispose
@item_icon_sprite.bitmap.dispose
@item_icon_sprite.dispose
@item_number_sprite.bitmap.dispose
@item_number_sprite.dispose
end
#--------------------------------------------------------------------------
# ● Dispose Weapon
#--------------------------------------------------------------------------
def dispose_weapon
@weapon_layout_sprite.bitmap.dispose
@weapon_layout_sprite.dispose
@weapon_icon_sprite.bitmap.dispose
@weapon_icon_sprite.dispose
@weapon_number_sprite.bitmap.dispose
@weapon_number_sprite.dispose
end
#--------------------------------------------------------------------------
# ● Dispose shield
#--------------------------------------------------------------------------
def dispose_shield
@shield_layout_sprite.bitmap.dispose
@shield_layout_sprite.dispose
@shield_icon_sprite.bitmap.dispose
@shield_icon_sprite.dispose
@shield_number_sprite.bitmap.dispose
@shield_number_sprite.dispose
end
#--------------------------------------------------------------------------
# ● Update
#--------------------------------------------------------------------------
def update
returnif@actor == nil
update_visible
refresh if can_refresh_hud?
refresh_item if ENABLE_ITEM_HUD and can_refresh_item_number?
refresh_weapon_number if ENABLE_WEAPON_HUD and can_refreh_weapon_number?
refresh_shield_number if ENABLE_SHIELD_HUD and can_refreh_shield_number?
update_gold if ENABLE_GOLD_HUD
refresh if wm_Refresh_method?
end
#--------------------------------------------------------------------------
# ● Update Gold
#--------------------------------------------------------------------------
def update_gold
gold_number_down if@gold > $game_party.gold
gold_number_up if@gold < $game_party.gold
gold_number_update if@gold_refresh
end
#--------------------------------------------------------------------------
# ● Can Refresh Weapon Number
#--------------------------------------------------------------------------
def can_refreh_weapon_number?
returntrueif@weapon_number != $game_party.item_number(@w_item)
returnfalse
end
#--------------------------------------------------------------------------
# ● Can Refresh Shield Number
#--------------------------------------------------------------------------
def can_refreh_shield_number?
returntrueif@shield_number != $game_party.item_number(@s_item)
returnfalse
end
#--------------------------------------------------------------------------
# ● Update Visible
#--------------------------------------------------------------------------
def update_visible
vis = $game_system.enable_hud
if ENABLE_SKILL_HUD
@skill_layout_sprite.visible = vis
@skill_icon_sprite.visible = vis
@skill_number_sprite.visible = vis
end
if ENABLE_ITEM_HUD
@item_layout_sprite.visible = vis
@item_icon_sprite.visible = vis
@item_number_sprite.visible = vis
end
if ENABLE_WEAPON_HUD
@weapon_layout_sprite.visible = vis
@weapon_icon_sprite.visible = vis
@weapon_number_sprite.visible = vis
end
if ENABLE_SHIELD_HUD
#~ vis = false unless $game_party.battle_members.class_id == 11
@shield_layout_sprite.visible = vis
@shield_icon_sprite.visible = vis
@shield_number_sprite.visible = vis
end
if ENABLE_GOLD_HUD
@gold_layout_sprite.visible = vis
@gold_number_sprite.visible = vis
end
if SECOND_SKILL_HUD
@second_skill.visible = vis
@second_skill_icon.visible = vis
@second_skill_number_sprite.visible = vis
end
if THIRD_SKILL_HUD
@third_skill.visible = vis
@third_skill_icon.visible = vis
@third_skill_number_sprite.visible = vis
end
end
#--------------------------------------------------------------------------
# ● Can Refresh Hud
#--------------------------------------------------------------------------
def can_refresh_hud?
if@actor != nil
if ENABLE_SKILL_HUD
returntrueif@old_skill != @actor.skill_id
end
if ENABLE_ITEM_HUD
returntrueif@old_item != @actor.item_id
end
if ENABLE_WEAPON_HUD
returntrueif@old_weapon != @actor.equips
end
if ENABLE_SHIELD_HUD
returntrueif@old_shield != @actor.equips
end
end
returnfalse
end
#--------------------------------------------------------------------------
# ● Can Refresh Item Number
#--------------------------------------------------------------------------
def can_refresh_item_number?
returntrueif@item_number != $game_party.item_number(@item)
returnfalse
end
#--------------------------------------------------------------------------
# ● Create Item
#--------------------------------------------------------------------------
def refresh_item
@item_number = $game_party.item_number(@item)
#Item Number ------------------------------------------------------------
@item_number_sprite.bitmap.clear
cost_split = @item_number.to_s.split(//)
for r in0..cost_split.size - 1
number_abs = cost_split.to_i
src_rect = Rect.new(@number_cw * number_abs, 0, @number_cw, @number_ch)
@item_number_sprite.bitmap.blt(@number_sc*r, 0, @number_image, src_rect)
end
xf = ((cost_split.size * @number_sc) / 2)
@item_number_sprite.x = ITEM_HUD + NUMBER - xf
end
#--------------------------------------------------------------------------
# ● gold_number_up
#--------------------------------------------------------------------------
def gold_number_up
@gold_refresh = true
@gold_ref = 20 * (@gold - @gold_old) / 100
@gold_ref = 1if@gold_ref < 1
@gold += @gold_ref
if@gold >= $game_party.gold
@gold_old = $game_party.gold
@gold = $game_party.gold
@gold_ref = 0
end
end
#--------------------------------------------------------------------------
# ● gold_number_down
#--------------------------------------------------------------------------
def gold_number_down
@gold_refresh = true
@gold_ref = 10 * (@gold_old - @gold) / 100
@gold_ref = 1if@gold_ref < 1
@gold -= @gold_ref
if@gold
页:
[1]