| 赞 | 425 |
| VIP | |
| 好人卡 | |
| 积分 | 422 |
| 经验 | |
| 最后登录 | 2026-8-20 |
| 在线时间 | 6017 小时 |
- 梦石
- 0
- 星屑
- 42235
- 在线时间
- 6017 小时
- 注册时间
- 2006-11-10
- 回帖
- 6966
|
发表于 2026-5-24 11:33:06
|
显示全部楼层
本帖最后由 灯笼菜刀王 于 2026-5-24 11:42 编辑
有新问题就去开新贴
1,在 attack_effect ,skill_effect ,item_effect 三个地方, 找到 self.hp -= self.damage 在上面加一句
((a=(self.damage * 0.3).round ;self.damage = (self.damage * 0.7).round ;
self.pending_rebound_damage = "抵消#{a}") if self.state?(10086) and self.hp < self.maxhp / 2
不能用ailas, 要你确实的去找到位置改, 否则会影响基于hp的操作(例如之前的无忧谷的保命符) , 实际上你1号脚本就会有这个问题, 因为它的ailas是把血逆向加回伤害值,从而实现"免伤", 先不说它并没有考虑到伤害值是可以超过剩余血量的, 就说在默认扣血的时候, 保命符的判定就已经启动了, 之后把血加回去并不算"免伤" , 笑
2, 在 skill_effect, 找到 self.hp -= self.damage 在上面加一句
(a=self.damage / 2 ;self.damage += a ;self.pending_rebound_damage = "增伤#{a}") if user.state?(10086) and rand(100) < 50
这个可以ailas 但是用ailas的话, 它和其他ailas的上下顺序会导致效果的不同, 比如它在吸血下面, 那吸血就只会吸正常伤害, 增伤的部分无效
想ailas, 就在我的吸血吸蓝脚本里,第18行下面加上
(a=self.damage / 2 ;self.hp -= a ;self.damage += a ;self.pending_rebound_damage = "增伤#{a}") if user.state?(10086) and rand(100) < 50
3, 去用公共事件做, 在我的吸血吸蓝脚本里,第17行下面加上一句 $game_variables[1] = self.damage.is_a?(Numeric) ? self.damage : 0 这样1号变量就保存了当前伤害值(负数为加血, 0为MISS) 以后需要公共事件调用伤害值的都找这个变量即可
然后, 行动方播放动画写法
a = $scene.instance_variable_get(
:@active_battler)
a.animation_id = 10086
对象方播放动画的写法
a = $scene.instance_variable_get(
:@target_battlers)
a[0].animation_id = 10086
对象方弹伤害和扣血的写法
a = $scene.instance_variable_get(
:@target_battlers)
b = $game_variables[1] / 2
a[0].hp -= b
a[0].damage= b
a[0].damage_pop = true
自己去用条件分歧, 等待 等方式做效果吧 ,别告诉我用事件都搞不定你的脑洞, 笑
|
|