FreewarWiki:Bot/Skripts/maplist2wiki.pl: Unterschied zwischen den Versionen

aus FreewarWiki, der Referenz für Freewar
Zur Navigation springen Zur Suche springen
Keine Bearbeitungszusammenfassung
 
Keine Bearbeitungszusammenfassung
Zeile 1: Zeile 1:
<pre>
#!/usr/bin/perl
#!/usr/bin/perl
use strict;
use strict;
Zeile 30: Zeile 31:


print "[[Kategorie:Allgemeines]][[Kategorie:Karten|!Koordinaten (Liste)]]\n";
print "[[Kategorie:Allgemeines]][[Kategorie:Karten|!Koordinaten (Liste)]]\n";
</pre>

Version vom 16. Februar 2009, 01:18 Uhr

#!/usr/bin/perl
use strict;

#in: maplist

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; Änderungen an der Liste sind nicht sinnvoll. Stattdessen, wenn etwas auffällt, bitte auf der Diskussionsseite vermerken.<br />";

my %areas;
while(<>) {
    next if (/^GET/);
    my($area, $accessible, $x, $y, $rest) = split(/;/);
    next unless($accessible);
    $areas{$area} = () if (!exists($areas{$area}));
    push(@{$areas{$area}}, "$x,$y");
}

foreach my $area (sort(keys(%areas))) {
    gendump($area, $areas{$area});
}

sub gendump
{
    my($area, $coords)=@_;
    print "{{Überschriftensimulation 2|1={{Gebietslink|$area}}}}";
    print join("; ", @{$coords});
}

print "[[Kategorie:Allgemeines]][[Kategorie:Karten|!Koordinaten (Liste)]]\n";