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

Project1

 找回密码
 注册会员
搜索
查看: 2820|回复: 8
打印 上一主题 下一主题

[已经解决] 如何不依靠状态做出每回合自动回血或回魔的装备

[复制链接]

Lv4.逐梦者

素材区好人

梦石
3
星屑
7532
在线时间
3543 小时
注册时间
2011-7-21
帖子
2284

极短24参与极短23参与极短22参与极短21参与

跳转到指定楼层
1
发表于 2015-11-23 21:38:41 | 只看该作者 |只看大图 回帖奖励 |正序浏览 |阅读模式

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

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

x
因为用了多状态脚本,不想让角色身上附加太多状态。记得囧魂有个装备叫黑猫布偶,装备时并没有显示状态,我想做出类似的效果,请问应该怎么做

评分

参与人数 1星屑 +35 收起 理由
RyanBern + 35 手动认可奖励

查看全部评分

Lv1.梦旅人

梦石
0
星屑
50
在线时间
710 小时
注册时间
2013-7-26
帖子
52
来自 8楼
发表于 2015-11-26 12:48:52 | 只看该作者
装备20号饰品“黑猫布偶”的工程

Project1.rar

187.15 KB, 下载次数: 65

评分

参与人数 2星屑 +150 梦石 +1 收起 理由
无忧谷主幻 + 150 忘了给糖了
RyanBern + 1 认可答案

查看全部评分

回复 支持 0 反对 1

使用道具 举报

Lv4.逐梦者

素材区好人

梦石
3
星屑
7532
在线时间
3543 小时
注册时间
2011-7-21
帖子
2284

极短24参与极短23参与极短22参与极短21参与

9
 楼主| 发表于 2015-11-26 13:47:16 | 只看该作者
sky40 发表于 2015-11-26 12:48
装备20号饰品“黑猫布偶”的工程

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


点评

你这个有插件改过装备种类了,把armor4_id改成对应的就行  发表于 2015-11-26 14:48
weapon_id 武器ID;armor1_id 盾ID ;armor2_id 头防具ID;armor3_id 身体体防具ID;armor4_id装饰品ID 根据种类 改@active_battler.armor3_id == 20 这句  发表于 2015-11-26 14:46
回复 支持 反对

使用道具 举报

Lv4.逐梦者

素材区好人

梦石
3
星屑
7532
在线时间
3543 小时
注册时间
2011-7-21
帖子
2284

极短24参与极短23参与极短22参与极短21参与

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

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

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

点评

如果黑猫布偶是饰品的话 ,armor4_id == 20里的,这个20替换成对应“黑猫布偶”的饰品ID就行  发表于 2015-11-26 12:42
weapon_id 武器ID;armor1_id 盾ID ;armor2_id 头防具ID;armor3_id 身体体防具ID;armor4_id装饰品ID  发表于 2015-11-26 12:38
数据默认20号是防具,@active_battler.armor3_id == 20 #20号身体防具  发表于 2015-11-26 12:38
回复 支持 反对

使用道具 举报

Lv4.逐梦者

素材区好人

梦石
3
星屑
7532
在线时间
3543 小时
注册时间
2011-7-21
帖子
2284

极短24参与极短23参与极短22参与极短21参与

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





点评

虽然好了,但看了效果,最终决定还是不用了。不过还是感谢回答  发表于 2015-11-25 23:06
沉默.PNG  发表于 2015-11-25 22:44
所以如果一个状态叫沉默,那么图标名应该叫什么  发表于 2015-11-25 22:41
你注意看脚本你会发现,这个脚本已经被改成(状态名.PNG)了。我找到时就被改过,也可以改回去,不过我发现按名字的更稳定。  发表于 2015-11-25 22:33
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
12157
在线时间
4435 小时
注册时间
2014-4-11
帖子
5955

开拓者

5
发表于 2015-11-25 12:51:25 | 只看该作者
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. #==============================================================================

评分

参与人数 1星屑 +200 收起 理由
无忧谷主幻 + 200 最终决定用不到了

查看全部评分

回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
12157
在线时间
4435 小时
注册时间
2014-4-11
帖子
5955

开拓者

4
发表于 2015-11-25 12:15:54 | 只看该作者
状态图标脚本不是可以设置哪几个不显示出来的吗

点评

具体怎么做?  发表于 2015-11-25 12:46
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
710 小时
注册时间
2013-7-26
帖子
52
3
发表于 2015-11-24 00:39:16 | 只看该作者
查找 “# 连续伤害”在下面加上

  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
复制代码

点评

回血是 .hp += 10 扣血是.hp -= 10 也可能是带有中毒状态造成扣血  发表于 2015-11-24 23:53
为何变成每回合扣血  发表于 2015-11-24 22:15
Scene_Battle 4 里 连续伤害的下面 if @active_battler.hp > 0 and @active_battler.slip_damage? 的上面,mp的话改成 @active_battler.sp += 10  发表于 2015-11-24 22:05
1,需要插入到哪2,MP呢?  发表于 2015-11-24 00:52
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
137 小时
注册时间
2015-10-15
帖子
62
2
发表于 2015-11-23 23:32:05 | 只看该作者
这样应该可以 只不过要攻击才能触发

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

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

点评

那就在物品或防御或技能都加上这个  发表于 2015-11-24 20:57
如果是角色使用物品或防御呢?  发表于 2015-11-23 23:38
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-26 05:07

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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