Public feed #533417

Miscellany

public text v1 · immutable
Raw Edit
·published 2007-06-03 13:35 UTC
rendered paste body
//                             Sherman Dam Break-in GM 0.1
//                                 Coded by Chiarboss
//                                       ©2007
//                 Dont edit code or part of it without my permission
//                To get permission contact: marco.chiarelli@hotmail.it


#include <a_samp>

#define TEAM_ATTACK 1
#define TEAM_DEFENCE 2

#define CHECKPOINT_NONE 0
#define CHECKPOINT_CALIGULA 1
#define CHECKPOINT_AIRPORT 2
#define CHECKPOINT_SHERMAN1 3
#define CHECKPOINT_SHERMAN2 4
#define CHECKPOINT_RAY 5
#define CHECKPOINT_KACC 6

#define DEFENCE_WIN 0
#define ATTACK_WIN 1

//colori
#define COLOR_GREY 0xAFAFAFAA
#define COLOR_GREEN 0x33AA33AA
#define COLOR_RED 0xAA3333AA
#define COLOR_YELLOW 0xFFFF00AA
//-------------------------------------------------------------------------
forward DefenceWin();
forward GameModeExitFunc();
//-------------------------------------------------------------------------
new gTeam[MAX_PLAYERS];
new gPlayerClass[MAX_PLAYERS];
new gPlayerCheckpointStatus[MAX_PLAYERS];
new inexplo[MAX_PLAYERS];
new invehicle[MAX_PLAYERS];
new inshop[MAX_PLAYERS];
new incar[MAX_PLAYERS];
new tk[MAX_PLAYERS];
new removev;
new gRoundTimer;
new gRoundTime = 1200000;
new gRoundUpdate0 = 300000;
new gRoundUpdate1 = 900000;
//-------------------------------------------------------------------------
main()
{
   print("\nLoaded Sherman Dam Break-in GM 0.1\n");
}
//-------------------------------------------------------------------------
public OnGameModeInit()
{
   SetGameModeText("Sherman Dam Break-in GM 0.1");
   ShowPlayerMarkers(1);
   ShowNameTags(1);
   SetWorldTime(7);
   SetTeamCount(2);
   gRoundTimer = SetTimer("DefenceWin", gRoundTime, 0);
   SetTimer("Update0", gRoundUpdate0, 0);
   SetTimer("Update1", gRoundUpdate1, 0);
   
   AddPlayerClass(282,2168.1194,1678.6793,10.8203,93.8138,0,0,0,0,0,0);
   AddPlayerClass(280,-828.4722,1967.8661,7.0000,186.7677,0,0,0,0,0,0);
   AddPlayerClass(280,-594.8962,1975.9142,7.0000,167.8006,0,0,0,0,0,0);

   AddStaticVehicle(432,2108.6594,1683.2080,10.5273,90.6530,0,0);
   AddStaticVehicle(598,2118.6438,1644.7252,10.4950,102.7650,0,1);
   AddStaticVehicle(521,2124.9121,1684.5918,10.0832,34.9981,44,68);
   AddStaticVehicle(523,2139.3687,1683.4556,10.0865,224.3105,1,0);
   AddStaticVehicle(420,2136.0461,1712.9703,10.5294,61.9722,6,1);
   AddStaticVehicle(420,2109.5334,1721.3896,10.5305,81.4388,6,1);
   AddStaticVehicle(427,2172.5049,1670.7118,10.9522,90.9776,0,1);
   AddStaticVehicle(427,2172.4875,1673.9496,10.9523,92.0971,0,1);
   AddStaticVehicle(427,2172.3638,1677.1737,10.9520,92.2242,0,1);
   AddStaticVehicle(427,2172.2437,1680.3688,10.9523,93.2887,0,1);
   AddStaticVehicle(427,2172.0188,1683.5275,10.9520,94.4577,0,1);
   AddStaticVehicle(427,2171.9478,1686.5872,10.9523,94.2898,0,1);
   AddStaticVehicle(461,2162.6965,1649.4224,10.6628,67.1045,65,1);
   AddStaticVehicle(461,2163.2717,1654.8124,10.6289,203.4182,65,1);
   AddStaticVehicle(420,1714.0078,1467.8071,10.5098,343.4581,6,1);
   AddStaticVehicle(487,1647.7836,1538.9817,10.9502,51.8279,0,8);
   AddStaticVehicle(487,1614.7050,1548.7545,10.9762,347.1646,58,8);
   AddStaticVehicle(487,1608.3995,1630.8151,10.9788,174.7326,58,8);
   AddStaticVehicle(402,1679.2280,1316.6279,10.6431,180.4150,90,90);
   AddStaticVehicle(521,1670.1116,1297.7041,10.3811,359.4012,87,118);
   AddStaticVehicle(567,1641.6333,1299.2090,10.6994,270.5966,97,96);
   AddStaticVehicle(476,1287.9806,1403.6949,11.5293,243.5030,119,117);
   AddStaticVehicle(476,1283.6156,1386.5103,11.5419,272.1057,89,91);
   AddStaticVehicle(519,1283.4996,1361.3173,11.5412,271.1681,1,6);
   AddStaticVehicle(519,1282.9691,1324.8823,11.5077,275.0476,7,6);
   AddStaticVehicle(415,1319.1040,1279.1709,10.5972,0.9657,62,1);
   AddStaticVehicle(553,1459.0042,1751.6881,12.1480,182.0888,116,9);
   AddStaticVehicle(553,1499.0662,1752.5410,12.1579,180.9566,116,9);
   AddStaticVehicle(553,1461.4415,1628.6957,12.1415,179.2513,116,9);
   AddStaticVehicle(553,1493.1433,1627.5371,12.1504,180.0271,116,9);
   AddStaticVehicle(553,1434.5272,1505.9254,12.1468,179.5356,116,9);
   AddStaticVehicle(468,-656.2997,2315.4631,138.1148,33.1422,6,6);
   AddStaticVehicle(460,-816.4113,2222.7375,42.3036,268.1870,1,3);
   AddStaticVehicle(460,-1029.2809,2237.2266,42.3354,260.8091,1,3);
   AddStaticVehicle(588,-907.5217,1996.4999,60.8192,358.4760,13,124);
   AddStaticVehicle(446,-861.8010,2045.7997,40.0589,40.2494,3,1);
   AddStaticVehicle(446,-800.5129,2076.6377,40.0745,21.2339,3,1);
   AddStaticVehicle(472,-754.1030,2090.2605,40.0859,10.6473,1,1);
   AddStaticVehicle(472,-714.9983,2094.2422,40.1306,2.2419,1,1);
   AddStaticVehicle(472,-670.7050,2096.9866,40.0881,351.7869,1,1);
   AddStaticVehicle(446,-630.9896,2085.7473,40.1147,341.2050,3,1);
   AddStaticVehicle(446,-582.6732,2064.6392,40.1338,327.3508,3,1);
   AddStaticVehicle(568,-441.3251,2215.7852,42.2279,189.4196,41,29);
   AddStaticVehicle(568,-422.2955,2225.2556,42.2757,0.0619,41,29);
   AddStaticVehicle(568,-371.7713,2234.5740,42.3614,285.9787,41,29);
   AddStaticVehicle(568,-360.1161,2203.4263,42.3028,113.6460,41,29);
   AddStaticVehicle(595,-819.6913,1974.3712,0.1565,212.9742,7,0);
   AddStaticVehicle(595,-794.3525,1986.4963,0.1797,211.1877,7,0);
   AddStaticVehicle(595,-774.6002,1995.8279,0.2046,208.6543,7,0);
   AddStaticVehicle(595,-758.5159,2004.4506,0.2495,216.6229,7,0);
   AddStaticVehicle(595,-740.9033,2010.8550,0.1804,188.1494,7,0);
   AddStaticVehicle(595,-717.6025,2012.7607,0.2647,185.2788,7,0);
   AddStaticVehicle(595,-693.1346,2013.7623,0.1525,179.1454,7,0);
   AddStaticVehicle(595,-663.5667,2009.2891,0.1862,168.5919,7,0);
   AddStaticVehicle(595,-639.4858,2002.0438,0.2461,151.0208,7,0);
   AddStaticVehicle(595,-622.5505,1993.4152,0.2186,154.1874,7,0);
   AddStaticVehicle(595,-605.4793,1986.6122,0.1611,154.7078,7,0);
   AddStaticVehicle(473,-796.8062,1813.2437,-0.2561,178.0240,1,1);
   AddStaticVehicle(539,-817.1433,1810.0961,6.3601,257.6780,16,3);
   AddStaticVehicle(539,-817.7199,1815.0702,6.3602,258.5105,16,3);
   AddStaticVehicle(539,-818.6281,1821.0846,6.3601,250.8575,16,3);
   AddStaticVehicle(487,2604.2224,2837.9412,27.9961,302.2443,6,116);
   AddStaticVehicle(548,2618.0457,2717.3923,36.7151,344.6241,0,0);
   AddStaticVehicle(542,2576.0908,2753.3950,10.8203,80.4389,84,87);
   AddStaticVehicle(404,2554.9343,2753.8171,10.8203,80.4389,113,1);
   AddStaticVehicle(404,2533.3018,2757.4609,10.8203,80.4389,113,1);
   AddStaticVehicle(470,2515.3928,2760.4773,10.8203,80.4389,0,0);
   AddStaticVehicle(447,-618.4994,1802.7914,0.8262,75.6742,13,124);
   AddStaticVehicle(404,2541.1711,2759.3035,10.5543,180.1441,113,1);
   AddStaticVehicle(404,2545.4736,2759.2104,10.5543,180.3534,113,1);
   AddStaticVehicle(542,2570.4070,2747.3381,10.5638,359.3741,84,87);
   AddStaticVehicle(470,2545.4822,2790.6118,10.8147,180.7301,0,0);
   AddStaticVehicle(548,-795.7152,2414.3406,158.4867,83.4256,0,0);
   AddStaticVehicle(487,2560.3179,2844.2361,27.9979,270.0034,6,116);
   AddStaticVehicle(487,2567.3223,2814.7334,28.0303,269.0136,6,116);
   AddStaticVehicle(432,-796.4164,2443.9121,157.0537,38.1263,0,0);
   AddStaticVehicle(432,-774.9176,2438.1721,157.0856,304.6629,0,0);
   AddStaticVehicle(432,-767.8898,2414.9910,157.0676,248.1868,0,0);
   AddStaticVehicle(432,-786.1514,2399.2346,156.7656,199.6895,0,0);
   AddStaticVehicle(514,-922.1779,2008.5720,61.5029,308.2941,66,42);
   
return 1;
}
//-------------------------------------------------------------------------
public Update0(playerid)
{
if(gTeam[playerid] == TEAM_ATTACK) {
GameTextForPlayer(playerid, "~n~~r~Time Remaining: ~w~15 minutes!", 3000, 3); }
else if(gTeam[playerid] == TEAM_DEFENCE) {
GameTextForPlayer(playerid, "~n~~g~Time Remaining: ~w~15 minutes!", 3000, 3); }
return 1;
}
//-------------------------------------------------------------------------
public Update1(playerid)
{
if(gTeam[playerid] == TEAM_ATTACK) {
GameTextForPlayer(playerid, "~n~~r~Time Remaining: ~w~5 minutes!", 3000, 3); }
else if(gTeam[playerid] == TEAM_DEFENCE) {
GameTextForPlayer(playerid, "~n~~g~Time Remaining: ~w~5 minutes!", 3000, 3); }
return 1;
}
//-------------------------------------------------------------------------
public OnPlayerConnect(playerid)
{
   SendClientMessage(playerid, 0xFF8A00AA, "Welcome to Sherman Dam Break-in GM 0.1 [coded by [Chiarboss]");
   SendClientMessage(playerid, 0xFFFFFFAA, "Type /about if you don't now how this mode work");
   SendClientMessage(playerid, 0xFFFF00AA, "Type /help for knowing the rules of GM");
   GameTextForPlayer(playerid, "~g~- ~r~Sherman Dam ~y~Break-in ~g~-", 6000, 1);
   GivePlayerMoney(playerid, 10000);
   SetPlayerColor(playerid, COLOR_GREY); // Set the player's color to inactive
   inshop[playerid] = 0;
   invehicle[playerid] = 0;
   inexplo[playerid] = 0;

return 1;
}
//-------------------------------------------------------------------------
public OnPlayerText(playerid)
{
printf("OnPlayerText(%d)", playerid);
return 1;
}
//-------------------------------------------------------------------------
public OnPlayerInfoChange(playerid)
{
printf("OnPlayerInfoChange(%d)");
return 1;
}
//-------------------------------------------------------------------------
public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
{
new string[256];
new name[MAX_PLAYER_NAME];
if ( vehicleid == 1 || vehicleid == 76 || vehicleid == 77 || vehicleid == 78 || vehicleid == 79 || vehicleid == 80) {
GetPlayerName(playerid,name, sizeof(name));
format(string, sizeof(string), "..:: %s entered into Offensive Vehicle ::..", name);
SendClientMessageToAll(0xAA3333AA,string);
}

if ( vehicleid == 73) {
GetPlayerName(playerid,name, sizeof(name));
format(string, sizeof(string), "..:: %s entered into the secret CARGOBOB ::..", name);
SendClientMessageToAll(0xAA3333AA,string);
}

if ( vehicleid == 35) {
 if(GetPlayerScore(playerid) >= 3) {
  SetVehicleParamsForPlayer(82, playerid, 0, 0);
  removev = SetTimer("ExitVehicle", 30000, 0);
  invehicle[playerid] ++;
  GetPlayerName(playerid,name, sizeof(name));
  format(string, sizeof(string), "- Welcome to Hot Dog Armory, %s; -", name);
  SendClientMessage(playerid, 0xFF8A00AA, string);
  SendClientMessage(playerid, 0xFF8A00AA, "Here you can buy");
  SendClientMessage(playerid, 0xFF8A00AA, "----------------------------------");
  SendClientMessage(playerid, 0xFF8A00AA, "/ammunation [1000$]");
  SendClientMessage(playerid, 0xFF8A00AA, "/pistol [1200$]");
  SendClientMessage(playerid, 0xFF8A00AA, "----------------------------------");
}
else
{
   SetVehicleParamsForPlayer(82, playerid, 0, 1);
   if(gTeam[playerid] == TEAM_ATTACK) {GameTextForPlayer(playerid,"~n~~r~You ~w~dont have ~r~enough points! ~w~Kill to earn and ~r~come back!",3000,3);}
   else if(gTeam[playerid] == TEAM_DEFENCE) {GameTextForPlayer(playerid,"~n~~g~You ~w~dont have ~g~enough points! ~w~Kill to earn and ~g~come back!",3000,3);}
}
}

   printf("OnPlayerEnterVehicle(%d, %d, %d)", playerid, vehicleid, ispassenger);
return 1;
}
//-------------------------------------------------------------------------
public OnPlayerExitVehicle(playerid, vehicleid, ispassenger)
{
new string[256];
new name[MAX_PLAYER_NAME];
if ( vehicleid == 1 || vehicleid == 76 || vehicleid == 77 || vehicleid == 78 || vehicleid == 79 || vehicleid == 80) {
GetPlayerName(playerid,name, sizeof(name));
format(string, sizeof(string), "..:: %s exited gives Offensive Vehicle ::..", name);
SendClientMessageToAll(0xAA3333AA,string);
}
if ( vehicleid == 73) {
GetPlayerName(playerid,name, sizeof(name));
format(string, sizeof(string), "..:: %s exited gives secret CARGOBOB ::..", name);
SendClientMessageToAll(0xAA3333AA,string);
}
printf("OnPlayerExitVehicle(%d, %d, %d)", playerid, vehicleid, ispassenger);
return 1;
}
//-------------------------------------------------------------------------
public ExitVehicle(playerid)
{
   invehicle[playerid] = 0;
   SendClientMessage(playerid,0xFF8A00AA, "The invehicle variable has been disabled");
   KillTimer(removev);
return 1;
}
//-------------------------------------------------------------------------
public OnPlayerSpawn(playerid)

{
SendClientMessage(playerid,COLOR_RED,"For say the all objectives, press /objectives");
SetPlayerInterior(playerid,0);
PlayerPlaySound(playerid, 1098, 0, 0, 0);
SendClientMessage(playerid, 0xFF8A00AA, "Type /shop to enter in your Personal Shop.");

if(gTeam[playerid] == TEAM_ATTACK) {
SetPlayerColor(playerid,COLOR_RED); // Red
gPlayerCheckpointStatus[playerid] = CHECKPOINT_CALIGULA;
SetPlayerCheckpoint(playerid, 2168.1194,1678.6793,10.8203, 23.0);
GivePlayerWeapon(playerid, 24, 2000);
GivePlayerWeapon(playerid, 27, 1500);
GivePlayerWeapon(playerid, 30, 1250);

 }

else if(gTeam[playerid] == TEAM_DEFENCE) {

SetPlayerColor(playerid,COLOR_GREEN); // Green
gPlayerCheckpointStatus[playerid] = CHECKPOINT_NONE;
GameTextForPlayer(playerid,"~n~~g~Defend ~y~all objectives...", 5000, 3);
GivePlayerWeapon(playerid, 23, 2000);
GivePlayerWeapon(playerid, 25, 1500);
GivePlayerWeapon(playerid, 31, 1100);

 }
 
return 1;
}
//-------------------------------------------------------------------------
public DefenceWin() {

	EndTheRound(DEFENCE_WIN);
return 1;
}
//-------------------------------------------------------------------------
//+----------------------+--------------------------+
//|   AntiTeamkill 0.3   |   Coded by Franc[e]sco   |
//|                      |   noffaganzo@hotmail.it  |
//|                      |            and           |
//|                      |   Yom yomki@hotmail.fr   |
//+----------------------+--------------------------+
//|   Dont edit the code without my permission.     |
//| To get permission contact noffaganzo@hotmail.it |
//+- - - - - - - - - - - Updates - - - - - - - - - -+
//| Yom - added console message when kick           |
//+-------------------------------------------------+
public OnPlayerDeath(playerid, killerid, reason)

{

if(killerid == INVALID_PLAYER_ID) {

       SendDeathMessage(INVALID_PLAYER_ID,playerid,reason);

} else {

       if(gTeam[killerid] != gTeam[playerid]) {

     // Valid kill

  SendDeathMessage(killerid,playerid,reason);

  SetPlayerScore(killerid,GetPlayerScore(killerid)+1);
  GivePlayerMoney(killerid, 1000);
  GivePlayerMoney(playerid, -1000);
  GameTextForPlayer(playerid, "~n~~y~Wasted!", 1000, 3);
  GameTextForPlayer(killerid, "~n~~y~Good shot!", 1000, 3);
  DisablePlayerCheckpoint(playerid);
  gPlayerCheckpointStatus[playerid] = CHECKPOINT_NONE;

}
//TEAM KILL

else
{
SendClientMessage(killerid, COLOR_RED, "No teamkilling! Be careful the next time!");
SendDeathMessage(killerid,playerid,reason);
SetPlayerScore(killerid,GetPlayerScore(killerid)-1);
GivePlayerMoney(killerid, -2000);
new Float:x;
new Float:y;
new Float:z;
GetPlayerPos(playerid, x, y, z);
z = 1000;
SetPlayerPos(killerid, Float:x, Float:y, Float:z);
tk[killerid] ++;
if(tk[killerid] == 2)
{
SendClientMessage(killerid, COLOR_RED, "Once again and you will be kicked!");
}
if(tk[killerid] >= 3)
{
new string[256];
new name[MAX_PLAYER_NAME];
GetPlayerName(killerid,name, sizeof(name));
printf("     -A.T.K Script-: %s kicked for teamkilling",name);
Kick(killerid);
format(string, sizeof(string), "The AntiTeamkill system kicked %s for teamkilling!",name);
SendClientMessageToAll(COLOR_GREEN, string);
}
}
}
return 1;
}
//-------------------------------------------------------------------------
SetupPlayerForClassSelection(playerid)
{

	SetPlayerInterior(playerid,9);
	SetPlayerFacingAngle(playerid,0.0);
	SetPlayerPos(playerid,315.7802,972.0253,1961.8705);
	SetPlayerCameraPos(playerid,315.7802,975.0253,1961.8705);
	SetPlayerCameraLookAt(playerid,315.7802,972.0253,1961.8705);
	return;
}
//-------------------------------------------------------------------------
public OnPlayerRequestClass(playerid, classid)

{
printf("OnPlayerRequestClass(%d, %d)", playerid, classid);
SetupPlayerForClassSelection(playerid);
SetPlayerClass(playerid, classid);
gPlayerClass[playerid] = classid;

switch (classid) {

   case 0:

   {
   GameTextForPlayer(playerid, "~n~~r~Attack~n~~n~~w~Weapon: ~r~Desert Eagle, Combat Shotgun, AK47.", 5000, 3);
   }

   case 1,2:
   
   {
   GameTextForPlayer(playerid, "~n~~g~Defence~n~~n~~w~Weapon: ~g~Silenced Pistol, Shotgun, M4.", 5000, 3);
   }

}
return 1;
}
//-------------------------------------------------------------------------
SetPlayerClass(playerid, classid) {

if(classid == 0) {

gTeam[playerid] = TEAM_ATTACK;

} else if(classid == 1 || classid == 2) {

gTeam[playerid] = TEAM_DEFENCE;
}
}
//-------------------------------------------------------------------------
public OnPlayerStateChange(playerid, newstate, oldstate)
{
new vehicleid;
vehicleid = GetPlayerVehicleID(playerid);
	if(newstate == PLAYER_STATE_DRIVER && gTeam[playerid] == TEAM_DEFENCE && vehicleid == 73) {
			incar[playerid] = 1;
		}
	if(newstate == PLAYER_STATE_ONFOOT && gTeam[playerid] == TEAM_DEFENCE)
				    {
				        incar[playerid] = 0;
				    }
return 1;
}
//-------------------------------------------------------------------------
public OnPlayerEnterCheckpoint(playerid,vehicleid) {

	switch (gPlayerCheckpointStatus[playerid]) {

		case CHECKPOINT_CALIGULA:

		    {
	            GameTextForPlayer(playerid, "~n~~r~Go ~w~to LV airport!", 5000, 3);
	            SetPlayerCheckpoint(playerid,1477.3048,1724.7194,10.8125, 5.0);
	            gPlayerCheckpointStatus[playerid] = CHECKPOINT_AIRPORT;
			}

		case CHECKPOINT_AIRPORT:

		    {
		        gPlayerCheckpointStatus[playerid] = CHECKPOINT_SHERMAN1;
				SetPlayerCheckpoint(playerid, -655.9024,2096.2085,60.3828, 1);
				SetVehicleParamsForPlayer(31, playerid, 1, 0);
				SetVehicleParamsForPlayer(30, playerid, 1, 0);
				SetVehicleParamsForPlayer(29, playerid, 1, 0),
				SetVehicleParamsForPlayer(28, playerid, 1, 0);
				SetVehicleParamsForPlayer(27, playerid, 1, 0);
                GameTextForPlayer(playerid, "~n~~r~Take ~w~one of a ~y~Nevada airplane ~w~and ~n~~r~go ~w~to ~r~disable ~n~~w~the ~r~first electrical circuit!", 5000, 3);

		    }
		    
        case CHECKPOINT_SHERMAN1:
        
			{
                gPlayerCheckpointStatus[playerid] = CHECKPOINT_SHERMAN2;
				SetPlayerCheckpoint(playerid, -643.2387,2145.8738,60.3828, 1);
				GameTextForPlayer(playerid, "~n~~r~Disable ~w~the ~r~second electrical circuit!", 5000, 3);
			}
			
		case CHECKPOINT_SHERMAN2:
		
			{
                gPlayerCheckpointStatus[playerid] = CHECKPOINT_RAY;
				SetPlayerCheckpoint(playerid, -605.3276,1934.8464,7.0000, 2.5);
				SetVehicleParamsForPlayer(31, playerid, 0, 0);
				SetVehicleParamsForPlayer(30, playerid, 0, 0);
				SetVehicleParamsForPlayer(29, playerid, 0, 0),
				SetVehicleParamsForPlayer(28, playerid, 0, 0);
				SetVehicleParamsForPlayer(27, playerid, 0, 0);
				GameTextForPlayer(playerid, "~n~~r~Put ~w~the bomb on the ~r~principal control panel!", 5000, 3);
			}

		case CHECKPOINT_RAY:
		
			{
                gPlayerCheckpointStatus[playerid] = CHECKPOINT_KACC;
				SetPlayerCheckpoint(playerid, 2613.9790,2721.8391,38.2143, 5.0);
				SetVehicleParamsForPlayer(83, playerid, 1, 0);
				GameTextForPlayer(playerid, "~n~~r~Take ~w~the ~y~secret CARGOBOB ~w~and parks it to the ~r~KACC base!", 5000, 3);
			}
			
		case CHECKPOINT_KACC:
		
			{
				if(incar[playerid] == 1) {
				DisablePlayerCheckpoint(playerid);
		        gPlayerCheckpointStatus[playerid] = CHECKPOINT_NONE;
		        EndTheRound(ATTACK_WIN);
            } else {
				GameTextForPlayer(playerid, "~n~~w~You ~r~are not ~w~in the ~y~secret CARGOBOB!", 5000, 3);
			}
				

  		default:

	        {
				DisablePlayerCheckpoint(playerid);
	        }
	}
	return 1;

}
//-------------------------------------------------------------------------
public OnVehicleDeath(vehicleid,killerid)
{

if ( vehicleid == 73) {
   inexplo[playerid] ++;
 if(inexplo[playerid] >= 2) {
   EndTheRound(DEFENCE_WIN);
   }}
   
return 1;
}
//-------------------------------------------------------------------------
EndTheRound(winner) {
	switch (winner) {

	    case ATTACK_WIN:

	    {

	        GameTextForAll("~n~~w~The attackers ~r~have carried ~w~to destination the ~y~secret CARGOBOB", 5000, 6);
	        KillTimer(gRoundTimer);

	    }

	    case DEFENCE_WIN:

	    {

	        GameTextForAll("~n~~w~The ~y~secret CARGOBOB ~g~was successfully defended!", 5000, 6);

	    }

	}
	SetTimer("GameModeExitFunc", 5000, 0);
	TogglePlayerControllable(playerid,0);
}
//-------------------------------------------------------------------------
public GameModeExitFunc()
{
	GameModeExit();
}
//-------------------------------------------------------------------------
public OnPlayerCommandText(playerid, cmdtext[])
{

 new string[256];
 new cmd[256];
 new idx;


 cmd = strtok(cmdtext, idx);

if(strcmp(cmd, "/objectives", true)==0){
SendClientMessage(playerid,0xFFFF00AA,"- First and second electric circuit at the Sherman Dam;");
SendClientMessage(playerid,0xFFFF00AA,"- Control panel on the Waterway;");
SendClientMessage(playerid,0xFFFF00AA,"- secret CARGOBOB;");
SendClientMessage(playerid,0xFFFF00AA,"... for say the all secrets, press /tips");
return 1;
}

if(strcmp(cmd, "/about", true)==0){
SendClientMessage(playerid,0xFFFFFFAA,"Sherman Dam Break-in GM 0.1");
SendClientMessage(playerid,0xFFFFFFAA,"This gamemode was created by Chiarboss;");
SendClientMessage(playerid,0xFFFFFFAA,"Do NOT copy this gamemode code or part of it.");
return 1;
}

if(strcmp(cmd, "/cmdlist", true)==0){
SendClientMessage(playerid,0xFFFF00AA,"/cmdlist ;");
SendClientMessage(playerid,0xFFFF00AA,"/help ;");
SendClientMessage(playerid,0xFFFF00AA,"/about ;");
SendClientMessage(playerid,0xFFFF00AA,"/shophelp ;");
SendClientMessage(playerid,0xFFFF00AA,"/hotdoghelp ;");
SendClientMessage(playerid,0xFFFF00AA,"/tips ;");
return 1;
}

if (strcmp(cmd, "/shophelp", true)==0) {
    SendClientMessage(playerid,0xFFFF00AA,"If you are spawned, press /shop for enter in your Personal Shop;");
    SendClientMessage(playerid,0xFFFF00AA,"Type /shotgun if you want buy a Shotgun for 1000$;");
    SendClientMessage(playerid,0xFFFF00AA,"type /sawnoff if you want buy a Sawn Off Shotgun for 1200$. Type /combat if you want
    SendClientMessage(playerid,0xFFFF00AA,"buy a Combat Shotgun for 2000$. Every time that you choose an option,");
    SendClientMessage(playerid,0xFFFF00AA,"you will newly press /armory.");
    return 1;
  }

if(strcmp(cmd, "/vehicleshophelp", true)==0){
SendClientMessage(playerid,0xFFFF00AA,"If you try to enter in the Hot Dog Van in Sherman Dam,");
SendClientMessage(playerid,0xFFFF00AA,"press /ammunation if you want teleport yourself at Fort Carson Ammunation for 1000$;");
SendClientMessage(playerid,0xFFFF00AA,"press /mac10 for buy a Mac10 for 1200$; press /rifle for buy a Rifle for 2000$;");
SendClientMessage(playerid,0xFFFF00AA,"If you have not bought nothing in 30 seconds, the relative invehicle1 variable");
SendClientMessage(playerid,0xFFFF00AA,"it will come automatically disabled.");
SendClientMessage(playerid,0xFFFF00AA,"W: If you dont have at least three points, you will not be able to use it.");
return 1;
}

if(strcmp(cmd, "/shop", true)==0)
{
  inshop[playerid] ++;
  new pname[MAX_PLAYER_NAME];
  GetPlayerName(playerid,pname, sizeof(pname));
  format(string, sizeof(string), "- Welcome to your Personal Armory, %s; -", pname);
  SendClientMessage(playerid, 0xFF8A00AA, string);
  SendClientMessage(playerid, 0xFF8A00AA, "Here you can buy:");
  SendClientMessage(playerid, 0xFF8A00AA, "----------------------------------");
  SendClientMessage(playerid, 0xFF8A00AA, "/shotgun [1000$]");
  SendClientMessage(playerid, 0xFF8A00AA, "/sawnoff [1200$]");
  SendClientMessage(playerid, 0xFF8A00AA, "/combat [2000$]");
  SendClientMessage(playerid, 0xFF8A00AA, "----------------------------------");
return 1;
}

if (strcmp(cmd, "/shotgun", true)==0) {
 if (inshop[playerid] == 1) {
  if(GetPlayerMoney(playerid) >= 1000){
  SendClientMessage(playerid, 0xFF8A00AA, "- You have bought a Shotgun for 1000$. -");
  GivePlayerWeapon(playerid, 25, 99999);
  GivePlayerMoney(playerid, -1000);
  inshop[playerid] = 0;
} else {
 SendClientMessage(playerid, 0xFF8A00AA, "You dont have enough money! Kill to earn and come back!");
}
return 1;
}
}

if (strcmp(cmd, "/sawnoff", true)==0) {
 if (inshop[playerid] == 1) {
  if(GetPlayerMoney(playerid) >= 1200){
  SendClientMessage(playerid, 0xFF8A00AA, "- You have bought a Sawn Off Shotgun for 1200$. -");
  GivePlayerWeapon(playerid, 26, 99999);
  GivePlayerMoney(playerid, -1200);
  inshop[playerid] = 0;
} else {
 SendClientMessage(playerid, 0xFF8A00AA, "You dont have enough money! Kill to earn and come back!");
}
return 1;
}
}

if (strcmp(cmd, "/combat", true)==0) {
 if (inshop[playerid] == 1) {
  if(GetPlayerMoney(playerid) >= 2000){
  SendClientMessage(playerid, 0xFF8A00AA, "- You have bought a Combat Shotgun for 2000$. -");
  GivePlayerWeapon(playerid, 27, 99999);
  GivePlayerMoney(playerid, -2000);
  inshop[playerid] = 0;
} else {
 SendClientMessage(playerid, 0xFF8A00AA, "You dont have enough money! Kill to earn and come back!");
}
return 1;
}
}

if(strcmp(cmd, "/ammunation", true) == 0)
{

if(invehicle[playerid] == 1)
{
if(GetPlayerMoney(playerid) >= 1000)
	{
        new name[MAX_PLAYER_NAME];
	    GetPlayerName(playerid,name, sizeof(name));
             format(string, sizeof(string), "- %s teleported to Fort Carson Ammunation for 1000$. -",name);
             SetPlayerPos(playerid,-314.9772,828.3542,14.2422);
 SendClientMessageToAll(0xFF8A00AA,string);
 GivePlayerMoney(playerid, -1000);
 invehicle[playerid] = 0;
 KillTimer(removev);
}
else
{
   SendClientMessage(playerid, 0xFF8A00AA, "You dont have enough money! Kill to earn and come back!");
}
return 1;
}
}

if(strcmp(cmd, "/pistol", true) == 0)
{

if(invehicle[playerid] == 1)
{
if(GetPlayerMoney(playerid) >= 1200)
	{
        new name[MAX_PLAYER_NAME];
	    GetPlayerName(playerid,name, sizeof(name));
             format(string, sizeof(string), "- %s bought a Pistol for 1200$. -",name);
 SendClientMessageToAll(0xFF8A00AA,string);
 GivePlayerMoney(playerid, -1200);
 invehicle[playerid] = 0;
 KillTimer(removev);
}
else
{
   SendClientMessage(playerid, 0xFF8A00AA, "You dont have enough money! Kill to earn and come back!");
}
return 1;
}
}

return 0;
}
//-------------------------------------------------------------------------
strtok(const string[], &index)
{
new length = strlen(string);
while ((index < length) && (string[index] <= ' '))
{
index++;
}

new offset = index;
new result[20];
while ((index < length) && (string[index] > ' ') && ((index - offset) < (sizeof(result) - 1)))
{
result[index - offset] = string[index];
index++;
}
result[index - offset] = EOS;
return result;
}