Hilfe bei Textdraws

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 ich will bei den text draws haben da wo bei kills 0 steht steigt wenn man ein killt und bei tode soll das steigen wenn man stierbt


    aber ich weiß nicht wie ich das machen soll
    Textdraw0 = TextDrawCreate(523.000000, 125.000000, "Kills");
    TextDrawAlignment(Textdraw0, 3);
    TextDrawBackgroundColor(Textdraw0, 255);
    TextDrawFont(Textdraw0, 3);
    TextDrawLetterSize(Textdraw0, 0.309996, 1.200000);
    TextDrawColor(Textdraw0, 16711935);
    TextDrawSetOutline(Textdraw0, 0);
    TextDrawSetProportional(Textdraw0, 0);
    TextDrawSetShadow(Textdraw0, 2);


    Textdraw1 = TextDrawCreate(491.000000, 118.000000, "----------------");
    TextDrawBackgroundColor(Textdraw1, 255);
    TextDrawFont(Textdraw1, 1);
    TextDrawLetterSize(Textdraw1, 0.500000, 1.000000);
    TextDrawColor(Textdraw1, -1);
    TextDrawSetOutline(Textdraw1, 0);
    TextDrawSetProportional(Textdraw1, 1);
    TextDrawSetShadow(Textdraw1, 1);


    Textdraw2 = TextDrawCreate(492.000000, 134.000000, "----------------");
    TextDrawBackgroundColor(Textdraw2, 255);
    TextDrawFont(Textdraw2, 1);
    TextDrawLetterSize(Textdraw2, 0.500000, 1.000000);
    TextDrawColor(Textdraw2, -1);
    TextDrawSetOutline(Textdraw2, 0);
    TextDrawSetProportional(Textdraw2, 1);
    TextDrawSetShadow(Textdraw2, 1);


    Textdraw3 = TextDrawCreate(553.000000, 127.000000, "0"); //<---- hir soll das steigen wenn man killt
    TextDrawBackgroundColor(Textdraw3, 255);
    TextDrawFont(Textdraw3, 1);
    TextDrawLetterSize(Textdraw3, 0.569998, 1.000000);
    TextDrawColor(Textdraw3, -16776961);
    TextDrawSetOutline(Textdraw3, 0);
    TextDrawSetProportional(Textdraw3, 0);
    TextDrawSetShadow(Textdraw3, 2);
    TextDrawUseBox(Textdraw3, 1);
    TextDrawBoxColor(Textdraw3, 255);
    TextDrawTextSize(Textdraw3, 601.000000, -110.000000);


    Textdraw4 = TextDrawCreate(493.000000, 143.000000, "Tode");
    TextDrawBackgroundColor(Textdraw4, 255);
    TextDrawFont(Textdraw4, 1);
    TextDrawLetterSize(Textdraw4, 0.400000, 1.000000);
    TextDrawColor(Textdraw4, 16711935);
    TextDrawSetOutline(Textdraw4, 0);
    TextDrawSetProportional(Textdraw4, 1);
    TextDrawSetShadow(Textdraw4, 1);


    Textdraw5 = TextDrawCreate(553.000000, 143.000000, "0"); //<--- soll das steigen wenn man stirbt
    TextDrawBackgroundColor(Textdraw5, 255);
    TextDrawFont(Textdraw5, 1);
    TextDrawLetterSize(Textdraw5, 0.599999, 1.000000);
    TextDrawColor(Textdraw5, -16776961);
    TextDrawSetOutline(Textdraw5, 0);
    TextDrawSetProportional(Textdraw5, 1);
    TextDrawSetShadow(Textdraw5, 1);
    TextDrawUseBox(Textdraw5, 1);
    TextDrawBoxColor(Textdraw5, 255);
    TextDrawTextSize(Textdraw5, 602.000000, 0.000000);

    wärte nett wen ihr mir helfen könntet

  • Erstmal, nutz PlayerTextDraws für die Werte, die sich für alle Spieler unterschiedlich ändern sollen.


    Die Werte, die CreatePlayerTextDraw ausgeben, musst du in Variablen schreiben.
    Für die Kills und Deaths der Spieler musst du auch Variablen erstellen.


    In OnPlayerDeath setzt du die Todesvariable von playerid um 1 hoch.
    Das gleiche machst du mit der Killvariable von killerid.
    Dann kannst du mit PlayerTextDrawSetString, die TextDraws aktualisieren.

  • Gut, ich wollte dir ja per PN helfen, aber du wolltest anscheinend nicht.
    Die Gründe dafür stehen ja bereits in der PN.


    Als erstes musst du die TextDraws für jeden Spieler erstellen (CreatePlayerTextDraw, usw. (Wiki))
    Dann erstellst du einen Timer, der jede Sekunde die Tode & Kills abfragt, und diese dann per PlayerTextDrawSetString setzt.

  • Zuerst schaust du dir diese Funktion an: http://wiki.sa-mp.com/wiki/CreatePlayerTextDraw_DE
    Wenn du auf den Link gehst, und etwas weiter nach unten scrollst, dann wirst du die anderen passenden Funktionen dafür finden.
    Diese ersetzt du mit dein Jetzigen: TextDrawCreate zu CreatePlayerTextDraw


    Danach erstellst du einen Timer unter OnGameModeInit.
    Diesen wirst du dann auch forwarden müssen.
    Ein Callback / public wirst du auch erstellen müssen.
    In diesem Callback / public fragst du mit http://wiki.sa-mp.com/wiki/Format die Kills und die Tode ab.
    Diese musst du dann mit http://wiki.sa-mp.com/wiki/PlayerTextDrawSetString den TextDraw zuweisen, also den String.


    Danach ist es fertig, und müsstest es vielleicht noch einmal bei OnPlayerConnect abrufen und laden lassen (bzw. anzeigen lassen), damit er es beim Connecten auch sehen wird ;)


    Bei weiteren Fragen darfst du dich gerne melden!