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

Project1

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

[已经解决] 【如何在菜单以及战斗中显示多重状态以及毒状态的改进】

[复制链接]

Lv1.梦旅人

梦石
0
星屑
55
在线时间
122 小时
注册时间
2011-2-7
帖子
150
跳转到指定楼层
1
发表于 2011-2-24 19:28:32 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
我并不是伸手党,在各大搜索网站搜索了一天还没有得到我想要的东西,因此来到这里向好心人求助。

希望有好人可以提供显示多重状态的脚本,或者高手帮助制作脚本,显示数目最少为4种状态,并且取消文字表述,使用图片代替显示当前状态。我的工程脚本十分繁杂,太多脚本容易冲突,因此希望是独立的多重状态显示脚本。

系统默认的毒每回合减少10%最大上限的生命,这一设计十分不合理,求修改毒伤害计算的方法,包括百分比与固定伤害数值的方法。

不求全部解答,只要好心人略懂或刚好有我需要的东西请伸出援手,在此感激不尽,并会在游戏中的感谢名单中加入好心人的网名或者是真名。

       再次表示真心的感谢。

Lv2.观梦者

虚構歪曲

梦石
0
星屑
364
在线时间
1198 小时
注册时间
2010-12-18
帖子
3928

贵宾

5
发表于 2011-2-27 11:48:44 | 只看该作者
后知后觉 发表于 2011-2-24 23:21
这是从《梦幻群侠传》中复制出来的《图标显示状态》
不知道有没有被修改过.所以最好在站内搜索发布帖使用原 ...

用这个来显示状态。
接着搜查后知后觉前辈的多个状态动画。
回复

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
107
在线时间
123 小时
注册时间
2010-8-13
帖子
100
4
发表于 2011-2-27 10:50:26 | 只看该作者
关键是可不可以把毒状态每回和减少的HP设定为伤害数值的百分比,想不通阿~~~
回复

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
6855
在线时间
1666 小时
注册时间
2008-10-29
帖子
6710

贵宾

3
发表于 2011-2-24 23:21:17 | 只看该作者
这是从《梦幻群侠传》中复制出来的《图标显示状态》
不知道有没有被修改过.所以最好在站内搜索发布帖使用原版.

  1. #==============================================================================
  2. # 本脚本来自www.66RPG.com,使用和转载请保留此信息
  3. # 欢迎访问www.66RPG.com
  4. # 梦想世界,在你手中
  5. #==============================================================================

  6. #==============================================================================
  7. # 图标显示状态 v1.0
  8. # By 叶子
  9. # Date 12-31-2005
  10. # 重定义类:Window_Base, Window_Help
  11. #==============================================================================
  12. # 脚本功能:
  13. # 实现战斗中和菜单中用图标显示状态,代替原来的文字显示。
  14. # 默认最多同时显示5个状态
  15. #------------------------------------------------------------------------------
  16. # 设置方法:
  17. # 一个状态对应的图标文件名为“状态的动画ID.png”
  18. # 例如某状态的动画ID为50,那么它的图标就是“Icons\50.png”
  19. # 如果找不到对应的文件,会报错 ◎_◎
  20. #==============================================================================

  21. # 注意,在ICON_STATE_IDS中写上需要带图标的状态ID
  22. # ICON_STATE_IDS是一个数组,数组的方法请参考帮助文件
  23. # 例如:
  24. # 只要1,5,8号状态带图标,就这样:ICON_STATE_IDS = [1,5,8]
  25. # 要20到50号状态带图标:ICON_STATE_IDS = 20..50

  26. ICON_STATE_IDS = 1..100

  27. #==============================================================================
  28. # ■ Window_Base
  29. #------------------------------------------------------------------------------
  30. #  游戏中全部窗口的超级类。
  31. #==============================================================================

  32. class Window_Base < Window
  33. #--------------------------------------------------------------------------
  34. # ● 描绘状态
  35. #     actor : 角色
  36. #     x     : 描画目标 X 坐标
  37. #     y     : 描画目标 Y 坐标
  38. #     width : 描画目标的宽
  39. #--------------------------------------------------------------------------
  40. def draw_actor_state(actor, x, y, width = 120)
  41.   state_size = 0
  42.   for state in actor.states
  43.     # 图标数量超出宽度就中断循环
  44.     if state_size >= width / 24
  45.       break
  46.     end
  47.     # 此状态不带图标就跳过
  48.     if !ICON_STATE_IDS.include?(state)
  49.       next
  50.     end
  51.     bitmap = RPG::Cache.icon($data_states[state].animation_id.to_s + ".png")
  52.     if actor.states_turn[state] >= $data_states[state].hold_turn/2
  53.       opacity = 255
  54.     else
  55.       opacity = 100
  56.     end
  57.     # 这里的图标大小默认是24x24,要改就改下面那个Rect.new(0, 0, 40, 40)
  58.     self.contents.blt(x + 42 * state_size, y  , bitmap, Rect.new(0, 0, 42, 40), opacity)
  59.     state_size += 1
  60.   end
  61. end
  62. end


  63. #==============================================================================
  64. # ■ Window_Help
  65. #------------------------------------------------------------------------------
  66. #  特技及物品的说明、角色的状态显示的窗口。
  67. #==============================================================================

  68. class Window_Help < Window_Base
  69. #--------------------------------------------------------------------------
  70. # ● 设置敌人
  71. #     enemy : 要显示名字和状态的敌人
  72. #--------------------------------------------------------------------------
  73. def set_enemy(enemy)
  74.   # 描绘状态图标
  75.   state_size = 0
  76.   for state in enemy.states
  77.     # 图标数量超出宽度就中断循环
  78.     if state_size >= width / 24
  79.       break
  80.     end
  81.     # 此状态不带图标就跳过
  82.     if !ICON_STATE_IDS.include?(state)
  83.       next
  84.     end
  85.     bitmap = RPG::Cache.icon($data_states[state].animation_id.to_s + ".png")
  86.     if enemy.states_turn[state] >= $data_states[state].hold_turn/2
  87.       opacity = 255
  88.     else
  89.       opacity = 100
  90.     end
  91.     self.contents.blt(70 + 42 * state_size, 0, bitmap, Rect.new(0, 0, 42, 40), opacity)
  92.     state_size += 1
  93.   end
  94.   # 描绘敌人名字
  95.   set_text(enemy.name, 1)
  96. end
  97. end

  98. class Game_Battler
  99. attr_reader :states_turn       # 声明状态剩余回合
  100. end

  101. #==============================================================================
  102. # 本脚本来自www.66RPG.com,使用和转载请保留此信息
  103. # 欢迎访问www.66RPG.com
  104. # 梦想世界,在你手中
  105. #==============================================================================




复制代码











你知道得太多了

回复

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
55
在线时间
122 小时
注册时间
2011-2-7
帖子
150
2
 楼主| 发表于 2011-2-24 19:54:39 | 只看该作者
回复 轩辕剑仙 的帖子

感谢提供帮助,毒的叠加效果确实很不错,不过,我更需要的是原理上的毒计算的修改方法。

回复

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-23 00:09

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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