Zeit abfagrae geht nicht richtig

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 Abend ich habe auf mein server gescriptet das wen man abens Fahrrad fährt das licht angebracht wird aber
    ich will das es nur von abens bis zum nästen morgen geht doch es get nicht er sagt immer es wäre noch tag
    hier der code



    if(strcmp(cmdtext,"/flichtan",true) == 0)
    {
    if(GetVehicleModel(GetPlayerVehicleID(playerid)) == 510)
    {
    new Zeit[3];
    gettime(Zeit[0],Zeit[1],Zeit[2]);
    if(Zeit[0] >= 19 && Zeit[0] <= 6)
    {
    //anbringen
    }
    else
    {
    printf("Wir haben keine 20uhr nur von 20 bis 6 uhr geht das!");//wen es nich swischen 19 uhr und 6 uhr ist
    }
    }
    }

    Einmal editiert, zuletzt von DJSatrox () aus folgendem Grund: edit

  • if(Zeit[0] >= 19 && Zeit[0] <= 6)


    //Nehmen wir an es ist 23:00.
    if(23>=19) // TRUE
    if(23<=6) // FALSE


    //Nehmen wir an es ist 03:00.
    if(3>=19) // FALSE
    if(3<=6) // TRUE


    Denk nach, dann kannst du den Fehler leicht beheben :)

  • hä ich will ja das es nur nachts geht bzw 19 uhr bis 6 ihr morgens was soll ich den da ändern ?

  • machs mal so:
    if(hour > 19 && hour < 6)


    und wie soll das gehen?


    Pille hat schon ein so gutes beispiel gegeben, das eigentlich jeder draufkommen sollte mit ein paar Überlegungen :whistling:


    "Wenn *hour* größer 19 UND kleiner 6 ist"
    unmöglich das eine Zahl zur gleichen Zeit größer wie 19 ist und auch noch kleiner wie 6 ist
    = die if Abfrage ist nie wahr


    Das ganze muss so aussehen (laut ersten Post): Mit ||(oder)
    if(Zeit[0] >= 19 || Zeit[0] <= 6)


  • merkst du eigendlich was du da für ein Müll erzählst?
    Ich nutz das täglich und es geht sogar


    Ist Zeit GRÖßER als 19 und KLEINER als 6
    In den Zeitraum fürt er es aus!


    8o
    Hier ein Beispiel für dich:

    public OnGameModeInit()
    {
    testForYou(0);
    testForYou(2);
    testForYou(4);
    testForYou(10);
    testForYou(20);
    }


    testForYou(ZAHL)
    {
    if(ZAHL >= 19 && ZAHL <= 6)print("Stimmt");
    else print("Stimmt nicht");
    }

    also müsste der code laut dir folgendes ausgeben ?

    Stimmt
    Stimmt
    Stimmt
    Stimmt nicht
    Stimmt

    in wirklichkeit wird er aber nur 5x"Stimmt nicht" ausgeben


  • merkst du eigendlich was du da für ein Müll erzählst?
    Ich nutz das täglich und es geht sogar


    Ist Zeit GRÖßER als 19 und KLEINER als 6
    In den Zeitraum fürt er es aus!

    Eine Zahl kann nicht größer als 19 und gleichzeitig kleiner als 6 sein. Jedenfalls nicht in diesem Universum. Denk doch mal logisch...

    The fact is, I am right. And if you think I'm wrong, you are wrong.


  • Man komm doch aufn Punkt ey willse jetzt damit sagen das 19 nie gehen kann ????????
    if(Zeit[0] >= 7 && Zeit[0] <= 6)

  • Nochmal:


    || und && ist nicht das selbe


    Edit: hast du jetzt dein && mit || editiert ? wenn ja dann stimmt es jetzt, wenn nicht hab ich mich versehen

  • Nochmal:


    || und && ist nicht das selbe


    Super und das hätte man mir doch ruch früher sagen können das && nicht gehen kann ich habe diese time abfrage damals von [DT]Beavis
    bekommen und es ging immer bis auf jetzt...
    naja ich teste ma danke :rolleyes: :whistling:

  • in wirklichkeit wird er aber nur 5x"Stimmt nicht" ausgeben

    Hast recht ich sag nichts


    Laut meinen Testerein ist das richtig
    if(time > 19 || time < 6)


    so hab ich es getestet:
    stock Hund(time)
    {
    if(time > 19 || time < 6)return printf("%d Ok",time);
    return printf("%d fehler",time);
    }


    public OnGameModeInit()(time)
    {
    for(new i;i<24;i++)
    {
    Hund(i);
    }
    ergebnis:

    Code
    [02:42:12] 0 Ok[02:42:12] 1 Ok[02:42:12] 2 Ok[02:42:12] 3 Ok[02:42:12] 4 Ok[02:42:12] 5 Ok[02:42:12] 6 fehler[02:42:12] 7 fehler[02:42:12] 8 fehler[02:42:12] 9 fehler[02:42:12] 10 fehler[02:42:12] 11 fehler[02:42:12] 12 fehler[02:42:12] 13 fehler[02:42:12] 14 fehler[02:42:12] 15 fehler[02:42:12] 16 fehler[02:42:12] 17 fehler[02:42:12] 18 fehler[02:42:12] 19 fehler[02:42:12] 20 Ok[02:42:12] 21 Ok[02:42:12] 22 Ok[02:42:12] 23 Ok

    All in all it's just another brick in the wall

  • aber es ging eig auch imme rmit && seit dem ich mal die includes alle aus mein script gebaut hab nicht mehr der amuladen bugte jetzt auch aber jetzt mit den (||) geht es endlich danke Doffler
    //close danke auch an die anderen