two buttons

jiam

Member
may make an attack by pressing two buttons at once?

example: com a4 + a3 freespecial4 # elbow
 
in mobile, for examples, its not very precise.
The animation ATTACKBOTH is triggered by pressing ATTACK and JUMP too, but you need to set "ajspecial 1"

ATTACKBOTH {players}

~Optional.
~An attack. Players use this if they hold attack and then press jump.
~This cannot be used if the player has a BLOCK animation. If MODELS.txt has 'ajspecial 1', this is replaced by the special attack.
 
jiam said:
It is very complicated? :-\

Check this sample keyscript:

Code:
void main()
{
    int iPlIndex = getlocalvar("player"); //Get calling player
    void vSelf = getplayerproperty(iPlIndex , "entity"); //Get calling entity
    void vAniID = getentityproperty(vSelf,"animationID"); //Get current animation ID
    void vAniPos = getentityproperty(vSelf, "animpos"); //Get current animation frame
    int iDir = getentityproperty(vSelf, "direction");  //Get current facing direction
    float A1 = getentityvar(vSelf, 1);
    float A2 = getentityvar(vSelf, 2);

    void iUp = playerkeys(iPlIndex, 1, "moveup"); // New key status of "Up"
    void iDown = playerkeys(iPlIndex, 1, "movedown"); // New key status of "Down"
    void iLeft = playerkeys(iPlIndex, 1, "moveleft"); // New key status of "Left"
    void iRight = playerkeys(iPlIndex, 1, "moveright"); // New key status of "Right"
    void iJump = playerkeys(iPlIndex, 1, "jump"); //New key status of "Jump"
    void iSpecial = playerkeys(iPlIndex, 1, "Special"); //New key status of "Special"
    void iAttack = playerkeys(iPlIndex, 1, "attack"); //New key status of "Attack"
    void iAttack2 = playerkeys(iPlIndex, 1, "attack2"); // New key of "Attack 2"

    if(iAttack){
      if(A1 == NULL()){
        A1 = openborvariant("elapsed_time");
        setentityvar(vSelf, 1, A1); // Store current time in variable if Attack is pressed
      }
    }

    if(A1 <= openborvariant("elapsed_time") - 10){
      A1 = NULL();
      setentityvar(vSelf, 1, NULL()); // Clear variable if "Attack" pressed time has expired
    }

    if(iAttack2){
      if(A2 == NULL()){
        A2 = openborvariant("elapsed_time");
        setentityvar(vSelf, 2, A2); // Store current time in variable if Attack2 is pressed
      }
    }

    if(A2 <= openborvariant("elapsed_time") - 10){
      A2 = NULL();
      setentityvar(vSelf, 2, NULL()); // Clear variable if "Attack2" pressed time has expired
    }

    if(A1 != NULL() && A2 != NULL()){ // Both Attack and Attack2 are pressed within 5 centiseconds time?
      if(vAniID == openborconstant("ANI_ATTACK1") || vAniID == openborconstant("ANI_FREESPECIAL") ){
        performattack(vSelf, openborconstant("ANI_FOLLOW1")); // Action
      }
    }
}

It is impossible technically for 2 buttons to be pressed at exact same time (one button must be pressed slightly before the other), therefore this keyscript takes key press event for Attack and Attack2 and store current time in a variable each.
Both variable will be checked before allowing 2 buttons actions to be performed.

Now, as I said above, since one button is more likely to be pressed before the other, character will respond to the first button and change animation based on this.
In above example, if Attack is pressed before Attack2, character will perform ATTACK1 animation, if Attack2 is pressed before, character will perform FREESPECIAL (it is set by com A2 freespecial BTW).
When Attack and Attack2 are pressed, character will be in either ATTACK1 or FREESPECIAL animation. That's why those 2 possibilities are checked in keyscript above.

If all conditions are met, character is allowed to perform FOLLOW1

Last, those variables used above won't clear themselves on their own so 2 script to clear those 2 when pressed time has expired i.e more than 5 centiseconds

Does this sound complicated?  :)
 
Not that much complicated, Jiam.

I'm not into scripting, but the idea is:

you cannot do A and A2(A+A2), only "A,A2" or "A2,A"
To make it possible it will be simulated.
In each way it start first imput, then check for second one.
Something like that...

Now, how to apply it exactly?
I mean, in character file.
 
In each way it start first imput, then check for second one.
Something like that...

Yes, that's correct. Since OpenBoR doesn't store key pressed status, script above store it in entity variable.

Now, how to apply it exactly?
I mean, in character file.

In a keyscript, copy above script in a .c file say two.c then declare it with something like:

keyscript data/scripts/two.c
 
I have already tried,  :)  thanks for the script

but the result is not very good  :-\
I have to press the buttons many times to do the attack,is not very accurate

"There is no other way?"
 
That's strange, it's accurate enough to me.
Maybe you don't press 2 buttons quick enough.

Try changing these values:

Code:
    if(A1 <= openborvariant("elapsed_time") - 10){
      A1 = NULL();
      setentityvar(vSelf, 1, NULL()); // Clear variable if "Attack" pressed time has expired
    }

    if(A2 <= openborvariant("elapsed_time") - 10){
      A2 = NULL();
      setentityvar(vSelf, 2, NULL()); // Clear variable if "Attack2" pressed time has expired
    }

to this:

Code:
    if(A1 <= openborvariant("elapsed_time") - 20){
      A1 = NULL();
      setentityvar(vSelf, 1, NULL()); // Clear variable if "Attack" pressed time has expired
    }

    if(A2 <= openborvariant("elapsed_time") - 20){
      A2 = NULL();
      setentityvar(vSelf, 2, NULL()); // Clear variable if "Attack2" pressed time has expired
    }
 
conflicts with freespecial2. "is not very well"

Code:
name	billy
health	200
speed	8
type	player
gfxshadow 1
grabdistance 19
falldie    2
nodieblink 2
weapons        billy1 billy2 billy3 billy4 billy5 billy6 billy7 billy8 billy9 billy10 billy11 billy12 billy13 none
noquake     1
makeinv     1
playshotno  sp
typeshot    1
running	20	3	2	0
jumpheight 3
risetime            -2
antigrab 2
nolife  1
combostyle 2
atchain       1 2 3 0 0
grabfinish 1
icon	data/chars/billy/icon.gif
candamage  player enemy npc

keyscript data/scripts/dos_botones.c #two buttons

parrow   data/chars/billy/1p.gif -10 -79
parrow2  data/chars/billy/2p.gif -11 -79

com u u freespecial  # cabezazo "cambiarlo a f f cuando elimine correr"
com a2  freespecial2 # patada
com a3	freespecial3 # patada con salto hacia atras
com a4  freespecial4 # codazo
com s	freespecial5 # hurricane_kick
#anim   attackboth   # patada con salto hacia alante
com a a2 freespecial6 # dos botones en pruebas (two buttons)


palette data/chars/billy/paleta.gif

remap    data/chars/billy/wk1.gif       data/chars/billy/alter.gif
remap    data/chars/billy/wk1.gif       data/chars/billy/alter2.gif
remap    data/chars/billy/wk1.gif       data/chars/billy/alter3.gif
remap    data/chars/billy/wk1.gif       data/chars/billy/alter4.gif
remap    data/chars/billy/wk1.gif       data/chars/billy/alter5.gif
remap    data/chars/billy/wk1.gif       data/chars/billy/alter6.gif
remap    data/chars/billy/wk1.gif       data/chars/billy/alter7.gif

anim	freespecial6
	loop	0
	delay	10
	bbox	58 71 18 58
	offset	64 131
	jumpframe 1 2.5
        flipframe 0
	frame	data/chars/billy/j1.gif
	frame	data/chars/billy/j2.gif
        sound	data/sounds/dragon.wav
	delay	20
	offset	64 131
	frame	data/chars/billy/j3.gif
	attack6	76 85 18 21 18 1 0 0 0 0
	offset	64 131
	frame	data/chars/billy/j4.gif
	attack	0 0 0 0
	delay	5
	offset	64 131
	frame	data/chars/billy/j5.gif

#pulsando ataque y salto a la vez hace patada con salto hacia alante con "attackboth"
anim    attackboth
	loop	0
	delay	12
	bbox	59 78 17 38
	offset	65 131
	sound	data/sounds/dragon.wav
	bbox	59 78 17 38
	frame	data/chars/billy/rc1.gif
	frame	data/chars/billy/rc2.gif
	jumpframe	2 -3
	frame	data/chars/billy/rc3.gif
	delay	20
	attack	73 84 29 25 18 1 0 0 0 0
	frame	data/chars/billy/rc4.gif
	delay	10
	attack	0 0 0 0
	frame	data/chars/billy/rc5.gif
	frame	data/chars/billy/rise.gif

anim    freespecial
        loop	0
	delay	15
	offset	65 131
	bbox	58 71 18 58
	sound	data/sounds/dragon.wav
	frame	data/chars/billy/cabeza1.gif
	attack	82 114 8 15 14 1 0 0 0 0
	frame	data/chars/billy/cabeza2.gif

anim	attack1
	loop	0
	delay	8
	bbox	58 72 18 60
	offset	65 131
	frame	data/chars/billy/a101.gif
	delay	14
	attack	76 90 23 14 10 0 0 0 0 0
	frame	data/chars/billy/a102.gif
	delay	8
	attack	0 0 0 0 0
	frame	data/chars/billy/a103.gif
		
anim	attack2
	loop	0
	delay	8
	bbox	58 72 18 60
	offset	65 131
	frame	data/chars/billy/a104.gif
	delay	18
	attack2	76 77 23 17 14 0 0 0 0 0
        frame	data/chars/billy/a105.gif
	frame	data/chars/billy/a106.gif
		
anim	attack3
	loop	0
	delay	3
	bbox	64 71 18 58
	offset	65 131
	frame	data/chars/billy/upper0.gif
	frame	data/chars/billy/upper0.gif
	frame	data/chars/billy/upper0.gif
	attack	76 79 18 21 18 1 0 0 0 0
	frame	data/chars/billy/upper1.gif
	frame	data/chars/billy/upper1.gif
	frame	data/chars/billy/upper1.gif
	frame	data/chars/billy/upper2.gif
	frame	data/chars/billy/upper2.gif
	frame	data/chars/billy/upper2.gif
	delay	5
	frame	data/chars/billy/upper2.gif
		
anim	death
	loop	0
	offset	65 131
	delay	18
	sound	data/sounds/pladie.wav
        frame	data/chars/billy/rise.gif
	offset	58 132
	frame	data/chars/billy/die0.gif
	frame	data/chars/billy/die1.gif
	frame	data/chars/billy/die2.gif
		
anim	death18
	loop	0
	offset	57 90
	delay	15
	sound	data/sounds/salpicadura.wav
	frame	data/chars/billy/salpicadura1.gif
	frame	data/chars/billy/salpicadura2.gif
	frame	data/chars/billy/salpicadura3.gif
	frame	data/chars/billy/salpicadura1.gif
		
anim	fall
	loop	0
	offset	65 131
	delay	60
        frame	data/chars/billy/fall1.gif
	bbox	63 132 1 1
	delay	20
	offset	64 131
	frame	data/chars/billy/fall2.gif
	frame	data/chars/billy/fall3.gif
		
anim	fall13
	loop	0
	offset	88 129
	delay	60
	frame	data/chars/billy/fall1.gif
	bbox	64 131 1 1
	delay	20
	frame	data/chars/billy/fall2.gif
	frame	data/chars/billy/fall3.gif
		
anim	fall16
	loop	0
	offset	96 142
	delay	50
	frame	data/chars/billy/lan5.gif
	bbox	85 130 1 1
	delay	30
	offset	84 129
	frame	data/chars/billy/lan6.gif
	offset	77 129
	frame	data/chars/billy/lan7.gif
		
anim	fall17
	loop	0
	offset	100 133
	delay	50
	frame	data/chars/billy/throw3.gif
	bbox	74 133 1 1
	delay	30
	offset	74 133
	frame	data/chars/billy/throw4.gif
	offset	73 133
	frame	data/chars/billy/throw5.gif
		
anim	fall18
	bbox	57 90 1 1
	loop	0
	offset	57 90
	delay	1
	sound	data/sounds/silencio.wav
	frame	data/chars/billy/salpicadura1.gif
		
anim	fall6
	loop	0
	delay	4
	offset	65 131
	jumpframe	1 1
	move	2
	frame	data/chars/billy/golpe2.gif
	frame	data/chars/billy/golpe2.gif
	delay	5
	frame	data/chars/billy/golpe2.gif
	frame	data/chars/billy/golpe2.gif
	frame	data/chars/billy/golpe2.gif
	frame	data/chars/billy/golpe2.gif
	frame	data/chars/billy/golpe2.gif
	bbox	68 131 1 1
	frame	data/chars/billy/golpe4.gif
	move	0
	delay	30
	frame	data/chars/billy/golpe3.gif
		
anim	fall8
	loop	0
	offset	90 116
	delay	60
	frame	data/chars/billy/fall1.gif
	bbox	64 131 1 1
	delay	20
	offset	64 131
	frame	data/chars/billy/fall2.gif
	frame	data/chars/billy/fall3.gif
		
anim	follow1
	loop	0
	delay	16
	bbox	58 71 17 61
	offset	65 131
	attack2	0 0 0 0 0
	frame	data/chars/billy/a202.gif
	frame	data/chars/billy/a300.gif
	sound	data/sounds/dragon.wav
	delay	16
	attack	74 76 25 29 18 1 0 0 0 0
	frame	data/chars/billy/a301.gif
	attack	0 0 0 0 0
	delay	10
	frame	data/chars/billy/a302.gif
	frame	data/chars/billy/a303.gif
		
anim	freespecial2
        loop	0
	delay	7
	bbox	58 71 17 61
	offset	65 131
	followcond	3
	followanim	1
	frame	data/chars/billy/a203.gif
	frame	data/chars/billy/a201.gif
	delay	18
	attack2	73 75 23 38 14 0 0 0 0 0
	frame	data/chars/billy/a202.gif

anim	freespecial3
	loop	0
	delay	10
	bbox	58 71 18 58
	offset	64 131
	jumpframe 1 2.5
        flipframe 0
	frame	data/chars/billy/j1.gif
	frame	data/chars/billy/j2.gif
        sound	data/sounds/dragon.wav
	delay	20
	offset	64 131
	frame	data/chars/billy/j3.gif
	attack6	76 85 18 21 18 1 0 0 0 0
	offset	64 131
	frame	data/chars/billy/j4.gif
	attack	0 0 0 0
	delay	5
	offset	64 131
	frame	data/chars/billy/j5.gif
		
anim	freespecial4
        loop	0
	delay	8
	bbox	58 71 18 58
	offset	65 131
	sound	data/sounds/dragon.wav
	frame	data/chars/billy/elbow1.gif
	delay	18
	attack6	47 114 9 18 17 1 0 0 0 0
	frame	data/chars/billy/elbow2.gif
	attack	0 0 0 0 0
	delay	9
	frame	data/chars/billy/elbow1.gif

anim	freespecial5
	loop	0
	delay	2
	offset	65 131
	frame	data/chars/billy/sp1.gif
	offset	65 137
	frame	data/chars/billy/sp2.gif
	frame	data/chars/billy/sp3.gif
	frame	data/chars/billy/sp4.gif
	sound	data/sounds/special.wav
	delay	5
	frame	data/chars/billy/sp5.gif
	attack	41 68 24 31 20 1 0 0 0 0
	frame	data/chars/billy/sp6.gif
	frame	data/chars/billy/sp7.gif
	frame	data/chars/billy/sp8.gif
	attack	74 66 25 29 20 1 0 0 0 0
	frame	data/chars/billy/sp9.gif
	frame	data/chars/billy/sp5.gif
	attack	41 68 24 31 20 1 0 0 0 0
	frame	data/chars/billy/sp6.gif
	frame	data/chars/billy/sp7.gif
	frame	data/chars/billy/sp8.gif
	attack	74 66 25 29 20 1 0 0 0 0
	frame	data/chars/billy/sp9.gif
	frame	data/chars/billy/sp5.gif
	attack	41 68 24 31 20 1 0 0 0 0
	frame	data/chars/billy/sp6.gif
	frame	data/chars/billy/sp7.gif
	frame	data/chars/billy/sp8.gif
	attack	74 66 25 29 20 1 0 0 0 0
	frame	data/chars/billy/sp9.gif
	attack	0 0 0 0 0
	delay	4
	frame	data/chars/billy/sp4.gif
	frame	data/chars/billy/sp3.gif
	frame	data/chars/billy/sp2.gif
	delay	20
	offset	65 131
	frame	data/chars/billy/rise.gif
		
anim	get
	loop	0
	delay	17
	offset	65 131
	frame	data/chars/billy/rise.gif
		
anim	grab
	loop	0
	delay	11
	bbox	58 71 18 58
	offset	60 131
	frame	data/chars/billy/hold01.gif
	frame	data/chars/billy/hold0.gif
	frame	data/chars/billy/grab.gif
		
anim	grabattack
	loop	0
	delay	10
	bbox	58 71 18 58
	offset	60 131
	shock	74 55 14 20 8 0 0 0 12
	frame	data/chars/billy/hold1.gif
	delay	10
	frame	data/chars/billy/hold2.gif
		
anim	grabattack2
	loop	0
	delay	7
	bbox	58 71 18 58
	offset	60 131
	attack8	74 55 14 20 12 1 1 0 12
	frame	data/chars/billy/hold3.gif
		
anim	grabbackward
	loop	0
	delay	15
	offset	65 131
	attackone	1
	forcedirection	1
	hitfx	data/sounds/silencio.wav
	attack7	74 55 14 20 0 0 0 0 12
	sound	data/sounds/dragon.wav
	frame	data/chars/billy/th1.gif
	attack	0 0 0 0
	frame	data/chars/billy/th2.gif
	attack17	1 -160 1 1 12 1 1 0 12 0
	delay	25
	frame	data/chars/billy/th3.gif
		
#desconectados solo para cuando se cojen billy o jimmy		
anim	grabbed
	bbox	45 36 22 56
	loop	0
	delay	11
	offset	71 131
	frame	data/chars/billy/gp3.gif
       #frame	data/chars/billy/gp3.gif
       #frame	data/chars/billy/gp1.gif

anim	idle
	loop	0
	delay	5
	offset	65 131
	bbox	58 71 18 58
	frame	data/chars/billy/wk1.gif
		
anim	jump
	loop	0
	bbox	58 71 18 58
	offset	65 131
	delay	7
	frame	data/chars/billy/sp1.gif
	delay	30
	frame	data/chars/billy/sp2.gif
		
anim	jumpattack
	loop	0
	offset	65 131
	delay	7
	bbox	58 73 20 45
	frame	data/chars/billy/ak1.gif
	delay	30
	attack	64 89 34 16 10 1 0 0 0 0
	frame	data/chars/billy/ak2.gif
	attack	0 0 0 0
	frame	data/chars/billy/sp2.gif
		
#anim	jumpattack2
#anim	jumpattack3

anim	land
	loop	0
	offset	65 131
	delay	17
	frame	data/chars/billy/rise.gif

anim	pain19
	loop	0
	offset	65 131
	bbox	47 0 7 1
	delay	625
	frame	data/chars/billy/pose1.gif
        delay	125
        frame	data/chars/billy/pose2.gif
        frame	data/chars/billy/pose2.gif
        frame	data/chars/billy/pose1.gif

anim	pain
	loop	0
	offset	65 131
	bbox	57 72 16 59
	delay	30
	frame	data/chars/billy/pain2.gif
		
anim	pain10
	loop	0
	delay	200
	offset	65 131
	frame	data/chars/billy/wk1.gif
		
anim	pain11
	bbox	0 0 0 0
	loop	0
	delay	15
	offset	78 132
	forcedirection	1
	frame	data/chars/billy/lan1.gif
	offset	78 132
	frame	data/chars/billy/lan2.gif
	offset	78 132
	frame	data/chars/billy/lan3.gif
	offset	78 132
	bbox	47 0 7 1
	delay	1
	frame	data/chars/billy/lan4.gif
		
anim	pain12
	loop	0
	delay	20
	offset	68 129
	frame	data/chars/billy/k0.gif
	delay	50
	offset	68 129
	frame	data/chars/billy/k1.gif
	delay	15
	offset	68 130
	frame	data/chars/billy/k2.gif
	offset	68 129
	frame	data/chars/billy/k1.gif
	offset	68 130
	frame	data/chars/billy/k2.gif
	offset	68 129
	frame	data/chars/billy/k1.gif
	offset	68 130
	frame	data/chars/billy/k2.gif
	offset	68 129
	frame	data/chars/billy/k1.gif
	offset	68 129
	frame	data/chars/billy/k3.gif
	offset	68 129
	bbox	67 -162 10 1
	frame	data/chars/billy/k4.gif
		
anim	pain14
	loop	0
	offset	65 131
	bbox	57 72 16 59
	delay	30
	frame	data/chars/billy/pain1.gif
		
anim	pain15
	loop	0
	offset	65 131
	bbox	57 72 16 59
	delay	22
	frame	data/chars/billy/pain2.gif
	delay	50
	frame	data/chars/billy/pain3.gif
		
anim	pain2
	loop	0
	offset	65 131
	bbox	57 72 16 59
	delay	22
	frame	data/chars/billy/pain1.gif
	delay	50
	frame	data/chars/billy/pain3.gif
		
anim	pain3
	loop	0
	offset	65 131
	bbox	57 72 16 59
	delay	52
	frame	data/chars/billy/pain3.gif
		
anim	pain4
	loop	0
	offset	64 131
	bbox	57 72 16 59
	delay	5
	frame	data/chars/billy/pain4e.gif
	delay	45
	frame	data/chars/billy/pain4.gif
		
anim	pain5
	loop	0
	offset	65 131
	bbox	57 72 16 59
	delay	50
	frame	data/chars/billy/pain4.gif
		
anim	pain7
	loop	0
	delay	15
	offset	83 131
	frame	data/chars/billy/throw1.gif
	offset	84 130
	bbox	1 -160 1 1
	frame	data/chars/billy/throw2.gif
		
anim	pain9
	loop	0
	delay	6
	offset	65 131
	frame	data/chars/billy/pain5.gif
	frame	data/chars/billy/pain6.gif
	frame	data/chars/billy/pain7.gif
	frame	data/chars/billy/pain8.gif
	frame	data/chars/billy/pain7.gif
	frame	data/chars/billy/pain8.gif
	frame	data/chars/billy/pain7.gif
	frame	data/chars/billy/pain8.gif
	frame	data/chars/billy/pain7.gif
	frame	data/chars/billy/pain8.gif
		
anim	respawn
	loop	0
	offset	65 131
	delay	30
	frame	data/chars/billy/rise.gif
		
anim	spawn
	loop	0
	delay	5
	offset	65 131
	bbox	58 71 18 58
	frame	data/chars/billy/wk1.gif

anim	rise
	loop	0
	offset	65 131
	delay	25
	frame	data/chars/billy/rise.gif
		
anim	run
	loop	1
	delay	7
	offset	65 126
	bbox	58 67 18 58
	sound	data/sounds/run.wav
	frame	data/chars/billy/ca1.gif
	frame	data/chars/billy/ca2.gif
	frame	data/chars/billy/ca3.gif
	frame	data/chars/billy/ca4.gif
		
anim	runattack
	loop	0
	delay	2
	bbox	58 67 18 58
	offset	65 131
	sound	data/sounds/dragon.wav
	delay	2
	move	3
	frame	data/chars/billy/upper0.gif
	frame	data/chars/billy/upper0.gif
	frame	data/chars/billy/upper0.gif
	move	2
	attack	76 79 18 21 18 1 0 0 0 0
	frame	data/chars/billy/upper1.gif
	frame	data/chars/billy/upper1.gif
	frame	data/chars/billy/upper1.gif
	frame	data/chars/billy/upper2.gif
	frame	data/chars/billy/upper2.gif
	frame	data/chars/billy/upper2.gif
	delay	30
	frame	data/chars/billy/upper2.gif
	move	0
	attack	0 0 0 0 0
	delay	14
	frame	data/chars/billy/upper0.gif
		
anim	spain
	loop	0
	delay	10
	offset	70 131
	bbox	45 36 22 56
	frame	data/chars/billy/gp0.gif
	delay	1
	frame	data/chars/billy/gp2.gif
		
anim	up
	loop	1
	delay	13
	offset	66 131
	bbox	58 71 18 58
	frame	data/chars/billy/wku2.gif
        frame	data/chars/billy/wku3.gif
        offset	65 131
	frame	data/chars/billy/wku4.gif
        frame	data/chars/billy/wku1.gif
		
anim	waiting
	loop	0
	delay	2
	offset	-24 128
	frame	data/chars/billy/sel_billy.gif
		
anim	walk
	loop	1
	delay	13
	offset	66 131
	bbox	58 71 18 58
	frame	data/chars/billy/wk2.gif
	frame	data/chars/billy/wk3.gif
	offset	65 131
	frame	data/chars/billy/wk4.gif
	frame	data/chars/billy/wk1.gif
		
anim	walkoff
	loop	0
	bbox	58 71 18 58
	offset	65 131
	delay	10
	frame	data/chars/billy/sp1.gif
	offset	65 125
	frame	data/chars/billy/sp3.gif
 
Ah, you haven't updated the scripts to suit your needs yet :)

Anyways, change this:

Code:
    if(A1 != NULL() && A2 != NULL()){ // Both Attack and Attack2 are pressed within 5 centiseconds time?
      if(vAniID == openborconstant("ANI_ATTACK1") || vAniID == openborconstant("ANI_FREESPECIAL") ){
        performattack(vSelf, openborconstant("ANI_FOLLOW1")); // Action
      }
    }

to this:

Code:
    if(A1 != NULL() && A2 != NULL()){ // Both Attack and Attack2 are pressed within 5 centiseconds time?
      if(vAniID == openborconstant("ANI_ATTACK1") || vAniID == openborconstant("ANI_FREESPECIAL2") ){
        performattack(vSelf, openborconstant("ANI_FREESPECIAL6")); // Action
      }
    }
 
Back
Top Bottom