Project1
标题:
以開關操控「draw_gauge_area」
[打印本页]
作者:
LabLamb
时间:
2012-12-19 02:35
标题:
以開關操控「draw_gauge_area」
本帖最后由 LabLamb 于 2012-12-24 09:16 编辑
遊戲系統入面有一項「在戰鬥畫面顯示特技值」,這個在腳本的對應應該是「preserve_tp?」。
我想設定成遊戲變量開關(ID: 100)可以操控preserve_tp?的開關,請問腳本要如何修改?我試著在
#--------------------------------------------------------------------------
# ● 战斗结束处理
#--------------------------------------------------------------------------
def on_battle_end
@result.clear
remove_battle_states
remove_all_buffs
clear_actions
clear_tp unless preserve_tp?
appear
end
复制代码
#--------------------------------------------------------------------------
# ● 战斗开始处理
#--------------------------------------------------------------------------
def on_battle_start
init_tp unless preserve_tp?
end
复制代码
這兩項以$Game_switches[100] == true(False都試過)代替preserve_tp?都不行,請問要如何改 :P
作者:
j433463
时间:
2012-12-19 06:33
本帖最后由 j433463 于 2012-12-19 06:45 编辑
弄错了吧,preserve_tp? 应该不是显示 TP,而是战斗后保留 TP 不清零。
clear_tp unless preserve_tp? 意思是没有保留就清除 TP
init_tp unless preserve_tp? 意思是没有保留就初始化 TP
看语法本身就明白,两个都和显不显示 TP 无关。
因为战斗是可以选择是否显示角色 TP 槽的,
所以从 Window_BattleStatus 战斗状态中找到绘制值槽的一段:
[pre lang="ruby" line="1"] #--------------------------------------------------------------------------
# ● 绘制值槽区域
#--------------------------------------------------------------------------
def draw_gauge_area(rect, actor)
if $data_system.opt_display_tp
draw_gauge_area_with_tp(rect, actor)
else
draw_gauge_area_without_tp(rect, actor)
end
end
[/pre]
其中的 if $data_system.opt_display_tp 应该就是判断是否绘制 TP 槽的判断式,
字面上看,$data_system 是指数据库的系统,opt 是勾选,display_tp 是显示 TP,
所以 $data_system.opt_display_tp 就是所说勾选是否显示 TP 的选项变量。
以上。
作者:
LabLamb
时间:
2012-12-19 07:08
對,因為Preserve是保留的意思,我也一直很糾結,看不明白,先謝謝了。
作者:
LabLamb
时间:
2012-12-24 09:01
本帖最后由 LabLamb 于 2012-12-24 11:21 编辑
def draw_gauge_area(rect, actor)
if $game_switches[100] == true
draw_gauge_area_with_tp(rect, actor)
else
draw_gauge_area_without_tp(rect, actor)
end
end
复制代码
重試了一下,這個竟然無效,無論開關TP值都一直顯示。
欢迎光临 Project1 (https://rpg.blue/)
Powered by Discuz! X5.0