Project1
标题:
求助!我想写一个层数的状态
[打印本页]
作者:
215AA9
时间:
2023-11-19 18:11
标题:
求助!我想写一个层数的状态
纯小白,让gpt弄了个脚本。我的设想是有2.3.4.5四个状态分别区分层数1-4层,通过给予状态1来升层数,但一开始就卡住了……明明是很基础的东西……
class Game_Battler < Game_BattlerBase
def add_state(state_id)
super(state_id)
if state_id == 0
if self.state?(1)
self.add_state(2)
self.remove_state(1)
else
self.add_state(1)
end
end
end
end
我通过技能还是只添加了状态0,没有其他任何变化。另外可以的话也想请教一个被攻击后使状态往下降一级的脚本……不清楚这个“受到伤害”条件的表达方法……
作者:
srwjrevenger
时间:
2023-11-26 11:49
该○的gpt
rm的数据id默认都是从1开始,没有状态0
顺便状态1默认是即死/死亡... ...
这里应该用别名而不能用 super(state_id) ,倒不如说为什么你用它能跑起来呀喂!?
状态判定这样写之后会很麻烦的,学习一下数组和迭代吧?
无论如何小心写法,避免直接附加到最高层
受到伤害 条件的表达方法,
跟状态有关的推荐在#1处改
其它在#2处改
###
class Game_Battler < Game_BattlerBase
#--------------------------------------------------------------------------
# ● 受到伤害时解除状态 #1
#--------------------------------------------------------------------------
def remove_states_by_damage
states.each do |state|
if state.remove_by_damage && rand(100) < state.chance_by_damage
remove_state(state.id)
end
end
end
#--------------------------------------------------------------------------
# ● 被伤害时的处理 #2
#--------------------------------------------------------------------------
def on_damage(value)
remove_states_by_damage
charge_tp_by_damage(value.to_f / mhp)
end
end #
###
复制代码
欢迎光临 Project1 (https://rpg.blue/)
Powered by Discuz! X3.1