Problem mit Anklickbare Textdraw's

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
  • Moin



    Ich habe ein Problem mit meinem Anklickbaren Textdraws,
    nun also, ich habe 4 Anklickbare Textdraws für meine 4 Skins, nur das Problem ist wenn ich auf den 1ten Textdraw klicke,
    erhalte ich den Skin wie gewollt aber klicke ich auf den 2ten Textdraw erhalte ich den skin von Textdraw 1
    und klicke ich auf den Textdraw 3 erhalte ich auch diesen Skin wie gewollt, aber klicke ich jetzt auf Textdraw 4 Erhalte ich den Skin von Textdraw 3 ..



    Ich Poste euch mal meinen Code hier rein:


    public OnPlayerClickTextDraw(playerid, Text:clickedid)
    {
    if(_:clickedid != INVALID_TEXT_DRAW)
    {
    if(clickedid == LSPDSkin1Nehmen)
    {
    SetPlayerSkin(playerid,280);
    }
    else if(clickedid == LSPDSkin2Nehmen)
    {
    SetPlayerSkin(playerid,281);
    }
    else if(clickedid == LSPDSkin3Nehmen)
    {
    SetPlayerSkin(playerid,282);
    }
    else if(clickedid == LSPDSkin4Nehmen)
    {
    SetPlayerSkin(playerid,283);
    }
    if(clickedid == LSPDSkinFertig)
    {
    TextDrawHideForPlayer(playerid,LSPDSkin1);
    TextDrawHideForPlayer(playerid,LSPDSkin2);
    TextDrawHideForPlayer(playerid,LSPDSkin3);
    TextDrawHideForPlayer(playerid,LSPDSkin4);
    TextDrawHideForPlayer(playerid,LSPDSkin1Nehmen);
    TextDrawHideForPlayer(playerid,LSPDSkin2Nehmen);
    TextDrawHideForPlayer(playerid,LSPDSkin3Nehmen);
    TextDrawHideForPlayer(playerid,LSPDSkin4Nehmen);
    TextDrawHideForPlayer(playerid,LSPDSkinFertig);
    TextDrawHideForPlayer(playerid,FraktionsSkinsLSPD);
    CancelSelectTextDraw(playerid);
    }
    else if(clickedid == SeSeSkin1Nehmen)
    {
    SetPlayerSkin(playerid,17);
    }
    else if(clickedid == SeSeSkin2Nehmen)
    {
    SetPlayerSkin(playerid,164);
    }
    else if(clickedid == SeSeSkin3Nehmen)
    {
    SetPlayerSkin(playerid,163);
    }
    else if(clickedid == SeSeSkinFertig)
    {
    TextDrawHideForPlayer(playerid,SeSeSkin1);
    TextDrawHideForPlayer(playerid,SeSeSkin2);
    TextDrawHideForPlayer(playerid,SeSeSkin3);
    TextDrawHideForPlayer(playerid,SeSeSkin1Nehmen);
    TextDrawHideForPlayer(playerid,SeSeSkin2Nehmen);
    TextDrawHideForPlayer(playerid,SeSeSkin3Nehmen);
    TextDrawHideForPlayer(playerid,SeSeSkinFertig);
    TextDrawHideForPlayer(playerid,FraktionSkinsSeSe);
    CancelSelectTextDraw(playerid);
    }
    else if(clickedid == ArmySkin1Nehmen)
    {
    SetPlayerSkin(playerid,287);
    }
    else if(clickedid == ArmySkin2Nehmen)
    {
    SetPlayerSkin(playerid,191);
    }
    else if(clickedid == ArmySkin3Nehmen)
    {
    SetPlayerSkin(playerid,179);
    }
    else if(clickedid == ArmySkinFertig)
    {
    TextDrawHideForPlayer(playerid,ArmySkin1);
    TextDrawHideForPlayer(playerid,ArmySkin2);
    TextDrawHideForPlayer(playerid,ArmySkin3);
    TextDrawHideForPlayer(playerid,ArmySkin1Nehmen);
    TextDrawHideForPlayer(playerid,ArmySkin2Nehmen);
    TextDrawHideForPlayer(playerid,ArmySkin3Nehmen);
    TextDrawHideForPlayer(playerid,ArmySkinFertig);
    TextDrawHideForPlayer(playerid,FraktionSkinsArmy);
    CancelSelectTextDraw(playerid);
    }
    }
    return 1;
    }




    Hoffe ihr könnt mir weiter helfen




    Grüße




    edit: das Thema bezieht sich nur auf den "LSPD Textdraws"

  • Du musst mit TextDrawTextSize arbeiten, und damit den auswahlbereich makieren, Beispiel:


    TextDrawTextSize(Textdraw, 126.095288, 10.0);


    musst du bisschen rumprobieren, also x ist die länge von rechts nach links,
    y die Höhe, sprich mit der Funktion kannst du einstellen, wo man klicken muss, damit die Funktion ausgeführt wird.


    mfg :thumbup:


    //edit: wenn du es nicht hinbekommst, mach nen screen wo man das Textdraw sieht, und ich mach dir das

  • Bei den anderen 2 Fraktionen funktioniert es auch perfekt, nur bei meiner jetzigen Fraktion nicht ( LSPD )...



    hier mal der OnGameModeInit Code:


    FraktionsSkinsLSPD = TextDrawCreate(595.000000, 117.000000, "Skins");
    TextDrawBackgroundColor(FraktionsSkinsLSPD, 255);
    TextDrawFont(FraktionsSkinsLSPD, 0);
    TextDrawLetterSize(FraktionsSkinsLSPD, 0.429998, 2.199999);
    TextDrawColor(FraktionsSkinsLSPD, -2018523137);
    TextDrawSetOutline(FraktionsSkinsLSPD, 1);
    TextDrawSetProportional(FraktionsSkinsLSPD, 1);
    TextDrawSetSelectable(FraktionsSkinsLSPD, false);


    LSPDSkin1 = TextDrawCreate(575.000000, 135.000000, "LSPDSkin1");
    TextDrawBackgroundColor(LSPDSkin1, 255);
    TextDrawFont(LSPDSkin1, 5);
    TextDrawLetterSize(LSPDSkin1, 0.479999, -0.600000);
    TextDrawColor(LSPDSkin1, -1);
    TextDrawSetOutline(LSPDSkin1, 0);
    TextDrawSetProportional(LSPDSkin1, 1);
    TextDrawSetShadow(LSPDSkin1, 1);
    TextDrawUseBox(LSPDSkin1, 1);
    TextDrawBoxColor(LSPDSkin1, 356868387);
    TextDrawTextSize(LSPDSkin1, 65.000000, 65.000000);
    TextDrawSetPreviewModel(LSPDSkin1, 179);
    TextDrawSetSelectable(LSPDSkin1, false);


    LSPDSkin2 = TextDrawCreate(575.000000, 200.000000, "LSPDSkin2");
    TextDrawBackgroundColor(LSPDSkin2, 255);
    TextDrawFont(LSPDSkin2, 5);
    TextDrawLetterSize(LSPDSkin2, 0.479999, -0.600000);
    TextDrawColor(LSPDSkin2, -1);
    TextDrawSetOutline(LSPDSkin2, 0);
    TextDrawSetProportional(LSPDSkin2, 1);
    TextDrawSetShadow(LSPDSkin2, 1);
    TextDrawUseBox(LSPDSkin2, 1);
    TextDrawBoxColor(LSPDSkin2, 255);
    TextDrawTextSize(LSPDSkin2, 65.000000, 65.000000);
    TextDrawSetPreviewModel(LSPDSkin2, 179);
    TextDrawSetSelectable(LSPDSkin2, false);


    LSPDSkin3 = TextDrawCreate(575.000000, 265.000000, "LSPDSkin3");
    TextDrawBackgroundColor(LSPDSkin3, 255);
    TextDrawFont(LSPDSkin3, 5);
    TextDrawLetterSize(LSPDSkin3, 0.479999, -0.600000);
    TextDrawColor(LSPDSkin3, -1);
    TextDrawSetOutline(LSPDSkin3, 0);
    TextDrawSetProportional(LSPDSkin3, 1);
    TextDrawSetShadow(LSPDSkin3, 1);
    TextDrawUseBox(LSPDSkin3, 1);
    TextDrawBoxColor(LSPDSkin3, -1);
    TextDrawTextSize(LSPDSkin3, 65.000000, 65.000000);
    TextDrawSetPreviewModel(LSPDSkin3, 179);
    TextDrawSetSelectable(LSPDSkin3, false);


    LSPDSkin4 = TextDrawCreate(575.000000, 330.000000, "LSPDSkin4");
    TextDrawBackgroundColor(LSPDSkin4, 255);
    TextDrawFont(LSPDSkin4, 5);
    TextDrawLetterSize(LSPDSkin4, 0.500000, 1.000000);
    TextDrawColor(LSPDSkin4, -1);
    TextDrawSetOutline(LSPDSkin4, 0);
    TextDrawSetProportional(LSPDSkin4, 1);
    TextDrawSetShadow(LSPDSkin4, 1);
    TextDrawUseBox(LSPDSkin4, 1);
    TextDrawBoxColor(LSPDSkin4, 255);
    TextDrawTextSize(LSPDSkin4, 72.000000, 68.000000);
    TextDrawSetPreviewModel(LSPDSkin4, 179);
    TextDrawSetSelectable(LSPDSkin4, false);


    LSPDSkin1Nehmen = TextDrawCreate(532.000000, 202.000000, "Auswahl");
    TextDrawBackgroundColor(LSPDSkin1Nehmen, 255);
    TextDrawFont(LSPDSkin1Nehmen, 0);
    TextDrawLetterSize(LSPDSkin1Nehmen, 0.389999, 1.299999);
    TextDrawColor(LSPDSkin1Nehmen, -1);
    TextDrawSetOutline(LSPDSkin1Nehmen, 1);
    TextDrawSetProportional(LSPDSkin1Nehmen, 1);
    TextDrawSetSelectable(LSPDSkin1Nehmen, true);


    LSPDSkin2Nehmen = TextDrawCreate(532.000000, 143.000000, "Auswahl");
    TextDrawBackgroundColor(LSPDSkin2Nehmen, 255);
    TextDrawFont(LSPDSkin2Nehmen, 0);
    TextDrawLetterSize(LSPDSkin2Nehmen, 0.389999, 1.299999);
    TextDrawColor(LSPDSkin2Nehmen, -1);
    TextDrawSetOutline(LSPDSkin2Nehmen, 1);
    TextDrawSetProportional(LSPDSkin2Nehmen, 1);
    TextDrawSetSelectable(LSPDSkin2Nehmen, true);


    LSPDSkin3Nehmen = TextDrawCreate(532.000000, 329.000000, "Auswahl");
    TextDrawBackgroundColor(LSPDSkin3Nehmen, 255);
    TextDrawFont(LSPDSkin3Nehmen, 0);
    TextDrawLetterSize(LSPDSkin3Nehmen, 0.389999, 1.299999);
    TextDrawColor(LSPDSkin3Nehmen, -1);
    TextDrawSetOutline(LSPDSkin3Nehmen, 1);
    TextDrawSetProportional(LSPDSkin3Nehmen, 1);
    TextDrawSetSelectable(LSPDSkin3Nehmen, true);


    LSPDSkin4Nehmen = TextDrawCreate(532.000000, 266.000000, "Auswahl");
    TextDrawBackgroundColor(LSPDSkin4Nehmen, 255);
    TextDrawFont(LSPDSkin4Nehmen, 0);
    TextDrawLetterSize(LSPDSkin4Nehmen, 0.389999, 1.299999);
    TextDrawColor(LSPDSkin4Nehmen, -1);
    TextDrawSetOutline(LSPDSkin4Nehmen, 1);
    TextDrawSetProportional(LSPDSkin4Nehmen, 1);
    TextDrawSetSelectable(LSPDSkin4Nehmen, true);


    LSPDSkinFertig = TextDrawCreate(591.000000, 396.000000, "Beenden");
    TextDrawBackgroundColor(LSPDSkinFertig, 255);
    TextDrawFont(LSPDSkinFertig, 0);
    TextDrawLetterSize(LSPDSkinFertig, 0.429998, 2.299998);
    TextDrawColor(LSPDSkinFertig, -2018523137);
    TextDrawSetOutline(LSPDSkinFertig, 1);
    TextDrawSetProportional(LSPDSkinFertig, 1);
    TextDrawSetSelectable(LSPDSkinFertig, true);

  • Trag das mal ein, falls der schon bei dem Buchstaben "h" von "Auswahl" aufhört, probier einfach nen bisschen und mach aus 65.0, 68.0 oder so
    TextDrawTextSize(LSPDSkin1Nehmen, 65.0, 9.0);
    TextDrawTextSize(LSPDSkin2Nehmen, 65.0, 9.0);
    TextDrawTextSize(LSPDSkin3Nehmen, 65.0, 9.0);
    TextDrawTextSize(LSPDSkin4Nehmen, 65.0, 9.0);


    //edit: Equ: Wenns funktioniert, melde dich mal

    Einmal editiert, zuletzt von firestormZ ()

  • Nope wenn ich das einfüge was du mir geschickt hast, werden die ersten 2 nicht mehr angzeigt und die anderen 2 funktionieren garnicht mehr ..


    Aber eigentlich muss das so gehen wie es ist, denn wenn man sich Diesen Code mal anschauen tut, ist dort nichts anderes bis auf die Texte halt also ( ArmySkin1 usw ) und es funktioniert perfekt, warum dann nicht der LSPD Textdraw..:



    // => Army Textdraws ( Skin - System)
    FraktionSkinsArmy = TextDrawCreate(595.000000, 117.000000, "Skins");
    TextDrawBackgroundColor(FraktionSkinsArmy, 255);
    TextDrawFont(FraktionSkinsArmy, 0);
    TextDrawLetterSize(FraktionSkinsArmy, 0.429998, 2.199999);
    TextDrawColor(FraktionSkinsArmy, -2018523137);
    TextDrawSetOutline(FraktionSkinsArmy, 1);
    TextDrawSetProportional(FraktionSkinsArmy, 1);
    TextDrawSetSelectable(FraktionSkinsArmy, false);


    ArmySkin1 = TextDrawCreate(575.000000, 135.000000, "ArmySkin1");
    TextDrawBackgroundColor(ArmySkin1, 255);
    TextDrawFont(ArmySkin1, 5);
    TextDrawLetterSize(ArmySkin1, 0.479999, -0.600000);
    TextDrawColor(ArmySkin1, -1);
    TextDrawSetOutline(ArmySkin1, 0);
    TextDrawSetProportional(ArmySkin1, 1);
    TextDrawSetShadow(ArmySkin1, 1);
    TextDrawUseBox(ArmySkin1, 1);
    TextDrawBoxColor(ArmySkin1, 356868387);
    TextDrawTextSize(ArmySkin1, 65.000000, 65.000000);
    TextDrawSetPreviewModel(ArmySkin1, 287);
    TextDrawSetSelectable(ArmySkin1, false);


    ArmySkin2 = TextDrawCreate(575.000000, 200.000000, "ArmySkin2");
    TextDrawBackgroundColor(ArmySkin2, 255);
    TextDrawFont(ArmySkin2, 5);
    TextDrawLetterSize(ArmySkin2, 0.479999, -0.600000);
    TextDrawColor(ArmySkin2, -1);
    TextDrawSetOutline(ArmySkin2, 0);
    TextDrawSetProportional(ArmySkin2, 1);
    TextDrawSetShadow(ArmySkin2, 1);
    TextDrawUseBox(ArmySkin2, 1);
    TextDrawBoxColor(ArmySkin2, 255);
    TextDrawTextSize(ArmySkin2, 65.000000, 65.000000);
    TextDrawSetPreviewModel(ArmySkin2, 191);
    TextDrawSetSelectable(ArmySkin2, false);


    ArmySkin3 = TextDrawCreate(575.000000, 265.000000, "ArmySkin3");
    TextDrawBackgroundColor(ArmySkin3, 255);
    TextDrawFont(ArmySkin3, 5);
    TextDrawLetterSize(ArmySkin3, 0.479999, -0.600000);
    TextDrawColor(ArmySkin3, -1);
    TextDrawSetOutline(ArmySkin3, 0);
    TextDrawSetProportional(ArmySkin3, 1);
    TextDrawSetShadow(ArmySkin3, 1);
    TextDrawUseBox(ArmySkin3, 1);
    TextDrawBoxColor(ArmySkin3, -1);
    TextDrawTextSize(ArmySkin3, 65.000000, 65.000000);
    TextDrawSetPreviewModel(ArmySkin3, 179);
    TextDrawSetSelectable(ArmySkin3, false);


    ArmySkin1Nehmen = TextDrawCreate(532.000000, 143.000000, "Auswahl");
    TextDrawBackgroundColor(ArmySkin1Nehmen, 255);
    TextDrawFont(ArmySkin1Nehmen, 0);
    TextDrawLetterSize(ArmySkin1Nehmen, 0.389999, 1.300000);
    TextDrawColor(ArmySkin1Nehmen, -1);
    TextDrawSetOutline(ArmySkin1Nehmen, 1);
    TextDrawSetProportional(ArmySkin1Nehmen, 1);
    TextDrawSetSelectable(ArmySkin1Nehmen, true);

    ArmySkin2Nehmen = TextDrawCreate(532.000000, 208.000000, "Auswahl");
    TextDrawBackgroundColor(ArmySkin2Nehmen, 255);
    TextDrawFont(ArmySkin2Nehmen, 0);
    TextDrawLetterSize(ArmySkin2Nehmen, 0.389999, 1.300000);
    TextDrawColor(ArmySkin2Nehmen, -1);
    TextDrawSetOutline(ArmySkin2Nehmen, 1);
    TextDrawSetProportional(ArmySkin2Nehmen, 1);
    TextDrawSetSelectable(ArmySkin2Nehmen, true);


    ArmySkin3Nehmen = TextDrawCreate(532.000000, 266.000000, "Auswahl");
    TextDrawBackgroundColor(ArmySkin3Nehmen, 255);
    TextDrawFont(ArmySkin3Nehmen, 0);
    TextDrawLetterSize(ArmySkin3Nehmen, 0.389999, 1.300000);
    TextDrawColor(ArmySkin3Nehmen, -1);
    TextDrawSetOutline(ArmySkin3Nehmen, 1);
    TextDrawSetProportional(ArmySkin3Nehmen, 1);
    TextDrawSetSelectable(ArmySkin3Nehmen, true);


    ArmySkinFertig = TextDrawCreate(591.000000, 330.000000, "Beenden");
    TextDrawBackgroundColor(ArmySkinFertig, 255);
    TextDrawFont(ArmySkinFertig, 0);
    TextDrawLetterSize(ArmySkinFertig, 0.429999, 2.299998);
    TextDrawColor(ArmySkinFertig, -2018523137);
    TextDrawSetOutline(ArmySkinFertig, 1);
    TextDrawSetProportional(ArmySkinFertig, 1);
    TextDrawSetSelectable(ArmySkinFertig, true);