/orten

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 Abend , Community von Breadfish.


    Ich hätte da eine Frage als Cop /orten muss man dauer machen damit man denn Verbrecher finden kann.


    Ich wollte fragen wie das geht , wenn er sich bewegt und der Marker mit ihn bewegt.



    Viel dank schon mal,


    #derbefehlsiehtsoaus



    if(strcmp(cmd, "/orten", true) == 0)
    {
    if(IsPlayerConnected(playerid))
    {
    if(!IsACop(playerid))
    {
    SendClientMessage(playerid, COLOR_GREY, "Du bist kein Polizist!");
    return 1;
    }
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid, COLOR_GRAD2, "Benutzung: /orten [Spieler ID]");
    return 1;
    }
    giveplayerid = ReturnUser(tmp);
    if(IsPlayerConnected(giveplayerid))
    {
    if(giveplayerid != INVALID_PLAYER_ID)
    {
    if(PhoneOnline[giveplayerid] == 1)
    {
    SendClientMessage(playerid, COLOR_GRAD2, "Der Spieler hat sein Handy aus!");
    return 1;
    }
    else if(WantedPoints[giveplayerid] < 0)
    {
    SendClientMessage(playerid, COLOR_YELLOW, "Spieler wurde auf der Map Markiert!");
    return 1;
    }
    else
    {
    new Float:X,Float:Y,Float:Z;
    GetPlayerPos(giveplayerid, X,Y,Z);
    SetPlayerCheckpoint(playerid, X,Y,Z, 6);
    return 1;
    }
    }
    }
    else
    {
    SendClientMessage(playerid, COLOR_GREY, "Du hast jemanden georten!");
    return 1;
    }
    }
    else
    {
    SendClientMessage(playerid, COLOR_GREY, "Falsche ID!");
    }
    return 1;
    }

  • Ich wollte fragen wie das geht , wenn er sich bewegt und der Marker mit ihn bewegt.


    Ich denke mal, das Simpelste wäre, einen Timer laufen zu lassen, der jede 2-5 Sekunden den Marker der Person aktualisiert bzw. neu setzen lässt.


    Beispiel:

    forward OrtenTimer();

    //Im Befehl
    SetTimer("OrtenTimer",2000,true); //2000 = 2 Sekunden


    //Im Befehl eine Variable für die Position erstellen und Zwischenspeichern lassen
    new Float:x, Float:y, Float:z;
    GetPlayerPos(giveplayerid,x,y,z);
    SetPVarFloat(playerid,"OrtenX",x);
    SetPVarFloat(playerid,"OrtenY",y);
    SetPVarFloat(playerid,"OrtenZ",z);


    //Unten im Script
    public OrtenTimer()
    {
    SetPlayerCheckpoint(playerid, GetPVarFloat(playerid,"OrtenX"), GetPVarFloat(playerid,"OrtenY"), GetPVarFloat(playerid,"OrtenZ"), 5.0);
    return 1;
    }

  • SetPlayerMarkerForPlayer(SPIELER DER DEN MARKER ANGEZEIGT BEKOMMT,SPIELER DESSEN FARBE GEÄNDERT WIRD,FARBE);


    Um das jedoch nutzen zu können solltest du bei OnGameModeInit folgendes machen:


    ShowPlayerMarkers(1);


    Du kannst anstatt der 1 auch andere Zahlen mit folgender Bedeutung eintragen:


    0 = OFF ---> Marker werden nicht angezeugt
    1 = GLOBAL ---> Die Marker werden Global (egal wo sich der Spieler befindet) angezeigt
    2 = Streamed --> Die Marker werden nur angezeigt, sobald sich der Spieler in der Nähe eines anderen befindet.


    Die Stream-Range kann individuell eingestellt werden!

    Meine Werke