void OnMapStart()
{
//Hide Tanks...
SC_SetObjectHidden(252,1);
SC_SetObjectHidden(253,1);
SC_SetObjectHidden(254,1);
SC_SetObjectHidden(255,1);
SC_SetObjectHidden(256,1);
SC_SetObjectHidden(257,1);
SC_SetObjectHidden(258,1);
SC_SetObjectHidden(259,1);
SC_SetObjectHidden(260,1);
SC_SetObjectHidden(261,1);
SC_SetObjectHidden(262,1);
SC_SetObjectHidden(263,1);
SC_SetObjectHidden(264,1);
SC_SetObjectHidden(265,1);
SC_SetObjectHidden(266,1);
SC_SetObjectHidden(267,1);
SC_SetObjectHidden(268,1);
SC_SetObjectHidden(269,1);
SC_SetObjectHidden(270,1);
SC_SetObjectHidden(271,1);
SC_SetObjectHidden(272,1);
SC_SetObjectHidden(273,1);
SC_SetObjectHidden(274,1);
SC_SetObjectHidden(275,1);
SC_SetObjectHidden(276,1);
SC_SetObjectHidden(277,1);
SC_SetObjectHidden(278,1);
SC_SetObjectHidden(279,1);
SC_SetObjectHidden(280,1);
SC_SetObjectHidden(281,1);
SC_SetObjectHidden(282,1);
//...and the player
SC_SetObjectHidden(SC_GetPlayerObjectId(),1);
//Deal with Camera
SC_SetCameraPos_Coords( 488, 200, 3400);
SC_SetCameraTarget_Coords( 1525, 32, 4440);
SC_SetCameraUpVector( 0, 1, 0); 
}

//Camera Work and Messages--------------------------------------------------------
void OnWaypointReached_1(int ObjectId)
{
SC_GameMessage("Objective: Secure the main square");
}

void OnWaypointReached_2(int ObjectId)
{
SC_SetCameraPos_Coords( 4860, 200, 3940);
SC_SetCameraTarget_Coords( 5350, 32, 4210);
SC_GameMessage("There is a rocket launcher in this building to help you.");
}

void OnWaypointReached_3(int ObjectId)
{
SC_SetCameraPos_Coords( 6240, 32, 4372);
SC_SetCameraTarget_Coords( 6320, 32, 4320);
SC_GameMessage("Retrieve it before clearing the square.");
}

void OnWaypointReached_4(int ObjectId)
{
SC_SetCameraTarget_Object(285);
SC_SetCameraPos_FollowTarget( 200, 160, 32);
SC_GameMessage("You will have to fight your way through the streets to get to the objective.");
}

void OnWaypointReached_5(int ObjectId)
{
SC_SetCameraPos_Coords( 4873, 64, 822);
SC_SetCameraTarget_Coords( 5360, 32, 1050);
SC_GameMessage("Expect heavy opposition. The area is overrun and there are many fixed defences");
}


void OnWaypointReached_6(int ObjectId)
{
SC_SetCameraPos_Coords( 6063, 1, 1806);
SC_SetCameraTarget_Coords( 5806, 32, 2056);
SC_GameMessage("Enemy reinforcements will probably show up later.");
}

void OnWaypointReached_10(int ObjectId)
{
SC_ReleaseCamera();
SC_GameMessage("Good Luck.");
SC_SetObjectHidden(SC_GetPlayerObjectId(),0);
SC_SetObjectAngle(SC_GetPlayerObjectId(),192);
}

//Tank Reinforcements--------------------------------------------------
void OnPlayerOverTile_9( int TileLocationX, int TileLocationZ)
{
SC_GameMessage("Enemy tanks detected in your area");
//Unhide Tanks
SC_SetObjectHidden(252,0);
SC_SetObjectHidden(253,0);
SC_SetObjectHidden(254,0);
SC_SetObjectHidden(255,0);
SC_SetObjectHidden(256,0);
SC_SetObjectHidden(257,0);
SC_SetObjectHidden(258,0);
SC_SetObjectHidden(259,0);
SC_SetObjectHidden(260,0);
SC_SetObjectHidden(261,0);
SC_SetObjectHidden(262,0);
SC_SetObjectHidden(263,0);
SC_SetObjectHidden(264,0);
SC_SetObjectHidden(265,0);
SC_SetObjectHidden(266,0);
SC_SetObjectHidden(267,0);
SC_SetObjectHidden(268,0);
SC_SetObjectHidden(269,0);
SC_SetObjectHidden(270,0);
SC_SetObjectHidden(271,0);
SC_SetObjectHidden(272,0);
SC_SetObjectHidden(273,0);
SC_SetObjectHidden(274,0);
SC_SetObjectHidden(275,0);
SC_SetObjectHidden(276,0);
SC_SetObjectHidden(277,0);
SC_SetObjectHidden(278,0);
SC_SetObjectHidden(279,0);
SC_SetObjectHidden(280,0);
SC_SetObjectHidden(281,0);
SC_SetObjectHidden(282,0);
//Change Barricades
//#1
SC_SetMapTile( 152, 53, 232);
SC_SetMapTile( 153, 53, 232);
SC_SetMapTile( 154, 53, 232);
SC_SetMapTile( 155, 53, 232);
SC_SetMapTile( 156, 53, 232);
SC_SetMapTile( 157, 53, 232);
SC_SetMapTile( 158, 53, 232);
SC_SetMapTile( 159, 53, 232);
//#2
SC_SetMapTile( 111, 88, 232);
SC_SetMapTile( 112, 88, 232);
SC_SetMapTile( 113, 88, 232);
SC_SetMapTile( 114, 88, 232);
SC_SetMapTile( 115, 88, 232);
SC_SetMapTile( 116, 88, 232);
SC_SetMapTile( 117, 88, 232);
SC_SetMapTile( 118, 88, 232);
SC_SetMapTile( 119, 88, 232);
//#3
SC_SetMapTile( 80, 87, 232);
SC_SetMapTile( 81, 87, 232);
SC_SetMapTile( 82, 87, 232);
SC_SetMapTile( 83, 87, 232);
SC_SetMapTile( 84, 87, 232);
SC_SetMapTile( 85, 87, 232);
SC_SetMapTile( 86, 87, 232);
SC_SetMapTile( 87, 87, 232);
SC_SetMapTile( 88, 87, 232);
SC_SetMapTile( 89, 87, 232);
//#4
SC_SetMapTile( 81, 75, 232);
SC_SetMapTile( 82, 75, 232);
SC_SetMapTile( 83, 75, 232);
SC_SetMapTile( 84, 75, 232);
SC_SetMapTile( 85, 75, 232);
SC_SetMapTile( 86, 75, 232);
SC_SetMapTile( 87, 75, 232);
SC_SetMapTile( 88, 75, 232);
SC_SetMapTile( 89, 75, 232);
//#5
SC_SetMapTile( 17, 75, 232);
SC_SetMapTile( 18, 75, 232);
SC_SetMapTile( 19, 75, 232);
SC_SetMapTile( 20, 75, 232);
SC_SetMapTile( 21, 75, 232);
SC_SetMapTile( 22, 75, 232);
SC_SetMapTile( 23, 75, 232);
SC_SetMapTile( 24, 75, 232);
SC_SetMapTile( 25, 75, 232);
SC_SetMapTile( 26, 75, 232);
//#6
SC_SetMapTile( 129, 98, 233);
SC_SetMapTile( 129, 99, 233);
SC_SetMapTile( 129, 100, 233);
SC_SetMapTile( 129, 101, 233);
SC_SetMapTile( 129, 102, 233);
SC_SetMapTile( 129, 103, 233);
SC_SetMapTile( 129, 104, 233);
SC_SetMapTile( 129, 105, 233);
SC_SetMapTile( 129, 106, 233);
//#7
SC_SetMapTile( 161, 123, 233);
SC_SetMapTile( 161, 124, 233);
SC_SetMapTile( 161, 125, 233);
SC_SetMapTile( 161, 126, 233);
SC_SetMapTile( 161, 127, 233);
SC_SetMapTile( 161, 128, 233);
SC_SetMapTile( 161, 129, 233);
SC_SetMapTile( 161, 130, 233);
SC_SetMapTile( 161, 131, 233);
SC_SetMapTile( 161, 132, 233);
//#8
SC_SetMapTile( 181, 110, 3);
SC_SetMapTile( 182, 110, 3);
SC_SetMapTile( 189, 110, 3);
SC_SetMapTile( 183, 110, 18);
SC_SetMapTile( 184, 110, 18);
SC_SetMapTile( 185, 110, 18);
SC_SetMapTile( 186, 110, 18);
SC_SetMapTile( 187, 110, 18);
SC_SetMapTile( 188, 110, 18);
//#9
SC_SetMapTile( 109, 77, 3);
SC_SetMapTile( 109, 78, 3);
SC_SetMapTile( 109, 85, 3);
SC_SetMapTile( 109, 86, 3);
SC_SetMapTile( 109, 79, 18);
SC_SetMapTile( 109, 80, 18);
SC_SetMapTile( 109, 81, 18);
SC_SetMapTile( 109, 82, 18);
SC_SetMapTile( 109, 83, 18);
SC_SetMapTile( 109, 84, 18);
//#10
SC_SetMapTile( 76, 77, 3);
SC_SetMapTile( 76, 78, 3);
SC_SetMapTile( 76, 85, 3);
SC_SetMapTile( 76, 86, 3);
SC_SetMapTile( 76, 79, 18);
SC_SetMapTile( 76, 80, 18);
SC_SetMapTile( 76, 81, 18);
SC_SetMapTile( 76, 82, 18);
SC_SetMapTile( 76, 83, 18);
SC_SetMapTile( 76, 84, 18);
//Get rid of trigger tiles
SC_SetMapTile( 196, 134, 3);
SC_SetMapTile( 197, 134, 3);
SC_SetMapTile( 198, 134, 3);
SC_SetMapTile( 196, 135, 3);
SC_SetMapTile( 197, 135, 3);
SC_SetMapTile( 198, 135, 3);
//Camera work
SC_SetCameraPos_Coords( 1750, 250, 4520);
SC_SetCameraTarget_Coords( 635, 32, 3535);
SC_SetCameraUpVector( 0, 1, 0); 
}

//More Camera Work
void OnWaypointReached_7(int ObjectId)
{
SC_SetCameraPos_Coords( 2874, 1, 2618);
SC_SetCameraTarget_Coords( 2307, 32, 2618);
SC_GameMessage("Destroy as many as you can.");
}

void OnWaypointReached_8(int ObjectId)
{
SC_SetCameraPos_Coords( 4592, 50, 3985);
SC_SetCameraTarget_Coords( 5260, 32, 4200);
SC_GameMessage("New barricades have also been put up.");
}

void OnWaypointReached_9(int ObjectId)
{
SC_ReleaseCamera();
}