OnPlayerKeyStateChange Problem & SetCameraPos Problem

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 ein Problem beim OnPlayerKeyStateChange.


    Ich habe ein SkinAuswahl System, wenn man sich registriert dass man nen Skin aussuchen kann.
    Sollte alles wunderbar klappen, doch egal welche Taste ich drücke die Einführung in den Server geht weiter.


    Bei Leertaste soll man zum nächsten Skin gehen können, und bei drücken von Alt soll man den Skin auswählen können.



    public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
    {
    if(SkinAuswahl[playerid] == 1)
    {
    if(newkeys && KEY_SPRINT)
    {
    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,23);
    Spieler[playerid][Skin] = 23;
    }
    else if(GetPlayerSkin(playerid) == 23)
    {
    SetPlayerSkin(playerid,24);
    Spieler[playerid][Skin] = 24;
    }
    else if(GetPlayerSkin(playerid) == 24)
    {
    SetPlayerSkin(playerid,25);
    Spieler[playerid][Skin] = 25;
    }
    else if(GetPlayerSkin(playerid) == 25)
    {
    SetPlayerSkin(playerid,2);
    Spieler[playerid][Skin] = 2;
    }
    else if(GetPlayerSkin(playerid) == 11)
    {
    SetPlayerSkin(playerid,12);
    Spieler[playerid][Skin] = 12;
    }
    else if(GetPlayerSkin(playerid) == 12)
    {
    SetPlayerSkin(playerid,40);
    Spieler[playerid][Skin] = 40;
    }
    else if(GetPlayerSkin(playerid) == 40)
    {
    SetPlayerSkin(playerid,41);
    Spieler[playerid][Skin] = 41;
    }
    else if(GetPlayerSkin(playerid) == 41)
    {
    SetPlayerSkin(playerid,55);
    Spieler[playerid][Skin] = 55;
    }
    else if(GetPlayerSkin(playerid) == 55)
    {
    SetPlayerSkin(playerid,93);
    Spieler[playerid][Skin] = 93;
    }
    else if(GetPlayerSkin(playerid) == 93)
    {
    SetPlayerSkin(playerid,11);
    Spieler[playerid][Skin] = 11;
    }
    }
    }
    if(SkinAuswahl[playerid] == 1)
    {
    if(newkeys && KEY_WALK)
    {
    SkinAuswahl[playerid] = 0;
    SendClientMessage(playerid,COLOR_WHITE,"Ah du hast also eine Entscheidung getroffen, freut mich.");
    SendClientMessage(playerid,COLOR_WHITE,"Wenn du nochmal hierher kommen möchtest kannst du es jederzeit tuhen.");
    SendClientMessage(playerid,COLOR_WHITE,"Als nächstes zeige ich dir das Rathaus. Dort kannst du viel erledigen!");
    SetTimer("TutorialTimer3",5000,0);
    return 1;
    }
    }
    return 1;
    }


    Und mein anderes Problem ist, wenn man gespawnt ist kann ich kein SetCameraPos verwenden.
    Nachder Registrierung soll er mich spawnen und dann sofort die Camera ändern und PlayerPos usw.


    Aber er bleibt stur stehen:



    // Register Dialog ausschnitt
    SendClientMessage(playerid,COLOR_WHITE,"Bitte warte einen Moment ... Du wirst gleich in unseren Server eingeführt.");
    SetTimer("TutorialTimer1",5000,0);
    SetSpawnInfo(playerid,0,Spieler[playerid][Skin],1481.7762,-1756.8540,17.5313,1.9429,0,0,0,0,0,0);
    SpawnPlayer(playerid);
    SetPlayerInterior(playerid,0);
    SetPlayerCameraPos(playerid,1508.0508,-1629.8694,86.9975);
    SetPlayerCameraLookAt(playerid,1484.7372,-1771.2896,18.7958);
    SetPlayerPos(playerid,1507.3564,-1673.4028,14.0469);

  • mhm kannst du das nicht in deinen TutorialTimer packen?


    Oder du nimmst nen zweiten timer und packst da alles rein :D


    BTW: Müsste das nicht SetTimerEx statt SetTimer sein?

    "Bevor ich mir Informationen aus der "Bild" hole,
    werde ich anfangen, Wahlergebnisse danach vorauszusagen,
    neben welchen Busch unsere Katze gepinkelt hat."

    Margarete Stokowski