problem mit tor öffnen

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
  • Guten Tag.


    Wenn ich vor ein Tor stehe, kann ich es mit /auf öffnen, und mit /zu schließen.


    wenn ich hupe öffnet sich das, und wenn ich dann nochmal hupe soll es sich schließen:


    new tor1;


    forward TorZuc();


    OnGameModeInit()
    {
    tor1 = 0;//0 = tor ist zu, 1 = tor ist auf
    return 1;
    }


    OnPlayerCommandText()
    {
    if (strcmp(cmdtext, "/auf", true)==0)
    {
    if(IsPlayerInRangeOfPoint(playerid,35.0,1588.3731689453, -1637.9205322266, 15.202335357666))
    {
    if((gTeam[playerid] == Team_Cops_LS) || (gTeam[playerid] == Team_Cops_SF) || (gTeam[playerid] == Team_Cops_LV || gTeam[playerid] == Team_Army))
    {
    MoveObject(Torb,1588.3731689453, -1637.9205322266, 9.0614814758301,5);
    SendClientMessage(playerid,0x00FFFFFF," Das Tor schließt sich automatisch!");
    SetTimer("TorZuc",7000,5);
    tor1 = 1;
    }
    }
    }
    if (strcmp(cmdtext, "/zu", true)==0)
    {
    if(IsPlayerInRangeOfPoint(playerid,35.0,1588.3731689453, -1637.9205322266, 15.202335357666))
    {
    if((gTeam[playerid] == Team_Cops_LS) || (gTeam[playerid] == Team_Cops_SF) || (gTeam[playerid] == Team_Cops_LV || gTeam[playerid] == Team_Army))
    {
    MoveObject(Torb,1588.3731689453, -1637.9205322266, 15.202335357666,5);
    SendClientMessage(playerid,0x00FFFFFF," Das Tor wird geschlossen!");
    tor1 = 0;
    }
    }
    }
    return 1;
    }


    public TorZuc()
    {
    MoveObject(Torb,1588.3731689453, -1637.9205322266, 15.202335357666,5);
    tor1 = 0;
    return 1;
    }


    public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
    {
    if(newkeys == 2)
    {
    if(IsPlayerInRangeOfPoint(playerid,35.0,1588.3731689453, -1637.9205322266, 15.202335357666))
    {
    if((gTeam[playerid] == Team_Cops_LS) || (gTeam[playerid] == Team_Cops_SF) || (gTeam[playerid] == Team_Cops_LV || gTeam[playerid] == Team_Army))
    {
    if(tor1 == 0)
    {
    MoveObject(Torb,1588.3731689453, -1637.9205322266, 9.0614814758301,5);
    SendClientMessage(playerid,0x00FFFFFF," Das Tor schließt sich automatisch!");
    SetTimer("TorZuc",7000,5);
    tor1 = 1; // tor ist auf...
    }
    if(tor1 == 1)//... fragt ob ob tor auf ist. da es ja gerade geöffnet wurde, wirds geschlossen.
    {
    MoveObject(Torb,1588.3731689453, -1637.9205322266, 15.202335357666,5);
    SendClientMessage(playerid,0x00FFFFFF," Das Tor wird geschlossen!");
    tor1 = 0;
    }
    }
    }
    }
    return 1;
    }


    das problem: das tör öffnet und schließt sich sofort wieder. grund dafür ist, das er abfragt ob tor1 = 1 oder =0 ist, übertragen ob es auf oder zu ist. also wenn es zu ist, macht er es auf und setzt tor1 auf 1. direkt danach fragt er ab ob tor1 auf ist, und da es ja gerade geöffnet wurde, wird es sofort wieder geschlossen.


    also ich weiß warum das pasiert, aber nicht wie man es anderes machen kann. könnte mir da einer helfen?

  • Ja er hat die erste if abfrage bearbeitet und spring direkt zur nächsten.
    Also um zu vermeiden das es sich sofort schließt machste du else anstatt if(Tor ==1)
    Somit weis das script was zu tun ist.