All pastes #963514 Raw Edit

sniper elite gm

public text v1 · immutable
#963514 ·published 2008-03-30 17:00 UTC
rendered paste body
/* ××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××
×   	Sniper Elite				                                ×
×                               			  By: [X2G]Sneaky       ×
×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××*/


#include <a_samp>
#pragma tabsize 0

#define TEAM_1 0
#define TEAM_2 1

#define COLOR_YELLOW 0x33AA33AA
#define COLOR_BASEBALL 0xAA3333AA
#define G 0xC3C3C3FF
#define COLOR_GRAD1 0xB4B5B7FF
#define COLOR_WHITE 0xFFFFFFAA

new gTeam[MAX_PLAYERS];
new gPlayerClass[MAX_PLAYERS];
new YoMomma[MAX_PLAYERS];
new BALLZ,TITS;
new SEX;
new msv[256];
new cdt=-1;
new timer;
new Team[MAX_PLAYERS];
new delay=1000;

forward Score();
forward count1();
forward SetupPlayerForClassSelection(playerid);
forward SetTeamFromClass(playerid, classid);
forward SetTeamToColor(playerid);

new Float:gRandomt1PlayerSpawns[3][4] = {
{322.3492,870.4527,20.3990},
{320.6684,873.0169,20.3990},
{323.7792,867.0750,20.4063}
};

new Float:gRandomt2PlayerSpawns[3][4] = {
{832.4816,866.0623,12.6722},
{834.4856,868.3402,12.8827},
{835.6846,865.6111,12.8717}
};



	main()
	{
	print("\n----------------------------------");
	print("  Sniper Elite - By: [X2G]Sneaky");
	print("----------------------------------\n");
	}


	public OnGameModeInit()
	{
		SetGameModeText("Sniper Elite");
		ShowNameTags(1);
		ShowPlayerMarkers(1);
		SetWorldTime(0);
		SetTimer("Score",100,1);
		SEX = 0;
		SetTeamCount(2);
		UsePlayerPedAnims();
		AddPlayerClass(195,1410.6829,2111.6638,12.0220,358.9967,0,0,0,0	,0,0);
		AddPlayerClass(199,1310.6882,2211.8193,12.0156,270.2545,0,0,0,0	,0,0);
		return 1;
	}

	public Score()
	{
		new string[256];
		if(SEX == 1){}
		if(SEX == 0){
		format(string,sizeof(string)," ~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~y~ team1: ~h~ ~w~ %d  ~b~ team2: ~h~ ~w~ %d",TITS,BALLZ);
		GameTextForAll(string,850,3);}
		if(BALLZ == 50) {
		GameTextForAll("~r~Team 1 Wins!",5000,0);
		for(new i = 0; i < MAX_PLAYERS; i++) {
		if(Team[i] == TEAM_1)
		YoMomma[i] = 2;
		SpawnPlayer(i);
		TogglePlayerControllable(i,0);}
		BALLZ = 0; BALLZ = 0;
		TITS = 0; TITS = 0;
		{cdt=6;timer=SetTimer("count1",delay,1);}}
		if(TITS == 50) {
		GameTextForAll("~r~Team 1 Wins!!",5000,0);
		for(new i = 0; i < MAX_PLAYERS; i++){
		if(Team[i] == TEAM_2)
		YoMomma[i] = 2;
		SpawnPlayer(i);
		TogglePlayerControllable(i,0);}
		TITS = 0; TITS = 0;
		BALLZ = 0; BALLZ = 0;
		{cdt=6;timer=SetTimer("count1",delay,1);
	}}}

	public count1()
	{
		SEX = 1;
		if(cdt==6)
		{GameTextForAll("~y~Starting",1000,6);}
		else if (cdt>=5)
		{format(msv,sizeof(msv),"%d",cdt);
		for(new i = 0; i < MAX_PLAYERS; i++) {
		GameTextForAll("~r~5",1000,6);
		PlayerPlaySound(i, 1056, 0.0, 0.0, 0.0);}}
		else if (cdt>=4)
		{format(msv,sizeof(msv),"%d",cdt);
		for(new i = 0; i < MAX_PLAYERS; i++) {
		GameTextForAll("~r~4",1000,6);
		PlayerPlaySound(i, 1056, 0.0, 0.0, 0.0);}}
		else if (cdt>=3)
		{format(msv,sizeof(msv),"%d",cdt);
		for(new i = 0; i < MAX_PLAYERS; i++) {
		GameTextForAll("~y~3",1000,6);
		PlayerPlaySound(i, 1056, 0.0, 0.0, 0.0);}}
		else if (cdt>=2)
		{format(msv,sizeof(msv),"%d",cdt);
		for(new i = 0; i < MAX_PLAYERS; i++) {
		GameTextForAll("~y~2",1000,6);
		PlayerPlaySound(i, 1056, 0.0, 0.0, 0.0);}}
		else if (cdt>=1)
		{format(msv,sizeof(msv),"%d",cdt);
		for(new i = 0; i < MAX_PLAYERS; i++) {
		GameTextForAll("~g~1",1000,6);
		PlayerPlaySound(i, 1056, 0.0, 0.0, 0.0);}}
		else if (cdt==0){
		GameTextForAll("F I G H T",1000,6);
		SEX = 0;
		SEX = 0;
		for(new i = 0; i < MAX_PLAYERS; i++) {
		TogglePlayerControllable(i,1);
		PlayerPlaySound(i, 1057, 0.0, 0.0, 0.0);
		SetPlayerHealth(i,100);}}
		cdt--;
		if (cdt==-1){KillTimer(timer);
	}}


	public OnPlayerRequestClass(playerid, classid)
	{
		SetTeamFromClass(playerid, classid);
		SetupPlayerForClassSelection(playerid);
		gPlayerClass[playerid] = classid;
		switch (classid) {
		case 0:{GameTextForPlayer(playerid, "~y~team 1", 1000, 3);}
 		case 1:{GameTextForPlayer(playerid, "~b~team 2", 1000, 3);}}
		return 1;
	}


	public SetupPlayerForClassSelection(playerid)
	{
    	SetPlayerInterior(playerid,0);
		SetPlayerPos(playerid, -878.2040,-2285.7019,30.9392);
		SetPlayerCameraPos(playerid, -874.9014,-2287.0837,29.9809);
		SetPlayerCameraLookAt(playerid, -878.2040,-2285.7019,30.9392);
		SetPlayerFacingAngle(playerid, 240.5105);
		return 1;
	}


	public SetTeamFromClass(playerid, classid)
	{
		if(classid == 0){
		gTeam[playerid] = TEAM_1;
		}else if(classid == 1){
 		gTeam[playerid] = TEAM_2;
	}}

	public SetTeamToColor(playerid){
		if(gTeam[playerid] == TEAM_1) {
		SetPlayerColor(playerid,COLOR_YELLOW);
		}else if(gTeam[playerid] == TEAM_2){
 		SetPlayerColor(playerid,COLOR_BASEBALL);
	}}

	public OnPlayerConnect(playerid)
	{
	    new Text:poop;
		poop = TextDrawCreate(100.0, 10.0,"Sniper Elite Biatch! first team to 50 killz");
		TextDrawUseBox(poop, 1);
		TextDrawBoxColor(poop, 0x000000AA);
		TextDrawFont(poop, 2);
		TextDrawSetShadow(poop,0);
	 	TextDrawSetOutline(poop,1);
	 	TextDrawBackgroundColor(poop,0x000000FF);
   	 	TextDrawColor(poop,0xE9070DFF);
   		TextDrawShowForPlayer(playerid, poop);
		SEX = 1;
		return 1;
	}

 	public OnPlayerSpawn(playerid)
	{
		SEX = 0;
		SetTeamToColor(playerid);
		SetPlayerInterior(playerid,0);
		if(gTeam[playerid] == TEAM_1) {
		new rand = random(sizeof(gRandomt1PlayerSpawns));
		SetPlayerPos(playerid, gRandomt1PlayerSpawns[rand][0], gRandomt1PlayerSpawns[rand][1], gRandomt1PlayerSpawns[rand][2]);
		GivePlayerWeapon(playerid,34,99999999);
		GivePlayerWeapon(playerid,4,99999999);
		}
		if(gTeam[playerid] == TEAM_2) {
		new rand = random(sizeof(gRandomt2PlayerSpawns));
		SetPlayerPos(playerid, gRandomt2PlayerSpawns[rand][0], gRandomt2PlayerSpawns[rand][1], gRandomt2PlayerSpawns[rand][2]);
		GivePlayerWeapon(playerid,34,99999999);
		GivePlayerWeapon(playerid,4,99999999);
		}
		return 1;
	}


	public OnPlayerDeath(playerid, killerid, reason)
	{
		new Float:slx, Float:sly, Float:slz;
  		YoMomma[playerid] = 1;
		if(killerid == INVALID_PLAYER_ID) {
  		SendDeathMessage(INVALID_PLAYER_ID,playerid,reason);}
		else{if(gTeam[killerid] != gTeam[playerid]){
		SendDeathMessage(killerid,playerid,reason);
		if(gTeam[playerid] == TEAM_1) {
		BALLZ = BALLZ + 1;}
		else if(gTeam[playerid] == TEAM_2) {
		TITS = TITS + 1;}
		SetPlayerScore(killerid,GetPlayerScore(killerid)+1);
		}else{
		SendDeathMessage(killerid,playerid,reason);
		SetPlayerScore(killerid, GetPlayerScore(killerid) -1);
		GetPlayerPos(killerid, slx, sly, slz);
		SetPlayerPos(killerid, slx, sly, slz+5);
		PlayerPlaySound(killerid, 1130, slx, sly, slz+100);
		SendClientMessage(killerid,COLOR_YELLOW,"NO TEAMKILLING!");
		if(gTeam[killerid] == TEAM_1) {
		BALLZ = BALLZ + 1;}
		else if(gTeam[killerid] == TEAM_2){
		TITS = TITS + 1;}}}
		return 1;
	}

	public OnPlayerCommandText(playerid, cmdtext[])
{
	new cmd[256];
	new idx;
	cmd = strtok(cmdtext, idx);

	if (strcmp(cmd, "/kill", true)==0){SetPlayerHealth(playerid, 0);return 1;}

 if(strcmp(cmd, "/help", true) == 0 && IsPlayerConnected(playerid))
	{
	SendClientMessage(playerid, COLOR_WHITE, "[-----> Sniper Elite <-----]");
	SendClientMessage(playerid, COLOR_GRAD1, "HELP: This mod is al about being the sneakiest motherfucker around");
	SendClientMessage(playerid, COLOR_GRAD1, "HELP: You can hide yourself using the commands below, when you");
	SendClientMessage(playerid, COLOR_GRAD1, "HELP: reached 25 kills you win the round");
	SendClientMessage(playerid, COLOR_GRAD1, "CMDS: Use /bush1-2 to place a bush so you can hide behind it");
	SendClientMessage(playerid, COLOR_GRAD1, "CMDS: Use /barrel to place a barrel so you can shoot it later");
	return 1;
	}


 	if(strcmp(cmd, "/bush1", true) == 0 && IsPlayerConnected(playerid))
	{
	new Float:dx, Float:dy, Float:dz;
	GetPlayerPos(playerid, dx, dy, dz);
	new tree = CreateObject(647, dx, dy, dz, 0.00, 0.00, 0.00);
	AttachObjectToPlayer(tree, playerid, 0.0,0.0,3.5,0.0,0.0,0.0);
	return 1;
	}


	if(strcmp(cmd, "/chicken", true) == 0 && IsPlayerConnected(playerid))
	{
	new Float:dx, Float:dy, Float:dz;
	GetPlayerPos(playerid, dx, dy, dz);
	new chicken = CreateObject(16776, dx, dy, dz, 0.00, 0.00, 0.00);
	AttachObjectToPlayer(chicken, playerid, 0.0,0.0,3.5,0.0,0.0,0.0);
	return 1;
	}

 if(strcmp(cmd, "/bush2", true) == 0 && IsPlayerConnected(playerid))
	{
	new Float:dx, Float:dy, Float:dz;
	GetPlayerPos(playerid, dx, dy, dz);
	CreateObject(800, dx, dy, dz, 0.00, 0.00, 0.00);
	return 1;
	}

 if(strcmp(cmd, "/barrel", true) == 0 && IsPlayerConnected(playerid))
	{
	new Float:dx, Float:dy, Float:dz;
	GetPlayerPos(playerid, dx, dy, dz);
	CreateObject(1225, dx, dy, dz, 0.00, 0.00, 0.00);
		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;
}