Automatische Wetteränderung

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
  • Hey Com,


    ich versuche mich momentan daran mein Script mit einem neuen Feature auszustatten ;)
    Undzwar soll das Wetter in regelmäßigen Abständen geändert werden (alle 30 Min).
    Klar, also einfach en Timer und da dann per SetWeather() das Wetter ändern. Das Problem: Es wird überall geändert, also auch in Interioren, und da siehts ziemlich doof aus wenn wegen nem Sandsturm alles voller "Nebel" is und man nix mehr erkennen kann. Also hab ich mir überlegt das Wetter für jeden Spieler einzeln ändern zu lassen, damit ich mein Problem lösen kann. Habe es einfach mal so versucht:


    public Timer1800()
    {
    cWeather = random(sizeof(random_weather));
    for(new i = 0;i<MAX_PLAYERS;i++)
    {
    if(GetPlayerInterior(i) == 0){SetPlayerWeather(i,random_weather[cWeather]);}
    }
    return 1;
    }


    public OnPlayerInteriorChange(playerid,newinteriorid,oldinteriorid)
    {
    if(newinteriorid == 0)
    {
    SetPlayerWeather(playerid,cWeather);
    }
    else
    {
    SetPlayerWeather(playerid,0);
    }
    return 1;
    }


    random_weather ist einfach ein Array in dem ein paar Weather-ID's gespeichert sind.


    Das ganze soll halt bewirken, das wenn ein Spieler draussen ist (0) das momentane Wetter ihn umgibt, und wenn er in einem Interior ist (!= 0) sein Wetter auf ID 0 gesetzt wird.
    Warum ich jetzt diesen Thread schreibe, ganz einfach, das Wetter wird bei dem Timer immer geändert, egal ob in Interior oder nicht. Frage: Wieso? ;)


    Ryan