Displaying Active Enemy Counts

maxman

Well-known member
How am I going to display number of enemies like this one?


I have enemies of group set here:

Code:
group 1 1
at 0

spawn Bred 1
spawnscript data/chars/bonus/madgear/fighter.c
coords 324 353
at 0

spawn Dug 1
spawnscript data/chars/bonus/madgear/fighter.c
coords -20 353
at 0

spawn Jake 1
spawnscript data/chars/bonus/madgear/fighter.c
coords 324 353
at 0

spawn Simons 1
spawnscript data/chars/bonus/madgear/fighter.c
coords -20 353
at 0

I have 4 enemies so far as a test. I need to display its enemy count.

In case someone is wondering what's inside the declared spawn script for enemies in levels, here's what it looks like for always facing the opponent:

C:
#import "data/scripts/aimove.c"

void main(){
    faceFighter();
}

void faceFighter()
{
    void self = getlocalvar("self");
    int P1 = getplayerproperty(0, "entity"); // Get player 1
    int P2 = getplayerproperty(1, "entity");
    int zmin = openborvariant("player_min_z");
    int zmax = openborvariant("player_max_z");
    setglobalvar("fightStarted", 1);

    int width = openborvariant("levelwidth");
    int half = width/2;


    if(P1){
       setglobalvar("Fighter1", P1);
       //changeentityproperty(P1, "position", half, zmin, 0);
       setglobalvar("Fighter2", self);
    }
    if(P2){
       setglobalvar("Fighter2", P2);
       setglobalvar("Fighter1", self);
    }

}

In case someone wants to know where the "Fighter" globals come from (for) both players and enemies:
C:
anim    idle
@script
  void self = getlocalvar("self"); //Get calling entity
  void Fighter1 = getglobalvar("Fighter1");//Call Fighter 1
  void Fighter2 = getglobalvar("Fighter2");//Call Fighter 2

  void Fighter; float Fx; float x; int Dir;

  if(Fighter1 && Fighter2){
    if(Fighter1 == self){
      Fighter = Fighter2;
    } else {
      Fighter = Fighter1;
    }

    Fx = getentityproperty(Fighter, "x");
    x = getentityproperty(self, "x");
    Dir = getentityproperty(self, "direction");


    if(Fx >= x){
       if(Dir == 0){//Direction: Left
       performattack(self, openborconstant("ANI_FOLLOW8"));
     }
    } else {
      if(Dir == 1){//Direction: Right
      performattack(self, openborconstant("ANI_FOLLOW8"));
      }
    }


 }
    @end_script    
    loop    1
    delay    9
    offset    336 293
    bbox 318 202 40 94
    frame    data/chars/chun-li/cvs2_chunli_74.png
    frame    data/chars/chun-li/cvs2_chunli_75.png
    frame    data/chars/chun-li/cvs2_chunli_76.png
    frame    data/chars/chun-li/cvs2_chunli_77.png
    frame    data/chars/chun-li/cvs2_chunli_78.png
    frame    data/chars/chun-li/cvs2_chunli_79.png
    frame    data/chars/chun-li/cvs2_chunli_80.png
    frame    data/chars/chun-li/cvs2_chunli_81.png
    frame    data/chars/chun-li/cvs2_chunli_82.png
    frame    data/chars/chun-li/cvs2_chunli_83.png

C:
anim    idle
@script
  void self = getlocalvar("self");
  void Fighter1 = getglobalvar("Fighter1");
  void Fighter2 = getglobalvar("Fighter2");
  //changelevelproperty("scrollspeed", 1);
  void Fighter; float Fx; float x; int Dir;


  if(Fighter1 && Fighter2){
    if(Fighter1 == self){
      Fighter = Fighter2;
    } else {
      Fighter = Fighter1;
    }

    Fx = getentityproperty(Fighter, "x");
    x = getentityproperty(self, "x");
    Dir = getentityproperty(self, "direction");

        if(Fx >= x){
      changeentityproperty(self, "direction", 1);
    } else {
      changeentityproperty(self, "direction", 0);
    }

 }
    @end_script
    bbox    109 67 51 88
    loop    1
    delay    7
    offset    126 155
    frame data/CHARS/Bonus/MadGear/Bred/WALK01.png
 
Back
Top Bottom