Reply to Re: another ninja question
If you don't have an account, just leave the password field blank.
i'm having trouble with this sword script. when you arm it it is supposed to play a sequence (the ninja arming the sword) but for some reason it just freezes the game...
//item sword1
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(200);
playsound(8, 8000,0,0,0);
}
void disarm(void)
{
sp_attack_hit_sound(1, 0);
&strength -= 4;
sp_distance(1, 0);
sp_range(1, 0);
kill_this_task();
}
void arm(void)
{
&armsword = 1;
//sword range
sp_distance(1, 50);
sp_range(1, 40);
//sword strength added
&strength += 4;
sp_attack_hit_sound(1, 10);
sp_attack_hit_sound_speed(1, 8000);
init("load_sequence_now graphics\ninja\sword\attack\atk2- 102 25");
init("load_sequence_now graphics\ninja\sword\attack\atk4- 104 25");
init("load_sequence_now graphics\ninja\sword\attack\atk6- 106 25");
init("load_sequence_now graphics\ninja\sword\attack\atk8- 108 25");
init("load_sequence_now graphics\ninja\sword\death\die1- 861 150");
init("load_sequence_now graphics\ninja\sword\death\die2- 862 150");
init("load_sequence_now graphics\ninja\sword\death\die3- 863 150");
init("load_sequence_now graphics\ninja\sword\death\die4- 864 150");
init("load_sequence_now graphics\ninja\sword\death\die6- 866 150");
init("load_sequence_now graphics\ninja\sword\death\die7- 867 150");
init("load_sequence_now graphics\ninja\sword\death\die8- 868 150");
init("load_sequence_now graphics\ninja\sword\death\die9- 869 150");
init("load_sequence_now graphics\ninja\sword\idle\idle2- 12 150");
init("load_sequence_now graphics\ninja\sword\idle\idle4- 14 150");
init("load_sequence_now graphics\ninja\sword\idle\idle6- 16 150");
init("load_sequence_now graphics\ninja\sword\idle\idle8- 18 150");
init("load_sequence_now graphics\ninja\sword\walk\walk1- 71 75");
init("load_sequence_now graphics\ninja\sword\walk\walk2- 72 75");
init("load_sequence_now graphics\ninja\sword\walk\walk3- 73 75");
init("load_sequence_now graphics\ninja\sword\walk\walk4- 74 75");
init("load_sequence_now graphics\ninja\sword\walk\walk6- 76 75");
init("load_sequence_now graphics\ninja\sword\walk\walk7- 77 75");
init("load_sequence_now graphics\ninja\sword\walk\walk8- 78 75");
init("load_sequence_now graphics\ninja\sword\walk\walk9- 79 75");
int &basehit;
}
void pickup(void)
{
Debug("Player now owns this item.");
kill_this_task();
}
void holdingdrop( void )
{
//this is run if the item is dropped while it is armed
init("load_sequence_now graphics\ninja\martart\walk\walk1- 71 75");
init("load_sequence_now graphics\ninja\martart\walk\walk2- 72 75");
init("load_sequence_now graphics\ninja\martart\walk\walk3- 73 75");
init("load_sequence_now graphics\ninja\martart\walk\walk4- 74 75");
init("load_sequence_now graphics\ninja\martart\walk\walk6- 76 75");
init("load_sequence_now graphics\ninja\martart\walk\walk7- 77 75");
init("load_sequence_now graphics\ninja\martart\walk\walk8- 78 75");
init("load_sequence_now graphics\ninja\martart\walk\walk9- 79 75");
init("load_sequence_now graphics\ninja\martart\death\die1- 861 150");
init("load_sequence_now graphics\ninja\martart\death\die2- 862 150");
init("load_sequence_now graphics\ninja\martart\death\die3- 863 150");
init("load_sequence_now graphics\ninja\martart\death\die4- 864 150");
init("load_sequence_now graphics\ninja\martart\death\die6- 866 150");
init("load_sequence_now graphics\ninja\martart\death\die7- 867 150");
init("load_sequence_now graphics\ninja\martart\death\die8- 868 150");
init("load_sequence_now graphics\ninja\martart\death\die9- 869 150");
init("load_sequence_now graphics\ninja\martart\slap\slap2- 102 25");
init("load_sequence_now graphics\ninja\martart\slap\slap4- 104 25");
init("load_sequence_now graphics\ninja\martart\slap\slap6- 106 25");
init("load_sequence_now graphics\ninja\martart\slap\slap8- 108 25");
init("load_sequence_now graphics\ninja\martart\idle\idle2- 12");
init("load_sequence_now graphics\ninja\martart\idle\idle4- 14");
init("load_sequence_now graphics\ninja\martart\idle\idle6- 16");
init("load_sequence_now graphics\ninja\martart\idle\idle8- 18");
}
void armmovie ( void )
{
//here's where he arms it (&armsword is a global variable used to check if he's already got a sword armed)
if (&armsword == 0)
{
&armsword = 1;
int &motion = sp_dir(1, -1);
&motion += 870;
//870 is the arming sequence
sp_seq(&motion, 1);
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(200);
}
}
void drop(void)
{
Debug("Item dropped.");
kill_this_task();
}
//item sword1
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(200);
playsound(8, 8000,0,0,0);
}
void disarm(void)
{
sp_attack_hit_sound(1, 0);
&strength -= 4;
sp_distance(1, 0);
sp_range(1, 0);
kill_this_task();
}
void arm(void)
{
&armsword = 1;
//sword range
sp_distance(1, 50);
sp_range(1, 40);
//sword strength added
&strength += 4;
sp_attack_hit_sound(1, 10);
sp_attack_hit_sound_speed(1, 8000);
init("load_sequence_now graphics\ninja\sword\attack\atk2- 102 25");
init("load_sequence_now graphics\ninja\sword\attack\atk4- 104 25");
init("load_sequence_now graphics\ninja\sword\attack\atk6- 106 25");
init("load_sequence_now graphics\ninja\sword\attack\atk8- 108 25");
init("load_sequence_now graphics\ninja\sword\death\die1- 861 150");
init("load_sequence_now graphics\ninja\sword\death\die2- 862 150");
init("load_sequence_now graphics\ninja\sword\death\die3- 863 150");
init("load_sequence_now graphics\ninja\sword\death\die4- 864 150");
init("load_sequence_now graphics\ninja\sword\death\die6- 866 150");
init("load_sequence_now graphics\ninja\sword\death\die7- 867 150");
init("load_sequence_now graphics\ninja\sword\death\die8- 868 150");
init("load_sequence_now graphics\ninja\sword\death\die9- 869 150");
init("load_sequence_now graphics\ninja\sword\idle\idle2- 12 150");
init("load_sequence_now graphics\ninja\sword\idle\idle4- 14 150");
init("load_sequence_now graphics\ninja\sword\idle\idle6- 16 150");
init("load_sequence_now graphics\ninja\sword\idle\idle8- 18 150");
init("load_sequence_now graphics\ninja\sword\walk\walk1- 71 75");
init("load_sequence_now graphics\ninja\sword\walk\walk2- 72 75");
init("load_sequence_now graphics\ninja\sword\walk\walk3- 73 75");
init("load_sequence_now graphics\ninja\sword\walk\walk4- 74 75");
init("load_sequence_now graphics\ninja\sword\walk\walk6- 76 75");
init("load_sequence_now graphics\ninja\sword\walk\walk7- 77 75");
init("load_sequence_now graphics\ninja\sword\walk\walk8- 78 75");
init("load_sequence_now graphics\ninja\sword\walk\walk9- 79 75");
int &basehit;
}
void pickup(void)
{
Debug("Player now owns this item.");
kill_this_task();
}
void holdingdrop( void )
{
//this is run if the item is dropped while it is armed
init("load_sequence_now graphics\ninja\martart\walk\walk1- 71 75");
init("load_sequence_now graphics\ninja\martart\walk\walk2- 72 75");
init("load_sequence_now graphics\ninja\martart\walk\walk3- 73 75");
init("load_sequence_now graphics\ninja\martart\walk\walk4- 74 75");
init("load_sequence_now graphics\ninja\martart\walk\walk6- 76 75");
init("load_sequence_now graphics\ninja\martart\walk\walk7- 77 75");
init("load_sequence_now graphics\ninja\martart\walk\walk8- 78 75");
init("load_sequence_now graphics\ninja\martart\walk\walk9- 79 75");
init("load_sequence_now graphics\ninja\martart\death\die1- 861 150");
init("load_sequence_now graphics\ninja\martart\death\die2- 862 150");
init("load_sequence_now graphics\ninja\martart\death\die3- 863 150");
init("load_sequence_now graphics\ninja\martart\death\die4- 864 150");
init("load_sequence_now graphics\ninja\martart\death\die6- 866 150");
init("load_sequence_now graphics\ninja\martart\death\die7- 867 150");
init("load_sequence_now graphics\ninja\martart\death\die8- 868 150");
init("load_sequence_now graphics\ninja\martart\death\die9- 869 150");
init("load_sequence_now graphics\ninja\martart\slap\slap2- 102 25");
init("load_sequence_now graphics\ninja\martart\slap\slap4- 104 25");
init("load_sequence_now graphics\ninja\martart\slap\slap6- 106 25");
init("load_sequence_now graphics\ninja\martart\slap\slap8- 108 25");
init("load_sequence_now graphics\ninja\martart\idle\idle2- 12");
init("load_sequence_now graphics\ninja\martart\idle\idle4- 14");
init("load_sequence_now graphics\ninja\martart\idle\idle6- 16");
init("load_sequence_now graphics\ninja\martart\idle\idle8- 18");
}
void armmovie ( void )
{
//here's where he arms it (&armsword is a global variable used to check if he's already got a sword armed)
if (&armsword == 0)
{
&armsword = 1;
int &motion = sp_dir(1, -1);
&motion += 870;
//870 is the arming sequence
sp_seq(&motion, 1);
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(200);
}
}
void drop(void)
{
Debug("Item dropped.");
kill_this_task();
}