Project1
标题:
轩辕剑菜单装备状态栏刷新问题
[打印本页]
作者:
白墨子
时间:
2009-1-22 21:08
标题:
轩辕剑菜单装备状态栏刷新问题
在下脚本白痴,不得不伸手,还请包涵|||
使用轩辕剑菜单,并且将左边的状态窗口所有的都统一换成血气槽。在装备栏装备了有增加气血状态的物品,气血槽不动,得等退出了窗口再进入才能变|||||
试着改了这两句:
# 删除变更装备后的能力
@status_window1.refresh
# 描画左窗口
@status_window1.refresh
发现没用|||||||
PS status_window1和status_window的内容我都给弄成一样的,都是血槽|||||
作者:
灯笼菜刀王
时间:
2009-1-22 21:10
建议放出整个脚本,方便别人查找问题所在。
作者:
IamI
时间:
2009-1-22 21:13
以下引用
灯笼菜刀王于2009-1-22 13:10:58
的发言:
建议放出整个脚本,方便别人查找问题所在。
同。其实这种问题只能加不能改= =位置不对=v=
作者:
白墨子
时间:
2009-1-22 21:21
#--------------------------------------------------------------------------
# ● 装备刷新
#--------------------------------------------------------------------------
def update_right
# 按下 B 键的情况下
if Input.trigger?(Input::B)
# 演奏取消 SE
$game_system.se_play($data_system.cancel_se)
# 切换到菜单画面
@equip_left_window.dispose#装备参数显示强化
@equip_help_window.dispose
@equip_right_window.dispose
@equip_item_window1.dispose
@equip_item_window2.dispose
@equip_item_window3.dispose
@equip_item_window4.dispose
@equip_item_window5.dispose
@equip_item_window6.dispose
@equip_item_window7.dispose
@equip_item_window8.dispose
#........................................................................
@equip_window.dispose
#........................................................................
@equip_update = false
@status_window1.active = true
end
# 按下 C 键的情况下
if Input.trigger?(Input::C)
# 固定装备的情况下
if @actor.equip_fix?(@equip_right_window.index)
# 演奏冻结 SE
$game_system.se_play($data_system.buzzer_se)
return
end
# 演奏确定 SE
$game_system.se_play($data_system.decision_se)
# 激活物品窗口
@equip_left_window.active = true#装备参数显示强化
@equip_right_window.active = false
@equip_item_window.active = true
@equip_window.set_item_id
@equip_item_window.index = 0
return
end
end
def update_equip_item
# 按下 B 键的情况下
if Input.trigger?(Input::B)
# 演奏取消 SE
$game_system.se_play($data_system.cancel_se)
# 激活右侧窗口
@equip_left_window.active = true#装备参数显示强化
@equip_right_window.active = true
@equip_item_window.active = false
@equip_item_window.index = -1
@equip_window.set_item_id
return
end
# 按下 C 键的情况下
if Input.trigger?(Input::C)
# 演奏装备 SE
$game_system.se_play($data_system.equip_se)
# 获取物品窗口现在选择的装备数据
item = @equip_item_window.item
# 变更装备
@actor.equip(@equip_right_window.index, item == nil ? 0 : item.id)
# 激活右侧窗口
@equip_left_window.active = true#装备参数显示强化
@equip_right_window.active = true
@equip_item_window.active = false
@equip_item_window.index = -1
@equip_window.set_item_id
# 再生成右侧窗口、物品窗口的内容
@equip_right_window.refresh
if @equip_right_window.index == 6 or @equip_right_window.index == 7
@equip_item_window7.refresh
@equip_item_window8.refresh
else
@equip_item_window.refresh
end
@equip_left_window.refresh
return
end
end
def update_status1
# 按下 B 键的情况下
if Input.trigger?(Input::B)
# 演奏取消 SE
$game_system.se_play($data_system.cancel_se)
# 激活命令窗口
@command_window.active = true
@status_window1.active = false
@status_window1.index = -2#-1
return
end
# 按下 C 键的情况下
if Input.trigger?(Input::C)
# 命令窗口的光标位置分支
# 演奏确定 SE
$game_system.se_play($data_system.decision_se)
@equip_index = 0
@actor = $game_party.actors[@status_window1.index]
@equip_help_window = Window_Help_New.new
@equip_help_window.x = 137
@equip_help_window.y = 480 - 64 - 32 - 8
@equip_left_window = Window_EquipLeft_New.new(@actor)#装备强化
@equip_right_window = Window_EquipRight_New.new(@actor)
@equip_item_window1 = Window_EquipItem_New.new(@actor, 0)
@equip_item_window2 = Window_EquipItem_New.new(@actor, 1)
@equip_item_window3 = Window_EquipItem_New.new(@actor, 2)
@equip_item_window4 = Window_EquipItem_New.new(@actor, 3)
@equip_item_window5 = Window_EquipItem_New.new(@actor, 4)
@equip_item_window6 = Window_EquipItem_New.new(@actor, 5)
@equip_item_window7 = Window_EquipItem_New.new(@actor, 6)
@equip_item_window8 = Window_EquipItem_New.new(@actor, 6)
#........................................................................
@equip_window = Window_Equip.new
@equip_window.y = 394
@equip_window.set_item_id
#........................................................................
# 关联帮助窗口
@equip_right_window.help_window = @equip_help_window
@equip_item_window1.help_window = @equip_help_window
@equip_item_window2.help_window = @equip_help_window
@equip_item_window3.help_window = @equip_help_window
@equip_item_window4.help_window = @equip_help_window
@equip_item_window5.help_window = @equip_help_window
@equip_item_window6.help_window = @equip_help_window
@equip_item_window7.help_window = @equip_help_window
@equip_item_window8.help_window = @equip_help_window
# 设置光标位置
@equip_right_window.index = @equip_index
@status_window1.active = false
@equip_update = true
# 设置物品窗口的可视状态
@equip_item_window1.visible = (@equip_right_window.index == 0)
@equip_item_window2.visible = (@equip_right_window.index == 1)
@equip_item_window3.visible = (@equip_right_window.index == 2)
@equip_item_window4.visible = (@equip_right_window.index == 3)
@equip_item_window5.visible = (@equip_right_window.index == 4)
@equip_item_window6.visible = (@equip_right_window.index == 5)
@equip_item_window7.visible = (@equip_right_window.index == 6)
@equip_item_window8.visible = (@equip_right_window.index == 7)
# 获取当前装备中的物品
item1 = @equip_right_window.item
# 设置当前的物品窗口到 @item_window
@equip_window.set_item_id
case @equip_right_window.index
when 0
@equip_item_window = @equip_item_window1
when 1
@equip_item_window = @equip_item_window2
when 2
@equip_item_window = @equip_item_window3
when 3
@equip_item_window = @equip_item_window4
when 4
@equip_item_window = @equip_item_window5
when 5
@equip_item_window = @equip_item_window6
when 6
@equip_item_window = @equip_item_window7
when 7
@equip_item_window = @equip_item_window8
end
# 右窗口被激活的情况下
if @equip_right_window.active
# 删除变更装备后的能力
@status_window1.refresh
@equip_left_window.set_new_parameters(nil, nil, nil, nil, nil, nil, nil, nil)
end
# 物品窗口被激活的情况下
if @equip_item_window.active
# 获取现在选中的物品
item2 = @equip_item_window.item
# 变更装备
last_hp = @actor.hp
last_sp = @actor.sp
@actor.equip(@equip_right_window.index, item2 == nil ? 0 : item2.id)
# 获取变更装备后的能力值
new_atk = @actor.atk
new_pdef = @actor.pdef
new_mdef = @actor.mdef
new_eva = @actor.eva
new_str = @actor.str
new_dex = @actor.dex
new_agi = @actor.agi
new_int = @actor.int
# 返回到装备
@actor.equip(@equip_right_window.index, item1 == nil ? 0 : item1.id)
@actor.hp = last_hp
@actor.sp = last_sp
# 描画左窗口
@status_window1.refresh
@equip_left_window.set_new_parameters(new_atk, new_pdef, new_mdef, new_eva, new_str, new_dex, new_agi, new_int)
@equip_window.set_item(item2)
#........................................................................
end
end
end
复制代码
作者:
ONEWateR
时间:
2009-1-22 21:24
重新生成@status_window1 {/fd}
[LINE]1,#dddddd[/LINE]
系统信息:本贴获得楼主认可,66RPG感谢您的热情解答~
作者:
IamI
时间:
2009-1-22 21:28
刷新那个气血槽窗口= = [LINE]1,#dddddd[/LINE]
系统信息:本贴获得楼主认可,66RPG感谢您的热情解答~
作者:
白墨子
时间:
2009-1-23 00:33
多谢二位= =我脑残了|||不好意思了|||
欢迎光临 Project1 (https://rpg.blue/)
Powered by Discuz! X3.1