Kategorien
Bearbeiten von „Benutzer:Count Ypsilon/Skript:cf.pl“
Zur Navigation springen
Zur Suche springen
Die Bearbeitung kann rückgängig gemacht werden. Bitte prüfe den Vergleich unten, um sicherzustellen, dass du dies tun möchtest, und veröffentliche dann unten deine Änderungen, um die Bearbeitung rückgängig zu machen.
Aktuelle Version | Dein Text | ||
Zeile 1: | Zeile 1: | ||
Dieses Skript erzeugt für jede im anfangs definierten Array erwähnte Charakterfähigkeit eine Datei, in der sich die Lernzeit- und die Gesamtlernzeit-Tabellen befinden. Grundwert ("gw") und maximale Ausbaustufe ("mx") sind geeignet zu wählen. | Dieses Skript erzeugt für jede im anfangs definierten Array erwähnte Charakterfähigkeit eine Datei, in der sich die Lernzeit- und die Gesamtlernzeit-Tabellen befinden. Grundwert ("gw") und maximale Ausbaustufe ("mx") sind geeignet zu wählen. | ||
Zeile 23: | Zeile 22: | ||
{ "name" => "Jagd", "gw" => 23200, "mx" => 50 }, | { "name" => "Jagd", "gw" => 23200, "mx" => 50 }, | ||
{ "name" => "Kochkunst", "gw" => 22000, "mx" => 80 }, | { "name" => "Kochkunst", "gw" => 22000, "mx" => 80 }, | ||
{ "name" => "Labortechnik", "gw" => 120000, "mx" => | { "name" => "Labortechnik", "gw" => 120000, "mx" => 9 }, | ||
{ "name" => "Lagerlogistik", "gw" => 25000, "mx" => | { "name" => "Lagerlogistik", "gw" => 25000, "mx" => 70 }, | ||
{ "name" => "Lebensenergie", "gw" => 26000, "mx" => 30 }, | { "name" => "Lebensenergie", "gw" => 26000, "mx" => 30 }, | ||
{ "name" => "Lebenstraining", "gw" => 34000, "mx" => 50 }, | { "name" => "Lebenstraining", "gw" => 34000, "mx" => 50 }, | ||
{ "name" => "Lerntechnik", "gw" => | { "name" => "Lerntechnik", "gw" => 14000, "mx" => 50 }, | ||
{ "name" => "Magieverlängerung", "gw" => 48000, "mx" => 30 }, | { "name" => "Magieverlängerung", "gw" => 48000, "mx" => 30 }, | ||
{ "name" => "Marktwirtschaft", "gw" => 10000, "mx" => 50 }, | { "name" => "Marktwirtschaft", "gw" => 10000, "mx" => 50 }, | ||
Zeile 43: | Zeile 42: | ||
{ "name" => "Zaubertruhenwissen", "gw" => 100000, "mx" => 40 } | { "name" => "Zaubertruhenwissen", "gw" => 100000, "mx" => 40 } | ||
]; | ]; | ||
my $extra = { | my $extra = { | ||
Zeile 74: | Zeile 71: | ||
"6" => "[[Kampfunfähigkeits-Schutz]], [[starker Hautbrand]]", | "6" => "[[Kampfunfähigkeits-Schutz]], [[starker Hautbrand]]", | ||
"7" => "[[Mächtiger Wegzauber-Schutz]], [[Mächtiger Starreschutz-Zauber]], [[Zauber des langen Lebens]], [[Zauber der unbändigen Wut]]", | "7" => "[[Mächtiger Wegzauber-Schutz]], [[Mächtiger Starreschutz-Zauber]], [[Zauber des langen Lebens]], [[Zauber der unbändigen Wut]]", | ||
"8" => "[[Mächtige | "8" => "[[Mächtige Sicht der Diebesopfer]]", | ||
}, | }, | ||
"Labortechnik" => { | "Labortechnik" => { | ||
"head" => "Herstellbare Zauber | "head" => "Herstellbare Zauber", | ||
"1" => "[[Heimzauber]] | "1" => "[[Heimzauber]]", | ||
"2" => "[[großer Heiltrank]] | "2" => "[[großer Heiltrank]]", | ||
"3" => "[[Zauber der Stille]] | "3" => "[[Zauber der Stille]]", | ||
"4" => "[[Zauber der Starre]] | "4" => "[[Zauber der Starre]]", | ||
"5" => "[[Zauber der Vergiftung]] | "5" => "[[Zauber der Vergiftung]]", | ||
"6" => "[[Zauber der Versteinerung]] | "6" => "[[Zauber der Versteinerung]]", | ||
"7" => "[[schwache Lebenserweiterung]] | "7" => "[[schwache Lebenserweiterung]]", | ||
"8" => "[[Gegenzauber: Starre]] | "8" => "[[Gegenzauber: Starre]]", | ||
"9" => "[[Gegenzauber: Auflösung des Schutzes]] | "9" => "[[Gegenzauber: Auflösung des Schutzes]]", | ||
}, | |||
}; | }; | ||
foreach my $cf(@{$cfs}) | foreach my $cf(@{$cfs}) | ||
Zeile 113: | Zeile 94: | ||
my $maxlt = ($cf->{"name"} eq "Lerntechnik") ? 0 : 50; | my $maxlt = ($cf->{"name"} eq "Lerntechnik") ? 0 : 50; | ||
my $ex = $extra->{$cf->{"name"}}; | my $ex = $extra->{$cf->{"name"}}; | ||
my $colspan = 11; | my $colspan = (defined($ex) ? 12 : 11); | ||
open(FILE, ">".lc($cf->{"name"}).".txt"); | open(FILE, ">".lc($cf->{"name"}).".txt"); | ||
Zeile 125: | Zeile 106: | ||
|- | |- | ||
| | | | ||
|colspan="$colspan" align="center" bgcolor=# | |colspan="$colspan" align="center" bgcolor=#FFFFCC |'''[[Lerntechnik]]''' | ||
|- | |- | ||
!bgcolor=# | !bgcolor=#FFEECB|Stufe | ||
!bgcolor=# | !bgcolor=#FFFFCC|0 | ||
EOF | EOF | ||
print FILE <<EOF if ($maxlt>0); | print FILE <<EOF if ($maxlt>0); | ||
!bgcolor=# | !bgcolor=#FFFFCC|5 | ||
!bgcolor=# | !bgcolor=#FFFFCC|10 | ||
!bgcolor=# | !bgcolor=#FFFFCC|15 | ||
!bgcolor=# | !bgcolor=#FFFFCC|20 | ||
!bgcolor=# | !bgcolor=#FFFFCC|25 | ||
!bgcolor=# | !bgcolor=#FFFFCC|30 | ||
!bgcolor=# | !bgcolor=#FFFFCC|35 | ||
!bgcolor=# | !bgcolor=#FFFFCC|40 | ||
!bgcolor=# | !bgcolor=#FFFFCC|45 | ||
!bgcolor=# | !bgcolor=#FFFFCC|50 | ||
EOF | EOF | ||
print FILE "!bgcolor=# | print FILE "!bgcolor=#FFEECB|".$ex->{"head"}."\n" if (defined($ex)); | ||
for(my $stufe=1; $stufe<=$maxstufe; $stufe++) | for(my $stufe=1; $stufe<=$maxstufe; $stufe++) | ||
{ | { | ||
print FILE "|-\n"; | print FILE "|-\n"; | ||
print FILE "|bgcolor=# | print FILE "|bgcolor=#FFFFCC|'''$stufe'''\n"; | ||
my $blockfarbe = (($stufe-1)/5)%2; | my $blockfarbe = (($stufe-1)/5)%2; | ||
for (my $lerntech = 0; $lerntech <= $maxlt; $lerntech += 5) | for (my $lerntech = 0; $lerntech <= $maxlt; $lerntech += 5) | ||
Zeile 157: | Zeile 137: | ||
my $sekunden = ($stufe-1) * $grundwert * $lernfaktor; | my $sekunden = ($stufe-1) * $grundwert * $lernfaktor; | ||
printf FILE "|bgcolor=#%s|%02d:%02d:%02d\n", | printf FILE "|bgcolor=#%s|%02d:%02d:%02d\n", | ||
(($lerntech + $blockfarbe) % 2) ? " | (($lerntech + $blockfarbe) % 2) ? "" : "FFEECB", | ||
$sekunden / 86400, | $sekunden / 86400, | ||
($sekunden % 86400) / 3600, | ($sekunden % 86400) / 3600, | ||
($sekunden % 3600) / 60; | ($sekunden % 3600) / 60; | ||
} | } | ||
print FILE "|bgcolor=# | print FILE "|bgcolor=#FFFFCC|".$ex->{$stufe}."\n" if (defined($ex)); | ||
} | } | ||
Zeile 171: | Zeile 151: | ||
<div id="CFtotal"> | <div id="CFtotal"> | ||
{| {{Prettytable}} | {| {{Prettytable}} | ||
|+ style="text-align: left;" | <small style="float:right;">''(Angaben in Tagen:Stunden:Minuten)''</small>'''Gesamtlernzeit bis zur jeweiligen Stufe, abhängig von der Lerntechnik: ''' | |+ style="text-align: left;" | <small style="float:right;">''(Angaben in Tagen:Stunden:Minuten)''</small>'''Gesamtlernzeit bis zur jeweiligen Stufe, abhängig von der Lerntechnik:''' | ||
|- | |- | ||
| | | | ||
|colspan="$colspan" align="center" bgcolor=# | |colspan="$colspan" align="center" bgcolor=#FFFFCC |'''[[Lerntechnik]]''' | ||
|- | |- | ||
!bgcolor=# | !bgcolor=#FFEECB|Stufe | ||
!bgcolor=# | !bgcolor=#FFFFCC|0 | ||
EOF | EOF | ||
print FILE <<EOF if ($maxlt>0); | print FILE <<EOF if ($maxlt>0); | ||
!bgcolor=# | !bgcolor=#FFFFCC|5 | ||
!bgcolor=# | !bgcolor=#FFFFCC|10 | ||
!bgcolor=# | !bgcolor=#FFFFCC|15 | ||
!bgcolor=# | !bgcolor=#FFFFCC|20 | ||
!bgcolor=# | !bgcolor=#FFFFCC|25 | ||
!bgcolor=# | !bgcolor=#FFFFCC|30 | ||
!bgcolor=# | !bgcolor=#FFFFCC|35 | ||
!bgcolor=# | !bgcolor=#FFFFCC|40 | ||
!bgcolor=# | !bgcolor=#FFFFCC|45 | ||
!bgcolor=# | !bgcolor=#FFFFCC|50 | ||
EOF | EOF | ||
print FILE "!bgcolor=# | print FILE "!bgcolor=#FFEECB|".$ex->{"head"}."\n" if (defined($ex)); | ||
my $step = 1; | my $step = 1; | ||
$step = 5 if ($maxstufe > 14); | $step = 5 if ($maxstufe > 14); | ||
my $zeile = 1; | my $zeile = 1; | ||
for(my $stufe=$step; $stufe<=$maxstufe; $stufe+=$step) | for(my $stufe=$step; $stufe<=$maxstufe; $stufe+=$step) | ||
{ | { | ||
print FILE "|-\n"; | print FILE "|-\n"; | ||
print FILE "|bgcolor=# | print FILE "|bgcolor=#FFFFCC|'''$stufe'''\n"; | ||
my $blockfarbe = (($zeile-1)/5)%2; | my $blockfarbe = (($zeile-1)/5)%2; | ||
for (my $lerntech = 0; $lerntech <= $maxlt; $lerntech += 5) | for (my $lerntech = 0; $lerntech <= $maxlt; $lerntech += 5) | ||
Zeile 209: | Zeile 188: | ||
my $sekunden = reihe($stufe-1) * $grundwert * $lernfaktor; | my $sekunden = reihe($stufe-1) * $grundwert * $lernfaktor; | ||
printf FILE "|bgcolor=#%s|%02d:%02d:%02d\n", | printf FILE "|bgcolor=#%s|%02d:%02d:%02d\n", | ||
(($lerntech + $blockfarbe) % 2) ? " | (($lerntech + $blockfarbe) % 2) ? "FFEECB" : $blockfarbe, | ||
$sekunden / 86400, | $sekunden / 86400, | ||
($sekunden % 86400) / 3600, | ($sekunden % 86400) / 3600, | ||
($sekunden % 3600) / 60; | ($sekunden % 3600) / 60; | ||
} | } | ||
print FILE "|bgcolor=# | print FILE "|bgcolor=#FFFFCC|".$ex->{$stufe}."\n" if (defined($ex)); | ||
$zeile++; | $zeile++; | ||
} | } |