Verrbuggte key abfragen

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 wenn ich aufn roller steige oder sonsteiges machen kommen je nach situation immer meldungen von anderen aktionen, voll verbuggt:



    public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
    {
    if(newkeys & KEY_YES) //Bank eingang
    {
    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) //Bank ausgang
    {
    if(IsPlayerInRangeOfPoint(playerid, 5, 1414.7961,-988.9714,1639.7843))
    {
    SetPlayerPos(playerid, 1457.5826,-1012.3935,26.8438);
    SetPlayerFacingAngle(playerid, 175.4531);
    return 1;
    }
    }
    if(newkeys & 16) //Geld Einzahlen
    {
    if(IsPlayerInRangeOfPoint(playerid, 2, 1432.8663,-997.8253,1639.7911))
    if(sInfo[playerid][bankkonto] == 0)return SendClientMessage(playerid,COLOR_RED,"Du benötigst enen Bankkonto um Geld einzuzahlen");
    {
    ShowPlayerDialog(playerid,DIALOG_EINZAHLEN,DIALOG_STYLE_INPUT,"Geld Einzahlen","Gebe bitte unten den gewünschten betrag ein den zu einzahlen möchtest","Weiter","Abbrechen");
    }
    return 1;
    }
    if(newkeys & 16) //Geld Auszahlen
    {
    if(IsPlayerInRangeOfPoint(playerid, 2, 1437.5004,-997.8259,1639.7911))
    if(sInfo[playerid][bankkonto] == 0)return SendClientMessage(playerid,COLOR_RED,"Du benötigst enen Bankkonto um Geld auszuzahlen");
    {
    ShowPlayerDialog(playerid,DIALOG_AUSZAHLEN,DIALOG_STYLE_INPUT,"Geld Auszahlen","Gebe bitte unten den gewünschten betrag ein den zu Auszahlen möchtest","Weiter","Abbrechen");
    }
    return 1;
    }
    if(newkeys & 16) //Handyguthaben Aufladen
    {
    if(IsPlayerInRangeOfPoint(playerid, 2, 1442.4139,-989.3533,1639.7843))
    {
    ShowPlayerDialog(playerid,DIALOG_GUTHABEN,DIALOG_STYLE_LIST,"Handyguthaben aufladen","50$\n100$\n250$\n500$\n1000$","Weiter","Abbrechen");
    }
    return 1;
    }
    if(newkeys & KEY_NO) //Motor
    {
    if(IsPlayerInAnyVehicle(playerid))
    {
    ocmd_motor(playerid,"");
    return 1;
    }
    }
    if(newkeys & KEY_YES) //Enter Befehl fürs Haus
    {
    ocmd_enter(playerid,"");
    return 1;
    }
    if(newkeys & KEY_NO) //Exit Befehl fürs Haus
    {
    ocmd_exit(playerid,"");
    return 1;
    }
    return 1;
    }


  • if(newkeys & 16) //Geld Einzahlen
    {
    if(IsPlayerInRangeOfPoint(playerid, 2, 1432.8663,-997.8253,1639.7911))
    if(sInfo[playerid][bankkonto] == 0)return SendClientMessage(playerid,COLOR_RED,"Du benötigst enen Bankkonto um Geld einzuzahlen");
    {
    ShowPlayerDialog(playerid,DIALOG_EINZAHLEN,DIALOG_STYLE_INPUT,"Geld Einzahlen","Gebe bitte unten den gewünschten betrag ein den zu einzahlen möchtest","Weiter","Abbrechen");
    }
    return 1;
    }
    if(newkeys & 16) //Geld Auszahlen
    {
    if(IsPlayerInRangeOfPoint(playerid, 2, 1437.5004,-997.8259,1639.7911))
    if(sInfo[playerid][bankkonto] == 0)return SendClientMessage(playerid,COLOR_RED,"Du benötigst enen Bankkonto um Geld auszuzahlen");
    {
    ShowPlayerDialog(playerid,DIALOG_AUSZAHLEN,DIALOG_STYLE_INPUT,"Geld Auszahlen","Gebe bitte unten den gewünschten betrag ein den zu Auszahlen möchtest","Weiter","Abbrechen");
    }
    return 1;
    }


    Schau ma, siehst du in dem Quellcode jetzt einen Sinn ?


    Du schreibst das unter eine Abfrage.

  • Und wenn ich auf den roller gehe oder absteige dann kommt immer der einahlen dialog