📧 Message Board Archive

Need help with my latest spell
:(

I have made a totally new spell, "Golem1/2/3/4" that will make a soldier who kills your enemies and you still get the experience! Well, but i have a problem with the script. When you cast the spell, the golem will appear in the middle of the screen, X: 320 Y: 210, But when theres a wall or holl at that location he gets stuck! I tried and tried to use your own, dinks, X and Y to let the golem start near you. Heres my script, Item-Gl1.c :

//The Grey Man spell

//This is, i think, the most difficult spell ever!

void use(void)

{

//You may only use 1 golem offcourse!

hurt(&man, 1000);

&man = create_sprite(320,210,9,273,1);

sp_script(&man, "golem1");

&magic_level = 0;

}



void arm(void)

{

int &man;

&magic_cost = 500;

}



void disarm(void)

{

&magic_cost = 0;

&magic_level = 0;

}



Heres the second, golem1.c :

void main(void)

{

//Well this is the most difficult part!

sp_base_walk(&current_sprite, 270);

sp_base_attack(&current_sprite, 710);

sp_distance(&current_sprite, 60);

sp_strength(&current_sprite, 20);

sp_defense(&current_sprite, 10);

sp_hitpoints(&current_sprite, 50);

sp_speed(&current_sprite, 2);

sp_timing(&current_sprite, 66);

sp_brain(&current_sprite, 9);

}



void hit(void)

{

say("Arghh!", &current_sprite);

sp_target(&current_sprite, &enemy_sprite);

}



void die(void)

{

}



CAN YOU HELP ME???



2nd problem, when i arm the spell, the spell will charge up but when i use it, it charges up again but the green line stays! How can i fix that?!



Thanx for reading,

Martijn



//PLEASE DONT STEAL MY SPELL, I'LL GIVE IT TO THE D NETWORK SO YOU CAN DOWNLOAD IT!
Re: Need help with my latest spell
As for your scripts, sorry to be honest and straightforward, but it's far from working unless you did not post all your scripts here.



:  hurt(&man, 1000);



 Who is &man? Apparently, &man is not created yet until next line. And who do you want to hurt with 1000 hitpoints!?



:  &man = create_sprite(320,210,9,273,1);

:  sp_script(&man, "golem1");

:  &magic_level = 0;

: }



 You should setup your summoned Golem to attack a random or a designated target in main and make it stick with it. And he will choose another target after his current target disappears. And he will disappear after certain time (realtime) or after all monsters are dead. The difficult part for experience gaining is to rewrite all monsters' script.



: void hit(void)

: {

:  say("Arghh!", &current_sprite);

:  sp_target(&current_sprite, &enemy_sprite);

: }



 So if Dink accidentially hit this Golem, he would become his target!



I have something similar to this in my "Dink M Vacation" dmod. I did not summon the creature that fight for Dink. The creature would get experience for his own and get leveled up, too. Dink can ask him to attack a random monster. Since I have finished and sort of tested most of this part of scripts, so if you do have detailed problems, you could ask me. But please write more serious script

before you ask for more. After all, it's better for you to write the most difficult part of the scripts by yourself so that you could understand it more.
Re: Need help with my latest spell
Mfish, he's killing any living golem.
Re: Need help with my latest spell
: Mfish, he's killing any living golem.



When he has hurt(&man, 1000); or whatever.  He put the comment in above, otherwise I wouldn't have known.  Some advice, use &target to sic your monster on enemies.  After finals are over, I'll try to get a method for this.
Re: Need help with my latest spell
: //This is, i think, the most difficult spell ever!



Sorry that I may offend you in some way. But this may just be the most difficult spell ever, for you. It is no doubt that the spell is not easy to script especially if you want it ot be bug-free, but it seems to me that some of currently released magic spells are more difficult to make it work.





: //PLEASE DONT STEAL MY SPELL, I'LL GIVE IT TO THE D NETWORK SO YOU CAN DOWNLOAD IT!



As for this matter, sorry. I did have a similar spell to do the same trick for one of my still-in-develop dmod. This idea is, in fact, quite old for rpg games if you ask me. And, next time, if you do come up with some new idea and don't want others to steal from you before you release your dmod, please don't say it, OK? ;)
Re: Need help with my latest spell
: :(



: I have made a totally new spell, "Golem1/2/3/4" that will make a soldier who kills your enemies and you still get the experience! Well, but i have a problem with the script. When you cast the spell, the golem will appear in the middle of the screen, X: 320 Y: 210, But when theres a wall or holl at that location he gets stuck! I tried and tried to use your own, dinks, X and Y to let the golem start near you. Heres my script, Item-Gl1.c :



Something like this:



//The Grey Man spell

//This is, i think, the most difficult spell ever!

void use(void)

{

   //You may only use 1 golem offcourse!

   hurt(&man, 1000);

   &dinkx = sp_x(1, -1);

   &dinky = sp_y(1, -1);

   &man = create_sprite(&dinkx, &dinky, 9, 273, 1);

   sp_script(&man, "golem1");

   &magic_level = 0;

   draw_status();

}

void arm(void)

{

   int &man;

   int &dinkx;

   int &dinky;

   &magic_cost = 500;

}



: 2nd problem, when i arm the spell, the spell will charge up but when i use it, it charges up again but the green line stays! How can i fix that?!



You just need to use draw_status() like I did above.



: Thanx for reading,



: Martijn



: //PLEASE DONT STEAL MY SPELL, I'LL GIVE IT TO THE D NETWORK SO YOU CAN DOWNLOAD IT!



I'll have you know I already stole this idea from someone else. (I never used or uploaded it though)
Re: Need help with my latest spell
: :(



: I have made a totally new spell, "Golem1/2/3/4" that will make a soldier who kills your enemies and you still get the experience! Well, but i have a problem with the script. When you cast the spell, the golem will appear in the middle of the screen, X: 320 Y: 210, But when theres a wall or holl at that location he gets stuck! I tried and tried to use your own, dinks, X and Y to let the golem start near you. Heres my script, Item-Gl1.c :



: //The Grey Man spell



: //This is, i think, the most difficult spell ever!



: void use(void)



: {



:  //You may only use 1 golem offcourse!



:  hurt(&man, 1000);



:  &man = create_sprite(320,210,9,273,1);



:  sp_script(&man, "golem1");



:  &magic_level = 0;



: }



: void arm(void)



: {



:  int &man;



:  &magic_cost = 500;



: }



: void disarm(void)



: {



:  &magic_cost = 0;



:  &magic_level = 0;



: }



: Heres the second, golem1.c :



: void main(void)



: {



:  //Well this is the most difficult part!



:  sp_base_walk(&current_sprite, 270);



:  sp_base_attack(&current_sprite, 710);



:  sp_distance(&current_sprite, 60);



:  sp_strength(&current_sprite, 20);



:  sp_defense(&current_sprite, 10);



:  sp_hitpoints(&current_sprite, 50);



:  sp_speed(&current_sprite, 2);



:  sp_timing(&current_sprite, 66);



:  sp_brain(&current_sprite, 9);



: }



: void hit(void)



: {



:  say("Arghh!", &current_sprite);



:  sp_target(&current_sprite, &enemy_sprite);



: }



: void die(void)



: {



: }



: CAN YOU HELP ME???



: 2nd problem, when i arm the spell, the spell will charge up but when i use it, it charges up again but the green line stays! How can i fix that?!



: Thanx for reading,



: Martijn



: //PLEASE DONT STEAL MY SPELL, I'LL GIVE IT TO THE D NETWORK SO YOU CAN DOWNLOAD IT!



That monster will still attack Dink and/but to set it to Dink's x and y,

create two variables:

int &holddinkx;

int &holddinky;

or whatever you want to call them, then set them:

&holddinkx = sp_x(1, -1);

&holddinkx += 50;//so Dink isn't hurt

&holddinky = sp_y(1, -1);

&holddinky += 50;

create_sprite(&holddinkx, &holddinky, 9, 273, 1);



Yes I know this isn't very clear...
Re: Need help with my latest spell
: : :(



: : I have made a totally new spell, "Golem1/2/3/4" that will make a soldier who kills your enemies and you still get the experience! Well, but i have a problem with the script. When you cast the spell, the golem will appear in the middle of the screen, X: 320 Y: 210, But when theres a wall or holl at that location he gets stuck! I tried and tried to use your own, dinks, X and Y to let the golem start near you. Heres my script, Item-Gl1.c :



: : //The Grey Man spell



: : //This is, i think, the most difficult spell ever!



: : void use(void)



: : {



: : //You may only use 1 golem offcourse!



: : hurt(&man, 1000);



: : &man = create_sprite(320,210,9,273,1);



: : sp_script(&man, "golem1");



: : &magic_level = 0;



: : }



: : void arm(void)



: : {



: : int &man;



: : &magic_cost = 500;



: : }



: : void disarm(void)



: : {



: : &magic_cost = 0;



: : &magic_level = 0;



: : }



: : Heres the second, golem1.c :



: : void main(void)



: : {



: : //Well this is the most difficult part!



: : sp_base_walk(&current_sprite, 270);



: : sp_base_attack(&current_sprite, 710);



: : sp_distance(&current_sprite, 60);



: : sp_strength(&current_sprite, 20);



: : sp_defense(&current_sprite, 10);



: : sp_hitpoints(&current_sprite, 50);



: : sp_speed(&current_sprite, 2);



: : sp_timing(&current_sprite, 66);



: : sp_brain(&current_sprite, 9);



: : }



: : void hit(void)



: : {



: : say("Arghh!", &current_sprite);



: : sp_target(&current_sprite, &enemy_sprite);



: : }



: : void die(void)



: : {



: : }



: : CAN YOU HELP ME???



: : 2nd problem, when i arm the spell, the spell will charge up but when i use it, it charges up again but the green line stays! How can i fix that?!



: : Thanx for reading,



: : Martijn



: : //PLEASE DONT STEAL MY SPELL, I'LL GIVE IT TO THE D NETWORK SO YOU CAN DOWNLOAD IT!



: That monster will still attack Dink and/but to set it to Dink's x and y,



: create two variables:



: int &holddinkx;



: int &holddinky;



: or whatever you want to call them, then set them:



: &holddinkx = sp_x(1, -1);



: &holddinkx += 50;//so Dink isn't hurt



: &holddinky = sp_y(1, -1);



: &holddinky += 50;



: create_sprite(&holddinkx, &holddinky, 9, 273, 1);



: Yes I know this isn't very clear...















Eh.....a couple things....the hurt spell to kill any golems currently out would not work unless you used a global.  The variable used when the golem was made would not be able to be used later in a different script, or in a different procedure of the same script even.  One way to make that work would be to set the sprite # to a global, but then you'd also have to check to make sure it is still the golem, because when you switch screens the same sprite # could be anything :)



I suggest just setting a global when the golem is made that gets set back when he dies, this way when you switch screens you can create him if you want.



Also, you just didn't do some of it right...i'm tired and way to lazy to go through yours, so i'll just put up one i made quite a while ago.  Its a bonca i think...eventualy there will be a summon spell in my game, but it'll be from the spirit crystal, the last one you get, so i'm kinda putting it off...or maybe i'll finish it for the re-release of my demo....bleh enough rambling, i'll go get that script now.  Oh, i guess i did it a little differently than i remember, but still easy to follow.  



This is all the item script does:

spawn("familiar");

&magic_level = 0;

draw_status();





And that script is as follows:

void main(void)

{

script_attach(1000);

int &firstmap;

int ↦

int &x = sp_x(1, -1);

int &y = sp_y(1, -1);

int &dude = create_sprite(&x, &y, 0, 531, 1);

sp_script(&dude, "familiar-dude");

wait(1);



&firstmap = &player_map;

loop:

if (&firstmap != &player_map)

{

main()

}





  int &crap = get_sprite_with_this_brain(10, &dude);

   if (&crap > 0)

    {

     sp_target(&dude, &crap);

    }

   if (&crap == 0)

    {

      &crap = get_sprite_with_this_brain(9, &dude);

   if (&crap > 0)

    {

     sp_target(&dude, &crap);

    }

     if (&crap == 0)

      {

       &crap = get_sprite_with_this_brain(3, &dude);

   if (&crap > 0)

    {

     sp_target(&dude, &crap);

    }

       if (&crap == 0)

       {

     &crap = get_sprite_with_this_brain(4, &dude);

   if (&crap > 0)

    {

     sp_target(&dude, &crap);

    }

         if (&crap == 0)

         {

     &crap = get_sprite_with_this_brain(16, &dude);

   if (&crap > 0)

    {

     sp_target(&dude, &crap);

    }

         if (&crap == 0)

            {

            sp_follow(&dude, 1);

            }















     

    }

   }

  }

 }



wait(100);

goto loop;







}





And familiar-dude is just like any bonca script...  basicaly the script checks if you are on the same map or not, and if not automaticaly makes the familiar...also it constantly gives it something to attack, any monsters with brains 9 or 10...ducks or pigs with 3 or 4, or people with brains 16..hehe..this allows many to be made, i did not yet put in a way to keep only one made..but really, you'd just set a global in the script of the familiar, setting it to 1 in the main proc, and 0 in the die proc...



I also notice i didn't put in a way to kill the script....which would be a really good thing to do...since it would survive screen changes...ya that could be bad... but can be fixed if you put this right before the goto loop;



int &brain = sp_brain(&dude, -1);

if (&brain != 9)

 {

  kill_this_task();

 }



You could check anything really, not just the brain...



Otherwise, that script looks like it would work..its pretty simple really, by the time i get around to actualy making my familiar graphics and everything i'll make it more complicated in many ways like i do all my scripts...



Look for my demo (again) soon!

Re: Need help with my latest spell
: : : :(



: : : I have made a totally new spell, "Golem1/2/3/4" that will make a soldier who kills your enemies and you still get the experience! Well, but i have a problem with the script. When you cast the spell, the golem will appear in the middle of the screen, X: 320 Y: 210, But when theres a wall or holl at that location he gets stuck! I tried and tried to use your own, dinks, X and Y to let the golem start near you. Heres my script, Item-Gl1.c :



: : : //The Grey Man spell



: : : //This is, i think, the most difficult spell ever!



: : : void use(void)



: : : {



: : : //You may only use 1 golem offcourse!



: : : hurt(&man, 1000);



: : : &man = create_sprite(320,210,9,273,1);



: : : sp_script(&man, "golem1");



: : : &magic_level = 0;



: : : }



: : : void arm(void)



: : : {



: : : int &man;



: : : &magic_cost = 500;



: : : }



: : : void disarm(void)



: : : {



: : : &magic_cost = 0;



: : : &magic_level = 0;



: : : }



: : : Heres the second, golem1.c :



: : : void main(void)



: : : {



: : : //Well this is the most difficult part!



: : : sp_base_walk(&current_sprite, 270);



: : : sp_base_attack(&current_sprite, 710);



: : : sp_distance(&current_sprite, 60);



: : : sp_strength(&current_sprite, 20);



: : : sp_defense(&current_sprite, 10);



: : : sp_hitpoints(&current_sprite, 50);



: : : sp_speed(&current_sprite, 2);



: : : sp_timing(&current_sprite, 66);



: : : sp_brain(&current_sprite, 9);



: : : }



: : : void hit(void)



: : : {



: : : say("Arghh!", &current_sprite);



: : : sp_target(&current_sprite, &enemy_sprite);



: : : }



: : : void die(void)



: : : {



: : : }



: : : CAN YOU HELP ME???



: : : 2nd problem, when i arm the spell, the spell will charge up but when i use it, it charges up again but the green line stays! How can i fix that?!



: : : Thanx for reading,



: : : Martijn



: : : //PLEASE DONT STEAL MY SPELL, I'LL GIVE IT TO THE D NETWORK SO YOU CAN DOWNLOAD IT!



: : That monster will still attack Dink and/but to set it to Dink's x and y,



: : create two variables:



: : int &holddinkx;



: : int &holddinky;



: : or whatever you want to call them, then set them:



: : &holddinkx = sp_x(1, -1);



: : &holddinkx += 50;//so Dink isn't hurt



: : &holddinky = sp_y(1, -1);



: : &holddinky += 50;



: : create_sprite(&holddinkx, &holddinky, 9, 273, 1);



: : Yes I know this isn't very clear...



: Eh.....a couple things....the hurt spell to kill any golems currently out would not work unless you used a global. The variable used when the golem was made would not be able to be used later in a different script, or in a different procedure of the same script even. One way to make that work would be to set the sprite # to a global, but then you'd also have to check to make sure it is still the golem, because when you switch screens the same sprite # could be anything :)



: I suggest just setting a global when the golem is made that gets set back when he dies, this way when you switch screens you can create him if you want.



: Also, you just didn't do some of it right...i'm tired and way to lazy to go through yours, so i'll just put up one i made quite a while ago. Its a bonca i think...eventualy there will be a summon spell in my game, but it'll be from the spirit crystal, the last one you get, so i'm kinda putting it off...or maybe i'll finish it for the re-release of my demo....bleh enough rambling, i'll go get that script now. Oh, i guess i did it a little differently than i remember, but still easy to follow.



: This is all the item script does:



: spawn("familiar");



: &magic_level = 0;



:  draw_status();



: And that script is as follows:



: void main(void)



: {



: script_attach(1000);



: int &firstmap;



: int ↦



: int &x = sp_x(1, -1);



: int &y = sp_y(1, -1);



: int &dude = create_sprite(&x, &y, 0, 531, 1);



: sp_script(&dude, "familiar-dude");



: wait(1);



: &firstmap = &player_map;



: loop:



: if (&firstmap != &player_map)



: {



: main()



: }



:   int &crap = get_sprite_with_this_brain(10, &dude);



:   if (&crap > 0)



:   {



:   sp_target(&dude, &crap);



:   }



:   if (&crap == 0)



:   {



:   &crap = get_sprite_with_this_brain(9, &dude);



:   if (&crap > 0)



:   {



:   sp_target(&dude, &crap);



:   }



:   if (&crap == 0)



:   {



:   &crap = get_sprite_with_this_brain(3, &dude);



:   if (&crap > 0)



:   {



:   sp_target(&dude, &crap);



:   }



:   if (&crap == 0)



:   {



:   &crap = get_sprite_with_this_brain(4, &dude);



:   if (&crap > 0)



:   {



:   sp_target(&dude, &crap);



:   }



:   if (&crap == 0)



:   {



:   &crap = get_sprite_with_this_brain(16, &dude);



:   if (&crap > 0)



:   {



:   sp_target(&dude, &crap);



:   }



:   if (&crap == 0)



:   {



:   sp_follow(&dude, 1);



:   }



:  



:   }



:   }



:   }



:  }



: wait(100);



: goto loop;



: }



: And familiar-dude is just like any bonca script... basicaly the script checks if you are on the same map or not, and if not automaticaly makes the familiar...also it constantly gives it something to attack, any monsters with brains 9 or 10...ducks or pigs with 3 or 4, or people with brains 16..hehe..this allows many to be made, i did not yet put in a way to keep only one made..but really, you'd just set a global in the script of the familiar, setting it to 1 in the main proc, and 0 in the die proc...



: I also notice i didn't put in a way to kill the script....which would be a really good thing to do...since it would survive screen changes...ya that could be bad... but can be fixed if you put this right before the goto loop;



: int &brain = sp_brain(&dude, -1);



:  if (&brain != 9)



:  {



:   kill_this_task();



:  }



: You could check anything really, not just the brain...



: Otherwise, that script looks like it would work..its pretty simple really, by the time i get around to actualy making my familiar graphics and everything i'll make it more complicated in many ways like i do all my scripts...



: Look for my demo (again) soon!





Wasn't quite sure how to target, knew it was something like that.

Re: Need help with my latest spell
: : : : :(



: : : : I have made a totally new spell, "Golem1/2/3/4" that will make a soldier who kills your enemies and you still get the experience! Well, but i have a problem with the script. When you cast the spell, the golem will appear in the middle of the screen, X: 320 Y: 210, But when theres a wall or holl at that location he gets stuck! I tried and tried to use your own, dinks, X and Y to let the golem start near you. Heres my script, Item-Gl1.c :



: : : : //The Grey Man spell



: : : : //This is, i think, the most difficult spell ever!



: : : : void use(void)



: : : : {



: : : : //You may only use 1 golem offcourse!



: : : : hurt(&man, 1000);



: : : : &man = create_sprite(320,210,9,273,1);



: : : : sp_script(&man, "golem1");



: : : : &magic_level = 0;



: : : : }



: : : : void arm(void)



: : : : {



: : : : int &man;



: : : : &magic_cost = 500;



: : : : }



: : : : void disarm(void)



: : : : {



: : : : &magic_cost = 0;



: : : : &magic_level = 0;



: : : : }



: : : : Heres the second, golem1.c :



: : : : void main(void)



: : : : {



: : : : //Well this is the most difficult part!



: : : : sp_base_walk(&current_sprite, 270);



: : : : sp_base_attack(&current_sprite, 710);



: : : : sp_distance(&current_sprite, 60);



: : : : sp_strength(&current_sprite, 20);



: : : : sp_defense(&current_sprite, 10);



: : : : sp_hitpoints(&current_sprite, 50);



: : : : sp_speed(&current_sprite, 2);



: : : : sp_timing(&current_sprite, 66);



: : : : sp_brain(&current_sprite, 9);



: : : : }



: : : : void hit(void)



: : : : {



: : : : say("Arghh!", &current_sprite);



: : : : sp_target(&current_sprite, &enemy_sprite);



: : : : }



: : : : void die(void)



: : : : {



: : : : }



: : : : CAN YOU HELP ME???



: : : : 2nd problem, when i arm the spell, the spell will charge up but when i use it, it charges up again but the green line stays! How can i fix that?!



: : : : Thanx for reading,



: : : : Martijn



: : : : //PLEASE DONT STEAL MY SPELL, I'LL GIVE IT TO THE D NETWORK SO YOU CAN DOWNLOAD IT!



: : : That monster will still attack Dink and/but to set it to Dink's x and y,



: : : create two variables:



: : : int &holddinkx;



: : : int &holddinky;



: : : or whatever you want to call them, then set them:



: : : &holddinkx = sp_x(1, -1);



: : : &holddinkx += 50;//so Dink isn't hurt



: : : &holddinky = sp_y(1, -1);



: : : &holddinky += 50;



: : : create_sprite(&holddinkx, &holddinky, 9, 273, 1);



: : : Yes I know this isn't very clear...



: : Eh.....a couple things....the hurt spell to kill any golems currently out would not work unless you used a global. The variable used when the golem was made would not be able to be used later in a different script, or in a different procedure of the same script even. One way to make that work would be to set the sprite # to a global, but then you'd also have to check to make sure it is still the golem, because when you switch screens the same sprite # could be anything :)



: : I suggest just setting a global when the golem is made that gets set back when he dies, this way when you switch screens you can create him if you want.



: : Also, you just didn't do some of it right...i'm tired and way to lazy to go through yours, so i'll just put up one i made quite a while ago. Its a bonca i think...eventualy there will be a summon spell in my game, but it'll be from the spirit crystal, the last one you get, so i'm kinda putting it off...or maybe i'll finish it for the re-release of my demo....bleh enough rambling, i'll go get that script now. Oh, i guess i did it a little differently than i remember, but still easy to follow.



: : This is all the item script does:



: : spawn("familiar");



: : &magic_level = 0;



: : draw_status();



: : And that script is as follows:



: : void main(void)



: : {



: : script_attach(1000);



: : int &firstmap;



: : int ↦



: : int &x = sp_x(1, -1);



: : int &y = sp_y(1, -1);



: : int &dude = create_sprite(&x, &y, 0, 531, 1);



: : sp_script(&dude, "familiar-dude");



: : wait(1);



: : &firstmap = &player_map;



: : loop:



: : if (&firstmap != &player_map)



: : {



: : main()



: : }



: : int &crap = get_sprite_with_this_brain(10, &dude);



: : if (&crap > 0)



: : {



: : sp_target(&dude, &crap);



: : }



: : if (&crap == 0)



: : {



: : &crap = get_sprite_with_this_brain(9, &dude);



: : if (&crap > 0)



: : {



: : sp_target(&dude, &crap);



: : }



: : if (&crap == 0)



: : {



: : &crap = get_sprite_with_this_brain(3, &dude);



: : if (&crap > 0)



: : {



: : sp_target(&dude, &crap);



: : }



: : if (&crap == 0)



: : {



: : &crap = get_sprite_with_this_brain(4, &dude);



: : if (&crap > 0)



: : {



: : sp_target(&dude, &crap);



: : }



: : if (&crap == 0)



: : {



: : &crap = get_sprite_with_this_brain(16, &dude);



: : if (&crap > 0)



: : {



: : sp_target(&dude, &crap);



: : }



: : if (&crap == 0)



: : {



: : sp_follow(&dude, 1);



: : }



: :



: : }



: : }



: : }



: : }



: : wait(100);



: : goto loop;



: : }



: : And familiar-dude is just like any bonca script... basicaly the script checks if you are on the same map or not, and if not automaticaly makes the familiar...also it constantly gives it something to attack, any monsters with brains 9 or 10...ducks or pigs with 3 or 4, or people with brains 16..hehe..this allows many to be made, i did not yet put in a way to keep only one made..but really, you'd just set a global in the script of the familiar, setting it to 1 in the main proc, and 0 in the die proc...



: : I also notice i didn't put in a way to kill the script....which would be a really good thing to do...since it would survive screen changes...ya that could be bad... but can be fixed if you put this right before the goto loop;



: : int &brain = sp_brain(&dude, -1);



: : if (&brain != 9)



: : {



: : kill_this_task();



: : }



: : You could check anything really, not just the brain...



: : Otherwise, that script looks like it would work..its pretty simple really, by the time i get around to actualy making my familiar graphics and everything i'll make it more complicated in many ways like i do all my scripts...



: : Look for my demo (again) soon!



: Wasn't quite sure how to target, knew it was something like that.



Ya this way works best, because it'll do them in order...if you did random, it would just walk towards one, stop, walk towards another, stop, etc, but this way it does the first one til its dead, then next..



Only flaw is if it can't get to the first one, it just acts stupid...



I'll fix this by:

1) Giving him some spells to cast at random times

2) Probebly triggering that spell if after so many seconds he hasn't run the attack proc

3) Try to make him attack next, but I haven't figured out a good way yet..