Skinauswahl nach Geschlecht

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 ihr lieben Brotfische


    wie der Titel bereits sagt, möchte ich gerne dei der Registrierung eines neuen Spielers, bei der auch nach dem Geschlacht gefragt wird, auch eine Skinauswahl anzeigen lassen. Diese sollte wenn man zum Beispiel als Geschlecht vorher "weiblich" angegeben hat, nur weibliche Skins zeigen. Ich proboere bereits seit Monaten eine Möglichkeit dazu zu scripüten, was bisher nicht den gewünschten Erfolg hatte!


    Ich wende mich nun an euch, da vielleicht einer von euch bereits die Lösung hat und diese gerne mit mir teilen würde


    MfG Addra

    Code
    #define GeprüfterTastaturZerhacker Positiv

    Kopf trifft Tisch kritisch! -- Der ging nicht durch!
    ----
    Whisky löst keine Probleme! Das tut Milch aber auch nicht.

  • Du brauchst doch im Prinzip nur eine if-Abfrage, bei der du abfragst, ob das Geschlecht männlich oder weiblich ist. Und je nach dem was zutrifft fügst du nur weibliche oder nur männliche Skins der Skinauswahl hinzu. (Welche weiblich und welche männlich sind musst du natürlich dann eigenständig raussuchen)

  • So habe ich das bisher:



    #define DIALOG_GENDER 1



    enum playerInfo{
    ...
    gender,
    skin,
    ...
    }
    new pInfo[MAX_PLAYERS][playerInfo];



    new male[22];
    new female[22];




    public OnPlayerClassRequest(playerid)
    {
    SetPlayerPos(playerid, 870.0127,-25.0943,63.9828);
    SetPlayerCameraPos(playerid, 867.3280,-33.1046,63.1953);
    SetPlayerCameraLookAt(playerid, 870.0127,-25.0943,63.9828);
    SetPlayerFacingAngle(playerid,162.4662);
    if(pInfo[playerid][gender] == 1)
    {
    female[1] = AddPlayerClass(12, 1208.4956,-1749.1785,13.5934,51.8557, 0, 0, 0, 0, 0, 0);
    female[2] = AddPlayerClass(13, 1208.4956,-1749.1785,13.5934,51.8557, 0, 0, 0, 0, 0, 0);
    female[3] = AddPlayerClass(40, 1208.4956,-1749.1785,13.5934,51.8557, 0, 0, 0, 0, 0, 0);
    female[4] = AddPlayerClass(56, 1208.4956,-1749.1785,13.5934,51.8557, 0, 0, 0, 0, 0, 0);
    female[5] = AddPlayerClass(65, 1208.4956,-1749.1785,13.5934,51.8557, 0, 0, 0, 0, 0, 0);
    female[6] = AddPlayerClass(69, 1208.4956,-1749.1785,13.5934,51.8557, 0, 0, 0, 0, 0, 0);
    female[7] = AddPlayerClass(93, 1208.4956,-1749.1785,13.5934,51.8557, 0, 0, 0, 0, 0, 0);
    female[8] = AddPlayerClass(131, 1208.4956,-1749.1785,13.5934,51.8557, 0, 0, 0, 0, 0, 0);
    female[9] = AddPlayerClass(91, 1208.4956,-1749.1785,13.5934,51.8557, 0, 0, 0, 0, 0, 0);
    female[10] = AddPlayerClass(216, 1208.4956,-1749.1785,13.5934,51.8557, 0, 0, 0, 0, 0, 0);
    female[11] = AddPlayerClass(215, 1208.4956,-1749.1785,13.5934,51.8557, 0, 0, 0, 0, 0, 0);
    female[12] = AddPlayerClass(193, 1208.4956,-1749.1785,13.5934,51.8557, 0, 0, 0, 0, 0, 0);
    female[13] = AddPlayerClass(190, 1208.4956,-1749.1785,13.5934,51.8557, 0, 0, 0, 0, 0, 0);
    female[14] = AddPlayerClass(169, 1208.4956,-1749.1785,13.5934,51.8557, 0, 0, 0, 0, 0, 0);
    female[15] = AddPlayerClass(192, 1208.4956,-1749.1785,13.5934,51.8557, 0, 0, 0, 0, 0, 0);
    female[16] = AddPlayerClass(195, 1208.4956,-1749.1785,13.5934,51.8557, 0, 0, 0, 0, 0, 0);
    female[17] = AddPlayerClass(211, 1208.4956,-1749.1785,13.5934,51.8557, 0, 0, 0, 0, 0, 0);
    female[18] = AddPlayerClass(41, 1208.4956,-1749.1785,13.5934,51.8557, 0, 0, 0, 0, 0, 0);
    female[19] = AddPlayerClass(226, 1208.4956,-1749.1785,13.5934,51.8557, 0, 0, 0, 0, 0, 0);
    female[20] = AddPlayerClass(233, 1208.4956,-1749.1785,13.5934,51.8557, 0, 0, 0, 0, 0, 0);
    female[21] = AddPlayerClass(298, 1208.4956,-1749.1785,13.5934,51.8557, 0, 0, 0, 0, 0, 0);
    }
    else
    {

    male[1] = AddPlayerClass(303, 1208.4956,-1749.1785,13.5934,51.8557, 0, 0, 0, 0, 0, 0);
    male[2] = AddPlayerClass(2, 1208.4956,-1749.1785,13.5934,51.8557, 0, 0, 0, 0, 0, 0);
    male[3] = AddPlayerClass(6, 1208.4956,-1749.1785,13.5934,51.8557, 0, 0, 0, 0, 0, 0);
    male[4] = AddPlayerClass(7, 1208.4956,-1749.1785,13.5934,51.8557, 0, 0, 0, 0, 0, 0);
    male[5] = AddPlayerClass(229, 1208.4956,-1749.1785,13.5934,51.8557, 0, 0, 0, 0, 0, 0);
    male[6] = AddPlayerClass(20, 1208.4956,-1749.1785,13.5934,51.8557, 0, 0, 0, 0, 0, 0);
    male[7] = AddPlayerClass(21, 1208.4956,-1749.1785,13.5934,51.8557, 0, 0, 0, 0, 0, 0);
    male[8] = AddPlayerClass(22, 1208.4956,-1749.1785,13.5934,51.8557, 0, 0, 0, 0, 0, 0);
    male[9] = AddPlayerClass(23, 1208.4956,-1749.1785,13.5934,51.8557, 0, 0, 0, 0, 0, 0);
    male[10] = AddPlayerClass(24, 1208.4956,-1749.1785,13.5934,51.8557, 0, 0, 0, 0, 0, 0);
    male[11] = AddPlayerClass(25, 1208.4956,-1749.1785,13.5934,51.8557, 0, 0, 0, 0, 0, 0);
    male[12] = AddPlayerClass(28, 1208.4956,-1749.1785,13.5934,51.8557, 0, 0, 0, 0, 0, 0);
    male[13] = AddPlayerClass(29, 1208.4956,-1749.1785,13.5934,51.8557, 0, 0, 0, 0, 0, 0);
    male[14] = AddPlayerClass(33, 1208.4956,-1749.1785,13.5934,51.8557, 0, 0, 0, 0, 0, 0);
    male[15] = AddPlayerClass(37, 1208.4956,-1749.1785,13.5934,51.8557, 0, 0, 0, 0, 0, 0);
    male[16] = AddPlayerClass(46, 1208.4956,-1749.1785,13.5934,51.8557, 0, 0, 0, 0, 0, 0);
    male[17] = AddPlayerClass(59, 1208.4956,-1749.1785,13.5934,51.8557, 0, 0, 0, 0, 0, 0);
    male[18] = AddPlayerClass(304, 1208.4956,-1749.1785,13.5934,51.8557, 0, 0, 0, 0, 0, 0);
    male[19] = AddPlayerClass(305, 1208.4956,-1749.1785,13.5934,51.8557, 0, 0, 0, 0, 0, 0);
    male[20] = AddPlayerClass(299, 1208.4956,-1749.1785,13.5934,51.8557, 0, 0, 0, 0, 0, 0);
    male[21] = AddPlayerClass(250, 1208.4956,-1749.1785,13.5934,51.8557, 0, 0, 0, 0, 0, 0);
    }
    return 1;
    }



    public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
    {
    if(dialogid==DIALOG_GENDER)
    {
    if(response)
    {
    if(listitem==0)
    {
    pInfo[playerid][gender] = 0;
    SendClientMessage(playerid,COLOR_GREEN,"((Registrierung)) Du bist also ein Mann");
    SendClientMessage(playerid,COLOR_GREEN,"((Registrierung)) Schritt 4 von 4 - Skinauswahl");
    SavePlayerGender(playerid);
    OnPlayerClassRequest(playerid);




    }
    if(listitem==1)
    {
    pInfo[playerid][gender] = 1;
    SendClientMessage(playerid,COLOR_GREEN,"((Registrierung)) Du bist also eine Frau");
    SendClientMessage(playerid,COLOR_GREEN,"((Registrierung)) Schritt 4 von 4 - Skinauswahl");
    SavePlayerGender(playerid);
    OnPlayerClassRequest(playerid);




    }
    }
    return 1;
    }
    return 1;
    }


    Problem ist nur das der erste Skin immer falsch ist, das heißt man wählt weiblich und angezeigt wird als erstes ein Skin für männlich. Um Fehler zu vermeiden, dass die Skins erst gar nicht angezeigt werden, sind alle Skins auch unter OnGameModeInit angegeben! Hatte auch schon über eine eigene ClassRequest es versucht!


    PS: habe einige Dinge nicht drin, da diese nichts hiermit zu tun haben, wie zum Beispiel die Funktion SavePlayerGender. Gespeichert werden alle Spielerdaten per MySQL!

    Code
    #define GeprüfterTastaturZerhacker Positiv

    Kopf trifft Tisch kritisch! -- Der ging nicht durch!
    ----
    Whisky löst keine Probleme! Das tut Milch aber auch nicht.

  • Fang bei female[1] und male [1] mit 0 an.


    Sprich:

    female[0] = AddPlayerClass(12, 1208.4956,-1749.1785,13.5934,51.8557, 0, 0, 0, 0, 0, 0);
    female[1] = AddPlayerClass(13, 1208.4956,-1749.1785,13.5934,51.8557, 0, 0, 0, 0, 0, 0);
    female[2] = AddPlayerClass(40, 1208.4956,-1749.1785,13.5934,51.8557, 0, 0, 0, 0, 0, 0);

  • Werde ich mal probieren! Ich melde mich wieder


    PS: Hat leider nicht geklappt, ich komme wohl nicht an einer eigenen Skinauswahl vorbei, wenn ich ich so haben möchte, wie ich mir das vorstelle

    Code
    #define GeprüfterTastaturZerhacker Positiv

    Kopf trifft Tisch kritisch! -- Der ging nicht durch!
    ----
    Whisky löst keine Probleme! Das tut Milch aber auch nicht.

    Einmal editiert, zuletzt von DisturbedNoobTV ()