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 10: | Zeile 9: | ||
my $cfs = [ | my $cfs = [ | ||
{ "name" => "Schusswaffen", "gw" => 64000, "mx" => 13 }, | |||
{ "name" => "Gruppenheilung", "gw" => 7200, "mx" => 150 }, | |||
{ "name" => "Angriffsenergie", "gw" => 80000, "mx" => 10 }, | { "name" => "Angriffsenergie", "gw" => 80000, "mx" => 10 }, | ||
{ "name" => "Auftragsplanung", "gw" => 6800, "mx" => 70 }, | { "name" => "Auftragsplanung", "gw" => 6800, "mx" => 70 }, | ||
{ "name" => "Diebstahlschutzwissen", "gw" => 28000, "mx" => 50 }, | { "name" => "Diebstahlschutzwissen", "gw" => 28000, "mx" => 50 }, | ||
{ "name" => "Getreideverarbeitung", "gw" => 16000, "mx" => 30 }, | { "name" => "Getreideverarbeitung", "gw" => 16000, "mx" => 30 }, | ||
Zeile 19: | Zeile 18: | ||
{ "name" => "Goldabbau", "gw" => 44000, "mx" => 30 }, | { "name" => "Goldabbau", "gw" => 44000, "mx" => 30 }, | ||
{ "name" => "Glück", "gw" => 16000, "mx" => 15 }, | { "name" => "Glück", "gw" => 16000, "mx" => 15 }, | ||
{ "name" => "Innere Macht", "gw" => 36000, "mx" => 50 }, | { "name" => "Innere Macht", "gw" => 36000, "mx" => 50 }, | ||
{ "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" => "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 }, | ||
{ "name" => "Ölverwaltung", "gw" => 26000, "mx" => 60 }, | { "name" => "Ölverwaltung", "gw" => 26000, "mx" => 60 }, | ||
{ "name" => "Plünderung", "gw" => 37200, "mx" => 30 }, | { "name" => "Plünderung", "gw" => 37200, "mx" => 30 }, | ||
{ "name" => "Reparaturwissen", "gw" => 12000, "mx" => 30 }, | { "name" => "Reparaturwissen", "gw" => 12000, "mx" => 30 }, | ||
{ "name" => "Selbstheilung", "gw" => 32000, "mx" => 80 }, | |||
{ "name" => "Selbstheilung", "gw" => 32000, "mx" => | |||
{ "name" => "Stärketraining", "gw" => 30000, "mx" => 50 }, | { "name" => "Stärketraining", "gw" => 30000, "mx" => 50 }, | ||
{ "name" => "Überzeugungskraft", "gw" => 34000, "mx" => 50 }, | { "name" => "Überzeugungskraft", "gw" => 34000, "mx" => 50 }, | ||
{ "name" => "Waffenkunst", "gw" => 26000, "mx" => 30 }, | { "name" => "Waffenkunst", "gw" => 26000, "mx" => 30 }, | ||
{ "name" => "Zauberkunst", "gw" => 240000, "mx" => | { "name" => "Zauberkunst", "gw" => 240000, "mx" => 5 }, | ||
{ "name" => "Zaubertruhenwissen", "gw" => 100000, "mx" => | { "name" => "Zaubertruhenwissen", "gw" => 100000, "mx" => 70 } | ||
]; | ]; | ||
my $extra = { | my $extra = { | ||
Zeile 61: | Zeile 52: | ||
"11" => "[[Armbrust der starken Schutzauflösung]]", | "11" => "[[Armbrust der starken Schutzauflösung]]", | ||
"12" => "[[Bogen des starken Lebens]]", | "12" => "[[Bogen des starken Lebens]]", | ||
"13" => " | "13" => "??" | ||
}, | }, | ||
Zeile 72: | Zeile 62: | ||
"4" => "[[Scheibe der Kampfgebiete]]", | "4" => "[[Scheibe der Kampfgebiete]]", | ||
"5" => "[[Effektiver Diebstahlzauber]]", | "5" => "[[Effektiver Diebstahlzauber]]", | ||
}, | }, | ||
}; | }; | ||
foreach my $cf(@{$cfs}) | foreach my $cf(@{$cfs}) | ||
Zeile 113: | Zeile 72: | ||
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 121: | Zeile 80: | ||
<div id="CFcalc">$grundwert</div> | <div id="CFcalc">$grundwert</div> | ||
<div id="CFlevel"> | <div id="CFlevel"> | ||
{| {{Prettytable}} | {| {{Prettytable}} | ||
|+ style="text-align: left;" | <small style="float:right;">''(Angaben in Tagen:Stunden:Minuten)''</small>'''Lernzeit pro Stufe, abhängig von der Lerntechnik: ''' | |+ style="text-align: left;" | <small style="float:right;">''(Angaben in Tagen:Stunden:Minuten)''</small>'''Lernzeit pro 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)); | ||
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 156: | Zeile 114: | ||
my $lernfaktor = 0.97 ** $lerntech; | my $lernfaktor = 0.97 ** $lerntech; | ||
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 129: | ||
<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 208: | Zeile 165: | ||
my $lernfaktor = 0.97 ** $lerntech; | my $lernfaktor = 0.97 ** $lerntech; | ||
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++; | ||
} | } |