I have two more things up my sleeve.
Looking at the script before I started adding a bunch of stuff, I just noticed line 249 is missing a semi-colon. Try adding it and see if that fixes things.
GameObjectlist l99;
Otherwise replace starting at "} else if(StrCompare(v.GetPrototypeFileName(), OBJ_VAN) == 0)" until the end of the childID == 1 statement.
} else if(StrCompare(v.GetPrototypeFileName(), OBJ_VAN) == 0)
{
GameObjectList l99;
Game::CollectObstaclesOnVirtualObject(VO_BACK03, l99, ACTOR_VEHICLE);
if(l99.GetNumObjects() > 0)
{
v.PushActionExecuteCommand(ACTION_NEWLIST, CMD_PATROL, Caller, 0, false);
return;
} else
{
ActorList aList1 = Game::GetActors(VO_TT_BACK03);
ActorList aList2 = Game::GetActors(VO_BACK03);
}
}
else if(StrCompare(v.GetPrototypeFileName(), OBJ_SUV) == 0)
{
GameObjectList l99;
Game::CollectObstaclesOnVirtualObject(VO_BACK04, l99, ACTOR_VEHICLE);
if(l99.GetNumObjects() > 0)
{
v.PushActionExecuteCommand(ACTION_NEWLIST, CMD_PATROL, Caller, 0, false);
return;
} else
{
ActorList aList1 = Game::GetActors(VO_TT_BACK04);
ActorList aList2 = Game::GetActors(VO_BACK04);
}
}
else if(StrCompare(v.GetPrototypeFileName(), OBJ_CRUISER04) == 0)
{
GameObjectlist l99
Game::CollectObstaclesOnVirtualObject(VO_BACK01, l99, ACTOR_VEHICLE);
if(l99.GetNumObjects() > 0)
{
GameObjectlist l99;
Game::CollectObstaclesOnVirtualObject(VO_BACK02, l99, ACTOR_VEHICLE);
if(l99.GetNumObjects() > 0)
{
v.PushActionExecuteCommand(ACTION_NEWLIST, CMD_PATROL, Caller, 0, false);
return;
}
else
{
ActorList aList1 = Game::GetActors(VO_TT_BACK02);
ActorList aList2 = Game::GetActors(VO_BACK02);
}
}
else
{
ActorList aList1 = Game::GetActors(VO_TT_BACK01);
ActorList aList2 = Game::GetActors(VO_BACK01);
}
} else
{
Mission::PlayHint(HINT_NOTVALID);
return;
}
if(aList1.GetNumActors() > 0)
Vector TurnTo = aList1.GetActor(0)->GetPosition();
if(aList2.GetNumActors() > 0)
Vector Park = aList2.GetActor(0)->GetPosition();
Audio::PlaySample3D(SND_TOSTATION, Caller->GetPosition());
v.PushActionMove(ACTION_NEWLIST, Park);
v.PushActionTurnTo(ACTION_APPEND, TurnTo);
v.PushActionWait(ACTION_APPEND, 1.0f);
}
The only other thing i can think of is that the l1 variable is getting overwritten at some point (since its being used elsewhere). This will prevent that.