Skin-Auswahl System geht nicht.

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, liebe Leute.


    Ich habe ein Problem.
    Ich möchte wenn sich ein Spieler registriert, dieser erst zu einer Anzeige kommt wo er zwischen "Männlich" und "Weiblich" Auswählen kann im Dialog.
    Sobald er dass gemacht hat, soll er zu der Skin-Auswahl kommen.
    Das 1. Problem ist, der Spieler wird nicht gespawnt, obwohl bei OnDialogResponse beim Registrieren drin steht "SpawnPlayer(playerid);".
    Dies funktioniert nicht da ich bei der Skin-Auswahl die Knöpfe mit "<", ">", "Spawn" habe.


    Alsnächstes funktionieren die Knöpfe "KEY_WALK" und "KEY_JUMP" nicht.


    Ich zeige euch hier mal mein OnPlayerKeyStateChange.



    public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
    {
    if(SkinAuswahl[playerid] == 1)
    {
    if(newkeys & KEY_WALK)
    {
    SkinAuswahl[playerid] = 0;
    SetPlayerPos(playerid,1239.4333,-1784.3341,33.6264);
    SetPlayerCameraLookAt(playerid,1219.1395,-1757.7357,29.9600);
    SetPlayerCameraPos(playerid,1143.9270,-1674.6849,90.3163);
    ShowPlayerDialog(playerid,DIALOG_TUT2,DIALOG_STYLE_MSGBOX,"Regeln und Sonstiges","Als nächstes werden dir alle Regeln und Sonstige Informationen gezeigt.\nKlicke dazu einfach unten auf die Knöpfe.","WEITER","");
    }
    }
    if(SkinAuswahl[playerid] == 1)
    {
    if(Spieler[playerid][Sex] == 1)
    {
    if(newkeys & KEY_JUMP)
    {
    if(GetPlayerSkin(playerid) == 2)
    {
    SetPlayerSkin(playerid,7);
    Spieler[playerid][Skin] = 7;
    }
    else if(GetPlayerSkin(playerid) == 7)
    {
    SetPlayerSkin(playerid,20);
    Spieler[playerid][Skin] = 20;
    }
    else if(GetPlayerSkin(playerid) == 20)
    {
    SetPlayerSkin(playerid,21);
    Spieler[playerid][Skin] = 21;
    }
    else if(GetPlayerSkin(playerid) == 21)
    {
    SetPlayerSkin(playerid, 22);
    Spieler[playerid][Skin] = 22;
    }
    else if(GetPlayerSkin(playerid) == 22)
    {
    SetPlayerSkin(playerid, 2);
    Spieler[playerid][Skin] = 2;
    }
    }
    }
    else if(Spieler[playerid][Sex] == 2)
    {
    if(newkeys & KEY_JUMP)
    {
    if(GetPlayerSkin(playerid) == 11)
    {
    SetPlayerSkin(playerid,12);
    Spieler[playerid][Skin] = 12;
    }
    else if(GetPlayerSkin(playerid) == 12)
    {
    SetPlayerSkin(playerid,13);
    Spieler[playerid][Skin] = 13;
    }
    else if(GetPlayerSkin(playerid) == 13)
    {
    SetPlayerSkin(playerid,40);
    Spieler[playerid][Skin] = 40;
    }
    else if(GetPlayerSkin(playerid) == 40)
    {
    SetPlayerSkin(playerid,55);
    Spieler[playerid][Skin] = 55;
    }
    else if(GetPlayerSkin(playerid) == 55)
    {
    SetPlayerSkin(playerid,192);
    Spieler[playerid][Skin] = 192;
    }
    else if(GetPlayerSkin(playerid) == 192)
    {
    SetPlayerSkin(playerid,11);
    Spieler[playerid][Skin] = 11;
    }
    }
    }
    }

    return 1;
    }


    Beim Registrieren passiert halt ganz unten "SpawnPlayer(playerid);"
    Und der Dialog fürs Auswählen des Geschlechts wird angezeigt.



    SpawnPlayer(playerid);
    ShowPlayerDialog(playerid,DIALOG_TUT1,DIALOG_STYLE_MSGBOX,"Infos zur Person","Der Account wurde erfolgreich Angelegt.\nBitte fülle nun einige Informationen über deine Person aus.\n \nBist du Männlich oder Weiblich?","Männlich","Weiblich");


    Hier die Dialoge.



    if(dialogid==DIALOG_TUT1)
    {
    if(response==0)
    {
    Spieler[playerid][Sex] = 2; //Weiblich
    SkinAuswahl[playerid] = 1;
    SetPlayerSkin(playerid,11);
    SetPlayerPos(playerid,437.4280,-1749.2281,9.0578);
    SetPlayerCameraPos(playerid,441.7591,-1754.8192,8.4732);
    SetPlayerCameraLookAt(playerid,437.4280,-1749.2281,9.0578);
    ClearPlayerChat(playerid);
    SendClientMessage(playerid,COLOR_YELLOW,"Okay, du bist also Weiblich.");
    SendClientMessage(playerid,COLOR_WHITE,"Du kannst nun mit der {CC0000}SHIFT{FFFFFF} Taste den Skin wechseln.");
    SendClientMessage(playerid,COLOR_WHITE,"Wenn du fertig mit dem Auswählen bist, kannst du die {CC0000}ALT{FFFFFF} Taste verwenden, um den Skin auszuwählen.");
    //Dann zur Skin Auswahl!
    }
    if(response==1)
    {
    Spieler[playerid][Sex] = 1; // Männlich
    SkinAuswahl[playerid] = 1;
    SetPlayerSkin(playerid,2);
    SetPlayerPos(playerid,437.4280,-1749.2281,9.0578);
    SetPlayerCameraPos(playerid,441.7591,-1754.8192,8.4732);
    SetPlayerCameraLookAt(playerid,437.4280,-1749.2281,9.0578);
    ClearPlayerChat(playerid);
    SendClientMessage(playerid,COLOR_YELLOW,"Okay, du bist also Männlich.");
    SendClientMessage(playerid,COLOR_WHITE,"Du kannst nun mit der {CC0000}SHIFT{FFFFFF} Taste den Skin wechseln.");
    SendClientMessage(playerid,COLOR_WHITE,"Wenn du fertig mit dem Auswählen bist, kannst du die {CC0000}ALT{FFFFFF} Taste verwenden, um den Skin auszuwählen.");
    //Dann zur Skin Auswahl!
    }
    }



    Die Variable "SkinAuswahl" ist oben so definiert:


    "new SkinAuswahl[MAX_PLAYERS];"


    Ich hoffe ihr könnt mir helfen. :S