Reading...
http://www.conitec.net/beta/ac_move.htm
http://www.conitec.net/beta/c_ignore.htm
http://www.conitec.net/beta/collision.htm
http://www.conitec.net/beta/aentity-fat.htm

Give this a try... Also, makes sure you don't have a c_ignore setup wrong somewhere....
Code:
function playerAdvance()
{
   c_move(me, move_vec, vector(0, 0, my.GRAVITY_VAR), 
      | IGNORE_PASSABLE | GLIDE);
// testing beeping means contact
    if (HIT_TARGET)
{
    if (you == villain)
     beep();
}

}

action player_function()
{
   ...
	
   player = me;
  
	
   ...
   
   my.eflags |= FAT | NARROW; 
//  c_setminmax(me);   // set my bounding box to my real size
// Don't need both, use one or the other

   ...
   
  
   ...

   while (player_health > 0)
   {
      ...
			
      playerAdvance(); 

      ...

      wait(1);
   }

   ...
}

action villain_action()
{

   villain = me;
	wait(1);
   ...

   ...
	
   my.eflags |= FAT | NARROW;
//// ARE The Values correct
	 // set bounding box to individual values
   vec_set(villain.min_x,vector(30,20,80)); 
   vec_set(villain.max_x,vector(-20,-20,0));	
   ...

	
  

   ...

   while (my.status != villain_dead)
   {
      ...

      wait(1);
   }

   ...
}

void createVillain()
{
   villain = ent_create("villain.mdl",
      vector(-64,146,-111), villain_action );
   
   ...
	
  // Don't set a value on the object, outside the object. 
  // Villains action should control the BBOX - just good object-based thinking
  
}



Final notes. BBox's should penetrate each other a bit. As Super notes it's not really a box.

Edit - The example in http://www.conitec.net/beta/aentity-fat.htm shows the negative numbers under min_x not max_x. Is this a possible cause for your BBox not working
Code:
my.eflags |= FAT | NARROW;
//// ARE The Values correct
	 // set bounding box to individual values
   vec_set(villain.min_x,vector(-20,-20,0)); 
   vec_set(villain.max_x,vector(30,20,80));


http://www.conitec.net/beta/aentity-min_x.htm

Last edited by DriftWood; 10/26/17 03:10.