All pastes #1080736 Raw Edit

Jemand

public text v1 · immutable
#1080736 ·published 2008-07-23 13:39 UTC
rendered paste body
//BACKUP
#define COLOR_RED 0xAA3333AA
#define TEAM_BLUE_COLOR 0x8D8DFF00
#define COLOR_GREY 0xAFAFAFAA
#define TEAM_HIT_COLOR 0xFFFFFF00
forward BackupClear(playerid, calledbytimer);

	if(strcmp(cmd,"/backup",true)==0 || strcmp(cmd,"/bk",true)==0)
	{
		if(IsPlayerConnected(playerid))
		{
			if(PlayerInfo[playerid][pMember] == 1||PlayerInfo[playerid][pLeader] == 1)
			{
				if (PlayerInfo[playerid][pRequestingBackup] != 1)
				{
					GetPlayerName(playerid, sendername, sizeof(sendername));
					format(string, sizeof(string), "AN ALLE EINHEITEN: %s will abgeholt werden. Er wurde auf der Karte rot markiert", sendername);
					PlayerInfo[playerid][pRequestingBackup] = 1;
					for(new i = 0; i < MAX_PLAYERS; i++)
					{
						if(IsPlayerConnected(i))
						{
							if(PlayerInfo[i][pMember] == 1||PlayerInfo[i][pLeader] == 1)
							{
								SetPlayerMarkerForPlayer(i, playerid, 0xFF0000FF);
								SendClientMessage(i, TEAM_BLUE_COLOR, string);
							}
						}
					}
					SendClientMessage(playerid, TEAM_BLUE_COLOR, "Schreibe /bkc um die Anfrage zu lschen.");
					SetTimerEx("BackupClear", 180000, false, "ii", playerid, 1);
				}
				else
				{
					SendClientMessage(playerid, COLOR_GREY, "Du hast schon eine Anfrage gestellt!");
				}
			}
			else
			{
				SendClientMessage(playerid, COLOR_GREY, "Du bist kein Polzist!");
			}
		}
		return 1;
	}


	if(strcmp(cmd,"/backupclear",true)==0 || strcmp(cmd,"/bkc",true)==0)
	{
		BackupClear(playerid, 0);
		return 1;
	}
	
public BackupClear(playerid, calledbytimer)
{
	if(IsPlayerConnected(playerid))
	{
		if(PlayerInfo[playerid][pMember] == 1||PlayerInfo[playerid][pLeader] == 1)
		{
			if (PlayerInfo[playerid][pRequestingBackup] == 1)
			{
				for(new i = 0; i < MAX_PLAYERS; i++)
				{
					if(IsPlayerConnected(i))
					{
						if(PlayerInfo[i][pMember] == 1||PlayerInfo[i][pLeader] == 1)
						{
							SetPlayerMarkerForPlayer(i, playerid, TEAM_HIT_COLOR);
						}
					}
				}
				if (calledbytimer != 1)
				{
					SendClientMessage(playerid, TEAM_BLUE_COLOR, "Deine Anfrage wurde gelscht.");
				}
				else
				{
					SendClientMessage(playerid, TEAM_BLUE_COLOR, "Deine Anfrage wurde automatisch gelscht.");
				}
				PlayerInfo[playerid][pRequestingBackup] = 0;
			}
			else
			{
				if (calledbytimer != 1)
				{
					SendClientMessage(playerid, COLOR_RED, "Du hast keine Anfrage gemacht!");
				}
			}
		}
		else
		{
			if (calledbytimer != 1)
			{
				SendClientMessage(playerid, COLOR_RED, "Du bist kein Polzist!");
			}
		}
	}
	return 1;
}
	



//STRAENSPERRE
#define COLOR_GREY 0xAFAFAFAA
#define COLOR_GREEN 0x33AA33AA
#define TEAM_BLUE_COLOR 0x8D8DFF00
#define COLOR_YELLOW 0xFFFF00AA
forward ResetRoadblockTimer();
forward RemoveRoadblock(playerid);

	if(strcmp(cmdtext, "/roadblock", true)==0 || strcmp(cmdtext, "/rb", true)==0)
	{
		if (PlayerInfo[playerid][pMember] != 1 && PlayerInfo[playerid][pLeader] != 1) return SendClientMessage(playerid, COLOR_GREY, "Du bist kein Polizist!");
		if (PlayerInfo[playerid][pRoadblock] != 0) return SendClientMessage(playerid, COLOR_GREY, "Du kannst nur eine Straensperre machen. Schreibe /rrb um die Straensperre zu lschen.");
		if (roadblocktimer != 0) return SendClientMessage(playerid, COLOR_GREY, "Bitte warte!");
		new Float:X, Float:Y, Float:Z, Float:A;
		GetPlayerPos(playerid, X, Y, Z);
		GetPlayerFacingAngle(playerid, A);
		PlayerInfo[playerid][pRoadblock] = CreateObject(981, X, Y, Z, 0.0, 0.0, A+180);
		SetPlayerPos(playerid, X, Y, Z+4);
		GameTextForPlayer(playerid, "~w~Straensperre ~r~erschaffen", 5000, 5);
		SendClientMessage(playerid, COLOR_GREEN, "Straensperre erfolgreich erschaffen. Schreibe /rrb oder /roadunblock um die zu entfernen.");
		roadblocktimer = 1;
		GetPlayerName(playerid, sendername, sizeof(sendername));
		format(string, sizeof(string), "HQ: Eine Straensperre wurde von %s gemacht.", sendername);
		for(new i = 0; i < MAX_PLAYERS; i++)
		{
			if(IsPlayerConnected(i))
			{
				if(PlayerInfo[i][pMember] == 1 || PlayerInfo[i][pLeader] == 1)
				{
					SetPlayerCheckpoint(playerid, X, Y, Z-10, 1.0);
					SendClientMessage(i, TEAM_BLUE_COLOR, string);
					if (PlayerInfo[i][pRank] >= 5 && PlayerInfo[i][pMember] || PlayerInfo[i][pLeader] == 1)
					{
						SendClientMessage(i, COLOR_YELLOW, "Du kannst mit /rrball alle Straensperren entfernen.");
					}
				}
			}
		}
		SetTimer("ResetRoadblockTimer", 60000, false);
		return 1;
	}

	if(strcmp(cmdtext, "/roadunblock", true)==0 || strcmp(cmdtext, "/rrb", true)==0)
	{
		if (PlayerInfo[playerid][pMember] != 1 && PlayerInfo[playerid][pLeader] != 1)
		{
			SendClientMessage(playerid, COLOR_GREY, "Du bist kein Polizist!");
			return 1;
		}
		if (PlayerInfo[playerid][pRank] < 5)
		{
			SendClientMessage(playerid, COLOR_GREY, "Du musst Rang 5 sein, um diesen Befehl zu benutzen!");
			return 1;
		}
		if (PlayerInfo[playerid][pRoadblock] == 0)
		{
			SendClientMessage(playerid, COLOR_GREY, "Es gibt keine Straensperre!");
			return 1;
		}
		RemoveRoadblock(playerid);
		SendClientMessage(playerid, COLOR_GREEN, "Straensperre erfolgreich entfernt.");
		return 1;
	}

	if(strcmp(cmdtext, "/roadunblockall", true)==0 || strcmp(cmdtext, "/rrball", true)==0)
	{
		if (PlayerInfo[playerid][pRank] >= 5 && PlayerInfo[playerid][pMember] || PlayerInfo[playerid][pLeader] == 1)
		{
			for(new i = 0; i < MAX_PLAYERS; i++)
			{
				if(PlayerInfo[i][pRoadblock] != 0)
				{
					RemoveRoadblock(i);
				}
			}
			GetPlayerName(playerid, sendername, sizeof(sendername));
			format(string, sizeof(string), "HQ: Alle Straensperren wurden im Auftrag von %s entfernt.", sendername);
			for(new i = 0; i < MAX_PLAYERS; i++)
			{
				if(IsPlayerConnected(i))
				{
					if(PlayerInfo[i][pMember] == 1 || PlayerInfo[i][pLeader] == 1)
					{
						SendClientMessage(i, TEAM_BLUE_COLOR, string);
					}
				}
			}
		}
		else
		{
			SendClientMessage(playerid, COLOR_GREY, "Du musst Rang 5 oder Polizei Leader sein, um alle Straensperren zu entfernen!");
		}
		return 1;
	}
	
	
public ResetRoadblockTimer()
{
	roadblocktimer = 0;
	return 1;
}

public RemoveRoadblock(playerid)
{
	for(new i = 0; i < MAX_PLAYERS; i++)
	{
		if(IsPlayerConnected(i))
		{
			if(PlayerInfo[i][pMember] == 1 || PlayerInfo[i][pLeader] == 1)
			{
				DisablePlayerCheckpoint(i);
			}
		}
	}
	DestroyObject(PlayerInfo[playerid][pRoadblock]);
	PlayerInfo[playerid][pRoadblock] = 0;
	return 1;
}