Hi, everyone! I have been trying to get the pushblock on Megaman X to shove the opponent away. However, I cannot get the way to find the value in the coding to change the distance the advancing guard pushes you. Here is my code below. ;Guard Push (Stand)[Statedef 60000060]type = Smovetype= Iphysics = Npoweradd= 0velset = 10,0ctrl = 0anim = 60000060sprpriority = 2[State 6300, a1]type = VelMultrigger1 = 1x = 0.75[State 6300, a2]type = VelSettrigger1 = Time = 1x = 0[State 6300, a3]type = Widthtrigger1 = 1value = 10,0[State 6300, a4]type = NotHitBytrigger1 = Time = 0value = SCAtime = 30[State 6300, a5]type = Helpertrigger1 = Time = 0helpertype = Normalname = "GuardPush"postype = P1pos = -50,0stateno = 60000061ownpal = 1size.height = 200size.ground.back = 30size.ground.front = 30[State 6300, a6]type = Explodtrigger1 = Time = 0anim = 20300postype = p1pos = 53,-50;ownpal = 1vel = 2,0ignorehitpause = 1sprpriority = 7;scale = .5,.5[State 6300, a7]type = PlaySndtrigger1 = AnimElem = 1value = s8500,0volume = 255;channel = 1[State 6300, a8]type = PlaySndtrigger1 = AnimElem = 1value = s6300,0;channel = 0[State 6300, a9]type = ChangeStatetrigger1 = AnimTime = 0value = 0ctrl = 1;---------------------------------------------------------------------------;Guard Push (Crouch)[Statedef 60000062]type = Cmovetype= Iphysics = Npoweradd= 0velset = 10,0ctrl = 0anim = 60000062sprpriority = 2[State 6310, a1]type = VelMultrigger1 = 1x = 0.75[State 6310, a2]type = VelSettrigger1 = Time = 1x = 0[State 6310, a3]type = Widthtrigger1 = 1value = 10,0[State 6310, a4]type = NotHitBytrigger1 = Time = 0value = SCAtime = 30[State 6310, a5]type = Helpertrigger1 = Time = 0helpertype = Normalname = "GuardPush"postype = P1pos = -50,0stateno = 60000061ownpal = 1size.height = 200size.ground.back = 30size.ground.front = 30[State 6310, a6]type = Explodtrigger1 = Time = 0anim = 20300postype = p1pos = 33,-45;ownpal = 1vel = 2,0ignorehitpause = 1sprpriority = 7;scale = .5,.5[State 6310, a7]type = PlaySndtrigger1 = AnimElem = 1value = s8500,0volume = 255;channel = 1[State 6310, a8]type = PlaySndtrigger1 = AnimElem = 1value = s6300,0;channel = 0[State 6310, a9]type = ChangeStatetrigger1 = AnimTime = 0value = 11ctrl = 1;---------------------------------------------------------------------------;Guard Push (air)[Statedef 60000063]type = Smovetype= Iphysics = Npoweradd= 0velset = 10,0ctrl = 0anim = 60000063sprpriority = 2[State 6320, a1]type = VelMultrigger1 = 1x = 0.75[State 6320, a2]type = VelSettrigger1 = Time = 1x = 0[State 6320, a3]type = Widthtrigger1 = 1value = 10,0[State 6320, a4]type = NotHitBytrigger1 = Time = 0value = SCAtime = 30[State 6320, a5]type = Helpertrigger1 = Time = 0helpertype = Normalname = "GuardPush"postype = P1pos = -50,0stateno = 60000061ownpal = 1size.height = 200size.ground.back = 30size.ground.front = 30[State 6320, a6]type = Explodtrigger1 = Time = 0anim = 20300postype = p1pos = 33,-55;ownpal = 1vel = 2,0ignorehitpause = 1sprpriority = 7;scale = .5,.5[State 6320, a7]type = PlaySndtrigger1 = AnimElem = 1value = s8500,0volume = 255;channel = 1[State 6320, a8]type = PlaySndtrigger1 = AnimElem = 1value = s6300,0;channel = 0[State 6320, a9]type = ChangeStatetrigger1 = AnimTime = 0value = 51ctrl = 1;---------------------------------------------------------------------------;Guard Push (Helper)[Statedef 60000061]type = Smovetype= Iphysics = Npoweradd= 0ctrl = 0anim = 60000061sprpriority = -4[State 6350, a1]type = PlayerPushtrigger1 = Time >= 0value = 1[State 6350, a2]type = VelSettrigger1 = Time = 0x = 600[State 6350, a3]type = VelSettrigger1 = Time >= 0x = 600[State 6350, a4]type = VelSettrigger1 = Time >= 0x = 600[State 6350, a5]type = NotHitBytrigger1 = 1value = SCAtime = 1[State 6350, a6]type = DestroySelftrigger1 = Time >= 18;---------------------------------------------------------------------------------------------What am I missing in my code to get the advancing guard to push the opponent back? I tried to change the Velset at the helper section to large numbers to see if I would see any difference in distance, but it still did nothing. If anyone has the answer and would help I would greatly appreciate it. Thank you and have a great day!
So let me get this straight, is the guard a helper? also, are you trying to create a wall that pushes the opponent to a specific direction?If that's the case, you need the wall (helper) to stick to the player at all times even when moving, otherwise the helper will just go right through.
I see in the code that it has the animation for the guard helper in the different states for standing, crouching, and jumping, so I am guessing it is a helper. Yes, in response to the question about the wall pushing the opponent, I am trying to have the pushblock similar to the mvc2 version where it pushes the opponent back after pressing x+y during guarding to break rushdown and pressure. I am not sure what to do to make it move with the player at all times though.
Ah, okay. I had to watch a youtube video to figure out what "pushblock" exactly is in MVC2. I kinda got the jist of it now.You would definitely need some kind of a helper in order for this to work. Thankfully I had to recreate something very similar for one of my own projects very recently, so I'm pretty experienced with this feature.First things first, your velocity is way too fast. 600 will make the helper pass through the player even if the CLSN is big.And I think I said this before, but you have redundant sctrls that don't do anything again.Code: [State 6350, a2]type = VelSettrigger1 = Time = 0x = 600[State 6350, a3]type = VelSettrigger1 = Time >= 0x = 600[State 6350, a4]type = VelSettrigger1 = Time >= 0x = 600All of these are doing the same thing, just keep one. You really need to fix this habit.Keep one and change the x value from 600 to smth around 20.Code: [State 6350]type = VelSettrigger1 = 1x = 20That should be enough.Next, try adding this code:Code: [State 6350, PosSet]type = PosSettrigger1 = !timex = floor(enemynear(0), pos X)+ifelse(facing=1,-50,50)ignorehitpause = 1persistent = 1This will ensure that the helper (aka the Wall) will stay at least 50 pixels in front of the opponent and prevent it from passing through at all times.Try this method and get back to me.
you can look in any of my characters for the code under "Guard Push", also your helper must have a blank animation with CLNS2 topush the P2 back. Also this doesnt work if P2 has his back against the wall. For that situation you will have to set a velset for P1.let me know if you need more helpMGMURROW
Thank you both! Kolossoni's code for the PoSSet works. I am just wondering though, how can I increase the distance of the guardpush?
I'm glad to hear the code worked as intended however, I'm not really grasping the idea of "increasing the distance" of guardpush.Do you mean to push the opponent farther? or to make the hitbox bigger? I need you to be more specific for a better solution.
I meant for the guardpush to push the opponent further. I am not sure what increasing the collision box would do.
If you have a hitdef assigned to an attack, try changing the push back value.If the helper is the problem, I think it may be due to it destroying itself too early. Maybe try increasing the time it takes before it destroys itself.
Thank you Kolossoni! Also I was not sure, but what can I put in the coding to increase the velocity that the helper pushes back the opponent when I do the advancing guard?
In you helper state it has a velset, just increase the x value. Check any of my characters, they have everything you need or post the helper state code so we can show you exactly what you need to modifyHope this helpsMGMURROW
Advancing Guard refers to the pushblock in Marvel VS Capcom 3. It is the same thing as a pushblock. I was just using the terms interchangeably. I have my code for the helper state the pushblock here, and I have been trying to alter the velset to change the velocity but I get nothing. ;Guard Push (Helper)[Statedef 60000064]type = Smovetype= Iphysics = Npoweradd= 0ctrl = 0anim = 60000061sprpriority = -4[State 6350, a1]type = PlayerPushtrigger1 = Time >= 0value = 1[State 6350, a2]type = VelSettrigger1 = Time = 0x = 30[State 6350, a3]type = VelSettrigger1 = Time = 0x = 20[State 6350, a4]type = VelSettrigger1 = Time >= 0x = 10[State 6350, PosSet]type = PosSettrigger1 = !timex = floor(enemynear(0), pos X)+ifelse(facing=1,-180,180)ignorehitpause = 1persistent = 1[State 6350, a5]type = NotHitBytrigger1 = 1value = SCAtime = 1[State 6350, a6]type = DestroySelftrigger1 = Time = 70I am not sure which I change to make the velocity of the pushback of the pushblock faster.
That's because you have redundant codes that do the same thing.You have three velset triggers.Use only one.
Ki$@1st456v said, May 12, 2022, 05:08:32 pm;Guard Push (Helper)[Statedef 60000064]type = Smovetype= Iphysics = Npoweradd= 0ctrl = 0anim = 60000061sprpriority = -4[State 6350, a1]type = PlayerPushtrigger1 = Time >= 0value = 1[State 6350, a2]type = VelSettrigger1 = Time = 0x = 30[State 6350, PosSet]type = PosSettrigger1 = !timex = floor(enemynear(0), pos X)+ifelse(facing=1,-180,180)ignorehitpause = 1persistent = 1[State 6350, a5]type = NotHitBytrigger1 = 1value = SCAtime = 1[State 6350, a6]type = DestroySelftrigger1 = Time = 70 <———-this might need to be lowered, my code is like 5I am not sure which I change to make the velocity of the pushback of the pushblock faster.But like I said if p2 is close to the edge of the screen then this will not work, you will have to use a velset for p1 to get the effect, look at any of my characters for the code and modify it as you needMGMURROW
Thanks again Kolossoni! The multiple velsets in the coding of the Guard Helper came that way from REDHOT's Cyclops that I was using, but I had to get rid of both the first and the third velsets because the second velset was the one affecting velocity. Thank you both again. This topic is solved.