Bearbeiten von „Benutzer:Count Ypsilon/Skript:cf.pl

Zur Navigation springen Zur Suche springen

Achtung

Du bearbeitest diese Seite unangemeldet. Wenn du deine Änderung speicherst, wird deine aktuelle IP-Adresse in der Versionsgeschichte aufgezeichnet und ist damit öffentlich einsehbar. Um effektiver mitarbeiten zu können und deine IP-Adresse zu verbergen, melde dich doch bitte an.

Speichere bitte keine Textversuche ab. Nutze stattdessen die Spielwiese, um dich im Umgang mit der Textverarbeitung im Wiki vertraut zu machen.

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:
{{Veraltet|Das aktuelle Script befindet sich in [[FreewarWiki:Bot/Skripts/cf.pl]].}}
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 13: Zeile 12:
   { "name" => "Auftragsbeziehung", "gw" => 80000, "mx" => 40 },
   { "name" => "Auftragsbeziehung", "gw" => 80000, "mx" => 40 },
   { "name" => "Auftragsplanung", "gw" => 6800, "mx" => 70 },
   { "name" => "Auftragsplanung", "gw" => 6800, "mx" => 70 },
  { "name" => "Bauwesen", "gw" => 25000, "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 23: Zeile 21:
   { "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" => 20 },
  { "name" => "Lagerlogistik", "gw" => 25000, "mx" => 90 },
   { "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" => 35000, "mx" => 50 },
   { "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" => "Pflanzenkunde", "gw" => 40000, "mx" => 80 },
   { "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 },
Zeile 41: Zeile 36:
   { "name" => "Waffenkunst", "gw" => 26000, "mx" => 30 },
   { "name" => "Waffenkunst", "gw" => 26000, "mx" => 30 },
   { "name" => "Zauberkunst", "gw" => 240000, "mx" => 8 },
   { "name" => "Zauberkunst", "gw" => 240000, "mx" => 8 },
   { "name" => "Zaubertruhenwissen", "gw" => 100000, "mx" => 40 }
   { "name" => "Zaubertruhenwissen", "gw" => 100000, "mx" => 35 }
];
];


my $extra = {
my $extra = {
Zeile 74: Zeile 67:
         "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 Sicht der Diebesopfer]], [[Sicht der Diebesopfer]]",
         "8" => "[[Mächtige Sicht der Diebesopfer]]",
     },
     },


    "Labortechnik" => {
        "head" => "Herstellbare Zauber (Mindest-XP zur Herstellung)",
        "1" => "[[Heimzauber]] (500 XP)",
        "2" => "[[großer Heiltrank]] (1.000 XP)",
        "3" => "[[Zauber der Stille]] (1.500 XP)",
        "4" => "[[Zauber der Starre]] (2.000 XP)",
        "5" => "[[Zauber der Vergiftung]] (2.500 XP)",
        "6" => "[[Zauber der Versteinerung]] (3.000 XP)",
        "7" => "[[schwache Lebenserweiterung]] (3.500 XP)",
        "8" => "[[Gegenzauber: Starre]] (4.000 XP)",
        "9" => "[[Gegenzauber: Auflösung des Schutzes]] (4.500 XP)",
        "10" => "[[falsche Erfahrung]] (5.000 XP)",
        "11" => "[[strategischer Hinzauber]] (5.500 XP)",
        "12" => "[[Druckwelle]] (6.000 XP)",
        "13" => "[[schwache Kontrolle der Zeit]] (6.500 XP)",
        "14" => "[[Wolkenstoff]] (7.000 XP)",
        "15" => "[[gigantische Seelenkapsel]] (7.500 XP)",
        "16" => "[[Elixier der Bewegung]] (8.000 XP)",
        "17" => "[[Zauber der unsichtbaren Explosion]] (8.500 XP)",
        "18" => "[[Sicht der Schutzlosen]] (9.000 XP)",
        "19" => "[[Lebenserweiterung]] (9.500 XP)",
        "20" => "[[Zauber der Wettererzeugung]] (10.000 XP)",},
};
};
my $bgcolor_general = "FFFFCC"; # Hintergrundfarbe, falls nichts anderes definiert ist (gelb)
my $bgcolor_block  = "FFEECB"; # Hintergrundfarbe fuer den 5er-Block (orange)


foreach my $cf(@{$cfs})
foreach my $cf(@{$cfs})
Zeile 113: Zeile 78:
     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 86:
<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=#$bgcolor_general |'''[[Lerntechnik]]'''
|colspan="$colspan" align="center" bgcolor=#FFFFCC |'''[[Lerntechnik]]'''
|-
|-
!bgcolor=#$bgcolor_block|Stufe
!bgcolor=#FFEECB|Stufe
!bgcolor=#$bgcolor_general|0
!bgcolor=#FFFFCC|0
EOF
EOF


print FILE <<EOF if ($maxlt>0);
print FILE <<EOF if ($maxlt>0);
!bgcolor=#$bgcolor_general|5
!bgcolor=#FFFFCC|5
!bgcolor=#$bgcolor_general|10
!bgcolor=#FFFFCC|10
!bgcolor=#$bgcolor_general|15
!bgcolor=#FFFFCC|15
!bgcolor=#$bgcolor_general|20
!bgcolor=#FFFFCC|20
!bgcolor=#$bgcolor_general|25
!bgcolor=#FFFFCC|25
!bgcolor=#$bgcolor_general|30
!bgcolor=#FFFFCC|30
!bgcolor=#$bgcolor_general|35
!bgcolor=#FFFFCC|35
!bgcolor=#$bgcolor_general|40
!bgcolor=#FFFFCC|40
!bgcolor=#$bgcolor_general|45
!bgcolor=#FFFFCC|45
!bgcolor=#$bgcolor_general|50
!bgcolor=#FFFFCC|50
EOF
EOF


print FILE "!bgcolor=#$bgcolor_block|".$ex->{"head"}."\n" if (defined($ex));
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=#$bgcolor_general|'''$stufe'''\n";
     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 120:
         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) ? "$bgcolor_general" : "$bgcolor_block",
             (($lerntech + $blockfarbe) % 2) ? "" : "FFEECB",
             $sekunden / 86400,
             $sekunden / 86400,
             ($sekunden % 86400) / 3600,
             ($sekunden % 86400) / 3600,  
             ($sekunden % 3600) / 60;
             ($sekunden % 3600) / 60;
     }
     }
     print FILE "|bgcolor=#$bgcolor_general|".$ex->{$stufe}."\n" if (defined($ex));
     print FILE "|bgcolor=#FFFFCC|".$ex->{$stufe}."\n" if (defined($ex));
}
}


Zeile 171: Zeile 135:
<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=#$bgcolor_general |'''[[Lerntechnik]]'''
|colspan="$colspan" align="center" bgcolor=#FFFFCC |'''[[Lerntechnik]]'''
|-
|-
!bgcolor=#$bgcolor_block|Stufe
!bgcolor=#FFEECB|Stufe
!bgcolor=#$bgcolor_general|0
!bgcolor=#FFFFCC|0
EOF
EOF


print FILE <<EOF if ($maxlt>0);
print FILE <<EOF if ($maxlt>0);
!bgcolor=#$bgcolor_general|5
!bgcolor=#FFFFCC|5
!bgcolor=#$bgcolor_general|10
!bgcolor=#FFFFCC|10
!bgcolor=#$bgcolor_general|15
!bgcolor=#FFFFCC|15
!bgcolor=#$bgcolor_general|20
!bgcolor=#FFFFCC|20
!bgcolor=#$bgcolor_general|25
!bgcolor=#FFFFCC|25
!bgcolor=#$bgcolor_general|30
!bgcolor=#FFFFCC|30
!bgcolor=#$bgcolor_general|35
!bgcolor=#FFFFCC|35
!bgcolor=#$bgcolor_general|40
!bgcolor=#FFFFCC|40
!bgcolor=#$bgcolor_general|45
!bgcolor=#FFFFCC|45
!bgcolor=#$bgcolor_general|50
!bgcolor=#FFFFCC|50
EOF
EOF
print FILE "!bgcolor=#$bgcolor_block|".$ex->{"head"}."\n" if (defined($ex));
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=#$bgcolor_general|'''$stufe'''\n";
     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 171:
         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) ? "$bgcolor_block" : $bgcolor_general,
             (($lerntech + $blockfarbe) % 2) ? "FFEECB" : $blockfarbe,
             $sekunden / 86400,
             $sekunden / 86400,
             ($sekunden % 86400) / 3600,
             ($sekunden % 86400) / 3600,  
             ($sekunden % 3600) / 60;
             ($sekunden % 3600) / 60;
     }
     }
     print FILE "|bgcolor=#$bgcolor_general|".$ex->{$stufe}."\n" if (defined($ex));
     print FILE "|bgcolor=#FFFFCC|".$ex->{$stufe}."\n" if (defined($ex));
     $zeile++;
     $zeile++;
}
}

Bitte beachte, dass alle Beiträge zu FreewarWiki von anderen Mitwirkenden bearbeitet, geändert oder gelöscht werden können. Reiche hier keine Texte ein, falls du nicht willst, dass diese ohne Einschränkung geändert werden können.

Du bestätigst hiermit auch, dass du diese Texte selbst geschrieben hast oder diese von einer gemeinfreien Quelle kopiert hast (weitere Einzelheiten unter FreewarWiki:Urheberrechte). ÜBERTRAGE OHNE GENEHMIGUNG KEINE URHEBERRECHTLICH GESCHÜTZTEN INHALTE!

Bitte beantworte die folgende Frage, um diese Seite speichern zu können (weitere Informationen):

Abbrechen Bearbeitungshilfe (wird in einem neuen Fenster geöffnet)

Folgende Vorlagen werden auf dieser Seite verwendet: