Well, if you were pushing two meshes at the same time, your code wouldn't work.
If you took out these lines:
Looking back now, I see that you were probably checking for BeingPushed = 0 so that you weren't checking the same mesh against itself. You can prevent that by comparing the mesh handle instead of what you were comparing.
New code:
Hope that helps.
If you took out these lines:
If a\BeingPushed = 0 Endifbut left this one:
MeshB = a\modelThen it might work.
Looking back now, I see that you were probably checking for BeingPushed = 0 so that you weren't checking the same mesh against itself. You can prevent that by comparing the mesh handle instead of what you were comparing.
New code:
For a.PushableItem = Each PushableItem MeshB = a\model If MeshA <> MeshB If MeshA <>0 And MeshB<>0 If MeshesIntersect(MeshA,MeshB) TranslateEntity MeshA,(char\move)*(collsnx),0,(char\move)*(collsnz) TranslateEntity char\PlayerPivot,(char\move)*(collsnx),0,(char\move)*(collsnz) EndIf EndIf Endif Next
Hope that helps.