YesNoOk

Show content

This section allows you to browse the content for this member. Note that you can only see content for which you have sufficient viewing permissions.

****
2OS is Offline
Contact 2OS:

2OS

Contributor

Messages by 2OS

    

Re: Immunity to SuperPause?

 October 13, 2019, 03:15:32 am View in topic context
 Posted by 2OS  in Immunity to SuperPause? (Started by Disconcorde October 04, 2019, 07:09:28 pm
 Board: M.U.G.E.N Development Help

the dumb thing with the pausemovetime and supermovetime setting is that (like helpers) it can only happen when they're initially spawned.

root characters are (obviously) spawned at the very beginning of the round so it's set then. the instant that same player is hit or triggers a pause the effect wears off.

you bypass both these things by having another helper trigger desired pauses and having another helper as armor.
    

Re: Statedef -2 vs Statedef -3

 October 13, 2019, 01:01:29 am View in topic context
 Posted by 2OS  in Statedef -2 vs Statedef -3 (Started by DeathScythe October 11, 2019, 12:04:19 am
 Board: M.U.G.E.N Development Help

This is in the docs but

Statedef -3 read first. Doesn't get read in custom states
Statedef -2 read second on every tick
Statedef -1 read third.
Normal states
Helper states

Note that helpers have no access to state -3 or -2 unless you stupidly use helpertype = player. They only get access to -1 if keyctrl = 1 when helpertype is normal.

the only additional info outside of ^ this is that -1 is a required statedef. -2 and -3 are not required.


as an example if you wanted to break out of a custom state you would set a selfstate in -2. -1 and -3 will do nothing in this regard.


i personally didn't learn the differences between them through the docs and it took me quite some time to decipher them.
    

Infinite Rounds / "Nobody Wins" (Roundstate 4 Override)

 October 07, 2019, 05:35:01 am View in topic context
 Posted by 2OS  in Infinite Rounds / "Nobody Wins" (Roundstate 4 Override) (Started by 2OS October 07, 2019, 05:35:01 am
 Board: Code Library

[State ]
type=assertspecial
trigger1=roundstate=3
flag=roundnotover


the code that's supposed to extend a round can actually do the polar opposite if it's executed early; this will end the round early with no declared winner bypassing roundstate 4.
    

Re: Simple Guts System (no variables required)

 June 24, 2019, 01:30:58 am View in topic context
 Posted by 2OS  in Simple Guts System (no variables required) (Started by Nep Heart June 24, 2019, 12:09:02 am
 Board: Tips, Tricks, Tutorials

that value is so long that i missed seeing it somehow lol
    

Re: Simple Guts System (no variables required)

 June 24, 2019, 12:50:51 am View in topic context
 Posted by 2OS  in Simple Guts System (no variables required) (Started by Nep Heart June 24, 2019, 12:09:02 am
 Board: Tips, Tricks, Tutorials

you're gonna wanna add ceil or floor to those multiplied variants to prevent debug errors; life values aren't mandated to be divisible by 5 or 10. i encountered this as i was setting up a poison-esque effect for one of my own projects and it failed to work against characters with odd values (just about everything "pots styled" for example).

edit: i'd actually advise completely refraining from dividing life values as a whole because of this.
    

Re: GetHitVar(*) (Triggers)

 June 06, 2019, 05:41:07 am View in topic context
 Posted by 2OS  in GetHitVar(*) (Triggers) (Started by JustNoPoint October 09, 2015, 05:04:46 am
 Board: MUGEN Class

chiming in to say that the above post is absolutely false in training mode.

in training mode if damage=2000 and lifemax=1000 gethitvar(damage) will return 2000.

this could be part of yet another formula to detect training mode.

training mode is weird.
    

Re: How to make AI jump less?

 December 25, 2018, 10:57:14 pm View in topic context
 Posted by 2OS  in How to make AI jump less? (Started by Kolossoni December 25, 2018, 10:02:22 pm
 Board: M.U.G.E.N Development Help

override statedef 40 to instantly selfstate to statedef 0 if ailevel.

if you want the ai to jump specifically (during running for example), define those conditions under that same selfstate.

you're also gonna want to omit "anim" underneath "statedef 40" and define it as a changeanim underneath that selfstate.
    

Re: God Rugal-esque voice samples

 October 10, 2018, 06:26:59 pm View in topic context
 Posted by 2OS  in God Rugal-esque voice samples (Started by 2OS March 26, 2017, 09:01:17 am
 Board: Edits & Add-ons

    

Re: How do you bypass Super Armor?

 July 28, 2018, 06:32:14 am View in topic context
 Posted by 2OS  in How do you bypass Super Armor? (Started by Nep Heart July 27, 2018, 08:16:21 am
 Board: M.U.G.E.N Development Help

i mean it kind of is practical to code it just involves what's documented as a glitch.

what you would do is make a helper with a massive attack clsn and give it a vaguely defined reversaldef.

[State ]
type=reversaldef
trigger1=1
numhits=0
reversal.attr=acs,aa,ap,at
sparkno=-1

[State Drop Helper Targets]
type=targetdrop
trigger1=numtarget&&numenemy
trigger1=target,id!=enemy,id
trigger1=target,id!=enemy(numenemy=2),id

the glitch is

1. with reversaldef your target never drops when you obtain it unless you use the targetdrop controller.
2. reversaldef works against hitoverride.

this allows that helper to use any target controller at will. so you could set up a targetstate here with trigger1=root,movehit=1 to your custom state and it would work even if you hit helper armor.

this is how i got cvsyamazaki's grab winpose to work.
    

Re: How do you bypass Super Armor?

 July 28, 2018, 03:07:57 am View in topic context
 Posted by 2OS  in How do you bypass Super Armor? (Started by Nep Heart July 27, 2018, 08:16:21 am
 Board: M.U.G.E.N Development Help

1. sequential moves are not unlike throws. you either hit or miss. with this said you want to not use targetstate and instead use p2stateno with the hitdef. there is a hard programmed behavior that causes hitdefs with p2stateno to completely ignore your average super armor.

2. a lesser recommended alternative is to simply selfstate if p2stateno!=your custom state.

2. there is a way to "bypass" super armor but it requires a glitch and unorthodox execution.

3. there are various ways to code super armor.
    

Re: What's your Personal favorite font?

 June 29, 2018, 07:40:56 am View in topic context
 Posted by 2OS  in What's your Personal favorite font? (Started by GDPenguin June 25, 2018, 04:59:11 pm
 Board: All That's Left

    

Re: Rugal/God Rugal (Pots Style) by Varo Hades

 April 12, 2018, 05:50:48 am View in topic context
 Posted by 2OS  in Rugal/God Rugal (Pots Style) by Varo Hades - Updated 4/20/18 (Started by BahamianKing242 April 09, 2018, 08:01:36 am
 Board: Edits & Addons 1.0+

in cvs the alternative electric kaiser wave is unblockable and charging it is not optional

neither of these things are true for the normal kaiser wave
    

Re: Top 10 Cartoon Openings Of All Time

 April 05, 2018, 06:53:39 am View in topic context
 Posted by 2OS  in Top 10 Cartoon Openings Of All Time (Started by Thagr8test March 29, 2018, 06:18:32 am
 Board: All That's Left

check the pecs

HEH
HAH
HUAH

    

Re: Glowing PalFX?

 February 11, 2018, 05:53:14 pm View in topic context
 Posted by 2OS  in Glowing PalFX? (Started by Afterthought February 10, 2018, 11:09:25 pm
 Board: M.U.G.E.N Development Help

it's because you put it in -3 with an assertive trigger.

you need to either not have an assertive trigger or algebraically code sine to normal add. the latter being more conventional for it wont ever wear off.


here's an example:

add=100*sin(gametime*0.1),100*sin(gametime*0.1),100*sin(gametime*0.1)


edit: apparently add works in conjunction with sinadd. even if this wasnt true it can be done algebraically which is why i encourage that over pre set expressions like sinadd.

example of that and how sine works:

sine 100 ranges -100 to 100 which for palfx would cause your character to darken. if you wanted to eliminate darkening you would sine 50 and add 50.

add=50+50*sin(gametime*0.1),50+50*sin(gametime*0.1),50+50*sin(gametime*0.1)

^ that would equate to this

add=50,50,50
sinadd=50,50,50,59

the benefit of the former is it can be asserted indefinitely.
    

Re: Music stopping when KO'ed with a Super Move

 October 09, 2017, 10:47:59 pm View in topic context
 Posted by 2OS  in Music stopping when KO'ed with a Super Move (Started by PRØJECT.13 October 08, 2017, 05:50:09 am
 Board: M.U.G.E.N Development Help

^ roundstate>2 not roundstate!=2.

roundstate!=2 would stop it in the beginning of the round too.

If you instead put the controller in State -2 (states that are always active), that covers that issue - except the new challenge is creating a trigger for just that very special circumstance... you KO-ing the enemy with a super move.

trigger1=hitdefattr=acs,ha,hp,ht
trigger2=numhelper
trigger2=helper,hitdefattr=acs,ha,hp,ht

and i would actually advise against state -2 because assertspecial does nothing during pauses and superpauses where you lack movetime.

make a helper with a blank animation that does nothing with pausemovetime and supermovetime and put the assertspecial there.


[Statedef -2]

[State ]
type=helper
trigger1=!numhelper(998877)
id=998877
stateno=998877
pausemovetime=2147483647
supermovetime=2147483647

[Statedef 998877]
anim=998877  ;;  blank animation

[State ]
type=posset
trigger1=1
x=0
y=2147483647

[State ]
type=varset
trigger1=roundstate<3
var(0)=0

[State ]
type=varset
trigger1=ishelper
trigger1=root,hitdefattr=acs,ha,hp,ht
trigger2=numhelper
trigger2=helper,hitdefattr=acs,ha,hp,ht
var(0)=1

[State ]
type=assertspecial
trigger1=roundstate>2
trigger1=var(0)
flag=nomusic
    

Re: Detect projectile.

 May 04, 2017, 12:31:19 am View in topic context
 Posted by 2OS  in Detect projectile.(helper) (Started by inktrebuchet May 03, 2017, 03:45:18 pm
 Board: M.U.G.E.N Development Help

    

Re: Divine Requests

 April 21, 2017, 03:14:37 am View in topic context
 Posted by 2OS  in Divine Requests (Started by DW May 26, 2012, 02:47:39 am
 Board: Requests

that's the new template?

the hr body sprite i suggested you rid of right before i hiatus'd is on it?

ffs man

|8<





what is "enough palettes" i dont know what that means
    

Re: Discovery: Explod ownership is bugged (aka "how to make P1 use P2's sprites)

 April 19, 2017, 01:52:52 am View in topic context
 Posted by 2OS  in Discovery: Explod ownership is bugged (aka "how to make P1 use P2's sprites) (Started by Ricepigeon April 18, 2017, 06:42:15 pm
 Board: M.U.G.E.N Discussion

i've known this for years. i didn't think anyone would care so i didn't share it.

i discovered it through bindtime; after destroyself it looks for a new host to bind to and picks the next player (helper) to spawn regardless of who owns it.
    

Re: Divine Requests

 April 16, 2017, 08:50:00 pm View in topic context
 Posted by 2OS  in Divine Requests (Started by DW May 26, 2012, 02:47:39 am
 Board: Requests

wait what now?

the relatively overdone color separation was updated even further?

you lunatics

D8<
    

Re: Life Steal

 April 13, 2017, 06:59:01 am View in topic context
 Posted by 2OS  in Life Steal (Started by DingusMB April 12, 2017, 10:06:23 pm
 Board: M.U.G.E.N Development Help

the most universal way of doing this involves a small lesson in parsing.

code is processed top to bottom. this allows for differences between pre set variables (life in this case) and actual vars.

[State ]
type=lifeadd
trigger1=numenemy
trigger1=enemynear,life-var(0)>0
value=enemynear,life-var(0)

[State ]
type=null
trigger1=numenemy
trigger1=var(0):=enemynear,life

since the lifeadd is processed before the var there is a difference between the 2 values for 1 tick even though they're the same value. the advantage this has over gethitvar is it will work when targetlifeadd or lifeadd in custom states are ever used.

Warusaki3 used this concept for K-Groove and it's why the meter fills when someone hits F2.