Problem mit anklickbaren TextDraws und Skinauswahl

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 eine Frage: Und zwar wenn ich auf Weiter klicke,
    wechselt er nur einmal den Skin, dann kann ich so oft auf Weiter
    klicken wie ich will und es kommt immer wieder der gleiche Skin.
    Das selbe gilt auch für den Zurück Textdraw. Das heißt ich kann nur zwischen
    2 Skins auswählen, auf den 3. komme ich gar nicht und ich kann wie gesagt
    nur einmal auf Weiter klicken und einmal auf Zurück, dann bleiben die Skins gleich.


    Der Code

    new Terrorskins[3][1] =
    {
    {220},
    {221},
    {222}
    };
    new LSPDskins[3][1] =
    {
    {265},
    {266},
    {267}
    };


    new Text:SkinauswahlWeiter;
    new Text:SkinauswahlZurueck;
    new Text:SkinauswahlFertig;


    public OnPlayerClickTextDraw(playerid, Text:clickedid)
    {
    //Skinauswahl
    if(clickedid == SkinauswahlWeiter)
    {
    // Zivilist
    if(Spieler[playerid][g_TEAM] == 900)
    {
    if(GetPlayerSkin(playerid) == 0){ SetPlayerSkin(playerid,0);}
    }
    // Ls Polizei
    if(Spieler[playerid][g_TEAM] == 901)
    {
    if(GetPlayerSkin(playerid) == LSPDskins[0][0]){ SetPlayerSkin(playerid,LSPDskins[1][0]);}
    if(GetPlayerSkin(playerid) == LSPDskins[1][0]){ SetPlayerSkin(playerid,LSPDskins[2][0]);}
    if(GetPlayerSkin(playerid) == LSPDskins[2][0]){ SetPlayerSkin(playerid,LSPDskins[0][0]);}
    }
    // Terroristen
    if(Spieler[playerid][g_TEAM] == 902)
    {
    if(GetPlayerSkin(playerid) == Terrorskins[0][0]){ SetPlayerSkin(playerid,Terrorskins[1][0]);}
    if(GetPlayerSkin(playerid) == Terrorskins[1][0]){ SetPlayerSkin(playerid,Terrorskins[2][0]);}
    if(GetPlayerSkin(playerid) == Terrorskins[2][0]){ SetPlayerSkin(playerid,Terrorskins[0][0]);}
    }
    }
    if(clickedid == SkinauswahlZurueck)
    {
    // Zivilist
    if(Spieler[playerid][g_TEAM] == 900)
    {
    if(GetPlayerSkin(playerid) == 0){ SetPlayerSkin(playerid,0);}
    }
    // Ls Polizei
    if(Spieler[playerid][g_TEAM] == 901)
    {
    if(GetPlayerSkin(playerid) == LSPDskins[2][0]){ SetPlayerSkin(playerid,LSPDskins[1][0]);}
    if(GetPlayerSkin(playerid) == LSPDskins[1][0]){ SetPlayerSkin(playerid,LSPDskins[0][0]);}
    if(GetPlayerSkin(playerid) == LSPDskins[0][0]){ SetPlayerSkin(playerid,LSPDskins[2][0]);}
    }
    // Terroristen
    if(Spieler[playerid][g_TEAM] == 902)
    {
    if(GetPlayerSkin(playerid) == Terrorskins[2][0]){ SetPlayerSkin(playerid,Terrorskins[1][0]);}
    if(GetPlayerSkin(playerid) == Terrorskins[1][0]){ SetPlayerSkin(playerid,Terrorskins[0][0]);}
    if(GetPlayerSkin(playerid) == Terrorskins[0][0]){ SetPlayerSkin(playerid,Terrorskins[2][0]);}
    }
    }
    if(clickedid == SkinauswahlFertig)
    {
    if(Spieler[playerid][inFraktionSkinauswahl] == 1)
    {
    Spieler[playerid][inFraktionSkinauswahl] = 0;
    TogglePlayerControllable(playerid,1);
    TextDrawHideForPlayer(playerid,SkinauswahlWeiter);
    TextDrawHideForPlayer(playerid,SkinauswahlZurueck);
    TextDrawHideForPlayer(playerid,SkinauswahlFertig);
    SpawnPlayerToBase(playerid);
    CancelSelectTextDraw(playerid);
    }
    else
    {
    TogglePlayerControllable(playerid,1);
    TextDrawHideForPlayer(playerid,SkinauswahlWeiter);
    TextDrawHideForPlayer(playerid,SkinauswahlZurueck);
    TextDrawHideForPlayer(playerid,SkinauswahlFertig);
    CancelSelectTextDraw(playerid);
    SetCameraBehindPlayer(playerid);
    }
    }

    return 1;
    }


    //////////////Skinauswahl
    stock Skinauswahl(playerid)
    {
    // Zivilist
    if(Spieler[playerid][g_TEAM] == 900) SetPlayerSkin(playerid,0);
    // Ls Polizei
    if(Spieler[playerid][g_TEAM] == 901) SetPlayerSkin(playerid,LSPDskins[0][0]);
    // Terroristen
    if(Spieler[playerid][g_TEAM] == 902) SetPlayerSkin(playerid,Terrorskins[0][0]);

    SetPlayerPos(playerid,209.7163,-33.8716,1001.9297);
    SetPlayerFacingAngle(playerid,144.5372);
    SetPlayerInterior(playerid,1);
    SetPlayerVirtualWorld(playerid,playerid);
    SetPlayerCameraPos(playerid,206.3390045166,-37.773719787598,1003.9444580078);
    SetPlayerCameraLookAt(playerid,209.7163,-33.8716,1001.9297);
    TogglePlayerControllable(playerid,0);

    TextDrawShowForPlayer(playerid,SkinauswahlWeiter);
    TextDrawShowForPlayer(playerid,SkinauswahlZurueck);
    TextDrawShowForPlayer(playerid,SkinauswahlFertig);
    SelectTextDraw(playerid,0x505050FF);
    return 1;
    }