Hallo leute ich habe eine Problem wenn ich /bk mache wird nicht auf der karte angezeit aber da steht
ALL UNITS: z.b Max braucht verstärkung!, Du hast eine Rote Makierung auf deiner Kate wo er sich Befindet
das geht nicht können sie mir bitte Helfen
//--------------------------------------| Verstärkung |-------------------------------------------------------
if(strcmp(cmd,"/backup",true)==0 || strcmp(cmd,"/bk",true)==0)
{
if(IsPlayerConnected(playerid))
{
if(gTeam[playerid] == 2 || IsACop(playerid))
{
{
GetPlayerName(playerid, sendername, sizeof(sendername));
format(string, sizeof(string), "ALL UNITS: %s braucht verstärkung!, Du hast eine Rote Makierung auf deiner Kate wo er sich Befindet!.", sendername);
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
if(PlayerInfo[playerid][pMember] == 1 || PlayerInfo[playerid][pLeader] == 1)
{
SendClientMessage(i, TEAM_BLUE_COLOR, string);
}
}
}
SendClientMessage(playerid, TEAM_BLUE_COLOR, "Gebe /bkc zum Löchen von der verstärkungs anfrage!.");
SetTimerEx("BackupClear", 180000, false, "ii", playerid, 1);
}
}
else
{
SendClientMessage(playerid, COLOR_GREY, "Du Bist Kein Polizist");
}
}
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||PlayerInfo[playerid][pLeader] == 2||PlayerInfo[playerid][pMember] == 2)
{
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 für Verstärkung wurde gelöscht.");
}
else
{
SendClientMessage(playerid, TEAM_BLUE_COLOR, "Deine Anfrage für Verstärkung wurde automatisch gelöscht.");
}
PlayerInfo[playerid][pRequestingBackup] = 0;
}
else
{
if (calledbytimer != 1)
{
SendClientMessage(playerid, COLOR_RED, "Du hast keine aktuelle Verstärkungsanfrage!");
}
}
}
else
{
if (calledbytimer != 1)
{
SendClientMessage(playerid, COLOR_RED, "Du bist kein Cop!");
}
}
}
return 1;
}
-
-
Ich weis grad ned wieso es es ned geht, aber nütz doch einfach Checkpoints
Statt:
Mach das einfach:
Vorher definieren
Und dann dieses SetPlayerMarker ersetzen durch:
CodeGetPlayerPos(playerid, X, Y, Z); SetPlayerCheckpoint(i, X, Y, Z, 10.0); gPlayerCheckpointStatus[playerid] = CHECKPOINT_BK;
Und dann suche nach CHECKPOINT_HOME und füge diese Sachen ein:
Codecase CHECKPOINT_MEDIC: { PlayerPlaySound(playerid, 1058, 0.0, 0.0, 0.0); DisablePlayerCheckpoint(playerid); gPlayerCheckpointStatus[playerid] = CHECKPOINT_NONE; }
Tipp sind die ersten Codes die du findest wenn du nach CHECKPOINT_Home suchst! Vom Anfang aus!
-
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), "ALL UNITS: %s is requesting immediate assistance, they have been marked on the map (red).", 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, "Type /bkc to clear your backup request.");
SetTimerEx("BackupClear", 180000, false, "ii", playerid, 1);
}
else
{
SendClientMessage(playerid, COLOR_GREY, "You already have an active backup request!");
}
}
else
{
SendClientMessage(playerid, COLOR_GREY, "Du bist kein Polizist!");
}
}
return 1;
} -
breadfish.de
Hat das Thema geschlossen.