Jump to content

Werewood

Author
  • Posts

    1,233
  • Joined

  • Last visited

Community Answers

  1. Werewood's post in Trying to code explods to be turned off in an option.txt doc was marked as the answer   
    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.
  2. Werewood's post in Second DeathAnimation Not Working was marked as the answer   
    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.
  3. Werewood's post in Turn Battle health regen was marked as the answer   
    I tried this in my MUGEN1.0 Team VS and it seems working:
     
    Put the following lines MUGEN code under your CNS' [statedef -2] line:
     
    [state -2, VarSet]
    type = VarSet
    triggerall = TeamMode = turns
    trigger1 = P2Life != 0 && EnemyNear, Alive = 1
    v = 55   ;you may want to use other variable number if #55 has been already used....
    value = Life
    ignorehitpause = 1

    [state -2, LifeSet]
    type = LifeSet
    triggerall = TeamMode = turns
    trigger1 = Win
    value = var(55)  ;you may want to use other variable number if #55 has been already used....
    ignorehitpause = 1
  4. Werewood's post in Yet another sound problem -__- was marked as the answer   
    Okay, it looks like a Helper state controller usage.
     
    If it is using a Helper state controller then you might want to do these:
     
    1) Make an Action in your .air file:
    [begin Action 4026] ;make sure no other Action using the same 4026 number
    -1,0, 0,0, -1
     
    2) Add a Helper state controller in your .cns file, somewhere under the [statedef -3] line:
    [state -3, Wasteland Danger Sound Helper]
    type = Helper
    triggerall = NumHelper(4026) = 0
    trigger1 = (TeamMode = Single) || (TeamMode = Turns)
    trigger1 = Life < 150 || P2Life < 150 ;when P1 and P2 lives are below 150
    ID = 4026  ;make sure no other Helper using the same 4026 ID
    stateno = 4026  ;make sure no other Helper using the same 4026 StateDef number
    helpertype = normal
    name = "Wasteland Danger Sound Helper"
    pausemovetime = 999
    supermovetime = 999
    ignorehitpause = 1
    persistent = 0
     
    3) Add the Helper state controller StateDef 4026 (make sure no other Helper using the same 4026 StateDef number) in your .cns file, anywhere but under [statedef -2] line and [statedef -3] line:
    [statedef 4026]
    type = U
    movetype = I
    physics = N
    anim = 4026

    [state 4026, PlaySnd]
    type = PlaySnd
    trigger1 = Time = 0
    value = F7,2   ; you can change it to another set in your .snd file and take out the "F" since "F" sound is from data/common.snd
    abspan = 0
    freqmul = 0.5
    loop = 0  ;don't use the value of 1
    volume = 50  ;change it to whatever value you want from 0 to 100
    ignorehitpause = 1
    persistent = 0

    [state 4026, AssertSpecial]
    type = AssertSpecial
    trigger1 = Time <= 30  ;change it to whatever value which is how long the sound lasts
    flag = nomusic
    ignorehitpause = 1
    persistent = 1
     
    [state 4026, DestroySelf]
    type = DestroySelf
    trigger1 = (root, RoundState = [0,1]) || (RoundState = [0,1])  ;some safety measure, you can try to improve it
    trigger2 = root, StateNo = 5900  ;some safety measure, you can try to improve it
    trigger3 = root, StateNo = [190,194]  ;some safety measure, you can try to improve it
    trigger4 = root, Life >= 150  ;when P1 life is at least 150
    trigger4 = P2Life >= 150  ;when P2 life is at least 150
    ignorehitpause = 1
     
    P.S.  This Helper state controller usage works for P1's low life or P2's low life (playing the sound one time only), not both.  If you want it to work for both P1 and P2's low lives (playing the sound two times only), then you may need to make double Helpers -- one for P1 (Statedef 4026) and one for P2 (i.e. Statedef 4027).  If you or other MFFA members can come up with a more convenient way then please post it here too.
  5. Werewood's post in Beterhans' character issue. was marked as the answer   
    I think a MUGEN state controller is missing in this normal Ryu's States\NormalRyu.st file:
     
    Near the bottom of the NormalRyu.st file:
     
    [state 5900, modevar]
    type = varset
    trigger1 = 1
    var(1) = 1
    [state 5900, End]
    type = changestate
    trigger1 = !time
    value = ifelse(roundno = 1, 190, 0)
     
    Try to add the missing VarSet MUGEN state controller for the MUGEN variable #38 var(38):
    [state 5900, modevar]
    type = varset
    trigger1 = 1
    var(1) = 1
     
    [state 5900, dizzy threshold]  ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; added this state back to here!
    type = varset             
    trigger1 = !time
    var(38) = IfElse(var(1)=3,150,IfElse(var(1)=2,100,120))
     
    [state 5900, End]
    type = changestate
    trigger1 = !time
    value = ifelse(roundno = 1, 190, 0)
     
    After adding this missing VarSet MUGEN state controller back to this normal Ryu's States\NormalRyu.st file, he becomes "normal" and that repeating dizzy state Helper noise shall be gone.
  6. Werewood's post in Coding a Combo Announcer? was marked as the answer   
    I tried something like this and it kind of works without using any MUGEN variables and Helper state controller:

    In your MUGEN character's [statedef -2], put this PlaySnd state controller:

    [state -2, Combo Announcer]
    type = PlaySnd
    triggerall = EnemyNear, MoveType = H
    triggerall = EnemyNear, Stateno != [120,155]
    trigger1 = EnemyNear, GetHitVar(hittime) = 0    ; or use -1, please see explanation below
    trigger1 = EnemyNear, GetHitVar(hitshaketime) = 0
    trigger1 = EnemyNear, GetHitVar(hitCount) > 2
    value = 8, EnemyNear, GetHitVar(hitCount)
    volumescale = 100
    ignorehitpause = 1
     
    prerequisite: 
    - you need to have a sound/voice saying like, "YES!", for a three (3)-hit combo, located in your *.snd file with Group #8 (my choice) and Sound #3 (my choice, and it must be at least one (1))
    - you need to have a sound/voice saying like, "WONDERFUL!", for a five (5)-hit combo, located in your *.snd file with Group #8 (my choice) and Sound #5 (my choice, and it must be at least one (1))
    - you need to have a sound/voice saying like, "BRAVO!", for an eight (8)-hit combo, located in your *.snd file with Group #8 (my choice) and Sound #8 (my choice, and it must be at least one (1))
    - ..... and so on.....
     
    explanation:
    - type = PlaySnd
      this is you know what it is for.........
    - triggerall = EnemyNear, MoveType = H
      VS single P2, only when P2 is in get-hit states
    - triggerall = EnemyNear, Stateno != [120,155]
      this makes sure the VS single P2 is not in blocking/guarding states
    - trigger1 = EnemyNear, GetHitVar(hittime) = 0
      this one is important because I tried to use the last second of P2's returning to an idle state after being hit, to make sure the
      PlaySnd state controller won't be called more than one (1) times in a row
      * or you can use "= -1" instead of "= 0" if you want the PlaySnd state controller takes place right after P2 returns to idle
    - trigger1 = EnemyNear, GetHitVar(hitshaketime) = 0
      this one might be optional because the time player is "frozen" during the hit usually counts down to 0 before hittime becomes less
      than one (1), so, this is used only to backup the first trigger1
    - trigger1 = EnemyNear, GetHitVar(hitCount) > 1
      this one makes sure the VS single P2 is getting more than two (2) hits by your MUGEN character (in my example the "YES!" three
      (3)-hit combo is the minimum)
    - value = 8, EnemyNear, GetHitVar(hitCount)
      this is the Group # and Sound # in your *.snd file, in my example:
      - "YES!" three (3)-hit combo uses the Group #8 and Sound #3 WAV
      - "WONDERFUL!" five (5)hit combo uses the Group #8 and Sound #5 WAV
      - "BRAVO!" eight (8)-hit combo uses the Group #8 and Sound #8 WAV
      - ..... and so on.....
    - volumescale = 100
      just the volume of the Combo Announcer sound/voice.........default is 100 here
    - ignorehitpause = 1
      this is you know what it is for.........
     
    Please note that it is for a Single VS P2 only....................for a Team VS P2/P4 there may need more work.
    Also, it should be edited more for air-combo purpose, even though this way also works for air-combos...........
     
    I am sure there are more ways to do a better (with MUGEN variables, Helper, Explod...etc.) Combo Announcer in MUGEN.  Yet, this is the simplest one I could come up with.
  7. Werewood's post in Removing Overlay on Character was marked as the answer   
    In davidbell.cns, under [statedef -2], look for these lines:

    [state 0, Helper]
    type = Helper
    trigger1 = alive
    trigger1 = !numhelper(950)
    trigger1 = stateno != 189
    helpertype = normal
    name = "Atmosphere"
    ID = 950
    stateno = 950
    pos = 0,0
    postype = p1
    facing = 1
    ownpal = 1
    ;supermovetime = 65535
    ;pausemovetime = 65535
    ignorehitpause = 1
     
    This Helper sctrl contains all the fog and blue overlay thingy.  You may disable the whole "Atmosphere" by removing these lines, or change "type = Helper" to "type = null;Helper":
     
     

  8. Werewood's post in How to disable this..."THING!" was marked as the answer   
    I fixed his CNS file for you:  https://www.mediafire.com/?aj585jzmxpxff9f
     
    I fixed:
    - removed that "combo system"
    - fixed most noticeable MUGEN debug flood
     

     
    The above MUGEN screenshot shows that during Zeus' intro state (StateDef 191), the "combo system" Helper is gone and the character appears normally.
  9. Werewood's post in Char acting strange... was marked as the answer   
    In cartoonguy.def:

    ; Player information
    [info]
    name ="MvC2 Random Cartoon Guy! Da Damn Bob Spriteswap with Some Addictional crap when Some Trolls Doesn愒 Support"
     
    If you try to change it to name ="MvC2 Random Cartoon Guy!" then things shall return to normal........
     
    I am so surprised that the [info] name cannot take that many characters!
  10. Werewood's post in Mugen and Fraps was marked as the answer   
    I use Fraps to record my MUGEN1.0 videos.
     
    My MUGEN1.0 mugen.cfg setting:


     ;The video resolution defaults to the same as the game resolution.
     ;You can force an alternate resolution by uncommenting the lines
     ;below.
    ;Width  = 1280
    ;Height = 720

     ;This is the color depth at which to run MUGEN.
     ;Only 16 is supported at this time.
    Depth = 16

     ;Set to 1 to enable vertical retrace synchronization. Do not enable
     ;if BlitMode = PageFlip.
     ;Not supported in 1.0.
    VRetrace = 0

     ;Set to 1 to enable fullscreen mode, 0 for windowed.
    FullScreen = 0

     ;Drawing mode
     ;Choose from Normal (fast) and PageFlip (less image "tearing")
    BlitMode = PageFlip;Normal

     ;Screen rendering mode.
     ;System - default SDL rendering mode (e.g. windib in Windows)
     ;DirectX - DirectX 5 renderer
     ;OpenGLScreen - hack that allows window resizing but could be slow
    RenderMode = OpenGLScreen;System
×
×
  • Create New...