Project1

标题: 如何不依靠状态做出每回合自动回血或回魔的装备 [打印本页]

作者: 无忧谷主幻    时间: 2015-11-23 21:38
标题: 如何不依靠状态做出每回合自动回血或回魔的装备
因为用了多状态脚本,不想让角色身上附加太多状态。记得囧魂有个装备叫黑猫布偶,装备时并没有显示状态,我想做出类似的效果,请问应该怎么做
作者: 表情    时间: 2015-11-23 23:32
这样应该可以 只不过要攻击才能触发

[T}U98SIWJ1D(6VVU[70`%A.png (67.47 KB, 下载次数: 21)

[T}U98SIWJ1D(6VVU[70`%A.png

作者: sky40    时间: 2015-11-24 00:39
查找 “# 连续伤害”在下面加上

  1. if @active_battler.is_a?(Game_Actor)
  2.     if @active_battler.hp > 0 and @active_battler.armor4_id == 20 #20号饰品
  3.         @active_battler.hp += 10 #恢复10
  4.     end
  5. end
复制代码

作者: yang1zhi    时间: 2015-11-25 12:15
状态图标脚本不是可以设置哪几个不显示出来的吗
作者: yang1zhi    时间: 2015-11-25 12:51
RUBY 代码复制
  1. #==============================================================================
  2. # 本脚本来自[url]www.66RPG.com[/url],使用和转载请保留此信息
  3. # 欢迎访问[url]www.66RPG.com[/url]
  4. # 梦想世界,在你手中
  5. #==============================================================================
  6. #==============================================================================
  7. # 图标显示状态 v1.1
  8. # By 叶子
  9. # 9-30-2007 v1.1
  10. # 修正了描绘状态的一个致命BUG
  11. # 12-31-2005 v1.0
  12. # 重定义类:Window_Base, Window_Help
  13. #==============================================================================
  14. # 脚本功能:
  15. # 实现战斗中和菜单中用图标显示状态,代替原来的文字显示。
  16. # 默认最多同时显示5个状态
  17. #------------------------------------------------------------------------------
  18. # 设置方法:
  19. # 一个状态对应的图标文件名为“状态的动画ID”
  20. # 例如某状态的动画ID为50,那么它的图标就是“Icons\50.png”或“Icons\50.jpg”
  21. # 如果找不到对应的文件,会报错 ◎_◎
  22. #==============================================================================
  23. # 注意,在ICON_STATE_IDS中写上需要带图标的状态ID
  24. # ICON_STATE_IDS是一个数组,数组的方法请参考帮助文件
  25. # 例如:
  26. # 只要1,5,8号状态带图标,就这样:ICON_STATE_IDS = [1,5,8]
  27. # 要20到50号状态带图标:ICON_STATE_IDS = 20..50
  28. ICON_STATE_IDS = 1..100
  29. #==============================================================================
  30. # ■ Window_Base
  31. #------------------------------------------------------------------------------
  32. #  游戏中全部窗口的超级类。
  33. #==============================================================================
  34. class Window_Base < Window
  35.   #--------------------------------------------------------------------------
  36.   # ● 描绘状态
  37.   #     actor : 角色
  38.   #     x     : 描画目标 X 坐标
  39.   #     y     : 描画目标 Y 坐标
  40.   #     width : 描画目标的宽
  41.   #--------------------------------------------------------------------------
  42.   def draw_actor_state(actor, x, y, width = 120)
  43.     state_size = 0
  44.     for state in actor.states
  45.       # 图标数量超出宽度就中断循环
  46.       if state_size >= width / 24
  47.         break
  48.       end
  49.       # 此状态不带图标就跳过
  50.       if !ICON_STATE_IDS.include?(state)
  51.         next
  52.       end
  53.       bitmap = RPG::Cache.icon($data_states[state].name + ".png")
  54.       if actor.states_turn[state] >= $data_states[state].hold_turn/2
  55.         opacity = 255
  56.       else
  57.         opacity = 100
  58.       end
  59.       # 这里的图标大小默认是24x24,要改就改下面那个Rect.new(0, 0, 24, 24)
  60.       self.contents.blt(x + 24 * state_size, y + 4, bitmap, Rect.new(0, 0, 24, 24), opacity)
  61.       state_size += 1
  62.     end
  63.   end
  64. end
  65. #==============================================================================
  66. # ■ Window_Help
  67. #------------------------------------------------------------------------------
  68. #  特技及物品的说明、角色的状态显示的窗口。
  69. #==============================================================================
  70. class Window_Help < Window_Base
  71.   #--------------------------------------------------------------------------
  72.   # ● 设置敌人
  73.   #     enemy : 要显示名字和状态的敌人
  74.   #--------------------------------------------------------------------------
  75.   def set_enemy(enemy)
  76.     @text = ""
  77.     # 描绘敌人名字
  78.     set_text(enemy.name, 1)
  79.     # 描绘状态图标
  80.     state_size = 0
  81.     for state in enemy.states
  82.       # 图标数量超出宽度就中断循环
  83.       if state_size >= 5
  84.         break
  85.       end
  86.       # 此状态不带图标就跳过
  87.       if !ICON_STATE_IDS.include?(state)
  88.         next
  89.       end
  90.       bitmap = RPG::Cache.icon($data_states[state].name + ".png")
  91.       if enemy.states_turn[state] >= $data_states[state].hold_turn/2
  92.         opacity = 255
  93.       else
  94.         opacity = 100
  95.       end
  96.       self.contents.blt(70 + 24 * state_size, 0, bitmap, Rect.new(0, 0, 24, 24), opacity)
  97.       state_size += 1
  98.     end
  99.   end
  100. end
  101. class Game_Battler
  102.   attr_reader :states_turn       # 声明状态剩余回合
  103. end
  104. #==============================================================================
  105. # 本脚本来自[url]www.66RPG.com[/url],使用和转载请保留此信息
  106. # 欢迎访问[url]www.66RPG.com[/url]
  107. # 梦想世界,在你手中
  108. #==============================================================================

作者: 无忧谷主幻    时间: 2015-11-25 21:52
本帖最后由 无忧谷主幻 于 2015-11-25 22:44 编辑
yang1zhi 发表于 2015-11-25 12:51
#==============================================================================
# 本脚本来自www.66R ...






作者: 无忧谷主幻    时间: 2015-11-25 23:04
本帖最后由 无忧谷主幻 于 2015-11-25 23:05 编辑
sky40 发表于 2015-11-24 00:39
查找 “# 连续伤害”在下面加上

我上工程吧
Project1.zip (201.57 KB, 下载次数: 41)

补充:
忘了已经回复过1楼了


作者: sky40    时间: 2015-11-26 12:48
装备20号饰品“黑猫布偶”的工程

Project1.rar

187.15 KB, 下载次数: 66


作者: 无忧谷主幻    时间: 2015-11-26 13:47
sky40 发表于 2015-11-26 12:48
装备20号饰品“黑猫布偶”的工程

看到了,不过为什么当黑猫布偶不是饰品时就失去作用?







欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1