Spielerposition als Textdraw spiegeln.

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
  • Hallo leute,
    ich wollte mal wissen ob das geht und wie das geht das man einen spieler der sich Pos X , Y , Z befindet als Textdraw anzeigt.


    Hier ein beispiel mit einer Grafik:



    Wie ihr set befindet sich der Spieler Links vom Desktop gesehen, und der schwarze strich von Spieler-Pos nach Draw Pos verdeutlicht was ich meine.
    Also wen sich der Spieler Link auf der Map befindet soll sich ein Textdraw aufzeichnen undzwar Links.
    Möglichst genau.



    Ist das irgendwie möglich?


    Weil für die Textdraw kann man ja nicht die Positionswerte der Map nehmen oder?



    // Edit:

    Ich habe mal etwas kreiert und brauche zum Testen einen mitspieler.
    Kann sich da jemmand bereitstellen?


    Server Infos bekommt ihr per PN


    // Edit2:
    Server Version 0.3a!


    // Edit3:
    Test abgebrochen!

    3 Mal editiert, zuletzt von AdnaN ()

  • Einfach Textdraws erstellen die aus zwei Teilen bestehen, zum einen einfach aus X: bzw Y: usw. und dahinter kommt dann der Floatwert und dann muss man dann halt updaten per Timer o.ä.

  • Das ist schwieriger.


    Ich kann ja nicht den X-Positionswert des Spielers nehmen und diesen der Variable übergeben.


    Mod s0beit hat ja auch so eine funktion das er dir auf dem Bildschirm zeigt wo sich momentan ein anderer spieler befindet.
    So möchte ich es haben.


    Nur schaff ich das im mom nicht.

  • Man formatiert einfach den oben erwähten Float der nach dem X steht mit dem entsprechendem String, ist doch ganz simpel :D

  • du machst ein textdraw mit string bsp:

    new tankstring;
    format(tankstring, sizeof(tankstring), "TANK: %d/100~n~KM/H: 0~n~MOTOR: ~r~AUS", Tankmenge[GetPlayerVehicleID(playerid)]);
    Tankanzeige[playerid] = TextDrawCreate(142.000000, 363.000000, tankstring);
    TextDrawUseBox(Tankanzeige[playerid],1);
    TextDrawBoxColor(Tankanzeige[playerid], 0x00000095);
    TextDrawFont(Tankanzeige[playerid], 1);
    TextDrawLetterSize(Tankanzeige[playerid], 0.340000,1.300000);
    TextDrawColor(Tankanzeige[playerid], 0xCCCCCCFF);
    TextDrawSetOutline(Tankanzeige[playerid], 0);
    TextDrawShowForPlayer(playerid, Tankanzeige[playerid]);
    TextDrawTextSize(Tankanzeige[playerid],242.000000,-7.000000);
    dan machste nen timer der das updaten soll
    und in dem timer public lässte den string updaten bsp:
    public TankUpdate
    {//[...]
    if(Tankmenge[GetPlayerVehicleID(i)] > 1)
    {
    format(string, sizeof(string), "TANK: %d/100~n~KM/H: %0.0f~n~MOTOR: ~g~AN", Tankmenge[GetPlayerVehicleID(i)],Num[i]);
    TextDrawSetString(Tankanzeige[i], string);
    }
    //[...]
    musste halt mit GetPlayerPos(//der id des gesuchten,usw.)machen und das per timer updaten

  • Als X / Y Wert für die Textdraws kann man nicht die der Spielerposition nehmen.


    Y Wert der TDE interessiert mich nicht der ist schon fest.
    Der X Wert der TDE den muss ich rausbekommen.


    Minimale Wert von X ist 0.0000 und der Maximale ist 626.0000, die der Spielerposition geht bis zu 28xx.0000 oder mehr.