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

Project1

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

[推荐问答] 请问状态是否可以叠加还是新状态取代前一状态?

[复制链接]

Lv1.梦旅人

梦石
0
星屑
65
在线时间
59 小时
注册时间
2015-7-31
帖子
34
跳转到指定楼层
1
发表于 2015-12-16 17:37:13 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

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

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

x

现在默认貌似是一个新状态取代旧的
怎么能让角色同时拥有多个buff或者debuff呢?

比如说给敌人一个破甲减去20%防御的debuff,然后又用了个幻惑减去20%命中debuff,而第二个debuff会把第一个破甲debuff代替掉;

如何让敌人受到的debuff同时存在,或则说是叠加?

同理己方的增益BUFF貌似也是新的会替掉旧的,如何让他们都显示出来?

求大大给个范例,指导下,谢谢了

评分

参与人数 2星屑 +135 收起 理由
myownroc + 100 推荐回答
RyanBern + 35 手动认可奖励

查看全部评分

Lv4.逐梦者

素材区好人

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

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

2
发表于 2015-12-16 17:58:02 | 只看该作者
本帖最后由 无忧谷主幻 于 2015-12-16 17:59 编辑

其实并没有抵消,只不过默认脚本最多只能显示一个已有的状态。想要显示全部已有的状态
RUBY 代码复制
  1. #==============================================================================
  2. # 本脚本来自[url]www.66RPG.com[/url],使用和转载请保留此信息
  3. #==============================================================================
  4. #==============================================================================
  5. # 多重状态     Ver. 1.1                 by Claimh
  6. #------------------------------------------------------------------------------
  7. # [url]http://www.k3.dion.ne.jp/~claimh/[/url]
  8. #==============================================================================
  9. class Window_Base < Window
  10.   #--------------------------------------------------------------------------
  11.   #  生成状态文字
  12.   #--------------------------------------------------------------------------
  13.   def make_battler_state_text_over3(battler, width, need_normal)
  14.     brackets_width = self.contents.text_size("[]").width
  15.     text = ""
  16.     text0 = ""
  17.     ret_text = ["",""]
  18.     for i in battler.states
  19.       if $data_states[i].rating >= 1
  20.         if text == ""
  21.           text = $data_states[i].name
  22.         else
  23.           new_text = text + "/" + $data_states[i].name
  24.           text_width = self.contents.text_size(new_text).width
  25.           if text_width > width - brackets_width
  26.             text0 = new_text  
  27.             text = ""
  28.             new_text = ""
  29.             text_width = 0
  30.           else
  31.             text = new_text  
  32.           end
  33.         end
  34.       end
  35.     end
  36.     if text == "" and text0 == ""
  37.       ret_text = ["[正常]", ""]
  38.     elsif text0 == ""
  39.       ret_text[0] = "[" + text + "]"
  40.       ret_text[1] = ""
  41.     else
  42.       ret_text[0] = "[" + text0 + "]"
  43.       if text != ""
  44.         ret_text[1] = "[" + text + "]"
  45.       else
  46.         ret_text[1] = ""
  47.       end
  48.     end
  49.     return ret_text
  50.   end
  51.   #--------------------------------------------------------------------------
  52.   # 描绘角色状态
  53.   #--------------------------------------------------------------------------
  54.   def draw_actor_state(actor, x, y, width = 120)
  55.     text = make_battler_state_text_over3(actor, width, true)
  56.     self.contents.font.color = actor.hp == 0 ? knockout_color : normal_color
  57.     if text[1] == ""
  58.       self.contents.draw_text(x-5, y, width+5, 32, text[0])
  59.     else
  60.       self.contents.font.size = 20
  61.       self.contents.draw_text(x-5, y - 15 , width+5, 32, text[0])
  62.       self.contents.draw_text(x-5, y + 8, width+5, 32, text[1])
  63.     end
  64.   end
  65. end
  66. #==============================================================================
  67. # 本脚本来自[url]www.66RPG.com[/url],使用和转载请保留此信息
  68. #==============================================================================

当然,你要抵消也可以,请在状态中设置。比如角色身中战斗不能后,会抵消掉所有状态

评分

参与人数 1星屑 +200 收起 理由
RyanBern + 200 认可答案

查看全部评分

回复 支持 反对

使用道具 举报

Lv4.逐梦者

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

开拓者

3
发表于 2015-12-16 22:13:08 | 只看该作者
建议使用状态图标脚本。
就是文字显示的,变成图标显示,可以显示更多。
搜索一下就有
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
65
在线时间
59 小时
注册时间
2015-7-31
帖子
34
4
 楼主| 发表于 2015-12-17 10:44:11 | 只看该作者
刚把你发脚本弄进去了~试了下也不会跟其他脚本冲突,基本解决了我的问题~多种状态的文字都能同时显示出来。非常感谢!

另外我想问下,状态动画的优先级是怎么样的?比如我用了蓄力,再用屏障,祈祷,默认的情况下是显示的蓄力的动画,蓄力状态回合结束后才显示祈祷的动画效果,我是想如何让动画的显示变成使用了哪个动画就优先显示哪个动画,比如用了蓄力就显示蓄力动画,再用了屏障就显示屏障动画?

假设屏障动画是3回合,如果结束了就显示蓄力动画(蓄力是6回合)以此类推~

再次谢谢大大帮助我,谢谢!
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
65
在线时间
59 小时
注册时间
2015-7-31
帖子
34
5
 楼主| 发表于 2015-12-17 10:44:48 | 只看该作者
无忧谷主幻 发表于 2015-12-16 17:58
其实并没有抵消,只不过默认脚本最多只能显示一个已有的状态。想要显示全部已有的状态
#================== ...

刚把你发脚本弄进去了~试了下也不会跟其他脚本冲突,基本解决了我的问题~多种状态的文字都能同时显示出来。非常感谢!

另外我想问下,状态动画的优先级是怎么样的?比如我用了蓄力,再用屏障,祈祷,默认的情况下是显示的蓄力的动画,蓄力状态回合结束后才显示祈祷的动画效果,我是想如何让动画的显示变成使用了哪个动画就优先显示哪个动画,比如用了蓄力就显示蓄力动画,再用了屏障就显示屏障动画?

假设屏障动画是3回合,如果结束了就显示蓄力动画(蓄力是6回合)以此类推~

再次谢谢大大帮助我,谢谢!
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
65
在线时间
59 小时
注册时间
2015-7-31
帖子
34
6
 楼主| 发表于 2015-12-17 10:47:32 | 只看该作者
本帖最后由 yufantasy 于 2015-12-17 12:24 编辑
yang1zhi 发表于 2015-12-16 22:13
建议使用状态图标脚本。
就是文字显示的,变成图标显示,可以显示更多。
搜索一下就有 ...


刚搜了下状态图标的脚本,但是都是VA VX的,另外有个XP的状态图标脚本,好像会报错,只能适用于那种敌人脚下显示血条的窗口,有没有直接在选择敌人后名字条状态文字处显示图标的脚本?

那样改的话是不是很复杂了?谢谢了!

QQ图片20151217121943.png (439.45 KB, 下载次数: 37)

QQ图片20151217121943.png
回复 支持 反对

使用道具 举报

Lv4.逐梦者

素材区好人

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

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

7
发表于 2015-12-17 12:21:55 | 只看该作者
yufantasy 发表于 2015-12-17 10:44
刚把你发脚本弄进去了~试了下也不会跟其他脚本冲突,基本解决了我的问题~多种状态的文字都能同时显示出来 ...

定量便是优先级,定量高的状态动画会覆盖定量低的
定量相同的场合,后一种状态动画会覆盖之前的

点评

用一个就行,看你喜欢用哪个  发表于 2015-12-17 12:52
利用之前你发的脚本可以改成显示图标吧?  发表于 2015-12-17 12:37
原来如此~谢谢大大  发表于 2015-12-17 12:33
回复 支持 反对

使用道具 举报

Lv4.逐梦者

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

开拓者

8
发表于 2015-12-17 12:36:15 | 只看该作者
ICONS下面放状态图标,名字是状态名字(毒.png)

脚本

点评

谢谢~完美解决了  发表于 2015-12-17 13:04

评分

参与人数 1星屑 +200 收起 理由
RyanBern + 200 认可答案

查看全部评分

回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-30 02:53

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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