Wanted Bug

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
  • Wie kann ich es machen, das wenn ein Cop einen killt keine Wanteds bekommt, aber wenn ein andere, also alle ausser Cop soll 2 Wanteds beim Kill bekommen, wenn die also einen killen = 2 Wanteds an die Killerid.


    Und wie kann ich machen, dass wenn ein Typ Wanteds hat, das über seinen Kopf ein Textdraw steht mit der Wantedanzahl, die soll aber nur für Cops sein.
    Cop hab ich schon definiert ist:


    IsACop

  • Unter
    public OnPlayerDeath(playerid, killerid, reason)


    if(Spieler[killerid][fraktion] != 2) // Die 2 ist in meinem Fall die Fraktion "Polizei". Die Zeile bedeutet: ist(Der Spieler [der jemanden getötet hat][und von diesem Spieler die Fraktion] nicht gleich 2.
    {//Ist der Spieler also nicht in Fraktion 2
    if(Spieler[killerid][wanteds] >= 12) // Und hat der Spieler auch keine 12 Wanteds
    {
    Spieler[killerid][wanteds] = 12;
    SetPlayerWantedLevel(killerid,6);
    }
    else
    {
    SetPlayerWantedLevel(killerid,GetPlayerWantedLevel(killerid) + 1); //Bekommt der Spieler 2 Wanteds
    Spieler[killerid][wanteds] +=2;
    }
    Ich habe "SetPlayerWantedLevel" mit benutzt um mir oben unter dem Geld (also IG) die Sterne anzeigen zu lassen. Da dies aber nur bis 6 geht und mir das zu wenig ist habe ich im Spieler enum eine Variable für das Wantedlevel. Diese geht ,wie gezeigt, bis 12.


    Wie genau du die Fraktion in deinem Script abfragst weiß ich nicht aber hier müsstest du nur die Fraktionsabfrage ändern und Irgendwie eine Spieler bezogene Variable für die Wanteds hinzufügen, was aber nicht zwingend erforderlich ist.


    Mit dem Textdraw über dem Kopf bin ich mir selbst nicht 100%tig sicher deswegen äußer ich mich nicht dazu um keine Verwirrung zu stiften.


    MfG Lou

  • Oben im Script:



    new Text3D:Wanted[MAX_PLAYERS];


    OnPlayerSpawn:





    if(GetPlayerWantedLevel(playerid) > 0)
    {
    new string[64];
    format(string,sizeof(string),"Wantedlevel: %d",GetPlayerWantedLevel(playerid));
    Wanted[playerid] = Create3DTextLabel(string,ROT,30.0,40.0,50.0,40.0,0);
    Attach3DTextLabelToPlayer(Wanted[playerid], playerid, 0.0, 0.0, 0.4);
    }




    MfG


    Black

  • Na dann^^


    Hier der Code:


    OnPlayerDeath



    WantedLevel[killerid] += 2;
    SendClientMessage(killerid, COLOR_LIGHTRED,"Du hast ein Verbrechen begangen: Vorsätzlicher Mord, Zeuge: Unbekannt");
    format(string,sizeof(string),"*Vergebene Wanteds: 2, Aktuelles WantedLevel: %d", WantedLevel[killerid]);
    SendClientMessage(killerid,COLOR_YELLOW, string);
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
    if(IsPlayerConnected(i))
    {
    if(IsACop(i))
    {
    new vorfall[128];
    format(vorfall, sizeof(vorfall), "HQ: Alle Einheiten: Reporter: Unbekannt");
    SendClientMessage(i, TEAM_BLUE_COLOR, vorfall);
    format(vorfall, sizeof(vorfall), "HQ: Verbrechen: %s, Gesuchter: %s","Vorsätzlicher Mord",killername);
    SendClientMessage(i, TEAM_BLUE_COLOR, vorfall);
    }
    }
    }

  • Das soll nur für Cops sichtbar sein.


    Bei dem sollen die Cops kein Wanted bekommen, sonst danke!


  • if (!IsACop(killerid))
    {
    new killername[MAX_PLAYER_NAME];
    GetPlayerName(killerid,killername,sizeof(killername));
    GetPlayerZoneID(killerid);
    WantedLevel[killerid] += 2;
    SendClientMessage(killerid, COLOR_LIGHTRED,"Du hast ein Verbrechen begangen: Vorsätzlicher Mord, Zeuge: Unbekannt");
    format(string,sizeof(string),"*Vergebene Wanteds: 2, Aktuelles WantedLevel: %d", WantedLevel[killerid]);
    SendClientMessage(killerid,COLOR_YELLOW, string);
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
    if(IsPlayerConnected(i))
    {
    if(IsACop(i))
    {
    new vorfall[128];
    format(vorfall, sizeof(vorfall), "HQ: Alle Einheiten: Reporter: Unbekannt");
    SendClientMessage(i, TEAM_BLUE_COLOR, vorfall);
    format(vorfall, sizeof(vorfall), "HQ: Verbrechen: %s, Gesuchter: %s","Vorsätzlicher Mord",killername);
    SendClientMessage(i, TEAM_BLUE_COLOR, vorfall);


    }
    }
    }
    }


    So sollts gehen^^



    Zu dem 3DText: da weiß ich leider auch nicht wie man das macht das das nur für bestimmte Spieler sichtbar ist.