Skinauswahl mit Textdraw funktioniert nicht wie Gewünscht

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, nämlich habe ich eine eigene Skinauswahl mit Textdraws erstellt und alles funktioniert etc.
    Nur ich möchte dass wenn man dass "Weiter" Textdraw Anklickt, dass es die Skins aus der Variable nimmt und immer einen +1 macht und nicht immer die Skins aus der Normalen SAMP Liste nimmt sondern die aus der Variable.
    Kurz: Man soll die Skins aus der Variable nehmen und immer +1 gehen.
    Jetzt habe ich aber keine Ahnung was ich unter "OnPlayerClickTextDraw" Hinschreiben soll damit dies auch Passiert.


    Variable:
    new maennlich[] = {1,2,3,4,5,6,7,8};


    OnPlayerClickTextDraw:

    public OnPlayerClickTextDraw(playerid,Text:clickedid)
    {
    if(clickedid == Textdraw0)
    {
    //Was muss hier rein?
    }
    return 1;
    }


    Ich habe schon überall nach einer Lösung gesucht und nach einer kleinen Scripting Pause fällt mir selbst so etwas nicht mehr ein. ^^


    Aber ich Denke dass ich hiermit Arbeiten muss:
    SetPlayerSkin(playerid, GetPlayerSkin(playerid)+1)


    LG,
    Zentrolin :thumbup:

    2 Mal editiert, zuletzt von Zentrolin ()

  • Habs lange nicht mehr gemacht aber versuch es mal so

    new skinid = GetPVarInt(playerid,"Skin_Start");
    skinid +=1;
    if(skinid > sizeof(maennlich)){skinid=0;}


    SetPlayerSkin(playerid,maennlich[skinid]);


    SetPVarInt(playerid,"Skin_Start",skinid);

    Bedenke das du ihn wenn er den Textdraw sieht noch
    SetPVarInt(playerid,"Skin_Start",0);
    setzen muss sonst kann er über die Get funktion keine zahl bekommen.
    mfg. Mogly1

  • new skinid = GetPVarInt(playerid,"Skin_Start");
    skinid +=1;
    if(skinid > sizeof(maennlich)){skinid=0;}


    SetPlayerSkin(playerid,maennlich[skinid]);


    SetPVarInt(playerid,"Skin_Start",skinid);

    Kurz ein paar Anmerkungen zu dem Code, hier ist ein Fehler.


    Wenn skinid == sizeof(maennlich) ist, da gibt es bereits einen Fehler :)


    Also kannst das so schreiben:


    C
    new skinid = GetPVarInt(playerid,"Skin_Start");
    if(++skinid == sizeof(maennlich)) skinid=0;
    SetPlayerSkin(playerid,maennlich[skinid]);
    SetPVarInt(playerid,"Skin_Start",skinid);

    ast2ufdyxkb1.png


    Leute, lernt scripten und versucht mal lieber etwas selber zu schreiben, als es aus einem GF zu kopieren. :S