Textdraw zu groß?

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 Morgen, ich habe ein kleines problem und zwar mit Textdraws. Ich habe gestern ein paar Coins_Shop Textdraw erstellt und anklickbar gemacht also mann kann sich auch sachen kaufen, es klappt auch alles. Aber das problem ist
    wen ich auf Fahrzeuge klicken will kommt Premium oder wen ich bei den Respektpunkten klicke kommt das Dialog aber wen ich dann im Dialog auf was klicke kommt wieder Premium. Ich denke mal das bei den Premium ihrgenwas zu groß eingestellt ist oder so. Ich wollte jetzt wissen was ich da gegen tun kann. Es verschieben oder so?


    Screen:


    Das sind die Textdraw für Premium das mit den Dollar ist das zeichen und ist nicht anklickbar. Das wo Premium steht ist anklickbar!
    Shop[3] = TextDrawCreate(178.000000, 110.000000, "Dollar");
    TextDrawBackgroundColor(Shop[3], 255);
    TextDrawFont(Shop[3], 5);
    TextDrawLetterSize(Shop[3], 0.500000, 1.000000);
    TextDrawColor(Shop[3], -1);
    TextDrawSetOutline(Shop[3], 0);
    TextDrawSetProportional(Shop[3], 1);
    TextDrawSetShadow(Shop[3], 1);
    TextDrawUseBox(Shop[3], 1);
    TextDrawBoxColor(Shop[3], 255);
    TextDrawTextSize(Shop[3], 85.000000, 84.000000);
    TextDrawSetPreviewModel(Shop[3], 1274);
    TextDrawSetPreviewRot(Shop[3], -20.000000, 2.000000, 1.000000, 2.000000);
    TextDrawSetSelectable(Shop[3], 0);


    Shop[4] = TextDrawCreate(186.000000, 116.000000, "Premium");
    TextDrawBackgroundColor(Shop[4], 255);
    TextDrawFont(Shop[4], 1);
    TextDrawLetterSize(Shop[4], 0.500000, 1.000000);
    TextDrawColor(Shop[4], -1);
    TextDrawSetOutline(Shop[4], 0);
    TextDrawSetProportional(Shop[4], 1);
    TextDrawSetShadow(Shop[4], 1);
    TextDrawSetSelectable(Shop[4], 1);


    Unter clickedid Shop4 ist das mit den Premium!
    if(clickedid == Shop[2])
    {
    ShowPlayerDialog(playerid,DIALOG_SHOP1,DIALOG_STYLE_LIST,"JRP-Coin Shop","Hotring Racer (750 Coins)\nStretch (1000 Coins)\nGolf Caddy (600 Coins)","Kaufen","Abbrechen");
    }
    else if(clickedid == Shop[4])
    {
    ShowPlayerDialog(playerid,DIALOG_SHOP2,DIALOG_STYLE_LIST,"JRP-Coin Shop","5 Tage Premium (100 Coins)\n12 Tage Premium (250 Coins)\n30 Tage Premium (500 Coins)\n50 Tage Premium (750 Coins)\n75 Tage Premium (1000 Coins)","Kaufen","Abbrechen");
    }
    else if(clickedid == Shop[6])
    {
    ShowPlayerDialog(playerid,DIALOG_SHOP3,DIALOG_STYLE_LIST,"JRP-Coin Shop","3 Respektpunkte (300 Coins)\n6 Respektpunkte (600 Coins)\n10 Respektpunkte (1000 Coins)","Kaufen","Abbrechen");
    }
    else if(clickedid == Shop[8])
    {
    ShowPlayerDialog(playerid,DIALOG_SHOP4,DIALOG_STYLE_LIST,"JRP-Coin Shop","Warn freikaufen (200 Coins)","Kaufen","Abbrechen");
    }


    Das gehört auch noch zu Premium der Dialog!
    case DIALOG_SHOP2:
    {
    CancelSelectTextDraw(playerid);
    TextDrawHideForPlayer(playerid,Shop[0]);
    TextDrawHideForPlayer(playerid,Shop[1]);
    TextDrawHideForPlayer(playerid,Shop[2]);
    TextDrawHideForPlayer(playerid,Shop[3]);
    TextDrawHideForPlayer(playerid,Shop[4]);
    TextDrawHideForPlayer(playerid,Shop[5]);
    TextDrawHideForPlayer(playerid,Shop[6]);
    TextDrawHideForPlayer(playerid,Shop[7]);
    TextDrawHideForPlayer(playerid,Shop[8]);
    TextDrawHideForPlayer(playerid,Shop[9]);
    TextDrawHideForPlayer(playerid,Shop[10]);
    if(response == 0)return 1;
    else
    {
    switch(listitem)
    {


    case 0:
    {
    if(gettime() < Spieler[playerid][pPremium])return SendClientMessage(playerid,GRAU,"Du hast noch einen Premium Status offen. Dein Premium Status muss erst ablaufen, um dir einen neuen zu kaufen!");
    if(Spieler[playerid][pCoins] < 100)return SendClientMessage(playerid,GRAU,"Du hast nicht genügend Coins (mind. 100 Coins)");
    Spieler[playerid][pPremium] = gettime() + (60*60*24*5);
    Spieler[playerid][pCoins] -= 100;
    SendClientMessage(playerid, HELLBLAU, "Vielen Dank für deine Spende! Und viel Spaß mit 5 Tagen Premium.");
    SendClientMessage(playerid,WEISS,"{00F0FF}* Was du mit dem Premium Status für Vorteile hast steht in der Allgemeinen Hilfe (/hilfe) *");
    }
    case 1:
    {
    if(gettime() < Spieler[playerid][pPremium])return SendClientMessage(playerid,GRAU,"Du hast noch einen Premium Status offen. Dein Premium Status muss erst ablaufen, um dir einen neuen zu kaufen!");
    if(Spieler[playerid][pCoins] < 250)return SendClientMessage(playerid,GRAU,"Du hast nicht genügend Coins (mind. 250 Coins)");
    Spieler[playerid][pPremium] = gettime() + (60*60*24*12);
    Spieler[playerid][pCoins] -= 250;
    SendClientMessage(playerid, HELLBLAU, "Vielen Dank für deine Spende! Und viel Spaß mit 12 Tagen Premium.");
    SendClientMessage(playerid,WEISS,"{00F0FF}* Was du mit dem Premium Status für Vorteile hast steht in der Allgemeinen Hilfe (/hilfe) *");
    }
    case 2:
    {
    if(gettime() < Spieler[playerid][pPremium])return SendClientMessage(playerid,GRAU,"Du hast noch einen Premium Status offen. Dein Premium Status muss erst ablaufen, um dir einen neuen zu kaufen!");
    if(Spieler[playerid][pCoins] < 500)return SendClientMessage(playerid,GRAU,"Du hast nicht genügend Coins (mind. 500 Coins)");
    Spieler[playerid][pPremium] = gettime() + (60*60*24*30);
    Spieler[playerid][pCoins] -= 500;
    SendClientMessage(playerid, HELLBLAU, "Vielen Dank für deine Spende! Und viel Spaß mit 30 Tagen Premium.");
    SendClientMessage(playerid,WEISS,"{00F0FF}* Was du mit dem Premium Status für Vorteile hast steht in der Allgemeinen Hilfe (/hilfe) *");
    }
    case 3:
    {
    if(gettime() < Spieler[playerid][pPremium])return SendClientMessage(playerid,GRAU,"Du hast noch einen Premium Status offen. Dein Premium Status muss erst ablaufen, um dir einen neuen zu kaufen!");
    if(Spieler[playerid][pCoins] < 750)return SendClientMessage(playerid,GRAU,"Du hast nicht genügend Coins (mind. 750 Coins)");
    Spieler[playerid][pPremium] = gettime() + (60*60*24*50);
    Spieler[playerid][pCoins] -= 750;
    SendClientMessage(playerid, HELLBLAU, "Vielen Dank für deine Spende! Und viel Spaß mit 50 Tagen Premium.");
    SendClientMessage(playerid,WEISS,"{00F0FF}* Was du mit dem Premium Status für Vorteile hast steht in der Allgemeinen Hilfe (/hilfe) *");
    }
    case 4:
    {
    if(gettime() < Spieler[playerid][pPremium])return SendClientMessage(playerid,GRAU,"Du hast noch einen Premium Status offen. Dein Premium Status muss erst ablaufen, um dir einen neuen zu kaufen!");
    if(Spieler[playerid][pCoins] < 1000)return SendClientMessage(playerid,GRAU,"Du hast nicht genügend Coins (mind. 1000 Coins)");
    Spieler[playerid][pPremium] = gettime() + (60*60*24*75);
    Spieler[playerid][pCoins] -= 1000;
    SendClientMessage(playerid, HELLBLAU, "Vielen Dank für deine Spende! Und viel Spaß mit 75 Tagen Premium.");
    SendClientMessage(playerid,WEISS,"{00F0FF}* Was du mit dem Premium Status für Vorteile hast steht in der Allgemeinen Hilfe (/hilfe) *");
    }
    }
    }
    return 1;
    }

  • Also, das Dollar-Zeichen hast du ja nicht selektierbar gemacht:
    TextDrawSetSelectable(Shop[3], 0);
    Falls man es auswählen können soll, dann musst du das zu 1 setzen.


    Bei dem Premium-Schriftzug ist es genau andersherum. Dort hast du es auf 1, also man kann es auswählen.
    Außerdem solltest du bei dem Premium Schriftzug TextDrawTextSize nutzen, falls du es selektierbar haben willst.


    Ich rate dir, mach erst mal die Schriftzüge aus dem Code raus, und teste es dann (natürlich auch bei der clickedid die Zahlen ändern!). Dann sollte es ohne Probleme klappen. Dann fügst du die Schriftzüge unselektierbar wieder ein, mit TextDrawTextSize beschränkt.