anpera.net

anpera.net

experimental server @home
Aktuelle Zeit: So 08 Jun, 2025 21:20

Alle Zeiten sind UTC + 1 Stunde




Ein neues Thema erstellen Auf das Thema antworten  [ 29 Beiträge ]  Gehe zu Seite 1, 2  Nächste
Autor Nachricht
 Betreff des Beitrags: Vier Jahreszeiten
BeitragVerfasst: Do 11 Okt, 2007 19:37 
Offline
Eingeweihter
Eingeweihter
Benutzeravatar

Registriert: Fr 10 Aug, 2007 17:18
Beiträge: 76
Wohnort: Germany
Geschlecht: Weiblich
Hallo...
Also, mir ist heute so ein Gedanke durch den Kopf geschossen und somit hab ich nun eine kleine 'Rätselfrage' an die Progger...

Eine Wetter funktion gibt es ja schon, aber das geht ja ab wie russisches Roulette.
Jedenfalls... Kann man vielleicht ein Programm schreiben, das gezielt auf die vier Jahreszeiten anspringt und auch somit brav das Wetter ändert? Es gibt ja schon was, wo man quasi einen realen Tag mit Morgen, Mittag...etc bekommt. Somit wäre es ja auch nicht unrealistisch, die Jahreszeiten zu haben, da das Logd ja sowiso ne eigene Zeitrechnung hat.
Wäre sowas also überhaupt möglich?

Wie schon gesagt, es war nur ein Gedankenblitz und ich hab von sowas ja kaum Ahnung. Aber mich würde es halt interessieren, ob das grundsätzlich möglich wäre. ;)

Grüßle, Llynya

_________________
Jeder fängt mal klein an
und ich bin noch ganz klein. ^^
Habt nachsicht mit mir....


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Vier Jahreszeiten
BeitragVerfasst: Do 11 Okt, 2007 20:21 
Offline
Marquis Pherae
Marquis Pherae

Registriert: Mi 09 Feb, 2005 16:01
Beiträge: 3925
Wohnort: Basel
Geschlecht: Männlich
Ich hab schon so etwas ähnliches:
[php]switch(mt_rand(1, 11)) {
case 1:
case 2:
$clouds = 'Regnerisch';
$temperatur = '14-18°C';
break;

case 3:
case 4:
$clouds = 'Neblig';
$temperatur = '10-16°C';
break;

case 5:
case 6:
$clouds = 'Sonnig und bewölkt';
$temperatur = '20-25°C';
break;

case 7:
case 8:
$month = er_getgamemonth();
if($month >= 12 OR $month < 3) {
$clouds = 'Starker Schneefall und Eiseskälte';
$temperatur = '-5-0°C';
}
elseif($month >= 3 OR $month < 6) {
$clouds = 'Kühl und leichte Gewitter';
$temperatur = '15-19°C';
}
elseif($month >= 6 OR $month < 9) {
$clouds = 'Sonnig und wolkenlos';
$temperatur = '23-30°C';
}
else {
$clouds = 'Herbststürme';
$temperatur = '17-22°C';
}
break;

case 9:
case 10:
$clouds = 'Sonnig und wolkenlos';
$temperatur = '23-30°C';
break;

case 11:
$clouds = 'Sturm';
$temperatur = '17-21°C';
break;
}[/php]

Normaler Wetterumschwung halt, nur, dass in 2 Fällen Jahreszeitspezifisches ausgewählt wird. WIe du an $month kommst, weiss ich allerdings nicht mehr aus dem Stehgreif - obige FUnktion ist es sicher nicht.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do 11 Okt, 2007 20:26 
Offline
Eingeweihter
Eingeweihter
Benutzeravatar

Registriert: Sa 04 Aug, 2007 20:46
Beiträge: 65
Die Monate könnte man mit der Funktion gamedate ermitteln das sollte kein Problem sein ;)

_________________
Niveau ist noch immer keine Hautcreme
[php]$my = &new Brain;
$infos = $my->execute_command('Load PHP,SQL,XHTML,CSS,XML,JS Informations');
$my->convert('Information to text',$infos);
$my->kill_human_on_error();[/php]


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do 11 Okt, 2007 21:59 
Offline
Freak
Freak

Registriert: So 30 Okt, 2005 17:48
Beiträge: 1408
Wohnort: PB
Geschlecht: Männlich
LoGD: http://dav.blood-reaver.de/lotgd/
Hm.. ich würde das Folgendermaßen anlegen:

Je Jahreszeit (oder monat, wenn manes feiner aufgelöst haben will) Einen datensatz anlegen, der die möglichen Wettertypen dieser Jahreszeit besitzt.
In einer einfachen Fassung wird einfach aus diesen einer zufällig ausgewählt - viel interessanter fände ich allerdings folgendes:

Nehmen wir mal alle möglichen Wetertypen als Objekt und geben ihnen eine Liste von möglichen "Nachfolgern" und ihrer Wahrscheinlichkeit mit. Nun Filtern wir die raus, die nicht zur Jahreszeit passen und wählen dann (gemäß der mitgegebenen Wahrscheinlichkeit) das neue Wetter per Zufallswert aus.

Beispiel:
Jahreszeit:
Winter(Schnee, Regen, Kalt & Klar, Sturm, Mild);
Wettertyp (Nachfolger[Wahrscheinlichkeit]):
Mild(Regen[3],Kalt & Klar[5],Sturm[1],Mild[3],Schnee[2],Sonnenschein[2], Steife Breise[3])
Möglichkeiten Gesammt: 3+5+1+3+2+2+3 = 19
Nichtmögliche Wettertypen für Winter: Steife Briese, Sonnenschein
Verbleibende Gesammtmöglichkeiten: 3+5+1+3+2 = 14
Zufallszahl zwischen 1 und 14 = 6
Passender Wert zur Zufallszahl = neues Wetter: Kalt & Klar

So bekommt man ein recht realistisches System, das modular erweiterbar ist. Wer lust auf noch mehr hat, könnte beispielsweise bei den Jahreszeiten noch mitgeben, wie wahrscheinlich die einzelnen Verfügbaren Wettertypen sind und diese mit der Wahrscheinlichkeit aus dem aktuellen Wetter multiplizieren und so weiter...

Höchst interessante Sache heheheh
*zu viel Stochastik gemacht hat*

Auric

_________________
Mehr oder minder inaktiv


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr 12 Okt, 2007 00:27 
Offline
Eingeweihter
Eingeweihter
Benutzeravatar

Registriert: Fr 10 Aug, 2007 17:18
Beiträge: 76
Wohnort: Germany
Geschlecht: Weiblich
Also, Monate hätt ich net mal gedacht. ^^° Eben nur Frühling, Sommer, Herbst und Winter. =)
Meiner Meinung nach wäre das eh ausreichend. ^^ Ich dachte eben nur, dass so nur im Winter Schnee kommt, im Herbst regnets, im Sommer eben Sonne und Frühling, ne Windesbriese oder wie auch immer. xD

_________________
Jeder fängt mal klein an
und ich bin noch ganz klein. ^^
Habt nachsicht mit mir....


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mi 21 Nov, 2007 21:39 
Offline
Held
Held

Registriert: Mo 23 Jan, 2006 13:15
Beiträge: 222
Kam bei diesem Thread noch etwas bei heraus?

Ich würde bei mir das Wetter auch gerne anpassen nach der RealLife-Jahreszeit.
Jetzt zum Bsp von Okt bis Nov würd ich gerne nur Wetter erscheinen lassen, dass trist und herbstlich ist.

von Dez bis Febr (von mir aus) Winterwetter

usw..

Wie händel ich das? Ich hab das schon mal gesehen...
Ist es sowas, was ich da aus Elis beitrag sehe?
Muss ich die cases in der setnewday alle neu anlegen?


Grüße,
verni :wink:

_________________
»Esgorath«

Source


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mi 21 Nov, 2007 22:03 
Offline
Marquis Pherae
Marquis Pherae

Registriert: Mi 09 Feb, 2005 16:01
Beiträge: 3925
Wohnort: Basel
Geschlecht: Männlich
vernisage hat geschrieben:
Kam bei diesem Thread noch etwas bei heraus?

Ich würde bei mir das Wetter auch gerne anpassen nach der RealLife-Jahreszeit.
Jetzt zum Bsp von Okt bis Nov würd ich gerne nur Wetter erscheinen lassen, dass trist und herbstlich ist.

von Dez bis Febr (von mir aus) Winterwetter

usw..

Wie händel ich das? Ich hab das schon mal gesehen...
Ist es sowas, was ich da aus Elis beitrag sehe?
Muss ich die cases in der setnewday alle neu anlegen?


Grüße,
verni :wink:


Das bei case 7 und 8 müsste, angepasst auf deine libs, das richtige sein. Bei RealLife reicht sogar die Funktion date('m')


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do 22 Nov, 2007 09:49 
Offline
Held
Held

Registriert: Mo 23 Jan, 2006 13:15
Beiträge: 222
Ok, danke...

Bevor ich jetzt alles umsetze...

könnte es ~so~ dann aussehen??

(Nur ein Anfang....)

[php]switch(e_rand(1,29)){

$month = date('m');
if($month >= 4 OR $month < 7) {
case 1:
$clouds="Wechselhaft und kühl, mit sonnigen Abschnitten";
break;
case 2:
$clouds="Bewölkt";
break;
case 3:
$clouds="Frühlingshaft mit Sonnenschein";
break;
case 4:
$clouds="Regnerisch";
break;
case 5:
$clouds="Aufgelockert und etwas wärmer";
break;
case 6
$clouds="Warm und sonnig";
break;
case 7:
$clouds="Windig, aber trocken";
break;

}
elseif($month >= 7 OR $month < 10) {
case 8:
$clouds="Regnerisch";
break;
case 9:
$clouds="Heiß und sonnig";
break;
[/php]

oder muss ich die switch in einzelne Abschnitte?

_________________
»Esgorath«

Source


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do 22 Nov, 2007 11:32 
Offline
Freak
Freak
Benutzeravatar

Registriert: Sa 15 Okt, 2005 14:06
Beiträge: 864
Geschlecht: Männlich
LoGD: http://shinobilegends.com
:D um mal was beizusteuern:


a) switch von 1-29 ist ok, aber leider wird ja nicht jeder case abgerufen, also sollte ein default definiert sein
Eliwood hat das vollständig definiert.

b) wird es so gewünscht, daß auf regen praktisch nur regen->sonne oder regen->regen kommen kann.
in anderen jahreszeiten regen->schnee?

wenn ja, dann stellt bitte sowas auf.
das kann man in Code umsetzen ^^

Im Sommer, was die Monate Juni bis September betrifft, gilt:
Regen -> Sonne
Regen -> Regen
Sonne -> Regen
Sonne -> Sonne
Regen -> Hagel
Hagel -> Sonne

oder so...

dann ist es "schlüssig" und nicht mehr rein zufällig

_________________
Entwicklung Lotgd 1.2.2 +nb
1.2.1 +nb ist final

Bugreports/Testing erwünscht, http://nb-core.org

Wichtige Info für Programmierersucher:
viewtopic.php?f=34&t=4285


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do 22 Nov, 2007 20:41 
Offline
Marquis Pherae
Marquis Pherae

Registriert: Mi 09 Feb, 2005 16:01
Beiträge: 3925
Wohnort: Basel
Geschlecht: Männlich
Regel Nummer 1, was switches angeht: Das einzige, was in einer switch stehen kann, ist default oder case, gefolgt von einem Doppelpunkt. Etwas anderes ist nicht möglich!
Der case-Block (oder default) wird mit break; geschlossen. Danach darf wiederum nur case stehen, oder default, wenn noch kein anderes default da steht. Dein switch wird also schon mal Parsefehler verursachen ;)

(Aber keine Sorge - manchmal vergisst man es einfach. Hatte vorgestern auch Kommandos wie deine direkt nach switch)

PS: Um alternativ viele Fähle abzufangen gibt es einen Trick, der allerdings etwas langsamer ist:

[php]$rand = mt_rand(1, 100); # Oder e_rand für eine andere Verteilung
switch(TRUE) {
case ($rand < 10):
break;

# [...]
case ($rand <= 90 && $rand > 70):
break;

default:
break; # optional, da am Schluss, aber besser.
}[/php]


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do 22 Nov, 2007 23:26 
Offline
Freak
Freak

Registriert: So 30 Okt, 2005 17:48
Beiträge: 1408
Wohnort: PB
Geschlecht: Männlich
LoGD: http://dav.blood-reaver.de/lotgd/
Eliwood hat geschrieben:
[...]Der case-Block (oder default) wird mit break; geschlossen. Danach darf wiederum nur case stehen, oder default, wenn noch kein anderes default da steht.[...]


Hier muss ich doch einmal korregierend einschriten:
break-Anweisungen sind parsertechnisch allesamt optional, folgendes Konstrukt dürfte also ohne murren akzeptiert werden:
[php]
<?php
function minimum_three() {
return "The result was greater than or equal 3<br />\n";
}

function minimum_two() {
return "The result was greater than or equal 2<br />\n";
}

function minimum_one() {
return "The result was greater than or equal 1<br />\n";
}

$return = "Resultstring :<br />\n";
switch(mt_rand(0,3)) {
case 3:
$return .= minimum_three();
case 2:
$return .= minimum_two();
case 1:
$return .= minimum_one();
default:
$return .= "And for sure the result was at least greater or equal 0";
}
?>[/php]
Dieses Codestück demonstriert jedoch auch den Grund, warum normalerweise break-Anweisungen verwendet werden. Sind diese nicht gesetzt, spricht man von einer Durchfallschaltung. Es werden also alle darunterliegenden Ereignise mit einbezogen.
Wird also eine 2 Berechnet, so werden die Funktionen minimum_two, minimum_one und natürlich die "manuelle" Stringverkettung in der Default-Anweisung durchgeführt. Stünde hinter den case-Blöcken ein break; so würde immer nur eine Funktion aufgerufen.

Im Normalfall - zumindest in der FOrm, wie wir sie hier benötigen hat die switch-Anweisung jedoch eher den Charakter eine ElseIf-Schaltung mit vielen Alternativen (wobei sie auch schneller ist als jene), wesshalb für die Programmlogik dieses Falls ein break nötig ist (Was nicht ausschliest, das man auf Teufel komm raus nicht auch mit komplexteren Durchfallschaltungen arbeiten könnte - ob das Sinn macht steht auf einen ganz anderen Blatt)

Soviel von mir,
Auric

_________________
Mehr oder minder inaktiv


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr 23 Nov, 2007 13:44 
Offline
Großmeister
Großmeister
Benutzeravatar

Registriert: Fr 06 Jan, 2006 01:33
Beiträge: 459
Wohnort: Simmern
Geschlecht: Männlich
LoGD: http://www.morpheus-lotgd.de
Ich habe die Wetterfunktion von dem ehemaligen Admin des Servers, auf dem ich damals als Admin tätig war, geerbt, ist schon ganz fein:

$this->bbcode_second_pass_code('', '
//Wettermod by Nyx

$date = getsetting('gamedate','0000-01-01');
$date = explode('-',$date);
$monat = $date[1];


if (($monat == 1) || ($monat == 2)) {
switch(e_rand(1,3)) {
case 1:
$clouds = "kalt mit Schneefall";
break;
case 2:
$clouds = "klirrend kalt bei klarem Himmel";
break;
case 3:
$clouds = "kalt mit Schneegestöber";
break;
}
}
elseif (($monat == 3) || ($monat == 4)) {
switch(e_rand(1,3)) {
case 1:
$clouds = "regnerisch";
break;
case 2:
$clouds = "neblig";
break;
case 3:
$clouds = "windig";
break;
}
}
elseif (($monat == 5) || ($monat == 6)) {
switch(e_rand(1,4)) {
case 1:
$clouds = "bewölkt";
break;
case 2:
$clouds = "kühl bei klarem Himmel";
break;
case 3:
$clouds = "stark windig mit vereinzelten Regenschauern";
break;
case 4:
$clouds = "aufgelockert und etwas wärmer";
break;
}
}
elseif (($monat == 7) || ($monat == 8)) {
switch(e_rand(1,4)) {
case 1:
$clouds = "warm und schwül";
break;
case 3:
$clouds = "sonnig und heiß";
break;
case 3:
$clouds = "warm mit Sommergewitter";
break;
case 4:
$clouds = "sehr, sehr heiß";
break;
}
}
elseif (($monat == 9) || ($monat == 10)) {
switch(e_rand(1,5)) {
case 1:
$clouds = "sehr warm";
break;
case 2:
$clouds = "stark windig, aber warm";
break;
case 3:
$clouds = "regnerisch mit Gewitterstürmen";
break;
case 4:
$clouds = "kühl";
break;
case 5:
$clouds = "windig und frisch";
break;
}
}
elseif (($monat == 11) || ($monat == 12)) {
switch(e_rand(1,5)) {
case 1:
$clouds = "kalt";
break;
case 2:
$clouds = "bewölkt bei leichtem Schneefall";
break;
case 3:
$clouds = "kalt bei flockigem Weihnachtsschneefall";
break;
case 4:
$clouds = "kalt bei Schneeregen";
break;
case 5:
$clouds = "saukalt bei klarem Himmel";
break;
}
}

savesetting("weather",$clouds);
')

Das funktioniert schon seit einer Ewigkeit einwandfrei und kann von mir aus gerne übernommen werden, aber bitte den Namen des Programmieres nicht löschen! ;) :wink:

_________________
Ich bin das Land, meine Augen sind der Himmel, meine Glieder die Bäume, ich bin der Fels, die Wassertiefe. Ich bin nicht hier, um die Natur zu beherrschen oder sie auszubeuten. Ich bin selbst Natur.

(Hopi)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr 23 Nov, 2007 14:55 
Offline
Freak
Freak

Registriert: Mo 06 Sep, 2004 15:17
Beiträge: 3236
Geschlecht: Männlich
Etwas kleiner. ^^
Mehr just 4 fun. . ., obwohl dabei fraglich ist, wie Performant es ist. Sollte wesentlich mehr sein, als der vorherige schnipsel. . .

[php]<?php
$date = getsetting('gamedate','0000-01-01');
$date = explode('-',$date);

$weather = array( '1,2' => array('kalt mit Schneefall', 'klirrend kalt bei klarem Himmel, kalt mit Schneegestöber')
, '3,4' => array('regnerisch', 'neblig', 'windig')
, '5,6' => array('bewölkt', 'kühl bei klarem Himmel', 'stark windig mit vereinzelten Regenschauern', 'aufgelockert und etwas wärmer')
, '7,8' => array('warm und schwül', 'sonnig und heiß', 'warm mit Sommergewitter', 'sehr, sehr heiß')
, '9,10' => array('sehr warm', 'stark windig, aber warm', 'regnerisch mit Gewitterstürmen', 'kühl', 'windig und frisch')
, '11,12' => array('kalt', 'bewölkt bei leichtem Schneefall', 'kalt bei flockigem Weihnachtsschneefall', 'kalt bei Schneeregen', 'saukalt bei klarem Himmel')
);

$clouds = $weather[$date[1].','.(++$date[1])];
shuffle($clouds);

savesetting('weather', current($clouds));
?>[/php]


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr 23 Nov, 2007 17:17 
Offline
Held
Held

Registriert: Mo 23 Jan, 2006 13:15
Beiträge: 222
Kann ich für jeweils die beiden letzten Schnippsel
anstelle von 'gamedate' auch nur Eli's 'date' nehmen?
Weil ich das ja auf die RealLife Monate übernehmen möchte und nicht auf die Monate, die im Spiel ablaufen.

_________________
»Esgorath«

Source


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr 23 Nov, 2007 18:49 
Offline
Marquis Pherae
Marquis Pherae

Registriert: Mi 09 Feb, 2005 16:01
Beiträge: 3925
Wohnort: Basel
Geschlecht: Männlich
Sagte ich ja ^^

[php]<?php
$date = date('m');

$weather = array( '1,2' => array('kalt mit Schneefall', 'klirrend kalt bei klarem Himmel, kalt mit Schneegestöber')
, '3,4' => array('regnerisch', 'neblig', 'windig')
, '5,6' => array('bewölkt', 'kühl bei klarem Himmel', 'stark windig mit vereinzelten Regenschauern', 'aufgelockert und etwas wärmer')
, '7,8' => array('warm und schwül', 'sonnig und heiß', 'warm mit Sommergewitter', 'sehr, sehr heiß')
, '9,10' => array('sehr warm', 'stark windig, aber warm', 'regnerisch mit Gewitterstürmen', 'kühl', 'windig und frisch')
, '11,12' => array('kalt', 'bewölkt bei leichtem Schneefall', 'kalt bei flockigem Weihnachtsschneefall', 'kalt bei Schneeregen', 'saukalt bei klarem Himmel')
);

$clouds = $weather[$date.','.(++$date)];
shuffle($clouds);

savesetting('weather', current($clouds));
?>[/php]


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mi 28 Nov, 2007 14:43 
Offline
Held
Held

Registriert: Mo 23 Jan, 2006 13:15
Beiträge: 222
*gna*
Ich wollte gerne, dass dennoch pro Spieltag das Wetter wechselt (nach realen Monaten aufgegliedert) und nicht nur am tatsächlichen nächsten Tag.
Geht das?

Hatte nämlich jetzt Eli's Version mit meinen Wetterbeschreibungen genommen und am neuen Spieltag war noch das Wetter vom Vorspieltag.

Hab jetzt Morpheus Komplex (mit meinen Wetterbeschreibungen) eingesetzt und warte auf die nächste Session.

_________________
»Esgorath«

Source


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mi 28 Nov, 2007 16:55 
Offline
Marquis Pherae
Marquis Pherae

Registriert: Mi 09 Feb, 2005 16:01
Beiträge: 3925
Wohnort: Basel
Geschlecht: Männlich
vernisage hat geschrieben:
Hatte nämlich jetzt Eli's Version mit meinen Wetterbeschreibungen genommen und am neuen Spieltag war noch das Wetter vom Vorspieltag.


Nur so: Wenn der Zufall es will, kann es auch sein, dass auf zwei Tagen das gleiche Wetter kommt ;)

Wenn du meine erste Version genommen hast, kann es auch sein, dass du versehentlich den Speicherpunkt überschrieben hast, oder aber dass sich meine Variablen von deinen Unterscheiden. Prinzipell funktioniert es - zumindest bei mir (Apache 2.2.4, PHP 5.2.3)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mi 28 Nov, 2007 20:19 
Offline
Held
Held

Registriert: Mo 23 Jan, 2006 13:15
Beiträge: 222
Hm, also mein Wetter ist unverändert.
Als ich die Änderungen hochgeladen habe, stand das Wetter auf "windig".
Aber in meiner Variable für den Monat 11 gibt es jetzt kein "windig" mehr.

Derzeit habe ich noch in der setnewday die Variante von Morpheus drin, die so anfängt:

[php]$date = getsetting('date','m');
$date = explode('-',$date);
$monat = $date[1];


if (($monat == 1) || ($monat == 2) || ($monat == 12)) {
switch(e_rand(1,7)) {
case 1:
$clouds = "Kalt bei klarem Himmel";
break;
case 2:
$clouds = "Schneeregen";
break;
case 3:
$clouds = "Kalt und frostig bei heftigem Wind";
break;

......

[/php]

Bei deiner:

[php]$date = date('m');

$weather = array( '1,2,12' => array('Kalt bei klarem Himmel',
'Schneeregen', 'Kalt und frostig bei heftigem Wind',
'Lockerer Schneefall', 'Klirrend kalt bei klarem Himmel', 'Schneegestöber',
'Winterlich mit Schneefall')

......

[/php]


blieb das Wetter auch auf "windig" .

(Hab nicht alle Monate hier nun aufgelistet)

Sieht es so aus, als würde es nicht gehen?

_________________
»Esgorath«

Source


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do 29 Nov, 2007 20:40 
Offline
Marquis Pherae
Marquis Pherae

Registriert: Mi 09 Feb, 2005 16:01
Beiträge: 3925
Wohnort: Basel
Geschlecht: Männlich
vernisage hat geschrieben:
[php]$date = getsetting('date','m');
$date = explode('-',$date);
$monat = $date[1]; [/php]


Da ist schon der erste Fehler. Selbstverständlich gibt e kein setting mit Namen "date".

[php]$monat = date('m');[/php]


vernisage hat geschrieben:
[php]$date = date('m');

$weather = array( '1,2,12' => array('Kalt bei klarem Himmel',
'Schneeregen', 'Kalt und frostig bei heftigem Wind',
'Lockerer Schneefall', 'Klirrend kalt bei klarem Himmel', 'Schneegestöber',
'Winterlich mit Schneefall')[/php]


Wieder logisch, dass das nicht geht. Leider ist das n' C&P-Fehler, den ich von Kevz übernommen habe. Leider kann ich nicht einmal rekonstruieren, wie das Kevz gemeint hat - nun gut. So in etwa könnte das ganze funktionieren:

[php]
$date = date('m');

$weathertypes = array(
'winter' => array('kalt mit Schneefall', 'klirrend kalt bei klarem Himmel', 'kalt mit Schneegestöber'), # Typus 1. "Winter".
'summer' => array('warm und schwül', 'sonnig und heiss', 'warm mit Sommergewitter', 'sehr, sehr heiss'),
);

$weather = array(
# monatszahl => Typus
1 => 'winter',
2 => 'winter',
6 => 'summer',
7 => 'summer',
8 => 'summer',
12 => 'winter',
);

$clouds = $weathertypes[$weather[$date]];
$nowcloud = $clous[mt_rand(0, count($clouds)-1)];

savesetting('weather', $nowcloud);
[/php]

Edit: Selbstverständlich müssen bei mir alle Monate abgedeckt werden - aus Faulheit hab ich nun Herbst und Frühling ausser acht gelassen. Mit der Methode lässt sich sogar feiner - also nach allen 12 Monaten - trennen. Die Funktionalität müsste ersichtlich sein. Pro Wettertyp sind - selbstredend - beliebig viele Wetter erlaubt.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr 30 Nov, 2007 05:37 
Offline
Großmeister
Großmeister
Benutzeravatar

Registriert: Fr 06 Jan, 2006 01:33
Beiträge: 459
Wohnort: Simmern
Geschlecht: Männlich
LoGD: http://www.morpheus-lotgd.de
vernisage hat geschrieben:
Hm, also mein Wetter ist unverändert.
Als ich die Änderungen hochgeladen habe, stand das Wetter auf "windig".
Aber in meiner Variable für den Monat 11 gibt es jetzt kein "windig" mehr.

Derzeit habe ich noch in der setnewday die Variante von Morpheus drin, die so anfängt:

[php]$date = getsetting('date','m');
$date = explode('-',$date);
$monat = $date[1];


if (($monat == 1) || ($monat == 2) || ($monat == 12)) {
switch(e_rand(1,7)) {
case 1:
$clouds = "Kalt bei klarem Himmel";
break;
case 2:
$clouds = "Schneeregen";
break;
case 3:
$clouds = "Kalt und frostig bei heftigem Wind";
break;

......

[/php]

Bei deiner:

[php]$date = date('m');

$weather = array( '1,2,12' => array('Kalt bei klarem Himmel',
'Schneeregen', 'Kalt und frostig bei heftigem Wind',
'Lockerer Schneefall', 'Klirrend kalt bei klarem Himmel', 'Schneegestöber',
'Winterlich mit Schneefall')

......

[/php]


blieb das Wetter auch auf "windig" .

(Hab nicht alle Monate hier nun aufgelistet)

Sieht es so aus, als würde es nicht gehen?


*Hüstel* für falschen Einbau kann ich auch nichs, denn wenn Du noch mal eine Seite zurück gehst, wirst Du sehen, meine Variante beginnt so:
$this->bbcode_second_pass_code('', '
//Wettermod by Nyx

$date = getsetting('gamedate','0000-01-01');
$date = explode('-',$date);
$monat = $date[1];
')
;)

_________________
Ich bin das Land, meine Augen sind der Himmel, meine Glieder die Bäume, ich bin der Fels, die Wassertiefe. Ich bin nicht hier, um die Natur zu beherrschen oder sie auszubeuten. Ich bin selbst Natur.

(Hopi)


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 29 Beiträge ]  Gehe zu Seite 1, 2  Nächste

Alle Zeiten sind UTC + 1 Stunde


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 13 Gäste


Du darfst keine neuen Themen in diesem Forum erstellen
Du darfst keine Antworten zu Themen in diesem Forum erstellen
Du darfst deine Beiträge in diesem Forum nicht ändern
Du darfst deine Beiträge in diesem Forum nicht löschen
Du darfst keine Dateianhänge in diesem Forum erstellen

Suche nach:
Gehe zu:  
POWERED_BY
Deutsche Übersetzung durch phpBB.de
anpera.net - Impressum