Gebäude nur unter einen bestimmten Zeitraum betretbar machen.

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
  • Hallo, ich bin noch nicht so Erfahren am Scripten und habe da mal eine Frage, die ich beantwortet haben möchte,
    ich habe soebend eine Spielhalle gemappt, also eine Spielhotek und die soll man nur von 10:00 Uhr bis 01:30 Uhr betretbar sein.
    Wie kann ich das machen ? Ich muss die Zeit irgendwie abfragen, doch wie soll ich das genau machen. Ich möchte eine Meldung haben,
    wenn die Spielhalle geschlossen ist, wenn ich versuche diese zu betreten. Doch leider reicht mein Wissen nicht aus, habe aber trotzdem etwas rumprobiert.
    meine Variablen sind.


    suntag
    sunjahr
    sunmonat
    sunstunde
    sunminute
    sunsekunde


    Diese werde alle mit gettime und getdate den richtigen Wert zugewiesen, nämlich die Uhrzeit.
    Kann ich das so machen, wie ich das gescriptet habe ?
    Oder klappt das so nicht und wie kann ich die Minute einbauen ?
    Ich brauche mal hilfe, so weit bin ich von selbst gekommen.
    if(IsPlayerInRangeOfPoint(playerid,2,1396.8298,-1569.7262,14.2667))
    {
    if(sunstunde>1&&sunstunde<10)return ErrorMsg(playerid,"Die Spielhalle ist geschlossen, komme später wieder.");
    SetPlayerPos(playerid,-960.8152,-840.6567,6.8909);
    SetPlayerInterior(playerid,0);
    SetPlayerVirtualWorld(playerid,0);
    return 1;
    }


    Diese Funktion ist die Enter funktion.

    Ich suche (Beta) Server-Tester für meinen Server.
    Bei Intresse bitte bei mir per PN melden.

  • @ Jeffry : Danke für deine Antwort, ich habe da noch eine Frage, wenn wir schon beim Thema sind. warum doppelklammer ? if((sun .....
    Muss man Doppelklammern machen, oder wozu dient das ?

    Ich suche (Beta) Server-Tester für meinen Server.
    Bei Intresse bitte bei mir per PN melden.

  • Ich bin mir nicht sicher ob es auch ohne die Klammern funktionieren würde, ich glaube ja, aber das ist wie bei Mal/Geteilt und Plus/Minus. Punkt vor Strich. Um da nicht durcheinander zu kommen nimmt man auch Klammern. ("Die Klammer sagt zuerst komm ich, danach dann Punkt vor Strich.")


    if((sunstunde > 1 && sunstunde < 10) || (sunstunde == 1 && sunminute > 30)) return SendClient...


    Dient hauptsächlich der Übersicht und der Fehlervermeidung.

  • Nein, würde es nicht. Mit den Klammern gibst du eine Zugehörigkeit zu den einzelnen Klauseln an. So wird also durch die Klammern zwangsläufig überprüft ob
    sunstunde > 1 ist UND sunstunde < 10
    ODER
    sunstunde == 1 ist UND sunminute > 30


    Also einer der beiden Klauseln MUSS zutreffen, lässt du die Klammern weg, muss sunstunde > 1, sunminute > 30 UND sunstunde < 10 oder 1 sein.
    Vergleichbar mit folgender Klammernsetzung
    if (sunstunde > 1 && (sunstunde < 10 || sunstunde == 1) && sunminute > 30) um es zu verdeutlichen :p


    Prinzipiell würde es zwar in diesem Beispiel klappen, wenn man es mal durchspielt, wird aber früher oder später mal für Ärger sorgen, wenn man es sich nicht direkt
    richtig angewöhnt.


    Mein CS:GO Server: 62.75.168.39:27016


    Ich bin so hungrig, dass ich vor lauter Durst nicht weiß, was ich rauchen soll - so müde bin ich!
    Freedom is just another word for 'Nothing left to lose'