Second custom hit state problems...

Started by Odb718, October 18, 2012, 08:47:16 AM

Previous topic - Next topic

Odb718

So I'm making Samus' whip grab from SSBB. She grabs you with her whip, a lot like Omega Red from the VS series.
I have a lot of it working. But because it's a grab I'm leaving the custom states with no hitboxes so the victim cant be hit out of the throw.
In SSBB if you get on the punch button Samus can smack the victim multiple times. But since the enemy has no hitboxes how the heck can I do this??

I need the thrown victim to get hit without hitboxes...

Samus' Throw state/slap state is 1000.
Samus' slap animation is 1001. the hitboxes are on frames 3 and 4.
The Throw victim is in state 10002.

Any idea on how to accomplish this would be awesome.
vVv Gouken718 vVv SabreTooth718 vVv


Cyanide

options.

One is make the opponent only hit by some really dozy attack type, say
attr = C, HT
then you can give them clsn's and it's VERY unlikely p2 will be able to hit by anything.

Give them clsn1's and a reversaldef, once more for dozy attack type, fake get hits that way.

Last one, fake the hits completely, use the "attack" state to apply a new targetstate to p2, have them go through an animation then revert. You never actually hit, you just see hitsparks, hear hitsounds and p2 moves round.  You know when you have hit because it's your hitdef. You have control of p2 completely at this point.


In M.U.G.E.N there is no magic button

They say a little knowledge is a dangerous thing, but it's not one half so bad as a lot of ignorance.

Odb718

hmmm... I think the first setup would work the best. In Smash, you could smack multiple people with the slaps.
With the hit attr = C,HT would that allow other enemies to be hit at the same time?
Also, crouching high throw? did I read that right? Would that be able to connect against a regular enemy? Me and my friends go 2 on 2, so I like my characters to work as best as possible 2v2.

vVv Gouken718 vVv SabreTooth718 vVv


Ricepigeon

Quote from: Odb718 on October 18, 2012, 11:08:02 AM
hmmm... I think the first setup would work the best. In Smash, you could smack multiple people with the slaps.
With the hit attr = C,HT would that allow other enemies to be hit at the same time?
Also, crouching high throw? did I read that right? Would that be able to connect against a regular enemy? Me and my friends go 2 on 2, so I like my characters to work as best as possible 2v2.

Crouching Hyper (Super) Throw, actually. Its a really arbitrary hitattr that nobody really uses except for specific workarounds such as the one Cyanide described, or for the poison code workaround. C, NP (crouching normal projectile) is another one that is rarely used outside of Touhou *disgusted groan* characters, so it might be an acceptable substitute.

The point is if you're going to put in hitboxes for the C,HT hit, you'll want to apply a nothitby/hitby controller to make sure they can only be hit by attacks of those types. Yes, I know in Smash you could hit them out of it but in Mugen this causes alot of unintended behavior, and I tend to stay away from teams mode because of stuff like that.

Odb718

Thanks for the input guys. I've expanded the Samus' attack state into two. I was getting frustrated because the original attack is
;Catch
[Statedef 1000]
type    = S
movetype= A
physics = S

The C, HT wasnt connecting because of the type = S. I didnt realize this for about 70-75 different approaches. <_<
This is turning out to be as complex a move as I thought it was going to be!

     Posted: October 19, 2012, 03:34:48 AM
So I'm running into a new problem. I want the enemy to be able to break free of the grab move if they get on the buttons. I've used a basic system for various things and I've implemented it into this idea.
[state 10002, reset]
type = varset
trigger1 = prevstateno != 10002  ;;<<<<<< this is the problem
trigger1 = time = 0
fv = 2
value = 0

[state 10002, buttons]
type = varadd
trigger1 = command = "a"
trigger2 = command = "b"
trigger3 = command = "c"
trigger4 = command = "x"
trigger5 = command = "y"
trigger6 = command = "z"
fv = 2
value = 2

[state 10002, detract]
type = varadd
trigger1 = time%4 = 0
trigger1 = fvar(18) > 0  ;testing value.. uses fvar(2) for in game.
fv = 2
value = -1

[State 10002, 4]
type = SelfState
trigger1 = anim = 1004
trigger1 = time = 150
trigger2 = fvar(2) > 13
value = 0
ctrl = 1


The problem is the f-variable is resetting itself EVERY time. I've posted it on screen and can see that it gets reset once another slap is performed. The slap takes the enemy from state 10002 and puts it into state 10002. So I figured it should work. Im guess the problem is the fact that it's a custom get-hit state used in a "throw" move.
I've also tried to use
trigger1 = stateno != 10002
But once I hit fvar = 14 it becomes immune to the attack because the value never resets.

Any ideas on a work around??

     Posted: October 21, 2012, 02:14:00 AM
I still dont know what to do. If anyone has a suggestion please let me know.
vVv Gouken718 vVv SabreTooth718 vVv


2OS

attr=c,ht is also very commonly used by killer code nukes for rootselfstate.


Quote from: Odb718 on October 18, 2012, 11:06:13 PM
The problem is the f-variable is resetting itself EVERY time. I've posted it on screen and can see that it gets reset once another slap is performed. The slap takes the enemy from state 10002 and puts it into state 10002. So I figured it should work. Im guess the problem is the fact that it's a custom get-hit state used in a "throw" move.
I've also tried to use
trigger1 = stateno != 10002
But once I hit fvar = 14 it becomes immune to the attack because the value never resets.

Any ideas on a work around??

      Posted: October 21, 2012, 02:14:00 AM
I still dont know what to do. If anyone has a suggestion please let me know.

never do this again.


set YOUR OWN vars and redirect.

[Statedef -2]

[State ]
type=varset
trigger1=!numtarget
trigger2=numtarget

trigger2=target,prevstateno!=10002
trigger2=!target,time
fvar(2)=0
ignorehitpause=1

[State ]
type=varadd
triggerall=numtarget
triggerall=target,stateno=10002

trigger1=target,command="a"
trigger2=target,command="b"
trigger3=target,command="c"
trigger4=target,command="x"
trigger5=target,command="y"
trigger6=target,command="z"
fvar(2)=2
ignorehitpause=1

[State ]
type=varadd
trigger1=!(time%4)
trigger1=fvar(2)>0
fvar(2)=-1
ignorehitpause=1


[Statedef 10002]

[State ]
type=selfstate
trigger1=anim=1004
trigger1=time=150
trigger2=numenemy
trigger2=enemy,name="Samus"||enemy(numenemy=2),name="Samus"

trigger2=enemy,fvar(2)>13||enemy(numenemy=2),fvar(2)>13
value=0
ctrl=1

Odb718

I've gotten the code working a different way, but I'm wondering why not? Why shouldnt I set it up that way? I mean I still have the enemy getting on the buttons to get out of the throw which sets the variable. But why is it important to have the code in the -2 statedef? If I did it to say Ryu, would it read both Ryu's -2 and Samus' -2 statedefs for Ryu??
vVv Gouken718 vVv SabreTooth718 vVv


Cyanide

Is ryu your character? Does he use the variable you've chosen? Is that variable important? Use this on one of Warusaki's characters (as something that uses pretty much all of them) and watch some fucked up stuff happen.


In M.U.G.E.N there is no magic button

They say a little knowledge is a dangerous thing, but it's not one half so bad as a lot of ignorance.

2OS

#8
left out the selfstate.

yes. when you custom state something and override it's vars you can fuck it up pretty badly if the var is in use and major.

so the remedy is setting your own var since it's your character and you should know what is and isn't set, then redirecting to that through the custom state.

and only your -2 matters here. you're redirecting with that too. to your target that's in the custom state. when your target button mashes, the var adds.


edited other post.