Benutzer Diskussion:Darcduck: Unterschied zwischen den Versionen

Aus Eressea
Zur Navigation springenZur Suche springen
Darcduck (Diskussion | Beiträge)
code angefügt
Beispiel eingefügt
 
(3 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt)
Zeile 19: Zeile 19:
Ralf
Ralf


<nowiki>
Markup("eresseaturn","directives","/\\(:turn\\s*(\\d+):\\)/e",'EresseaTurn($1)');


function EresseaTurn($turn)
Markup("eresseaturn","directives","/\\(:turn\\s*(\\d+):\\)/e",'EresseaTurn($1)');
{
$EresseaSeasons=array();
$EresseaMonth=array();
$EresseaWeeks=array();


// Alte Zeitrechnung
function EresseaTurn($turn)
$EresseaSeasons[1]=array("Winter", "Winter", "Winter", "Frühling", "Frühling", "Frühling", "Sommer", "Sommer", "Sommer", "Herbst", "Herbst", "Herbst");
{
$EresseaMonth[1]=array("Januar","Februar", "März", "April", "Mai", "Juni", "Juli", "August", "September", "Oktober", "November", "Dezember");
$EresseaSeasons=array();
$EresseaWeeks[1]=array();
$EresseaMonth=array();
$EresseaWeeks=array();
// Alte Zeitrechnung
$EresseaSeasons[1]=array("Winter", "Winter", "Winter", "Frühling", "Frühling", "Frühling",
"Sommer", "Sommer", "Sommer", "Herbst", "Herbst", "Herbst");
$EresseaMonth[1]=array("Januar","Februar", "März", "April", "Mai", "Juni",  
"Juli", "August", "September", "Oktober", "November", "Dezember");
$EresseaWeeks[1]=array();
// Neue Zeitrechnung
$EresseaSeasons[2]=array("Sommer", "Herbst", "Herbst", "Winter", "Winter", "Winter",
"Frühling", "Frühling", "Sommer");
$EresseaMonth[2]=array("Feldsegen","Nebeltage", "Sturmmond", "Herdfeuer", "Eiswind", "Schneebann",
"Blütenregen", "Mond der milden Winde", "Sonnenfeuer");
$EresseaWeeks[2]=array("Erste", "Zweite", "Letzte");
$second_era_start=184;
if (is_numeric($turn))
{
$turn=intval($turn);
if ($turn<$second_era_start)
{
$era=1;
$normturn=$turn-1;
} else
{
$era=2;
$normturn=$turn-$second_era_start;
}
$turns_per_month=max(1,count($EresseaWeeks[$era]));
$turns_per_year=count($EresseaMonth[$era])*$turns_per_month;
$year=floor($normturn/$turns_per_year)+1;
$month=floor(($normturn-($year-1)*$turns_per_year)/$turns_per_month);
$week=$normturn%$turns_per_month;
$resultStr=($era==2)?$EresseaWeeks[$era][$week]." Woche des Monats ":"";
$resultStr.=$EresseaMonth[$era][$month];
$resultStr.=" des Jahres ".$year;
$resultStr.=" ($turn, ".$EresseaSeasons[$era][$month].")";
} else
{
$resultStr=$turn;
}
return $resultStr;
}


// Neue Zeitrechnung
$EresseaSeasons[2]=array("Sommer", "Herbst", "Herbst", "Winter", "Winter", "Winter", "Frühling", "Frühling", "Sommer");
$EresseaMonth[2]=array("Feldsegen","Nebeltage", "Sturmmond", "Herdfeuer", "Eiswind", "Schneebann", "Blütenregen", "Mond der milden Winde", "Sonnenfeuer");
$EresseaWeeks[2]=array("Erste", "Zweite", "Letzte");


$second_era_start=184;
----
if (is_numeric($turn))
{
$turn=intval($turn);
if ($turn<$second_era_start)
{
$era=1;
$normturn=$turn-1;
} else
{
$era=2;
$normturn=$turn-$second_era_start;
}
$turns_per_month=max(1,count($EresseaWeeks[$era]));
$turns_per_year=count($EresseaMonth[$era])*$turns_per_month;
$year=floor($normturn/$turns_per_year)+1;
$month=floor(($normturn-($year-1)*$turns_per_year)/$turns_per_month);
$week=$normturn%$turns_per_month;


$resultStr=($era==2)?$EresseaWeeks[$era][$week]." Woche des Monats ":"";
Was soll das tun? gibt's da einen Link zu einer Beispielseite?
$resultStr.=$EresseaMonth[$era][$month];
[[Benutzer:Enno|Enno]] 17:11, 29. Okt 2007 (CET)
$resultStr.=" des Jahres ".$year;
$resultStr.=" ($turn, ".$EresseaSeasons[$era][$month].")";
} else
{
$resultStr=$turn;
}


  return $resultStr;
----
}
Hier z.b. die Seeschlangensichtungen, bei der Seite wird von dem Markup gebrauch gemacht:
</nowiki>
 
http://wiki.duckstein.net/Welt13/SeeschlangenSichtungen
 
Aus <nowiki>"(:turn 410:)"</nowiki> wird "Zweite Woche des Monats Herdfeuer des Jahres 9 (410, Winter)"
 
Fürs Media-Wiki muss hauptsächlich die Einbindung überarbeitet werden.

Aktuelle Version vom 1. November 2007, 10:15 Uhr

Hallo Darcduck,

wenn ich das richtig erinnere gibt es bir Dir im Wiki doch was mit Rundennummer => Woche in Eressea. Kannst/Magst Du das hier auch zur Verfügung stellen?

Viele Grüße

Obermagier --Bruck 22:16, 18. Okt 2007 (CEST)


Hallo Bruck,

das Skript selbst ist ja recht simpel, man muss es halt nur als "Syntax" irgendwo im Wiki hinterlegen. Ich kann es also Enno zur Verfügung stellen, einbauen muss er es aber ;-)

Leider ist es noch nicht multilingual und bei der Einbindung in Sätze passt es auch nicht immer so richtig.

Grüsse

Ralf


Markup("eresseaturn","directives","/\\(:turn\\s*(\\d+):\\)/e",'EresseaTurn($1)');
function EresseaTurn($turn)
{
	$EresseaSeasons=array();
	$EresseaMonth=array();
	$EresseaWeeks=array();

	// Alte Zeitrechnung
	$EresseaSeasons[1]=array("Winter", "Winter", "Winter", "Frühling", "Frühling", "Frühling",
				 "Sommer", "Sommer", "Sommer", "Herbst", "Herbst", "Herbst");
	$EresseaMonth[1]=array("Januar","Februar", "März", "April", "Mai", "Juni", 
				 "Juli", "August", "September", "Oktober", "November", "Dezember");
	$EresseaWeeks[1]=array();

	// Neue Zeitrechnung
	$EresseaSeasons[2]=array("Sommer", "Herbst", "Herbst", "Winter", "Winter", "Winter",
				 "Frühling", "Frühling", "Sommer");
	$EresseaMonth[2]=array("Feldsegen","Nebeltage", "Sturmmond", "Herdfeuer", "Eiswind", "Schneebann",
				 "Blütenregen", "Mond der milden Winde", "Sonnenfeuer");
	$EresseaWeeks[2]=array("Erste", "Zweite", "Letzte");

	$second_era_start=184;
	if (is_numeric($turn))
	{
		$turn=intval($turn);
		if ($turn<$second_era_start)
		{
			$era=1;
			$normturn=$turn-1;
		} else
		{
			$era=2;
			$normturn=$turn-$second_era_start;
		}
		$turns_per_month=max(1,count($EresseaWeeks[$era]));
		$turns_per_year=count($EresseaMonth[$era])*$turns_per_month;
		$year=floor($normturn/$turns_per_year)+1;
		$month=floor(($normturn-($year-1)*$turns_per_year)/$turns_per_month);
		$week=$normturn%$turns_per_month;

		$resultStr=($era==2)?$EresseaWeeks[$era][$week]." Woche des Monats ":"";
		$resultStr.=$EresseaMonth[$era][$month];
		$resultStr.=" des Jahres ".$year;
		$resultStr.=" ($turn, ".$EresseaSeasons[$era][$month].")";
	} else
	{
		$resultStr=$turn;
	}

	return $resultStr;
}



Was soll das tun? gibt's da einen Link zu einer Beispielseite? Enno 17:11, 29. Okt 2007 (CET)


Hier z.b. die Seeschlangensichtungen, bei der Seite wird von dem Markup gebrauch gemacht:

http://wiki.duckstein.net/Welt13/SeeschlangenSichtungen

Aus "(:turn 410:)" wird "Zweite Woche des Monats Herdfeuer des Jahres 9 (410, Winter)"

Fürs Media-Wiki muss hauptsächlich die Einbindung überarbeitet werden.