The Dink Network

Reply to Re: another ninja question

If you don't have an account, just leave the password field blank.
Username:
Password:
Subject:
Antispam: Enter Dink Smallwood's last name (surname) below.
Formatting: :) :( ;( :P ;) :D >( : :s :O evil cat blood
Bold font Italic font hyperlink Code tags
Message:
 
 
November 19th 2005, 10:33 AM
slayer.gif
rabidwolf9
Peasant He/Him United States
twitch.tv/rabidwolf9 
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();
}