Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Body disappearing and projectile not showing sprites
#1
I began coding my own character(from experience, I can say that I have to touch that area waaaaay before sprites) and ran into some huge troubles.
I took Louis EX as my base. I put his normal attack(A) as Henry's windblast, but way weaker version. I also removed his second "Punch" row.
But now when I use attack, sometimes the character visibly disappears(comes back when I do anything) and the "backlash" of the attack never appears(the yellow lines on the ground).
The punching frames are:
Code:
<frame> 60 punch
  pic: 210  state: 3  wait: 2  next: 61  dvx: 0  dvy: 0  dvz: 0  centerx: 36  centery: 77  hit_a: 0  hit_d: 0  hit_j: 0
  opoint:
     kind: 1  x: 83  y: 44  action: 20  dvx: -5  dvy: 0  oid: 669  facing: 1
  opoint_end:
  bdy:
     kind: 0  x: 26  y: 12  w: 27  h: 68
  bdy_end:
<frame_end>

<frame> 61 punch
  pic: 211  state: 3  wait: 2  next: 62  dvx: 0  dvy: 0  dvz: 0  centerx: 28  centery: 77  hit_a: 0  hit_d: 0  hit_j: 0
 sound: data\007.wav
  opoint:
     kind: 1  x: 73  y: 44  action: 0  dvx: 0  dvy: 0  oid: 669  facing: 0
  opoint_end:
  bdy:
     kind: 0  x: 12  y: 9  w: 52  h: 68
  bdy_end:
<frame_end>

<frame> 62 punch
  pic: 212  state: 3  wait: 2  next: 999  dvx: 0  dvy: 0  dvz: 0  centerx: 28  centery: 77  hit_a: 0  hit_d: 0  hit_j: 0
  bdy:
     kind: 0  x: 11  y: 8  w: 54  h: 68
  bdy_end:
<frame_end>
The attack's entire file is:
Code:
<bmp_begin>
file(0-23): kezeal\kezeal_tk.bmp  w: 81  h: 82  row: 4  col: 6
weapon_hit_sound: data\020.wav
weapon_drop_sound: data\020.wav
weapon_broken_sound: data\020.wav
<bmp_end>


<frame> 0 flying
  pic: 0  state: 3005  wait: 2  next: 1  dvx: 27  dvy: 0  centerx: 40  centery: 41  hit_a: 0  hit_d: 0  hit_j: 0
  itr:
     kind: 0  x: 0  y: 5  w: 78  h: 73  dvx: 25  fall: 70  vrest: 20  bdefend: 60  injury: 40
  itr_end:
  bdy:
     kind: 0  x: 22  y: 27  w: 55  h: 27
  bdy_end:
<frame_end>

<frame> 1 flying
  pic: 1  state: 3005  wait: 2  next: 2  dvx: 36  dvy: 0  centerx: 35  centery: 41  hit_a: 0  hit_d: 0  hit_j: 0
  itr:
     kind: 0  x: 0  y: 4  w: 80  h: 75  dvx: 18  fall: 60  vrest: 20  bdefend: 36  injury: 27
  itr_end:
  bdy:
     kind: 0  x: 22  y: 27  w: 55  h: 27
  bdy_end:
<frame_end>

<frame> 2 flying
  pic: 2  state: 3005  wait: 1  next: 3  dvx: 27  dvy: 0  centerx: 36  centery: 41  hit_a: 0  hit_d: 0  hit_j: 0
  itr:
     kind: 0  x: 2  y: 1  w: 78  h: 78  dvx: 13  fall: 40  vrest: 20  bdefend: 16  injury: 10
  itr_end:
  bdy:
     kind: 0  x: 22  y: 27  w: 55  h: 27
  bdy_end:
<frame_end>

<frame> 3 flying
  pic: 3  state: 3005  wait: 1  next: 1000  dvx: 27  dvy: 0  centerx: 37  centery: 41  hit_a: 0  hit_d: 0  hit_j: 0
  itr:
     kind: 0  x: 2  y: 3  w: 79  h: 75  dvx: 9  fall: 20  vrest: 20  bdefend: 16  injury: 10
  itr_end:
  bdy:
     kind: 0  x: 22  y: 27  w: 55  h: 27
  bdy_end:
<frame_end>

<frame> 10 hiting
  pic: 0  state: 3001  wait: 1  next: 11  dvx: 0  dvy: 0  centerx: 39  centery: 41  hit_a: 0  hit_d: 0  hit_j: 0
<frame_end>

<frame> 11 hiting
  pic: 1  state: 3001  wait: 1  next: 12  dvx: 0  dvy: 0  centerx: 47  centery: 41  hit_a: 0  hit_d: 0  hit_j: 0
<frame_end>

<frame> 12 hiting
  pic: 2  state: 3001  wait: 1  next: 13  dvx: 0  dvy: 0  centerx: 57  centery: 41  hit_a: 0  hit_d: 0  hit_j: 0
<frame_end>

<frame> 13 hiting
  pic: 3  state: 3001  wait: 1  next: 1000  dvx: 0  dvy: 0  centerx: 67  centery: 41  hit_a: 0  hit_d: 0  hit_j: 0
<frame_end>

<frame> 20 hit
  pic: 4  state: 3002  wait: 2  next: 21  dvx: 0  dvy: 0  centerx: 51  centery: 41  hit_a: 0  hit_d: 0  hit_j: 0
<frame_end>

<frame> 21 hit
  pic: 5  state: 3002  wait: 1  next: 22  dvx: 0  dvy: 0  centerx: 59  centery: 41  hit_a: 0  hit_d: 0  hit_j: 0
<frame_end>

<frame> 22 hit
  pic: 6  state: 3002  wait: 1  next: 23  dvx: 0  dvy: 0  centerx: 54  centery: 38  hit_a: 0  hit_d: 0  hit_j: 0
<frame_end>

<frame> 23 hit
  pic: 7  state: 3002  wait: 1  next: 1000  dvx: 0  dvy: 0  centerx: 54  centery: 40  hit_a: 0  hit_d: 0  hit_j: 0
<frame_end>

<frame> 30 rebounding
  pic: 4  state: 3003  wait: 1  next: 31  dvx: 0  dvy: 0  centerx: 37  centery: 41  hit_a: 0  hit_d: 0  hit_j: 0
<frame_end>

<frame> 31 rebounding
  pic: 5  state: 3003  wait: 1  next: 32  dvx: 0  dvy: 0  centerx: 46  centery: 36  hit_a: 0  hit_d: 0  hit_j: 0
<frame_end>

<frame> 32 rebounding
  pic: 6  state: 3003  wait: 2  next: 33  dvx: 0  dvy: 0  centerx: 41  centery: 37  hit_a: 0  hit_d: 0  hit_j: 0
<frame_end>

<frame> 33 rebounding
  pic: 7  state: 3003  wait: 2  next: 1000  dvx: 0  dvy: 0  centerx: 37  centery: 39  hit_a: 0  hit_d: 0  hit_j: 0
<frame_end>

<frame> 40 disappearing
  pic: 0  state: 3005  wait: 1  next: 41  dvx: 0  dvy: 0  centerx: 37  centery: 41  hit_a: 0  hit_d: 0  hit_j: 0
<frame_end>

<frame> 41 disappearing
  pic: 1  state: 3005  wait: 1  next: 42  dvx: 0  dvy: 0  centerx: 37  centery: 41  hit_a: 0  hit_d: 0  hit_j: 0
<frame_end>

<frame> 42 disappearing
  pic: 2  state: 3005  wait: 1  next: 1000  dvx: 0  dvy: 0  centerx: 28  centery: 41  hit_a: 0  hit_d: 0  hit_j: 0
<frame_end>
And sometimes the attack doesn't seem to trigger either.

EDIT: I checked every single hit_a: as well, and the only one that had numbers was Louis EX's own blastpush, and there's no way that interrupted, or even made the character disappear.
EDIT2: I changed oid to 204(Henry's own wind file), and the sprite still didn't appear. That makes me think something is horribly wrong with the character's own code.
EDIT3: No "next:" pointed towards the deleted frames either...
Reply
Thanks given by:
#2
You can use [ code=dc ] instead of [ code ] btw.

The "backlash" does not occur because you used opoint on the first frame of an attack; Opoints will never spawn on the first frame of a move. You should clone frame 60 to frame 63, make frame 60 have wait: 0 and next: 63, frame 63 with wait: 1. So it should look like this:
    DC-Code:
<frame> 60 punch
  pic: 210  state: 3  wait: 0  next: 63  dvx: 0  dvy: 0  dvz: 0  centerx: 36  centery: 77  hit_a: 0  hit_d: 0  hit_j: 0
  bdy:
     kind: 0  x: 26  y: 12  w: 27  h: 68
  bdy_end:
<frame_end>
 
<frame> 61 punch
  pic: 211  state: 3  wait: 2  next: 62  dvx: 0  dvy: 0  dvz: 0  centerx: 28  centery: 77  hit_a: 0  hit_d: 0  hit_j: 0
 sound: data\007.wav 
  opoint:
     kind: 1  x: 73  y: 44  action: 0  dvx: 0  dvy: 0  oid: 669  facing: 0
  opoint_end:
  bdy:
     kind: 0  x: 12  y: 9  w: 52  h: 68
  bdy_end:
<frame_end>
 
<frame> 62 punch
  pic: 212  state: 3  wait: 2  next: 999  dvx: 0  dvy: 0  dvz: 0  centerx: 28  centery: 77  hit_a: 0  hit_d: 0  hit_j: 0
  bdy:
     kind: 0  x: 11  y: 8  w: 54  h: 68
  bdy_end:
<frame_end>
 
<frame> 63 punch
  pic: 210  state: 3  wait: 1  next: 61  dvx: 0  dvy: 0  dvz: 0  centerx: 36  centery: 77  hit_a: 0  hit_d: 0  hit_j: 0
  opoint:
     kind: 1  x: 83  y: 44  action: 20  dvx: -5  dvy: 0  oid: 669  facing: 1
  opoint_end:
  bdy:
     kind: 0  x: 26  y: 12  w: 27  h: 68
  bdy_end:
<frame_end>



The character disappears until you do something else because one of the frames has a next: that leads to a non-existant frame. Check if you removed frame 65 - you should copy frame 60 onto frame 65. Default attack is always chosen between frame 60 or 65 at random.
    DC-Code:
<frame> 65 punch
  pic: 210  state: 3  wait: 0  next: 63  dvx: 0  dvy: 0  dvz: 0  centerx: 36  centery: 77  hit_a: 0  hit_d: 0  hit_j: 0
  bdy:
     kind: 0  x: 26  y: 12  w: 27  h: 68
  bdy_end:
<frame_end>


As for the shockwave attack itself, the projectile is actually invisible. I don't see anything wrong with the 2nd opoint, you should be able to hit enemies. Your own projectile however, probably has a wrong sprite size or wrong pic number. Can you show us the sprite you are using?
[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: Kezeal
#3
(02-28-2015, 03:12 PM)STM1993 Wrote:  You can use [ code=dc ] instead of [ code ] btw.

The "backlash" does not occur because you used opoint on the first frame of an attack; Opoints will never spawn on the first frame of a move. You should clone frame 60 to frame 63, make frame 60 have wait: 0 and next: 63, frame 63 with wait: 1. So it should look like this:
Thank you!
(02-28-2015, 03:12 PM)STM1993 Wrote:  Default attack is always chosen between frame 60 or 65 at random.
Ohh!
(02-28-2015, 03:12 PM)STM1993 Wrote:  As for the shockwave attack itself, the projectile is actually invisible. I don't see anything wrong with the 2nd opoint, you should be able to hit enemies. Your own projectile however, probably has a wrong sprite size or wrong pic number. Can you show us the sprite you are using?
The sprite is literally copy of henry_wind.bmp



When I did the edits you told me, it works PERFECT!
I learned 2 new things: Don't use opoint on first frame, and there are 2 attacks that are chosen randomly, no matter whether the second exists or not.

Thank you very much.

EDIT: Can't find "Solved" button...
Reply
Thanks given by:




Users browsing this thread: 1 Guest(s)