Edited your post only to put the <code> into it to make it easier to read.
I don't have enough time to dig through your code, but the double counting sounds like you're using a varadd where it needs to be a varset. OR You NEED to use a varadd, and once everything is done, it doesn't reset to 0. Use DisplayToClipboard to monitor the value(s) and you'll be able to see if something doesn't reset, or if it is actually going up by 2 instead of 1 or whatever.
For the birds not following P2, do something like a PosSet based off of P2's Pos.
[State 0, PosSet] type = PosSet trigger1 = Pos X != P2.Pos X x = P2.Pos X ignorehitpause = 1
[State 0, PosSet] type = PosSet trigger1 = Pos Y != P2.Pos Y y = P2.Pos Y ignorehitpause = 1
^^^ All that is wrong but you get the idea. You'll more than likely want the X and Y posset individual. You probably dont want the Y, and if you use the head height, obviously you dont want to use the pos y.
If you copy and paste a basic attack, and import the exact animation(s) it uses, it should work fine as long as you switch states to it. But like Nep Heart said, there's a lot more going on.
One thing that trips up new coders trying to duplicate moves is the actual hitdef. GO READ THE ENTIRE HITDEF in mugen class. Do it. Seriously. It'll take about 15 to 20 minutes but you'll know and understand a lot more once you get to the end. It's one of the links in the Mugen 101. So the animation has the blue and red boxes. The red boxes dont hurt P2 until a hitdef is defined. Here's the tricky part. If that hitdef doesn't trigger before the red boxes, it wont work. Countless people have this happen to them. Mainly because you dont see the animation while working on the code.
Another reason a move wont work is if it isn't set as an Attack. If the StateDef is set up wrong, or if a type = StateTypeSet sets to moveType = I
Those are two common mess ups. There are just far too many reasons why the move isn't working without some more details.
Not exactly who or how this character plays. But there'd be a massive delay on recovery to make up for the massive hitbox advantage. The first hit box frame would last 1 tic. The end hit box would be determined in game and edited down to probably 2 tics, maaaaybe 3. I should have extending his blue boxes to match where his arm first travels in the 1 tic attack frame, but that'd be worked out after a few tests.
Spoiler: LARGE GIF INSIDE(click to see content)
---- Yamori X, why would you be able to hit all that open blue above the ax?
Technically you CAN get P2 to get the sprites, but it's long and tedious and should only be done for certain things. My Sagat has a trick, P1 puts P2 into a custom state. Waaaaaaay under the map, P2 has a hit box and P1 spawns a hit box at that same spot. P2's in P1's custom state, but put's P1's helper into it's custom state allowing access
@MarioManX1983 do what Ink and Nep suggest and use Statedef -2 to spawn the helper/explod. Use P2's height as the Y position and you should be good. Maybe P2's Y pos + like 20 or 10 to have it above the head. You'll be using (enemynear,const()) if you're not sure how to get at it.
I would definitely look into Captain America/US Agent chars. You'll end up facing a problem of being 1 tic behind, and having the weapon being "pushed" around or being slow. I dont know if you'll need a specific tutorial for this. I'd just use basic tracking of states and anims of a particular helper. You could probably get away with never using a var to keep track of the different characteristics of the states it's in. But I'd think a basic At P1 state, Flying, and Dead/put away, states would be enough. Then switch the anim(s) on button presses and locations.
If the clone is constantly happening, it may be because of your character. Sometimes a custom state will switch to P2's state, but it wont exist. Same thing with animations. There are ways to make sure P2 has a custom animation and then you'd use that. If that animation doesn't exist, it will use a default animation from P1.
A lot of fireball reflection moves cause clones. Things that just make helpers disappear cause all types of issues if one or the other character isn't coded well.
Into State 0. I don't use any helpers that should ever go into state 0, and when a clone happens, they end up in state 0. This is just a super back up. Adding it hurts nothing. You WILL see the clone for a moment, but it'll die.
If you're not sure what helper is causing this issue, how do you know what helper to post the code for? Follow all of the states' changestates if there are any. When you get to the end add the destroyself. If it is a helper that's used just as an explod, you may want to remove the hitboxes from the animation. If the animation is used in a second state, you should duplicate the animation and have that 2nd one not have any boxes.
Use Ctrl+D in game to cycle through the players to the helper(s).
Try to make a set up where you can reproduce the mess up. There are plenty of ways a clone can happen. We need to know as many details as possible.
yeah, it'll cycle debug through the characters, including helpers. You get a set of basic info and you can also use DisplayToClipboard to display some values you'd like. Ctrl+C displays Collision boxes. There are a few buttons, F1 F2 F3 & F4 get used a lot in testing. The Spacebar gets used the most by me. Pause, F12. More than a few. But Ctrl+D and C are good for debugging purposes.
I'd suggest using changeanim2 if possible. But you may want to make the dizzy bird's be P1's state and not P2's. My reasoning is, once P2 is out of being dizzy, you can have the birds switch to an invisible state and stop the sound being played. You'll want to play the sound on a particular channel, and stop that particular channel in the bird's "death" state. You wont need much, a blank animation lasting a few tics, then stopsnd, and the destroyself.
When you say it just WONT work, do you mean it doesn't work at all? Just from reading it, it seems solid. I'm not too familiar with working with super armor but it seems like it should be fine.
I'd suggest using debug, Ctrl+D, to see what states everything is in when it messes up. You may also want to use CTRL+C to see the hitboxes. One thing I'd think to do is comment out the invisibility for the helper and make sure everything is working the way it should be, then commenting the invisibility back in. Just guessing if something's working or not working doesn't work the best.
As for the Baldi issues, I've only looked at some video of the character, but I doubt it's the best character to judge if your character is working properly.
Try to come up with a set way to test your character and find out what states are causing the issues.
You really should have been making helpers from the beginning. You might want to make a very basic projectile set up. Then figure out how to transfer your type = projectile info into a hitdef and what ever the other settings need. VelSet, VelAdd, ChangeAnim, those types of things. If you're not worried about releasing them and some users getting bugs, you can keep them as projectiles. Van's projectile system is pretty good though. You might want to learn how to follow it now. It'll help you out in the long run.
I'm not exactly sure how or why it's happening. I _believe_ I had this same problem with Yun&Yang. It's been so long since I've worked on that char I cant clearly remember. If you want to poke around in it, https://host-a.net/f/138308-yunyang718rar
Ask as many questions as you'd like. The way I usually do things is if it's one topic, obviously I search for related threads, but I'll post in 1 thread about 1 move. If I have a problem with say, jumping, I'd make a thread for that. If I have a second problem with a fireball I'll make a second thread. Having the two topics helps get people who'd know about the fireball NOT skip over a general help thread. People are more likely to read threads they know about.
Anyways, 1 rule around here is no double posting. You'll see an Edit button. Hit that and add on to your post. You'll see me do a ---- and continue. ---- ---- means it's been edited twice. Other people have other ways of marking their edits. Most dont do anything different. Up to you.