poison the enemy
has there ever been a weapon or spell that can poison an enemy? i need a sample script of this for my ninja.
You could take a look into bleeding magic in Cloud Castle 2
thanks, i'll check into it...
ADD (8:44): i now have it working properly, except for a few minor changes that need to be made such as converting it to a weapon script and changing the projectile
ADD (8:44): i now have it working properly, except for a few minor changes that need to be made such as converting it to a weapon script and changing the projectile
Eh... adding the time with your addition doesn't really make any sense unless you tell us in which timezone you are.
uh...what kind of fighting style do ninjas use?
Uh... don't they use ninja-fighting?
seriously guys, kung fu, karate? i have no clue and i want it to be correct, or i could just use kick@$$....
Just use google to find a serious site on Ninjas.
The ninja has their own special stile. It is said they have some special techniques they share only with their families. They can stay under water several hours, they can go unseen where others can't. They use real good swords, ninja stars(which are poisoned) and "cat claws"(which are also poisoned). If they are seriously wounded, they rather suicide then get caught.
thanks a bunch. i currently have diagonals for every single sequence, but i'm not sure which ones i don't need...also, i've realized that the ninja graphics are in 24-bit format, which greatly increases the size of them, is there a quick way to change them to the 256 color format? (doesn't necesarily have to be the dink pallet)
As Dink 1.08 is coming, which has truecolor support, you could opt to use the 24-bit palette and require the use of Dink 1.08 in the Readme. Dink 1.08 also has a command to check if the game's in truecolor mode, so you can check that in the beginning of the game I guess. On the other hand, older versions of Dink don't have that command so it wouldn't work there hmm...
the purpose for changing it to 256 is to reduce the file size, right now its at 63 megs unzipped and about 8 zipped...btw i am utilizing the true color option for the green color of the poison star, it looked really crappy in the dink pallet
okay...does anyone know how to do this? before i start doing it frame by frame for countless hours of torture and headaches....
change a massive number of bmps that are in the 24 bit format into the 256 format
Use a paint program that supports scripting/batch processing such as Photoshop or Paint Shop Pro v8+... Not sure if there are others out there... Gimp doesn't support easy batch processing with loading palettes as such, although you might be able to write something in Script-Fu/Python and do it.
any kind of freeware? where can i get it?
Freeware? Not that I know of... but I bought Paint Shop Pro v8 for $10 on ebay... I believe it's up to v9 or 10 - not sure as Corel bought the program from the old JASC Paint company.
perhaps i could send it to you and you could do it?
Irfanview is a free program and you can use it to do batch conversions and change the output files to 256 color bitmaps.
all of them are 256 color format now (saved a ton of space too), but when i play on truecolor mode and windowed mode the white background isn't transparent, i'm using the v1.08 beta 1.1 patch...
Um.. I don't know if it resolves your problem or not, but you should use Beta 2 unless something prevents you from using it.
Known problem... haven't fixed it yet in my current version, but I hope Beta 3 will work fine.
okay, it'll be a little while before i release it anyways, so who knows it may be released after Beta 3
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();
}