Problem bei Enter Exit

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
  • Hei leute :)


    Ich will Interiors amchen, klappt auch alles...
    Aber ich erstelle immer pickups vor den ausgängen und mach das dann unter das callback OnPlayerPickUpPickup.
    Aber ich will das man zum betreten Z und zum rausgehen N drückt. Weil sons wird man direkt reingeportet sobald man im pickup drinne ist

  • Aber ich will das man zum betreten Z und zum rausgehen N drückt.


    OnPlayerKeyStateChange


    und dann if(newkeys & KEY_YES) = taste Z
    und if(newkeys & KEY_NO) = taste N


    ja das mit dem & ist richtig so
    Siehe hier: http://wiki.sa-mp.com/wiki/OnP…ge#How_to_check_for_a_key

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

    Margarete Stokowski

  • warum geht das net?


    letztere beide sind die Enter/exit befehle für das gebnäude


    public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
    {
    if(newkeys & KEY_NO)
    {
    ocmd_motor(playerid,"");
    return 1;
    }
    if(newkeys & KEY_YES)
    {
    //EnterBefehl
    ocmd_enter(playerid,"");
    return 1;
    }
    if(newkeys & KEY_NO)
    {
    //ExitBefehl
    ocmd_exit(playerid,"");
    return 1;
    }
    if(newkeys & KEY_YES)
    {
    if(!IsPlayerInRangeOfPoint(playerid, 5, 1457.1921,-1009.9229,26.8438))return
    SetPlayerPos(playerid, 1417.5946,-988.6386,1639.7843);
    SetPlayerFacingAngle(playerid, 267.6167);
    return 1;
    }
    if(newkeys & KEY_NO)
    {
    if(!IsPlayerInRangeOfPoint(playerid, 5, 0, 0, 0))return
    SetPlayerPos(playerid, 1457.5826,-1012.3935,26.8438);
    SetPlayerFacingAngle(playerid, 175.4531);
    return 1;
    }
    return 1;
    }


    Wenn ich N drücke sagt er mir das ich den motor net benutzen kann

  • Das liegt daran, dass du bereits nach den ersten beiden Abfragen zwangsläufig returnst.
    Schreibe es so:
    public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
    {
    if(newkeys & KEY_YES)
    {
    if(IsPlayerInRangeOfPoint(playerid, 5, 1457.1921,-1009.9229,26.8438))
    {
    SetPlayerPos(playerid, 1417.5946,-988.6386,1639.7843);
    SetPlayerFacingAngle(playerid, 267.6167);
    return 1;
    }
    }
    if(newkeys & KEY_NO)
    {
    if(IsPlayerInRangeOfPoint(playerid, 5, 0, 0, 0))
    {
    SetPlayerPos(playerid, 1457.5826,-1012.3935,26.8438);
    SetPlayerFacingAngle(playerid, 175.4531);
    return 1;
    }
    }
    if(newkeys & KEY_NO)
    {
    if(IsPlayerInAnyVehicle(playerid))
    {
    ocmd_motor(playerid,"");
    return 1;
    }
    }
    if(newkeys & KEY_YES)
    {
    //EnterBefehl
    ocmd_enter(playerid,"");
    return 1;
    }
    if(newkeys & KEY_NO)
    {
    //ExitBefehl
    ocmd_exit(playerid,"");
    return 1;
    }
    return 1;
    }