设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 212|回复: 21

[已经过期] 请帮我把技能背景变暗脚本改成某个开关才变暗

[复制链接]

Lv3.寻梦者

梦石
0
星屑
2049
在线时间
1377 小时
注册时间
2009-7-27
帖子
1383
发表于 2020-1-8 22:51:48 | 显示全部楼层 |阅读模式

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

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

x
就是这个脚本是使用某个设置的技能时背景变暗,我希望可以修改成不要是技能变暗战斗背景,而是一直是暗的,渲染战斗时恐怖的气氛,或者光线暗的那种效果。通过开关来控制。请问各位GGJJ怎么实现?
#---------------------------------------------------------------------------
#戦闘背景暗転化スクリプトver.1.11(RTAB用)
#by bant http://homepage2.nifty.com/bant/
#---------------------------------------------------------------------------
# 特性の属性を設定した武器、スキル、アイテムを使った時に
# 戦闘背景の色調を変更するスクリプトです。
#
# 特に戦闘背景が白い場合(008-Snowfield01など)戦闘アニメが見えなくなってしまう
# ので有効です。
#
# 数値の設定によっては暗くせずに明るくすることも可能です。
# このスクリプトへの質問等は必ずhttp://homepage2.nifty.com/bant/内の掲示板にして下さい
# 1.1へのバージョンアップ情報
#
# 軽量化:80~104行目を変更
# 戦闘終了後に暗転フラグをオフにする:121~137行目を追加
#
# 1.11へのバージョンアップ情報
#
# アイテムへの対応:107行目、周辺のコメントアウトを消す
# 戦闘前に暗転フラグをオフにする:138、139行目を追加
#=begin
class Game_Battler
  BLACK_ELEMENT = "暗转" # 戦闘背景を暗転化する時にこの名前の属性を設定して下さい
end
class Spriteset_Battle
# 色調がどれぐらいまで変化するかの数値です。具体的にはイベントの色調変化で
# 赤色が-TONE_MARGINALになるまで色調が変化します。
  TONE_MARGINAL = 100
# 1フレームで変化する赤、緑、青のカラーバランス調整値です。
# 例えば赤なら1フレームで-BLACK_Rだけ変化します。
  BLACK_R = 5
  BLACK_G = 5
  BLACK_B = 5
# *注意:TONE_MARGINALはそれぞれのカラーバランス調整値で割り切れるように設定して下さい。
end

#==============================================================================
# ■ Game_Temp
#------------------------------------------------------------------------------
#  セーブデータに含まれない、一時的なデータを扱うクラスです。このクラスのイン
# スタンスは $game_temp で参照されます。
#==============================================================================

class Game_Temp
  attr_accessor :black_flug               # ☆暗転用
  alias initialize_black_bant initialize
  def initialize
    initialize_black_bant
    @black_flug = false
  end
end

#==============================================================================
# ■ Spriteset_Battle
#------------------------------------------------------------------------------
#  バトル画面のスプライトをまとめたクラスです。このクラスは Scene_Battle クラ
# スの内部で使用されます。
#==============================================================================

class Spriteset_Battle
  alias update_black_bant update
  def update
    update_black_bant
    #if @battleback_sprite.tone.red != -TONE_MARGINAL
    if $game_temp.black_flug && @battleback_sprite.tone.red != -TONE_MARGINAL
      @battleback_sprite.tone.red -= BLACK_R
      @battleback_sprite.tone.green -= BLACK_G
      @battleback_sprite.tone.blue -= BLACK_B
    #elsif @battleback_sprite.tone.red != 0
    elsif !$game_temp.black_flug && @battleback_sprite.tone.red != 0
      @battleback_sprite.tone.red += BLACK_R
      @battleback_sprite.tone.green += BLACK_G
      @battleback_sprite.tone.blue += BLACK_B
    end
  end
end

#==============================================================================
# ■ Game_Battler (分割定義 3)
#------------------------------------------------------------------------------
#  バトラーを扱うクラスです。このクラスは Game_Actor クラスと Game_Enemy クラ
# スのスーパークラスとして使用されます。
#==============================================================================
#=begin
class Game_Battler
  alias attack_effect_black_bant attack_effect
  def attack_effect(attacker)
    if attacker.element_set.include?($data_system.elements.index(BLACK_ELEMENT))
      $game_temp.black_flug = true
    end
    attack_effect_black_bant(attacker)
  end
  
  alias skill_effect_black_bant skill_effect
  def skill_effect(user, skill)
    if skill.element_set.include?($data_system.elements.index(BLACK_ELEMENT))
      $game_temp.black_flug = true
    end
    skill_effect_black_bant(user, skill)
  end
  alias item_effect_black_bant item_effect
  def item_effect(item, user = $game_party.actors[0])
    if item.element_set.include?($data_system.elements.index(BLACK_ELEMENT))
      $game_temp.black_flug = true
    end
    item_effect_black_bant(item, user)
  end
end

#==============================================================================
# ■ Scene_Battle (分割定義 4)
#------------------------------------------------------------------------------
#  バトル画面の処理を行うクラスです。
#==============================================================================

class Scene_Battle
  alias update_phase4_step6_black_bant update_phase4_step6
  def update_phase4_step6(battler)
    if $game_temp.black_flug
      $game_temp.black_flug = false
    end
    update_phase4_step6_black_bant(battler)
  end
end
#==============================================================================
# ■ Scene_Battle (分割定義 1)
#------------------------------------------------------------------------------
#  バトル画面の処理を行うクラスです。
#==============================================================================

class Scene_Battle
  #--------------------------------------------------------------------------
  # ● メイン処理
  #--------------------------------------------------------------------------
  alias main_black_bant main
  def main
    # 戦闘前に暗転フラグをオフにしておく
    $game_temp.black_flug = false
    main_black_bant
    # 戦闘終了時に暗転フラグをオフにしておく
    $game_temp.black_flug = false
  end
end
#=end

博客:我的博客

Lv4.逐梦者

梦石
0
星屑
17921
在线时间
6301 小时
注册时间
2009-3-15
帖子
3510
发表于 2020-1-8 23:31:48 | 显示全部楼层
RUBY 代码复制打印
  1. #=begin
  2. class Game_Battler
  3.   alias attack_effect_black_bant attack_effect
  4.   def attack_effect(attacker)
  5.     if attacker.element_set.include?($data_system.elements.index(BLACK_ELEMENT)) or $game_switches[10086]
  6.       $game_temp.black_flug = true
  7.     end
  8.     attack_effect_black_bant(attacker)
  9.   end
  10.  
  11.   alias skill_effect_black_bant skill_effect
  12.   def skill_effect(user, skill)
  13.     if skill.element_set.include?($data_system.elements.index(BLACK_ELEMENT)) or $game_switches[10086]
  14.       $game_temp.black_flug = true
  15.     end
  16.     skill_effect_black_bant(user, skill)
  17.   end
  18.   alias item_effect_black_bant item_effect
  19.   def item_effect(item, user = $game_party.actors[0])
  20.     if item.element_set.include?($data_system.elements.index(BLACK_ELEMENT)) or $game_switches[10086]
  21.       $game_temp.black_flug = true
  22.     end
  23.     item_effect_black_bant(item, user)
  24.   end
  25. end

点评

那就改成1号开关吧..我给的脚本啊..除了10086超上限了根本没有会报错的要素..  发表于 2020-1-11 13:00
那就把$game_switches[10086]的10086改成1就是1号开关  发表于 2020-1-11 12:59
就是比如说1号开关打开,战斗背景就变暗,而不是通过给技能加属性变暗  发表于 2020-1-11 11:19
你怎么写的..  发表于 2020-1-10 12:00
出错了  发表于 2020-1-10 06:04

评分

参与人数 1+1 收起 理由
taeckle + 1 大神威武!

查看全部评分

回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
2049
在线时间
1377 小时
注册时间
2009-7-27
帖子
1383
 楼主| 发表于 2020-1-11 11:18:33 | 显示全部楼层
soulsaga 发表于 2020-1-8 23:31
#=begin
class Game_Battler
  alias attack_effect_black_bant attack_effect

  1. class Game_Battler
  2.   BLACK_ELEMENT = "暗转" # 戦闘背景を暗転化する時にこの名前の属性を設定して下さい
  3. end
  4. class Spriteset_Battle
  5. # 色調がどれぐらいまで変化するかの数値です。具体的にはイベントの色調変化で
  6. # 赤色が-TONE_MARGINALになるまで色調が変化します。
  7.   TONE_MARGINAL = 100
  8. # 1フレームで変化する赤、緑、青のカラーバランス調整値です。
  9. # 例えば赤なら1フレームで-BLACK_Rだけ変化します。
  10.   BLACK_R = 5
  11.   BLACK_G = 5
  12.   BLACK_B = 5
  13. # *注意:TONE_MARGINALはそれぞれのカラーバランス調整値で割り切れるように設定して下さい。
  14. end

  15. #==============================================================================
  16. # ■ Game_Temp
  17. #------------------------------------------------------------------------------
  18. #  セーブデータに含まれない、一時的なデータを扱うクラスです。このクラスのイン
  19. # スタンスは $game_temp で参照されます。
  20. #==============================================================================

  21. class Game_Temp
  22.   attr_accessor :black_flug               # ☆暗転用
  23.   alias initialize_black_bant initialize
  24.   def initialize
  25.     initialize_black_bant
  26.     @black_flug = false
  27.   end
  28. end

  29. #==============================================================================
  30. # ■ Spriteset_Battle
  31. #------------------------------------------------------------------------------
  32. #  バトル画面のスプライトをまとめたクラスです。このクラスは Scene_Battle クラ
  33. # スの内部で使用されます。
  34. #==============================================================================

  35. class Spriteset_Battle
  36.   alias update_black_bant update
  37.   def update
  38.     update_black_bant
  39.     #if @battleback_sprite.tone.red != -TONE_MARGINAL
  40.     if $game_temp.black_flug && @battleback_sprite.tone.red != -TONE_MARGINAL
  41.       @battleback_sprite.tone.red -= BLACK_R
  42.       @battleback_sprite.tone.green -= BLACK_G
  43.       @battleback_sprite.tone.blue -= BLACK_B
  44.     #elsif @battleback_sprite.tone.red != 0
  45.     elsif !$game_temp.black_flug && @battleback_sprite.tone.red != 0
  46.       @battleback_sprite.tone.red += BLACK_R
  47.       @battleback_sprite.tone.green += BLACK_G
  48.       @battleback_sprite.tone.blue += BLACK_B
  49.     end
  50.   end
  51. end

  52. #==============================================================================
  53. # ■ Game_Battler (分割定義 3)
  54. #------------------------------------------------------------------------------
  55. #  バトラーを扱うクラスです。このクラスは Game_Actor クラスと Game_Enemy クラ
  56. # スのスーパークラスとして使用されます。
  57. #==============================================================================
  58. class Game_Battler
  59.   alias attack_effect_black_bant attack_effect
  60.   def attack_effect(attacker)
  61.     if attacker.element_set.include?($data_system.elements.index(BLACK_ELEMENT)) or $game_switches[10086]
  62.       $game_temp.black_flug = true
  63.     end
  64.     attack_effect_black_bant(attacker)
  65.   end

  66.   alias skill_effect_black_bant skill_effect
  67.   def skill_effect(user, skill)
  68.     if skill.element_set.include?($data_system.elements.index(BLACK_ELEMENT)) or $game_switches[10086]
  69.       $game_temp.black_flug = true
  70.     end
  71.     skill_effect_black_bant(user, skill)
  72.   end
  73.   alias item_effect_black_bant item_effect
  74.   def item_effect(item, user = $game_party.actors[0])
  75.     if item.element_set.include?($data_system.elements.index(BLACK_ELEMENT)) or $game_switches[10086]
  76.       $game_temp.black_flug = true
  77.     end
  78.     item_effect_black_bant(item, user)
  79.   end
  80. end
  81. #==============================================================================
  82. # ■ Scene_Battle (分割定義 4)
  83. #------------------------------------------------------------------------------
  84. #  バトル画面の処理を行うクラスです。
  85. #==============================================================================

  86. class Scene_Battle
  87.   alias update_phase4_step6_black_bant update_phase4_step6
  88.   def update_phase4_step6(battler)
  89.     if $game_temp.black_flug
  90.       $game_temp.black_flug = false
  91.     end
  92.     update_phase4_step6_black_bant(battler)
  93.   end
  94. end
  95. #==============================================================================
  96. # ■ Scene_Battle (分割定義 1)
  97. #------------------------------------------------------------------------------
  98. #  バトル画面の処理を行うクラスです。
  99. #==============================================================================

  100. class Scene_Battle
  101.   #--------------------------------------------------------------------------
  102.   # ● メイン処理
  103.   #--------------------------------------------------------------------------
  104.   alias main_black_bant main
  105.   def main
  106.     # 戦闘前に暗転フラグをオフにしておく
  107.     $game_temp.black_flug = false
  108.     main_black_bant
  109.     # 戦闘終了時に暗転フラグをオフにしておく
  110.     $game_temp.black_flug = false
  111.   end
  112. end
复制代码

点评

抱歉,离开太久……又没有学过……忘得差不多了o(╥﹏╥)o  发表于 2020-1-13 14:55
我看楼主的在线时间注册时间都算老骨灰了吧..我以为会懂的..  发表于 2020-1-11 13:23
看了楼主问的问题, 得知楼主脚本基本没什么了解 ,所以教的話要詳細点  发表于 2020-1-11 13:17
所以开关你直接照抄10086?所以才报错吗..  发表于 2020-1-11 12:51

博客:我的博客
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
2049
在线时间
1377 小时
注册时间
2009-7-27
帖子
1383
 楼主| 发表于 2020-1-13 14:58:10 | 显示全部楼层
soulsaga 发表于 2020-1-8 23:31
#=begin
class Game_Battler
  alias attack_effect_black_bant attack_effect

这个是范例,就是开关开了之后一直是暗的,而不是使用技能时才变暗,最好是连同敌人的变暗。
qqq.7z (185.51 KB, 下载次数: 0)

博客:我的博客
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
17921
在线时间
6301 小时
注册时间
2009-3-15
帖子
3510
发表于 2020-1-13 15:19:28 | 显示全部楼层
本帖最后由 soulsaga 于 2020-1-13 15:23 编辑
爆焰 发表于 2020-1-13 14:58
这个是范例,就是开关开了之后一直是暗的,而不是使用技能时才变暗,最好是连同敌人的变暗。
...

你要连敌人都变暗就不要用这脚本了..

点评

事件脚本更改画面色调咯..  发表于 2020-1-13 19:06
那用哪一个?  发表于 2020-1-13 17:08
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
1266
在线时间
1768 小时
注册时间
2013-1-3
帖子
9364
发表于 2020-1-13 19:10:50 | 显示全部楼层
队伍——战斗事件——条件:开关[0001]为ON——更改画面色调
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
17921
在线时间
6301 小时
注册时间
2009-3-15
帖子
3510
发表于 2020-1-13 19:20:21 | 显示全部楼层
你难道要玩时停吗..这就要艾特

@灯笼菜刀王

点评

┭┮﹏┭┮不是,没有那个高大上,只是单纯想变暗而已  发表于 2020-1-13 19:52
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
17921
在线时间
6301 小时
注册时间
2009-3-15
帖子
3510
发表于 2020-1-13 21:13:47 | 显示全部楼层
那可以用这个脚本https://rpg.blue/thread-477564-1-1.html战斗中会执行並行的公共事件然后
更改画面色调就行..

点评

在线时间少的但是技术高的一般都是先事会编程那些, 如果直接来学Ruby说实话给我的话是全都不懂, 每个人的情况不一样,  发表于 2020-1-17 19:45
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
855
在线时间
30 小时
注册时间
2020-2-16
帖子
71
发表于 2020-2-17 18:07:46 | 显示全部楼层
公共事件 - 自动执行 - 1号开关(屏幕暗淡处理)
更改画面色调(value, value,  value, value),  @1
等待  1帧
开关操作 1号 OFF (关闭 1号开关)
QQ截图20200217180433.png
绚烂的烟火
回复 支持 反对

使用道具 举报

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

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2020-4-9 00:13

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表