Jump to content

Werewood

Author
  • Posts

    1,233
  • Joined

  • Last visited

Posts posted by Werewood

  1. A Jurassic Dragonfly in your house - what will your reaction be?

    ** if you have a Dragonfly-phobia then you have been just warned!!!!! **

    l9o1MoV.jpg

  2. Elecbyte is right hereS7yKgw7.png

     

    By the way, this is what I want to have in the (possible?) future MUGEN1.x updates:

    - recursive redirection (e.g., "root,target,time") is not supported  ====>>> support it now d@mn it!

    - add ownpal parameter to Projectile sctrl  ====>>> add it now d@mn it!

    - the depreicated helpertype in the Helper sctrl  ====>>> re-do this parameter now d@mn it! 

      and add more Helper types and add a new Trigger called just "HelperType"!

    - add angle manipulations to the Explod sctrl  ====>>> I am tired of using Helper for complicated VFXs
      and not to mention MUGEN1.0 with many Helpers with angle manipulations only makes it lag like heck......d@mn it!

    - multiple SFFs support (i.e. normals.sff, specials.sff, supers.sff, portraits.sff, effects.sff,5xxx.sff, custom_get_hits.sff..etc.) 

      ====>>> transformation made better especially custom get hits anims........d@mn it!

    - probably many more..............d@mn it!

  3. I don't know perhaps it is just me - thinking that KFX Tifa sprites look better than Yamakichi's.  kayui UMA used KFX Tifa sprites to have mugenized a Tifa but I think kayui UMA's version feels incomplete.  Since waving_blow made KFX Tifa sprites open-sourced so everybody can make his/her/its version for MUGEN.  Perhaps some day I can try to mugenize my own version of Tifa, by using waving_blow's open-sourced KFX Tifa sprites.........

  4. thats quite rude but since its cvs artist I wish she spent more time on his stuff. she could do so much better than she is.

     

    she? his? I am confused......... ti1TeC3.png

     

    Only if she/he used KFX Tifa sprites..............

  5. I think you need only one Statedef 199 for both P1 and P2,

     

    and this:

    [state 0, PosSet]
    type = PosSet
    trigger1 = time = 0
    x = 70
    y = 0
    ;ignorehitpause =
    ;persistent =

     

    changed to this:

    [state 0, PosSet]
    type = PosSet
    trigger1 = time = 0
    x = 70*Facing
    y = 0
    ;ignorehitpause =
    ;persistent =

  6. Oh Orochi Herman's MUGEN stuff!  Good old classic MUGEN pioneer he was!

     

    Which also means, very tricky MUGEN stuff of his!

     

    My half-assed (imperfect) solution to your problem:

     

    Open constant.cns and find these lines of MUGEN code:
     

    ; Black Surge
    
    [State haha]
    type = VarAdd
    triggerall = P1Name = "Orochi"
    triggerall = AuthorName = "Orochi Herman"
    trigger1 = var(4) = [1,81]
    var(4) = 1
    ignorehitpause = 1
    supermovetime = 0
    pausemovetime = 0
    
    [State haha]
    type = VarAdd
    triggerall = P1Name = "Orochi"
    triggerall = AuthorName = "Orochi Herman"
    trigger1 = var(4) = 1
    trigger2 = var(4) = 18
    trigger3 = var(4) = 24
    trigger4 = var(4) = 30
    trigger5 = var(4) = 36
    trigger6 = var(4) = 42
    trigger7 = var(4) = 48
    trigger8 = var(4) = 54
    trigger9 = var(4) = 60
    trigger10 = var(4) = 66
    trigger11 = var(4) = 72
    var(5) = 1
    ignorehitpause = 1
    supermovetime = 0
    pausemovetime = 0
    
    [State haha]
    type = VarAdd
    triggerall = P1Name = "Orochi"
    triggerall = AuthorName = "Orochi Herman"
    trigger1 = var(4) = [1,81]
    var(7) = 1
    
    [State haha]
    type = VarAdd
    triggerall = P1Name = "Orochi"
    triggerall = AuthorName = "Orochi Herman"
    trigger1 = var(7) = 1
    fvar(4) = 1
    
    [State 210, Explod]
    type = Explod
    triggerall = P1Name = "Orochi"
    triggerall = AuthorName = "Orochi Herman"
    trigger1 = var(7) = 1
    trigger2 = var(4) = 18
    trigger3 = var(4) = 24
    trigger4 = var(4) = 30
    trigger5 = var(4) = 36
    trigger6 = var(4) = 42
    trigger7 = var(4) = 48
    trigger8 = var(4) = 54
    trigger9 = var(4) = 60
    trigger10 = var(4) = 66
    trigger11 = var(4) = 72
    anim  = IfElse(var(5) = 1, 110001, 1105 + (var(58) != [1,4]))
    postype = p1
    pos = Ceil((16 + (32 * var(5))) * Const(size.xscale)), Ceil(-108 * Const(size.yscale))
    ; (var(6) - backedgedist) +
    ignorehitpause = 1
    ownpal = 1
    ;removetime = -1
    sprpriority = 2
    bindtime = 1
    scale = Const(size.xscale), Const(size.yscale)
    
    [State , Projectile0]
    type = Projectile
    triggerall = P1Name = "Orochi"
    triggerall = AuthorName = "Orochi Herman"
    trigger1 = var(7) = 1
    projid = 1105; + var(1)
    attr = A,SP
    hitflag = MAFP
    guardflag = M
    ;affectteam = E
    animtype = Hard
    air.animtype = Up
    ;fall.animtype = DiagUp
    priority = 7,hit
    damage = Ceil((140 * fvar(3)) * fvar(4)), Ceil((20 * fvar(3)) * fvar(4))
    pausetime = 0,13
    guard.pausetime = 0,13
    sparkno = -1;3
    guard.sparkno = -1;42
    ;sparkxy = ceil(10 * const(size.xscale)),ceil(16 * const(size.yscale))
    ;hitsound = S0,2
    ;guardsound = S0,21
    ground.type = High
    ;air.type = Up
    ground.slidetime = 12
    guard.slidetime = 12;6;20
    ground.hittime = 16;25
    ;air.hittime = 20
    ;guard.hittime = 0
    ;guard.ctrltime = 0
    ;guard.dist = 0
    ;yaccel = 0
    ground.velocity = -6
    ;guard.velocity = 0,0
    ;air.velocity = -6
    ;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 = 1;5
    ;mindist = 0,0
    ;maxdist = 0,0
    ;snap = 0,0
    ;sprpriority = 1
    ;p1facing = 0
    ;p1getp2facing = 0
    ;p2facing = 0
    ;p2getp1state = 0
    ;forcestand = 0
    ;fall = 0
    fall.xvelocity = -3.27272725105286
    fall.yvelocity = -3.25555985694885
    ;fall.recover = 0
    ;fall.recovertime = 4
    ;fall.damage = 0
    air.fall = 1
    ;down.velocity = 0,0
    ;down.hittime = 0
    ;down.bounce = 0
    ;ID = 0
    ;chainID = 0
    ;nochainID = -1
    ;hitonce = 0
    ;kill = 0
    ;guard.kill = 1
    ;fall.kill = 1
    ;numhits = 1
    getpower = 63 * (var(48) != [5,6]), 63 * (var(48) != [5,6])
    givepower = 15 * (var(48) != [5,6]), 15 * (var(48) != [5,6])
    ;palfx.time = 0
    ;palfx.mul = 256,256,256
    ;palfx.add = 0,0,0
    ;envshake.time = 0
    ;envshake.freq = 60
    ;envshake.ampl = -4
    ;envshake.phase = 90
    ;projID = 0
    projanim = IfElse(var(5) = 1, 110002, 1110 +  (var(58) != [1,4]))
    projhitanim = IfElse(var(5) = 1, 110002, 1110 +  (var(58) != [1,4]))
    projremanim = IfElse(var(5) = 1, 110002, 1110 +  (var(58) != [1,4]))
    projcancelanim = IfElse(var(5) = 1, 110002, 1110 +  (var(58) != [1,4]))
    ;projscale = 1,1
    ;projremove = 1
    projremovetime = IfElse(var(5) = 1, 25, 9)
    ;velocity = 0,0
    ;remvelocity = 0,0
    ;accel = 0,0
    ;velmul = 1
    ;projhits = 1
    ;projmisstime = 0
    projpriority = 7
    ;projsprpriority = 3
    ;projedgebound = 40
    ;projstagebound = 40
    ;projheightbound = -240,1
    ;offset = ceil(ifelse((Helper(1105), time = 0), 32 * (Helper(1105), var(1)), 32) * const(size.xscale)), ceil(-108 * const(size.yscale))
    ;offset = ifelse(var(4) < 18, 32, 32 * var(5)), ceil(-108 * const(size.yscale))
    offset = Ceil((var(6) + (32 * var(5))) * Const(size.xscale)), Ceil(-108 * Const(size.yscale))
    postype = Back
    projshadow = -1,-1,-1
    supermovetime = 0
    pausemovetime = 0
    persistent = 0
    p2facing = 1
    
    [State , Projectile0]
    type = Projectile
    triggerall = P1Name = "Orochi"
    triggerall = AuthorName = "Orochi Herman"
    trigger1 = var(4) = 18
    trigger2 = var(4) = 24
    trigger3 = var(4) = 30
    trigger4 = var(4) = 36
    trigger5 = var(4) = 42
    trigger6 = var(4) = 48
    trigger7 = var(4) = 54
    trigger8 = var(4) = 60
    trigger9 = var(4) = 66
    trigger10 = var(4) = 72
    id = 1105; + var(1)
    attr = A,SP
    hitflag = MAFP
    guardflag = M
    ;affectteam = E
    animtype = Hard
    air.animtype = Up
    ;fall.animtype = DiagUp
    ;priority = 4,hit
    damage = Ceil((140 * fvar(3)) * fvar(4)), Ceil((20 * fvar(3)) * fvar(4))
    pausetime = 0,12
    guard.pausetime = 0,12
    sparkno = -1;3
    guard.sparkno = -1;42
    ;sparkxy = ceil(10 * const(size.xscale)),ceil(16 * const(size.yscale))
    ;hitsound = S0,2
    ;guardsound = S0,21
    ground.type = High
    ;air.type = High
    ground.slidetime = 12
    guard.slidetime = 12;6;20
    ground.hittime = 16;25
    ;air.hittime = 20
    ;guard.hittime = 0
    ;guard.ctrltime = 0
    ;guard.dist = 0
    ;yaccel = 0
    ground.velocity = -6
    ;guard.velocity = 0,0
    air.velocity = -6
    ;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 = 1;5
    ;mindist = 0,0
    ;maxdist = 0,0
    ;snap = 0,0
    ;sprpriority = 1
    ;p1facing = 0
    ;p1getp2facing = 0
    ;p2facing = 0
    ;p2getp1state = 0
    ;forcestand = 0
    ;fall = 0
    fall.xvelocity = -3.27272725105286
    fall.yvelocity = -3.25555985694885
    ;fall.recover = 0
    ;fall.recovertime = 4
    ;fall.damage = 0
    air.fall = 1
    ;down.velocity = 0,0
    ;down.hittime = 0
    ;down.bounce = 0
    ;ID = 0
    ;chainID = 0
    ;nochainID = -1
    ;hitonce = 0
    ;kill = 0
    ;guard.kill = 1
    ;fall.kill = 1
    ;numhits = 1
    getpower = 63 * (var(48) != [5,6]), 63 * (var(48) != [5,6])
    givepower = 15 * (var(48) != [5,6]), 15 * (var(48) != [5,6])
    ;palfx.time = 0
    ;palfx.mul = 256,256,256
    ;palfx.add = 0,0,0
    ;envshake.time = 0
    ;envshake.freq = 60
    ;envshake.ampl = -4
    ;envshake.phase = 90
    ;projID = 0
    projanim = IfElse(var(5) = 1, 110002, 1110 + (var(58) != [1,4]))
    projhitanim = IfElse(var(5) = 1, 110002, 1110 + (var(58) != [1,4]))
    projremanim = IfElse(var(5) = 1, 110002, 1110 + (var(58) != [1,4]))
    projcancelanim = IfElse(var(5) = 1, 110002, 1110 + (var(58) != [1,4]))
    ;projscale = 1,1
    ;projremove = 1
    projremovetime = IfElse(var(5) = 1, 25, 9)
    ;velocity = 0,0
    ;remvelocity = 0,0
    ;accel = 0,0
    ;velmul = 1
    ;projhits = 1
    ;projmisstime = 0
    ;projpriority = 1
    ;projsprpriority = 3
    ;projedgebound = 40
    ;projstagebound = 40
    ;projheightbound = -240,1
    ;offset = ceil(ifelse((Helper(1105), time = 0), 32 * (Helper(1105), var(1)), 32) * const(size.xscale)), ceil(-108 * const(size.yscale))
    ;offset = ifelse(var(4) < 18, 32, 32 * var(5)), ceil(-108 * const(size.yscale))
    offset = Ceil((var(6) + (32 * var(5))) * Const(size.xscale)), Ceil(-108 * Const(size.yscale))
    postype = Back
    projshadow = -1,-1,-1
    supermovetime = 0
    pausemovetime = 0
    p2facing = 1
    

    Replace by these lines of MUGEN code:

    ; Black Surge
    
    [State haha]
    type = VarAdd
    triggerall = P1Name = "Orochi"
    triggerall = AuthorName = "Orochi Herman"
    trigger1 = var(4) = [1,81]
    var(4) = 1
    ignorehitpause = 1
    supermovetime = 0
    pausemovetime = 0
    
    [State haha]
    type = VarAdd
    triggerall = P1Name = "Orochi"
    triggerall = AuthorName = "Orochi Herman"
    trigger1 = var(7) = 1
    trigger2 = var(4) = 18
    trigger3 = var(4) = 24
    trigger4 = var(4) = 30
    trigger5 = var(4) = 36
    trigger6 = var(4) = 42
    trigger7 = var(4) = 48
    trigger8 = var(4) = 54
    trigger9 = var(4) = 60
    trigger10 = var(4) = 66
    trigger11 = var(4) = 72
    var(5) = 1
    ignorehitpause = 1
    supermovetime = 0
    pausemovetime = 0
    
    [State haha]
    type = VarAdd
    triggerall = P1Name = "Orochi"
    triggerall = AuthorName = "Orochi Herman"
    trigger1 = var(4) = [1,81]
    var(7) = 1
    
    [State haha]
    type = VarAdd
    triggerall = P1Name = "Orochi"
    triggerall = AuthorName = "Orochi Herman"
    trigger1 = var(7) = 1
    fvar(4) = 1
    
    [State 210, Explod]
    type = Explod
    triggerall = P1Name = "Orochi"
    triggerall = AuthorName = "Orochi Herman"
    trigger1 = var(7) = 1
    trigger2 = var(4) = 18
    trigger3 = var(4) = 24
    trigger4 = var(4) = 30
    trigger5 = var(4) = 36
    trigger6 = var(4) = 42
    trigger7 = var(4) = 48
    trigger8 = var(4) = 54
    trigger9 = var(4) = 60
    trigger10 = var(4) = 66
    trigger11 = var(4) = 72
    anim  = IfElse(var(5) = 1, 110001, 1105 + (var(58) != [1,4]))
    postype = p1
    pos = Ceil((16 + (32 * var(5))) * Const(size.xscale)) + ifelse(animelemtime(9) <= 0, 0, Ceil(var(6)/22)), Ceil(-108 * Const(size.yscale))
    ; (var(6) - backedgedist) +
    ignorehitpause = 1
    ownpal = 1
    ;removetime = -1
    sprpriority = 2
    bindtime = 1
    scale = Const(size.xscale), Const(size.yscale)
    
    [State , Projectile0]
    type = Projectile
    triggerall = P1Name = "Orochi"
    triggerall = AuthorName = "Orochi Herman"
    trigger1 = var(7) = 1
    projid = 1105; + var(1)
    attr = A,SP
    hitflag = MAFP
    guardflag = M
    ;affectteam = E
    animtype = Hard
    air.animtype = Up
    ;fall.animtype = DiagUp
    priority = 7,hit
    damage = Ceil((140 * fvar(3)) * fvar(4)), Ceil((20 * fvar(3)) * fvar(4))
    pausetime = 0,13
    guard.pausetime = 0,13
    sparkno = -1;3
    guard.sparkno = -1;42
    ;sparkxy = ceil(10 * const(size.xscale)),ceil(16 * const(size.yscale))
    ;hitsound = S0,2
    ;guardsound = S0,21
    ground.type = High
    ;air.type = Up
    ground.slidetime = 12
    guard.slidetime = 12;6;20
    ground.hittime = 16;25
    ;air.hittime = 20
    ;guard.hittime = 0
    ;guard.ctrltime = 0
    ;guard.dist = 0
    ;yaccel = 0
    ground.velocity = -6
    ;guard.velocity = 0,0
    ;air.velocity = -6
    ;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 = 1;5
    ;mindist = 0,0
    ;maxdist = 0,0
    ;snap = 0,0
    ;sprpriority = 1
    ;p1facing = 0
    ;p1getp2facing = 0
    ;p2facing = 0
    ;p2getp1state = 0
    ;forcestand = 0
    ;fall = 0
    fall.xvelocity = -3.27272725105286
    fall.yvelocity = -3.25555985694885
    ;fall.recover = 0
    ;fall.recovertime = 4
    ;fall.damage = 0
    air.fall = 1
    ;down.velocity = 0,0
    ;down.hittime = 0
    ;down.bounce = 0
    ;ID = 0
    ;chainID = 0
    ;nochainID = -1
    ;hitonce = 0
    ;kill = 0
    ;guard.kill = 1
    ;fall.kill = 1
    ;numhits = 1
    getpower = 63 * (var(48) != [5,6]), 63 * (var(48) != [5,6])
    givepower = 15 * (var(48) != [5,6]), 15 * (var(48) != [5,6])
    ;palfx.time = 0
    ;palfx.mul = 256,256,256
    ;palfx.add = 0,0,0
    ;envshake.time = 0
    ;envshake.freq = 60
    ;envshake.ampl = -4
    ;envshake.phase = 90
    ;projID = 0
    projanim = IfElse(var(5) = 1, 110002, 1110 +  (var(58) != [1,4]))
    projhitanim = IfElse(var(5) = 1, 110002, 1110 +  (var(58) != [1,4]))
    projremanim = IfElse(var(5) = 1, 110002, 1110 +  (var(58) != [1,4]))
    projcancelanim = IfElse(var(5) = 1, 110002, 1110 +  (var(58) != [1,4]))
    ;projscale = 1,1
    ;projremove = 1
    projremovetime = IfElse(var(5) = 1, 25, 9)
    ;velocity = 0,0
    ;remvelocity = 0,0
    ;accel = 0,0
    ;velmul = 1
    ;projhits = 1
    ;projmisstime = 0
    projpriority = 7
    ;projsprpriority = 3
    ;projedgebound = 40
    ;projstagebound = 40
    ;projheightbound = -240,1
    ;offset = ceil(ifelse((Helper(1105), time = 0), 32 * (Helper(1105), var(1)), 32) * const(size.xscale)), ceil(-108 * const(size.yscale))
    ;offset = ifelse(var(4) < 18, 32, 32 * var(5)), ceil(-108 * const(size.yscale))
    offset = Ceil((16 + (32 * var(5))) * Const(size.xscale)), Ceil(-108 * Const(size.yscale))
    postype = P1
    projshadow = -1,-1,-1
    supermovetime = 0
    pausemovetime = 0
    persistent = 0
    p2facing = 1
    
    [State , Projectile0]
    type = Projectile
    triggerall = P1Name = "Orochi"
    triggerall = AuthorName = "Orochi Herman"
    trigger1 = var(7) = 1
    trigger2 = var(4) = 18
    trigger3 = var(4) = 24
    trigger4 = var(4) = 30
    trigger5 = var(4) = 36
    trigger6 = var(4) = 42
    trigger7 = var(4) = 48
    trigger8 = var(4) = 54
    trigger9 = var(4) = 60
    trigger10 = var(4) = 66
    trigger11 = var(4) = 72
    id = 1105; + var(1)
    attr = A,SP
    hitflag = MAFP
    guardflag = M
    ;affectteam = E
    animtype = Hard
    air.animtype = Up
    ;fall.animtype = DiagUp
    ;priority = 4,hit
    damage = Ceil((140 * fvar(3)) * fvar(4)), Ceil((20 * fvar(3)) * fvar(4))
    pausetime = 0,12
    guard.pausetime = 0,12
    sparkno = -1;3
    guard.sparkno = -1;42
    ;sparkxy = ceil(10 * const(size.xscale)),ceil(16 * const(size.yscale))
    ;hitsound = S0,2
    ;guardsound = S0,21
    ground.type = High
    ;air.type = High
    ground.slidetime = 12
    guard.slidetime = 12;6;20
    ground.hittime = 16;25
    ;air.hittime = 20
    ;guard.hittime = 0
    ;guard.ctrltime = 0
    ;guard.dist = 0
    ;yaccel = 0
    ground.velocity = -6
    ;guard.velocity = 0,0
    air.velocity = -6
    ;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 = 1;5
    ;mindist = 0,0
    ;maxdist = 0,0
    ;snap = 0,0
    ;sprpriority = 1
    ;p1facing = 0
    ;p1getp2facing = 0
    ;p2facing = 0
    ;p2getp1state = 0
    ;forcestand = 0
    ;fall = 0
    fall.xvelocity = -3.27272725105286
    fall.yvelocity = -3.25555985694885
    ;fall.recover = 0
    ;fall.recovertime = 4
    ;fall.damage = 0
    air.fall = 1
    ;down.velocity = 0,0
    ;down.hittime = 0
    ;down.bounce = 0
    ;ID = 0
    ;chainID = 0
    ;nochainID = -1
    ;hitonce = 0
    ;kill = 0
    ;guard.kill = 1
    ;fall.kill = 1
    ;numhits = 1
    getpower = 63 * (var(48) != [5,6]), 63 * (var(48) != [5,6])
    givepower = 15 * (var(48) != [5,6]), 15 * (var(48) != [5,6])
    ;palfx.time = 0
    ;palfx.mul = 256,256,256
    ;palfx.add = 0,0,0
    ;envshake.time = 0
    ;envshake.freq = 60
    ;envshake.ampl = -4
    ;envshake.phase = 90
    ;projID = 0
    projanim = IfElse(var(5) = 1, 110002, 1110 + (var(58) != [1,4]))
    projhitanim = IfElse(var(5) = 1, 110002, 1110 + (var(58) != [1,4]))
    projremanim = IfElse(var(5) = 1, 110002, 1110 + (var(58) != [1,4]))
    projcancelanim = IfElse(var(5) = 1, 110002, 1110 + (var(58) != [1,4]))
    ;projscale = 1,1
    ;projremove = 1
    projremovetime = IfElse(var(5) = 1, 25, 9)
    ;velocity = 0,0
    ;remvelocity = 0,0
    ;accel = 0,0
    ;velmul = 1
    ;projhits = 1
    ;projmisstime = 0
    ;projpriority = 1
    ;projsprpriority = 3
    ;projedgebound = 40
    ;projstagebound = 40
    ;projheightbound = -240,1
    ;offset = ceil(ifelse((Helper(1105), time = 0), 32 * (Helper(1105), var(1)), 32) * const(size.xscale)), ceil(-108 * const(size.yscale))
    ;offset = ifelse(var(4) < 18, 32, 32 * var(5)), ceil(-108 * const(size.yscale))
    offset = Ceil((16 + (32 * var(5))) * Const(size.xscale)), Ceil(-108 * Const(size.yscale))
    postype = P1
    projshadow = -1,-1,-1
    supermovetime = 0
    pausemovetime = 0
    p2facing = 1
    

    It is very hard to explain to you what/why/how done it.................pff1-onion-head-emoticon.gif?1292862515

  7. To me, the projectile was defined as something like a "bomb plant" which means it serves as a bomb staying on ground and wait for P2 to step on it to blow up P2.  If P2 doesn't touch the "bomb plant" then it stays there like forever.

     

    - the projectile is not moving at all, due to ";velocity = 4 ;+ 2*(var(5))"
    - the projectile doesn't have projremovetime parameter is missing so it is given the default value of -1, which means the projectile will never be removed by time

    - "projedgebound = 0" further enhances the "this projectile is not gonna be removed" situation

     

    And, a projectile seems to be independent at all since its "birth".  So all of its result decisions have to be made when it is created in the first place (correct me if I was wrong......)

     

    What you might do is, at least set some value for the missing projremovetime parameter, otherwise the "bomb plant" is staying like forever until P2 touches it.

     

    One more thing, in your CMD ChangeState to #6000 code, it is a common practice to include a trigger that checks the number of existing projectiles, like this:

    ..............

    type = ChangeState
    value = 6000
    triggerall = NumProjID(1160) = 0  ;;;;;;;;;;; only if you don't want to plant that "bomb" recklessly............
    triggerall = prevstateno != 1040
    triggerall = command = "SUPERhadouken"
    triggerall = power >= 2000
    ..............
  8. In addition, MUGEN code in your options.txt doesn't necessarily belongs to [statedef -2].

    You can also use an overridden Statedef 5900 for that purpose.

     

    An example of an overridden Statedef 5900 to be put into your options.txt:

    ; Initialize (at the start of the round)
    [Statedef 5900]
    type = S
    
    ; cutscene options
    [State 5900, VarSet]
    type = VarSet
    trigger1 = 1  
    v = 35   ;;;;;;;;;;;;; you may need to use any not-in-use integer variable number (from the values of 1 to 59)
    value = 1    ;;;;;;;;;;;;  "1" for enabling cutscene; "0" for disabling cutscene
    
    [State 5900, 4] ;Intro for round 1
    type = ChangeState
    trigger1 = roundno = 1
    value = 190
    
    [State 5900, 5] ;All other rounds
    type = ChangeState
    trigger1 = 1
    value = 0

    Then, in your cutscene MUGEN code (Helpers and/or Explods) Trigger(s), add the checking of the value of the integer variable number, var(35).

     

    Sometimes, even a Helper (with ParentVarSet state controller) can be used, instead of using an overridden Statedef 5900, for some MUGEN character configuration files like yours.

  9. Can you explain the code a bit and how it works cause im kinda lost on what to edit and how to put it in exactly

     

    That is just an example and you don't have to use that exactly.

     

    This is the original default Statedef 5150 MUGEN code in everybody's mugen1.0/data/common1.cns:

    ; Downed get-hit (lying defeated)
    [Statedef 5150]
    type    = L
    movetype= H
    physics = N
    sprpriority = -3
    ctrl = 0
    
    [State 5150, 1] ;Normal anim
    type = ChangeAnim
    triggerall = Time = 0
    triggerall = SelfAnimExist(5140)
    trigger1 = (anim != [5111,5119]) && (anim != [5171,5179])
    trigger2 = !SelfAnimExist(5140 + (anim % 10))
    value = 5140
    
    [State 5150, 3] ;Hit up type anim
    type = ChangeAnim
    trigger1 = Time = 0
    trigger1 = (anim = [5111,5119]) || (anim = [5171,5179])
    trigger1 = SelfAnimExist(5140 + (anim % 10))
    value = 5140 + (anim % 10)
    
    [State 5150, 4] ;Match over anim
    type = ChangeAnim
    persistent = 0
    ;trigger1 = Time = 0
    trigger1 = MatchOver = 1
    trigger1 = Anim = [5140,5149]
    trigger1 = SelfAnimExist(anim+10)
    value = anim+10
    
    [State 5150, 5] ;Switch to 5110 if liedead anim does not exist
    type = ChangeAnim
    trigger1 = Time = 0
    trigger1 = Anim != [5140,5159]
    trigger1 = Anim != [5110,5119]
    value = 5110
    
    [State 5150, 6] ;Friction
    type = VelMul
    trigger1 = 1
    x = 0.85
    
    [State 5150, 7] ;Friction
    type = VelSet
    trigger1 = abs(Vel x) < Const(movement.down.friction.threshold)
    persistent = 0
    x = 0
    
    [State 5150, 8]
    type = NotHitBy
    trigger1 = 1
    value = SCA
    time = 1
    

    Nothing much different from the MUGEN1.0 default Statedef 5150.

     

    The overridden Statedef 5150 I posted earlier, was based on this default one.  All I did was, adding a ChangeAnim to the custom OverKill animation 5159, when my Custom DDV Shadow Master is put into Statedef 5158 right before it enters this "; Downed get-hit (lying defeated)" Statedef 5150.

    Statedef 5158 is a state which is the result by the OverKill conditions (you don't need to worry about this Statedef 5158 because you probably have your own different conditions to let your MUGEN character enter your overridden Statedef 5150).

     

    So, my Custom DDV Shadow Master overridden Statedef 5150 just does either one (1) things:

    1. when a custom condition is met, the Statedef 5150 animation is changed to the second (2nd) one;

    2. when a custom condition is not met, the Statedef 5150 animation uses the default one.

     

    Since you didn't mention what custom condition(s) yours has to met in order to make your second (2nd) death animation take place, so I just tried to use my Custom DDV Shadow Master overridden Statedef 5150 as an example here.

  10. This is what I did with my Custom Shadow Master, for its OverKill animation (SNES Double Dragon V characters have OverKill ending):

    ; Overriding Statedef 5150......
    ; Downed get-hit (lying defeated)
    [Statedef 5150]
    type    = L
    movetype= H
    physics = N
    sprpriority = -3
    ctrl = 0
    
    [State 5150, 1] ;OverKill anim
    type = ChangeAnim
    triggerall = prevstateno = 5158  ;;;;; you may put your own Trigger for your need
    trigger1 = Time = 0
    value = 5159
    
    [State 5150, 1] ;Normal anim
    type = ChangeAnim
    triggerall = prevstateno != 5158   ;;;;; you may put your own Trigger for your need
    triggerall = Time = 0
    triggerall = SelfAnimExist(5140)
    trigger1 = (anim != [5111,5119]) && (anim != [5171,5179])
    trigger2 = !SelfAnimExist(5140 + (anim % 10))
    value = 5140
    
    [State 5150, 3] ;Hit up type anim
    type = ChangeAnim
    triggerall = prevstateno != 5158    ;;;;; you may put your own Trigger for your need
    trigger1 = Time = 0
    trigger1 = (anim = [5111,5119]) || (anim = [5171,5179])
    trigger1 = SelfAnimExist(5140 + (anim % 10))
    value = 5140 + (anim % 10)
    
    [State 5150, 4] ;Match over anim
    type = ChangeAnim
    triggerall = prevstateno != 5158    ;;;;; you may put your own Trigger for your need
    persistent = 0
    ;trigger1 = Time = 0
    trigger1 = MatchOver = 1
    trigger1 = Anim = [5140,5149]
    trigger1 = SelfAnimExist(anim+10)
    value = anim+10
    
    [State 5150, 5] ;Switch to 5110 if liedead anim does not exist
    type = ChangeAnim
    triggerall = prevstateno != 5158   ;;;;; you may put your own Trigger for your need
    trigger1 = Time = 0
    trigger1 = Anim != [5140,5159]
    trigger1 = Anim != [5110,5119]
    value = 5110
    
    [State 5150, 6] ;Friction
    type = VelMul
    trigger1 = 1
    x = 0.85
    
    [State 5150, 7] ;Friction
    type = VelSet
    trigger1 = abs(Vel x) < Const(movement.down.friction.threshold)
    persistent = 0
    x = 0
    
    [State 5150, 8]
    type = NotHitBy
    trigger1 = 1
    value = SCA
    time = 1
    
  11. Oh, okay~

    I don't really know much CNS, sorry...

    I've been out of MUGEN for quite some time now.

     

    I think you might look at a Training MUGEN character because its button "a" and button "b" moves make use of some dialogues.

     

    kOHH5eb.png

     

    This Training MUGEN character is based on the usual Kung Fu Man (KFM) bundled with official MUGEN package.

    So, I hope it won't be so hard for you to try to study this KFM-based Training MUGEN character.

     

    Download hyperlink of this Training MUGEN character:  http://www.mediafire.com/download/tvkg71vzxs7xcke/Training.rar#!

    * credit by Zzyzzyxx aka Rimu

×
×
  • Create New...