Fahrschule 3D Label Aktualisieren

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
  • Hallöchen...


    Ich hab ein Problem mit mein Script.
    Ich mach eine Fahrschule die nur von einer bestimmten Uhrzeit offen hat.
    Also weißen dann 3D Lebels mit "Fahrschule [GEÖFFNET]" an ob es zu oder offen ist.
    Aber i-wie will dazu mein 3D Label nicht kommen ;(




    Ich hab zuerst ein SetTimer erstellt, sodass mein 3D Label immer Aktuell ist =)
    SetTimer("Updater",20000,1);
    PS: SetTimer steht bei "OnGameModeInit" drine...



    Jede 20 Sikunden fragt der Server nach diese ab:
    public Updater()
    {
    SetTimer("Updater",20000,1);
    new zeit;
    gettime(zeit);
    if(zeit < 10 || zeit > 14|| zeit < 17 || zeit > 22 || zeit < 1 || zeit > 4 )
    {
    Delete3DTextLabel(Fschulezu);
    Fschuleauf = Create3DTextLabel("Fahrschule [GEÖFFNET]",0xFF0000B2,1319.3242,-1182.3680,23.5955,0,1);
    }
    else
    {
    Delete3DTextLabel(Fschuleauf);
    Fschulezu = Create3DTextLabel("Fahrschule [GESCHLOSSEN]",0xFF0000B2,1319.3242,-1182.3680,23.5955,0,1);
    }
    if(zeit > 10 || zeit < 14|| zeit > 17 || zeit < 22 || zeit > 1 || zeit < 4 )
    {
    Delete3DTextLabel(Fschulezu1);
    Fschuleauf1 = Create3DTextLabel("Fahrschule [GEÖFFNET]",0xFF0000B2,1319.3242,-1182.3680,23.5955,0,1);
    }
    else
    {
    Delete3DTextLabel(Fschuleauf1);
    Fschulezu1 = Create3DTextLabel("Fahrschule [GESCHLOSSEN]",0xFF0000B2,1319.3242,-1182.3680,23.5955,0,1);
    }
    return 1;
    }


    So okay und wenn man jetzt auf dn Server draufgeht kommt kein 3D Label...
    Why?


    Vielen Dank
    Mfg Pascal ?(

  • Ich würde lieber Update3DTextLabelText verwenden

  • if(zeit < 10 || zeit > 14|| zeit < 17 || zeit > 22 || zeit < 1 || zeit > 4 )
    //
    if(zeit > 10 || zeit < 14|| zeit > 17 || zeit < 22 || zeit > 1 || zeit < 4 )

    Die sind ja mal völlig falsch.
    Nehmen wir mal an wir haben 16Uhr.


    zeit < 10 - FALSE
    zeit > 14 - TRUE
    zeit < 17 - TRUE
    zeit > 22 - FALSE
    zeit < 1 - FALSE
    zeit > 4 - TRUE


    Das hilft aber niemanden weiter o0.Denn egal bei welcher Uhrzeit,irgendwo wird TRUE rauskommen,was aber wohl nicht dein Ziel war.


    Mach es doch lieber so.
    if( ( Zeit > 12 ) && ( Zeit < 20 ) ) { // offen von 12uhr bis 20uhr
    }
    else { // geschlossen
    }


    Abgesehen davon,erstellst du 1000 von Timern.
    Entferne
    SetTimer("Updater",20000,1); in deinem Public.


    Und wie NeoPhoenix gesagt hat, wäre Update3DTextLabel viel praktischer

    Einmal editiert, zuletzt von Goldkiller ()

  • okay Danke werde es mal Testen =)



    //EDIT nach dem Test

    Wie meinst du das unter was soll ich "Update3DTextLabel " machen? sodass er Aktuallisiert wird?




    _________________________________________________________________________________________


    So sieht es jetzt aus:
    public Updater()
    {
    SetTimer("Updater",20000,1);
    new zeit;
    gettime(zeit);
    if( ( zeit > 12 ) && ( zeit < 20 ) )
    {
    Update3DTextLabelText(Fschule1, 0x006300C5, "Fahrschule [GEÖFFNET]");
    }
    else
    {
    Update3DTextLabelText(Fschule1, 0x006300C5, "Fahrschule [GESCHLOSSEN]");
    }

    if( ( zeit > 0 ) && ( zeit < 12 ) && ( zeit > 20 ) && ( zeit < 0 ) )
    {
    Update3DTextLabelText(Fschule2, 0x006300C5, "Fahrschule [GEÖFFNET]");
    }
    else
    {
    Update3DTextLabelText(Fschule2, 0x006300C5, "Fahrschule [GESCHLOSSEN]");
    }
    return 1;
    }


    Aber sie sind noch immer net da why?

    Einmal editiert, zuletzt von iVirtual ()

  • Ansonsten wäre deine Abfrage so richtig:


    if(zeit > 10 && zeit < 14|| zeit > 17 && zeit < 22 || zeit > 1 && zeit < 4 )

    Mfg Templer


    >>Dein Breadfish-Thema im Unterforum ScriptingBase / Scriptingwünsche wurde nicht richtig beantworter?<<
    >>Es handelt sich um ein Programmier Problem und du nicht einfach weiter kommst wo der Fehler sein könnte?<<
    Dann melde dich bei mir über die PN-Funktion indem du den Link zu deinem Breadfish-Themen Problem schickst.
    Voraussetzung:
    Thema älter als 1 Tag und im Breadfish Forum gespostet!

  • Schau dir mal bitte die Grundlagen an.
    public Updater()
    {
    //SetTimer("Updater",20000,1); <-- überflüssig,erstellt nur 1000 von Timern.
    new zeit;
    gettime(zeit);
    if( ( zeit > 12 ) && ( zeit < 20 ) ) // *** - Diese Zeile mit Templer's austauschen,falls Andere Öffnugnszeiten
    {
    Update3DTextLabelText(Fschule1, 0x006300C5, "Fahrschule [GEÖFFNET]");
    Update3DTextLabelText(Fschule2, 0x006300C5, "Fahrschule [GEÖFFNET]");
    }
    else
    {
    Update3DTextLabelText(Fschule1, 0x006300C5, "Fahrschule [GESCHLOSSEN]");
    Update3DTextLabelText(Fschule2, 0x006300C5, "Fahrschule [GEÖFFNET]");
    }
    /*
    Das kann man doch auch vereinfachen und beides oben einfügen,sofern die
    Öffnungszeiten die selben sind
    if( ( zeit > 0 ) && ( zeit < 12 ) && ( zeit > 20 ) && ( zeit < 0 ) )
    {
    Update3DTextLabelText(Fschule2, 0x006300C5, "Fahrschule [GEÖFFNET]");
    }
    else
    {
    Update3DTextLabelText(Fschule2, 0x006300C5, "Fahrschule [GESCHLOSSEN]");
    }
    */
    return 1;
    }

    Templer hat dir gezeigt,wie man die Öffnungszeiten zwischen 10Uhr - 14uhr , 17Uhr - 22Uhr und 01Uhr - 4Uhr hat. Vielleicht willst du diese ja so,dann müsstest du diese Zeile einfügen,dort wo Ich es im Quellcode markiert habe.


  • if( ( zeit > 12 ) && ( zeit < 20 ) ) // *** - Diese Zeile mit Templer's austauschen,falls Andere Öffnugnszeiten
    {
    Update3DTextLabelText(Fschule1, 0x006300C5, "Fahrschule [GEÖFFNET]");
    Update3DTextLabelText(Fschule2, 0x006300C5, "Fahrschule [GEÖFFNET]");
    }
    else
    {
    Update3DTextLabelText(Fschule1, 0x006300C5, "Fahrschule [GESCHLOSSEN]");
    Update3DTextLabelText(Fschule2, 0x006300C5, "Fahrschule [GEÖFFNET]");
    }
    Macht eigentlich keinen Sinn, weil man Fschule2 nicht updaten braucht, wenn sie eh immer geöffnet ist