Vorbestimmtes Wetter

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,
    Da alles, was ich bisher versucht hatte nicht klappt, möchte ich hier jetzt mal nachfragen.
    Also ich möchte, dass das Wetter in einem Public, sprich public Wetter()//Für die,die nicht wissen was ich meine entweder auf die Wetterid
    2,19,8 oder 1 gesetzt wird.
    Die entscheidung soll aber durch "Zufall" entschieden werden.

  • public Wetter()
    {
    new rand = random(6); //Hier dann die Zahl ändern, die ihr als "case" habt.
    switch(rand)
    {
    case 0:
    {
    SetWeather(1//wetterid);
    SendClientMessageToAll(0x33AA33AA,"Das Wetter hat sich Verändert.");
    return 1;
    }
    case 1:
    {
    SetWeather(9//Wetterid);
    SendClientMessageToAll(0x33AA33AA,"Das Wetter hat sich Verändert.");
    }
    case 2:
    {
    SetWeather(19//wetterid);
    SendClientMessageToAll(0x33AA33AA,"Das Wetter hat sich Verändert.");
    }
    case 3:
    {
    SetWeather(22//wetterid);
    SendClientMessageToAll(0x33AA33AA,"Das Wetter hat sich Verändert.");
    }
    case 4:
    {
    SetWeather(8//Wetterid);
    SendClientMessageToAll(0x33AA33AA,"Das Wetter hat sich Verändert.");
    }
    case 5:
    {
    SetWeather(5//wetterid);
    SendClientMessageToAll(0x33AA33AA,"Das Wetter hat sich Verändert.");
    }
    case 6:
    {
    SetWeather(2//wetterid);
    SendClientMessageToAll(0x33AA33AA,"Das Wetter hat sich Verändert.");
    return 1;
    }
    }
    return 1;
    }


    Versuch mal das


    und nicht vergessen die noch rewinzubauen


    //Wetter
    SetTimer("Wetter",1000*60*60,1); //Alle 60min.


    forward Wetter();

  • so wie ich den dahin gemacht habe


    so ist der genau uas meinen script der ändert alle 60min das wetter änder mal die ids alle auf schlechtes wetter


    dann wirste merken das der geht

  • Klappt nicht, muss nicht bei random eine 7 hin? Sind mit der Null Sieben Zahlen
    Oder habe ich was vergessen?


    Was is ja lustig finde ist das du innerhalb von 20 min sagen kannst ob es funkt oder nicht.. dabei ist der Timer auf 60 min eingestellt. Und bei mir gehts(habe den Timer auf 5 min geändert)

    Mit freundlichen Grüßen
    Developer
    Go/Python Developer | ehm. Webdeveloper | Fachinformatiker Anwendungsentwicklung
    Arbeitet in einem cloudigen Umfeld bei einem der größten deutschen Rechenzentrumsbetreibern

  • random(6);


    ab da wird von 0-6 gerechnet also gibst du oben auch 6 an da die 0 automatisch ist

  • wenn du den auf 1ne sekunde stellst dann überforderst du den sozugagen mach mal


    1000*60*2 und warte mal ab


    wenn du probleme dabei hast, melde dich via pn dann mache ich dir das per teamviewer

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen
  • Es wird ja nichtmal die Nachricht "Das Wetter hat sich verändert" angezeigt, also daran liegt es nicht.
    Ich schicke mal alles Codes.


    forward Wetter();


    SetTimer("Wetter",1000*60*2,1);


    public Wetter()
    {
    new rand = random(6);
    switch(rand)
    {
    case 0:
    {
    SetWeather(1);
    SendClientMessageToAll(0x33AA33AA,"Das Wetter hat sich Verändert.");
    }
    case 1:
    {
    SetWeather(9);
    SendClientMessageToAll(0x33AA33AA,"Das Wetter hat sich Verändert.");
    }
    case 2:
    {
    SetWeather(19);
    SendClientMessageToAll(0x33AA33AA,"Das Wetter hat sich Verändert.");
    }
    case 3:
    {
    SetWeather(22);
    SendClientMessageToAll(0x33AA33AA,"Das Wetter hat sich Verändert.");
    }
    case 4:
    {
    SetWeather(8);
    SendClientMessageToAll(0x33AA33AA,"Das Wetter hat sich Verändert.");
    }
    case 5:
    {
    SetWeather(5);
    SendClientMessageToAll(0x33AA33AA,"Das Wetter hat sich Verändert.");
    }
    case 6:
    {
    SetWeather(2);
    SendClientMessageToAll(0x33AA33AA,"Das Wetter hat sich Verändert.");
    }
    }
    return 1;
    }


    Vielleicht habe ich ja einen Fehler gemacht und merke es nicht.

  • Ketchup, versuch mal 7, bei mir im selfmade mache ich auch immer eine zahl mehr[für die 0], bei mir klappt es immer nur so...

    __________________________________________


    Scripter & Programmierer im Ruhestand

    Derzeitiges Projekt:
    __________________________________________

  • Einerseits musst du die random erhöhen, da random eine Zahl von 0 bis max-1 liefert. Also wenn du random 6 machst 0-5.
    Dann kannst du den SendClient auch einmal unten rein posten, dann haste schonmal wieder weniger Byte in deinem Code.


    public Wetter()
    {
    new rand = random(7);
    switch(rand)
    {
    case 0:
    {
    SetWeather(1);
    }
    case 1:
    {
    SetWeather(9);
    }
    case 2:
    {
    SetWeather(19);
    }
    case 3:
    {
    SetWeather(22);
    }
    case 4:
    {
    SetWeather(8);
    }
    case 5:
    {
    SetWeather(5);
    }
    case 6:
    {
    SetWeather(2);
    }
    }
    SendClientMessageToAll(0x33AA33AA,"Das Wetter hat sich Verändert.");
    return 1;
    }


    Soweit sollte der Code funktionieren. Ein Fehler, den ich mir vorstellen könnte ist, dass du den SetTimer in den falschen Public gesetzt hast. Wo istn der SetTimer drin?

  • Und wo haste den SetTimer reingebaut ? Also der Public.
    Vllt wird der Public Wetter ja gar nicht erst aufterufen.


    Aber das lässt sich ganz einfach durch nen logeintrag festestellen.


    public Wetter()
    {
    print("Wetter Public aufgerufen"); // Den hier reinbaun und dann in der server log nach dem Eintrag 'Wetter Public aufgerufen' suchen.
    new rand = random(7);
    switch(rand)
    {
    case 0:
    {
    SetWeather(1);
    }
    case 1:
    {
    SetWeather(9);
    }
    case 2:
    {
    SetWeather(19);
    }
    case 3:
    {
    SetWeather(22);
    }
    case 4:
    {
    SetWeather(8);
    }
    case 5:
    {
    SetWeather(5);
    }
    case 6:
    {
    SetWeather(2);
    }
    }
    SendClientMessageToAll(0x33AA33AA,"Das Wetter hat sich Verändert.");
    return 1;
    }