'Firefist' animation goes too fast
I made some script for the item 'firefist', it's already the normal fist script just modified.
It hits alright, armed alright, and the animation when Dink hits goes too fast, faster than the normal fist...or even when Dink shoots a fireball, the anim doesn't go so fast.
Here's the script:
//item firefists
void use( void )
{
//disallow diagonal punches
if (sp_dir(1, -1) == 1)
sp_dir(1, 2);
if (sp_dir(1, -1) == 3)
sp_dir(1, 2);
if (sp_dir(1, -1) == 7)
sp_dir(1, 8);
if (sp_dir(1, -1) == 9)
sp_dir(1, 8);
&basehit = sp_dir(1, -1);
&basehit += 100; //100 is the 'base' for the hit animations, we just add
//the direction
sp_seq(1, &basehit);
sp_frame(1, 1); //reset seq to 1st frame
sp_kill_wait(1); //make sure dink will punch right away
sp_nocontrol(1, 1); //dink can't move until anim is done!
wait(1);
playsound(8, 8000,0,0,0);
}
void disarm(void)
{
debug("Killed firefists");
kill_this_task();
}
void arm(void)
{
init("load_sequence_now graphics\dink\walk\ds-w1- 71 43 38 72 -14 -9 14 9");
init("load_sequence_now graphics\dink\walk\ds-w2- 72 43 37 69 -13 -9 13 9");
init("load_sequence_now graphics\dink\walk\ds-w3- 73 43 38 72 -14 -9 14 9");
init("load_sequence_now graphics\dink\walk\ds-w4- 74 43 38 72 -12 -9 12 9");
init("load_sequence_now graphics\dink\walk\ds-w6- 76 43 38 72 -13 -9 13 9");
init("load_sequence_now graphics\dink\walk\ds-w7- 77 43 38 72 -12 -10 12 10");
init("load_sequence_now graphics\dink\walk\ds-w8- 78 43 37 69 -13 -9 13 9");
init("load_sequence_now graphics\dink\walk\ds-w9- 79 43 38 72 -14 -9 14 9");
init("load_sequence_now graphics\dink\idle\ds-i2- 12 250 33 70 -12 -9 12 9");
init("load_sequence_now graphics\dink\idle\ds-i4- 14 250 30 71 -11 -9 11 9");
init("load_sequence_now graphics\dink\idle\ds-i6- 16 250 36 70 -11 -9 11 9");
init("load_sequence_now graphics\dink\idle\ds-i8- 18 250 32 68 -12 -9 12 9");
init("load_sequence_now graphics\dink\hit\magic\ds-m2- 102 30 60 84 -15 -9 16 7");
init("load_sequence_now graphics\dink\hit\magic\ds-m4- 104 30 61 86 -13 -7 15 8");
init("load_sequence_now graphics\dink\hit\magic\ds-m6- 106 30 60 86 -11 -8 13 9");
init("load_sequence_now graphics\dink\hit\magic\ds-m8- 108 30 61 83 -15 -4 15 14");
debug("firefists armed");
int &basehit;
}
void pickup(void)
{
Debug("Player now owns this item.");
kill_this_task();
}
void drop(void)
{
Debug("Item dropped.");
kill_this_task();
}
Hmm, any idea on how can I make this hitting sequence play a bit slower? Maybe a frame_delay?
Thanks.
It hits alright, armed alright, and the animation when Dink hits goes too fast, faster than the normal fist...or even when Dink shoots a fireball, the anim doesn't go so fast.
Here's the script:
//item firefists
void use( void )
{
//disallow diagonal punches
if (sp_dir(1, -1) == 1)
sp_dir(1, 2);
if (sp_dir(1, -1) == 3)
sp_dir(1, 2);
if (sp_dir(1, -1) == 7)
sp_dir(1, 8);
if (sp_dir(1, -1) == 9)
sp_dir(1, 8);
&basehit = sp_dir(1, -1);
&basehit += 100; //100 is the 'base' for the hit animations, we just add
//the direction
sp_seq(1, &basehit);
sp_frame(1, 1); //reset seq to 1st frame
sp_kill_wait(1); //make sure dink will punch right away
sp_nocontrol(1, 1); //dink can't move until anim is done!
wait(1);
playsound(8, 8000,0,0,0);
}
void disarm(void)
{
debug("Killed firefists");
kill_this_task();
}
void arm(void)
{
init("load_sequence_now graphics\dink\walk\ds-w1- 71 43 38 72 -14 -9 14 9");
init("load_sequence_now graphics\dink\walk\ds-w2- 72 43 37 69 -13 -9 13 9");
init("load_sequence_now graphics\dink\walk\ds-w3- 73 43 38 72 -14 -9 14 9");
init("load_sequence_now graphics\dink\walk\ds-w4- 74 43 38 72 -12 -9 12 9");
init("load_sequence_now graphics\dink\walk\ds-w6- 76 43 38 72 -13 -9 13 9");
init("load_sequence_now graphics\dink\walk\ds-w7- 77 43 38 72 -12 -10 12 10");
init("load_sequence_now graphics\dink\walk\ds-w8- 78 43 37 69 -13 -9 13 9");
init("load_sequence_now graphics\dink\walk\ds-w9- 79 43 38 72 -14 -9 14 9");
init("load_sequence_now graphics\dink\idle\ds-i2- 12 250 33 70 -12 -9 12 9");
init("load_sequence_now graphics\dink\idle\ds-i4- 14 250 30 71 -11 -9 11 9");
init("load_sequence_now graphics\dink\idle\ds-i6- 16 250 36 70 -11 -9 11 9");
init("load_sequence_now graphics\dink\idle\ds-i8- 18 250 32 68 -12 -9 12 9");
init("load_sequence_now graphics\dink\hit\magic\ds-m2- 102 30 60 84 -15 -9 16 7");
init("load_sequence_now graphics\dink\hit\magic\ds-m4- 104 30 61 86 -13 -7 15 8");
init("load_sequence_now graphics\dink\hit\magic\ds-m6- 106 30 60 86 -11 -8 13 9");
init("load_sequence_now graphics\dink\hit\magic\ds-m8- 108 30 61 83 -15 -4 15 14");
debug("firefists armed");
int &basehit;
}
void pickup(void)
{
Debug("Player now owns this item.");
kill_this_task();
}
void drop(void)
{
Debug("Item dropped.");
kill_this_task();
}
Hmm, any idea on how can I make this hitting sequence play a bit slower? Maybe a frame_delay?
Thanks.
The animation speed is defined right in your init/dink.ini lines:
init("load_sequence_now graphics\dink\hit\magic\ds-m2- 102 30 60 84 -15 -9 16 7");
Just change that 30 to 75 in those init lines, and tada, it should be the correct speed.
init("load_sequence_now graphics\dink\hit\magic\ds-m2- 102 30 60 84 -15 -9 16 7");
Just change that 30 to 75 in those init lines, and tada, it should be the correct speed.
That is why he is the Pimp Daddy of the network. KING, I meant King!!
*PUSHES REDINKS BROTHEL "EMPLOYEES" BEHIND A CURTAIN AND WHISTLES NONCHALENTLY*
*PUSHES REDINKS BROTHEL "EMPLOYEES" BEHIND A CURTAIN AND WHISTLES NONCHALENTLY*
You may wanna make a copy of the sequence (not the bmps themselves, just a new sequence number) otherwise magicspells which also use that animation will be to slow. Oh, and don't forget to use set_frame_special, so Dink can actually hit.