So I get perfect sliding collision for my player object, but.
My enemies that are free roaming do not get collision at all with each other even if I put them in there own sliding code.
I was thinking perhaps it is because there loaded into a array from a type?
Or perhaps it is there size being scaled permanently?
When I give them sliding collision with the world they get perfect sliding collision.
But I do not know how to give them there own collision in-between each other as there loaded as a array and the system is looking at them as the same so how can the same objects have collision with its self. I could be wrong and correct me if I am but this is what I see in my mind.
When there are two or more attacking the player they slide into each other pos and sometimes there is three or four enemies all in the same pos.
Edit<
Here is my whole function that will not detect collision for my enemies with each other.
function FightFreeEnemys()
For x=0 to FreeEnemy.length
rem Old object position
oldx#=GetObjectX(FreeEnemy[x].id)
oldy#=GetObjectY(FreeEnemy[x].id)
oldz#=GetObjectZ(FreeEnemy[x].id)
SetObjectLookAt(FreeEnemy[x].id,GetObjectX(player),GetObjectY(FreeEnemy[x].id), GetObjectz(player),0)
FreeEnemy[x].Distance=getDistance(player,FreeEnemy[x].id)
FreeEnemy[x].SelfDistance=getDistance(FreeEnemy[0].id,FreeEnemy[2].id)
//goblin mounted idel
if FreeEnemy[x].Distance=>200 and FreeEnemy[x].Trigger=0
PlayObjectAnimation(FreeEnemy[x].id,"",1,29,1,0.1)
SetObjectAnimationSpeed(FreeEnemy[x].id,30)
SetObjectPosition(FreeEnemy[x].id,GetObjectX(FreeEnemy[x].id),GetObjectHeightMapHeight(terrain,GetObjectX(FreeEnemy[x].id),GetObjectZ(FreeEnemy[x].id)),GetObjectZ(FreeEnemy[x].id))
FreeEnemy[x].Trigger=1
endif
//goblin mounted walk
if FreeEnemy[x].Distance=>30 and FreeEnemy[x].Distance=<200
if FreeEnemy[x].Trigger=1
PlayObjectAnimation(FreeEnemy[x].id,"",72,88,1,0.1)
SetObjectAnimationSpeed(FreeEnemy[x].id,30)
FreeEnemy[x].Trigger=0
endif
MoveObjectLocalZ(FreeEnemy[x].id,0.7)
SetObjectPosition(FreeEnemy[x].id,GetObjectX(FreeEnemy[x].id),GetObjectHeightMapHeight(terrain,GetObjectX(FreeEnemy[x].id),GetObjectZ(FreeEnemy[x].id)),GetObjectZ(FreeEnemy[x].id))
endif
//goblin mounted attack
if FreeEnemy[x].Distance>0 and FreeEnemy[x].Distance=<29
if FreeEnemy[x].Trigger=0
PlayObjectAnimation(FreeEnemy[x].id,"",90,154,1,0.1)
SetObjectAnimationSpeed(FreeEnemy[x].id,40)
FreeEnemy[x].Trigger=1
endif
if FreeEnemy[x].Distance<27 then MoveObjectLocalZ(FreeEnemy[x].id,-0.3)
SetObjectPosition(FreeEnemy[x].id,GetObjectX(FreeEnemy[x].id),GetObjectHeightMapHeight(terrain,GetObjectX(FreeEnemy[x].id),GetObjectZ(FreeEnemy[x].id)),GetObjectZ(FreeEnemy[x].id))
endif
rem New position
newx#=GetObjectX(FreeEnemy[x].id)
newy#=GetObjectY(FreeEnemy[x].id)
newz#=GetObjectZ(FreeEnemy[x].id)
if ObjectSphereSlide(FreeEnemy[x].id,oldx#,oldy#,oldz#,newx#,newy#,newz#,5.1)>0
newx#=GetObjectRayCastSlideX(0)
newy#=GetObjectRayCastSlideY(0)
newz#=GetObjectRayCastSlideZ(0)
SetObjectPosition(FreeEnemy[x].id,newx#,newy#,newz#)
endif
next x
endfunction