由克希吧 关注:29贴子:3,564

MUGEN(HitDef)部分内容

只看楼主收藏回复

定义玩家攻击中的单个hit(属性).
如果玩家的Clsn1框(即红框/攻击框)与对手的Clsn2框(即兰框/受击框)接触,且HitDef被定义在这个特定时间点或之前,则将应用指定的效果.
这是一个较复杂的,但是最常用的控制器.单个HitDef仅对单个hit有效.
要使一个招式产生多次hit,你必须在攻击中触发多个HitDef.


IP属地:浙江1楼2025-09-26 14:27回复
    [State 0, HitDef]
    type = HitDef
    trigger1 =
    attr = S,NA ;SCA,NA,SA,HA,NP,SP,HP,NT,ST,HT
    hitflag = MAF ;HLAFD+-
    guardflag = MA ;HLA
    ;affectteam = E ;B,E,F
    animtype = light ;light,medium,hard,back,up,diagup
    air.animtype = light
    ;fall.animtype = Back
    ;priority = 4,Hit
    damage = 0,0
    pausetime = 0 ,0
    ;guard.pausetime = 0,0
    sparkno = S3000
    guard.sparkno = S3100
    sparkxy = 0,0
    hitsound = S1,0
    guardsound = S2,0
    ground.type = High ;Low,Trip,None
    ;air.type = High
    ground.slidetime = 0
    ;guard.slidetime = 0
    ground.hittime = 0
    ;guard.hittime = 0
    air.hittime = 20
    ;guard.ctrltime = 0
    ;guard.dist = 320
    ;yaccel = 0.5
    ground.velocity = 0,0
    ;guard.velocity = 0
    air.velocity = 0,0
    ;airguard.velocity = 0,0
    ;ground.cornerpush.veloff = 0
    ;air.cornerpush.veloff = 0
    ;down.cornerpush.veloff = 0
    ;guard.cornerpush.veloff = 0
    ;airguard.cornerpush.veloff = 0
    ;airguard.ctrltime = 0
    ;air.juggle = 0
    ;mindist = 0,0
    ;maxdist = 0,0
    ;snap = 0,0
    sprpriority = 1
    ;p1facing =
    p1getp2facing = 0
    ;p2facing =
    ;p1stateno =
    ;p2stateno =
    ;p2getp1state = 1
    ;forcestand = 0
    fall = 0
    ;fall.xvelocity = 0
    fall.yvelocity = -4.5
    fall.recover = 1
    fall.recovertime = 4
    fall.damage = 0
    ;air.fall = 0
    ;down.velocity = 0,0
    ;down.hittime = 0
    down.bounce = 0
    id = 0
    chainID = -1
    nochainID = -1
    hitonce = 1
    kill = 1
    guard.kill = 1
    fall.kill = 1
    numhits = 1
    ;getpower = 0,0
    ;givepower = 0,0
    palfx.time = 0
    ;palfx.mul =
    ;palfx.add =
    envshake.time = 0
    ;envshake.freq =
    ;envshake.ampl =
    ;envshake.phase =
    fall.envshake.time = 0
    ;fall.envshake.freq =
    ;fall.envshake.ampl =
    ;fall.envshake.phase =
    ;ignorehitpause =
    ;persistent =


    IP属地:浙江2楼2025-09-26 14:27
    收起回复
      2026-01-10 00:34:51
      广告
      不感兴趣
      开通SVIP免广告
      attr = hit_attribute (字符串型)

      这是攻击的属性.用来确定是否攻击可以击中P2.格式为:
      attr = arg1, arg2
      这里:arg1是"S","C","A"任意组合.
      类似于StateDef中的"statetype",这里说明是否攻击类型为站立,蹲下或者空中.
      arg2是由2字符组成的字符串.首字符是"N"(普通),"S"(特殊),"H"(超级)中的一个.
      第2个字符必须是"A"(普通攻击),"T"(投掷类攻击),"P"(飞行道具攻击)中一个.


      IP属地:浙江本楼含有高级字体3楼2025-09-26 14:28
      回复
        hitflag = hit_flags (字符串型)
        此参数说明如果P1要击中P2,则P2必须处于的状态类型.
        hit_flags是一个包含了下列组合的字符串
        :
        "H"(上段),"L"(下段),"A"(空中).
        "M"(中段)等于"HL".
        "F"作用于下落状态,如果包含了"F"将允许P1对处于空中下落状态的对手进行连击.
        "D"作用于"躺下"的时候,如果包含了"D"将允许P1击中躺在地上的对手.
        "H","L"或"A" (或"M")必须出现在hitflag字符串中.
        "+"和"-"是2个可选字符.
        如果加上了"+",则hit仅在别人处于受击状态时有效
        .
        这也许对chain-moves(招式连击)有用,而将不会对某些对手起作用,这些对手指的是没有被招式连击中第一招击中的对手.
        (上面这句话举例子说就是,连招中只有第1招击中了对手,第2招才能击中("+"字符用于此种情况下)
        .
        如果第1招没击中,即使第2招动作做出来,且红框与对手兰框接触,也不会判定击中对手(因为此时对手没有处于受击状态))
        如果加上了"-",则hit仅在玩家不处于受击状态时有效.
        你应该在投掷攻击和其他不想让P1能够连击的招式中使用"-".(KOF98中大部分的慢性投掷技都是这类判定)
        "+"和"-"是互斥的,即,不能同时使用.缺省hitflag默认值为"MAF".


        IP属地:浙江本楼含有高级字体4楼2025-09-26 14:29
        回复
          guardflag = hit_flags (字符串型)
          (感觉guardflag = guard_flags更形象)
          此参数决定P2要如何防御住这次攻击.guard_flags是一个包含了下列字符组合的字符串:
          "H"(上段),"L"(下段),"A"(空中)."M"(中段)等于"HL".
          缺省默认是一个empty(空的)字符串,意味着P2无法防御这次攻击.


          IP属地:浙江本楼含有高级字体5楼2025-09-26 14:30
          回复
            affectteam = team_type (字符串型)
            team_type指定HitDef能击中哪个队伍的玩家.
            使用 B 表示2个队伍(所有玩家),E 表示敌方队伍(对手)或者 F 表示友方队伍(你自己的队伍).
            默认为E.


            IP属地:浙江本楼含有高级字体6楼2025-09-26 14:30
            回复
              animtype = anim_type (字符串型)
              指的是当被击中时P2将进入的动画类型.
              从"light", "medium", "hard", "back", "up",或 "diagup"中选择.前3个(意思)是不言自明的(受 轻,中,重 攻击).
              "Back"是P2被打翻天时的动画."Up"应该在人物笔直向上被打到空中时使用(例如,被上勾拳).
              "DiagUp"应被用于人物被打到空中,向后,最终头着地. 默认值是"Light".


              IP属地:浙江本楼含有高级字体7楼2025-09-26 14:31
              回复
                air.animtype = anim_type (字符串型)
                同"animtype"参数相似,此动画类型设置的是P2在空中而不是地面.
                缺省默认值和"animtype"参数相同.


                IP属地:浙江本楼含有高级字体8楼2025-09-26 14:31
                回复
                  2026-01-10 00:28:51
                  广告
                  不感兴趣
                  开通SVIP免广告
                  fall.animtype = anim_type (字符串型)
                  同"animtype"参数相似,此动画类型设置P2在下落时被击中.
                  如果air.animtype是Up则fall.animtype默认是Up否则是Back.


                  IP属地:浙江本楼含有高级字体9楼2025-09-26 14:31
                  回复
                    priority = hit_prior (整型), hit_type (字符串型)
                    指定hit的优先级(优先顺序).高优先级的hit优先于低优先级的hit.
                    hit_prior的有效值是1-7,默认是4.

                    如果指定了hit_type则给出了hit的优先级类别.
                    有效的优先级类别是Dodge,Hit,Miss.
                    优先级类别决定了当相同hit优先级的P1和P2相互同时击中对方时的决定性特征.
                    P1 vs. P2 时的特征如下:

                    Hit vs. Hit: P1和P2同时击中对方.
                    Hit vs. Miss: P1击中,P2没击中.
                    Hit vs. Dodge: 都没击中.
                    Dodge vs. Dodge: 都没击中.
                    Dodge vs. Miss: 都没击中.
                    Miss vs. Miss: 都没击中.
                    在都没击中的情况下,各自的HitDef仍保持有效.
                    "Miss" 或 "Dodge" 通常用于投掷,因为这里P1和P2不应该能同时击中对手.
                    hit_type默认值是"Hit".


                    IP属地:浙江本楼含有高级字体10楼2025-09-26 14:32
                    回复
                      damage = hit_damage, guard_damage (整型, 整型)
                      hit_damage是P2被击中时的伤害值.可选的guard_damage参数是P2防御住攻击时的伤害值.
                      如果都忽略,则默认为0.


                      IP属地:浙江本楼含有高级字体11楼2025-09-26 14:32
                      回复
                        pausetime = p1_pausetime, p2_shaketime (整型, 整型)
                        这是hit时每个玩家将会停止(停顿)的时间(打击停顿,ignorehitpause就是针对这个参数).
                        p1_pausetime是冻结P1的时间,单位是游戏帧数.
                        p2_pausetime是在被击中后退前造成P2震动的时间.
                        缺省则默认为0,0.


                        IP属地:浙江本楼含有高级字体12楼2025-09-26 14:33
                        收起回复
                          guard.pausetime = p1_pausetime, p2_shaketime (整型, 整型)
                          同"pausetime"参数相似,如果攻击被防御住,这参数是使每个玩家停止的时间.
                          缺省默认和"pausetime"参数值相同.


                          IP属地:浙江本楼含有高级字体13楼2025-09-26 14:33
                          回复
                            sparkno = action_no (整型)
                            如果成功击中显示的火花动作号.要播放玩家的.air文件之外的火花(fightfx),在动作号前面加上S,例如"sparkno = S10".
                            缺省默认为玩家变量中设置的值.(在cns文件[Data]组下面)


                            IP属地:浙江本楼含有高级字体14楼2025-09-26 14:34
                            回复
                              2026-01-10 00:22:51
                              广告
                              不感兴趣
                              开通SVIP免广告
                              guard.sparkno = action_no (整型)
                              如果hit被防御住显示的火花动作号.要播放玩家的.air文件之外的火花(fightfx),在动作号前面加上S.
                              缺省默认为玩家变量中设置的值.(在cns文件[Data]组下面)


                              IP属地:浙江本楼含有高级字体15楼2025-09-26 14:35
                              回复