查看: 2360|回复: 3

[已经过期] 以開關操控「draw_gauge_area」

[复制链接]
梦石
0
星屑
50
在线时间
39 小时
注册时间
2012-12-14
回帖
31
发表于 2012-12-19 02:35:56 | 显示全部楼层 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有账号?注册会员

×
本帖最后由 LabLamb 于 2012-12-24 09:16 编辑

遊戲系統入面有一項「在戰鬥畫面顯示特技值」,這個在腳本的對應應該是「preserve_tp?」。

我想設定成遊戲變量開關(ID: 100)可以操控preserve_tp?的開關,請問腳本要如何修改?我試著在
  1.   #--------------------------------------------------------------------------
  2.   # ● 战斗结束处理
  3.   #--------------------------------------------------------------------------
  4.   def on_battle_end
  5.     @result.clear
  6.     remove_battle_states
  7.     remove_all_buffs
  8.     clear_actions
  9.     clear_tp unless preserve_tp?
  10.     appear
  11.   end
复制代码
  1.   #--------------------------------------------------------------------------
  2.   # ● 战斗开始处理
  3.   #--------------------------------------------------------------------------
  4.   def on_battle_start
  5.     init_tp unless preserve_tp?
  6.   end
复制代码
這兩項以$Game_switches[100] == true(False都試過)代替preserve_tp?都不行,請問要如何改 :P
T
梦石
0
星屑
50
在线时间
687 小时
注册时间
2012-10-29
回帖
1526
发表于 2012-12-19 06:33:02 | 显示全部楼层
本帖最后由 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 的选项变量。



以上。

评分

参与人数 1梦石 +1 收起 理由
Mic_洛洛 + 1 我很赞同

查看全部评分

修改劇本中,仔細審查原來的劇情大綱,覺得有點不太滿意,嘗試編寫不同主角不同主線的劇情,希望能寫得出來。
回复

使用道具 举报

梦石
0
星屑
50
在线时间
39 小时
注册时间
2012-12-14
回帖
31
 楼主| 发表于 2012-12-19 07:08:02 | 显示全部楼层
對,因為Preserve是保留的意思,我也一直很糾結,看不明白,先謝謝了。
T
回复

使用道具 举报

梦石
0
星屑
50
在线时间
39 小时
注册时间
2012-12-14
回帖
31
 楼主| 发表于 2012-12-24 09:01:58 | 显示全部楼层
本帖最后由 LabLamb 于 2012-12-24 11:21 编辑
  1.   def draw_gauge_area(rect, actor)
  2.     if $game_switches[100] == true
  3.       draw_gauge_area_with_tp(rect, actor)
  4.     else
  5.       draw_gauge_area_without_tp(rect, actor)
  6.     end
  7.   end
复制代码
重試了一下,這個竟然無效,無論開關TP值都一直顯示。
T
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部