/mapmarker für Fraktionen

Wichtiger Hinweis: Bitte ändert nicht manuell die Schriftfarbe auf schwarz sondern belasst es bei der Standardeinstellung. Somit tragt ihr dazu bei dass euer Text auch bei Verwendung unseren dunklen Forenstils noch lesbar ist!

Tipp: Ihr wollt längere Codeausschnitte oder Logfiles bereitstellen? Benutzt unseren eigenen PasteBin-Dienst Link
  • Guten Tag,


    Ich bin derzeitig dabei einen Mapmarker für jede Fraktion einzufügen..
    Leider bin ich zurzeit mega am verzweifeln, weil ich nicht weiter komme und nichts richtig funktioniert..
    Zurzeit sieht mein Code nur so aus, weil ich nicht weiter komme..
    CMD:mapmarker(playerid)
    {
    if(Spieler[playerid][pFraktion] > 0)
    {
    SendClientMessage(playerid, COLOR_BLUE, "* Mapmarker wurde aktiviert.");
    SetPlayerMarkerForPlayer(playerid, pFraktion, COLOR_RED);
    }
    return 1;
    }

  • SetPlayerMarkerForPlayer( SPIELERID (DIE DIE VERÄNDERUNG SEHEN SOLL), SPIELERID (DIE, DEREN FARBE SICH ÄNDERN SOLL), FARBECODE)


    Du müsstest also einfach durch alle Spieler loppen, die Online sind + in deiner Fraktion sind, beispielsweise so:


    Code
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
    	if(!IsPlayerConnected(i) || playerInfo[i][pFraktion] != playerInfo[playerid][pFraktion]) continue;
    	SetPlayerMarkerForPlayer(playerid, i, 0xF6FF00FF);
    }

    Dadurch wären alle Fraktionsmitglieder, die zu diesem Zeitpunkt online sind, Gelb.

  • SetPlayerMarkerForPlayer( SPIELERID (DIE DIE VERÄNDERUNG SEHEN SOLL), SPIELERID (DIE, DEREN FARBE SICH ÄNDERN SOLL), FARBECODE)


    Du müsstest also einfach durch alle Spieler loppen, die Online sind + in deiner Fraktion sind, beispielsweise so:


    Code
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
    	if(!IsPlayerConnected(i) || playerInfo[i][pFraktion] != playerInfo[playerid][pFraktion]) continue;
    	SetPlayerMarkerForPlayer(playerid, i, 0xF6FF00FF);
    }

    Dadurch wären alle Fraktionsmitglieder, die zu diesem Zeitpunkt online sind, Gelb.

    Danke erstmal für die schnelle und effektive Erklärung Douq.
    Es funktioniert jetzt soweit, dass er in der Tabliste Gelb angezeigt wird, aber auf meinem Radar wird er nicht gefärbt in der richtigen Farbe .
    Sprich er soll auf meinen Radar angezeigt werden, wenn er normal auch gestreamt wird.


    Würde mir da noch jemand helfen, damit ich die in der Tabliste sehe und auf meinen Radar.


    Lg

  • Schau mal diese beiden Funktionen an


    [wiki]ShowPlayerMarkers[/wiki] [wiki]LimitPlayerMarkerRadius[/wiki] hast du die eventuell drin? Die Entfernen oder ggf. den Wünschen nach anpassen

    Wenn ich das anpasse oder entferne, dann sehen sich wieder alle Spieler auf den Radar....
    Könntest du mir ihrgendwie dabei helfen...?

  • Dann musst du irgendwo (z.B. beim Connecten) die Spieler per SetPlayerColor(playerid, 0xFFFFFF00); setzen. Dann sind alle Spieler weiß im TAB, aber auf der Karte nicht zu sehen. Vielleicht hilft dir das weiter: http://wiki.sa-mp.com/wiki/Color_list

    Funktioniert nicht... Könnte man das evt so scripten, dass wenn man joint nur diese Personen auf den Radar in ihrer Farbe angezeigt werden? Sprich es vom Server automatisch aktualisiert wird und die Fraktionen sich selbst untereinenader sehen können ohne einen Befehl zu nutzen? Und der Rest sich halt nicht sieht dann?
    Weil es per Befehl wohl nicht so funktioniert wie ich es mir vorstelle. Man sieht sich komplett überall aufn Radar...

  • Du könntest theoretisch SetPlayerMarkerForPlayer auch dafür verwenden, Spieler nicht zu markieren. Sprich alle die in der Fraktion sind machst du (z.B.) Gelb, alle anderen weiß (mit dem Alpha-Code 00). Ob das jetzt so sinnig ist, lass ich mal im Raum stehen.


    Wenn mein Ansatz, den ich oben genannt habe nicht funktioniert hat, wirst du woanders SetPlayerColor() noch verwenden, wodurch die Spieler wieder sichtbar werden.