Wouldn't it be neat to have randomly generated dungeons, enemies, and screen layouts? Heck yeah! Well i'm currently trying my hand at the second one any ways...who knows, the rest may not be far off. Then youd have a ZC quest that's different every time through! Sweet.

...Anyways on to my script idea;

Code:
import "std.zh"

//============================================================================
// Creates 8 random enemies in ADDITION to current screen enemies. ;p hehe..
// D0-D7 Enemies to be spawned
// D0 being the weakest and    
// D7 the strongest 
//============================================================================
ffc script random_enemy_generator{

    void run (int enemy1, int enemy2, int enemy3, int enemy4, 
              int enemy5, int enemy6, int enemy7, int enemy8){
        int x;
        int y;
        int enemy_ticker = 8;         
        int RandNum = Rand(8);
        npc spawnee;

        while(true){
 
        for (int enemy_ticker = 8; enemy_ticker > 0; enemy_ticker -= 1) {
         
             if (RandNum == 7){                  
                   npc spawnee = Screen->CreateNPC(enemy8);
                   spawnee->X = is_walkable(x);          
		   spawnee->Y = is_walkable(y);
                   RandNum = Rand(7);          
           } if (RandNum == 6){            
                   npc spawnee = Screen->CreateNPC(enemy7);
                   spawnee->X = is_walkable(x);          
		   spawnee->Y = is_walkable(y);
                   RandNum = Rand(7);
           } if (RandNum == 5){            
                   npc spawnee = Screen->CreateNPC(enemy6);
                   spawnee->X = is_walkable(x);          
		   spawnee->Y = is_walkable(y);
                   RandNum = Rand(7);
           } if (RandNum == 4){            
                   npc spawnee = Screen->CreateNPC(enemy5);
                   spawnee->X = is_walkable(x);          
		   spawnee->Y = is_walkable(y);
                   RandNum = Rand(7);
           } if (RandNum == 3){            
                   npc spawnee = Screen->CreateNPC(enemy4);
                   spawnee->X = is_walkable(x);          
		   spawnee->Y = is_walkable(y);
                   RandNum = Rand(7);
           } if (RandNum == 2){            
                   npc spawnee = Screen->CreateNPC(enemy3);
                   spawnee->X = is_walkable(x);          
		   spawnee->Y = is_walkable(y);
                   RandNum = Rand(7);
           } if (RandNum == 1){            
                   npc spawnee = Screen->CreateNPC(enemy2);
                   spawnee->X = is_walkable(x);          
		   spawnee->Y = is_walkable(y);
                   RandNum = Rand(7);
           } if (RandNum == 0){            
                   npc spawnee = Screen->CreateNPC(enemy1);
                   spawnee->X = is_walkable(x);          
		   spawnee->Y = is_walkable(y);
                   RandNum = Rand(7);           

               } enemy_ticker = enemy_ticker - 1;

            } if (enemy_ticker < 1){
              Quit();
            }
        }
    }
        bool is_walkable (int x, int y){

	if(x<0 || x>240 || y<0 || y>160){
		return false;
	}
        return Screen->ComboS[y+(x>>4)]==0;
        }
}
OK, here is the next revision. It still doesn't work though. Something about bool(float) 23 error can't compile...It's out of my hands now, I could use some help.

Comments, suggestions, help?