Message wird immer doppelt gesendet beim betreten von Gebäuden

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,
    ich habe vor, dass man beim drücken der Taste 'Enter' die Gebäude verlassen/betreten kann.
    Dies soll aber nur alle 7 Sekunden möglich sein...


    Ich weiß nicht warum, aber ich kriege die Nachrichten immer Doppelt gesendet, sprich wenn ich nur einmal Enter drücke bekomme ich folgende Nachrichten:
    [13:09:26] Du kannst das Gebäude erst in 2 Sekunden wieder betreten!
    [13:09:26] Du kannst das Gebäude erst in 2 Sekunden wieder betreten!


    woran kann es liegen? Hier der Code:
    public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
    {
    if(newkeys == 16 && GetPlayerVirtualWorld(playerid) == 0 || SpielerInfo[playerid][Arena] != 2)
    {
    if(IsPlayerInRangeOfPoint(playerid, 1.5,172.0901,-152.5857,1.5752)) // BAR
    {
    if(Betretentimer[playerid] > 0)
    {
    new string[256];
    format(string,sizeof(string),"Du kannst das Gebäude erst in %d Sekunden wieder betreten!", Betretentimer[playerid]);
    SendClientMessage(playerid, RED, string);
    return 0;
    }
    SetPlayerPos(playerid, 501.8994140625,-67.7998046875,998.40002441406);
    SetPlayerVirtualWorld(playerid, 1);
    SetPlayerFacingAngle(playerid, 176.6204);
    SetPlayerInterior(playerid, 11);
    SetCameraBehindPlayer(playerid);
    Betretentimer[playerid] = EnterExitTimer;
    return 0;
    }
    if(IsPlayerInRangeOfPoint(playerid, 1.5,501.8994140625,-67.7998046875,998.40002441406)) // BAR EXIT
    {
    if(Betretentimer[playerid] > 0)
    {
    new string[256];
    format(string,sizeof(string),"Du kannst das Gebäude erst in %d Sekunden wieder verlassen!", Betretentimer[playerid]);
    SendClientMessage(playerid, RED, string);
    return 0;
    }
    SetPlayerPos(playerid, 172.0901,-152.5857,1.5752);
    SetPlayerVirtualWorld(playerid, 0);
    SetPlayerFacingAngle(playerid, 144.2905);
    SetPlayerInterior(playerid, 0);
    SetCameraBehindPlayer(playerid);
    Betretentimer[playerid] = EnterExitTimer;
    return 0;
    }
    if(IsPlayerInRangeOfPoint(playerid, 1.5,203.4211,-202.2478,1.5781)) // PIZZA
    {
    if(Betretentimer[playerid] > 0)
    {
    new string[256];
    format(string,sizeof(string),"Du kannst das Gebäude erst in %d Sekunden wieder betreten!", Betretentimer[playerid]);
    SendClientMessage(playerid, RED, string);
    return 0;
    }
    SetPlayerPos(playerid, 372.39999390,-133.50000000,1001.00000000);
    SetPlayerVirtualWorld(playerid, 1);
    SetPlayerFacingAngle(playerid, 355.9161);
    SetPlayerInterior(playerid, 5);
    SetCameraBehindPlayer(playerid);
    Betretentimer[playerid] = EnterExitTimer;
    return 0;
    }
    if(IsPlayerInRangeOfPoint(playerid, 1.5,372.39999390,-133.50000000,1001.00000000)) // PIZZA EXIT
    {
    if(Betretentimer[playerid] > 0)
    {
    new string[256];
    format(string,sizeof(string),"Du kannst das Gebäude erst in %d Sekunden wieder verlassen!", Betretentimer[playerid]);
    SendClientMessage(playerid, RED, string);
    return 0;
    }
    SetPlayerPos(playerid, 203.4211,-202.2478,1.5781);
    SetPlayerVirtualWorld(playerid, 0);
    SetPlayerFacingAngle(playerid, 90.1741);
    SetPlayerInterior(playerid, 0);
    SetCameraBehindPlayer(playerid);
    Betretentimer[playerid] = EnterExitTimer;
    return 0;
    }



    Ich hoffe mir kann jemand helfen.


    MfG

  • SetTimer("Sekundencheck", 997, 1);


    public Sekundencheck()
    {
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
    if(!IsPlayerNPC(i) && Eingeloggt[i]==1)
    {
    if(betreten[i] > 0)
    {
    betreten[i]--;
    }
    if(Betretentimer[i] > 0)
    {
    Betretentimer[i]--;
    }
    }
    }
    return 1;
    }