Radar Update - Kleines Problem

  • Radar Update - Kleines Problem

    Hallo.
    Ich würde gerne eine Funktion erstellen, die es ermöglicht, dass ein Cop an alle anderen Cops eine Nachricht schicken kann, dass man Hilfe braucht. Daraufhin wird dann der Cop auf der Karte Rot markiert (kein Checkpoint, sondern Marker)
    Das klappt auch alles, nur möchte die Funktion nicht ganz:
    [pwn]forward UpdateRadar();
    public UpdateRadar()
    {
    for ( new i = 0; i < MAX_PLAYERS; i ++ )
    {
    if(IsPlayerConnected(i))
    {
    new Float:playerPos[3];
    new Float:targetPos[3];
    GetPlayerPos(i,playerPos[0],playerPos[1],playerPos[2]);


    for ( new j = 0; j < MAX_PLAYERS; j++ )
    {
    if(IsPlayerConnected(j) && j !=i)
    {
    GetPlayerPos(j,targetPos[0],targetPos[1],targetPos[2]);
    new distance;

    distance =floatround(floatsqroot(floatpower(floatabs(floatsub(playerPos[0],targetPos[0])),2)+floatpower(floatabs(floatsub(playerPos[1],targetPos[1])),2)));

    if((Spieler[j][pFraktion] == 1 || Spieler[j][pFraktion] == 2) && !(Spieler[pFraktion] == 1 || Spieler[pFraktion] == 2))
    {
    if(NeedBackup[j] == 1)
    {
    SetPlayerMarkerForPlayer(i,j,COLOR_BK);
    }
    }
    if(distance <= 200)
    {
    SetPlayerMarkerForPlayer(i,j,(GetPlayerColor(j)& 0xFFFFFF00));
    }
    else
    {
    SetPlayerMarkerForPlayer(i,j,GetPlayerColor(j));
    }
    }
    }
    }
    }
    return 1;
    }[/pwn]

    Da passiert einfach nichts.
    Bei dem Befehl für die Unterstützung wird auch die Variable auf 1 gesetzt ... der Spieler ist Fraktion 1 oder 2...
    Mit freundlichen Grüßen, Ap0llinaris.

    [Blockierte Grafik: http://img6.imagebanana.com/img/lb4rwabb/newsig111.png]
  • Derzeit sieht es so aus:
    [pwn]forward UpdateRadar(playerid);
    public UpdateRadar(playerid)
    {
    for ( new j = 0; j < MAX_PLAYERS; j++ )
    {
    if(!IsPlayerConnected(j)) continue;
    if(playerid==j) continue;

    if(!(Spieler[playerid][pFraktion] == 1 || Spieler[playerid][pFraktion] == 2) && !(Spieler[j][pFraktion] == 1 || Spieler[j][pFraktion] == 2)) continue;
    new Float:X,Float:Y,Float:Z;
    GetPlayerPos(j,X,Y,Z);
    new Float:distance = GetPlayerDistanceFromPoint(playerid, X, Y, Z);
    if(distance < 200){SetPlayerMarkerForPlayer(playerid,j,(GetPlayerColor(j)& 0xFFFFFF00));}
    else{SetPlayerMarkerForPlayer(playerid,j,GetPlayerColor(j));}
    }
    return 1;
    }[/pwn]

    Aber nun wird nur der eigene Spieler blau markiert. Die anderen nicht.
    Siehe hier: forum.sa-mp.de/san-andreas-mul…te-nur-f%C3%BCr-lspd-fbi/
    Letzter Beitrag. ;)
    Mit freundlichen Grüßen, Ap0llinaris.

    [Blockierte Grafik: http://img6.imagebanana.com/img/lb4rwabb/newsig111.png]