Benutzer:Count Ypsilon/Skript:maplist2wiki.pl: Unterschied zwischen den Versionen

aus FreewarWiki, der Referenz für Freewar
Zur Navigation springen Zur Suche springen
(nur falls jemand, usw.)
 
(version passend zu neuem maplist.pl)
Zeile 1: Zeile 1:
Skript zur Generierung des Inhaltes der Seite [[Koordinaten (Liste)]] aus der Ausgabe des Skripts [[Benutzer:Count Ypsilon/Skript:maplist.pl]].
Skript zur Generierung des Inhaltes der Seite [[Koordinaten (Liste)]] aus der Ausgabe des Skripts [[Benutzer:Count Ypsilon/Skript:maplist.pl]].
Zwischendrin muss auch noch ein Umlaut-Wandlungs-Schritt gemacht werden, also
  perl maplist.pl | recode -f utf8..iso8859-1 | perl maplist2wiki.pl


(Achtung, im Source sind für diese Seite ein paar "nowiki"-Tags notwendig geworden.)
(Achtung, im Source sind für diese Seite ein paar "nowiki"-Tags notwendig geworden.)
Zeile 12: Zeile 8:
   my $koo=[];
   my $koo=[];
    
    
   print "Einige Zauber und Funktionen in Freewar verraten die aktuelle Position eines Charakters in Form von Koordinaten. Gerade bei Feldern, die nicht zur oberirdischen Hauptlandmasse von Freewar gehören, ist es oft schwer, herauszufinden, zu welchem Gebiet diese Koordinaten gehören.<br />Die folgende Liste hilft dabei. Alle Koordinaten sind in der Form '''X''','''Y''' unter dem Namen des Gebiets gelistet, zu dem sie gehören. So kann mit der Suchfunktion des Browsers leicht das Gebiet zu einer bestimmten Position ermittelt werden.<br />Die Liste ist automatisch aus den Wiki-Kartendaten erstellt (Stand 8.6.2006) und wird evtl. bei Kartenänderungen oder Fehlern auch automatisch wieder neu generiert; Änderungen an der Liste sind nicht sinnvoll. Stattdessen, wenn etwas auffällt, bitte auf der Diskussionsseite vermerken.<br />";
  my ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time);
  my $date = sprintf("%d.%d.%04d", $mday, $mon+1, $year+1900);
 
   print "Einige Zauber und Funktionen in Freewar verraten die aktuelle Position eines Charakters in Form von Koordinaten. Gerade bei Feldern, die nicht zur oberirdischen Hauptlandmasse von Freewar gehören, ist es oft schwer, herauszufinden, zu welchem Gebiet diese Koordinaten gehören.<br />Die folgende Liste hilft dabei. Alle Koordinaten sind in der Form '''X''','''Y''' unter dem Namen des Gebiets gelistet, zu dem sie gehören. So kann mit der Suchfunktion des Browsers leicht das Gebiet zu einer bestimmten Position ermittelt werden.<br />Die Liste ist automatisch aus den Wiki-Kartendaten erstellt (Stand $date) und wird evtl. bei Kartenänderungen oder Fehlern auch automatisch wieder neu generiert; Ã~Dnderungen an der Liste sind nicht sinnvoll. Stattdessen, wenn etwas auffällt, bitte auf der Diskussionsseite vermerken.<br />";
    
    
   while(<>)
   while(<>)
   {
   {
       next if (/^GET/);
       next if (/^GET/);
       my($gebiet,$x,$y,$npc) = split(/,/);
       my($gebiet,$x,$y,$npc,$rest) = split(/;/);
       next if ($npc =~ /^Ort|Wiedergeburt/);
       next if ($npc =~ /^Ort|Wiedergeburt/);
      next if ($gebiet eq "");
       if (($lg ne $gebiet) && (defined($lg)))
       if (($lg ne $gebiet) && (defined($lg)))
       {
       {
Zeile 34: Zeile 34:
   {
   {
       my($a,$b)=@_;
       my($a,$b)=@_;
       print "<nowiki>{{Überschriftensimulation 2|1={{Gebietslink|$a}}}}</nowiki>";
       <nowiki>print "{{Ã~\berschriftensimulation 2|1={{Gebietslink|$a}}}}";</nowiki>
       print join("; ", @{$b});
       print join("; ", @{$b});
   }
   }
    
    
   <nowiki>print "[[Kategorie:Allgemeines]][[Kategorie:Karten|!Koordinaten (Liste)]]\n";</nowiki>
   <nowiki>print "[[Kategorie:Allgemeines]][[Kategorie:Karten|!Koordinaten (Liste)]]\n";</nowiki>

Version vom 5. September 2006, 14:46 Uhr

Skript zur Generierung des Inhaltes der Seite Koordinaten (Liste) aus der Ausgabe des Skripts Benutzer:Count Ypsilon/Skript:maplist.pl.

(Achtung, im Source sind für diese Seite ein paar "nowiki"-Tags notwendig geworden.)

 #!/usr/bin/perl
 
 my $lg;
 my $koo=[];
 
 my ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time);
 my $date = sprintf("%d.%d.%04d", $mday, $mon+1, $year+1900);
 
 print "Einige Zauber und Funktionen in Freewar verraten die aktuelle Position eines Charakters in Form von Koordinaten. Gerade bei Feldern, die nicht zur oberirdischen Hauptlandmasse von Freewar gehören, ist es oft schwer, herauszufinden, zu welchem Gebiet diese Koordinaten gehören.
Die folgende Liste hilft dabei. Alle Koordinaten sind in der Form X,Y unter dem Namen des Gebiets gelistet, zu dem sie gehören. So kann mit der Suchfunktion des Browsers leicht das Gebiet zu einer bestimmten Position ermittelt werden.
Die Liste ist automatisch aus den Wiki-Kartendaten erstellt (Stand $date) und wird evtl. bei Kartenänderungen oder Fehlern auch automatisch wieder neu generiert; Ã~Dnderungen an der Liste sind nicht sinnvoll. Stattdessen, wenn etwas auffällt, bitte auf der Diskussionsseite vermerken.
"; while(<>) { next if (/^GET/); my($gebiet,$x,$y,$npc,$rest) = split(/;/); next if ($npc =~ /^Ort|Wiedergeburt/); next if ($gebiet eq ""); if (($lg ne $gebiet) && (defined($lg))) { if ($lg ne "Dummyplace") { gendump($lg, $koo); } $koo=[]; } $lg=$gebiet; push(@{$koo}, "$x,$y"); } sub gendump { my($a,$b)=@_; print "{{Ã~\berschriftensimulation 2|1={{Gebietslink|$a}}}}"; print join("; ", @{$b}); } print "[[Kategorie:Allgemeines]][[Kategorie:Karten|!Koordinaten (Liste)]]\n";