Ya encontre una manera a lo que pides... no es optima si al final van a haber muchos objetos B, pero funciona.
en este caso ya no se requiere ningun codigo en el objeto B
evento create del objeto A:
[gml]
Total=0;//total de objetos B con los que se colisiono (dejar en 0)
Colisionados[0]=0;//dejamos el primer index en 0 para que no dee error al verificar el array por primera vez.
Variable=0;//esta variable la cambias por lo que quieras
[/gml]
evento de colision del objeto A contra el objeto B
[gml]
for (i = 0; i <= Total; i+=1){//bucle para revisar las colisiones que se efectuaron hasta ahora
if (Colisionados == other.id) exit; //si ya colisiono con ese objeto B nos salimos del evento colision
if (i = Total){ // si llegamos al final del bucle y no hubo una colision con ese objeto hacemos lo siguiente:
Total+=1;
Colisionados[Total] = other.id;
Variable+=1;}
}
[/gml]
Espero que se entienda, Suerte!
Editado: se que es mas optimo hacer esto mismo pero con ds_map o ds_list, el problema es que no se usarlos bien xD si tu o un user del foro lo adapta para que use listas, va a ser mucho mas optimo si estamos hablando de cientos de objetos.
en este caso ya no se requiere ningun codigo en el objeto B
evento create del objeto A:
[gml]
Total=0;//total de objetos B con los que se colisiono (dejar en 0)
Colisionados[0]=0;//dejamos el primer index en 0 para que no dee error al verificar el array por primera vez.
Variable=0;//esta variable la cambias por lo que quieras
[/gml]
evento de colision del objeto A contra el objeto B
[gml]
for (i = 0; i <= Total; i+=1){//bucle para revisar las colisiones que se efectuaron hasta ahora
if (Colisionados == other.id) exit; //si ya colisiono con ese objeto B nos salimos del evento colision
if (i = Total){ // si llegamos al final del bucle y no hubo una colision con ese objeto hacemos lo siguiente:
Total+=1;
Colisionados[Total] = other.id;
Variable+=1;}
}
[/gml]
Espero que se entienda, Suerte!
Editado: se que es mas optimo hacer esto mismo pero con ds_map o ds_list, el problema es que no se usarlos bien xD si tu o un user del foro lo adapta para que use listas, va a ser mucho mas optimo si estamos hablando de cientos de objetos.