All pastes #520531 Raw Edit

Untitled

public text v1 · immutable
#520531 ·published 2007-05-29 23:36 UTC
rendered paste body
//------------------------------------------------------------------------------

//

// San Fierro TDM. A Team Deathmtach script for SA-MP 0.1

//

//------------------------------------------------------------------------------



#include <a_samp>

#include <core>

#include <float>

//Global stuff and defines for our gamemode

static gTeam[MAX_PLAYERS]; // Tracks the team assignment for each player

new gPlayerClass[MAX_PLAYERS];




//Color Defines

#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

//Team Defines

#define TEAM_A 0

#define TEAM_B 1







// Round duration

new gRoundTime = 3600000; // 60 mins

//new gRoundTime = 900000; //15 mins

//new gRoundTime = 300000; // 5 mins



//------------------------------------------------------------------------------



main()

{

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

	print("  KFC Gang Wars by Watch_Out (2006)\n");

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

}



//------------------------------------------------------------------------------



public OnGameModeInit()

{


	SetGameModeText("AK47 Attack & Defend");

	SetTeamCount(1);

	ShowNameTags(1);

	ShowPlayerMarkers(0);

	SetWorldTime(18);


    AddPlayerClass(133,-800.5082,2245.8254,58.6777,270.8472,0,0,0,0,0,0); // hillbillyspawnshack

	AddPlayerClass(161,-472.9552,2194.5232,46.0527,87.7815,0,0,0,0,0,0); // defendspawnwater

	AddPlayerClass(161,-439.8265,2227.5679,45.5825,2.7456,0,0,0,0,0,0); // defendspawntown
	
	AddPlayerClass(133,-549.0581,2593.6956,53.9348,274.5342,0,0,0,0,0,0); // hillbillymedcspawn
	

	AddStaticVehicle(568,-789.4471,2259.1184,59.4235,335.2811,33,0); // dunebuggyshack1

	AddStaticVehicle(568,-806.8127,2253.6689,59.3048,277.6715,33,0); // dunbuggyshack2

    AddStaticVehicle(473,-800.0687,2236.0637,40.4217,178.8455,56,15); // hillbillyshackboat1

    AddStaticVehicle(473,-804.5873,2235.9834,40.2883,181.7875,56,15); // hilbillyshackboat2

    AddStaticVehicle(473,-809.7880,2238.6584,40.2519,180.4889,56,15); // hillbillyshackboat3

    AddStaticVehicle(454,-485.0655,2181.1150,40.7379,0.2990,26,26); // defendboat

    AddStaticVehicle(447,-414.0099,2214.4868,42.3374,97.8942,75,2); // defend hele

    AddStaticVehicle(568,-437.8156,2244.3103,42.2952,1.2026,2,39); // dafenddunebuggy

    AddStaticVehicle(468,-401.4841,2239.9805,42.0194,104.4722,-1,53); // defenddirtbike

    AddStaticVehicle(447,-563.3824,2604.4802,65.8276,268.0512,75,2); // hillbullymedichele

    AddStaticVehicle(447,-562.6275,2583.9783,65.8457,265.2181,75,2); // hilbillymedichele

    AddStaticVehicle(568,-508.6711,2603.6343,53.2787,270.3627,21,1); // hillbillydunebuggymedic

    AddStaticVehicle(568,-508.5833,2606.1074,53.2799,270.5397,21,1); // dunbuggymeichilbilly

    AddStaticVehicle(568,-539.4194,2578.0183,53.2803,90.0194,21,1); // mdichilbillydunebuggy

    AddStaticVehicle(468,-547.6649,2607.1897,53.1843,270.0363,-1,3); // medichillbillydirtbike

    AddStaticVehicle(468,-546.7387,2579.5520,53.1845,269.2080,-1,3); // medichilbillydirtbike2


	
  


//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);

//Pickups

	AddStaticPickup(370, 15, -2209.4707,294.1174,35.1172); // jetpack

	AddStaticPickup(370, 15, -1765.4392,-174.7473,3.5547); // jetpack

	SetTimer("GameModeExitFunc", gRoundTime, 0);

	return 1;

 }



//------------------------------------------------------------------------------



public OnPlayerConnect(playerid)

{

	GameTextForPlayer(playerid,"Dunes : ~r~AK47 Attack & Defend",55000,5);

	GivePlayerMoney(playerid, 500000);

	SetPlayerColor(playerid, COLOR_GREY); // Set the player's color to inactive

	return 1;

}



//------------------------------------------------------------------------------



public OnPlayerSpawn(playerid)

{

	SetPlayerInterior(playerid,0);

	if(gTeam[playerid] == TEAM_A) {

	SetPlayerColor(playerid,COLOR_DARKRED); // Green

		}

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

	SetPlayerColor(playerid,COLOR_GREEN); // Red

		}

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

	SetPlayerColor(playerid,COLOR_GREEN); // Red

		}
	else if(gTeam[playerid] == TEAM_A) {

	SetPlayerColor(playerid,COLOR_DARKRED); // Green
		}

	



	return 1;

}



//------------------------------------------------------------------------------



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, 5000);

}

		else {

			//Team Killer!

		new warning[256];

		format(warning, sizeof(warning), "YOUR A FUCKING JACKASS");

		SendClientMessage(killerid, 0xFFFF00AA, warning);

		SendDeathMessage(killerid,playerid,reason);

		GivePlayerMoney(killerid, -1000);

		SetPlayerScore(killerid, GetPlayerScore(killerid) - 1);

}

	}

 	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:
			{

    			GameTextForPlayer(playerid, "~g~Attack West", 5000, 3);
     			gTeam[playerid] = TEAM_A;
			}


		case 1:

		    {

				GameTextForPlayer(playerid, "~g~Defend Dock", 5000, 3);
				gTeam[playerid] = TEAM_B;
			}

		case 2:

	        {

				GameTextForPlayer(playerid, "~g~Defend Town", 5000, 3);
				gTeam[playerid] = TEAM_B;
			}

		case 3:

	        {

				GameTextForPlayer(playerid, "~g~Attack North", 5000, 3);
				gTeam[playerid] = TEAM_A;
			}

			
		

}

	return 1;

}



//------------------------------------------------------------------------------



public GameModeExitFunc()

 {

	GameModeExit();

	return 1;

 }



//------------------------------------------------------------------------------



SetPlayerClass(playerid, classid) {

	if(classid == 0) {

	gTeam[playerid] = TEAM_A;

	} else if(classid == 1) {

	gTeam[playerid] = TEAM_B;

	} else if(classid == 2) {

	gTeam[playerid] = TEAM_B;

	} else if(classid == 3) {

	gTeam[playerid] = TEAM_A;


	
	

	

	}

}

public OnPlayerDisconnect(playerid)
{
	printf("OnPlayerDisconnect(%d)", playerid);
	return 1;
}

public OnPlayerCommandText(playerid, cmdtext[])
{
	if (strcmp(cmdtext, "/help", true)==0)
	{
	    SendClientMessage(playerid,0xFF9900AA,"Available commands: /w , /x , /c");
	    SendClientMessage(playerid,0xFF9900AA,"/minigun , /rifle");
	    SendClientMessage(playerid,0xFF9900AA,"/ak47 , /combat , /mp5 , /sawnoff , /deagle");
	    return 1;
	} else if(strcmp(cmdtext, "/w", true) == 0) {
	    SendClientMessage(playerid,0xFFFF00AA,"/w1 -> Cover Me");
		SendClientMessage(playerid,0xFFFF00AA,"/w2 -> Take the Point");
		SendClientMessage(playerid,0xFFFF00AA,"/w3 -> Hold This Position");
		SendClientMessage(playerid,0xFFFF00AA,"/w4 -> Regroup Team");
		SendClientMessage(playerid,0xFFFF00AA,"/w5 -> Follow Me");
		SendClientMessage(playerid,0xFFFF00AA,"/w6 -> Taking Fire");
	    return 1;
    } else if(strcmp(cmdtext, "/x", true) == 0) {
        SendClientMessage(playerid,0xFFFF00AA,"/x1 -> Go!Go!Go!");
        SendClientMessage(playerid,0xFFFF00AA,"/x2 -> Team! Fall Back");
        SendClientMessage(playerid,0xFFFF00AA,"/x3 -> Stick Together Team");
        SendClientMessage(playerid,0xFFFF00AA,"/x4 -> Get in Position");
        SendClientMessage(playerid,0xFFFF00AA,"/x5 -> Storm In The Front");
        SendClientMessage(playerid,0xFFFF00AA,"/x6 -> Report In");
		return 1;
	} else if(strcmp(cmdtext, "/c", true) == 0) {
		SendClientMessage(playerid,0xFFFF00AA,"/c1 -> Affirmative");
        SendClientMessage(playerid,0xFFFF00AA,"/c2 -> Enemy Spotted");
        SendClientMessage(playerid,0xFFFF00AA,"/c3 -> Need Backup");
        SendClientMessage(playerid,0xFFFF00AA,"/c4 -> Sector Clear");
        SendClientMessage(playerid,0xFFFF00AA,"/c5 -> I'm in Position");
        SendClientMessage(playerid,0xFFFF00AA,"/c6 -> Reporting In");
        SendClientMessage(playerid,0xFFFF00AA,"/c7 -> She's gonna Blow! (Inutile...)");
        SendClientMessage(playerid,0xFFFF00AA,"/c8 -> Negative");
        SendClientMessage(playerid,0xFFFF00AA,"/c9 -> Enemy Down");
	    return 1;
}



	  else if(strcmp(cmdtext, "/w1", true) == 0)
{
    for(new i=0; i<MAX_PLAYERS; i++) if(IsPlayerConnected(i))
    {
        if(gTeam[i] == TEAM_A)
        {
             SendClientMessage(i ,0x660000AA,"Cover Me");
        }
        if(gTeam[i] == TEAM_B)
        {
             SendClientMessage(i ,0x33AA33AA,"Cover Me");
        }
    }
    return 1;
}

		
      else if(strcmp(cmdtext, "/w2", true) == 0)
    {
    for(new i=0; i<MAX_PLAYERS; i++) if(IsPlayerConnected(i))
    {
        if(gTeam[i] == TEAM_A)
        {
             SendClientMessage(i ,0x660000AA,"Take The Point");
        }
        if(gTeam[i] == TEAM_B)
        {
             SendClientMessage(i ,0x33AA33AA,"Take The Point");
        }
    }
    return 1;
}

      else if(strcmp(cmdtext, "/w3", true) == 0) {
    {
    for(new i=0; i<MAX_PLAYERS; i++) if(IsPlayerConnected(i))
    {
        if(gTeam[i] == TEAM_A)
        {
             SendClientMessage(i ,0x660000AA,"Hold This Position");
        }
        if(gTeam[i] == TEAM_B)
        {
             SendClientMessage(i,0x33AA33AA,"Hold This Position");
        }
    }
    return 1;
}
		
    } else if(strcmp(cmdtext, "/w4", true) == 0) {
 	    {
    for(new i=0; i<MAX_PLAYERS; i++) if(IsPlayerConnected(i))
    {
        if(gTeam[i] == TEAM_A)
        {
             SendClientMessage(i ,0x660000AA,"Regroup Team");
        }
        if(gTeam[i] == TEAM_B)
        {
             SendClientMessage(i ,0x33AA33AA,"Regroup Team");
        }
    }
    return 1;
}
		
    }  else if(strcmp(cmdtext, "/w5", true) == 0) {
        {
    for(new i=0; i<MAX_PLAYERS; i++) if(IsPlayerConnected(i))
    {
        if(gTeam[i] == TEAM_A)
        {
             SendClientMessage(i ,0x660000AA,"Follow Me");
        }
        if(gTeam[i] == TEAM_B)
        {
             SendClientMessage(i ,0x33AA33AA,"Follow Me");
        }
    }
    return 1;
}
		
    } else if(strcmp(cmdtext, "/w6", true) == 0) {
        {
    for(new i=0; i<MAX_PLAYERS; i++) if(IsPlayerConnected(i))
    {
        if(gTeam[i] == TEAM_A)
        {
             SendClientMessage(i ,0x660000AA,"Taking Fire");
        }
        if(gTeam[i] == TEAM_B)
        {
             SendClientMessage(i ,0x33AA33AA,"Taking Fire");
        }
    }
    return 1;
}
		
    } else if(strcmp(cmdtext, "/x1", true) == 0) {
        {
    for(new i=0; i<MAX_PLAYERS; i++) if(IsPlayerConnected(i))
    {
        if(gTeam[i] == TEAM_A)
        {
             SendClientMessage(i ,0x660000AA,"Go! Go! Go!");
        }
        if(gTeam[i] == TEAM_B)
        {
             SendClientMessage(i ,0x33AA33AA,"Go! Go! Go!");
        }
    }
    return 1;
}
	
    } else if(strcmp(cmdtext, "/x2", true) == 0) {
        {
    for(new i=0; i<MAX_PLAYERS; i++) if(IsPlayerConnected(i))
    {
        if(gTeam[i] == TEAM_A)
        {
             SendClientMessage(i ,0x660000AA,"Fall Back");
        }
        if(gTeam[i] == TEAM_B)
        {
             SendClientMessage(i ,0x33AA33AA,"Fall Back");
        }
    }
    return 1;
}
	
    } else if(strcmp(cmdtext, "/x3", true) == 0) {
        {
    for(new i=0; i<MAX_PLAYERS; i++) if(IsPlayerConnected(i))
    {
        if(gTeam[i] == TEAM_A)
        {
             SendClientMessage(i ,0x660000AA,"Stick Together Team");
        }
        if(gTeam[i] == TEAM_B)
        {
             SendClientMessage(i ,0x33AA33AA,"Stick Together Team");
        }
    }
    return 1;
}
	
    } else if(strcmp(cmdtext, "/x4", true) == 0) {
        {
    for(new i=0; i<MAX_PLAYERS; i++) if(IsPlayerConnected(i))
    {
        if(gTeam[i] == TEAM_A)
        {
             SendClientMessage(i ,0x660000AA,"Get Into Position");
        }
        if(gTeam[i] == TEAM_B)
        {
             SendClientMessage(i ,0x33AA33AA,"Get Into Position");
        }
    }
    return 1;
}
		
    } else if(strcmp(cmdtext, "/x5", true) == 0) {
        {
    for(new i=0; i<MAX_PLAYERS; i++) if(IsPlayerConnected(i))
    {
        if(gTeam[i] == TEAM_A)
        {
             SendClientMessage(i ,0x660000AA,"Storm In The Front");
        }
        if(gTeam[i] == TEAM_B)
        {
             SendClientMessage(i ,0x33AA33AA,"Storm In The Front");
        }
    }
    return 1;
}
		
    } else if(strcmp(cmdtext, "/x6", true) == 0) {
        {
    for(new i=0; i<MAX_PLAYERS; i++) if(IsPlayerConnected(i))
    {
        if(gTeam[i] == TEAM_A)
        {
             SendClientMessage(i ,0x660000AA,"Report In");
        }
        if(gTeam[i] == TEAM_B)
        {
             SendClientMessage(i ,0x33AA33AA,"Report In");
        }
    }
    return 1;
}
		
    } else if(strcmp(cmdtext, "/c1", true) == 0) {
        {
    for(new i=0; i<MAX_PLAYERS; i++) if(IsPlayerConnected(i))
    {
        if(gTeam[i] == TEAM_A)
        {
             SendClientMessage(i ,0x660000AA,"Affirmative");
        }
        if(gTeam[i] == TEAM_B)
        {
             SendClientMessage(i ,0x33AA33AA,"Affirmative");
        }
    }
    return 1;
}
		
    } else if(strcmp(cmdtext, "/c2", true) == 0) {
        {
    for(new i=0; i<MAX_PLAYERS; i++) if(IsPlayerConnected(i))
    {
        if(gTeam[i] == TEAM_A)
        {
             SendClientMessage(i ,0x660000AA,"Enemy Spotted");
        }
        if(gTeam[i] == TEAM_B)
        {
             SendClientMessage(i ,0x33AA33AA,"Enemy Spotted");
        }
    }
    return 1;
}
		
    } else if(strcmp(cmdtext, "/c3", true) == 0) {
        {
    for(new i=0; i<MAX_PLAYERS; i++) if(IsPlayerConnected(i))
    {
        if(gTeam[i] == TEAM_A)
        {
             SendClientMessage(i ,0x660000AA,"Need Back Up");
        }
        if(gTeam[i] == TEAM_B)
        {
             SendClientMessage(i ,0x33AA33AA,"Need Back Up");
        }
    }
    return 1;
}
		
    } else if(strcmp(cmdtext, "/c4", true) == 0) {
     	{
    for(new i=0; i<MAX_PLAYERS; i++) if(IsPlayerConnected(i))
    {
        if(gTeam[i] == TEAM_A)
        {
             SendClientMessage(i ,0x660000AA,"Sector Clear");
        }
        if(gTeam[i] == TEAM_B)
        {
             SendClientMessage(i ,0x33AA33AA,"Sector Clear");
        }
    }
    return 1;
}
		
    } else if(strcmp(cmdtext, "/c5", true) == 0) {
        {
    for(new i=0; i<MAX_PLAYERS; i++) if(IsPlayerConnected(i))
    {
        if(gTeam[i] == TEAM_A)
        {
             SendClientMessage(i ,0x660000AA,"Im In Position");
        }
        if(gTeam[i] == TEAM_B)
        {
             SendClientMessage(i ,0x33AA33AA,"Im In Position");
        }
    }
    return 1;
}
		
    } else if(strcmp(cmdtext, "/c6", true) == 0) {
     	{
    for(new i=0; i<MAX_PLAYERS; i++) if(IsPlayerConnected(i))
    {
        if(gTeam[i] == TEAM_A)
        {
             SendClientMessage(i ,0x660000AA,"Report In");
        }
        if(gTeam[i] == TEAM_B)
        {
             SendClientMessage(i ,0x33AA33AA,"Report In");
        }
    }
    return 1;
}
		
    } else if(strcmp(cmdtext, "/c7", true) == 0) {
        {
    for(new i=0; i<MAX_PLAYERS; i++) if(IsPlayerConnected(i))
    {
        if(gTeam[i] == TEAM_A)
        {
             SendClientMessage(i ,0x660000AA,"She's Gonna Blow");
        }
        if(gTeam[i] == TEAM_B)
        {
             SendClientMessage(i ,0x33AA33AA,"She's Gonna Blow");
        }
    }
    return 1;
}
		
    } else if(strcmp(cmdtext, "/c8", true) == 0) {
        {
    for(new i=0; i<MAX_PLAYERS; i++) if(IsPlayerConnected(i))
    {
        if(gTeam[i] == TEAM_A)
        {
             SendClientMessage(i ,0x660000AA,"Negative");
        }
        if(gTeam[i] == TEAM_B)
        {
             SendClientMessage(i ,0x33AA33AA,"Nagative");
        }
    }
    return 1;
}
		
    } else if(strcmp(cmdtext, "/c9", true) == 0) {
     	{
    for(new i=0; i<MAX_PLAYERS; i++) if(IsPlayerConnected(i))
    {
        if(gTeam[i] == TEAM_A)
        {
             SendClientMessage(i ,0x660000AA,"Enemy Down");
        }
        if(gTeam[i] == TEAM_B)
        {
             SendClientMessage(i ,0x33AA33AA,"Enemy Down");
        }
    }
    return 1;
}
	
    
    
    
    } else if(strcmp(cmdtext, "/sawnoff", true) == 0){
        
    for(new i=0; i<MAX_PLAYERS; i++) if(IsPlayerConnected(i))
    {
		ResetPlayerWeapons( i );
		GivePlayerWeapon(i, 26,272);
    }
    
    return 1;
    } else if(strcmp(cmdtext, "/mp5", true) == 0){

    for(new i=0; i<MAX_PLAYERS; i++) if(IsPlayerConnected(i))
    {
		ResetPlayerWeapons( i );
		GivePlayerWeapon(i, 29,300);
    }
    return 1;
     } else if(strcmp(cmdtext, "/combat", true) == 0){

    for(new i=0; i<MAX_PLAYERS; i++) if(IsPlayerConnected(i))
    {
		ResetPlayerWeapons( i );
		GivePlayerWeapon(i, 27,300);
  	}
    return 1;
     } else if(strcmp(cmdtext, "/ak47", true) == 0){

    for(new i=0; i<MAX_PLAYERS; i++) if(IsPlayerConnected(i))
    {
		ResetPlayerWeapons( i );
		GivePlayerWeapon(i, 31, 120);
  	}
    return 1;
     } else if(strcmp(cmdtext, "/minigun", true) == 0){

    for(new i=0; i<MAX_PLAYERS; i++) if(IsPlayerConnected(i))
    {
		ResetPlayerWeapons( i );
		GivePlayerWeapon(i, 38,7000);
    }
    return 1;
     } else if(strcmp(cmdtext, "/rifle", true) == 0){

    for(new i=0; i<MAX_PLAYERS; i++) if(IsPlayerConnected(i))
    {
		ResetPlayerWeapons( i );
		GivePlayerWeapon(i, 33,300);
  	}
    return 1;
    
    
    } else if(strcmp(cmdtext, "/hp", true) == 0) {
{
        SetPlayerHealth(playerid, 100);
	    } return 1;
        } else {
       return 0;
   } return 1;

   
}