Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Hitting a character that is lying on the ground, with input same as a regular punch
#1
What I want to make is a template that can kick another template while he's in his lying frames. I want him to do this without a special input, so simply by standing above him and hitting 'attack'

I know it is possible, SWU-Dennis was given a move like this when I was in the SWU LF2 team. It even worked correctly with the use of cpoint, something that I can't seem to get right.

It seems the SWU LF2 team never released Dennis with the move on him.. Too bad, because I wanted to study this data of course. Anyway, I have been trying some stuff myself, and now I have 2 options for this attack:

Method 1: Using a special input (DvA) and a cpoint. He can grab and attack the opponent, but afterwards, he jumps up.

Lying frame with bdy:
Code:
<frame> 230 lying
   pic: 34  state: 14  wait: 30  next: 219  dvx: 0  dvy: 0  centerx: 39  centery: 72  hit_a: 0  hit_d: 0  hit_j: 0
   wpoint:
      kind: 1  x: 35  y: 74  weaponact: 32  attacking: 0  cover: 0  dvx: 0  dvy: 0  dvz: 0
   wpoint_end:
      bdy:
   kind: 0  x: 15  y: -5  w: 50  h: 10
  bdy_end:
<frame_end>

Code:
<frame> 235 kick
   pic: 0  state: 3  wait: 2  next: 236  dvx: 0  dvy: 550  dvz: 0  centerx: 39  centery: 79  hit_a: 0  hit_d: 0  hit_j: 0
      itr:
      kind: 3  x: 15  y: -5  w: 50  h: 15  vrest: 7  
      catchingact: 236 236  caughtact: 239    throwvx: 0  throwvy: 6  throwvz: 0  throwinjury: 30
   itr_end:
<frame_end>

<frame> 236 kick
   pic: 95  state: 9  wait: 3  next: 237  dvx: 0  dvy: 550  dvz: 0  centerx: 39  centery: 79  hit_a: 0  hit_d: 0  hit_j: 0
   cpoint:
      kind: 1  x: 39 y: 0
      vaction: 239 aaction: 239  hurtable: 0
   cpoint_end:
<frame_end>

<frame> 237 kick
   pic: 81  state: 9  wait: 5  next: 238  dvx: 0  dvy: 550  dvz: 0  centerx: 39  centery: 79  hit_a: 0  hit_d: 0  hit_j: 0
  
   cpoint:
      kind: 1  x: 39  y: 0   vaction: 239 aaction: 239 hurtable: 0  injury: 65
   cpoint_end:
<frame_end>

<frame> 238 kick
   pic: 0  state: 9  wait: 10  next: 999  dvx: 0  dvy: 550  dvz: 0  centerx: 39  centery: 79  hit_a: 0  hit_d: 0  hit_j: 0
     sound: data\014.wav
   cpoint:
      kind: 1  x: 39  y: 0   vaction: 239 aaction: 239 hurtable: 0
   cpoint_end:
<frame_end>

<frame> 239 lying_caught_onback
   pic: 34  state: 10  wait: 100  next: 240  dvx: 0  dvy: 550  centerx: 39  centery: 72  hit_a: 0  hit_d: 0  hit_j: 0
   cpoint:
      kind: 2  x: 39  y: 0
   cpoint_end:
<frame_end>

<frame> 240 lying_caught_onback
   pic: 34  state: 10  wait: 0  next: 230  dvx: 0  dvy: 550  centerx: 39  centery: 72  hit_a: 0  hit_d: 0  hit_j: 0
<frame_end>

So the main problem is that after being hit, the hurt template should remain lying on the ground, but he jumps up. I've been trying to fix this for a couple of hours now...

The second problem is: can I diffirentiate between lying on the back or on the front, as you always send the opponent to one frame (frame 239)? Using '239 241' (where 241 would be lying on the front) doesn't work.


Method 2: using a special input without involving cpoint.

You just need the bdy in the lying frames and realise the hit using an itr.

itr:
kind: 0 x: 10 y: 0 w: 60 h: 10 dvx: 2 bdefend: 0 injury: 50 fall: -1 arest: 10
itr_end:

Fall: -1 is there so that the opponent won't go to his jumping frame.


So I really want to know
- how I can make this happen by pressing only 'attack' while standing above him;
- how to keep him on the ground, instead of jumping up after being caught;
- how to keep him in the same lying position as how you found him (so either face down, or face up)


I hope someone can help me with this. I couldn't find a solution on the forum.
Original character edits
Goku2021
LF2 Timelapse (open source mod)

Reply
Thanks given by:
#2
How about adding a bdy: to every lying frame, that is placed at y: 1000 or whatever, and an itr: placed at the same y: value in every attack frame that should be able to hit a character when lying. You may have to tweak it; I am particularly thinking of fall: in this case.
Age ratings for movies and games (and similar) have never been a good idea.
One can learn a lot from reinventing wheels.
An unsound argument is not the same as an invalid one.
volatile in C++ does not mean thread-safe.
Do not make APIs unnecessarily asynchronous.
Make C++ operator > again
Trump is an idiot.
Reply
Thanks given by:
#3
(03-14-2015, 06:00 PM)Memento Wrote:  
STM1993 Wrote:  EDIT:
Darn, Memento deleted his post.
Lol, I just decided it would be better to make a topic instead. Sorry :p
I'll read your post now and edit this one afterwards :p
Edit: it seems you have fixed most of my problem. I'll post the code here when I got it done :)


Edit2: I got it working except for one thing: the opponent shifts like 39 pixels backward after being hit. It appears to be happening in frame 238
I'll try to figure out more, later...
The jumping issue has been fixed, so I assume it's better to discuss other things in the new topic I made. Sorry for making it confusing.
Still a coordinates issue. I used "kind: 1 x: 78 y: 6" on frame 238 and the victim won't be displaced by 39 pixels behind and also won't be too high in the air leading to jumping issue.
    DC-Code:
<frame> 238 kick
   pic: 0 state: 9 wait: 10 next: 999 dvx: 0 dvy: 550 dvz: 0 centerx: 39 centery: 79 hit_a: 0 hit_d: 0 hit_j: 0
   cpoint:
     kind: 1 x: 78 y: 6
     vaction: 230 throwvy: 0 throwvz: -842150451 throwinjury: -842150451 dircontrol: -1 
   cpoint_end:
<frame_end>


The victim is moved to the catcher's position, so it might look a bit odd that the body is moving towards the catcher rather than the catcher moving towards the body. You can give the catcher an itr kind 8 at the beginning so he would align to the body before catching so its the catcher who suddenly moves to the body instead; I don't know a smoother method to do it.
[Image: uMSShyX.png]
~Spy_The_Man1993~
Steiner v3.00 (outdated), Challenge Stage v1.51
Luigi's Easier Data-Editor, A-Man's Sprite Mirrorer
Working on the LF2 Rebalance mod.
Avatar styled by: prince_freeza
Reply
Thanks given by: Memento
#4
Have you tried giving the lying bodies a bdy of a unique 'y' value and that putting an ik8 in punch's starting frame that has a dvx leading to the ground punch?
Also the lying bodies have another set of special y bodies which will get hit by the punch only..
(03-20-2016, 06:41 PM)mfc Wrote:  Be the unsqueezable sponge!
My new life motto!
Reply
Thanks given by:
#5
I just want to point out whether you've considered how future frames will be handled after the lying character gets hit. As it seems now (if you want to redirect the hit character back to the lying frames), the lying frame's "wait" will always reset each time the character is hit, so the attacker can indefinitely keep hurting the lying character who isn't able to get up.

That is unless you've already included some mechanic that allows for manual 'getting up' somehow, in which case I retract my statement.
Quote of the Day f***ing Year (Click to View)
Reply
Thanks given by:




Users browsing this thread: 1 Guest(s)