Textdraw Problem

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 Taag ihr breadfishe :D


    Ich habe im moment ein kleines problem es handelt um eine Textdraw die String behinhalten soll, also er soll etwas abfragen in diesen Falle Getplayerrank und es halt als Textdrawtext ausgeben werden. Jedoch ist das problem das ich etweder das falsch mache oder etwas definieren muss.


    Textdraw:
    Rank = TextDrawCreate(400.000000, 325.000000, "" ,GetRankName(pRank));
    TextDrawBackgroundColor(Rank, 255);
    TextDrawFont(Rank, 2);
    TextDrawLetterSize(Rank, 0.300000, 1.900000);
    TextDrawColor(Rank, -1);
    TextDrawSetOutline(Rank, 1);
    TextDrawSetProportional(Rank, 1);


    GetRankName:
    stock GetRankName(playerid)
    {
    new str[64];
    if (PlayerInfo[playerid][pRank] == 1) str = ("Private First Class");
    if (PlayerInfo[playerid][pRank] == 2) str = ("Lance Corporal");
    if (PlayerInfo[playerid][pRank] == 3) str = ("Corporal");
    if (PlayerInfo[playerid][pRank] == 4) str = ("Sergeant");
    if (PlayerInfo[playerid][pRank] == 5) str = ("Staff Sergeant");
    if (PlayerInfo[playerid][pRank] == 6) str = ("Gunnery Sergeant");
    if (PlayerInfo[playerid][pRank] == 7) str = ("Master Sergeant");
    if (PlayerInfo[playerid][pRank] == 8) str = ("Second Lieutenant");
    if (PlayerInfo[playerid][pRank] == 9) str = ("First Lieutenant");
    if (PlayerInfo[playerid][pRank] == 10) str = ("First Lieutenant");
    if (PlayerInfo[playerid][pRank] == 11) str = ("Captain");
    if (PlayerInfo[playerid][pRank] == 12) str = ("Major");
    if (PlayerInfo[playerid][pRank] == 13) str = ("Lieutenant Colonel");
    if (PlayerInfo[playerid][pRank] == 14) str = ("Colonel");
    if (PlayerInfo[playerid][pRank] == 15) str = ("Brigadier General");
    if (PlayerInfo[playerid][pRank] == 16) str = ("Major General");
    if (PlayerInfo[playerid][pRank] == 17) str = ("Lieutenant General");
    if (PlayerInfo[playerid][pRank] == 18) str = ("General");
    return str;
    }


    PS: Habe versucht als Textdrawtext %s anzugeben aber dann erscheint nur %s mehr auch nicht aber es sollte aber eine der Ränge da stehen.



    Ich hoffe ihr könnt mir helfen, Peace!


    MfG
    MasterDeluxe

  • format(string,sizeof(string),"%s",GetRankName(pRank)); Rank = TextDrawCreate(400.000000, 325.000000,string);



    Nun sind diese Errors vohanden :O

  • Eine Möglichkeit:



    new RankNames[][] {
    "None", "Private First Class", "Lance Corporal", // ...
    }


    Rank = TextDrawCreate(); // ...


    stock GetRankName(playerid) {
    return RankNames[PlayerInfo[playerid][pRank];
    }