Project1
标题:
请问我这里到底哪里写错了,为什么跟我预想的不一样?
[打印本页]
作者:
新耀012478
时间:
2021-3-28 20:41
标题:
请问我这里到底哪里写错了,为什么跟我预想的不一样?
小怪的战斗行为重复了怎么办?
是这样,我让小怪的战斗完全根据我设定好的条件分歧来走了。2VS1
----------
大意是小怪A会不断使用麻痹直到主角被麻痹,一旦主角被麻痹或者MP不足就会进行普攻。
而一旦解除麻痹,或者MP恢复了但是主角还没麻痹就会继续麻痹,重复循环。
而小怪B则是不断使用提升麻痹成功率的技能,一旦检测到自身MP不足,或者小怪A的MP即将不足,就会开始回复。小怪B有个能回自身MP的技能,还有一个把自己的MP给别人的技能。所以是检测到小怪A的MP小于等于麻痹的MP消耗*2的时候就会开始行动。
-----------
然后我设置了两个事件,一个是第零回合,一个0+1X回合的两个事件,内容是一样的。结果出现错误,小怪第一个回合使用**。已经成功了(因为我把成功率变成100%了),但是第二回合还会进行**。然后第三回合才会攻击。然后**解除了也依然是攻击,然后下个回合才会再进行**。
简直就像是行动延迟了一个回合一样。
-----------
小怪A:普攻(条件:开关5/6/7打开,5:对手麻痹但是有MP不足的现象/6:对手麻痹/7:MP不足)
麻痹(条件:开关4打开:敌人尚未麻痹)
小怪B:普攻(条件:开关6打开)
提升麻痹成功率的技能(条件:开关3打开:MP足够对手没有麻痹)
回魔(条件:开关1/2打开,1:需要回自身MP/2:将MP传给小怪A)
-----------
敌群事件:(话说RPGMAKER不支持复数条件真的讨厌,哪怕只支持两个也好啊)
变量(以下称呼为variable),开关(以下称呼为switch)
**消耗=15MP,提升成功率也是15MP
variable1=MonsterA's MP
variable2=MonsterB's MP
switch1~7=off
if variable2≤15:
switch1=on
switch2~3=off
end
if variable1≤15:
switch2=on
switch1=on
switch3=off
else:
if variable1≤30:
switch1=on
switch2~3=off
else:
if variable2>15:
switch3=on
switch1~2=off
end
if Player1=Paralysis:
if switch1=on:
switch4~7=off
switch5=on
else:
switch1~7=off
switch6=on
end
else:
if variable<15:
switch7=on
switch4~6=off
else
switch4=on
switch5~7=off
end
if switch2=on then switch1=off
真是的,要是怪物行动支持变量的话,哪用的着这么麻烦,还要我一个一个去关。
作者:
新耀012478
时间:
2021-3-30 19:55
这bug真tm神奇!代码没有问题,是MZ有问题,我把战斗系统换掉,换成即时制(等待)以后这个bug就消失了!
欢迎光临 Project1 (https://rpg.blue/)
Powered by Discuz! X3.1