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

Project1

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

[已经解决] 无敌状态

[复制链接]

Lv3.寻梦者

梦石
0
星屑
3186
在线时间
1863 小时
注册时间
2010-6-19
帖子
1205
跳转到指定楼层
1
发表于 2022-6-26 14:32:10 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

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

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

x
如何做一个状态,有该状态的角色无法攻击敌人,也不会受到敌人的伤害~

Lv5.捕梦者

梦石
24
星屑
7022
在线时间
247 小时
注册时间
2020-12-4
帖子
306

极短24获奖极短23获奖极短22获奖

2
发表于 2022-6-26 21:58:27 | 只看该作者
本帖最后由 纯属小虫 于 2022-6-28 12:52 编辑

第一,角色无法攻击敌人
第一种方法比较简单,就是直接在对应状态里选择“什么都不做”,就行了
但不知道你所谓的“无法攻击敌人”是不是这个意思
如果要实现无法使用“攻击”,以及一切“攻击技能”,那估计有的调的了....
有一个思路,可能要在技能的can_use?里面动手脚,添加条件:actor拥有这个状态,且技能的威力>0,则该技能判定不可使用

第二,不会受到敌人的伤害
如果只是“不会受到敌人攻击或技能的伤害”
在Game_Battler 3 里面找到 “HP 的伤害计算”注释 ————注意,有三处这个判定::一个是普通攻击判定,一个是特技判定,一个是使用物品判定;这种情况应该只要改前两者的就行
self.hp -= self.damage
在其【前面】添加  

if self.states.include?(状态id)
    self.damage = 0
end
如果还要添加,毒之类的持续伤害免疫的话
还要在slip_damage_effect 定义(应用连续伤害效果)里修改
在self.hp -= self.damage 之前添加
if self.states.include?(状态id)
    self.damage = 0
end

如果不想显示伤害数字或者想要魔改伤害数字的话
把红字部分改成  self.damage = ""self.damage = "I am your dad!"
然后把橙字改成 self.hp -= self.damage unless self.damage.is_a?(String)

如果还要考虑是否对【恢复】性质的技能免疫的话
则对 self.damage 再进行一个>=0 和 <0 的判断;
self.damage >=0 的时候才会执行
if self.states.include?(状态id)
    self.damage = 0
end
这样一来,无敌状态不会扣血,但是能够回血

点评

可以了,感谢!  发表于 2022-6-28 14:13
我上次忽略的恢复技能的情况,后面补上了!  发表于 2022-6-28 11:19
那你可以把self.damage= 0 改成 self.damage = "" 或者 self.damage = "I am your dad!" self.hp -= self.damage 同行后面跟上unless self.damage.is_a(String)  发表于 2022-6-28 11:14
这样做是打不出伤害了,但是会显示伤害数字0,能不能把这个0弄成看不见  发表于 2022-6-27 18:25

评分

参与人数 3星屑 +80 +3 收起 理由
RyanBern + 80 + 1 认可答案
taeckle + 1 大神威武!
小怪兽奇奇侠 + 1 精品文章

查看全部评分

回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
3186
在线时间
1863 小时
注册时间
2010-6-19
帖子
1205
3
 楼主| 发表于 2022-6-28 12:40:49 | 只看该作者
纯属小虫 发表于 2022-6-26 21:58
第一,角色无法攻击敌人
第一种方法比较简单,就是直接在对应状态里选择“什么都不做”,就行了
但不知道你 ...

脚本错误

         # 当身上有7号状态【封印】
         if self.states.include?(7)
           # 设置伤害为0
           self.damage = "I am your dad!"#0
         end

         # 设置伤害  
         self.hp -= self.damage unless self.damage.is_a(String)
       end

点评

抱歉,忘记加?了_______ is_a?  发表于 2022-6-28 12:51
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-4-29 14:11

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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