dantedevil
Well-known member
Recently since I used weapons, I found a rare bug in the common attacks of the enemies.
Here an example:
SLICER with the normal attacks:
And here SLICER2 (enemy wepon knife):
Well, the problems comes with the DASHER attack, as you see both have this move.
Sometime the enemy make this move, but the @cmd dasher not work, I mean the enemy perfoms the attack withoy moving of his place. This happend in the SLICER and SLICER2 too.
At the beginning, in SLICER and SLICER2 I had the numbered attacks equal, but in the end I ended up changing them in SLICER 2, to see if it solved the problem, but it did not help,
Here an example:
SLICER with the normal attacks:
Code:
health 60
speed 10
type enemy
risetime -200 -200
gfxshadow 1
aggression -30
falldie 2
projectilehit enemy obstacle
hmap 1 5
fmap 2
noquake 1
aimove Avoidz
aimove chasex
weapons none SLICER2 none none SLICER
icon data/chars/gang1/slicer/icon.png 1
#diesound data/sounds/m3death.wav
takedamagescript data/scripts/storing.c
animationscript data/scripts/escript.h
palette data/chars/gang1/slicer/idle0.png
alternatepal data/chars/gang1/slicer/map.png
alternatepal data/chars/gang1/slicer/map2.png
alternatepal data/chars/gang1/slicer/map3.png
alternatepal data/chars/gang1/slicer/map4.png
alternatepal data/chars/gang1/slicer/map5.png
alternatepal data/chars/gang1/slicer/map6.png
alternatepal data/chars/gang1/slicer/map7.png
ondeathscript data/scripts/death3.c
defense normal4 0
load slicer_bp
anim idle
loop 1
delay 20
offset 82 177
bbox 58 80 42 99
@cmd clearL
frame data/chars/gang1/slicer/idle0.png
frame data/chars/gang1/slicer/idle1.png
delay 28
frame data/chars/gang1/slicer/idle2.png
delay 20
frame data/chars/gang1/slicer/idle1.png
anim walk
loop 1
offset 82 177
bbox 58 80 42 99
delay 10
frame data/chars/gang1/slicer/w1.png
frame data/chars/gang1/slicer/w2.png
frame data/chars/gang1/slicer/w3.png
frame data/chars/gang1/slicer/w4.png
frame data/chars/gang1/slicer/w5.png
frame data/chars/gang1/slicer/w6.png
frame data/chars/gang1/slicer/w7.png
frame data/chars/gang1/slicer/w8.png
frame data/chars/gang1/slicer/w9.png
anim walkoff
loop 0
delay 1
landframe 2
offset 82 155
bbox 66 48 39 103
frame data/chars/gang1/slicer/j1.png
delay 999
frame data/chars/gang1/slicer/j1.png
delay 8
offset 82 177
bbox 63 95 35 85
frame data/chars/gang1/slicer/rise3.png
anim get
@script
if(frame==1){
void self = getlocalvar("self");
int RilMHP = getentityvar(self, 8);
int Dams = getentityvar(self, 9);
changeentityproperty(self, "maxhealth", RilMHP);
changeentityproperty(self, "health", RilMHP - Dams);
}
@end_script
loop 0
offset 82 177
delay 6
frame data/chars/gang1/slicer/rise3.png
delay 25
frame data/chars/gang1/slicer/rise2.png
delay 6
frame data/chars/gang1/slicer/rise3.png
anim attack1
range 0 80
loop 0
delay 5
offset 82 177
bbox 58 80 42 99
frame data/chars/gang1/slicer/a1.png
sound data/sounds/m3at1.wav
frame data/chars/gang1/slicer/a2.png
frame data/chars/gang1/slicer/a3.png
hitfx data/sounds/beat3.wav
attack 96 107 76 10 8 1 0 0 15
frame data/chars/gang1/slicer/a4.png
attack 0 0 0 0 0
frame data/chars/gang1/slicer/a4.png
frame data/chars/gang1/slicer/a3.png
frame data/chars/gang1/slicer/a2.png
frame data/chars/gang1/slicer/a1.png
#DASHER
anim attack2
range 80 140
loop 0
delay 9
offset 82 177
bbox 76 108 35 80
frame data/chars/gang1/slicer/rise3.png
delay 22
bbox 74 126 33 58
frame data/chars/gang1/slicer/rise2b.png
delay 4
bbox 63 128 53 50
@cmd dasher 1 0 0
sound data/sounds/slide.wav
frame data/chars/gang1/slicer/slide1.png
@cmd dasher 2 0 0
frame data/chars/gang1/slicer/slide1.png
hitfx data/sounds/beat0.wav
attack 106 158 57 22 10 1 0 0 5
dropv 2 1 0
bbox 55 134 63 47
@cmd dasher 4 0 0
frame data/chars/gang1/slicer/slide2.png
@cmd dasher 6 0 0
frame data/chars/gang1/slicer/slide2.png
@cmd dasher 4 0 0
frame data/chars/gang1/slicer/slide2.png
@cmd dasher 2 0 0
frame data/chars/gang1/slicer/slide2.png
@cmd dasher 1 0 0
frame data/chars/gang1/slicer/slide2.png
@cmd stop
attack 0 0 0 0
delay 12
frame data/chars/gang1/slicer/slide2.png
bbox 58 80 42 99
frame data/chars/gang1/slicer/slide1.png
bbox 74 126 33 58
frame data/chars/gang1/slicer/rise2b.png
bbox 76 108 35 80
frame data/chars/gang1/slicer/rise3.png
anim jumpattack
range 140 170
delay 10
offset 82 155
bbox 66 48 39 103
sound data/sounds/jump.wav
frame data/chars/gang1/slicer/j1.png
bbox 63 49 48 69
sound data/sounds/m3at3.wav
frame data/chars/gang1/slicer/j2.png
offset 82 125
bbox 64 52 60 52
frame data/chars/gang1/slicer/j3.png
delay 34
hitfx data/sounds/beat3.wav
hitflash flash2
attack 112 102 51 19 10 1 0 0 20
bbox 62 60 48 47
frame data/chars/gang1/slicer/j4.png
attack 0 0 0 0 0 0
delay 12
bbox 64 52 60 52
frame data/chars/gang1/slicer/j3.png
offset 82 155
bbox 63 49 48 69
frame data/chars/gang1/slicer/j2.png
bbox 66 48 39 103
frame data/chars/gang1/slicer/j1.png
And here SLICER2 (enemy wepon knife):
Code:
load knife2
typeshot 0
weaploss 0
modelflag 1
icon data/chars/gang1/slicer/icon.png 1
takedamagescript data/scripts/storing.c
animationscript data/scripts/escript.h
palette data/chars/gang1/slicer/idle0.png
alternatepal data/chars/gang1/slicer/map.png
alternatepal data/chars/gang1/slicer/map2.png
alternatepal data/chars/gang1/slicer/map3.png
alternatepal data/chars/gang1/slicer/map4.png
alternatepal data/chars/gang1/slicer/map5.png
alternatepal data/chars/gang1/slicer/map6.png
alternatepal data/chars/gang1/slicer/map7.png
anim idle
loop 1
delay 20
offset 82 177
bbox 58 80 42 99
@cmd clearL
frame data/chars/gang1/slicer/idle0.png
frame data/chars/gang1/slicer/idle1.png
delay 28
frame data/chars/gang1/slicer/idle2.png
delay 20
frame data/chars/gang1/slicer/idle1.png
anim walk
loop 1
offset 82 177
bbox 58 80 42 99
delay 10
frame data/chars/gang1/slicer/w1.png
frame data/chars/gang1/slicer/w2.png
frame data/chars/gang1/slicer/w3.png
frame data/chars/gang1/slicer/w4.png
frame data/chars/gang1/slicer/w5.png
frame data/chars/gang1/slicer/w6.png
frame data/chars/gang1/slicer/w7.png
frame data/chars/gang1/slicer/w8.png
anim walkoff
loop 0
delay 1
landframe 2
offset 82 155
bbox 66 48 39 103
frame data/chars/gang1/slicer/j1.png
delay 999
frame data/chars/gang1/slicer/j1.png
delay 8
offset 82 177
bbox 63 95 35 85
frame data/chars/gang1/slicer/rise3.png
anim get
loop 0
offset 82 177
delay 25
frame data/chars/gang1/slicer/rise2.png
delay 6
frame data/chars/gang1/slicer/rise3.png
anim attack1
range 200 350
@script
void self = getlocalvar("self"); //Caller.
if(frame>=1){
void vEntity; //Target entity placeholder.
int iEntity; //Entity enumeration holder.
char iName; //Entity Name.
int iMax = openborvariant("count_entities"); //Entity count.
int C = 0;
//Enumerate and loop through entity collection.
for(iEntity=0; iEntity<iMax; iEntity++){
vEntity = getentity(iEntity); //Get target entity from current loop.
iName = getentityproperty(vEntity, "name"); //Get target name.
if(iName == "Knife"){
C = C + 1;
}
}
if(C >= 3){
performattack(self, openborconstant("ANI_FOLLOW2"));
}
}
@end_script
loop 0
delay 1
offset 82 177
bbox 58 80 42 99
frame data/chars/gang1/slicer/idle0.png
@script
void vSelf = getlocalvar("self");
int xpos = openborvariant("xpos");
int rWidth = openborvariant("hResolution");
int x = getentityproperty(vSelf, "x");
if(! (x > xpos && x < xpos + rWidth)){
setidle(vSelf);
}
@end_script
frame data/chars/gang1/slicer/throwk01.png
delay 20
sound data/sounds/sw1.wav
frame data/chars/gang1/slicer/throwk01.png
delay 6
sound data/sounds/m3at0.wav
frame data/chars/gang1/slicer/throwk02.png
frame data/chars/gang1/slicer/throwk03.png
@cmd antiwall 40 -40 -1
frame data/chars/gang1/slicer/throwk04.png
sound data/sounds/knife.wav
delay 4
@cmd shooter2 "knife2" 50 85 -1 2.8 0 0
frame data/chars/gang1/slicer/throwk05.png
delay 60
frame data/chars/gang1/slicer/throwk05.png
anim follow2
loop 0
@script
void vSelf = getlocalvar("self");
int xpos = openborvariant("xpos");
int rWidth = openborvariant("hResolution");
int x = getentityproperty(vSelf, "x");
if(! (x > xpos && x < xpos + rWidth)){
setidle(vSelf);
}
@end_script
delay 1
offset 82 177
bbox 58 80 42 99
frame data/chars/gang1/slicer/throwk01.png
throwframe 6 1
custknife eflash
frame data/chars/gang1/slicer/throwk01.png
delay 20
sound data/sounds/sw1.wav
frame data/chars/gang1/slicer/throwk01.png
delay 6
sound data/sounds/m3at0.wav
frame data/chars/gang1/slicer/throwk02.png
frame data/chars/gang1/slicer/throwk03.png
@cmd antiwall 40 -40 -1
frame data/chars/gang1/slicer/throwk04.png
sound data/sounds/knife.wav
delay 4
@cmd shooter2 "knife2" 50 85 -1 2.8 0 0
frame data/chars/gang1/slicer/throwk05.png
delay 60
frame data/chars/gang1/slicer/throwk05.png
anim attack2
range 0 80
loop 0
delay 5
offset 82 177
bbox 58 80 42 99
frame data/chars/gang1/slicer/a1.png
sound data/sounds/m3at1.wav
frame data/chars/gang1/slicer/a2.png
frame data/chars/gang1/slicer/a3.png
hitfx data/sounds/beat3.wav
attack 96 107 76 10 8 1 0 0 15
frame data/chars/gang1/slicer/a4.png
attack 0 0 0 0 0
frame data/chars/gang1/slicer/a4.png
frame data/chars/gang1/slicer/a3.png
frame data/chars/gang1/slicer/a2.png
frame data/chars/gang1/slicer/a1.png
#DASHER
anim attack3
range 80 140
loop 0
delay 9
offset 82 177
bbox 76 108 35 80
frame data/chars/gang1/slicer/rise3.png
delay 22
bbox 74 126 33 58
frame data/chars/gang1/slicer/rise2b.png
delay 4
bbox 63 128 53 50
@cmd dasher 1 0 0
sound data/sounds/slide.wav
frame data/chars/gang1/slicer/slide1.png
@cmd dasher 2 0 0
frame data/chars/gang1/slicer/slide1.png
hitfx data/sounds/beat0.wav
attack 106 158 57 22 10 1 0 0 5
dropv 2 1 0
bbox 55 134 63 47
@cmd dasher 4 0 0
frame data/chars/gang1/slicer/slide2.png
@cmd dasher 6 0 0
frame data/chars/gang1/slicer/slide2.png
@cmd dasher 4 0 0
frame data/chars/gang1/slicer/slide2.png
@cmd dasher 2 0 0
frame data/chars/gang1/slicer/slide2.png
@cmd dasher 1 0 0
frame data/chars/gang1/slicer/slide2.png
@cmd stop
attack 0 0 0 0
delay 12
frame data/chars/gang1/slicer/slide2.png
bbox 58 80 42 99
frame data/chars/gang1/slicer/slide1.png
bbox 74 126 33 58
frame data/chars/gang1/slicer/rise2b.png
bbox 76 108 35 80
frame data/chars/gang1/slicer/rise3.png
anim jumpattack
range 130 170
delay 10
offset 82 155
bbox 66 48 39 103
sound data/sounds/jump.wav
frame data/chars/gang1/slicer/j1.png
bbox 63 49 48 69
sound data/sounds/m3at3.wav
frame data/chars/gang1/slicer/j2.png
offset 82 125
bbox 64 52 60 52
frame data/chars/gang1/slicer/j3.png
delay 34
hitfx data/sounds/beat3.wav
hitflash flash2
attack 112 102 51 19 10 1 0 0 20
bbox 62 60 48 47
frame data/chars/gang1/slicer/j4.png
attack 0 0 0 0 0 0
delay 12
bbox 64 52 60 52
frame data/chars/gang1/slicer/j3.png
offset 82 155
bbox 63 49 48 69
frame data/chars/gang1/slicer/j2.png
bbox 66 48 39 103
frame data/chars/gang1/slicer/j1.png
Well, the problems comes with the DASHER attack, as you see both have this move.
Sometime the enemy make this move, but the @cmd dasher not work, I mean the enemy perfoms the attack withoy moving of his place. This happend in the SLICER and SLICER2 too.
At the beginning, in SLICER and SLICER2 I had the numbered attacks equal, but in the end I ended up changing them in SLICER 2, to see if it solved the problem, but it did not help,