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