Textdraws(Kills,Tode etc.)

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 habe vor kurzem an einem Textdraw editor gearbeitet , und nun möchte ich wo meine "Kills" stehen , dass da z.b: Kills: 1 oder Kills: 2 , also halt wieviele Kills derjenige Spieler macht.
    Und dies auch bei "Tode,Killstreak,Score" Meine Frage ist: Wie mache ich dass jetzt genau? Ich habe schon die Wiki seite über Textdraws angeschaut , aber viel hat es mir nicht geholfen..


    mFG

    Mit freundlichen Grüßen
    [KoSoVa] :klugs:

  • Hast du dein Textdraw bereits im Script eingebaut? wenn ja zeig uns den Code mal.
    Dazu am besten noch, ob und wenn ja wie du die Kills speicherst.


    Fallst du noch kein Textdraw eingebaut hast, empfehle ich dir ein Spielerbezogenes Textraw (Das kann im vergleich zum normalen Textdraw für jeden Spieler einen eigenen Wert anzeigen, also jedem einzelnen Spieler seine Kills, dazu hier ein Tutorial: [ SCRIPTING ] [TUT]Textdraws für Jeden Spieler erstellen

    Einmal editiert, zuletzt von DialogHD ()

  • Textdraw habe ich schon eingebaut , und das wie ich das speichere brauch ich euch nicht zeigen , damit habe ich mich schon gut genug auseinander gesetzt :33


    Hier der Code:


    Textdraw0 = TextDrawCreate(556.500000, 345.333435, "Information");
    TextDrawLetterSize(Textdraw0, 0.591498, 1.923555);
    TextDrawTextSize(Textdraw0, -27.000000, -115.111145);
    TextDrawAlignment(Textdraw0, 2);
    TextDrawColor(Textdraw0, 16777215);
    TextDrawSetShadow(Textdraw0, 0);
    TextDrawSetOutline(Textdraw0, -1);
    TextDrawBackgroundColor(Textdraw0, 51);
    TextDrawFont(Textdraw0, 1);
    TextDrawSetProportional(Textdraw0, 1);


    Textdraw1 = TextDrawCreate(785.500000, 360.522247, "usebox");
    TextDrawLetterSize(Textdraw1, 0.000000, 17.629011);
    TextDrawTextSize(Textdraw1, 460.500000, 0.000000);
    TextDrawAlignment(Textdraw1, 1);
    TextDrawColor(Textdraw1, 0);
    TextDrawUseBox(Textdraw1, true);
    TextDrawBoxColor(Textdraw1, 102);
    TextDrawSetShadow(Textdraw1, 0);
    TextDrawSetOutline(Textdraw1, 0);
    TextDrawFont(Textdraw1, 0);


    Textdraw2 = TextDrawCreate(466.500000, 364.000030, "Kills:");
    TextDrawLetterSize(Textdraw2, 0.449999, 1.600000);
    TextDrawAlignment(Textdraw2, 1);
    TextDrawColor(Textdraw2, -1);
    TextDrawSetShadow(Textdraw2, 0);
    TextDrawSetOutline(Textdraw2, 1);
    TextDrawBackgroundColor(Textdraw2, 51);
    TextDrawFont(Textdraw2, 2);
    TextDrawSetProportional(Textdraw2, 1);


    Textdraw3 = TextDrawCreate(466.500000, 383.288909, "Tode:");
    TextDrawLetterSize(Textdraw3, 0.449999, 1.600000);
    TextDrawAlignment(Textdraw3, 1);
    TextDrawColor(Textdraw3, -1);
    TextDrawSetShadow(Textdraw3, 0);
    TextDrawSetOutline(Textdraw3, 1);
    TextDrawBackgroundColor(Textdraw3, 51);
    TextDrawFont(Textdraw3, 2);
    TextDrawSetProportional(Textdraw3, 1);


    Textdraw4 = TextDrawCreate(467.000000, 404.444427, "Score:");
    TextDrawLetterSize(Textdraw4, 0.449999, 1.600000);
    TextDrawAlignment(Textdraw4, 1);
    TextDrawColor(Textdraw4, -1);
    TextDrawSetShadow(Textdraw4, 0);
    TextDrawSetOutline(Textdraw4, 1);
    TextDrawBackgroundColor(Textdraw4, 51);
    TextDrawFont(Textdraw4, 2);
    TextDrawSetProportional(Textdraw4, 1);


    Textdraw5 = TextDrawCreate(467.500000, 424.355621, "Killstreak:");
    TextDrawLetterSize(Textdraw5, 0.449999, 1.600000);
    TextDrawAlignment(Textdraw5, 1);
    TextDrawColor(Textdraw5, -1);
    TextDrawSetShadow(Textdraw5, 0);
    TextDrawSetOutline(Textdraw5, 1);
    TextDrawBackgroundColor(Textdraw5, 51);
    TextDrawFont(Textdraw5, 2);
    TextDrawSetProportional(Textdraw5, 1);

    Mit freundlichen Grüßen
    [KoSoVa] :klugs:

  • Dann änderst du dein Textdraw zu einem PlayerTextdraw
    new Playertext:Textdraw2[MAX_PLAYERS];

    Textdraw2[playeris] = CreatePlayerTextDraw(playerid,466.500000, 364.000030, "Kills:");
    PlayerTextDrawLetterSize(playerid,Textdraw2, 0.449999, 1.600000);
    PlayerTextDrawAlignment(playerid,Textdraw2, 1);
    PlayerTextDrawColor(playerid,Textdraw2, -1);
    PlayerTextDrawSetShadow(playerid,Textdraw2, 0);
    PlayerTextDrawSetOutline(playerid,Textdraw2, 1);
    PlayerTextDrawBackgroundColor(playerid,Textdraw2, 51);
    PlayerTextDrawFont(playerid,Textdraw2, 2);
    PlayerTextDrawSetProportional(playerid,Textdraw2, 1);
    //Hab es nicht getestet, ggf kann ich was vergessen haben^^


    Dann lässt du dein Textdraw am besten dort Updaten, wo sich die Kills aktualisieren (so ersparst du dir einen Timer^^) z.B. unter OnPlayerDeath und beim einloggen.
    Das ganze funktioniert mit PlayerTextDrawSetString
    http://wiki.sa-mp.com/wiki/PlayerTextDrawSetString


    Das prinzip ist eigendlich nicht viel anders als wie bei einer SendClientMessage mit einem string. (du must ja die Kills auslesen)


  • ich habe ungefähr 22 errors :/


    Hier :

    error 035: argument type mismatch (argument 2)
    error 035: argument type mismatch (argument 2)
    error 035: argument type mismatch (argument 2)
    error 035: argument type mismatch (argument 2)
    error 035: argument type mismatch (argument 2)
    error 017: undefined symbol "playeris"
    warning 213: tag mismatch
    error 035: argument type mismatch (argument 2)
    error 035: argument type mismatch (argument 1)
    error 035: argument type mismatch (argument 2)
    error 035: argument type mismatch (argument 2)
    error 035: argument type mismatch (argument 2)
    error 035: argument type mismatch (argument 2)
    error 035: argument type mismatch (argument 2)
    error 035: argument type mismatch (argument 2)
    error 017: undefined symbol "playeris"
    warning 213: tag mismatch
    error 035: argument type mismatch (argument 2)
    error 035: argument type mismatch (argument 2)
    error 035: argument type mismatch (argument 2)
    error 035: argument type mismatch (argument 2)
    error 035: argument type mismatch (argument 2)
    error 035: argument type mismatch (argument 2)
    error 035: argument type mismatch (argument 2)


    Das habe ich alles unter OnplayerSpawn....

    Mit freundlichen Grüßen
    [KoSoVa] :klugs:


  • //Ab hier errors:
    Textdraw2[playerid] = CreatePlayerTextDraw(playerid,466.500000, 364.000030, "Kills:");
    PlayerTextDrawLetterSize(playerid,Textdraw2, 0.449999, 1.600000);
    PlayerTextDrawAlignment(playerid,Textdraw2, 1);
    PlayerTextDrawColor(playerid,Textdraw2, -1);
    PlayerTextDrawSetShadow(playerid,Textdraw2, 0);
    PlayerTextDrawSetOutline(playerid,Textdraw2, 1);
    PlayerTextDrawBackgroundColor(playerid,Textdraw2, 51);
    PlayerTextDrawFont(playerid,Textdraw2, 2);
    PlayerTextDrawSetProportional(playerid,Textdraw2, 1);


    Textdraw3[playerid] = CreatePlayerTextDraw(playerid,466.500000, 383.288909, "Tode:");
    PlayerTextDrawLetterSize(playerid,Textdraw3, 0.449999, 1.600000);
    PlayerTextDrawAlignment(Textdraw3, 1);
    PlayerTextDrawColor(playerid,Textdraw3, -1);
    PlayerTextDrawSetShadow(playerid,Textdraw3, 0);
    PlayerTextDrawSetOutline(playerid,Textdraw3, 1);
    PlayerTextDrawBackgroundColor(playerid,Textdraw3, 51);
    PlayerTextDrawFont(playerid,Textdraw3, 2);
    PlayerTextDrawSetProportional(playerid,Textdraw3, 1);


    Textdraw4[playerid] = CreatePlayerTextDraw(playerid,467.000000, 404.444427, "Score:");
    PlayerTextDrawLetterSize(playerid,Textdraw4, 0.449999, 1.600000);
    PlayerTextDrawAlignment(playerid,Textdraw4, 1);
    PlayerTextDrawColor(playerid,Textdraw4, -1);
    PlayerTextDrawSetShadow(playerid,Textdraw4, 0);
    PlayerTextDrawSetOutline(playerid,Textdraw4, 1);
    PlayerTextDrawBackgroundColor(playerid,Textdraw4, 51);
    PlayerTextDrawFont(playerid,Textdraw4, 2);
    PlayerTextDrawSetProportional(playerid,Textdraw4, 1);


    Textdraw5[playerid] = CreatePlayerTextDraw(playerid,467.500000, 424.355621, "Killstreak:");
    PlayerTextDrawLetterSize(playerid,Textdraw5, 0.449999, 1.600000);
    PlayerTextDrawAlignment(playerid,Textdraw5, 1);
    PlayerTextDrawColor(playerid,Textdraw5, -1);
    PlayerTextDrawSetShadow(playerid,Textdraw5, 0);
    PlayerTextDrawSetOutline(playerid,Textdraw5, 1);
    PlayerTextDrawBackgroundColor(playerid,Textdraw5, 51);
    PlayerTextDrawFont(playerid,Textdraw5, 2);
    PlayerTextDrawSetProportional(playerid,Textdraw5, 1);
    TextDrawShowForPlayer(playerid,Textdraw0);
    TextDrawShowForPlayer(playerid,Textdraw1);
    TextDrawShowForPlayer(playerid,Textdraw2);
    TextDrawShowForPlayer(playerid,Textdraw3);
    TextDrawShowForPlayer(playerid,Textdraw4);
    TextDrawShowForPlayer(playerid,Textdraw5);

    hier



    neee das ist zu schwer :D ,spaß :D Ist schon fertig :D

    Mit freundlichen Grüßen
    [KoSoVa] :klugs:

  • Hier:
    Die errors:
    warning 213: tag mismatch
    warning 213: tag mismatch
    warning 213: tag mismatch
    warning 213: tag mismatch
    warning 213: tag mismatch
    warning 213: tag mismatch
    warning 213: tag mismatch
    rror 029: invalid expression, assumed zero
    warning 215: expression has no effect
    error 001: expected token: ";", but found ")"
    error 029: invalid expression, assumed zero
    fatal error 107: too many error messages on one line


    und hier der Code:


    Textdraw2[playerid] = CreatePlayerTextDraw(playerid,466.500000, 364.000030, "Kills:");
    PlayerTextDrawLetterSize(playerid,Textdraw2[playerid], 0.449999, 1.600000);
    PlayerTextDrawAlignment(playerid,Textdraw2[playerid], 1);
    PlayerTextDrawColor(playerid,Textdraw2[playerid], -1);
    PlayerTextDrawSetShadow(playerid,Textdraw2[playerid], 0);
    PlayerTextDrawSetOutline(playerid,Textdraw2[playerid], 1);
    PlayerTextDrawBackgroundColor(playerid,Textdraw2[playerid],, 51);
    PlayerTextDrawFont(playerid,Textdraw2[playerid], 2);
    PlayerTextDrawSetProportional(playerid,Textdraw2[playerid], 1);


    Textdraw3[playerid] = CreatePlayerTextDraw(playerid,466.500000, 383.288909, "Tode:");
    PlayerTextDrawLetterSize(playerid,Textdraw3[playerid], 0.449999, 1.600000);
    PlayerTextDrawAlignment(Textdraw3[playerid], 1);
    PlayerTextDrawColor(playerid,Textdraw3[playerid],, -1);
    PlayerTextDrawSetShadow(playerid,Textdraw3[playerid], 0);
    PlayerTextDrawSetOutline(playerid,Textdraw3[playerid], 1);
    PlayerTextDrawBackgroundColor(playerid,Textdraw3[playerid], 51);
    PlayerTextDrawFont(playerid,Textdraw3[playerid], 2);
    PlayerTextDrawSetProportional(playerid,Textdraw3[playerid], 1);


    Textdraw4[playerid] = CreatePlayerTextDraw(playerid,467.000000, 404.444427, "Score:");
    PlayerTextDrawLetterSize(playerid,Textdraw4[playerid], 0.449999, 1.600000);
    PlayerTextDrawAlignment(playerid,Textdraw4[playerid], 1);
    PlayerTextDrawColor(playerid,Textdraw4[playerid], -1);
    PlayerTextDrawSetShadow(playerid,Textdraw4[playerid], 0);
    PlayerTextDrawSetOutline(playerid,Textdraw4[playerid], 1);
    PlayerTextDrawBackgroundColor(playerid,Textdraw4[playerid], 51);
    PlayerTextDrawFont(playerid,Textdraw4[playerid], 2);
    PlayerTextDrawSetProportional(playerid,Textdraw4[playerid], 1);


    Textdraw5[playerid] = CreatePlayerTextDraw(playerid,467.500000, 424.355621, "Killstreak:");
    PlayerTextDrawLetterSize(playerid,Textdraw5[playerid], 0.449999, 1.600000);
    PlayerTextDrawAlignment(playerid,Textdraw5[playerid], 1);
    PlayerTextDrawColor(playerid,Textdraw5[playerid], -1);
    PlayerTextDrawSetShadow(playerid,Textdraw5[playerid], 0);
    PlayerTextDrawSetOutline(playerid,Textdraw5[playerid], 1);
    PlayerTextDrawBackgroundColor(playerid,Textdraw5[playerid], 51);
    PlayerTextDrawFont(playerid,Textdraw5[playerid], 2);
    PlayerTextDrawSetProportional(playerid,Textdraw5[playerid], 1);


    und noch eine Frage, was macht es denn für ein unterschied ? wenn es [] oder () ist?


    /EDIT: habe ausversehen zwei ",," da stehen lassen .. der eine Fehler ist dann weg , aber sonst kommt dann nur noch Tag mismatch... und anderes

    Mit freundlichen Grüßen
    [KoSoVa] :klugs:

  • Weshalb es genau so ist kann ich dir nicht beantworten^^
    Aber wenn ich mich nicht grad vertuhe wird bei variablen [ ] angewendet (du definierst es ja auch mit [ ], z.B. [MAX_PLAYERS]) und sonst (playerid) (z.B. bei einem public, wenn es falsch ist bitte verbessern).


    Notfalls erfährt man dann durch den Error, das man das falsche gewählt hat ;D

  • alles klar, ich habe nun ein bissel dran gearbeitet , die errors sind zwar weg aber sonst steht da überall: warning 213: tag mismatch


    //EDIT: Insgesamt 40 warnings , und immer "waring 213 : tag mismatch"
    ich war grad nochmal auf den Server und nur die box + Information wurde angezeigt , aber das mit Kills: ... nicht

    Mit freundlichen Grüßen
    [KoSoVa] :klugs:

    Einmal editiert, zuletzt von [GeD]Max ()

  • new Textdraw5[MAX_PLAYERS];
    zu:
    new PlayerText:Textdraw5[MAX_PLAYERS];
    (Für alle Nummern natürlich, 2/3/4/5) => EDIT: Und es ist ein großes T ... PlayerText



    Für den Rest: Code (mit Zeilenangabe) + Fehlermeldungen posten.

    3HZXdYd.png

    Einmal editiert, zuletzt von Jeffry ()


  • alles klar danke , hier noch die restlichen

    TextDrawShowForPlayer(playerid,Textdraw2[playerid]);
    TextDrawShowForPlayer(playerid,Textdraw3[playerid]);
    TextDrawShowForPlayer(playerid,Textdraw4[playerid]);
    TextDrawShowForPlayer(playerid,Textdraw5[playerid]);


    warnings:



    warning 213: tag mismatch // <- 4x mal

    Mit freundlichen Grüßen
    [KoSoVa] :klugs:

  • War mal so frei, und habe das aus Jeffry's Beitrag entnommen ;)


    Dann solltest du es aber schon passend zitieren.


    So muss es sein:
    PlayerTextDrawShow(playerid,Textdraw2[playerid]);
    PlayerTextDrawShow(playerid,Textdraw3[playerid]);
    PlayerTextDrawShow(playerid,Textdraw4[playerid]);
    PlayerTextDrawShow(playerid,Textdraw5[playerid]);