YesNoOk
avatar

NotHitBy (SCTRLs) (Read 3640 times)

Started by Ricepigeon, October 27, 2015, 02:49:24 pm
Share this topic:
NotHitBy (SCTRLs)
#1  October 27, 2015, 02:49:24 pm
  • *****
  • Gaps? Where we're going, we don't need gaps...
    • USA
    • ricepigeon.neocities.org
Temporarily specifies types of hits that are not allowed to hit the player.

Required parameters:

    value = attr_string OR value2 = attr_string
        Only one of the above parameters can be specified. attr_string should be a standard hit attribute string. See details.

Optional parameters:

    time = effective_time (int)
        Specifies the number of game ticks that these NotHitBy attributes should be effective for. Defaults to 1.

Details:
    The player has two hit attribute slots, which can be set using the "value" or "value2" parameters to the NotHitBy controller. These slots can also be set by the HitBy controller. When a slot is set, it gets a timer (the effective time) which counts down toward zero. If the timer has not yet reached zero, the slot is considered to be active. The player can be hit by a HitDef only if that HitDef's attribute appears in all currently active slots. Using the NotHitBy controller sets the specified slot to contain all hit attributes except those specified in the NotHitBy attribute string.

Example:
Code:
; Not hit by anything
trigger1 = 1
type = NotHitBy
value = SCA

; Not hit by normal attacks, and all projectiles
trigger1 = 1
type = NotHitBy
value = , NA, AP

Additional Notes:
Although not specified in the docs, attr_string takes on the format of X, [YZ], [YZ], ... in where
X = any combination of S (standing), C (crouching), and/or A (aerial)
Y = N (normal), S (special), H (super/hyper), or A (all)
Z = A (melee attack), P (projectile attack), or T (throw attack)

What is also not specified is that the values of X take priority over all values of YZ, for example;
Code:
type = nothitby
value = SCA,AP

One might make the mistake of thinking that the above controller provides the character with invincibility against all standing, crouching, and aerial projectile attacks, whether they are normal, special, or hyper projectiles. This is incorrect. SCA takes precedence over AP, so the above controller actually gives invincibility to ALL standing, crouching, and aerial attacks, projectiles, AND throws. In order to grant a player projectile invincibility, the SCA part much be omitted like so;

Code:
type = nothitby
value = ,AP

note that the comma is important here for syntax reasons.
Re: NotHitBy (SCTRLs)
#2  August 10, 2016, 07:36:13 pm
  • ******
    • www.justnopoint.com/
I'm confused at the example given.

Why would SCA, AP make it so that the player cannot be hitby all projectiles and throws?

Also shouldn't it look like this?
SCA, AA, AP

Wouldn't all projectiles and throws be this?
SCA, AA, PT

So all projectiles would be this
SCA, A, P

EDIT: Well the above throws a syntax error so it's not right.

, NA, AP = not hit by normal attacks and all projectiles

So , = nothing specified for standing, crouching, air meaning you don't have to put this at all. Is SCA not the same as leaving it blank?

NA, = Normal + All so the N represents the Normal that goes to the A in the next line and the A here goes with the P?

AP = Melee Attack is any physical attack, combine with N for normal physical, S for special amd H for hyper physical
While P is for projectiles

So why is ,AP for all projectiles and not all Attacks + Projectiles?

EDIT 2:

Oh I get it! You can combine things from X, y, and Z!
So , AP is simply all projectiles!
NP would be normal projectiles, etc

I was misunderstanding the wording with the three commas  x, y, z was what I thought it meant. But that's not it at all.

I get it now
Last Edit: August 10, 2016, 07:53:42 pm by Just No Point

;x

Re: NotHitBy (SCTRLs)
#3  August 10, 2016, 07:55:32 pm
  • avatar
  • *****
    • USA
So.. referencing SF4
For hypers it should be ____?(All)
For Ex moves it should be___? (Beats everything except hypers)
Re: NotHitBy (SCTRLs)
#4  August 10, 2016, 08:13:17 pm
  • ******
    • www.justnopoint.com/
All Hypers? I'm pretty sure that'd be

, HA, HP, HT

There is nothing specific for EX attacks. They are generally Hypers I think.

If you want a Hyper to beat out an EX attack in an exchange you'll mess with Priority in the hitdef
Re: NotHitBy (SCTRLs)
#5  August 25, 2016, 09:41:17 pm
  • ******
    • www.justnopoint.com/
Due to testing and talking with XGargoyle it seems the TIME parameter is useless. Leave it as 1 and use a trigger to set how many ticks you want it to be active.

Example trigger1 < 12
Last Edit: August 25, 2016, 11:09:52 pm by Just No Point
Re: NotHitBy (SCTRLs)
#6  August 25, 2016, 09:59:00 pm
  • ******
  • I laugh at my own jokes 99% of the time
  • Toriyama pretty much ruined me, but I'll be back!
    • nass.yh95@gmail.com
Sorry for this silly question, but is the "time" parameter useless in this SCTRL or in general?

Is there a particular reason as to why it is useless? Just want to make sure I understand all of this.
Only way to go is up.

((Twitter) || (Tumblr)
Re: NotHitBy (SCTRLs)
#7  August 25, 2016, 10:14:10 pm
  • ******
    • www.justnopoint.com/
Setting it to anything other than 1 is the same as setting it to 1

Oh and just this sctrl
Re: NotHitBy (SCTRLs)
#8  August 25, 2016, 10:23:07 pm
  • ******
  • I laugh at my own jokes 99% of the time
  • Toriyama pretty much ruined me, but I'll be back!
    • nass.yh95@gmail.com
I see. Thank you for clarifying. :)
Only way to go is up.

((Twitter) || (Tumblr)
Re: NotHitBy (SCTRLs)
#9  August 25, 2016, 10:28:22 pm
  • ****
  • Robotics Engineer
    • USA
    • altoiddealer@gmail.com
I don't know what kind of testing you guys did, but the time parameter totally works.

I'm not sure why you would want to use it but it does what it's supposed to.

I slapped this in State 0, and was immune for 100 ticks every time I entered the state

[State 0, NotHitBy]
type = NotHitBy
trigger1 = !Time
value = SCA
time = 100

Maybe there's some minute efficiency gain by using it?

Another edit...

I tested whether a 2nd NotHitBy controller with a time parameter would nullify the duration of the first one.
This was not the case.  They both worked simultaneously.

Last Edit: August 25, 2016, 10:40:06 pm by altoiddealer
Re: NotHitBy (SCTRLs)
#10  August 25, 2016, 10:41:21 pm
  • ******
    • www.justnopoint.com/
I set it for 12 with trigger1 = !time and it didn't work at all. I set the time < 12 as a trigger and it worked.

Asked XG why and he told me time never worked. Maybe it's less than a tick? :p
Re: NotHitBy (SCTRLs)
#11  August 25, 2016, 10:47:20 pm
  • ****
  • Robotics Engineer
    • USA
    • altoiddealer@gmail.com
Well 12 ticks goes by pretty damn fast, maybe you just kept missing the window :P

I set time = 50 and that worked (after triggered only once)
I set time = 500 and that worked (after triggered only once)

I triggered one for 500 ticks, then a second one for 50.  The NotHitBy lasted for 500 ticks.  And I'll bet each one is like turning off switches... new controllers are not going to switch anything back on.


So I guess it's nice that you can prolong the effect without having to maintain a true condition.

Last Edit: August 25, 2016, 10:56:19 pm by altoiddealer
Re: NotHitBy (SCTRLs)
#12  August 25, 2016, 10:53:50 pm
  • ******
    • www.justnopoint.com/
ill do some more tests as soon as I can then
Re: NotHitBy (SCTRLs)
#13  August 25, 2016, 11:06:35 pm
  • *****
  • Hedgehog Whisperer
  • Red Bull addict
    • Spain
    • xgargoyle.mgbr.net
Asked XG why and he told me time never worked. Maybe it's less than a tick? :p
I never said time did never work. I just mentioned I always use time=1 and then use the trigger1=whatever to manage the duration of the NotHitBy :P
XGargoyle: Battle posing since 1979
http://xgargoyle.mgbr.net
http://www.pandorabots.com/pandora/talk?botid=e71c0d43fe35093a  <-- Please click that link
http://paypal.me/XGargoyle  <-- Donations welcome!
Re: NotHitBy (SCTRLs)
#14  August 25, 2016, 11:11:34 pm
  • ******
    • www.justnopoint.com/
I'll just assume something else happened and I was wrong then. Will clarify later but no need in me coming back with what I found.
Re: NotHitBy (SCTRLs)
#15  September 01, 2016, 08:40:18 am
  • ******
  • Legendary XIII
  • I am the eye of the storm to come!
    • New Zealand
    • network.mugenguild.com/cyanide/
If you're totally unsure, turn on clsns. IIRC nothitby will always turn the blue ones teal while it's active regardless of which version of nothitby you're doing.


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.
Re: NotHitBy (SCTRLs)
#16  September 01, 2016, 02:59:11 pm
  • ******
    • www.justnopoint.com/
I was being dumb. There were 3 states with it and a helper as well. I was editing the wrong one. Though that's nice to know about the CLSN color changing so at least this mishap wasn't a total waste.
Re: NotHitBy (SCTRLs)
#17  September 07, 2016, 10:28:11 pm
  • ******
  • The Old Dog
  • 15 years of MFG, geez...
    • Brazil
    • www.brazilmugenteam.com
NotHitBy has a strange behaviour: even you set a NotHitBy, your move CAN still be reversal by a reversaldef.
Which kinda breaks the point of not be hit.
Re: NotHitBy (SCTRLs)
#18  September 20, 2016, 08:18:38 pm
  • *****
  • Gaps? Where we're going, we don't need gaps...
    • USA
    • ricepigeon.neocities.org
Technically youre not getting hit, but you are. Its kind of difficult to explain.

Reversals can be prevented by a HitOverride, but only if the opponent's Reversaldef defines the attr paramater (not to be confused with the reversal.attr paramater) otherwise there isn't any stopping it.