Kategorien
FreewarWiki:Bot/Skripts/npclist2wiki.pl: Unterschied zwischen den Versionen
< FreewarWiki:Bot | Skripts
Zabuza (Diskussion | Beiträge) (analog) |
K (Bot: Automatisierte Textersetzung (-prettytable +wikitable)) |
||
(6 dazwischenliegende Versionen von 4 Benutzern werden nicht angezeigt) | |||
Zeile 3: | Zeile 3: | ||
#!/usr/bin/perl | #!/usr/bin/perl | ||
#inout: npclist | #inout: npclist | ||
use constant CUnknown => "?"; | use constant CUnknown => "?"; | ||
use POSIX; | use POSIX; | ||
Zeile 12: | Zeile 11: | ||
my $myTimestamp = sprintf("%.2d.%.2d.%d %.2d:%.2d", $mday, $mon+1, $year+1900, $hour, $min); | my $myTimestamp = sprintf("%.2d.%.2d.%d %.2d:%.2d", $mday, $mon+1, $year+1900, $hour, $min); | ||
print " | print "{{Vorlage:BotUpdate|Datum=". $myTimestamp ."|Skripte=[[FreewarWiki:Bot/Skripts/npclist2wiki.pl]]}} | ||
Die Buttons neben den \N{U+0026}Uuml;berschriften k\N{U+0026}ouml;nnen zum Sortieren angeklickt werden. Da die Liste sehr lang ist, kann dies allerdings einige Sekunden dauern. | Die Buttons neben den \N{U+0026}Uuml;berschriften k\N{U+0026}ouml;nnen zum Sortieren angeklickt werden. Da die Liste sehr lang ist, kann dies allerdings einige Sekunden dauern. | ||
{| | {| class=\"sortable wikitable\" style=\"text-align:right;\" | ||
|- style=\"text-align:center;\" | |- style=\"text-align:center;\" | ||
! Name || Angr. || LP || XP || Gold || XP/LP || Gold/LP || Gold/XP\n"; | ! Name || data-sort-type=\"number\" | Angr. || data-sort-type=\"number\" | LP || data-sort-type=\"number\" | XP || data-sort-type=\"number\" | Gold || data-sort-type=\"number\" | XP/LP || data-sort-type=\"number\" | Gold/LP || data-sort-type=\"number\" | Gold/XP\n"; | ||
Zeile 27: | Zeile 26: | ||
if ($divisor == 0) {return "-"; } | if ($divisor == 0) {return "-"; } | ||
return sprintf($format, $dividend / $divisor); | return sprintf($format, $dividend / $divisor); | ||
} | } | ||
Zeile 39: | Zeile 32: | ||
next if (/^GET/); | next if (/^GET/); | ||
my ($name, $atk, $lp, $xp, $gm, $vk, $items) = split(/;/); | my ($name, $atk, $lp, $xp, $gm, $vk, $items, $bild, $autor, $unangreifbar, $typ) = split(/;/); | ||
printf " |-\n | style=\"text-align:left;\" | [[%s]] | | |||
my @css_classes = ($typ, ($unangreifbar) ? "unangreifbar" : "angreifbar"); | |||
chomp(@css_classes); | |||
printf " |-\n | style=\"text-align:left;\" class=\"%s\" | [[%s]] || %s || %s || %s || %s || %s || %s || %s\n", join(" ", @css_classes), $name, $atk, $lp, $xp, $gm, GetQuotient($xp, $lp, "%.2f"), GetQuotient($gm, $lp, "%.2f"), GetQuotient($gm, $xp, "%.0f"); | |||
} | } |
Aktuelle Version vom 26. April 2016, 14:06 Uhr
#!/usr/bin/perl #inout: npclist use constant CUnknown => "?"; use POSIX; setlocale(LC_NUMERIC, "de_DE"); ($sec, $min, $hour, $mday, $mon, $year, $wday, $yday, $isdst) = localtime(time); my $myTimestamp = sprintf("%.2d.%.2d.%d %.2d:%.2d", $mday, $mon+1, $year+1900, $hour, $min); print "{{Vorlage:BotUpdate|Datum=". $myTimestamp ."|Skripte=[[FreewarWiki:Bot/Skripts/npclist2wiki.pl]]}} Die Buttons neben den \N{U+0026}Uuml;berschriften k\N{U+0026}ouml;nnen zum Sortieren angeklickt werden. Da die Liste sehr lang ist, kann dies allerdings einige Sekunden dauern. {| class=\"sortable wikitable\" style=\"text-align:right;\" |- style=\"text-align:center;\" ! Name || data-sort-type=\"number\" | Angr. || data-sort-type=\"number\" | LP || data-sort-type=\"number\" | XP || data-sort-type=\"number\" | Gold || data-sort-type=\"number\" | XP/LP || data-sort-type=\"number\" | Gold/LP || data-sort-type=\"number\" | Gold/XP\n"; sub GetQuotient { my ($dividend, $divisor, $format) = @_; if (($dividend eq CUnknown) || ($divisor eq CUnknown)) { return CUnknown; } if ($divisor == 0) {return "-"; } return sprintf($format, $dividend / $divisor); } while(<>) { next if (/^GET/); my ($name, $atk, $lp, $xp, $gm, $vk, $items, $bild, $autor, $unangreifbar, $typ) = split(/;/); my @css_classes = ($typ, ($unangreifbar) ? "unangreifbar" : "angreifbar"); chomp(@css_classes); printf " |-\n | style=\"text-align:left;\" class=\"%s\" | [[%s]] || %s || %s || %s || %s || %s || %s || %s\n", join(" ", @css_classes), $name, $atk, $lp, $xp, $gm, GetQuotient($xp, $lp, "%.2f"), GetQuotient($gm, $lp, "%.2f"), GetQuotient($gm, $xp, "%.0f"); } print " |} [[Kategorie:NPC-Listen]]";