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;
}