All pastes #367322 Raw Edit

Miscellany

public text v1 · immutable
#367322 ·published 2007-02-22 08:13 UTC
rendered paste body
#include <a_samp>
#include <core>
#include <float>
#include <XFuncs>


#define COLOR_GREY 0xAFAFAFAA
#define COLOR_GREEN 0x33AA33AA
#define COLOR_RED 0xAA3333AA
#define COLOR_YELLOW 0xFFFF00AA
#define COLOR_PINK 0xFF66FFAA
#define COLOR_BLUE 0x0000BBAA
#define COLOR_LIGHTBLUE 0x33CCFFAA
#define COLOR_DARKRED 0x660000AA
#define COLOR_ORANGE 0xFF9900AA
#define COLOR_WHITE 0xFFFFFFAA

//Team Defines
#define TEAM_SINATTACK 0
#define TEAM_GUESTATTACK 1
#define TEAM_SINDEFEND 2
#define TEAM_GUESTDEFEND 3
#define TEAM_SINTDM 4
#define TEAM_GUESTTDM 5
#define TEAM_REF 6


static gTeam[MAX_PLAYERS];

new Name[256];
new gPlayerClass[MAX_PLAYERS];
new sendername[MAX_PLAYER_NAME];

new tkscore[MAX_PLAYERS];
new MAXKILLS;
new wpn1, wpn2, wpn3;
new ammo1, ammo2, ammo3;
new DeathCount[MAX_PLAYERS];
new sCount1, sCount2;
new winner[256];


// Round duration
new gRoundTime = 3600000; // 60 mins
//new gRoundTime = 900000; //15 mins
//new gRoundTime = 300000; // 5 mins


#define DEFEND_POINT1 1
new Float:area51checkpoint[DEFEND_POINT1][4] = {
{-22.2549,-55.6575,1003.5469,10}
};









//=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

main()

{

	print("\n----------------------------------");

	print("  SFTDM by Cam (2006)\n");

	print("----------------------------------\n");

}

//=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
















//=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

public OnGameModeInit()
{

	SetGameModeText("San Fierro TDM");
	SetTeamCount(7);
	ShowNameTags(1);
	ShowPlayerMarkers(1);
	SetWorldTime(19);
	rConfig();


    //=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
	AddPlayerClass(260,-2062.5583,237.4662,35.7149,268.8936,22,272,25,40,4,1); //SINATTACK
	AddPlayerClass(260,-2062.5583,237.4662,35.7149,268.8936,22,272,25,40,4,1); //SINATTACK
	AddPlayerClass(260,-2062.5583,237.4662,35.7149,268.8936,22,272,25,40,4,1); //SINATTACK
	AddPlayerClass(260,-2062.5583,237.4662,35.7149,268.8936,22,272,25,40,4,1); //SINATTACK
	//=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
	AddPlayerClass(249,-2653.6443,1388.2767,7.1301,212.8453,23,272,29,270,5,1); //GUESTATTACK
	AddPlayerClass(249,-2653.6443,1388.2767,7.1301,212.8453,23,272,29,270,5,1); //GUESTATTACK
	AddPlayerClass(249,-2653.6443,1388.2767,7.1301,212.8453,23,272,29,270,5,1); //GUESTATTACK
	AddPlayerClass(249,-2653.6443,1388.2767,7.1301,212.8453,23,272,29,270,5,1); //GUESTATTACK
	//=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
	AddPlayerClass(259,-2642.2583,-274.9985,7.5393,135.0036,25,40,32,250,9,1); //SINDEFEND
	AddPlayerClass(259,-2642.2583,-274.9985,7.5393,135.0036,25,40,32,250,9,1); //SINDEFEND
	AddPlayerClass(259,-2642.2583,-274.9985,7.5393,135.0036,25,40,32,250,9,1); //SINDEFEND
	AddPlayerClass(259,-2642.2583,-274.9985,7.5393,135.0036,25,40,32,250,9,1); //SINDEFEND
	//=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
	AddPlayerClass(118,-2157.2119,649.5484,52.3672,267.0820,24,70,31,250,4,1); //GUESTDEFEND
	AddPlayerClass(118,-2157.2119,649.5484,52.3672,267.0820,24,70,31,250,4,1); //GUESTDEFEND
	AddPlayerClass(118,-2157.2119,649.5484,52.3672,267.0820,24,70,31,250,4,1); //GUESTDEFEND
	AddPlayerClass(118,-2157.2119,649.5484,52.3672,267.0820,24,70,31,250,4,1); //GUESTDEFEND
	//=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
	AddPlayerClass(50,-1377.4271,466.0897,7.1875,1.0348,22,272,30,300,9,1); //SINTDM
	AddPlayerClass(50,-1377.4271,466.0897,7.1875,1.0348,22,272,30,300,9,1); //SINTDM
	AddPlayerClass(50,-1377.4271,466.0897,7.1875,1.0348,22,272,30,300,9,1); //SINTDM
	AddPlayerClass(50,-1377.4271,466.0897,7.1875,1.0348,22,272,30,300,9,1); //SINTDM
	//=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
	AddPlayerClass(253,-1754.9976,958.5851,24.8828,163.2550,25,40,24,70,4,1); //GUESTTDM
	AddPlayerClass(253,-1754.9976,958.5851,24.8828,163.2550,25,40,24,70,4,1); //GUESTTDM
	AddPlayerClass(253,-1754.9976,958.5851,24.8828,163.2550,25,40,24,70,4,1); //GUESTTDM
	AddPlayerClass(253,-1754.9976,958.5851,24.8828,163.2550,25,40,24,70,4,1); //GUESTTDM
	//=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
	AddPlayerClass(274,-2665.4282,635.6348,14.4531,179.8403,33,40,23,272,4,1); //REF
    //=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
    
    
    
    
    
    
    
	AddStaticVehicle(401,-2118.9319,194.8274,35.7567,2.7513,-1,-1);
	AddStaticVehicle(401,-2036.5212,305.6321,35.9090,359.8144,-1,-1);
	AddStaticVehicle(413,-2087.8369,255.6416,37.0341,357.9168,-1,-1);
	AddStaticVehicle(457,-2652.9031,-297.2605,8.0617,315.6009,-1,-1);
	AddStaticVehicle(457,-2659.7441,-289.6562,8.0920,313.6239,-1,-1);



//Trains
//	AddStaticVehicle(537,-1943.3127,158.0254,27.0006,357.3614,121,1);
//	AddStaticVehicle(569,-1943.3127,158.0254,27.0006,357.3614,121,1);
//	AddStaticVehicle(569,-1943.3127,158.0254,27.0006,357.3614,121,1);
//	AddStaticVehicle(569,-1943.3127,158.0254,27.0006,357.3614,121,1);



	SetTimer("GameModeExitFunc", gRoundTime, 0);

	return 1;

 }

//=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

 public OnPlayerText(playerid, text[])
   {
		   new strName[MAX_PLAYER_NAME];
		   new strOut[MAX_STRING];
		   new i;
		   i++;

		   GetPlayerName(playerid, strName, sizeof(strName));
		   if(text[0] == '!')
		   {
		     new string[MAX_STRING];
		     strmid(string, text, 1, strlen(text), MAX_STRING);
		     format(strOut, MAX_STRING, "[TC] [%s]: %s", strName, string);

		     for(i = 0; i<MAX_PLAYERS; i++)
		     {
		       if(gTeam[i] == gTeam[playerid])
       			SendClientMessage(i, COLOR_LIGHTBLUE, strOut);
		       }
		     return 0;
		   }
		   return 1;
		 }

//=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

public OnPlayerConnect(playerid)
{
	GameTextForPlayer(playerid," ~w~Attack ~r~And ~w~Defend ~g~Mode ",7000,1);
	SendClientMessage(playerid, COLOR_GREY, "This Is The SiN Attack & Defend Mode.");
	SetPlayerColor(playerid, COLOR_GREY);
	return 1;
}

//=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

public OnPlayerDisconnect(playerid)
{
	tkscore[playerid] = 0;
	return 1;
}

//=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

public OnPlayerSpawn(playerid)
{
	SetPlayerInterior(playerid,0);
	for(new i=0; i<MAX_PLAYERS; i++){
	GetPlayerName(i,Name,sizeof(Name));
	
	if(gTeam[playerid] == TEAM_SINATTACK) {
	if(strfind(Name,"[SiN]",true)==0 || strfind(Name,"[SiN]",true)==0){
       SetPlayerColor(playerid,COLOR_GREEN); // Green
       //SetTeamPos(TEAM_SINATTACK,Float:x,Float:y,Float:z);
       //SetTeamCheckpoint(TEAM_SINATTACK,Float:x,Float:y,Float:z,Float:size);
       //SetTeamWorldBounds(TEAM_SINATTACK,Float:xmin,Float:xmax,Float:ymin,Float:ymax)
       
		}else{
	GameTextForPlayer(i,"~r~ This is a Private zone ~n~ ~w~press f4, /kill and change teams", 5000, 3);
	SetPlayerInterior(i,6);
	SetPlayerSkin(i,252);
	SetPlayerColor(i,COLOR_PINK);
	ResetPlayerWeapons(i);
	GivePlayerWeapon(i,10,1);
	SetPlayerPos(i,264.3591,77.5832,1001.0391);
		}
        }
	else if(gTeam[playerid] == TEAM_GUESTATTACK) {
	if(strfind(Name,"[Guest]",true)==0 || strfind(Name,"[Guest]",true)==0){
       SetPlayerColor(playerid,COLOR_RED); // Red
       //SetTeamPos(TEAM_GUESTATTACK,Float:x,Float:y,Float:z);
       //SetTeamCheckpoint(TEAM_GUESTATTACK,Float:x,Float:y,Float:z,Float:size);
       //SetTeamWorldBounds(TEAM_GUESTATTACK,Float:xmin,Float:xmax,Float:ymin,Float:ymax)
       
		}else{
	GameTextForPlayer(i,"~r~ This is a Private zone ~n~ ~w~press f4, /kill and change teams", 5000, 3);
	SetPlayerInterior(i,6);
	SetPlayerSkin(i,252);
	SetPlayerColor(i,COLOR_PINK);
	ResetPlayerWeapons(i);
	GivePlayerWeapon(i,10,1);
	SetPlayerPos(i,264.3591,77.5832,1001.0391);
		}
		}
	else if(gTeam[playerid] == TEAM_SINDEFEND) {
	if(strfind(Name,"[SiN]",true)==0 || strfind(Name,"[SiN]",true)==0){
		SetPlayerColor(playerid,COLOR_YELLOW); // Yellow
		//SetTeamPos(TEAM_SINDEFEND,Float:x,Float:y,Float:z);
		//SetTeamCheckpoint(TEAM_SINDEFEND,Float:x,Float:y,Float:z,Float:size);
		//SetTeamWorldBounds(TEAM_SINDEFEND,Float:xmin,Float:xmax,Float:ymin,Float:ymax)
		
		}else{
	GameTextForPlayer(i,"~r~ This is a Private zone ~n~ ~w~press f4, /kill and change teams", 5000, 3);
	SetPlayerInterior(i,6);
	SetPlayerSkin(i,252);
	SetPlayerColor(i,COLOR_PINK);
	ResetPlayerWeapons(i);
	GivePlayerWeapon(i,10,1);
	SetPlayerPos(i,264.3591,77.5832,1001.0391);
		}
		}
	else if(gTeam[playerid] == TEAM_GUESTDEFEND) {
	if(strfind(Name,"[Guest]",true)==0 || strfind(Name,"[Guest]",true)==0){
		SetPlayerColor(playerid,COLOR_PINK); // Pink
		//SetTeamPos(TEAM_GUESTDEFEND,Float:x,Float:y,Float:z);
		//SetTeamCheckpoint(TEAM_GUESTDEFEND,Float:x,Float:y,Float:z,Float:size);
		//SetTeamWorldBounds(TEAM_GUESTDEFEND,Float:xmin,Float:xmax,Float:ymin,Float:ymax)
		
		}else{
	GameTextForPlayer(i,"~r~ This is a Private zone ~n~ ~w~press f4, /kill and change teams", 5000, 3);
	SetPlayerInterior(i,6);
	SetPlayerSkin(i,252);
	SetPlayerColor(i,COLOR_PINK);
	ResetPlayerWeapons(i);
	GivePlayerWeapon(i,10,1);
	SetPlayerPos(i,264.3591,77.5832,1001.0391);
		}
		}
	else if(gTeam[playerid] == TEAM_SINTDM) {
	if(strfind(Name,"[SiN]",true)==0 || strfind(Name,"[SiN]",true)==0){
		SetPlayerColor(playerid,COLOR_BLUE); // Blue
		//SetTeamPos(TEAM_SINTDM,Float:x,Float:y,Float:z);
		//SetTeamCheckpoint(TEAM_SINTDM,Float:x,Float:y,Float:z,Float:size);
		//SetTeamWorldBounds(TEAM_SINTDM,Float:xmin,Float:xmax,Float:ymin,Float:ymax)
		
		}else{
	GameTextForPlayer(i,"~r~ This is a Private zone ~n~ ~w~press f4, /kill and change teams", 5000, 3);
	SetPlayerInterior(i,6);
	SetPlayerSkin(i,252);
	SetPlayerColor(i,COLOR_PINK);
	ResetPlayerWeapons(i);
	GivePlayerWeapon(i,10,1);
	SetPlayerPos(i,264.3591,77.5832,1001.0391);
		}
		}
	else if(gTeam[playerid] == TEAM_GUESTTDM) {
	if(strfind(Name,"[Guest]",true)==0 || strfind(Name,"[Guest]",true)==0){
		SetPlayerColor(playerid,COLOR_LIGHTBLUE); // Light Blue
		//SetTeamPos(TEAM_GUESTTDM,Float:x,Float:y,Float:z);
		//SetTeamCheckpoint(TEAM_GUESTTDM,Float:x,Float:y,Float:z,Float:size);
		//SetTeamWorldBounds(TEAM_GUESTTDM,Float:xmin,Float:xmax,Float:ymin,Float:ymax)
		
		}else{
	GameTextForPlayer(i,"~r~ This is a Private zone ~n~ ~w~press f4, /kill and change teams", 5000, 3);
	SetPlayerInterior(i,6);
	SetPlayerSkin(i,252);
	SetPlayerColor(i,COLOR_PINK);
	ResetPlayerWeapons(i);
	GivePlayerWeapon(i,10,1);
	SetPlayerPos(i,264.3591,77.5832,1001.0391);
		}
		}
	else if(gTeam[playerid] == TEAM_REF) {
	SetPlayerColor(playerid,COLOR_DARKRED); // Dark Red
	//SetTeamPos(TEAM_REF,Float:x,Float:y,Float:z);
		}
		}
	return 1;
}

//=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

public OnPlayerDeath(playerid, killerid, reason)
{
	if(killerid == INVALID_PLAYER_ID) {
        SendDeathMessage(INVALID_PLAYER_ID,playerid,reason);
        
        if(TEAM_GUESTTDM[playerid]) {
			SetPlayerScore(killerid,GetPlayerScore(killerid)-1);
			//SetTeamScore(TEAM_SINTDM,-1);
			sCount1--;
            }
        if(TEAM_SINTDM[playerid]) {
			SetPlayerScore(killerid,GetPlayerScore(killerid)-1);
			//SetTeamScore(TEAM_GUESTTDM,-1);
			sCount2--;
            }
        
	} else {
	
            // Valid kill
            new murked[256];
            format(murked, sizeof(murked), "You Murked Them!");
		    SendClientMessage(killerid, 0xFFFF00AA, warning);
		    SendDeathMessage(killerid,playerid,reason);
            
        if(TEAM_SINTDM[killerid] != TEAM_GUESTTDM[playerid]) {
			SetPlayerScore(killerid,GetPlayerScore(killerid)+1);
			//SetTeamScore(TEAM_SINTDM,+1);
			sCount1++;
            }
        if(TEAM_GUESTTDM[killerid] != TEAM_SINTDM[playerid]) {
			SetPlayerScore(killerid,GetPlayerScore(killerid)+1);
			//SetTeamScore(TEAM_GUESTTDM,+1);
			sCount2++;
            }
            
  	if(sCount1 == MAXKILLS)
	{
	    format(string, sizeof(string), "%s has WON the CLAN WAR!", TEAM_SINTDM);
	    strins(winner,TEAM_SINTDM,0,sizeof(winner));
	    iStats();
		sStats();
  		iFreeze();
		TogglePlayerControllable(playerid,0);
	    SendClientMessageToAll(COLOR_YELLOW, string);
	}
	if(sCount2 == MAXKILLS)
	{
	    format(string, sizeof(string), "%s has WON the CLAN WAR!", TEAM_GUESTTDM);
	    strins(winner,TEAM_GUESTTDM,0,sizeof(winner));
	    iStats();
		sStats();
		iFreeze();
		TogglePlayerControllable(playerid,0);
	    SendClientMessageToAll(COLOR_YELLOW, string);
	}
            
		  else {
		  
			//Team Killer!
		new warning[256];
		format(warning, sizeof(warning), "Be careful! You have been punished for teamkilling.");
		SendClientMessage(killerid, 0xFFFF00AA, warning);
		SendDeathMessage(killerid,playerid,reason);
		
		if(TEAM_SINTDM[killerid] != TEAM_SINTDM[playerid]) {
			SetPlayerScore(killerid,GetPlayerScore(killerid)-1);
			//SetTeamScore(TEAM_SINTDM,-1);
			tkscore[playerid]++;
			sCount1--;
            }
        if(TEAM_GUESTTDM[killerid] != GUESTTDMTDM[playerid]) {
			SetPlayerScore(killerid,GetPlayerScore(killerid)-1);
			//SetTeamScore(TEAM_GUESTTDM,-1);
			tkscore[playerid]++;
			sCount2--;
            }
            
            }
	        }
 	      return 1;
            }

//=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

public SetupPlayerForClassSelection(playerid)
{
	SetPlayerInterior(playerid,14);
	SetPlayerPos(playerid,258.4893,-41.4008,1002.0234);
	SetPlayerFacingAngle(playerid, 90.0);
	SetPlayerCameraPos(playerid,256.0815,-43.0475,1003.0234);
	SetPlayerCameraLookAt(playerid,258.4893,-41.4008,1002.0234);
}

//=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

public OnPlayerRequestClass(playerid, classid)
{
	SetPlayerClass(playerid, classid);
	SetupPlayerForClassSelection(playerid);
	gPlayerClass[playerid] = classid;
	switch (classid) {
			case 0,1,2,3://caligulas basement
	        {
				GameTextForPlayer(playerid, " ~n~ ~n~ ~n~ ~n~ ~n~ ~g~SiN:~n~ ~b~Attack", 5000, 6);
				SetPlayerInterior(playerid,1);
				SetPlayerPos(playerid,2144.1433,1631.2375,993.5761);
				SetPlayerFacingAngle(playerid,358.4052);
				SetPlayerCameraPos(playerid,2144.1621,1634.4103,993.5761);
				SetPlayerCameraLookAt(playerid,2144.1433,1631.2375,993.5761);
  			 }
			case 4,5,6,7://meat plant
	         {
				GameTextForPlayer(playerid, " ~n~ ~n~ ~n~ ~n~ ~n~ ~g~ Guest:~n~ ~r~Attack", 5000, 6);
				SetPlayerInterior(playerid,1);
				SetPlayerPos(playerid,954.2079,2143.9053,1011.0263);
				SetPlayerFacingAngle(playerid,270.8676);
				SetPlayerCameraPos(playerid,956.3817,2143.9592,1011.0264);
				SetPlayerCameraLookAt(playerid,954.2079,2143.9053,1011.0263);
  			 }
  			case 8,9,10,11://caligulas basement
	         {
				GameTextForPlayer(playerid, " ~n~ ~n~ ~n~ ~n~ ~n~ ~g~SiN:~n~ ~r~Defend", 5000, 6);
				SetPlayerInterior(playerid,1);
				SetPlayerPos(playerid,2144.1433,1631.2375,993.5761);
				SetPlayerFacingAngle(playerid,358.4052);
				SetPlayerCameraPos(playerid,2144.1621,1634.4103,993.5761);
				SetPlayerCameraLookAt(playerid,2144.1433,1631.2375,993.5761);
  			 }
 			case 12,13,14,15://meat plant
	         {
				GameTextForPlayer(playerid, " ~n~ ~n~ ~n~ ~n~ ~n~ ~g~Guest:~n~ ~b~Defend", 5000, 6);
				SetPlayerInterior(playerid,1);
				SetPlayerPos(playerid,954.2079,2143.9053,1011.0263);
				SetPlayerFacingAngle(playerid,270.8676);
				SetPlayerCameraPos(playerid,956.3817,2143.9592,1011.0264);
				SetPlayerCameraLookAt(playerid,954.2079,2143.9053,1011.0263);
  			 }
			case 16,17,18,19://caligulas basement
	         {
				GameTextForPlayer(playerid, " ~n~ ~n~ ~n~ ~n~ ~n~ ~g~SiN:~n~ ~y~TDM!", 5000, 6);
				SetPlayerInterior(playerid,1);
				SetPlayerPos(playerid,2144.1433,1631.2375,993.5761);
				SetPlayerFacingAngle(playerid,358.4052);
				SetPlayerCameraPos(playerid,2144.1621,1634.4103,993.5761);
				SetPlayerCameraLookAt(playerid,2144.1433,1631.2375,993.5761);
  			 }
  			case 20,21,22,23://meat plant
	         {
				GameTextForPlayer(playerid, " ~n~ ~n~ ~n~ ~n~ ~n~ ~g~ Guest:~n~ ~y~TDM!", 5000, 6);
				SetPlayerInterior(playerid,1);
				SetPlayerPos(playerid,954.2079,2143.9053,1011.0263);
				SetPlayerFacingAngle(playerid,270.8676);
				SetPlayerCameraPos(playerid,956.3817,2143.9592,1011.0264);
				SetPlayerCameraLookAt(playerid,954.2079,2143.9053,1011.0263);
  			 }
			case 24://planning building
	         {
				GameTextForPlayer(playerid, " ~n~ ~n~ ~n~ ~n~ ~n~ ~w~ THE REF", 5000, 6);
				SetPlayerInterior(playerid,3);
				SetPlayerPos(playerid,363.1913,173.7416,1008.3828);
				SetPlayerFacingAngle(playerid,269.8084);
				SetPlayerCameraPos(playerid,367.1475,173.7715,1008.3828);
				SetPlayerCameraLookAt(playerid,363.1913,173.7416,1008.3828);
  			 }
		}
	return 1;
	}

//=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

public GameModeExitFunc()
 {
	GameModeExit();
	return 1;
 }

//=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

public PlayerName(playerid)
{
  new pName[256];
  GetPlayerName(playerid, pName, sizeof(pName));
  return pName;
}

//=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

public iFreeze()
{
for(new i=0;i<MAX_PLAYERS;i++)
	{
	    if(IsPlayerConnected(i))
		{
		TogglePlayerControllable(i,0);
		}
	}
}

//=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

SetPlayerClass(playerid, classid) {

	if(classid == 0 || classid == 1 || classid == 2 || classid == 3) {
	gTeam[playerid] = TEAM_SINATTACK;
	}
	else if(classid == 4 || classid == 5 || classid == 6 || classid == 7) {
	gTeam[playerid] = TEAM_GUESTATTACK;
	}
	else if(classid == 8 || classid == 9 || classid == 10 || classid == 11) {
	gTeam[playerid] = TEAM_SINDEFEND;
	}
	else if(classid == 12 || classid == 13 || classid == 14 || classid == 15) {
	gTeam[playerid] = TEAM_GUESTDEFEND;
	}
	else if(classid == 16 || classid == 17 || classid == 18 || classid == 19) {
	gTeam[playerid] = TEAM_SINTDM;
	}
	else if(classid == 20 || classid == 21 || classid == 22 || classid == 23) {
 	gTeam[playerid] = TEAM_GUESTTDM;
	}
	else if(classid == 24) {
 	gTeam[playerid] = TEAM_REF;
}
}

//=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

public OnPlayerCommandText(playerid, cmdtext[])
{
    new string[256];
    new cmd[256];
	new idx;
    cmd = strtok(cmdtext, idx);
    
	if (strcmp(cmdtext, "/help", true)==0){
	SendClientMessage(playerid,COLOR_WHITE,"_________________________________________________________________________");
	SendClientMessage(playerid,COLOR_WHITE,"ARENAS:    /ffarena1-3 - /arena1-9");
	SendClientMessage(playerid,COLOR_WHITE,"MISC:      /buycar - /getmycar - /savepoint - /loadpoint - /weaponlist");
	SendClientMessage(playerid,COLOR_WHITE,"MISC:      /me - /flip - /colors - /credits");
	SendClientMessage(playerid,COLOR_WHITE,"TELEPORTS: /chillad - /hydra - /boats - /pimps - /seafloor");
	SendClientMessage(playerid,COLOR_WHITE,"_________________________________________________________________________");
	return 1;
	}
	
	
	if (strcmp(cmdtext, "/baselist", true)==0){
	SendClientMessage(playerid,COLOR_WHITE,"_________________________________________________________________________");
	SendClientMessage(playerid,COLOR_WHITE,"BASES: LVarea51, LVcarpark1, LVcarpark2, LVbaseballstadium, LVpyramid");
	SendClientMessage(playerid,COLOR_WHITE,"BASES: LV, LV, LV, LV, LV");
	SendClientMessage(playerid,COLOR_WHITE,"BASES: LS, LS, LS, LS, LS");
	SendClientMessage(playerid,COLOR_WHITE,"BASES: LS, LS, LS, LS, LS");
	SendClientMessage(playerid,COLOR_WHITE,"BASES: LS, LS, LS, LS, LS");
	SendClientMessage(playerid,COLOR_WHITE,"BASES: SF, SF, SF, SF, SF");
	SendClientMessage(playerid,COLOR_WHITE,"BASES: SF, SF, SF, SF, SF");
	SendClientMessage(playerid,COLOR_WHITE,"_________________________________________________________________________");
	return 1;
	}
	
	
	
   //------------------- /defendarea51
    if(strcmp(cmdtext, "/defendarea51", true)==0){
    
	if(TEAM_SINDEFEND[playerid]){
    for(new j=0; j < DEFEND_POINT1; j++) {
	SetTeamCheckpoint(TEAM_SINDEFEND,area51checkpoint[j][0],area51checkpoint[j][1],area51checkpoint[j][2],area51checkpoint[j][3]);
	SetTeamCheckpoint(TEAM_GUESTATTCK,area51checkpoint[j][0],area51checkpoint[j][1],area51checkpoint[j][2],area51checkpoint[j][3]);
	SetTeamPos(TEAM_SINDEFEND,area51checkpoint[j][0],area51checkpoint[j][1],area51checkpoint[j][2);
	}
	
	if(TEAM_GUESTDEFEND[playerid]){
    for(new j=0; j < DEFEND_POINT1; j++) {
	SetTeamCheckpoint(TEAM_GUESTDEFEND,area51checkpoint[j][0],area51checkpoint[j][1],area51checkpoint[j][2],area51checkpoint[j][3]);
	SetTeamCheckpoint(TEAM_SINATTCK,area51checkpoint[j][0],area51checkpoint[j][1],area51checkpoint[j][2],area51checkpoint[j][3]);
	SetTeamPos(TEAM_GUESTDEFEND,area51checkpoint[j][0],area51checkpoint[j][1],area51checkpoint[j][2);
	}
	
	return 1;
	}
	
	
	
	
	//------------------- /me
      if (strcmp(cmdtext, "/me", true, 3) == 0) {

      if (strlen(cmdtext) == 3) {
         SendClientMessage(playerid, COLOR_YELLOW, "USAGE: /me <emote text>");
         return 1;
      }
      if (strcmp(cmdtext[3], " ", true, 1) != 0) return 0;

      GetPlayerName(playerid, sendername, MAX_PLAYER_NAME);

      format(string, 255, "* %s %s", sendername, cmdtext[4]);
      SendClientMessageToAll(COLOR_WHITE,string);
      
      return 1;
   }


   //------------------- /scores
       if(strcmp(cmdtext, "/scores", true)==0)
	{
	new sstring[256], sstring2[256];

	format(sstring, sizeof(sstring), "%s: %d Kills", TEAM_SINTDM, sCount1);
	format(sstring2, sizeof(sstring2), "%s: %d Kills", TEAM_GUESTTDM, sCount2);
	SendClientMessageToAll(COLOR_YELLOW, sstring);
	SendClientMessageToAll(COLOR_YELLOW, sstring2);
	return 1;
	}
	
	
   //------------------- /reset
	if(strcmp(cmdtext, "/reset", true)==0)
	{
		if(IsPlayerConnected(playerid) && IsPlayerAdmin(playerid))
		{
		SendClientMessageToAll(COLOR_YELLOW, "Clan War Reset!");
		sCount1 = 0;
		sCount2 = 0;
		for(new i=0;i<MAX_PLAYERS;i++)
		{
			TogglePlayerControllable(i,1);
			SpawnPlayer(i);
			DeathCount[i] = 0;
			SetPlayerScore(i, 0);
		}
		}
	}
	
   	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;
}

//=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

rConfig()
{
	new File:fhandle;
	new cname[256];
	new temp[256];
	new value[256];
	fhandle = fopen("ClanConfig.txt",io_readwrite);
		while(fread(fhandle,temp,sizeof(temp),false))
		{
		    cname = strtok(temp,0);
			value = strtok(temp,(strlen(cname)+1));

			if(strcmp(cname,"Team-1",true) == 0) strins(TEAM_SINTDM,value,0,MAX_STRING);
			else if(strcmp(cname,"Team-2",true) == 0) strins(TEAM_GUESTTDM,value,0,MAX_STRING);
			else if(strcmp(cname,"Max-Clan-Kills",true) == 0) MAXKILLS = strval(value);
			else if(strcmp(cname,"Weapon1",true) == 0) wpn1 = strval(value);
			else if(strcmp(cname,"Weapon2",true) == 0) wpn2 = strval(value);
			else if(strcmp(cname,"Weapon3",true) == 0) wpn3 = strval(value);
			else if(strcmp(cname,"Ammo1",true) == 0) ammo1 = strval(value);
			else if(strcmp(cname,"Ammo2",true) == 0) ammo2 = strval(value);
			else if(strcmp(cname,"Ammo3",true) == 0) ammo3 = strval(value);
		}
		fclose(fhandle);
		return 1;
}

//=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

iStats()
{
 	new File:fhandle;
	new temp[256], temp2[256], temp3[256];

	fhandle = fopen("ClanStats.txt",io_append);
	format(temp,sizeof(temp),"ClanWar %s VS %s\r\n",TEAM_SINTDM,TEAM_GUESTTDM);
	format(temp2, sizeof(temp2), "Winner: %s\r\n",winner);
	format(temp3, sizeof(temp3), "%s: %d  ||  %s: %d\r\n", TEAM_SINTDM, sCount1, TEAM_GUESTTDM, sCount2);
	fwrite(fhandle,temp);
	fwrite(fhandle,temp2);
	fwrite(fhandle,temp3);
	fclose(fhandle);
}

//=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

sStats()
{
for(new i=0;i<MAX_PLAYERS;i++)
	{
 if(IsPlayerConnected(i))
 {
 new File:fhandle;
	new temp[256];
	new Score;
	Score = GetPlayerScore(i);
	new Float:ratio = Float:Score / Float:DeathCount[i];

	fhandle = fopen("ClanStats.txt",io_append);
	format(temp,sizeof(temp),"%s Kills: %d Deaths: %d Ratio: %0.2f\r\n",PlayerName(i),Score,DeathCount[i],ratio);
	fwrite(fhandle,temp);
	fclose(fhandle);
}
}
}

//=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-