【自作】简易时止型gametime%x=n式回复抑制模板(包含简易敌回复频率调查及解说)

[Statedef -2];调查计测部分


......


[State 0, VarSet]

type = VarSet

trigger1 = !ishelper

var(b) = var(a);记录上一F敌生命值

ignorehitpause = 1


[State 0, VarSet]

type = VarSet

trigger1 = !ishelper

var(a) = enemynear,life;记录当前时刻敌生命值

ignorehitpause = 1


[State 0, VarSet]

type = VarSet

triggerall = !ishelper

trigger1 = var(a) > var(b)

trigger1 = var(b) > 0

trigger1 = !var(c)

var(c) = gametime - 1;记录敌第一次回复时的gametime

ignorehitpause = 1


[State 0, VarSet]

type = VarSet

triggerall = !ishelper

trigger1 = var(a) > var(b)

trigger1 = var(b) > 0

trigger1 = !!var(c)

trigger1 = gametime - 1 > var(c)

trigger1 = !var(d)

var(d) = gametime - 1;记录敌第二次回复时的gametime

ignorehitpause = 1


......


[Statedef XXXXXX];时止解除用helper(回复抑制部分)


......


[State ]

type = Pause

triggerall = IsHelper

triggerall = (root,var(d))%(root,var(c)) = 0;余数为0,说明n=0

trigger1 = root,var(c) > 0 && root,var(d) > 0

trigger1 = (gametime + 1)%(root,var(c)) = 0

time = 2

movetime = 2

ignorehitpause = 1


[State ]

type = Superpause

triggerall = IsHelper

triggerall = (root,var(d))%(root,var(c)) = 0;余数为0,说明n=0

trigger1 = root,var(c) > 0 && root,var(d) > 0

trigger1 = (gametime + 1)%(root,var(c)) = 0

anim = -1

time = 2

movetime = 2

darken = 0

p2defmul = 1

unhittable = 0

ignorehitpause = 1


[State ]

type = Pause

triggerall = IsHelper

triggerall = (root,var(d))%(root,var(c)) != 0;余数不为0,说明n!=0

trigger1 = root,var(c) > 0 && root,var(d) > 0

trigger1 = (gametime + 1)%(root,var(d) - root,var(c)) = root,var(c)

time = 2

movetime = 2

ignorehitpause = 1


[State ]

type = Superpause

triggerall = IsHelper

triggerall = (root,var(d))%(root,var(c)) != 0;余数不为0,说明n!=0

trigger1 = root,var(c) > 0 && root,var(d) > 0

trigger1 = (gametime + 1)%(root,var(d) - root,var(c)) = root,var(c)

anim = -1

time = 2

movetime = 2

darken = 0

p2defmul = 1

unhittable = 0

ignorehitpause = 1


...


解说:无时止解除的player被时止时不执行控制器但gametime依然随时间增加,故此。

设一自然常数a,则由gametime%x=n推导出a*x+n=gametime。

分别令a=0和a=1,得到一组二元一次方程:

n=Gametime;x+n=GAMETIME

解方程组得x=GAMETIME-Gametime(Gametime为第一次回复时的记录,GAMETIME为第二次回复时的记录)

由于n可能为0且gametime为0时生命值不方便记录,以上述方法计测时应当判断GAMETIME是否为Gametime的倍数。若是则按gametime%x=0式处理。

由于mugen的运行顺序是p1>>p2>>p1helper>>p2helper,因此p2的gametime要比p1的gametime慢一F,比p1的helper快一F。

暂无评论
根据相关规定,发布评论前必须绑定手机前往绑定
你,确定要这么做吗?
正在处理中...