Post Reply
547 posts • Page 7 of 28
Update V6.5

Das Set Dreigestirn wurde noch etwas in Sachen Set-Zauber aufgepeppt, damit es nicht so belanglos wirkt.
Außerdem hat der Set-Zauber "Barmherzigkeit des Dreigestirns" und "Tote erwecken" vom Set Krypta einen neuen Rufzauber, der sich individuell an das getroffene Ziel anpasst.

Questupdate: "Set: Dreigestirn"
Sollte jemand bereits die Quest "Set: Dreigestirn" im Journal haben, muss er die neuen Einträge über Console hinzufügen:

SetStage zzSetTribunalHinweis 20

Danach sollten beide Set-Zauber im Questjournal eingetragen sein.
Wer die Quest noch nicht hat, braucht sich deshalb keine Sorgen zu machen. Das funktioniert vollautomatisch beim ersten Set-Gegenstand.
Leises Update...

Das Skript mit den Rufzaubern musste noch überarbeitet werden.
Manchmal, wenn man andere Bereiche betritt, verlieren die Variablen für befehligte Kreaturen und erweckte Tote ihre Referenzen.
Eigenartigerweise erlischt auch der Zaubereffekt, selbst wenn die Zeit noch nicht um ist, was offenbar auf die Engine zurückzuführen ist.
Sollte das passieren, wird nun ebenfalls der überflüssige Zauber ("Barmherzigkeit des Dreigestirns" verwendet) vom Spieler entfernt.

Bekannter Bug
Es kann passieren, dass der Effekt von "Barmherzigkeit des Dreigestirns" und "Tote erwecken" zu früh stoppt.
Darum sollte man nicht versuchen die Kreatur oder den Untoten in andere Bereiche mitzunehmen, da dies selten funktioniert.
Update V7.0

Zum Abschluss bekam das Set Heldenmut noch einen weiteren Set-Zauber, damit es etwas sinnbringender wird.

Sollte die Hinweisquest für dieses Set ebenfalls bereits vorhanden sein muss man

SetStage zzSetYsgramorHinweis 20

eingeben um den Hinweis für den neuen Set-Zauber freizuschalten.
Leises Update 2...

Betrifft nur die Set-Zauber "Heldenverehrung" und "Tote erwecken". Da diese Zauber ausschließlich auf NPCs wirken, war deren Verstärkung nur halbwertig. Schließlich greifen NPCs auf die selben Fertigkeiten zu wie der Spielercharakter.
Dementsprechend werden auch alle Kampf-, Zauber- und Bewegungsfertigkeiten um 100 erhöht, solange der Zauber seine Wirkung zeigt.

Wer das Überprüfen möchte, kann gerne das ausgewählt Ziel zuvor als Konsolenreferenz auswählen (Konsole öffnen und Ziel anklicken). Danach kann man mit "getav Strength", "getav Blade" oder "getav Health" die Attribute, Fertigkeiten und Lebensenergie des Ziels überprüfen.
Selbiges macht man nochmal nachdem man den Zauber gesprochen hat und nachdem er seine Wirkung verliert.
Bisher hat die Verstärkung prima funktioniert, aber wer möchte kann sich eben selbst davon überzeugen.

Abschließende Worte
Ich bin jetzt schon mehr als ein Jahr in diesem Forum aktiv und an NE wird schon mehrere Monate gearbeitet.
Inzwischen bin ich zu einem Punkt gekommen, wo ich sehr zufrieden mit dem bin zu dem sich NE entwickelt hat.
Leider gibt es noch immer Performanceeinbrüche im Dunklen Wald, in der Nautiluswerft sowie den Onruhl-Minenschächten.
Möglicherweise sind einige Texturen oder Effekte daran Schuld.

Wäre toll, wenn das noch irgendwie behoben wird. Nur haben weder ich noch mein Kollege Ahnung vom Designen.

Davon abgesehen, viel Spaß mit Nehrim Expanded :)
Diesen Post ganz im nirgendwo dieses Threads nutze ich, um ein paar kleinere Bugs aus NE, Nehrim oder generell der Oblivion-Engine festzuhalten.



Niedrige Framerate!
Hinweis: Die "Fernsicht"-Einstellung im Tagebuch kann bei manchen Framerateeinbrüchen helfen!
Nehrim besteht aus einer Fülle von Details, mit der die Oblivion-Engine nur schwer zurecht kommt. Dementsprechend kommt es in bestimmten Bereichen zu starken Einbrüchen der FPS. Leider werden diese Probleme mit Nehrim Expanded nicht behoben, da es dafür eine fachkundigere Hand braucht. Allerdings sei zu sagen, dass Nehrim generell keine hohen FPS hat, was für ein Rollenspiel allerdings in Ordnung ist. Besonder auffällig:

Ein Aufenthalt in Cahbaet führt zu niedrigeren FPS, was aber auch an dem Detailgrad und den NPCs der Stadt liegt.

Erothin ist ebenfalls eine offene Stadt mit vielen NPCs und Details. Dementsprechend fallen die FPS. Die Fernsicht auszuschalten hilft bei diesem Problem etwas.

Der dunkle Wald ist wunderschön designt. Mit vielen Bäumen und schaurigen Lichtquellen (zu empfehlen bei Nacht mit "All Natural Nehrim" und einer geändert INI für dünklere Nächte (Einstellung-Details findet man im verlinkten Post unter "16.) All Natural Nehrim"). Leider führt diese Liebe zum Detail zu starken Framerateeinbrüchen, wenn Lichtzauber aktiv sind oder überhaupt einfach nur Zauber gesprochen werden (durch das Sprechen eines Zaubers entsteht ein dynamisches Leuchten). Dieses Problem kann man gänzlich beheben, wenn man die Fernsicht deaktiviert.

Auffällige Innenbereiche:

Der "Alte Manatempel" ist ein unmarkierter Dungeon unterhalb des Tempels vom Seelenschinder (wo man mit Narathzul im Laufe der Hauptquest hinkommt). In diesem Dungeon halten sich mehrere Spinnen und eine Spinnenkönigin auf. Er ist zwar sehr klein, allerdings scheinen Assets verwendet worden zu sein, welche stark die Framerate reduzieren.

Ähnliche Assets scheinen in der "Verlassenen Mine von Taerar" verwendet worden zu sein. Im Bereich mit den Trollen hat man keine Probleme, aber die Grube in der sich die Spinne "Amanta" aufhält lässt die Frames sinken.

Die Zwergenmine von "Onruhl" verwendet im tieferen, großen Bereich Assets, welche die Frames senken. Es scheint hier wohl tatsächlich nicht an der Größe des Dungeons zu liegen, da man während der Hauptquest durch noch weitaus größere Dungeons muss, die keinerlei Framerateprobleme haben.

Auch die "Nautiluswerft" verwendet offenbar ähnliche leistungsfressende Assets wie Onruhl was zu einer Reduktion der FPS führt.

Wenn sich das niemand zu Herzen nimmt, der weiß wie man das beheben kann, wird man damit leben müssen.

Probleme mit Mods:
Mods wie bessere Texturen, etc. (oder eine Minimap) können Nehrim zusätzlich etwas abverlangen. Nehrim Expanded selbst führt ebenfalls kontinuierlich Berechnungen durch, welche die Prozessorleistung mehr beanspruchen als ein normales Nehrim. Allerdings sollte das nicht soviele Probleme schaffen wie Mods die höhere Details bereitsstellen. Ich persönlich verzichte inzwischen auf Texturverschönerungen, aber das muss jeder mit sich selbst ausmachen.
Jedenfalls sollte man nicht meine Videos von Nehrim Expanded als Vergleich herziehen, da eine Aufnahme die FPS meistens gleich nochmal um die Hälfte reduziert. Zumindestens bei meinem PC, weil der nicht sonderlich stark ist.
Ich hab bestimmte Stellen durchgestrichen, da ich inzwischen einen (ich zitiere) "NASA-PC" habe.




Freezes
Können im späteren Spiel auftreten und die Wahrscheinlichkeit wird durch Mods leider gesteigert.
Die Mods selber tragen keine Schuld, sondern es ist wieder die Oblivion-Engine, die dieses Problem verursacht.
Es wurde zwar gepatcht, aber leider ist das Problem in einem Spiel das über eine gewaltige Fülle an Details verfügt größer.
Wenn Freezes vermehrt an der selben Stelle auftreten, kann der Verzicht einiger Mods und das Besuchen eines komplett anderen Gebiets das man schon zuvor besichtigte (im Spiel) nützlich sein.
Es besteht außerdem die Möglichkeit für Freezes oder Abstürze bei einem Autosave. Wer gerne die Schnellspeicherfunktion (die aber auch nicht 100% fehlerfrei ist) verwendet, sollte also auf den zusätzlichen Ballast verzichten.
Ich streiche das mal vorsichtshalber, weil ich diese Probleme mit meinem neuen PC nicht mehr so extrem vernommen habe.
ABER: Bei einem Zellenwechsel (zwischen Außen- und Innenbereich) kommt es gerne zu Abstürzen. Also bevor man eine Tür anklickt, die in einen anderen Bereich führt, sollte man vorsichtshalber speichern.




Bekannter Bug: Absturz beim Absteigen von Pferden
Woran das genau liegt, kann ich leider nicht sagen.
Möglicherweise war vorher ein Skript gelaufen, dass dem Spieler irgendwas tun ließ, was er während des Reitens nicht tun solllte.
Jedenfalls stürtzt das Spiel ab, sobald man mit "E" vom Pferd absteigen möchte.
Man kann den Spielstand aber ohne Probleme retten (bis auf eine ziemliche Goldverschwendung).
Die Konsole muss geöffnet werden (mit "^"-Taste) und mit dem aufscheinenden Maus-Cursor, wählt man das Pferd aus auf dem man sitzt.
Sobald es angeklickt ist, sieht man den Namen des Tiers am oberen Bildschirmrand in der Mitte.
Wenn der Name dort steht, gibt man "kill" (ohne Anführungszeichen) in die Konsole ein und drückt ENTER.
Dann schließt man die Konsole wieder (ebenfalls mit der "^"-Taste).
Das arme Tier ist nun tot, aber zum Glück ist man nicht mehr absturzgefährdet.
Nun speichert man das Spiel und beendet es, da noch fehlerhafte Animationen am Spieler haften bleiben.
Erst wenn man den gespeicherten Spielstand neu startet, ist das Spiel wieder fehlerfrei.
Es besteht allerdings auch die Möglichkeit, dass das Spiel abstürtzt, wenn man einen kaputtgerittenen Spielstand laden möchte.
Bei mir macht es immer "Ping!", wenn ich so einen Spielstand lade, was auf einen abgefangenen Absturz hindeutet.
Ich verwende WeOCPS um etwaige Crashes zu umgehen und dadurch dürfte sich so ein Spielstand auch wieder reparieren lassen.
Zumindestens spiele ich jetzt ohne Probleme weiter.
Das Skript der Statue löst ebenfalls einen Absturz aus, sobald man mit dem Pferd hinreitet, da man auf dem Pferd die Rüstung nicht ablegen kann.
Es wird nun per Skript abgefragt ob der Spieler reitet.
Leider ist dieser Wert bereits 0, wenn man vom Pferd absteigt, was aber ebenfalls zu einem Absturz führt.
Deshalb wird der Prozess 3 Sekunden lang aufgehalten, um die Chance zu haben vom Pferd abzusteigen.
Andernfalls empfiehlt es sich beim ersten Mal nicht mit dem Pferd zur Statue in Burg Darlan zu reiten.
Genereller Tipp: Niemals speichern während man auf einem Pferd / Esel sitzt!
Ist mir in meinem neuesten Spiel (26.09.2015) nicht mehr aufgefallen.




Spielzeit
Die Spielzeit wird durch Nehrim Expanded anders berechnet (für Erfolge).
Tealor Arantheal wrote:
Hat man beispielsweise 81:44:28 Spielzeit im Savegame stehen muss man sich nur folgendes ausrrechnen:
(81 * 60) * 60 = 291600
44 * 60 = 2640
291600 + 2640 + 28 = 294268
Diesen Wert trägt man dann einfach in die Variable per Konsole ein:
set VarGameMinutes to 294268
Schon wird der Wert für die Erfolge wieder richtig gerechnet.
Demnach 294268 / 60 = 4904,4666666666...7 was bei einem Vergleichswert von 4800 schon für den Erfolg mit 80 Stunden ausreicht.
Startet man ein neues Spiel, fällt dieser Fix über Console natürlich weg. Das ist nur notwendig, wenn man von einem bestehenden Spielstand (NICHT empfohlen), auf Nehrim Expanded umsteigt.




"Steinwelt" und "Welt der Tausend Türme"
In beiden Welten sollte man UNBEDINGT die Grafikeinstellungen herunterdrehen. Vor allem die der Schatten. Bei erhöhten Einstellungen wird das Spiel zunehmend instabil und stürtzt ab.
Verringern der Grafikeinstellungen reduziert bzw. verhindert die Abstürze nachweislich.
Zumindestens hatte ich ein extremes Problem mit der Stabilität. Zwar hatte ich anfänglich schon eine neue INI bekommen, aber mit der hatte ich ebenfalls Schwierigkeiten.
Erst das Reduzieren der meisten Grafikeinstellungen half,




Bekannter Bug: Trainer reagieren erst ab dem zweiten Klick auf eine Dialogoption
Das passiert ausschließlich dann, wenn man in das Reparaturmenü oder Verkäufermenü von Trainern geht, bevor man irgendeine Dialogoption auswählt. Beim Verkäufermenü scheint es erst nach dem erfolgreichen Verkäuf aufzutreten (nicht komplett verifiziert), aber beim Reparaturmenü tritt es immer auf.
Man muss Dialogoptionen also zweimal auswählen, um zu dem gewünschten Ergebnis zu kommen.
Woran das liegt wissen wir leider nicht, allerdings handelt es sich dabei nicht um einen spielbrechenden Bug.




Ostian: Fehlende Haustexturen
Dabei handelt es sich nicht um einen Bug, sondern ein Feature. Ostian hat Triggerzonen, die Texturen ein- / ausblenden, um die Performance zu erhöhen. Wer auf Berghängen herumklettert, wird es versäumen diese Zonen zu betreten und dadurch die Texturen für neue Bereiche zu laden. Dementsprechend sollte man sich in Ostian lieber auf der Straße bewegen, um solche Probleme zu vermeiden. Steht man dennoch vor einem Haus, dass nur aus Fenstern und Türen aber keinen Wänden besteht, sollte man zurück durch die auffälligen Torbögen in andere Bereiche gehen und wieder zurückkommen. Die Texturen sollten dadurch geladen werden.




Der Weg nach Ostian: Callisto
Es empfiehlt sich zuerst vorzugehen (einfach der Straße auf der Karte folgen) und die Gegner auf dem Weg auszuschalten.
Callisto kann bisweilen ziemlich dämliche Wege abgehen und sogar hängen bleiben, vor allem bei Konfrontationen mit Gegnern.
Dementsprechend ist es sicherer, wenn unterwegs keinerlei Probleme für Callisto auftauchen.
Man bekommt für diesen Questverlauf einen Rufzauber für Callisto, der etwaige Probleme behebt.




Rand des Schicksals: Kampf mit Sarantha
Während des Kampfes durchwandert man verschiedene Stadien. Sollte man zwischendurch die Waffen wechseln scheint dieser Wechsel vom Spiel im nächsten Stadium nicht richtig initialisiert zu sein (ähnliches kann auch passieren, wenn man die Welt des Seelenschinders betritt). Als ich Sarantha besiegte und wieder in Nehrim war, hatte ich beispielsweise "Beherztheit" vom Set Dreigestirn ausgerüstet. Doch irgendwie war noch der Bogen "Verrat" vom Set Geheimnis der Seraphim im Waffenslot. Als ich die Taste zum Ausrüsten gedrückt habe, wurde ein unsichtbarer Bogen vom Rücken genommen und gleich darauf ist mir das Spiel abgestürzt. Allerdings kann man dieses Problem ganz leicht im Spiel beheben.
Fix: Man sollte eine Waffe auf Kurzwahl haben (nicht die welche im verbuggten Zustand gerade ausgerüstet ist) und zu dieser Wechseln. Wenn es nicht beim ersten Mal klappt mehrmals an- und wieder ablegen. Das sollte das Problem ohne Absturz beheben.
Danach kann man auch wieder die Waffe ausrüsten, welche vom Spiel in verbuggten Zustand ausgerüstet war.
Dieser Bug tritt nicht häufig auf, bzw. ist mir das erst bei einem Playthrough (von 12?) passiert.




Gervasius Quest: Treomar, Flug mit dem Gleiter
Es wird während des Flugs ein Windsound gespielt, der ein Loop-Setting hat. Dadurch hört der Sound nicht auf zu spielen, selbst wenn man bereits am Ziel angekommen ist oder in den Innenbereich gegangen ist.
Das verwenden eines Sounds ohne Loop-Setting führt aber leider zu unschönen Aussetzern.
Lösung: Einen Spielstand laden. Es wird bei der Ankunft mit dem Gleiter automatisch ein Autosave erstellt.




Set-Bug
Durch unbekannte Umstände kann eine Set-Variable einen falschen Wert erhalten.
Bei Dreigestirn ist es mir einmal passiert, dass der Wert um einen Punkt höher war als normal.
Nachdem ich alle Set-Gegenstände ausgezogen und "Set SetTribunal to 0" eingegeben habe, konnte ich den Bug allerdings nicht mehr reproduzieren.
Sehr selten scheint es zu diesem Problem zu kommen.
Je nachdem welches Set es betrifft, sollte man dieses komplett ausziehen und danach die Variable auf 0 setzen.
Gorin wrote:
Gisberg wrote:
Wie lauten die Codes für die anderen Sets?
[+]
SetAlterMann
SetApokalypse
SetAvenzis
SetBataillon ==> Sternlings
SetBlumagier
SetDunklerTod
SetFluch ==> des gefallenen Erzseraphs
SetGewitter
SetHazadir ==> Robuster Handwerker
SetKrypta
SetMagiewinde
SetNordkoenige
SetNovize
SetRoterberg ==> Vulkanische Wut
SetRotten
SetSchattenhauch
SetSchlachtenstolz
SetSithis ==> Geheimnis der Seraphim
SetStrassendieb
SetTribunal ==> Dreigestirn
SetWolfsblut
SetYsgramor ==> Heldenmut
Wenn Set-Zauber nicht zugewiesen werden gibt es folglich nur 2 Möglichkeiten:
1.) Der Spieler hat nicht die benötigten Fertigkeiten.
2.) Die Set-Variable ist fehlerhaft.
Ersteres sollte klar sein und Möglichkeit 2 ist ein Bug den man leider nur durch die Konsole beheben kann indem man die Set-Variable auf 0 setzt, sobald kein Gegenstand des fraglichen Sets mehr ausgerüstet ist.
Weiters erkennt man leicht, ob die Set-Variable fehlerhaft ist, wenn beim Ausrüsten eines Set-Gegenstands sich das Menü nicht schließt und wieder öffnet. Dieser Vorgang wird nur bei der Änderung der Set-Variable durch das händische An- oder Ablegen des Spielers ausgeführt.
Hinweis: Ist eine Set-Variable tatsächlich kaputt, kann man sie einfach reparieren, indem man die Statue vor Burg Darlan neu errichtet. In diesem Skript muss auf alle Set-Variablen Rücksicht genommen werden, deshalb werden sie korrekterweise neu initialisiert.




Händlerbug: Marius
Es kann passieren, dass Marius nicht in seinem Händlerlager anzutreffen ist. Passiert dies, so steckt er im Boden fest.
Die Path-Grids sind eigentlich recht gut platziert, demnach scheint es sich hier um einen Platzierungsfehler der Engine zu halten.
Das Problem sollte sich mit der Zeit von selbst beheben, also sollte man einfach weiterziehen und später zurückkommen.
Früher oder später dürfte Marius wieder korrekt platziert werden.




Set-Bug: Wolfsblut (möglicherweise auch andere mit Komplettbonus-Gegenstand)
Das komplett ausgerüstete Set Wolfsblut fügt einen Zusatzteil hinzu, der den Slot der Halsketten belegt. Hat man das Set längere Zeit an, besteht die Möglichkeit, dass dieser Gegenstand verschwindet.
Allerdings handelt es sich dabei um einen rein visuellen Bug. Boni und Effekte, sowie Zauber sind nach wie vor vorhanden.
Woran das liegt weiß ich nicht, allerdings lässt es sich leicht durch aus- und anziehen eines Set-Gegenstands beheben.
Sollte durch den Fix mit den Kleidungsstücken (Komplettteile, sind nicht länger eine Rüstung sondern eine Kleidung und geskripteten Schildbonus) behoben sein.




Item-Bug generell: RemoveItem
Skripts in denen Gegenstände aus dem Inventar mittels der RemoveItem-Funktion entfernt werden, sind mit einem Fehler der Oblivion-Engine behaftet. Das lässt sich gut bei automatischen Sortierungsvorgängen feststellen.
Das Problem dabei sind gestohlene Gegenstände. Wenn man von einem Gegenstand mehrere im Inventar hat, aber ein paar dieser Gegenstände sind gestohlen, so werden sie auf einem anderen Stapel sortiert als die normalen Versionen dieses Gegenstands. Die RemoveItem-Funktion erkennt das nicht, wodurch alle Skripts die eben Gegenstände per Skript entfernen sollen etwas ausgetrickst werden. Wenn man beispielsweise 6 Teleportrunen kaufen möchte und 6 kleine Seelensteine (davon 3 normale und 3 gestohlene) im Inventar hat, wird beim Entfernen zwar angezeigt, dass 6 Seelensteine entfernt wurden.
Aber leider bleiben dennoch 3 Seelensteine im Inventar übrig, da die RemoveItem-Funktion die normalen und gestohlenen Gegenstände einzeln behandelt und nicht zusammenführt.
Das ist ein generelles Problem der Oblivion-Engine.
Update: Der Altar für Teleportrunen und das Schmiedefeuer haben nun eigene Abfragen, die dafür sorgen, dass auch wirklich die entsprechende Anzahl aus dem Inventar entfernt wird.
Alle anderen Funktionen die über RemoveItem verfügen und bei denen gestohlene und normale Gegenstände bearbeitet werden, haben nach wie vor dieses Problem.



Sprengen der Maximalwerte (255)
Dank des Abenteuertagebuchs kann man den Grundwert eines Attributs bis maximal 200 steigern. Das Maximum des Buches selber liegt bei 195 aber der Buchständer in Burg Darlan erlaubt ein Training bis 200. Wer mit diesem Wert Verzauberungen anlegt, die das Attribut auf 256 Punkte steigert wird schwächer, da 256 Punkte genausoviel wert sind wie nur 1 Punkt. 255 ist das absolute Maximum. Wenn es überschritten wird stürtzt das Spiel zwar nicht ab, aber es wird wieder von nur einem Punkt ausgegangen. Allerdings bezweifle ich, dass sich jemand die Zeit nimmt soviel in ein Attribut zu investieren ^^
Ist eigentlich unnötig...




Bekannter Bug: Eiszauber mit Einfrieren
Der Einfriereffekt eines Eiszaubers wird durch einen neueren Eiszauber, wo das Einfrieren fehlschlägt wieder aufgehoben.
Deshalb sollte man nach der Meldung "[Ziel] wurde eingefroren." (erscheint nur in Nehrim Expanded) einen anderen Zauber verwenden oder in den Kampf mit Waffen wechseln.
Alle Probleme rund um das Einfrieren sollten nun behoben sein.



Gorin wrote:
Bekannter Bug: Beherrschungs-, Wiedererweckungszauber (NE)
Es kann passieren, dass der Effekt von "Barmherzigkeit des Dreigestirns" und "Tote erwecken" zu früh stoppt.
Darum sollte man nicht versuchen die Kreatur oder den Untoten in andere Bereiche mitzunehmen, da dies selten funktioniert.
Ebenso der Zauber "Heldenverehrung" kann früher erlöschen, wenn man Bereiche wechselt.
Mit "Tote erwecken" hatte ich einmal das Problem einen Banditen mit mir rumzuschleppen, der abhanden kam.
Und als ich ihn mit dem Rufzauber holen wollte, kam nur etwas Unsichtbares (keine Textur), das nur seinen Namen trug (wohl ein Geist aus ihm geworden :D). Also empfiehlt es sich diese beherrschten Lebewesen, Untoten immer in seiner Nähe zu lassen bis der Zauber von selbst erlischt.
Außerdem ist "Tote erwecken" relativ absturzfreudig. Bevor man den Spruch verwendet sollte man lieber speichern.
Wird er ohne Probleme ausgeführt, kann es außerdem zu einem Problem mit dem begehbaren Boden für den wiedererweckten NPC kommen. Was heißt, dass er anfängt in der Luft zu laufen. Der Ruf-Zauber hilft bei diesem Problem etwas ab, kann es aber auch nicht gänzlich lösen.
Woran das liegt kann ich nicht genau sagen, möglicherweise hängt es aber damit zusammen einen NPC wiederzuerwecken, der gerade gesessen oder gelegen ist (Stuhl, Bett) oder der ein entsprechendes KI-Paket im Zusammenhang mit Sitzen und Liegen (etc.) ausführen wollte bevor er starb.
Das ist verifiziert. Man sollte keinen NPC töten, während er liegt oder sitzt, sondern ihn immer im normalen Zustand über den Jordan befördern und dann wiedererwecken.



Bekannter Bug: Rufzauber (NE)
Die Rufzauber für Kim können Nebenwirkungen haben.
Nachdem man aus der Festung von ihr befreit wurde und sie auf dem Weg zurück zum Sanktum zu sich ruft obwohl sie vielleicht noch immer in der Festung ist, weil sie dem Spieler nicht folgte kann sie als "Geist" erscheinen.
Wenn sie dennoch komplett erscheint, folgt sie dem Spieler nicht.
Dennoch kann man sie ganz schnell ins Sanktum bringen. Ganz gleich ob sie einem nicht folgt oder nur ein "Geist" ist: Sobald man sie im Haus der Templer ruft, wird Acorias auf sie aufmerksam, Kim sollte komplett erscheinen und die Quest ist beendet.
Ich werde mir Rufprobleme bei weiteren Kim-Quests anschauen.
Wird aber vorläufig nicht ausbessert, da das Problem bisher nicht schwerwiegend ist und leicht gelöst werden kann.
EDIT: Ich habe nun den Rufzauber während der Quest "Ins entvölkerte Land" getestet. Man bekommt ihn gleich, nachdem man Kim angesprochen hat.
Während ich mit meinem Charakter in die Außenwelt ging ist sie im Innenraum geblieben.
Als ich den Rufzauber benutzt habe, erschien sie neben meinem Charakter und begann ihm auch sofort zu folgen. In dieser Quest scheint es also zu keinen Problemen zu kommen.




Bekanntes Problem: Kein "Learning-by-doing" (NE)
Das "Learning-by-doing"-System ist fix im Spiel verankert und wird dementsprechend bei jedem Spielstart neu geladen.
Also muss überprüft werden, ob der Spieler das "Learning-by-doing" abgeschalten hat und danach werden erst die einzelnen Werte für Skillerhöhungen auf 0 gesetzt.
Lädt man also nach dem Spielstart einen Spielstand und geht SOFORT ins Menü um beispielsweise etwas zu reparieren wird man einige Erfahrungspunkte auf Handwerkskunst bekommen.
Ladet man ein Spiel und springt dann sofort oder bewegt sich mit dem Charakter bekommt man dementsprechend Punkte auf Akrobatik bzw. Athletik.
Das System wird einmalig beim Laden eines Spielstands abgeschalten, sofern "Learning-by-doing" in den Einstellungen deaktiviert wurde. Gleichzeitig werden alle Skillerfahrung wieder auf 0 gesetzt. Somit wird jegliche Erfahrung die man innerhalb der Sekunde in der Learning-by-doing noch aktiviert ist erhält wieder gelöscht.
Die Einstellung bleibt solange aufrecht bis man das Spiel KOMPLETT beendet, da es sich hierbei um GameSettings handelt die über Skript umgeschrieben werden.
Solange das Spiel nicht beendet und dann neu gestartet (initialisiert) wird bleibt "Learning-by-doing" deaktiviert.
Eine Reaktivierungsschranke gibt es allerdings, sollte ein älterer Spielstand geladen werden, bei dem "Learning-by-doing" nicht deaktiviert ist.
Nachdem man das Spiel gestartet und einen Spielstand geladen hat, sollte man also zumindestens eine Sekunde warten, damit das "Learning-by-doing" erneut deaktiviert werden kann.
Diese Sekunde ist aufgrund der Queststartverzögerung bei einem frisch geladenen Spielstand nötig und hängt mit der Engine zusammen.




Geistereiter-Bug (NE)
Gorin wrote:
Ab und an braucht er Unterstützung vom Spieler.
Steht er regungslos vor seinem Pferd oder läuft auf das Pferd zu und wieder weg, kann es helfen das Pferd anzuschieben oder im Kreis zu drehen (OHNE AUFZUSTEIGEN!).
Früher oder später sollte er sich in den Sattel schwingen und seinen Trab fortsetzen.
Aufgrund einer Fehlerbehandlungsroutine, sollten diese Probleme nun behoben sein. Allerdings können Pferd und Reiter getrennt voneinander gespawnt werden (passiert oft, wenn man die Zelle des Reiter und Pferds verlässt), wodurch der Reiter erst einmal zu seinem Pferd laufen muss, bevor er seine Patroullie fortsetzt.
Abenteuerliche Lösung:
Man gibt
player.moveto 214FC4
in die Konsole ein und teleportiert sich zum Geisterreiter und folgt ihm bis zu seinem Pferd.
Schnelle Lösung:
Findet man den Geisterreiter zuerst, gibt man stattdessen
prid 214FC5
moveto player
hintereinander in die Console ein (jede Zeile mit der Eingabetaste bestätigen).
Findet man das Pferd zuerst kann man es anders rum machen:
prid 214FC4
moveto player



Fluffy wird nicht gemocht bei "Einen Ausfall wagen"
Hat man Fluffy dabei, während man mit Hauptmann Dratis und seinen Soldaten zurück nach Cahbaet kommt, wird er von den Soldaten bei verschiedenen Kampfgelegenheiten als Feind betrachtet und sollte daher auf unsterblich gesetzt werden.




Warnung: Zauber "Körper auflösen (Rang I)" (NE)
Dieser Zauber ist eigentlich nur eine Spielerei. Gedacht für Spieler die nicht gerne die Leichen von Personen herumliegen lassen.
Allerdings sei zu beachten, dass dieser Zauber die Referenz eines Körpers KOMPLETT DEAKTIVIERT.
Wenn man also vermehrt die Körper getöteter Kreaturen oder Personen verschwinden lässt, kann man auch Referenzen von Gegnern verschwinden lassen, die eigentlich respawnen würden.
Das hat zur Folge, dass die Referenz das restliche Spiel lang, nie wieder an dieser Stelle respawnt.
Wenn die Kreatur allerdings nicht als Referenz der eigenen Rohform im Spiel platziert, sondern von einem Spawnpunkt erschaffen wurde, kann man sie auflösen und sie respawnt trotzdem wieder nach 3 Tagen.
Denn der Spawnpunkt selbst ist natürlich noch erhalten und kann innerhalb von 3 Tagen eine neue Kreatur spawnen.
Dennoch führt eine häufige Benutzung des Zaubers früher oder später zu einem ruhigeren Spiel, da es einige Gegner gibt, die eben nicht von einem Spawnpunkt ins Spiel eingefügt wurden, sondern als Referenz einer Basiskreatur (Rohform).
Andruschs Schafe (oder er selbst) erscheinen beispielsweise nicht wieder, wenn man sie auflöst.
Wohingegen seine Schafe wieder erscheinen würden, wenn man sie getötet hat aber nur liegen lässt (wer in Gottes Namen würde das tun???).




Exploit: KI
Die KI von Oblivion ist teilweise etwas fragwürdig.
Nehrim kann daran leider nichts ändern, weil es eben auf der selben Engine basiert.
Man kann übermenschlich vorteilhaft in Nehrim spielen (Schleichen) oder aber sich ein interessantes Spiel gestalten.
Verzichtet man auf Schleichen und sucht den direkten Kampf, wird das Spiel weitaus interessanter.
Sollte man aber Schleichen auf 100 (oder durch Zauber noch höher) haben, wird man bei Nacht, in dunklen Dungeons oder bei guten Deckungsmöglichkeiten kaum noch von Feinden wahrgenommen und kann so in Verbindung mit einer astreinen Schützenfertigkeit enormen Schaden anrichten, ohne in richtige Konfrontation zu kommen.




Bug: FISCHE
Der Bug der bei Fischen auftritt scheint mit der Engine zusammenzuhängen. Dabei sieht man die Fische in seltsam, gebogener Form im Wasser treiben. Oft legen sie diesen Zustand auch nicht ab, wenn der Spieler entdeckt wurde. Dann drehen sie sich nur zu ihm und glotzen ihn schief an. Mit der Zeit behebt sich dieses Problem von selbst.
Möglicherweise eine verzögerte Initialisierung aufgrund von der Fülle an Objekten in Nehrim?
Ist nicht spielbrechend und behebt sich wie gesagt mit der Zeit von selbst.

Ansonsten kann es noch passieren, dass Fische durch die Wand schwimmen, wenn sie ihr Angriffsmanöver durchführen. Dabei handelt es sich leider um einen Engine-Bug.

Außerdem spawnt die Oblivion-Engine Fische auch gerne an Land. In Nehrim hat jeder Fisch eine Funktion, die ihn mit der Zeit killt, wenn er an Land ist, aber diese arbeitet nicht 100% perfekt, wodurch Fische unter Wasser ebenfalls betroffen sind. Grund dafür ist, dass "IsSwimming" den Wert "0" zurückgibt, wenn man sich zu weit entfernt von dem Objekt befindet, welches das Skript ausführt. Das passiert allerdings sehr selten.




Bekannter Bug: Bergziegen, äh... Pferde
Die erhöhte Geschwindigkeit der Pferde erlaubt ihnen noch leichter über steile Berge zu kommen, die man eigentlich gar nicht erklimmen sollte.
Ähnliche Probleme gibt es aber auch mit den Pferden, wenn sie normale Geschwindigkeit hätten.
Darüber hinaus werden diese Probleme wohl auch in Enderal zu sehen sein, da Skyrim ebenfalls Bergziegen, äh... Pferde hat, die gerne klettern:
Image
Außerdem kann man mit Pferden die Seemonstersperre durchschwimmen. Wobei es einfacher ist das östliche Bergmassiv mit den Tieren zu überqueren, sollte man schon früh in die Wüste wollen.
Es ist NICHT empfohlen diese Orte schon zu besuchen, obwohl man noch nicht Zugang zu ihnen hat.
Mögliche Trigger könnten ausgelöst werden und dadurch Quests aktivieren, die noch gar nicht aktiviert werden sollten!




Bekannter Bug: Pferde und Pferderüstung kaufen
Hierbei kann es zu einem Problem kommen, dass sich nur in Form von Geldverschwendung äußert.
Als ich mein erstes Pferd kaufte und auch die Rüstung kaufen wollte, hatte ich für den Panzer kein Geld mehr.
Irgendwann hab ich das Tier in der Pampa stehen lassen und kam per Teleporter zurück nach Steinfeld.
Dann konnte ich zwar die Rüstung kaufen, aber das Pferd erschien nicht und ließ sich auch nicht rufen.
Ich hab mich zur Abtei Tirin teleportiert und dort meine Ausrüstung verstaut und bin nochmals zurück nach Steinfeld.
Dann musste ich nochmal das komplette Pferd kaufen, allerdings erschien es diesmal in Rüstung.
Es war das erste Pferd (kein Nachkauf weil "Pferd gestorben"), also bin ich mir nicht sicher ob sich dieser Bug reproduzieren lässt.
Es ist allerdings zu empfehlen, dass das Pferd IMMER in der selben Zelle wie der Spieler ist (vorher mit der Flöte rufen!) wenn man etwas dafür kaufen will.
Auch dieses Problem sollte nun komplett behoben sein.



Just Chill wrote:
WTF?!
[+]
Nachdem ich mir Baratheons Unterlagen über Arantheals Einkerkerung in Nehrim geholt habe, gings nach einigen Umwegen wieder zurück nach Cahbaet zu Taranor.
Eigenartigerweise wurde das Wetter von Regen auf wolkenlos geändert, als ich durch die Stadt ritt und Kampfeslärm war wieder zu hören (so als ob Cahbaet angegriffen wird, obwohl dieser Hauptquestverlauf schon abgeschlossen war).
Oben auf der Burg, wurden auch wieder Feuerbälle getriggert, die meinen Char umwarfen.

Ansonsten war der Questverlauft in Ordnung. Ich konnte die Unterlagen zu Taranor bringen, sein Kristall wurde entfernt und ich sollte mich aufmachen um Arantheal zu befreien.
ABER: Eigenartigerweise war die Magie meines Chars auf über 2000 Punkte angehoben. Zum Glück handelte es sich nur um eine Erhöhung der aktiven Magiepunkte, nicht der Generellen.
Also wurde im Inventar 2000 / 300 Magie angezeigt :shock:

Zaubert man kräftig, verliert man diese Exploit-Mana wieder. Woher und wieso es dazu kommt ist uns ein Rätsel.
Ich hab extra nochmal einen älteren Spielstand geladen und meine Vorgänge wiederholt.

Nur diesmal schlug das Wetter in Cahbaet nicht um und Kampfeslärm war auch keiner zu hören (wie vorgesehen).
Auch erhielt ich keine immensen Magiepunkte.

Da eine Reproduktion des Bugs offenbar schwierig ist, schreib ich das nur mal als Hinweis auf.
Wem Ähnliches passiert, sollte nochmal neu Laden, kann aber auch weiterspielen. Immerhin verliert man diese Magie irgendwann wieder, wenn man sie herunter auf den Basiswert verbraucht.
Last edited by Tealor Arantheal on 08.07.2016 20:44, edited 103 times in total.
Stiller Bugfix

Eigentlich wollte ich noch ein Demonstrationsvideo mit den Set-Gegenständen und ihren Zaubern posten.
Währenddessen stolper ich aber über einen üblen Bug im Zauber "Handwerk der Ewigkeit".
Sobald der Zauber um ist, stirbt der Spieler natürlich, wenn die normale Lebensenergie den Verlust der Bonuslebensenergie nicht kompensieren kann.
Hier wurde nun eine Sicherheitsschranke eingebaut.

Diese ist allerdings nicht perfekt, da der Spieler für einige Millisekunden nur einen einzigen Lebenspunkt hat, was wohl auf das zu frühe Verwenden von "Player.ResetHealth" im Set-Zauber zurückzuführen ist.
Allerdings ist es auch dieser Befehl, der den Tod des Spielers verhindet.
Aus diesem Grund wird einmalig ein weiteres, gescriptetes ResetHealth ein paar Millisekunden später ausgeführt.

Wirkt irgendein Schaden auf den Spieler dürfte dieses Schlupfloch dennoch klein genug für den Tod sein. Deshalb sollte man kurz vor Ende von "Handwerk der Ewigkeit" ein ruhiges Plätzchen suchen, um den Zauber ohne Gefahr ausklingen zu lassen.

Das Video zu den Sets folgt noch...
Update für Bugfix
Die Sicherheitsschranke wurde skripttechnisch noch etwas überarbeitet.

Das Video ist inzwischen im Kasten.
Mit einer Länge von fast 40 Minuten hab ich es in 2 Teile zerschnitten.
Der Upload wird wohl noch etwas dauern...
Letzter Schliff und Videos...

2 kleinere Änderungen gibt es noch:

- Feuerfunken regenerieren die kompletten Leben, sobald der Spieler ein Basisglück von 100 erreicht. Durchaus fair, da die ersten paar Feuerfunken ohnehin nur das Glück steigern werden und die Pflanze nur begrenzt zu erhalten ist. Sollten ein paar über bleiben, so sind sie nicht gänzlich sinnlos. Stattdessen können sie als stärkstes Heilmittel verwendet werden.

- Das Erhöhen von Attributen mit Reflexionspunkten im Abenteuertagebuch war noch etwas zu hoch. Dass eine Erhöhung mit Reflexionspunkt genausoviel kostet wie 5 Fertigkeitserhöhungen bei einem Trainer war in der Relation etwas übertrieben. Deshalb kostet es nur 3 Lernpunkte, wohingegen eine Erhöhung ohne Reflexionspunkte noch immer 10 kostet, schließlich verschenkt man Attributserhöhungen auch nicht einfach so :P

Die Videos sind etwas grenzwertig zusammengeschnitten und im zweiten Part hinkt der Ton gegen Mitte etwas nach, was sich aber bei den letzten 4 Sets wieder bessert.
Als "Test"videos erfüllen sie allerdings ihren Zweck, da ich keinerlei gröbere Bugs mit den Set-Zaubern hatte.
Chameleon scheint in Nehrim visuell nicht richtig zu funktionieren, da der Charakter erst nach wechseln der Perspektive unsichtbar wird.
Trotzdem scheint der Effekt dennoch die gewünschte, aber kurze Wirkung zu haben.



Wie im anderen Thread bereits angedroht hab ich ein neues Spiel mit einem Normannen gestartet, dann hätte ich alle Rassen durch (selbst wenn sich nicht allzuviel dadurch ändert...).

Update V7.1
War ja klar.
Eigentlich wollte ich ganz gemütlich ohne Learning-by-doing, mit alternativem Levelsystem und dynamischen Lernpunkten starten.
Allerdings scheint da noch ein Problem mit dem alternativen Levelsystem zu sein.
Da ich nicht wusste wie ich das Erfolgs-Musikstück von einem Levelaufstieg per Skript auslöse habe ich ein "stilles" normales Level Up ausgeführt (durch Skriptkommands unterdrückt), um an die korrekten Soundeffekte zu kommen.
Allerdings war das nicht koscher, da dadurch das normale Levelaufstiegsmenü angezeigt wird, wenn man sich schlafen legt.
Zumindestens einmalig ist das passiert bei meinem Start.
Trotzdem ist so ein Bonus-Levelaufstieg ein übler Bug, der wohl mit diesem "stillem" Level Up zusammenhing.

Also führt das neue Skript die Soundeffekte per Kommando aus, ohne "stilles" Level Up. Allerdings musste dazu der Level Up-Sound als WAV-Datei gespeichert werden.
Ich habe leider keinen Befehl gefunden, der diesen Erfolgssound abspielen lässt.
Deshalb ist das Archiv auch um einen Batzen größer...

Aber glücklicherweise ist der Bug mit dem Bonus-Levelaufstieg behoben.
Den Sound "AALevelUpSuccess.wav" findet man unter "Data\Sound\Fx\Nehrim".
Man kann ihn gegen einen anderen WAV-Sound tauschen, sofern man die Levelaufstiegsmelodie im alternativen Levelsystem ändern möchte.
Selbstverständlich muss der andere Sound den selben Namen tragen.

EDIT: Späterer Upload
Eine Sache war noch zu machen, die mich beim letzten Spiel gestört hat, aber bei der ich nicht wirklich wusste was zu tun ist.
Es ging um den Faltrin-Dämon. Er ist letztes Spiel außerhalb des erreichbaren Interiorbereichs gespawnt worden.
Diesmal ist es zwar nicht passiert, allerdings wurden die Path-Grids trotzdem überarbeitet, als ich mit diesem eigentlich recht üblen Fehler rausgerückt bin.
Ich kann das jetzt nicht überprüfen, hoffe aber, dass die neuen Path-Grids dafür sorgen, dass es nicht mehr passiert.
Wie es aussieht hält der erste April noch ein paar Scherze bereit...

Update V7.2
Die Oblivion-Engine arbeitet ja auf debile Weise nur mit Floats (Kommazahlenwerte).
Shorts oder Longs (Werte ohne Komma) werden nur von einem eigentlichen Kommawert aufgerundet.

Die Lernpunkte werden als so ein aufgerundeter Wert gespeichert, der allerdings nicht bei den Dialog-Eigenschaften erkannt wird.
Wenn also abgefragt wird ob der Spieler einen Lernpunkt hat kann es passieren, dass der Trainer antwortet "So nicht, ihr müsst erst die notwendige Erfahrung mitbringen!", obwohl der Spieler den notwendigen Lernpunkt dafür im Inventar angezeigt bekommt.
Dementsprechend ist der Rohwert der Lernpunkte zwischen 0,5 und 0,9 aber kein ganzer Punkt.
Um das zu verhindern wurde nun bei jeder dynamischen Berechnung von Lernpunkten, etc. auf eine "Floor"-Funktion zurückgegriffen, welche die Kommastellen eines Werts einfach abschneidet.
Aus 9,9 wird dementsprechend 9 also benötigt man exakt 100 Intelligenz um 10 Punkte zu bekommen anstatt nur 95.

Dieses Problem entstand speziell durch die dynamische Berechnung von Lernpunkten ist aber durch die "Floor"-Funktion nun behoben.
Dementsprechend wurde der Patch für die "Nehrim XP Progess Bar" ebenfalls überarbeitet.
Dieser ist im "Nehrim Expanded PATCHES"-Ordner des Archivs zu finden.

Wer bereits mit einem dieser "falschen" Lernpunkte herumläuft, sollte "Set Lernpunkte to 0" in die Konsole eingeben, um das Problem zu beheben.
Update V7.3
Hier handelt es sich nur um eine Kleinigkeit die mit TESIVEdit ausgebessert wurde.

Die Questbeschreibung für den Rufzauber von Kim wurde etwas angepasst.
Da Kim ja Männchen oder Weibchen sein kann musste die Formulierung in der Quest so neutral wie möglich ausfallen.
Das hab ich noch etwas überarbeitet.

EDIT:
Da ich im Bezug auf den Erhalt der Lernpunkte nochmal angesprochen wurde, werde ich meine Antwort auch öffentlich posten.
Vielleicht werden dadurch ja auch andere Klarheiten beseitigt:
Gorin wrote:
Das mit den Lernpunkten hat mich in Nehrim bisher überhaupt total gewundert ^^

Also:
Im normalen Nehrim bekommst du pro Level up 7 Lernpunkte.
Außer beim allerersten Levelaufstieg (von Stufe 1 auf 2), da bekommst du 10 Lernpunkte.
Das ist in Nehrim so fix programmiert, was wohl irgendwas mit Balancing zu tun hat?

Was das deaktivieren vom "Learning-by-doing" betrifft bekommst du +10 Bonuslernpunkte, wenn du OHNE dynamische Lernpunkte spielst.

Also beim ersten Level Up (von 1 auf 2) bekomsmt du 20 Lernpunkte, wenn du ohne Dynamische Spielst (10 fix + 10 Bonus fix)

Wenn du aber mit dynamischen und Intelligenz 40 spielst bekommst du nur 8. (4 (von 40/10) + 4 (von 40 / 10))


Das erste Level Up wird in Nehrim speziell behandelt, keine Ahnung warum.


Bei allen anderen Level Ups bekommst du 17 Lernpunkte (7 fix + 10 Bonus fix).

Mit dynamischen Lernpunkten bekommst du eben wieder soviele wie bei der Formel rauskommt. Wenn du Intelligenz auf 100 hast bekommst du exakt 20 Lernpunkte (10 (von 100/10) + 10 (von 100/10)).

Aber nicht vergessen, dass der Bonus eben nur bei deaktivierten "Learning-by-doing" vorhanden ist und du die Bonuslernpunkte erst NACH erfolgreichem Levelaufstieg bekommst.
Das heißt einmal bekommst du Lernpunkte für das Sammeln der notwendigen Erfahrungspunkte und einmal dafür, dass du im Tagebuch einen Levelaufstieg gemacht hast.

Wenn "Learning-by-doing" aktiviert ist bekommt man dann eben nur 7 Lernpunkte (bzw. 10 beim ersten Levelaufstieg) ohne Dynamische und maximal 10 (von 100/10), wenn die dynamischen Lernpunkte aktiv sind.

Wenn du für deinen Geschmack zu wenige LP bekommst, dann schalte die Dynamischen aus.
Dadurch bekommst du jedes Level Up 17 Punkte (weil du ja ohne "Learning-by-doing" spielst).
Sobald du Intelligenz auf 90 hast kannst du sie einschalten, da du dann 18 Punkte erhältst.
Die Möglichkeit auf diese Art zu mogeln habe ich bereits im offiziellen Thread angesprochen:
Gorin wrote:
Die an- und ausschaltbaren Optionen sind ebenso zu betrachten wie der Schwierigkeitsregler: Einstellungen die man einmalig vornehmen sollte.
Stellt man Optionen zu gewissen Zeitpunkten an- bzw. aus und erhält dadurch einen Vorteil, muss man das mit sich selbst ausmachen.
Beispielsweise kann man die Anzahl der insgesamt erhaltenen Lernpunkte drastisch steigern wenn man die dynamischen Lernpunkte erst einschaltet, sobald man Intelligenz auf 80 (90 ohne "Learning-by-doing") hat.
Im normalen Nehrim bekommt man pro Levelaufstieg 7 fixe Lernpunkte (+10 mit ausgeschaltetem "Learning-by-doing"-System).
Da man mit Intelligenz auf 80 (90 ohne "Learning-by-doing") und dynamischen Lernpunkte acht Stück davon erhält, erspart man sich bei einer Aktivierung zu diesem Zeitpunkt den Malus den man bei einer Aktivierung ab dem Tod des schwarzen Trolls bekommen hätte.
Wenn man mit 35 Intelligenz startet würde man beim Levelaufstieg auch nur 3 (+3 mit ausgeschaltetem "Learning-by-doing"-System) dynamische Lernpunkte erhalten (also bei deaktivierten "Learning-by-doing" insgesamt 6).
Ein ähnlicher Exploit wäre es, wenn man "Learning-by-doing" aktiviert lässt, bis alle Fertigkeiten auf 90 sind.
Wenn man es danach ausschaltet kann man die restlichen Punkte bequem bei Trainern erhöhen.
Allerdings zahlt sich das spätere Aktivieren nicht aus, wenn man bereits nahe an einem perfekten Char (alle Attribute 100) ist.
Sobald man einen perfekten Char hat, bekommt man keine Bonuslernpunkte mehr. Egal ob das System aktiviert ist oder nicht.
Dann muss man sich mit den herkömmlichen Lernpunkten begnügen.
Update V7.5

Ich hab mir das mit den dynamischen Lernpunkten nochmal durch den Kopf gehen lassen.
Mir kam es zwar schlüssig vor, dass Intelligenz als Attribut für die Formel verwendet wird, da es sich leichter lernt, wenn man clever ist.

Allerdings ist man dann so sehr an ein Attribut gebunden das hauptsächlich für Magier interessant ist.

Dementsprechend habe ich das Tagebuch-Skript nochmals vergewaltigt und dem Punkt "Dynamische Lernpunkte" ein eigenes Untermenü verschafft.
Dort kann man nun diese Einstellung aktivieren und sogar das Attribut für die Berechnung auswählen.
Von Haus aus ist Intelligenz eingestellt, allerdings kann auch jedes andere Attribut dafür verwendet werden.

Somit steht es dem Spieler frei sein Attribut für die dynamischen Lernpunkte selbst auszusuchen. Allerdings ist auch hier von einer einmaligen Einstellung die Rede.
Wer das Attribut zum persönlichen Vorteil immer wieder verstellt ist selber Schuld :P

Diese Änderungen führten natürlich auch zu einer Überarbeitung des Player-Skripts und deshalb musste auch der Patch für "Nehrim XP Progress Bar" überarbeitet werden.
Wie immer findet man diese Überarbeitung im Ordner "Nehrim Expanded PATCHES" des Archivs.

Darüber hinaus wird im Untermenü angezeigt wieviele Lernpunkte man durch die Dynamischen mit dem ausgewählten Attribut erhält.
Somit sollten auch diese Klarheiten bereits im Spiel beseitigt werden ;)
Stilles Update...

Da V7.5 noch von keinem außer mir geladen wurde, habe ich es noch geschwind verbessert.
Nun werden immer exakt die Lernpunkte im Untermenü angezeigt, die man erhalten würde.
Wenn die Dynamischen ausgeschalten sind wird der fixe Bonus angezeigt (wobei auch berücksichtigt wird ob "Learning-by-doing" aktiviert ist oder nicht).
Sind sie aktiviert wird immer der Attributswert und die Formel sowie das Ergebnis angezeigt (auch hier wird "Learning-by-doing" berücksichtigt).

Somit sollte man immer genau im Bilde darüber sein, wievele Lernpunkte man mit welcher Einstellung erhält.

Da ich jetzt beide Formeln untereinander stehen hatte, sahen die Bonuslernpunkte eigentlich nicht so aus als würden sie wie "Bonus"lernpunkte berechnet werden.
Deshalb hab ich die Formel für Bonuslernpunkte nochmal überarbeitet:
normale Lernpunkte = (BasisAttribut / 10)
Bonuslernpunkte = 5 + (BasisAttribut / 20)
Schlechtes Gewissen wrote:
man aber zu Faul ist [ ;) ]
Schuldig.
Mir fehlt es hier echt an der Lust großartig die Screenshots der veralteten Versionen auf den neuesten Stand zu bringen.
Von den neuen dynamischen Lernpunkten mach ich aber doch noch 2 Paar Screenshots :P
[+]
Image Image
Image Image
Update V8.0

Zu meiner Schande muss ich gestehen, dass ich die Quest "Kein festes Schuhwerk" bisher gar nicht beachtet habe.
Ich mach mir nicht viel aus Schuhen :lol:

Allerdings bin ich über diese Bugbeschreibungen in der Wiki gestoßen:
Kein festes Schuhwerk:Wiki wrote:
Noch ist es so, dass es die Inodanische Samtschuhe zweimal zu finden gibt, da der Fundort im Verlauf der HQ einer Änderung unterzogen wird, aber die Schuhe nur einmal abgegeben werden können! Das heißt, es bleibt eines als Questitem dauerhaft im Inventar!

Auch sind die Silberbrokatschuhe nur im Kapitel 1; HQ 01-07 erhältlich!

Die Quest kann z. Zt. noch nicht abgeschlossen werden und bleibt aktiv, nachdem alle Schuhpaare abgegeben wurden!
Da hab ich mir die Quest doch zur Brust genommen und überarbeitet.

Von ALLEN Schuhen gibt es jetzt insgesamt 5 Paar in der Spielwelt zu finden.
Ein weiteres Paar wird von der Kunsthändlerin in Erothin verkauft, was sich allerdings nicht rentiert da die Schuhe in Rohform sehr teuer sind.
Alle Schuhe haben Preise zwischen 410 und 450 Gold.

Sobald man die Quest aktiviert hat und ein Schuh sich im Inventar befindet, aktualisiert sich der Status wie zuvor und man kann sie bei Bodenbruuk abliefern.
ABER: Sobald man die Schuhe abgeliefert hat wird von Bodenbruuk der Modetrend zerstört.
Selbst wenn sie nur ein Paar besitzt werden alle ürbig geblieben Paare in der Spielwelt ihren Queststatus verlieren und "(Außer Mode)" steht absofort in ihrem Namen dabei.
Um das Ganze noch zu verdeutlichen sind die Schuhe absofort um 300 Gold weniger wert und Bodenbruuk wird sie auch nicht kaufen wollen.

Deshalb sollte man sich überlegen ob man die Quest schnell zu Ende bringen möchte oder soviele der in der Welt von Nehrim verteilten Schuhe zu finden wie möglich.
Die Schuhe welche zuvor schon in der Spielewelt platziert waren bleiben, allerdings kamen eben 4 bis 3 neue Paar hinzu.

Bodenbruuk zahlt den Vollpreis (also zwischen 410 und 450) für JEDES Paar. Wenn man also 5 Stück der Cahbaeter Prinzessinenschuhe findet zahlt Bodenbruuk 5 mal 450 Gold.
Sollten ihr nicht alle 5 gebracht werden, verlieren die übrig gebliebenen Exemplare eben ihren Wert und sind absofort nur noch für 150 Goldstücke gut.
Und da Bodenbruuk nachträglich kein Interesse an Schuhen besitzt, die sie totgetragen hat kann man sie auch nur zum Billigtarif bei normalen Händlern verkaufen.

Sobald ihr von jedem Paar ein Exemplar gebracht wurde ist die Quest beendet.
Wer also auf etwas mehr Geld aus ist, sollte mit dem Abschluss der Quest warten, bis mehr der gewünschten Schuhe gefunden wurden.

Es gibt KEINE neuen Items.
Die Schuhe werden über Skript umbenannt und ihr Wert wird vermindert je nachdem ob der Queststatus dafür zutrifft.
Dementsprechend sollte es zu keinerlei Komplikationen kommen, selbst wenn diese Quest bereits läuft.

Einziges Manko: Der Queststatus wird den übrig gebliebenen Schuhen NUR im Dialog mit Bodenbruuk aberkannt (sobald man ihr die Schuhe gibt).
Wer das in einem aktiven Spielstand schon gemacht hat, für den sind die bereits abgegeben Paar weiterhin Questobjekte.
Den Queststatus eines Objekts zu ändern scheint zu Problemen mit anderen Skriptbefehlen des betreffenden Objekts im SELBEN Skript zu führen.
Aus diesen Grund wird der Queststatus nur einmalig im Dialogskript aufgehoben, während die Namens- und Werteänderungen im Objektskript der Schuhe erfolgt.
Last edited by Tealor Arantheal on 05.04.2014 09:55, edited 2 times in total.
Warum hat sich eigentlich niemand beschwert?

Ich hab grad eine Meldung in einem anderen Forum bezüglich der Partdateien erhalten:
Da käme es zu einem Fehler.

Als ich sie geladen und entpacken wollte, hatte ich den selben Fehler -.-
Keine Ahnung wie das passieren konnte immerhin hat's vor dem Upload noch funktioniert.

Wurden inzwischen neu gepackt und hochgeladen!
Gorin wrote:
Einziges Manko: Der Queststatus wird den übrig gebliebenen Schuhen NUR im Dialog mit Bodenbruuk aberkannt (sobald man ihr die Schuhe gibt).
Wer das in einem aktiven Spielstand schon gemacht hat, für den sind die bereits abgegeben Paar weiterhin Questobjekte.
Den Queststatus eines Objekts zu ändern scheint zu Problemen mit anderen Skriptbefehlen des betreffenden Objekts im SELBEN Skript zu führen.
Aus diesen Grund wird der Queststatus nur einmalig im Dialogskript aufgehoben, während die Namens- und Werteänderungen im Objektskript der Schuhe erfolgt.
Außerdem wurde der Patch für NE überarbeitet.
Wer über diese Quest bereits hinaus ist kann mit dem Patch den Queststatus der Schuhe nachträglich ändern.
Der Questitemstatus sollte im Spielstand gespeichert werden, also braucht man den Patch nur einmalig zu verwenden.
Nachdem man im Spiel 10 Sekunden gewartet hat und speichert, kann man den Patch wieder deaktivieren.
Stiller Bugfix

Und noch eine Meldung...
Offenbar hat sich jemand in ein neues Spiel von Nehrim gewagt und gleich zu Beginn vor dem ersten Levelaufstieg auf das alternative System gewechselt.
Das Ergebnis war, dass ebenfalls ein Oblivion-Standardlevelaufstieg beim Schlafen durchgeführt werden sollte.
Also noch immer dieses Problem, obwohl es irgendwie so aussah, als würde es am "stillen" Levelaufstieg liegen.

Das sollte auch erklären, warum der erste Levelaufstieg von Nehrim anders behandelt wird.
Aus diesem Grund trat das Problem auch nicht im normalen Levelsystem von Nehrim auf.
Das erste Level Up muss so durchgeführt werden!

Nun ist das Untermenü "Alternatives Training" gesperrt, wenn man gerade den schwarzen Troll besiegt hat und vor dem ersten Levelaufstieg steht.
Dieser MUSS ganz normal durchgeführt werden.

VORTEIL: Nachdem der Levelaufstieg durchgeführt wurde, sind bereits die Fertigkeiten für die Erfassung der Attributspunkte im alternativen System gespeichert.
Wenn man also auf das Alternative EINMALIG wechselt, sollte man die Attributspunkte erhalten die sich bei diversen Fertigkeitserhöhungen bis zum Levelaufstieg ergeben.

DAS FUNKTIONIERT NUR EINMAL! Wenn man also auf das alternative System wechselt und dann aber wieder zum Normalen und zuletzt wieder auf das Alternative, wird die Berechnung der Attributspunkte wieder reinitialisiert und man erhält nur 3 für das nächste Level Up.

Dementsprechend sollte man auch wirklich nur einmal nach dem Aufstieg auf Level 2 das Levelsystem ändern.
Man kann auch warten...
Beispielsweise bis man aus dem Minengelände draußen ist und in Tirin.
Egal mit welchem Level man zum ersten Mal auf das alternative System wechselt, der Fertigkeitenunterschied wird für eine anständige Anzahl an Attributspunkten sorgen.

Edit: Stille Performanceverbesserung

Die "Federnden Beinschienen" haben wie schon mal erwähnt den Effekt, dass sie den Spieler komplett vor Fallschaden schützen.

Sobald man sie anzieht wird eine Quest aktiviert, die im laufenden Spiel den Fallschaden des Spielers resetiert.
Die Laufzeit dieser Quest war ungewöhnlich hoch eingestellt: "Set fQuestDelayTime to 0.001"
Das wurde nun auf "Set fQuestDelayTime to 0.1" reduziert und es funktioniert genauso gut und sollte die Leistung des Spiels etwas verbessern, wenn diese Beinschienen getragen werden.
Zwar ist eine Quest die jede Milisekunde mit nur einem Befehl ausgeführt wird nicht spielbrechend, aber wozu so oft nachhaken wenn es jede Zehntelsekunde auch geht?
Für Skriptinteressierte poste ich noch die überarbeiteten Skripts des Tagebuchs...
[+]
scn GlobaltagebuchScript

short Button
float Step
float MsgBonusLP
short MenuNumber
short opened
Long BankKontostand
Float Zinsen

;>>>>>>>>>>>>>>>[ Handwerk ]>>>>>>>>>>>>>>>>
Short f ;HandwerkskunstVar
Short g ;Alchemie
Short a ;SchmiedehammerVar
Short b ;SchmiedeZangeVar
Short c ;SchmelzerangeVar
Short d ;SchatzSchaufelVar
Short e ;SteinHackeVar

;>>>>>>>>>>>>>>>[ Jagd ]>>>>>>>>>>>>>>>>
Short JagdZaehlenVar
Short JagdFellOnce
Short JagdHerzOnce
Short JagdHornOnce
Short JagdKlauenOnce
Short JagdKrallenOnce
Short JagdZahnOnce

;>>>>>>>>>>>>>>>[ Zauber ]>>>>>>>>>>>>>>>>
Short GradZaehlenVar
Short GradIOnce
Short GradIIOnce
Short GradIIIOnce
Short GradIVOnce
Short GradVOnce
Short GradVIOnce
Short GradVIIOnce

Short GradI
Short GradII
Short GradIII
Short GradIV
Short GradV
Short GradVI
Short GradVII

string_var sCompleteMessage
string_var sVarDistantB
string_var sVarWaterR
string_var sVarNightL
string_var sVarAutoS
string_var sVarSpeicherB
string_var sVarEasyT
string_var sVarAthleticsF
string_var sVarDynamicL
string_var sVarAlternativeL
string_var sVarNOLearning
string_var sVarDynamicLAtt


Begin OnEquip player
if	( StartGlobal == 1 )

	PlaySound "ITMBookOpen"
	set opened to 1
	set step to 1

;>>>>>>>>>>>[ Werkzeug berechnen ]>>>>>>>>>>>>>>>
	if ( Player.GetItemCount, "WerkzeugHammer01" > 0 )	;Abfrage für Handwerksmenu Hammer
		Set a to 1
	else
		Set a to 0
	endif

	if ( Player.GetItemCount, "WerkzeugZange01" > 0 )		;Abfrage für Handwerksmenu Schmiedezange
		Set b to 1
	else
		Set b to 0
	endif

	if ( Player.GetItemCount "WerkzeugZange02" > 0 )		;Abfrage für Handwerksmenu Schmelzerzange
		Set c to 1
	else
		Set c to 0
	endif

	if ( Player.GetItemCount "WerkzeugSchaufel01" > 0 )	 || ( Player.GetItemCount "WerkzeugSchaufel02" > 0 )		;Abfrage für Handwerksmenu
		Set e to 1
	else
		Set e to 0
	endif

	if ( Player.GetItemCount "WerkzeugSpitzhacke01" > 0 ) 	;Abfrage für Handwerksmenu
		Set d to 1
	else
		Set d to 0
	endif

;>>>>>>>>>>>[ Konto berechnen ]>>>>>>>>>>>>>>>
	Set BankKontostand to ErothinBankQuest.PlayerKontostand	;Kontostand übertragen
	set f to Player.GetActorValue "Armorer"						;Abfrage für Handwerksmenu
	set g to Player.GetActorValue "Alchemy"

	if ( getstage MQ14 < 20 )
		set Zinsen to 2
	elseif ( getstage MQ19 < 70 )
		set Zinsen to 1
	else
		set Zinsen to 3
	endif

;>>>>>>>>>>>[ Jagd berechnen ]>>>>>>>>>>>>>>>
	if ( JagdFellVar == 1 ) && ( JagdFellOnce == 0 )
		Set JagdZaehlenVar to JagdZaehlenVar +1
		Set JagdFellOnce to -1
	endif

	if ( JagdHerzVar == 1 ) && ( JagdHerzOnce == 0 )
		Set JagdZaehlenVar to JagdZaehlenVar +1
		Set JagdHerzOnce to -1
	endif

	if ( JagdHornVar == 1 ) && ( JagdHornOnce == 0 )
		Set JagdZaehlenVar to JagdZaehlenVar +1
		Set JagdHornOnce to -1
	endif

	if ( JagdKlauenVar == 1 ) && ( JagdKlauenOnce == 0 )
		Set JagdZaehlenVar to JagdZaehlenVar +1
		Set JagdKlauenOnce to -1
	endif

	if ( JagdKrallenVar == 1 ) && ( JagdKrallenOnce == 0 )
		Set JagdZaehlenVar to JagdZaehlenVar +1
		Set JagdKrallenOnce to -1
	endif

	if ( JagdZahnVar == 1 ) && ( JagdZahnOnce == 0 )
		Set JagdZaehlenVar to JagdZaehlenVar +1
		Set JagdZahnOnce to -1
	endif

;>>>>>>>>>>>[ Zauber berechnen ]>>>>>>>>>>>>>>>
	if ( Player.GetLevel >= 1 ) && ( GradI == 0 )
		Set GradI to 1
	endif
	if ( Player.GetLevel >= 7 ) && ( GradII == 0 )
		Set GradII to 1
	endif
	if ( Player.GetLevel >= 14 ) && ( GradIII == 0 )
		Set GradIII to 1
	endif
	if ( Player.GetLevel >= 21 ) && ( GradIV == 0 )
		Set GradIV to 1
	endif
	if ( Player.GetLevel >= 28 ) && ( GradV == 0 )
		Set GradV to 1
	endif
	if ( Player.GetLevel >= 35 ) && ( GradVI == 0 )
		Set GradVI to 1
	endif
	if ( Player.GetLevel >= 42 ) && ( GradVII == 0 )
		Set GradVII to 1
	endif

	if ( GradI == 1 ) && ( GradIOnce == 0 )
		Set GradZaehlenVar to GradZaehlenVar +1
		Set GradIOnce to -1
	endif
	if ( GradII == 1 ) && ( GradIIOnce == 0 )
		Set GradZaehlenVar to GradZaehlenVar +1
		Set GradIIOnce to -1
	endif
	if ( GradIII == 1 ) && ( GradIIIOnce == 0 )
		Set GradZaehlenVar to GradZaehlenVar +1
		Set GradIIIOnce to -1
	endif
	if ( GradIV == 1 ) && ( GradIVOnce == 0 )
		Set GradZaehlenVar to GradZaehlenVar +1
		Set GradIVOnce to -1
	endif
	if ( GradV == 1 ) && ( GradVOnce == 0 )
		Set GradZaehlenVar to GradZaehlenVar +1
		Set GradVOnce to -1
	endif
	if ( GradVI == 1 ) && ( GradVIOnce == 0 )
		Set GradZaehlenVar to GradZaehlenVar +1
		Set GradVIOnce to -1
	endif
	if ( GradVII == 1 ) && ( GradVIIOnce == 0 )
		Set GradZaehlenVar to GradZaehlenVar +1
		Set GradVIIOnce to -1
	endif

else
	Message "Ihr könnt das jetzt noch nicht verwenden."
	PlaySound "UIMenuCancel"
endif
End


begin MenuMode
	


if ( opened != 1 )
	return
endif

if ( Step == 1 )
	if ( VarLevelup > 0 )
    		MessageBox "     Erfahrungspunkte: %5.0f /%5.0f     Lernpunkte:  %3.0f", EP, EPLevelUp, Lernpunkte, "LEVEL AUFSTEIGEN!", "Alchemie-Status", "Handwerks-Status", "Jagd-Fertigkeiten", "Spezial-Fertigkeiten", "Verfügbare Zaubergrade", "Statistiken", "Einstellungen", "Tagebuch verlassen"
	else
    		MessageBox "     Erfahrungspunkte: %5.0f /%5.0f     Lernpunkte:  %3.0f", EP, EPLevelUp, Lernpunkte, "Alchemie-Status", "Handwerks-Status", "Jagd-Fertigkeiten", "Spezial-Fertigkeiten", "Verfügbare Zaubergrade", "Statistiken", "Einstellungen", "Tagebuch verlassen"
	endif
	set opened to 1
	set Step to -1
elseif ( Step == -1 )

 		Set Button to GetButtonPressed

		if ( VarLevelup == 0 )
			if ( Button >= 0 )
				set Button to Button + 1
			endif
		endif

		if ( Button == 0 ) ; Levelup-Menü
			if ( Player.GetLevel == 1 ) ; Erstes Tutorial Levelup
				if Player.GetBaseAV Strength >= 100 && Player.GetBaseAV Intelligence >= 100 && Player.GetBaseAV Willpower >= 100 && Player.GetBaseAV Agility >= 100 && Player.GetBaseAV Speed >= 100 && Player.GetBaseAV Endurance >= 100 && Player.GetBaseAV Personality >= 100 && Player.GetBaseAV Luck >= 100
					;What else?
				else
					Set VarNormalLevelUpDONE to 1
				endif
				AdvancePCLevel
				Set Lernpunkte to Lernpunkte + 10
				Message "Ihr erhaltet 10 Lernpunkte."
				MessageBox "Mit Eurem Stufenaufstieg habt Ihr 10 Lernpunkte bekommen. Diese könnt Ihr bei speziellen Trainern gegen Fertigkeiten (z.B. Schwertkampf, Schütze etc.) eintauschen." "OK"
				Set VarLevelup to VarLevelup - 1
				Set Step to 0
			else ; Alle Levelups danach
				If VarAlternativeLeveling == 1
					If Player.GetBaseAV Strength >= 100 && Player.GetBaseAV Intelligence >= 100 && Player.GetBaseAV Willpower >= 100 && Player.GetBaseAV Agility >= 100 && Player.GetBaseAV Speed >= 100 && Player.GetBaseAV Endurance >= 100 && Player.GetBaseAV Personality >= 100 && Player.GetBaseAV Luck >= 100
						AdvancePCLevel
						Set Manazuwachs to 1
						Set Step to 0
						Set VarLevelup to VarLevelup - 1
						Return					
					endif
					DisableControl 15
					DisableControl 5
					AdvancePCLevel
					CloseAllMenus			
					Set zzzzzAlternativeLeveling.LevelUPInitial to 1
					StartQuest zzzzzAlternativeLeveling
				ElseIf VarAlternativeLeveling == -1
					if VarNOLearningByDoing == 1
						if Player.GetBaseAV Strength >= 100 && Player.GetBaseAV Intelligence >= 100 && Player.GetBaseAV Willpower >= 100 && Player.GetBaseAV Agility >= 100 && Player.GetBaseAV Speed >= 100 && Player.GetBaseAV Endurance >= 100 && Player.GetBaseAV Personality >= 100 && Player.GetBaseAV Luck >= 100
							;What else?
						else
							if VarDynamicLernpunkte == 1
								if VarDynamicLAttribut == 0
									Set Step to Player.GetBaseAV Strength									
								elseif VarDynamicLAttribut == 1
									Set Step to Player.GetBaseAV Intelligence
								elseif VarDynamicLAttribut == 2
									Set Step to Player.GetBaseAV Willpower
								elseif VarDynamicLAttribut == 3
									Set Step to Player.GetBaseAV Agility
								elseif VarDynamicLAttribut == 4
									Set Step to Player.GetBaseAV Speed
								elseif VarDynamicLAttribut == 5
									Set Step to Player.GetBaseAV Endurance
								elseif VarDynamicLAttribut == 6
									Set Step to Player.GetBaseAV Personality
								elseif VarDynamicLAttribut == 7
									Set Step to Player.GetBaseAV Luck									
								endif
								if Step > 100
									Set Step to 100
								endif
								Set Step to (Step / 20)
								Set Step to floor Step
								Set Lernpunkte to Lernpunkte + (5 + Step)
							elseif VarDynamicLernpunkte == -1
								Set Lernpunkte to Lernpunkte + 10
							endif
						endif
					endif
					if Player.GetBaseAV Strength >= 100 && Player.GetBaseAV Intelligence >= 100 && Player.GetBaseAV Willpower >= 100 && Player.GetBaseAV Agility >= 100 && Player.GetBaseAV Speed >= 100 && Player.GetBaseAV Endurance >= 100 && Player.GetBaseAV Personality >= 100 && Player.GetBaseAV Luck >= 100
						;What else?
					else
						Set VarNormalLevelUpDONE to 1
					endif
					AdvancePCLevel
				EndIf
				Set Manazuwachs to 1
				Set Step to 0
				Set VarLevelup to VarLevelup - 1
			endif
		elseIf ( Button == 1 )
			Set Step to -10

		elseIf ( Button == 2 )
			Set Step to -20

		elseIf ( Button == 3 )
			Set Step to -30

		elseIf ( Button == 4 )
			Set Step to -40

		elseIf ( Button == 5 )
			Set Step to -50

		elseIf ( Button == 6 )
			Set Step to -60

		elseIf ( Button == 7 )
			Set Step to -70

		elseIf ( Button == 8 )	
			PlaySound "ITMBookClose"	
			Set Step to 0
			set opened to 0
			Return
		endif
	endif

	;>>>>>>>>>>>>Alchemie>>>>>>>>>>>>>>>>>>>> Zeigt Alchemie, eigenes Alchemielevel und den Status der Braukünste an. Basiswert 25
	if ( Step == -10 )
		Set Step to 10
		MessageBox "Alchemie-Fähigkeiten: %2.0f                               Braten/Kochen/Backen, benötigt: 20                              Brauen/Keltern, benötigt: 35/45/55",g ,  "Zurück"
      	Set Button to -1 

	elseif ( Step == 10 )										;Auswahl
		Set Button to GetButtonPressed

		if ( Button == 0	)										;Zurück
			set step to 1
		endif
	;>>>>>>>>>>>>Handwerk>>>>>>>>>>>>>>>>>>>> Zeigt Handweke, eigenes Handwerkslevel und den Status der Gegenstände an. Basiswert 25
	elseif ( Step == -20 )
		Set Step to 20
		MessageBox "Handwerks-Fähigkeiten: %2.0f               Gegenstandsstatus         Schmieden, benötigt: 50-100  %10.0f Hammer, %1.0f Schmiedezange Schmelzen, benötigt: 25/50/75/100      %8.0f Schmelzerzange Schürfen, benötigt: 20                    %8.0f Spitzhacke Schatzsuchen, benötigt: 15                 %8.0f Schaufel     Schleifen, benötigt: 25",f ,a, b, c, d, e,  "Zurück"
      	Set Button to -1 

	elseif ( Step == 20 )										;Auswahl
		Set Button to GetButtonPressed

		if ( Button == 0	)										;Zurück
			set step to 1
		endif


	;>>>>>>>>>>>>Jagdfähigkeiten>>>>>>>>>>>>>>>>>>>> Zeigt Jagdfähigkeiten an.
	elseif ( Step == -30 )
		Set Step to 30
		MessageBox "Jagd-Fähigkeiten: %2.0f / 6                                        Fell abziehen: %1.0f      Herz entnehmen: %1.0f      Horn nehmen: %1.0f      Klauen abtrennen: %1.0f    Krallen entfernen: %1.0f    Zähne ziehen: %1.0f  ", JagdZaehlenVar, JagdFellVar, JagdHerzVar, JagdHornVar, JagdKlauenVar, JagdKrallenVar, JagdZahnVar, "Zurück"	
      	Set Button to -1 

	elseif ( Step == 30 )										;Auswahl
		Set Button to GetButtonPressed

		if ( Button == 0	)										;Zurück
			set step to 1
		endif


	;>>>>>>>>>>>>Spezialfertigkeiten>>>>>>>>>>>>>>>>>>>> Zeigt Spezialfertigkeiten an.
	elseif ( Step == -40 )
		Set Step to 40
		MessageBox "Spezial-Fertigkeiten:                                           Mine aufstellen: %1.0f     Frostsphere erschaffen: %1.0f  ", VarTrapMine , VarTrapFrostSphere, "Zurück"	
      	Set Button to -1 

	elseif ( Step == 40 )										;Auswahl
		Set Button to GetButtonPressed

		if ( Button == 0	)										;Zurück
			set step to 1
		endif



	;>>>>>>>>>>>>Zaubergrade>>>>>>>>>>>>>>>>>>>> Zeigt Zaubergrade an.
	elseif ( Step == -50 )
		Set Step to 50
		MessageBox "Nutzbare Zaubergrade: %2.0f / 7                                  Zauber Grad I: %1.0f       Zauber Grad II: %1.0f      Zauber Grad III: %1.0f Zauber Grad IV: %1.0f     Zauber Grad V: %1.0f     Zauber Grad VI: %1.0f Zauber Grad VII: %1.0f ", GradZaehlenVar, GradI, GradII, GradIII, GradIV, GradV, GradVI, GradVII, "Zurück"	
      	Set Button to -1 

	elseif ( Step == 50 )										;Auswahl
		Set Button to GetButtonPressed

		if ( Button == 0	)										;Zurück
			set step to 1
		endif


	;>>>>>>>>>>>>Statistiken>>>>>>>>>>>>>>>>>>>>
	elseif ( Step == -60 )
		Set Step to 60
		MessageBox "Statistiken:                                                       Bank: %10.0f Gold auf der Bank, %.0f Prozent Zinsen             Magische Symbole gefunden: %.0f                                            ", BankKontostand, Zinsen, NehrimSymbolVar, "Zurück"	
      	Set Button to -1 

	elseif ( Step == 60 )
		Set Button to GetButtonPressed

		if ( Button == 0	)
			set step to 1
		endif
	elseif ( Step == -70 )
		Set Step to 70
		If VarDistantBlur == 1
			let sVarDistantB := "AN"
		ElseIf VarDistantBlur == -1
			let sVarDistantB := "AUS"
		Endif
		If VarWaterRefraction == 1
			let sVarWaterR := "AN"
		ElseIf VarWaterRefraction == -1
			let sVarWaterR := "AUS"
		Endif
		If VarNightLight == 1
			let sVarNightL := "AN"
		ElseIf VarNightLight == -1
			let sVarNightL := "AUS"
		Endif
		If VarAutoSave == 1
			let sVarAutoS := "AN"
		ElseIf VarAutoSave == -1
			let sVarAutoS := "AUS"
		Endif
		If VarSpeicherbereinigung == 1
			let sVarSpeicherB := "AN"
		ElseIf VarSpeicherbereinigung == -1
			let sVarSpeicherB := "AUS"
		Endif
		let sCompleteMessage := "Einstellungen|Blut-Einstellungen|Alternatives Trainieren|Tiefenunschärfe: "+$sVarDistantB+"|Unterwassereffekte: "+$sVarWaterR+"|Nachtlichter: "+$sVarNightL+"|Alle 10 Minuten speichern: "+$sVarAutoS+"|Automatische Speicherbereinigung: "+$sVarSpeicherB+"|Speicherbereinigung jetzt durchführen|Zurück"
		MessageBoxEX $sCompleteMessage
		Set sVarDistantB to sv_Destruct
		Set sVarWaterR to sv_Destruct
		Set sVarNightL to sv_Destruct
		Set sVarAutoS to sv_Destruct
		Set sVarSpeicherB to sv_Destruct
		Set sCompleteMessage to sv_Destruct
	elseif ( Step == 70 )
		Set Button to GetButtonPressed
	 if ( Button == 0 )
	 	Set Step to -80
	elseif ( Button ==  1 )
		if Player.GetLevel > 1
			Set Step to -110
		else
			Set Step to -70
			Message "Führen Sie zuerst den Levelaufstieg durch."
			Message "Führen Sie zuerst den Levelaufstieg durch."
		endif
	elseif ( Button ==  2 )
		if ( VarDistantBlur == 1 )
        		Message "Tiefenunschärfe ist jetzt AUS."
			StopQuest "DistantBlurSphereQuest"
			Set VarDistantBlur to -1
		elseif ( VarDistantBlur == -1 )
        		Message "Tiefenunschärfe ist jetzt AN."
			StartQuest "DistantBlurSphereQuest"
			Set VarDistantBlur to 1
		endif
		set Step to -70
     elseif ( button == 3 )
		if ( VarWaterRefraction == 1 )
        		Message "Unterwassereffekte sind jetzt AUS."
			StopQuest "OMGWater"
			Set VarWaterRefraction to -1
    		 elseif ( VarWaterRefraction == -1 )
         		Message "Unterwassereffekte sind jetzt AN."
			StartQuest "OMGWater"
			Set VarWaterRefraction to 1
		endif
		set Step to -70
     elseif ( button == 4 )
		if ( VarNightLight == 1 )
        		Message "Nachtbeleuchtung ist jetzt AUS."
			Set VarNightLight to -1
    		 elseif ( VarNightLight == -1 )
         		Message "Nachtbeleuchtung ist jetzt AN."
			Set VarNightLight to 1
		endif
		set Step to -70	
	elseif ( button == 5 )
		if ( VarAutosave == 1 )
        		Message "Alle 10 Minuten speichern ist jetzt AUS."
			Set VarAutoSave to -1
			StopQuest "AutoSaveQuest"
    		 elseif ( VarAutosave == -1 )
         		Message "Alle 10 Minuten speichern ist jetzt AN."
			Set VarAutoSave to 1
			StartQuest "AutoSaveQuest"
		endif
		set Step to -70
	elseif ( button == 6 )
		if ( VarSpeicherbereinigung == 1 )
        		Message "Speicherbereinigung ist jetzt AUS."
			Set VarSpeicherbereinigung to -1
    		 elseif ( VarSpeicherbereinigung == -1 )
         		Message "Speicherbereinigung ist jetzt AN."
			Set VarSpeicherbereinigung to 1
		endif
		set Step to -70
	elseif ( button == 7 )
        	Message "Systemleistung wurde optimiert!"
		PurgeCellBuffers
        	Set Step to -70
     elseif ( Button == 8 )
		Set Step to 1
		endif
	elseif ( Step == -80 )
		Set Step to 80
		if BlutPatchShowGlobalBlood == -1
			MessageBoxEX "Stellen Sie ein wieviel, wie lange und ob in Innenbereichen Blutflecken angezeigt werden sollen.|Wert: Blutflecken %.0f|Zeit: Blutflecken %.0f|Innenbereiche: AUS|Zurück" BlutPatchDecalsPerFrameVar, BlutPatchDecalLifetimeVar
		elseif BlutPatchShowGlobalBlood == 1
			MessageBoxEX "Stellen Sie ein wieviel, wie lange und ob in Innenbereichen Blutflecken angezeigt werden sollen.|Wert: Blutflecken %.0f|Zeit: Blutflecken %.0f|Innenbereiche: AN|Zurück" BlutPatchDecalsPerFrameVar, BlutPatchDecalLifetimeVar
		endif
	elseif ( Step == 80 )
		Set Button to GetButtonPressed
		if Button == 0
			Set Step to -90
		elseif Button == 1
			Set Step to -100
		elseif Button == 2
			if BlutPatchShowGlobalBlood == 1 
        		Message "Blutflecken in Innenbereichen sind AUS."
				Set BlutPatchShowGlobalBlood to -1
        		Set Step to -80
    		elseif BlutPatchShowGlobalBlood == -1 
        		Message "Blutflecken in Innenbereichen sind AN."
				Set BlutPatchShowGlobalBlood to 1
        		Set Step to -80
			endif
		elseif Button == 3
			Set Step to -70
		endif
	elseif Step == -90
		Set Step to 90
		MessageboxEx "Stellen Sie ein, wieviel Blut Sie anzeigen möchten.%rJe höher der Wert, umso mehr Blutflecken werden in Kämpfen entstehen und umso mehr Rückstände bilden sich auf einer Nahkampfwaffe.%rHöhere Werte verringern allerdings die Leistung und erhöhen die Wahrscheinlichkeit von flimmernden Blut in Innenbereichen, was sie allerdings komplett deaktivieren können.%r Derzeitiger Wert: %.0f|Wert +50|Wert +10|Wert +5|Wert +1|Wert -1|Wert -5|Wert -10|Wert -50|Standard|Zurück" BlutPatchDecalsPerFrameVar
	elseif Step == 90
		Set Button to GetButtonPressed
		If Button == 0
			if BlutPatchDecalsPerFrameVar + 50 <= 900
				Set BlutPatchDecalsPerFrameVar to BlutPatchDecalsPerFrameVar + 50
			endif
			Set Step to -90
		elseIf Button == 1
			if BlutPatchDecalsPerFrameVar + 10 <= 900
				Set BlutPatchDecalsPerFrameVar to BlutPatchDecalsPerFrameVar + 10
			endif
			Set Step to -90
		elseIf Button == 2
			if BlutPatchDecalsPerFrameVar + 5 <= 900
				Set BlutPatchDecalsPerFrameVar to BlutPatchDecalsPerFrameVar + 5
			endif
			Set Step to -90
		elseIf Button == 3
			if BlutPatchDecalsPerFrameVar + 1 <= 900
				Set BlutPatchDecalsPerFrameVar to BlutPatchDecalsPerFrameVar + 1
			endif
			Set Step to -90
		elseIf Button == 4
			if BlutPatchDecalsPerFrameVar - 1 >= 0
				Set BlutPatchDecalsPerFrameVar to BlutPatchDecalsPerFrameVar - 1
			endif
			Set Step to -90
		elseIf Button == 5
			if BlutPatchDecalsPerFrameVar - 5 >= 0
				Set BlutPatchDecalsPerFrameVar to BlutPatchDecalsPerFrameVar - 5
			endif
			Set Step to -90
		elseIf Button == 6
			if BlutPatchDecalsPerFrameVar - 10 >= 0
				Set BlutPatchDecalsPerFrameVar to BlutPatchDecalsPerFrameVar - 10
			endif
			Set Step to -90
		elseIf Button == 7
			if BlutPatchDecalsPerFrameVar - 50 >= 0
				Set BlutPatchDecalsPerFrameVar to BlutPatchDecalsPerFrameVar - 50
			endif
			Set Step to -90
		elseIf Button == 8
			Set BlutPatchDecalsPerFrameVar to 30
			Set Step to -90
		elseIf Button == 9
			SetNumericINISetting "iMaxDecalsPerFrame:Display" BlutPatchDecalsPerFrameVar
			Set Step to -80
		endif
	elseif Step == -100
		Set Step to 100
		MessageboxEx "Stellen Sie ein, wieviele Sekunden lang Blut angezeigt werden soll.%rJe höher der Wert, umso länger bleiben Blutflecken erhalten.%rHöhere Werte verringern die Leistung, je nachdem wieviele Blutflecken angezeigt werden dürfen.%r Derzeitige Zeit: %.0f|Zeit +50|Zeit +10|Zeit +5|Zeit +1|Zeit -1|Zeit -5|Zeit -10|Zeit -50|Standard|Zurück" BlutPatchDecalLifetimeVar
	elseif Step == 100
		Set Button to GetButtonPressed
		If Button == 0
			if BlutPatchDecalLifetimeVar + 50 <= 300
				Set BlutPatchDecalLifetimeVar to BlutPatchDecalLifetimeVar + 50
			endif
			Set Step to -100
		elseIf Button == 1
			if BlutPatchDecalLifetimeVar + 10 <= 300
				Set BlutPatchDecalLifetimeVar to BlutPatchDecalLifetimeVar + 10
			endif
			Set Step to -100
		elseIf Button == 2
			if BlutPatchDecalLifetimeVar + 5 <= 300
				Set BlutPatchDecalLifetimeVar to BlutPatchDecalLifetimeVar + 5
			endif
			Set Step to -100
		elseIf Button == 3
			if BlutPatchDecalLifetimeVar + 1 <= 300
				Set BlutPatchDecalLifetimeVar to BlutPatchDecalLifetimeVar + 1
			endif
			Set Step to -100
		elseIf Button == 4
			if BlutPatchDecalLifetimeVar - 1 >= 0
				Set BlutPatchDecalLifetimeVar to BlutPatchDecalLifetimeVar - 1
			endif
			Set Step to -100
		elseIf Button == 5
			if BlutPatchDecalLifetimeVar - 5 >= 0
				Set BlutPatchDecalLifetimeVar to BlutPatchDecalLifetimeVar - 5
			endif
			Set Step to -100
		elseIf Button == 6
			if BlutPatchDecalLifetimeVar - 10 >= 0
				Set BlutPatchDecalLifetimeVar to BlutPatchDecalLifetimeVar - 10
			endif
			Set Step to -100
		elseIf Button == 7
			if BlutPatchDecalLifetimeVar - 50 >= 0
				Set BlutPatchDecalLifetimeVar to BlutPatchDecalLifetimeVar - 50
			endif
			Set Step to -100
		elseIf Button == 8
			Set BlutPatchDecalLifetimeVar to 10
			Set Step to -100
		elseIf Button == 9
			SetNumericINISetting "fDecalLifetime:Display" BlutPatchDecalLifetimeVar
			Set Step to -80
		endif
	elseif Step == -110
		Set Step to 110
		If VarEasyTraining == 1
			let sVarEasyT := "AN"
		ElseIf VarEasyTraining == -1
			let sVarEasyT := "AUS"
		Endif
		If VarAthleticsForSpeed == 1
			let sVarAthleticsF := "AN"
		ElseIf VarAthleticsForSpeed == -1
			let sVarAthleticsF := "AUS"
		Endif
		If VarAlternativeLeveling == 1
			let sVarAlternativeL := "AN"
		ElseIf VarAlternativeLeveling == -1
			let sVarAlternativeL := "AUS"
		Endif
		If VarNOLearningByDoing == -1
			let sVarNOLearning := "aktiviert"
		ElseIf VarNOLearningByDoing == 1
			let sVarNOLearning := "deaktiviert"
		Endif
		if	VarNOLearningByDoing == -1
			Set MenuNumber to 2
			let sCompleteMessage := "Dynamische Lernpunkte beeinflussen beide Levelsysteme.%rAttributboni durch Lehrer und Schnelligkeit für Athletik haben keinerlei nennenswerte Auswirkungen auf das alternative System.%rEin Deaktivieren des alternativen Systems sorgt bei einer erneuten Aktivierung, für nur 3 Attributspunkte beim nächsten Level-Up!%rDas 'Learning-by-doing'-System kann nur einmalig deaktiviert,"
			let sCompleteMessage := sCompleteMessage + (sv_construct " aber nicht wieder aktiviert werden! Es wird ein maximaler Bonus von +10 auf die Lernpunkte NACH jedem Level-Up vergeben.%r'Learning-by-doing'-System: ")+$sVarNOLearning+"|Dynamische Lernpunkte|Attributsbonus durch Lehrer: "+$sVarEasyT+"|Schnelligkeit für Athletik: "+$sVarAthleticsF+"|Alternatives Levelsystem: "+$sVarAlternativeL+"|'Learning-by-doing'-System deaktivieren|Zurück"
		elseif VarNOLearningByDoing == 1
			Set MenuNumber to 1
			let sCompleteMessage := "Dynamische Lernpunkte beeinflussen beide Levelsysteme.%rAttributboni durch Lehrer und Schnelligkeit für Athletik haben keinerlei nennenswerte Auswirkungen auf das alternative System.%rEin Deaktivieren des alternativen Systems sorgt bei einer erneuten Aktivierung, für nur 3 Attributspunkte beim nächsten Level-Up!%rDas 'Learning-by-doing'-System kann nur einmalig deaktiviert,"
			let sCompleteMessage := sCompleteMessage + (sv_construct " aber nicht wieder aktiviert werden! Es wird ein maximaler Bonus von +10 auf die Lernpunkte NACH jedem Level-Up vergeben.%r'Learning-by-doing'-System: ")+$sVarNOLearning+"|Dynamische Lernpunkte|Attributsbonus durch Lehrer: "+$sVarEasyT+"|Schnelligkeit für Athletik: "+$sVarAthleticsF+"|Alternatives Levelsystem: "+$sVarAlternativeL+"|Zurück"
		endif
		MessageBoxEX $sCompleteMessage
		Set sVarEasyT to sv_Destruct
		Set sVarAthleticsF to sv_Destruct
		Set sVarAlternativeL to sv_Destruct
		Set sVarNOLearning to sv_Destruct
		Set sCompleteMessage to sv_Destruct
	elseif Step == 110
		Set Button to GetButtonPressed
		
		if Button == 0
			Set Step to 130
		ElseIf Button == 1
			if VarEasyTraining == 1 
        		Message "Attributsboni durch Skillerhöhung bei Lehrern sind AUS."
				Set VarEasyTraining to -1
    		elseif VarEasyTraining == -1 
        		Message "Attributsboni durch Skillerhöhung bei Lehrern sind AN."
				Set VarEasyTraining to 1
			endif
        	Set Step to -110
		Elseif Button == 2
			if VarAthleticsForSpeed == 1 
        		Message "Hauptattribut 'Schnelligkeit' für Athletik ist AUS."
				SetSkillGoverningAttribute Athletics Agility
				Set VarAthleticsForSpeed to -1
    		elseif VarAthleticsForSpeed == -1 
        		Message "Hauptattribut 'Schnelligkeit' für Athletik ist AN."
				SetSkillGoverningAttribute Athletics Speed
				Set VarAthleticsForSpeed to 1
			endif
			Set Step to -110
		Elseif Button == 3
			if VarAlternativeLeveling == 1 
        		Message "Alternatives Levelsystem ist AUS."
				Set VarAlternativeLeveling to -1
				Set zzzzzAlternativeLeveling.OldAthletik to 0
    		elseif VarAlternativeLeveling == -1 
        		Message "Alternatives Levelsystem ist AN."
				Set VarAlternativeLeveling to 1
			endif
        	Set Step to -110
		Elseif Button == 4 && MenuNumber == 1
			Set Step to -70
		Elseif Button == 4 && MenuNumber == 2
			Set Step to -120
		Elseif Button == 5
			Set Step to -70	
		EndIf
	elseif Step == -120
		MessageboxEx "Sie können das 'Learning-by-doing'-System nur einmalig abschalten, da absofort ein Bonus von +10 (wird ebenfalls durch dynamische Lernpunkte beeinflusst) auf die Lernpunkte vergeben wird.%rDadurch bekommen Sie also 17 (bis maximal 20 mit dynamischen Lernpunkten) Lernpunkte pro Level-Up.%rDas System wieder zu aktivieren würde somit zu einem Vorteil in Sachen Lernpunkteanzahl führen, aus diesem Grund ist es nur einmalig möglich.%rMöchten Sie das System wirklich entgültig deaktivieren?|Ja|Nein"	
		Set Step to 120
	elseif Step == 120
		Set Button to GetButtonPressed

		If Button == 0
			Set VarNOLearningByDoing to 1
			SetSkillUseIncrement 0 Alchemy 0
			SetSkillUseIncrement 0 Alchemy 1
			SetSkillUseIncrement 0 Armorer 0
			SetSkillUseIncrement 0 Athletics 0
			SetSkillUseIncrement 0 Athletics 1
			SetSkillUseIncrement 0 Acrobatics 0
			SetSkillUseIncrement 0 Acrobatics 1
			SetSkillUseIncrement 0 Alteration 0
			SetSkillUseIncrement 0 Alteration 1
			SetSkillUseIncrement 0 Blade 0
			SetSkillUseIncrement 0 Blunt 0
			SetSkillUseIncrement 0 Block 0
			SetSkillUseIncrement 0 Conjuration 0
			SetSkillUseIncrement 0 Conjuration 1
			SetSkillUseIncrement 0 Destruction 0
			SetSkillUseIncrement 0 Destruction 1
			SetSkillUseIncrement 0 Illusion 0
			SetSkillUseIncrement 0 Illusion 1
			SetSkillUseIncrement 0 Marksman 0
			SetSkillUseIncrement 0 Mysticism 0
			SetSkillUseIncrement 0 Mysticism 1
			SetSkillUseIncrement 0 Restoration 0
			SetSkillUseIncrement 0 Restoration 1
			SetSkillUseIncrement 0 HeavyArmor 0
			SetSkillUseIncrement 0 LightArmor 0
			SetSkillUseIncrement 0 Speechcraft 0
			SetSkillUseIncrement 0 Security 0
			SetSkillUseIncrement 0 Sneak 0
			SetSkillUseIncrement 0 Sneak 1
			SetSkillUseIncrement 0 Mercantile 0
			SetSkillUseIncrement 0 HandToHand 0

			Set Step to GetPlayerSkillUse Alchemy - (GetPlayerSkillUse Alchemy * 2)
			ModPlayerSkillExp Alchemy Step
			Set Step to GetPlayerSkillUse Armorer - (GetPlayerSkillUse Armorer * 2)
			ModPlayerSkillExp Armorer Step
			Set Step to GetPlayerSkillUse Athletics - (GetPlayerSkillUse Athletics * 2)
			ModPlayerSkillExp Athletics Step
			Set Step to GetPlayerSkillUse Acrobatics - (GetPlayerSkillUse Acrobatics * 2)
			ModPlayerSkillExp Acrobatics Step
			Set Step to GetPlayerSkillUse Alteration - (GetPlayerSkillUse Alteration * 2)
			ModPlayerSkillExp Alteration Step
			Set Step to GetPlayerSkillUse Blade - (GetPlayerSkillUse Blade * 2)
			ModPlayerSkillExp Blade Step
			Set Step to GetPlayerSkillUse Blunt - (GetPlayerSkillUse Blunt * 2)
			ModPlayerSkillExp Blunt Step
			Set Step to GetPlayerSkillUse Block - (GetPlayerSkillUse Block * 2)
			ModPlayerSkillExp Block Step
			Set Step to GetPlayerSkillUse Conjuration - (GetPlayerSkillUse Conjuration * 2)
			ModPlayerSkillExp Conjuration Step
			Set Step to GetPlayerSkillUse Destruction - (GetPlayerSkillUse Destruction * 2)
			ModPlayerSkillExp Destruction Step
			Set Step to GetPlayerSkillUse Illusion - (GetPlayerSkillUse Illusion * 2)
			ModPlayerSkillExp Illusion Step
			Set Step to GetPlayerSkillUse Marksman - (GetPlayerSkillUse Marksman * 2)
			ModPlayerSkillExp Marksman Step
			Set Step to GetPlayerSkillUse Mysticism - (GetPlayerSkillUse Mysticism * 2)
			ModPlayerSkillExp Mysticism Step
			Set Step to GetPlayerSkillUse Restoration - (GetPlayerSkillUse Restoration * 2)
			ModPlayerSkillExp Restoration Step
			Set Step to GetPlayerSkillUse HeavyArmor - (GetPlayerSkillUse HeavyArmor * 2)
			ModPlayerSkillExp HeavyArmor Step
			Set Step to GetPlayerSkillUse LightArmor - (GetPlayerSkillUse LightArmor * 2)
			ModPlayerSkillExp LightArmor Step
			Set Step to GetPlayerSkillUse Speechcraft - (GetPlayerSkillUse Speechcraft * 2)
			ModPlayerSkillExp Speechcraft Step
			Set Step to GetPlayerSkillUse Security - (GetPlayerSkillUse Security * 2)
			ModPlayerSkillExp Security Step
			Set Step to GetPlayerSkillUse Sneak - (GetPlayerSkillUse Sneak * 2)
			ModPlayerSkillExp Sneak Step
			Set Step to GetPlayerSkillUse Mercantile - (GetPlayerSkillUse Mercantile * 2)
			ModPlayerSkillExp Mercantile Step
			Set Step to GetPlayerSkillUse HandToHand - (GetPlayerSkillUse HandToHand * 2)
			ModPlayerSkillExp HandToHand Step
			Message "Das 'Learning-by-doing'-System wurde KOMPLETT deaktiviert!"
			Set Step to -110			
		elseif Button == 1
			Set Step to -110
		Endif
	elseif Step == 130
			If VarDynamicLernpunkte == 1
				let sVarDynamicL := "AN"
			ElseIf VarDynamicLernpunkte == -1
				let sVarDynamicL := "AUS"
			Endif
			if VarDynamicLernpunkte == 1
				if VarDynamicLAttribut == 0
					let sVarDynamicLAtt := "Stärke"
					Set Button to Player.GetBaseAV Strength
				elseif VarDynamicLAttribut == 1
					let sVarDynamicLAtt := "Intelligenz"
					Set Button to Player.GetBaseAV Intelligence
				elseif VarDynamicLAttribut == 2
					let sVarDynamicLAtt := "Willenskraft"
					Set Button to Player.GetBaseAV Willpower
				elseif VarDynamicLAttribut == 3
					let sVarDynamicLAtt := "Geschicklickeit"
					Set Button to Player.GetBaseAV Agility
				elseif VarDynamicLAttribut == 4
					let sVarDynamicLAtt := "Schnelligkeit"
					Set Button to Player.GetBaseAV Speed
				elseif VarDynamicLAttribut == 5
					let sVarDynamicLAtt := "Konstitution"
					Set Button to Player.GetBaseAV Endurance
				elseif VarDynamicLAttribut == 6
					let sVarDynamicLAtt := "Charisma"
					Set Button to Player.GetBaseAV Personality
				elseif VarDynamicLAttribut == 7
					let sVarDynamicLAtt := "Glück"
					Set Button to Player.GetBaseAV Luck
				endif
			elseif VarDynamicLernpunkte == -1
				let sVarDynamicLAtt := "KEINES"
				Set Button to 0
			endif
			If Button > 100
				Set Button to 100
			Endif
			Set Step to Button / 10
			Set Step to floor Step
			Set MsgBonusLP to 5 + (Button / 20)
			Set MsgBonusLP to floor MsgBonusLP
			if VarNOLearningByDoing == 1 && VarDynamicLernpunkte == 1
				Let sCompleteMessage := "Schalten Sie die dynamischen Lernpunkte ein oder aus und legen Sie fest welches Attribut für die Berechnung zuständig ist.%rDerzeit wird "+$sVarDynamicLAtt+" für die Formel verwendet:%r%r"+$Button+" / 10 = "+$Step+" Lernpunkte für volle Erfahrungspunkte.%r(Ausnahme: Level 1 auf Level 2 bringt 10.)%r%r5 + ("+$Button+" / 20) = "+$MsgBonusLP+" Bonuslernpunkte nach Levelaufstieg.%r(Nur solange kein Maximalchar (alle Attribute 100) erreicht wurde.)|Dynamische "
				Let sCompleteMessage := sCompleteMessage + (sv_Construct "Lernpunkte: ")+$sVarDynamicL+"|(>) Zuständiges Attribut: "+$sVarDynamicLAtt+"|(<) Zuständiges Attribut: "+$sVarDynamicLAtt+"|Zurück"
			elseif VarNOLearningByDoing == -1 && VarDynamicLernpunkte == 1
				Let sCompleteMessage := "Schalten Sie die dynamischen Lernpunkte ein oder aus und legen Sie fest welches Attribut für die Berechnung zuständig ist.%rDerzeit wird "+$sVarDynamicLAtt+" für die Formel verwendet:%r%r"+$Button+" / 10 = "+$Step+" Lernpunkte für volle Erfahrungspunkte.%r(Ausnahme: Level 1 auf Level 2 bringt 10.)|Dynamische Lernpunkte: "+$sVarDynamicL+"|(>) Zuständiges Attribut: "+$sVarDynamicLAtt+"|(<) Zuständiges Attribut: "+$sVarDynamicLAtt+"|Zurück"
			elseif VarNOLearningByDoing == 1 && VarDynamicLernpunkte == -1
				Let sCompleteMessage := "Schalten Sie die dynamischen Lernpunkte ein oder aus und legen Sie fest welches Attribut für die Berechnung zuständig ist.%rDerzeit wird kein Attribut für die Formel verwendet, da die dynamischen Lernpunkte deaktiviert sind:%r%r7 Lernpunkte für volle Erfahrungspunkte.%r(Ausnahme: Level 1 auf Level 2 bringt 10.)%r%r10 Bonuslernpunkte nach Levelaufstieg.%r(Nur solange kein Maximalchar (alle Attribute 100) erreicht wurde.)|Dynamische "
				Let sCompleteMessage := sCompleteMessage + (sv_Construct "Lernpunkte: ")+$sVarDynamicL+"|(>) Zuständiges Attribut: "+$sVarDynamicLAtt+"|(<) Zuständiges Attribut: "+$sVarDynamicLAtt+"|Zurück"
			elseif VarNOLearningByDoing == -1 && VarDynamicLernpunkte == -1
				Let sCompleteMessage := "Schalten Sie die dynamischen Lernpunkte ein oder aus und legen Sie fest welches Attribut für die Berechnung zuständig ist.%rDerzeit wird kein Attribut für die Formel verwendet, da die dynamischen Lernpunkte deaktiviert sind:%r%r7 Lernpunkte für volle Erfahrungspunkte.%r(Ausnahme: Level 1 auf Level 2 bringt 10.)|Dynamische Lernpunkte: "+$sVarDynamicL+"|(>) Zuständiges Attribut: "+$sVarDynamicLAtt+"|(<) Zuständiges Attribut: "+$sVarDynamicLAtt+"|Zurück"			
			endif
			MessageBoxEx $sCompleteMessage
			Set sVarDynamicL to sv_Destruct
			Set sVarDynamicLAtt to sv_Destruct
			Set sCompleteMessage to sv_Destruct
			Set Step to -130
	elseif Step == -130
		Set Button to GetButtonPressed

		if Button == 0
			if VarDynamicLernpunkte == 1 
        		Message "Dynamische Lernpunkte (Attributsgebunden) sind AUS."
				Set VarDynamicLernpunkte to -1
			elseif VarDynamicLernpunkte == -1 
        		Message "Dynamische Lernpunkte (Attributsgebunden) sind AN."
				Set VarDynamicLernpunkte to 1
			endif
			Set Step to 130
		elseif Button == 1
			if VarDynamicLAttribut + 1 <= 7 && VarDynamicLernpunkte == 1
				Set VarDynamicLAttribut to 	VarDynamicLAttribut + 1
			elseif VarDynamicLAttribut + 1 > 7 && VarDynamicLernpunkte == 1
				Set VarDynamicLAttribut to 0
			endif
        	Set Step to 130
		elseif Button == 2
			if VarDynamicLAttribut - 1 >= 0 && VarDynamicLernpunkte == 1
				Set VarDynamicLAttribut to 	VarDynamicLAttribut - 1
			elseif  VarDynamicLAttribut - 1 < 0 && VarDynamicLernpunkte == 1
				Set VarDynamicLAttribut to 7
			endif
        	Set Step to 130
		elseif Button == 3
			Set Step to -110
		endif
endif
End
Last edited by Tealor Arantheal on 09.04.2014 08:50, edited 1 time in total.
... und vom alternativen Levelsystem...
[+]
scn zzzzzAlternativeLevelingSCRIPT

float fQuestDelayTime

short Button

short LevelUpAttribute
short LevelONCE
short CurrentPlayerLevel
short VarCurrentHealth
short LevelUPInitial
float GSfStatsHealthLevelMult
float GSfPCBaseHealthMult
short ValAttributHandling
short BStr
short BInt
short BWil
short BAgi
short BSpe
short BEnd
short BPer
short BLuc
short NStr
short NInt
short NWil
short NAgi
short NSpe
short NEnd
short NPer
short NLuc
short OldAthletik
short OldAkrobatik
short OldAlchemie
short OldVeraenderung
short OldHandwerk
short OldStich
short OldSchlag
short OldBlock
short OldBeschwoerung
short OldSchuetze
short OldHandel
short OldArkan
short OldWiederherstellung
short OldFaust
short OldSchwer
short OldLeicht
short OldIllusion
short OldSicherheit
short OldSchleichen
short OldRedekunst
short OldZerstoerung
short STEP
string_var LevelMSGtext
string_var TotalMSGtext
string_var StrAttHandling
string_var StrAttSetting
string_var SStr
string_var SInt
string_var SWil
string_var SAgi
string_var SSpe
string_var SEnd
string_var SPer
string_var SLuc

Begin GameMode
	Set fQuestDelayTime to 0.01
	if LevelUPInitial == 1
		TapControl 15
		Set LevelUpInitial to 0
	endif
End


Begin MenuMode 1
	if LevelONCE == 0
		Set ValAttributHandling to 1
		Set GSfStatsHealthLevelMult to GetGameSetting fStatsHealthLevelMult
		if VarCurrentHealth == 0 && Player.GetLevel != 1
			Set GSfPCBaseHealthMult to GetGameSetting fPCBaseHealthMult
			Set VarCurrentHealth to (Player.GetBaseAV Health - (Player.GetBaseAV Endurance * GSfPCBaseHealthMult))
			Set VarCurrentHealth to floor VarCurrentHealth
		endif
		Set CurrentPlayerLevel to (Player.GetLevel + 1)
		let StrAttHandling := "Attributspunkte hinzufügen"
		let StrAttSetting := "(-)"
		set NStr to 0
		set NInt to 0
		set NWil to 0
		set NAgi to 0
		set NSpe to 0
		set NEnd to 0
		set NPer to 0
		set NLuc to 0
		let SStr := ""
		let SInt := ""
		let SWil := ""
		let SAgi := ""
		let SSpe := ""
		let SEnd := ""
		let SPer := ""
		let SLuc := ""
		Set BStr to Player.GetBaseAV Strength
		Set BInt to Player.GetBaseAV Intelligence
		Set BWil to Player.GetBaseAV Willpower
		Set BAgi to Player.GetBaseAV Agility
		Set BSpe to Player.GetBaseAV Speed
		Set BPer to Player.GetBaseAV Personality
		Set BEnd to Player.GetBaseAV Endurance
		Set BLuc to Player.GetBaseAV Luck
		Set LevelONCE to 1
		Set STEP to -1
		let LevelMSGtext := ""
		If CurrentPlayerLevel == 2
			let LevelMSGtext := "Willkommen auf Level 2!%rEs wird Euch gewahr, dass Ihr Euer gesamtes Leben wie in einem Traum verbracht habt. Plötzlich, angesichts der Prüfungen der letzen paar Tage, erwacht in Euch das Leben."
		ElseIf CurrentPlayerLevel == 3
			let LevelMSGtext := "Willkommen auf Level 3!%rIhr erkennt, dass Ihr dem Geheimnis des Erfolgs auf der Spur seid. Es ist bloß eine Sache der Konzentration."
		ElseIf CurrentPlayerLevel == 4
			let LevelMSGtext := "Willkommen auf Level 4!%rIhr habt immer den schwierigeren Weg gewählt. Aber ohne Risiken, ohne Verantwortung für Niederlagen zu übernehmen... wie hättet Ihr Einsichten erlangen können?"
		ElseIf CurrentPlayerLevel == 5
			let LevelMSGtext := "Willkommen auf Level 5!%rAlles, was Sie tun, läuft einfach ein bisschen leichter, instinktiver, zufrieden stellender. Es ist, als besäßen Sie plötzlich schärfere Sinne und Instinkte."
		ElseIf CurrentPlayerLevel == 6
			let LevelMSGtext := "Willkommen auf Level 6!%rIhr habt viel über Nehrim gelernt... und über Euch selbst. Kaum zu glauben, wie ignorant Ihr wart, aber jetzt habt Ihr noch so viel mehr zu lernen."
		ElseIf CurrentPlayerLevel == 7
			let LevelMSGtext := "Willkommen auf Level 7!%rIhr entscheidet, Euch weiterhin selbst anzutreiben. Vielleicht steckt in euch mehr, als Ihr glaubtet."
		ElseIf CurrentPlayerLevel == 8
			let LevelMSGtext := "Willkommen auf Level 8!%rDas Geheimnis scheint in harter Arbeit zu liegen, das ist wohl wahr, aber auch eine Art blinder Passion, eine Inspiration, spielt mit."
		ElseIf CurrentPlayerLevel == 9
			let LevelMSGtext := "Willkommen auf Level 9!%rSo also funktioniert das. Man schleppt sich vorwärts, setzt einen Fuß vor den anderen, schaut auf, und plötzlich ist man da. Genau dort, wo man die ganze Zeit hin wollte."
		ElseIf CurrentPlayerLevel == 10
			let LevelMSGtext := "Willkommen auf Level 10!%rHeute wachtet Ihr mit einer neuen Einstellung dem Leben gegenüber auf. Nicht länger fürchtet Ihr den Misserfolg. Versagen ist nichts weiter als eine Gelegenheit, Neues zu lernen."
		ElseIf CurrentPlayerLevel == 11
			let LevelMSGtext := "Willkommen auf Level 11!%rIntelligenz kann nie schaden. Und ein bisschen Glück ab und zu ist auch nett. Aber Geduld und harte Arbeit sind das Wichtigste."
		ElseIf CurrentPlayerLevel == 12
			let LevelMSGtext := "Willkommen auf Level 12!%rMan will kaum glauben, wie leicht es ist. Man muss bloß... ein bisschen verrückt sein. Und dann macht plötzlich alles Sinn, und alles, was man tut, gelingt."
		ElseIf CurrentPlayerLevel == 13
			let LevelMSGtext := "Willkommen auf Level 13!%rEs ist wirklich faszinierend. Gestern war es schwierig, und heute ist es simpel. Einfach eine Nacht gut schlafen, und die Hürden von gestern sind die Erfolge von heute."
		ElseIf CurrentPlayerLevel == 14
			let LevelMSGtext := "Willkommen auf Level 14!%rHeute wachen Sie auf, voller Energie und Ideen, und irgendwie wissen Sie, dass sich über Nacht alles geändert hat. Welch einen Unterschied ein einziger Tag machen kann."
		ElseIf CurrentPlayerLevel == 15
			let LevelMSGtext := "Willkommen auf Level 15!%rBleibt nun einfach so lange wie möglich in Topform. Keinen Stärkeren gibt es in Nehrim, aber einen jüngeren gibt es immer ... einen neuen Herausforderer."
		ElseIf CurrentPlayerLevel == 16
			let LevelMSGtext := "Willkommen auf Level 16!%rIhr habt euch zu stark angetrieben und zuviel nachgedacht. Entspannt Euch. Vertraut Euren Instinkten. Seid einfach Ihr selbst. Kümmert Euch um die kleinen Dinge, und die großen erledigen sich von selbst."
		ElseIf CurrentPlayerLevel == 17
			let LevelMSGtext := "Willkommen auf Level 17!%rDas Leben ist noch nicht vorbei. Ihr könnt immer noch weiser, cleverer, erfahrener oder fieser werden... aber Euer Körper und Eure Seele werden nicht mehr jünger."
		ElseIf CurrentPlayerLevel == 18
			let LevelMSGtext := "Willkommen auf Level 18!%rBei Eurer Lebensführung und der Behandlung, die sich Euer Körper gefallen lassen musste... gibt es Grenzen, und vielleicht habt Ihr sie erreicht. So fühlt es sich also an, wenn man altert?"
		ElseIf CurrentPlayerLevel == 19
			let LevelMSGtext := "Willkommen auf Level 19!%rIhr seid richtig gut. Vielleicht der/die Beste. Und genau deshalb ist es so schwierig, noch besser zu werden. Aber Ihr versucht es trotzdem weiter, weil das einfach Eurem Wesen entspricht."
		ElseIf CurrentPlayerLevel == 20
			let LevelMSGtext := "Willkommen auf Level 20!%rMit übermenschlicher Anstrengung kann man eine Weile lang das Abrutschen verhindern. Aber eines Tages macht man einen falschen Schritt, verpasst ein winziges Detail... und dann ist man für immer weg vom Fenster."
		Else
			let LevelMSGtext := "Willkommen auf Level "+$CurrentPlayerLevel+"!%rWenn man den Erfolg seiner Anstrengungen und Mühen genießt, sieht es für andere immer so aus, als habe man nur Glück gehabt. Aber Ihr wisst ja, dass Ihr Euch jedes Stückchen Eures Erfolgs selbst verdient habt."
		EndIf
			if OldAthletik != 0
				Set OldAthletik to (Player.GetBaseAV Athletics - OldAthletik)
				If OldAthletik >= 10
					Set OldAthletik to 5
				elseif OldAthletik >= 8 
					Set OldAthletik to 4
				elseif OldAthletik >= 5
					Set OldAthletik to 3
				elseif OldAthletik >= 2
					Set OldAthletik to 2
				elseif OldAthletik > 0
					Set OldAthletik to 1
				else
					Set OldAthletik to 0
				endif

				Set OldAkrobatik to (Player.GetBaseAV Acrobatics - OldAkrobatik)
				If OldAkrobatik >= 10
					Set OldAkrobatik to 5
				elseif OldAkrobatik >= 8 
					Set OldAkrobatik to 4
				elseif OldAkrobatik >= 5
					Set OldAkrobatik to 3
				elseif OldAkrobatik >= 2
					Set OldAkrobatik to 2
				elseif OldAkrobatik > 0
					Set OldAkrobatik to 1
				else
					Set OldAkrobatik to 0
				endif

				Set OldAlchemie to (Player.GetBaseAV Alchemy - OldAlchemie)
				If OldAlchemie >= 10
					Set OldAlchemie to 5
				elseif OldAlchemie >= 8 
					Set OldAlchemie to 4
				elseif OldAlchemie >= 5
					Set OldAlchemie to 3
				elseif OldAlchemie >= 2
					Set OldAlchemie to 2
				elseif OldAlchemie > 0
					Set OldAlchemie to 1
				else
					Set OldAlchemie to 0
				endif

				Set OldVeraenderung to (Player.GetBaseAV Alteration - OldVeraenderung)
				If OldVeraenderung >= 10
					Set OldVeraenderung to 5
				elseif OldVeraenderung >= 8 
					Set OldVeraenderung to 4
				elseif OldVeraenderung >= 5
					Set OldVeraenderung to 3
				elseif OldVeraenderung >= 2
					Set OldVeraenderung to 2
				elseif OldVeraenderung > 0
					Set OldVeraenderung to 1
				else
					Set OldVeraenderung to 0
				endif

				Set OldHandwerk to (Player.GetBaseAV Armorer - OldHandwerk)
				If OldHandwerk >= 10
					Set OldHandwerk to 5
				elseif OldHandwerk >= 8 
					Set OldHandwerk to 4
				elseif OldHandwerk >= 5
					Set OldHandwerk to 3
				elseif OldHandwerk >= 2
					Set OldHandwerk to 2
				elseif OldHandwerk > 0
					Set OldHandwerk to 1
				else
					Set OldHandwerk to 0
				endif

				Set OldStich to (Player.GetBaseAV Blade - OldStich)
				If OldStich >= 10
					Set OldStich to 5
				elseif OldStich >= 8 
					Set OldStich to 4
				elseif OldStich >= 5
					Set OldStich to 3
				elseif OldStich >= 2
					Set OldStich to 2
				elseif OldStich > 0
					Set OldStich to 1
				else
					Set OldStich to 0
				endif

				Set OldSchlag to (Player.GetBaseAV Blunt - OldSchlag)
				If OldSchlag >= 10
					Set OldSchlag to 5
				elseif OldSchlag >= 8 
					Set OldSchlag to 4
				elseif OldSchlag >= 5
					Set OldSchlag to 3
				elseif OldSchlag >= 2
					Set OldSchlag to 2
				elseif OldSchlag > 0
					Set OldSchlag to 1
				else
					Set OldSchlag to 0
				endif

				Set OldBlock to (Player.GetBaseAV Block - OldBlock)
				If OldBlock >= 10
					Set OldBlock to 5
				elseif OldBlock >= 8 
					Set OldBlock to 4
				elseif OldBlock >= 5
					Set OldBlock to 3
				elseif OldBlock >= 2
					Set OldBlock to 2
				elseif OldBlock > 0
					Set OldBlock to 1
				else
					Set OldBlock to 0
				endif

				Set OldBeschwoerung to (Player.GetBaseAV Conjuration - OldBeschwoerung)
				If OldBeschwoerung >= 10
					Set OldBeschwoerung to 5
				elseif OldBeschwoerung >= 8 
					Set OldBeschwoerung to 4
				elseif OldBeschwoerung >= 5
					Set OldBeschwoerung to 3
				elseif OldBeschwoerung >= 2
					Set OldBeschwoerung to 2
				elseif OldBeschwoerung > 0
					Set OldBeschwoerung to 1
				else
					Set OldBeschwoerung to 0
				endif

				Set OldSchuetze to (Player.GetBaseAV Marksman - OldSchuetze)
				If OldSchuetze >= 10
					Set OldSchuetze to 5
				elseif OldSchuetze >= 8 
					Set OldSchuetze to 4
				elseif OldSchuetze >= 5
					Set OldSchuetze to 3
				elseif OldSchuetze >= 2
					Set OldSchuetze to 2
				elseif OldSchuetze > 0
					Set OldSchuetze to 1
				else
					Set OldSchuetze to 0
				endif

				Set OldHandel to (Player.GetBaseAV Mercantile - OldHandel)
				If OldHandel >= 10
					Set OldHandel to 5
				elseif OldHandel >= 8 
					Set OldHandel to 4
				elseif OldHandel >= 5
					Set OldHandel to 3
				elseif OldHandel >= 2
					Set OldHandel to 2
				elseif OldHandel > 0
					Set OldHandel to 1
				else
					Set OldHandel to 0
				endif

				Set OldArkan to (Player.GetBaseAV Mysticism - OldArkan)
				If OldArkan >= 10
					Set OldArkan to 5
				elseif OldArkan >= 8 
					Set OldArkan to 4
				elseif OldArkan >= 5
					Set OldArkan to 3
				elseif OldArkan >= 2
					Set OldArkan to 2
				elseif OldArkan > 0
					Set OldArkan to 1
				else
					Set OldArkan to 0
				endif

				Set OldWiederherstellung to (Player.GetBaseAV Restoration - OldWiederherstellung)
				If OldWiederherstellung >= 10
					Set OldWiederherstellung to 5
				elseif OldWiederherstellung >= 8 
					Set OldWiederherstellung to 4
				elseif OldWiederherstellung >= 5
					Set OldWiederherstellung to 3
				elseif OldWiederherstellung >= 2
					Set OldWiederherstellung to 2
				elseif OldWiederherstellung > 0
					Set OldWiederherstellung to 1
				else
					Set OldWiederherstellung to 0
				endif

				Set OldFaust to (Player.GetBaseAV HandToHand - OldFaust)
				If OldFaust >= 10
					Set OldFaust to 5
				elseif OldFaust >= 8 
					Set OldFaust to 4
				elseif OldFaust >= 5
					Set OldFaust to 3
				elseif OldFaust >= 2
					Set OldFaust to 2
				elseif OldFaust > 0
					Set OldFaust to 1
				else
					Set OldFaust to 0
				endif

				Set OldSchwer to (Player.GetBaseAV HeavyArmor - OldSchwer)
				If OldSchwer >= 10
					Set OldSchwer to 5
				elseif OldSchwer >= 8 
					Set OldSchwer to 4
				elseif OldSchwer >= 5
					Set OldSchwer to 3
				elseif OldSchwer >= 2
					Set OldSchwer to 2
				elseif OldSchwer > 0
					Set OldSchwer to 1
				else
					Set OldSchwer to 0
				endif

				Set OldLeicht to (Player.GetBaseAV LightArmor - OldLeicht)
				If OldLeicht >= 10
					Set OldLeicht to 5
				elseif OldLeicht >= 8 
					Set OldLeicht to 4
				elseif OldLeicht >= 5
					Set OldLeicht to 3
				elseif OldLeicht >= 2
					Set OldLeicht to 2
				elseif OldLeicht > 0
					Set OldLeicht to 1
				else
					Set OldLeicht to 0
				endif

				Set OldIllusion to (Player.GetBaseAV Illusion - OldIllusion)
				If OldIllusion >= 10
					Set OldIllusion to 5
				elseif OldIllusion >= 8 
					Set OldIllusion to 4
				elseif OldIllusion >= 5
					Set OldIllusion to 3
				elseif OldIllusion >= 2
					Set OldIllusion to 2
				elseif OldIllusion > 0
					Set OldIllusion to 1
				else
					Set OldIllusion to 0
				endif

				Set OldSicherheit to (Player.GetBaseAV Security - OldSicherheit)
				If OldSicherheit >= 10
					Set OldSicherheit to 5
				elseif OldSicherheit >= 8 
					Set OldSicherheit to 4
				elseif OldSicherheit >= 5
					Set OldSicherheit to 3
				elseif OldSicherheit >= 2
					Set OldSicherheit to 2
				elseif OldSicherheit > 0
					Set OldSicherheit to 1
				else
					Set OldSicherheit to 0
				endif

				Set OldSchleichen to (Player.GetBaseAV Sneak - OldSchleichen)
				If OldSchleichen >= 10
					Set OldSchleichen to 5
				elseif OldSchleichen >= 8 
					Set OldSchleichen to 4
				elseif OldSchleichen >= 5
					Set OldSchleichen to 3
				elseif OldSchleichen >= 2
					Set OldSchleichen to 2
				elseif OldSchleichen > 0
					Set OldSchleichen to 1
				else
					Set OldSchleichen to 0
				endif

				Set OldRedekunst to (Player.GetBaseAV Speechcraft - OldRedekunst)
				If OldRedekunst >= 10
					Set OldRedekunst to 5
				elseif OldRedekunst >= 8 
					Set OldRedekunst to 4
				elseif OldRedekunst >= 5
					Set OldRedekunst to 3
				elseif OldRedekunst >= 2
					Set OldRedekunst to 2
				elseif OldRedekunst > 0
					Set OldRedekunst to 1
				else
					Set OldRedekunst to 0
				endif

				Set OldZerstoerung to (Player.GetBaseAV Destruction - OldZerstoerung)
				If OldZerstoerung >= 10
					Set OldZerstoerung to 5
				elseif OldZerstoerung >= 8 
					Set OldZerstoerung to 4
				elseif OldZerstoerung >= 5
					Set OldZerstoerung to 3
				elseif OldZerstoerung >= 2
					Set OldZerstoerung to 2
				elseif OldZerstoerung > 0
					Set OldZerstoerung to 1
				else
					Set OldZerstoerung to 0
				endif
				Set LevelUpAttribute to OldAthletik + OldAkrobatik + OldAlchemie + OldVeraenderung + OldHandwerk + OldStich + OldSchlag + OldBlock + OldBeschwoerung + OldSchuetze + OldHandel + OldArkan + OldWiederherstellung + OldFaust + OldSchwer + OldLeicht + OldIllusion + OldSicherheit + OldSchleichen + OldRedekunst + OldZerstoerung

				If LevelUpAttribute > 10
					Set LevelUpAttribute to 10
				Elseif LevelUpAttribute < 3
					Set LevelUpAttribute to 3
				Endif
			else
				Set LevelUpAttribute to 3
			endif
			if LevelUpAttribute <= 4
				if Player.GetBaseAV Athletics >= 100 && Player.GetBaseAV Acrobatics >= 100 && Player.GetBaseAV Armorer >= 100 && Player.GetBaseAV Alteration >= 100 && Player.GetBaseAV Alchemy >= 100 && Player.GetBaseAV Blade >= 100 && Player.GetBaseAV Block >= 100 && Player.GetBaseAV Blunt >= 100 && Player.GetBaseAV Conjuration >= 100 && Player.GetBaseAV Marksman >= 100 && Player.GetBaseAV Mercantile >= 100 && Player.GetBaseAV Mysticism >= 100 && Player.GetBaseAV Restoration >= 100 && Player.GetBaseAV HandToHand >= 100
					if Player.GetBaseAV HeavyArmor >= 100 && Player.GetBaseAV LightArmor >= 100 && Player.GetBaseAV Illusion >= 100 && Player.GetBaseAV Security >= 100 && Player.GetBaseAV Sneak >= 100 && Player.GetBaseAV Speechcraft >= 100 && Player.GetBaseAV Destruction >= 100
						Set LevelUPAttribute to 5
					endif  
				endif
			endif

			Set OldAthletik to (100 - BStr)
			if OldAthletik < 0
				Set OldAthletik to 0
			elseif OldAthletik > 4
				Set OldAthletik to 4
			endif
			Set OldAkrobatik to (100 - BInt)
			if OldAkrobatik < 0
				Set OldAkrobatik to 0
			elseif OldAkrobatik > 4
				Set OldAkrobatik to 4
			endif
			Set OldAlchemie to (100 - BWil)
			if OldAlchemie < 0
				Set OldAlchemie to 0
			elseif OldAlchemie > 4
				Set OldAlchemie to 4
			endif
			Set OldVeraenderung to (100 - BAgi)
			if OldVeraenderung < 0
				Set OldVeraenderung to 0
			elseif OldVeraenderung > 4
				Set OldVeraenderung to 4
			endif
			Set OldHandwerk to (100 - BSpe)
			if OldHandwerk < 0
				Set OldHandwerk to 0
			elseif OldHandwerk > 4
				Set OldHandwerk to 4
			endif
			Set OldStich to (100 - BEnd)
			if OldStich < 0
				Set OldStich to 0
			elseif OldStich > 4
				Set OldStich to 4
			endif
			Set OldSchlag to (100 - BPer)
			if OldSchlag < 0
				Set OldSchlag to 0
			elseif OldSchlag > 4
				Set OldSchlag to 4
			endif
			Set OldBlock to (100 - BLuc)
			if OldBlock < 0
				Set OldBlock to 0
			elseif OldBlock > 4
				Set OldBlock to 4
			endif

			Set OldAthletik to OldAthletik + OldAkrobatik + OldAlchemie + OldVeraenderung + OldHandwerk + OldStich + OldSchlag + OldBlock
			if OldAthletik > 0 && OldAthletik < LevelUpAttribute
				Set LevelUpAttribute to OldAthletik
			endif

			Set OldAthletik to Player.GetBaseAV Athletics
			Set OldAkrobatik to Player.GetBaseAV Acrobatics
			Set OldAlchemie to Player.GetBaseAV Alchemy
			Set OldVeraenderung to Player.GetBaseAV Alteration
			Set OldHandwerk to Player.GetBaseAV Armorer
			Set OldStich to Player.GetBaseAV Blade
			Set OldSchlag to Player.GetBaseAV Blunt
			Set OldBlock to Player.GetBaseAV Block
			Set OldBeschwoerung to Player.GetBaseAV Conjuration
			Set OldSchuetze to Player.GetBaseAV Marksman
			Set OldHandel to Player.GetBaseAV Mercantile
			Set OldArkan to Player.GetBaseAV Mysticism
			Set OldWiederherstellung to Player.GetBaseAV Restoration
			Set OldFaust to Player.GetBaseAV HandToHand
			Set OldSchwer to Player.GetBaseAV HeavyArmor
			Set OldLeicht to Player.GetBaseAV LightArmor
			Set OldIllusion to Player.GetBaseAV Illusion
			Set OldSicherheit  to Player.GetBaseAV Security
			Set OldSchleichen  to Player.GetBaseAV Sneak
			Set OldRedekunst  to Player.GetBaseAV Speechcraft
			Set OldZerstoerung  to Player.GetBaseAV Destruction
	endif
	
	if STEP == -1
		let TotalMSGtext := LevelMSGtext + (sv_construct "%rVerteilen Sie Ihre Attributspunkte.%rDerzeitige Einstellung: "+$StrAttHandling+"%rVerfügbare Attributspunkte: ")+$LevelUpAttribute+"|Stärke: "+$BStr+$SStr+"|Intelligenz: "+$BInt+$SInt+"|Willenskraft: "+$BWil+$SWil+"|Geschicklichkeit: "+$BAgi+$SAgi+"|Schnelligkeit: "+$BSpe+$SSpe+"|Konstitution: "+$BEnd+$SEnd+"|Charisma: "+$BPer+$SPer+"|Glück: "+$BLuc+$SLuc+"|Einstellung ändern: "+$StrAttSetting+"|Levelaufstieg abschließen"
		Set STEP to 1
		MessageboxEx $TotalMSGtext
		set TotalMSGtext to sv_destruct
	elseif STEP == 1
		Set Button to GetButtonPressed

		If Button == 0
			if ValAttributHandling == 1
				If (BStr + (NStr + 1)) < 101 && NStr < 4 && LevelUpAttribute > 0
					Set LevelUpAttribute to LevelUpAttribute - 1
					Set NStr to NStr + 1
				Elseif (BStr + (NStr + 1)) >= 101
					Message "Dieses Attribut ist bereits auf dem Maximalwert."
				ElseIf NStr >= 4
					Message "Sie können nicht mehr als 4 Punkte in ein Attribut investieren."
				ElseIf LevelUpAttribute == 0
					Message "Sie haben keine Attributspunkte mehr."
				EndIf
			elseif ValAttributHandling == -1
				if NStr > 0
					Set LevelUpAttribute to LevelUpAttribute + 1
					Set NStr to NStr - 1
				else
					Message "Sie haben keine Attributspunkte in dieses Attribut investiert."
				endif
			endif
			if NStr > 0
				let SStr := " +"+$NStr
			else
				let SStr := ""
			endif
			Set STEP to -1
		Elseif Button == 1
			if ValAttributHandling == 1
				If (BInt + (NInt + 1)) < 101 && NInt < 4 && LevelUpAttribute > 0
					Set LevelUpAttribute to LevelUpAttribute - 1
					Set NInt to NInt + 1
				Elseif (BInt + (NInt + 1)) >= 101
					Message "Dieses Attribut ist bereits auf dem Maximalwert."
				ElseIf NInt >= 4
					Message "Sie können nicht mehr als 4 Punkte in ein Attribut investieren."
				ElseIf LevelUpAttribute == 0
					Message "Sie haben keine Attributspunkte mehr."
				EndIf
			elseif ValAttributHandling == -1
				if NInt > 0
					Set LevelUpAttribute to LevelUpAttribute + 1
					Set NInt to NInt - 1
				else
					Message "Sie haben keine Attributspunkte in dieses Attribut investiert."
				endif
			endif
			if NInt > 0
				let SInt := " +"+$NInt
			else
				let SInt := ""
			endif
			Set STEP to -1
		Elseif Button == 2
			if ValAttributHandling == 1
				If (BWil + (NWil + 1)) < 101 && NWil < 4 && LevelUpAttribute > 0
					Set LevelUpAttribute to LevelUpAttribute - 1
					Set NWil to NWil + 1
				Elseif (BWil + (NWil + 1)) >= 101
					Message "Dieses Attribut ist bereits auf dem Maximalwert."
				ElseIf NWil >= 4
					Message "Sie können nicht mehr als 4 Punkte in ein Attribut investieren."
				ElseIf LevelUpAttribute == 0
					Message "Sie haben keine Attributspunkte mehr."
				EndIf
			elseif ValAttributHandling == -1
				if NWil > 0
					Set LevelUpAttribute to LevelUpAttribute + 1
					Set NWil to NWil - 1
				else
					Message "Sie haben keine Attributspunkte in dieses Attribut investiert."
				endif
			endif
			if NWil > 0
				let SWil := " +"+$NWil
			else
				let SWil := ""
			endif
			Set STEP to -1
		Elseif Button == 3
			if ValAttributHandling == 1
				If (BAgi + (NAgi + 1)) < 101 && NAgi < 4 && LevelUpAttribute > 0
					Set LevelUpAttribute to LevelUpAttribute - 1
					Set NAgi to NAgi + 1
				Elseif (BAgi + (NAgi + 1)) >= 101
					Message "Dieses Attribut ist bereits auf dem Maximalwert."
				ElseIf NAgi >= 4
					Message "Sie können nicht mehr als 4 Punkte in ein Attribut investieren."
				ElseIf LevelUpAttribute == 0
					Message "Sie haben keine Attributspunkte mehr."
				EndIf
			elseif ValAttributHandling == -1
				if NAgi > 0
					Set LevelUpAttribute to LevelUpAttribute + 1
					Set NAgi to NAgi - 1
				else
					Message "Sie haben keine Attributspunkte in dieses Attribut investiert."
				endif
			endif
			if NAgi > 0
				let SAgi := " +"+$NAgi
			else
				let SAgi := ""
			endif
			Set STEP to -1
		Elseif Button == 4
			if ValAttributHandling == 1
				If (BSpe + (NSpe + 1)) < 101 && NSpe < 4 && LevelUpAttribute > 0
					Set LevelUpAttribute to LevelUpAttribute - 1
					Set NSpe to NSpe + 1
				Elseif (BSpe + (NSpe + 1)) >= 101
					Message "Dieses Attribut ist bereits auf dem Maximalwert."
				ElseIf NSpe >= 4
					Message "Sie können nicht mehr als 4 Punkte in ein Attribut investieren."
				ElseIf LevelUpAttribute == 0
					Message "Sie haben keine Attributspunkte mehr."
				EndIf
			elseif ValAttributHandling == -1
				if NSpe > 0
					Set LevelUpAttribute to LevelUpAttribute + 1
					Set NSpe to NSpe - 1
				else
					Message "Sie haben keine Attributspunkte in dieses Attribut investiert."
				endif
			endif
			if NSpe > 0
				let SSpe := " +"+$NSpe
			else
				let SSpe := ""
			endif
			Set STEP to -1
		Elseif Button == 5
			if ValAttributHandling == 1
				If (BEnd + (NEnd + 1)) < 101 && NEnd < 4 && LevelUpAttribute > 0
					Set LevelUpAttribute to LevelUpAttribute - 1
					Set NEnd to NEnd + 1
				Elseif (BEnd + (NEnd + 1)) >= 101
					Message "Dieses Attribut ist bereits auf dem Maximalwert."
				ElseIf NEnd >= 4
					Message "Sie können nicht mehr als 4 Punkte in ein Attribut investieren."
				ElseIf LevelUpAttribute == 0
					Message "Sie haben keine Attributspunkte mehr."
				EndIf
			elseif ValAttributHandling == -1
				if NEnd > 0
					Set LevelUpAttribute to LevelUpAttribute + 1
					Set NEnd to NEnd - 1
				else
					Message "Sie haben keine Attributspunkte in dieses Attribut investiert."
				endif
			endif
			if NEnd > 0
				let SEnd := " +"+$NEnd
			else
				let SEnd := ""
			endif
			Set STEP to -1
		Elseif Button == 6
			if ValAttributHandling == 1
				If (BPer + (NPer + 1)) < 101 && NPer < 4 && LevelUpAttribute > 0
					Set LevelUpAttribute to LevelUpAttribute - 1
					Set NPer to NPer + 1
				Elseif (BPer + (NPer + 1)) >= 101
					Message "Dieses Attribut ist bereits auf dem Maximalwert."
				ElseIf NPer >= 4
					Message "Sie können nicht mehr als 4 Punkte in ein Attribut investieren."
				ElseIf LevelUpAttribute == 0
					Message "Sie haben keine Attributspunkte mehr."
				EndIf
			elseif ValAttributHandling == -1
				if NPer > 0
					Set LevelUpAttribute to LevelUpAttribute + 1
					Set NPer to NPer - 1
				else
					Message "Sie haben keine Attributspunkte in dieses Attribut investiert."
				endif
			endif
			if NPer > 0
				let SPer := " +"+$NPer
			else
				let SPer := ""
			endif
			Set STEP to -1
		Elseif Button == 7
			if ValAttributHandling == 1
				If (BLuc + (NLuc + 1)) < 101 && NLuc < 4 && LevelUpAttribute > 0
					Set LevelUpAttribute to LevelUpAttribute - 1
					Set NLuc to NLuc + 1
				Elseif (BLuc + (NLuc + 1)) >= 101
					Message "Dieses Attribut ist bereits auf dem Maximalwert."
				ElseIf NLuc >= 4
					Message "Sie können nicht mehr als 4 Punkte in ein Attribut investieren."
				ElseIf LevelUpAttribute == 0
					Message "Sie haben keine Attributspunkte mehr."
				EndIf
			elseif ValAttributHandling == -1
				if NLuc > 0
					Set LevelUpAttribute to LevelUpAttribute + 1
					Set NLuc to NLuc - 1
				else
					Message "Sie haben keine Attributspunkte in dieses Attribut investiert."
				endif
			endif
			if NLuc > 0
				let SLuc := " +"+$NLuc
			else
				let SLuc := ""
			endif
			Set STEP to -1
		Elseif Button == 8
			if ValAttributHandling == 1
				Set ValAttributHandling to -1
				let StrAttHandling := "Attributspunkte abziehen"
				let StrAttSetting := "(+)"				
				Message "Absofort ziehen Sie Attributspunkte von den Attributen ab, um sie neu verteilen zu können."
			elseif ValAttributHandling == -1
				Set ValAttributHandling to 1
				let StrAttHandling := "Attributspunkte hinzufügen"
				let StrAttSetting := "(-)"
				Message "Nun fügen Sie den Attributen die Attributspunkte hinzu."
			endif
			Set Step to -1
		Elseif Button == 9
			if LevelUpAttribute > 0
				Message "Sie müssen zuerst alle Attributspunkte verteilen!"
				Message "Sie müssen zuerst alle Attributspunkte verteilen!"
				Set Step to -1
			else
				Player.SetLevel CurrentPlayerLevel
				Set BStr to BStr + NStr
				Set BInt to BInt + NInt
				Set BWil to BWil + NWil
				Set BAgi to BAgi + NAgi
				Set BSpe to BSpe + NSpe
				Set BEnd to BEnd + NEnd
				Set BPer to BPer + NPer
				Set BLuc to BLuc + NLuc
				Player.Setav Strength BStr
				Player.Setav Intelligence BInt
				Player.Setav Willpower BWil
				Player.Setav Agility BAgi
				Player.Setav Speed BSpe
				Player.Setav Endurance BEnd
				Player.Setav Personality BPer
				Player.Setav Luck BLuc
				Set VarCurrentHealth to VarCurrentHealth + (BEnd * GSfStatsHealthLevelMult)
				Set VarCurrentHealth to floor VarCurrentHealth
				Player.SetAV Health VarCurrentHealth
				if VarNOLearningByDoing == 1
					if VarDynamicLernpunkte == 1
						if VarDynamicLAttribut == 0
							Set Step to Player.GetBaseAV Strength									
						elseif VarDynamicLAttribut == 1
							Set Step to Player.GetBaseAV Intelligence
						elseif VarDynamicLAttribut == 2
							Set Step to Player.GetBaseAV Willpower
						elseif VarDynamicLAttribut == 3
							Set Step to Player.GetBaseAV Agility
						elseif VarDynamicLAttribut == 4
							Set Step to Player.GetBaseAV Speed
						elseif VarDynamicLAttribut == 5
							Set Step to Player.GetBaseAV Endurance
						elseif VarDynamicLAttribut == 6
							Set Step to Player.GetBaseAV Personality
						elseif VarDynamicLAttribut == 7
							Set Step to Player.GetBaseAV Luck									
						endif
						if Step > 100
							Set Step to 100
						endif
						Set Step to (Step / 20)
						Set Step to floor Step
						Set Lernpunkte to Lernpunkte + (5 + Step)
					elseif VarDynamicLernpunkte == -1
						Set Lernpunkte to Lernpunkte + 10
					endif
				endif
				Set LevelONCE to 0
				Set STEP to 0
				StopQuest zzzzzAlternativeLeveling
				EnableControl 15
				EnableControl 5
				Return
			endif
		Endif
	endif
End
Last edited by Tealor Arantheal on 09.04.2014 08:53, edited 1 time in total.
... und einem Questskript, dass inzwischen zu einem funktionell sehr wichtigen Teilstück angewachsen ist:
[+]
scn zzReitierTurnSpeedSCRIPT

Float fQuestDelayTime
Float GSHealthLevelMult
ref AktuellesReittier
short MenuButtonClicked
float KeyWasDown

Short VarTAk1
Short VarTAk5
Short VarTAl1
Short VarTAl5
Short VarTAt1
Short VarTAt5
Short VarTBe1
Short VarTBe5
Short VarTBl1
Short VarTBl5
Short VarTFa1
Short VarTFa5
Short VarTIl1
Short VarTIl5
Short VarTLR1
Short VarTLR5
Short VarTMy1
Short VarTMy5
Short VarTSZ1
Short VarTSZ5
Short VarTSR1
Short VarTSR5
Short VarTSti1
Short VarTSti5
Short VarTStu1
Short VarTStu5
Short VarTVe1
Short VarTVe5
Short VarTWi1
Short VarTWi5
Short VarTZe1
Short VarTZe5

Begin GameMode
	set fQuestDelayTime to 0.01

	if VarNormalLevelUpDONE
		Set GSHealthLevelMult to GetGameSetting fStatsHealthLevelMult
		Set zzzzzAlternativeLeveling.VarCurrentHealth to zzzzzAlternativeLeveling.VarCurrentHealth + (Player.GetBaseAV Endurance * GSHealthLevelMult)
		Set zzzzzAlternativeLeveling.VarCurrentHealth to floor zzzzzAlternativeLeveling.VarCurrentHealth
		if zzzzzAlternativeLeveling.OldAthletik == 0 && zzzzzAlternativeLeveling.OldAkrobatik == 0
			Set zzzzzAlternativeLeveling.OldAthletik to Player.GetBaseAV Athletics
			Set zzzzzAlternativeLeveling.OldAkrobatik to Player.GetBaseAV Acrobatics
			Set zzzzzAlternativeLeveling.OldAlchemie to Player.GetBaseAV Alchemy
			Set zzzzzAlternativeLeveling.OldVeraenderung to Player.GetBaseAV Alteration
			Set zzzzzAlternativeLeveling.OldHandwerk to Player.GetBaseAV Armorer
			Set zzzzzAlternativeLeveling.OldStich to Player.GetBaseAV Blade
			Set zzzzzAlternativeLeveling.OldSchlag to Player.GetBaseAV Blunt
			Set zzzzzAlternativeLeveling.OldBlock to Player.GetBaseAV Block
			Set zzzzzAlternativeLeveling.OldBeschwoerung to Player.GetBaseAV Conjuration
			Set zzzzzAlternativeLeveling.OldSchuetze to Player.GetBaseAV Marksman
			Set zzzzzAlternativeLeveling.OldHandel to Player.GetBaseAV Mercantile
			Set zzzzzAlternativeLeveling.OldArkan to Player.GetBaseAV Mysticism
			Set zzzzzAlternativeLeveling.OldWiederherstellung to Player.GetBaseAV Restoration
			Set zzzzzAlternativeLeveling.OldFaust to Player.GetBaseAV HandToHand
			Set zzzzzAlternativeLeveling.OldSchwer to Player.GetBaseAV HeavyArmor
			Set zzzzzAlternativeLeveling.OldLeicht to Player.GetBaseAV LightArmor
			Set zzzzzAlternativeLeveling.OldIllusion to Player.GetBaseAV Illusion
			Set zzzzzAlternativeLeveling.OldSicherheit  to Player.GetBaseAV Security
			Set zzzzzAlternativeLeveling.OldSchleichen  to Player.GetBaseAV Sneak
			Set zzzzzAlternativeLeveling.OldRedekunst  to Player.GetBaseAV Speechcraft
			Set zzzzzAlternativeLeveling.OldZerstoerung  to Player.GetBaseAV Destruction
		endif
		Set VarNormalLevelUpDone to 0
	endif
		
	if Player.IsRidingHorse
		if AktuellesReittier == 0
			Set AktuellesReittier to Player.GetHorse
			AktuellesReittier.ModAV ResistParalysis 125
			Player.ModAV ResistParalysis 125
		endif
	else
		if AktuellesReittier != 0
			AktuellesReittier.ModAV ResistParalysis -125
			Player.ModAV ResistParalysis -125
			Set AktuellesReittier to 0	
		endif
	endif

	if player.isridinghorse
	if Player.GetHorse == ReittierEsel01GiliadGesatteltRef
		if GetGameSetting iHorseTurnDegreesPerSecond != 75
			SetNumericGameSetting iHorseTurnDegreesPerSecond 75
			SetNumericGameSetting iHorseTurnDegreesRampUpPerSecond 75
		endif
	elseif Player.GetHorse == ReittierPferd01SteinfeldGesatteltRef
		if GetGameSetting iHorseTurnDegreesPerSecond !=180
			SetNumericGameSetting iHorseTurnDegreesPerSecond 180
			SetNumericGameSetting iHorseTurnDegreesRampUpPerSecond 180
		endif
	elseif Player.GetHorse == ReittierPferd01SteinfeldPferderuestungRef
		if GetGameSetting iHorseTurnDegreesPerSecond !=160
			SetNumericGameSetting iHorseTurnDegreesPerSecond 160
			SetNumericGameSetting iHorseTurnDegreesRampUpPerSecond 160
		endif
	elseif Player.GetHorse == ReittierPferd02SteinfeldGesatteltRef
		if GetGameSetting iHorseTurnDegreesPerSecond != 140
			SetNumericGameSetting iHorseTurnDegreesPerSecond 140
			SetNumericGameSetting iHorseTurnDegreesRampUpPerSecond 140
		endif	
	elseif Player.GetHorse == ReittierPferd02SteinfeldPferderuestungRef
		if GetGameSetting iHorseTurnDegreesPerSecond != 120
			SetNumericGameSetting iHorseTurnDegreesPerSecond 120
			SetNumericGameSetting iHorseTurnDegreesRampUpPerSecond 120
		endif
	elseif Player.GetHorse == ReittierPferd03SteinfeldGesatteltRef
		if GetGameSetting iHorseTurnDegreesPerSecond != 110
			SetNumericGameSetting iHorseTurnDegreesPerSecond 110
			SetNumericGameSetting iHorseTurnDegreesRampUpPerSecond 110
		endif
	elseif Player.GetHorse == ReittierPferd03SteinfeldPferderuestungRef
		if GetGameSetting iHorseTurnDegreesPerSecond != 90
			SetNumericGameSetting iHorseTurnDegreesPerSecond 90
			SetNumericGameSetting iHorseTurnDegreesRampUpPerSecond 90
		endif
	else
		if GetGameSetting iHorseTurnDegreesPerSecond != 45
			SetNumericGameSetting iHorseTurnDegreesPerSecond 45
			SetNumericGameSetting iHorseTurnDegreesRampUpPerSecond 80
		endif
	endif
	endif


	If GetGameLoaded
		EnableControl 15
		EnableControl 5
		if VarAthleticsForSpeed == 1 && GetSkillGoverningAttribute Athletics == 3
			SetSkillGoverningAttribute Athletics Speed
		elseif VarAthleticsForSpeed == -1 && GetSkillGoverningAttribute Athletics == 4
			SetSkillGoverningAttribute Athletics Agility
		endif
		if VarNOLearningByDoing == 1
			SetSkillUseIncrement 0 Alchemy 0
			SetSkillUseIncrement 0 Alchemy 1
			SetSkillUseIncrement 0 Armorer 0
			SetSkillUseIncrement 0 Athletics 0
			SetSkillUseIncrement 0 Athletics 1
			SetSkillUseIncrement 0 Acrobatics 0
			SetSkillUseIncrement 0 Acrobatics 1
			SetSkillUseIncrement 0 Alteration 0
			SetSkillUseIncrement 0 Alteration 1
			SetSkillUseIncrement 0 Blade 0
			SetSkillUseIncrement 0 Blunt 0
			SetSkillUseIncrement 0 Block 0
			SetSkillUseIncrement 0 Conjuration 0
			SetSkillUseIncrement 0 Conjuration 1
			SetSkillUseIncrement 0 Destruction 0
			SetSkillUseIncrement 0 Destruction 1
			SetSkillUseIncrement 0 Illusion 0
			SetSkillUseIncrement 0 Illusion 1
			SetSkillUseIncrement 0 Marksman 0
			SetSkillUseIncrement 0 Mysticism 0
			SetSkillUseIncrement 0 Mysticism 1
			SetSkillUseIncrement 0 Restoration 0
			SetSkillUseIncrement 0 Restoration 1
			SetSkillUseIncrement 0 HeavyArmor 0
			SetSkillUseIncrement 0 LightArmor 0
			SetSkillUseIncrement 0 Speechcraft 0
			SetSkillUseIncrement 0 Security 0
			SetSkillUseIncrement 0 Sneak 0
			SetSkillUseIncrement 0 Sneak 1
			SetSkillUseIncrement 0 Mercantile 0
			SetSkillUseIncrement 0 HandToHand 0
			Set KeyWasDown to GetPlayerSkillUse Alchemy - (GetPlayerSkillUse Alchemy * 2)
			ModPlayerSkillExp Alchemy KeyWasDown
			Set KeyWasDown to GetPlayerSkillUse Armorer - (GetPlayerSkillUse Armorer * 2)
			ModPlayerSkillExp Armorer KeyWasDown
			Set KeyWasDown to GetPlayerSkillUse Athletics - (GetPlayerSkillUse Athletics * 2)
			ModPlayerSkillExp Athletics KeyWasDown
			Set KeyWasDown to GetPlayerSkillUse Acrobatics - (GetPlayerSkillUse Acrobatics * 2)
			ModPlayerSkillExp Acrobatics KeyWasDown
			Set KeyWasDown to GetPlayerSkillUse Alteration - (GetPlayerSkillUse Alteration * 2)
			ModPlayerSkillExp Alteration KeyWasDown
			Set KeyWasDown to GetPlayerSkillUse Blade - (GetPlayerSkillUse Blade * 2)
			ModPlayerSkillExp Blade KeyWasDown
			Set KeyWasDown to GetPlayerSkillUse Blunt - (GetPlayerSkillUse Blunt * 2)
			ModPlayerSkillExp Blunt KeyWasDown
			Set KeyWasDown to GetPlayerSkillUse Block - (GetPlayerSkillUse Block * 2)
			ModPlayerSkillExp Block KeyWasDown
			Set KeyWasDown to GetPlayerSkillUse Conjuration - (GetPlayerSkillUse Conjuration * 2)
			ModPlayerSkillExp Conjuration KeyWasDown
			Set KeyWasDown to GetPlayerSkillUse Destruction - (GetPlayerSkillUse Destruction * 2)
			ModPlayerSkillExp Destruction KeyWasDown
			Set KeyWasDown to GetPlayerSkillUse Illusion - (GetPlayerSkillUse Illusion * 2)
			ModPlayerSkillExp Illusion KeyWasDown
			Set KeyWasDown to GetPlayerSkillUse Marksman - (GetPlayerSkillUse Marksman * 2)
			ModPlayerSkillExp Marksman KeyWasDown
			Set KeyWasDown to GetPlayerSkillUse Mysticism - (GetPlayerSkillUse Mysticism * 2)
			ModPlayerSkillExp Mysticism KeyWasDown
			Set KeyWasDown to GetPlayerSkillUse Restoration - (GetPlayerSkillUse Restoration * 2)
			ModPlayerSkillExp Restoration KeyWasDown
			Set KeyWasDown to GetPlayerSkillUse HeavyArmor - (GetPlayerSkillUse HeavyArmor * 2)
			ModPlayerSkillExp HeavyArmor KeyWasDown
			Set KeyWasDown to GetPlayerSkillUse LightArmor - (GetPlayerSkillUse LightArmor * 2)
			ModPlayerSkillExp LightArmor KeyWasDown
			Set KeyWasDown to GetPlayerSkillUse Speechcraft - (GetPlayerSkillUse Speechcraft * 2)
			ModPlayerSkillExp Speechcraft KeyWasDown
			Set KeyWasDown to GetPlayerSkillUse Security - (GetPlayerSkillUse Security * 2)
			ModPlayerSkillExp Security KeyWasDown
			Set KeyWasDown to GetPlayerSkillUse Sneak - (GetPlayerSkillUse Sneak * 2)
			ModPlayerSkillExp Sneak KeyWasDown
			Set KeyWasDown to GetPlayerSkillUse Mercantile - (GetPlayerSkillUse Mercantile * 2)
			ModPlayerSkillExp Mercantile KeyWasDown
			Set KeyWasDown to GetPlayerSkillUse HandToHand - (GetPlayerSkillUse HandToHand * 2)
			ModPlayerSkillExp HandToHand KeyWasDown
			Set KeyWasDown to 0
		elseif VarNOLearningByDoing == -1
			SetSkillUseIncrement 2 Alchemy 0
			SetSkillUseIncrement 0.5 Alchemy 1
			SetSkillUseIncrement 1.2 Armorer 0
			SetSkillUseIncrement 0.015 Athletics 0
			SetSkillUseIncrement 0.025 Athletics 1
			SetSkillUseIncrement 0.2 Acrobatics 0
			SetSkillUseIncrement 1 Acrobatics 1
			SetSkillUseIncrement 0.08 Alteration 0
			SetSkillUseIncrement 0.5 Alteration 1
			SetSkillUseIncrement 0.08 Blade 0
			SetSkillUseIncrement 0.2 Blunt 0
			SetSkillUseIncrement 0.5 Block 0
			SetSkillUseIncrement 0.2 Conjuration 0
			SetSkillUseIncrement 2 Conjuration 1
			SetSkillUseIncrement 0.01 Destruction 0
			SetSkillUseIncrement 0.4 Destruction 1
			SetSkillUseIncrement 0.05 Illusion 0
			SetSkillUseIncrement 0.4 Illusion 1
			SetSkillUseIncrement 0.6 Marksman 0
			SetSkillUseIncrement 0.08 Mysticism 0
			SetSkillUseIncrement 0.4 Mysticism 1
			SetSkillUseIncrement 0.09 Restoration 0
			SetSkillUseIncrement 0.3 Restoration 1
			SetSkillUseIncrement 0.3 HeavyArmor 0
			SetSkillUseIncrement 0.3 LightArmor 0
			SetSkillUseIncrement 2 Speechcraft 0
			SetSkillUseIncrement 1.5 Security 0
			SetSkillUseIncrement 0.55 Sneak 0
			SetSkillUseIncrement 2 Sneak 1
			SetSkillUseIncrement 1 Mercantile 0
			SetSkillUseIncrement 0.5 HandToHand 0
		endif
	endif
	
	if VarNOLearningByDoing == 1
		if VarTAk1 != 0 && Player.GetBaseAV Acrobatics >= 100
			Set VarTAk1 to 0
		endif
		if VarTAk5 != 0 && Player.GetBaseAV Acrobatics >= 96
			Set VarTAk5 to 0
		endif

		if VarTAt1 != 0 && Player.GetBaseAV Athletics >= 100
			Set VarTAt1 to 0
		endif
		if VarTAt5 != 0 && Player.GetBaseAV Athletics >= 96
			Set VarTAt5 to 0
		endif

		if VarTAl1 != 0 && Player.GetBaseAV Alchemy >= 100
			Set VarTAl1 to 0
		endif
		if VarTAl5 != 0 && Player.GetBaseAV Alchemy >= 96
			Set VarTAl5 to 0
		endif

		if VarTha2 != 0 && Player.GetBaseAV Armorer >= 100
			Set VarTha2 to 0
		endif
		if VarTha10 != 0 && Player.GetBaseAV Armorer >= 91
			Set VarTha10 to 0
		endif

		if VarTVe1 != 0 && Player.GetBaseAV Alteration >= 100
			Set VarTVe1 to 0
		endif
		if VarTVe5 != 0 && Player.GetBaseAV Alteration >= 96
			Set VarTVe5 to 0
		endif

		if VarTSti1 != 0 && Player.GetBaseAV Blade >= 100
			Set VarTSti1 to 0
		endif
		if VarTSti5 != 0 && Player.GetBaseAV Blade >= 96
			Set VarTSti5 to 0
		endif

		if VarTStu1 != 0 && Player.GetBaseAV Blunt >= 100
			Set VarTStu1 to 0
		endif
		if VarTStu5 != 0 && Player.GetBaseAV Blunt >= 96
			Set VarTStu5 to 0
		endif

		if VarTBl1 != 0 && Player.GetBaseAV Block >= 100
			Set VarTBl1 to 0
		endif
		if VarTBl5 != 0 && Player.GetBaseAV Block >= 96
			Set VarTBl5 to 0
		endif

		if VarTBe1 != 0 && Player.GetBaseAV Conjuration >= 100
			Set VarTBe1 to 0
		endif
		if VarTBe5 != 0 && Player.GetBaseAV Conjuration >= 96
			Set VarTBe5 to 0
		endif

		if VarTZe1 != 0 && Player.GetBaseAV Destruction >= 100
			Set VarTZe1 to 0
		endif
		if VarTZe5 != 0 && Player.GetBaseAV Destruction >= 96
			Set VarTZe5 to 0
		endif

		if VarTIl1 != 0 && Player.GetBaseAV Illusion >= 100
			Set VarTIl1 to 0
		endif
		if VarTIl5 != 0 && Player.GetBaseAV Illusion >= 96
			Set VarTIl5 to 0
		endif

		if VarTSZ1 != 0 && Player.GetBaseAV Marksman >= 100
			Set VarTSZ1 to 0
		endif
		if VarTSZ5 != 0 && Player.GetBaseAV Marksman >= 96
			Set VarTSZ5 to 0
		endif

		if VarTMy1 != 0 && Player.GetBaseAV Mysticism >= 100
			Set VarTMy1 to 0
		endif
		if VarTMy5 != 0 && Player.GetBaseAV Mysticism >= 96
			Set VarTMy5 to 0
		endif

		if VarTWi1 != 0 && Player.GetBaseAV Restoration >= 100
			Set VarTWi1 to 0
		endif
		if VarTWi5 != 0 && Player.GetBaseAV Restoration >= 96
			Set VarTWi5 to 0
		endif

		if VarTSR1 != 0 && Player.GetBaseAV HeavyArmor >= 100
			Set VarTSR1 to 0
		endif
		if VarTSR5 != 0 && Player.GetBaseAV HeavyArmor >= 96
			Set VarTSR5 to 0
		endif

		if VarTLR1 != 0 && Player.GetBaseAV LightArmor >= 100
			Set VarTLR1 to 0
		endif
		if VarTLR5 != 0 && Player.GetBaseAV LightArmor >= 96
			Set VarTLR5 to 0
		endif

		if VarTFa1 != 0 && Player.GetBaseAV HandToHand >= 100
			Set VarTFa1 to 0
		endif
		if VarTFa5 != 0 && Player.GetBaseAV HandToHand >= 96
			Set VarTFa5 to 0
		endif

		if VarTwo2 != 0 && Player.GetBaseAV Speechcraft >= 100
			Set VarTwo2 to 0
		endif
		if VarTwo10 != 0 && Player.GetBaseAV Speechcraft >= 91
			Set VarTwo10 to 0
		endif

		if VarTsi2 != 0 && Player.GetBaseAV Security >= 100
			Set VarTsi2 to 0
		endif
		if VarTsi10 != 0 && Player.GetBaseAV Security >= 91
			Set VarTsi10 to 0
		endif

		if VarTsc2 != 0 && Player.GetBaseAV Sneak >= 100
			Set VarTsc2 to 0
		endif
		if VarTsc10 != 0 && Player.GetBaseAV Sneak >= 91
			Set VarTsc10 to 0
		endif

		if VarTfe2 != 0 && Player.GetBaseAV Mercantile >= 100
			Set VarTfe2 to 0
		endif
		if VarTfe10 != 0 && Player.GetBaseAV Mercantile >= 91
			Set VarTfe10 to 0
		endif

		
		
		if VarTAk1 != 1 && Player.GetBaseAV Acrobatics < 100
			Set VarTAk1 to 1
		endif
		if VarTAk5 != 1 && Player.GetBaseAV Acrobatics < 96
			Set VarTAk5 to 1
		endif

		if VarTAl1 != 1 && Player.GetBaseAV Alchemy < 100
			Set VarTAl1 to 1
		endif
		if VarTAl5 != 1 && Player.GetBaseAV Alchemy < 96
			Set VarTAl5 to 1
		endif

		if VarTAt1 != 1 && Player.GetBaseAV Athletics < 100
			Set VarTAt1 to 1
		endif
		if VarTAt5 != 1 && Player.GetBaseAV Athletics < 96
			Set VarTAt5 to 1
		endif

		if VarTBe1 != 1 && Player.GetBaseAV Conjuration < 100
			Set VarTBe1 to 1
		endif
		if VarTBe5 != 1 && Player.GetBaseAV Conjuration < 96
			Set VarTBe5 to 1
		endif

		if VarTBl1 != 1 && Player.GetBaseAV Block < 100
			Set VarTBl1 to 1
		endif
		if VarTBl5 != 1 && Player.GetBaseAV Block < 96
			Set VarTBl5 to 1
		endif
		
		if VarTFa1 != 1 && Player.GetBaseAV HandToHand < 100
			Set VarTFa1 to 1
		endif
		if VarTFa5 != 1 && Player.GetBaseAV HandToHand < 96
			Set VarTFa5 to 1
		endif

		if VarTfe2 != 1 && Player.GetBaseAV Mercantile < 100
			Set VarTfe2 to 1
		endif
		if VarTfe10 != 1 && Player.GetBaseAV Mercantile < 91
			Set VarTfe10 to 1
		endif

		if VarTha2 != 1 && Player.GetBaseAV Armorer < 100
			Set VarTha2 to 1
		endif
		if VarTha10 != 1 && Player.GetBaseAV Armorer < 91
			Set VarTha10 to 1
		endif

		if VarTIl1 != 1 && Player.GetBaseAV Illusion < 100
			Set VarTIl1 to 1
		endif
		if VarTIl5 != 1 && Player.GetBaseAV Illusion < 96
			Set VarTIl5 to 1
		endif

		if VarTLR1 != 1 && Player.GetBaseAV LightArmor < 100
			Set VarTLR1 to 1
		endif
		if VarTLR5 != 1 && Player.GetBaseAV LightArmor < 96
			Set VarTLR5 to 1
		endif

		if VarTMy1 != 1 && Player.GetBaseAV Mysticism < 100
			Set VarTMy1 to 1
		endif
		if VarTMy5 != 1 && Player.GetBaseAV Mysticism < 96
			Set VarTMy5 to 1
		endif

		if VarTsc2 != 1 && Player.GetBaseAV Sneak < 100
			Set VarTsc2 to 1
		endif
		if VarTsc10 != 1 && Player.GetBaseAV Sneak < 91
			Set VarTsc10 to 1
		endif

		if VarTSZ1 != 1 && Player.GetBaseAV Marksman < 100
			Set VarTSZ1 to 1
		endif
		if VarTSZ5 != 1 && Player.GetBaseAV Marksman < 96
			Set VarTSZ5 to 1
		endif

		if VarTSR1 != 1 && Player.GetBaseAV HeavyArmor < 100
			Set VarTSR1 to 1
		endif
		if VarTSR5 != 1 && Player.GetBaseAV HeavyArmor < 96
			Set VarTSR5 to 1
		endif

		if VarTsi2 != 1 && Player.GetBaseAV Security < 100
			Set VarTsi2 to 1
		endif
		if VarTsi10 != 1 && Player.GetBaseAV Security < 91
			Set VarTsi10 to 1
		endif

		if VarTSti1 != 1 && Player.GetBaseAV Blade < 100
			Set VarTSti1 to 1
		endif
		if VarTSti5 != 1 && Player.GetBaseAV Blade < 96
			Set VarTSti5 to 1
		endif

		if VarTStu1 != 1 && Player.GetBaseAV Blunt < 100
			Set VarTStu1 to 1
		endif
		if VarTStu5 != 1 && Player.GetBaseAV Blunt < 96
			Set VarTStu5 to 1
		endif

		if VarTVe1 != 1 && Player.GetBaseAV Alteration < 100
			Set VarTVe1 to 1
		endif
		if VarTVe5 != 1 && Player.GetBaseAV Alteration < 96
			Set VarTVe5 to 1
		endif

		if VarTWi1 != 1 && Player.GetBaseAV Restoration < 100
			Set VarTWi1 to 1
		endif
		if VarTWi5 != 1 && Player.GetBaseAV Restoration < 96
			Set VarTWi5 to 1
		endif

		if VarTwo2 != 1 && Player.GetBaseAV Speechcraft < 100
			Set VarTwo2 to 1
		endif
		if VarTwo10 != 1 && Player.GetBaseAV Speechcraft < 91
			Set VarTwo10 to 1
		endif

		if VarTZe1 != 1 && Player.GetBaseAV Destruction < 100
			Set VarTZe1 to 1
		endif
		if VarTZe5 != 1 && Player.GetBaseAV Destruction < 96
			Set VarTZe5 to 1
		endif
		
	elseif VarNOLearningByDoing == -1

				if VarTAk1 != 0 && Player.GetBaseAV Acrobatics >= 90
			Set VarTAk1 to 0
		endif
		if VarTAk5 != 0 && Player.GetBaseAV Acrobatics >= 86
			Set VarTAk5 to 0
		endif

		if VarTAt1 != 0 && Player.GetBaseAV Athletics >= 90
			Set VarTAt1 to 0
		endif
		if VarTAt5 != 0 && Player.GetBaseAV Athletics >= 86
			Set VarTAt5 to 0
		endif

		if VarTAl1 != 0 && Player.GetBaseAV Alchemy >= 90
			Set VarTAl1 to 0
		endif
		if VarTAl5 != 0 && Player.GetBaseAV Alchemy >= 86
			Set VarTAl5 to 0
		endif

		if VarTha2 != 0 && Player.GetBaseAV Armorer >= 89
			Set VarTha2 to 0
		endif
		if VarTha10 != 0 && Player.GetBaseAV Armorer >= 81
			Set VarTha10 to 0
		endif

		if VarTVe1 != 0 && Player.GetBaseAV Alteration >= 90
			Set VarTVe1 to 0
		endif
		if VarTVe5 != 0 && Player.GetBaseAV Alteration >= 86
			Set VarTVe5 to 0
		endif

		if VarTSti1 != 0 && Player.GetBaseAV Blade >= 90
			Set VarTSti1 to 0
		endif
		if VarTSti5 != 0 && Player.GetBaseAV Blade >= 86
			Set VarTSti5 to 0
		endif

		if VarTStu1 != 0 && Player.GetBaseAV Blunt >= 90
			Set VarTStu1 to 0
		endif
		if VarTStu5 != 0 && Player.GetBaseAV Blunt >= 86
			Set VarTStu5 to 0
		endif

		if VarTBl1 != 0 && Player.GetBaseAV Block >= 90
			Set VarTBl1 to 0
		endif
		if VarTBl5 != 0 && Player.GetBaseAV Block >= 86
			Set VarTBl5 to 0
		endif

		if VarTBe1 != 0 && Player.GetBaseAV Conjuration >= 90
			Set VarTBe1 to 0
		endif
		if VarTBe5 != 0 && Player.GetBaseAV Conjuration >= 86
			Set VarTBe5 to 0
		endif

		if VarTZe1 != 0 && Player.GetBaseAV Destruction >= 90
			Set VarTZe1 to 0
		endif
		if VarTZe5 != 0 && Player.GetBaseAV Destruction >= 86
			Set VarTZe5 to 0
		endif

		if VarTIl1 != 0 && Player.GetBaseAV Illusion >= 90
			Set VarTIl1 to 0
		endif
		if VarTIl5 != 0 && Player.GetBaseAV Illusion >= 86
			Set VarTIl5 to 0
		endif

		if VarTSZ1 != 0 && Player.GetBaseAV Marksman >= 90
			Set VarTSZ1 to 0
		endif
		if VarTSZ5 != 0 && Player.GetBaseAV Marksman >= 86
			Set VarTSZ5 to 0
		endif

		if VarTMy1 != 0 && Player.GetBaseAV Mysticism >= 90
			Set VarTMy1 to 0
		endif
		if VarTMy5 != 0 && Player.GetBaseAV Mysticism >= 86
			Set VarTMy5 to 0
		endif

		if VarTWi1 != 0 && Player.GetBaseAV Restoration >= 90
			Set VarTWi1 to 0
		endif
		if VarTWi5 != 0 && Player.GetBaseAV Restoration >= 86
			Set VarTWi5 to 0
		endif

		if VarTSR1 != 0 && Player.GetBaseAV HeavyArmor >= 90
			Set VarTSR1 to 0
		endif
		if VarTSR5 != 0 && Player.GetBaseAV HeavyArmor >= 86
			Set VarTSR5 to 0
		endif

		if VarTLR1 != 0 && Player.GetBaseAV LightArmor >= 90
			Set VarTLR1 to 0
		endif
		if VarTLR5 != 0 && Player.GetBaseAV LightArmor >= 86
			Set VarTLR5 to 0
		endif

		if VarTFa1 != 0 && Player.GetBaseAV HandToHand >= 90
			Set VarTFa1 to 0
		endif
		if VarTFa5 != 0 && Player.GetBaseAV HandToHand >= 86
			Set VarTFa5 to 0
		endif

		if VarTwo2 != 0 && Player.GetBaseAV Speechcraft >= 89
			Set VarTwo2 to 0
		endif
		if VarTwo10 != 0 && Player.GetBaseAV Speechcraft >= 81
			Set VarTwo10 to 0
		endif

		if VarTsi2 != 0 && Player.GetBaseAV Security >= 89
			Set VarTsi2 to 0
		endif
		if VarTsi10 != 0 && Player.GetBaseAV Security >= 81
			Set VarTsi10 to 0
		endif

		if VarTsc2 != 0 && Player.GetBaseAV Sneak >= 89
			Set VarTsc2 to 0
		endif
		if VarTsc10 != 0 && Player.GetBaseAV Sneak >= 81
			Set VarTsc10 to 0
		endif

		if VarTfe2 != 0 && Player.GetBaseAV Mercantile >= 89
			Set VarTfe2 to 0
		endif
		if VarTfe10 != 0 && Player.GetBaseAV Mercantile >= 81
			Set VarTfe10 to 0
		endif


		
		if VarTAk1 != 1 && Player.GetBaseAV Acrobatics < 90
			Set VarTAk1 to 1
		endif
		if VarTAk5 != 1 && Player.GetBaseAV Acrobatics < 86
			Set VarTAk5 to 1
		endif

		if VarTAl1 != 1 && Player.GetBaseAV Alchemy < 90
			Set VarTAl1 to 1
		endif
		if VarTAl5 != 1 && Player.GetBaseAV Alchemy < 86
			Set VarTAl5 to 1
		endif

		if VarTAt1 != 1 && Player.GetBaseAV Athletics < 90
			Set VarTAt1 to 1
		endif
		if VarTAt5 != 1 && Player.GetBaseAV Athletics < 86
			Set VarTAt5 to 1
		endif

		if VarTBe1 != 1 && Player.GetBaseAV Conjuration < 90
			Set VarTBe1 to 1
		endif
		if VarTBe5 != 1 && Player.GetBaseAV Conjuration < 86
			Set VarTBe5 to 1
		endif

		if VarTBl1 != 1 && Player.GetBaseAV Block < 90
			Set VarTBl1 to 1
		endif
		if VarTBl5 != 1 && Player.GetBaseAV Block < 86
			Set VarTBl5 to 1
		endif

		if VarTFa1 != 1 && Player.GetBaseAV HandToHand < 90
			Set VarTFa1 to 1
		endif
		if VarTFa5 != 1 && Player.GetBaseAV HandToHand < 86
			Set VarTFa5 to 1
		endif

		if VarTfe2 != 1 && Player.GetBaseAV Mercantile < 89
			Set VarTfe2 to 1
		endif
		if VarTfe10 != 1 && Player.GetBaseAV Mercantile < 81
			Set VarTfe10 to 1
		endif

		if VarTha2 != 1 && Player.GetBaseAV Armorer < 89
			Set VarTha2 to 1
		endif
		if VarTha10 != 1 && Player.GetBaseAV Armorer < 81
			Set VarTha10 to 1
		endif

		if VarTIl1 != 1 && Player.GetBaseAV Illusion < 90
			Set VarTIl1 to 1
		endif
		if VarTIl5 != 1 && Player.GetBaseAV Illusion < 86
			Set VarTIl5 to 1
		endif

		if VarTLR1 != 1 && Player.GetBaseAV LightArmor < 90
			Set VarTLR1 to 1
		endif
		if VarTLR5 != 1 && Player.GetBaseAV LightArmor < 86
			Set VarTLR5 to 1
		endif

		if VarTMy1 != 1 && Player.GetBaseAV Mysticism < 90
			Set VarTMy1 to 1
		endif
		if VarTMy5 != 1 && Player.GetBaseAV Mysticism < 86
			Set VarTMy5 to 1
		endif

		if VarTsc2 != 1 && Player.GetBaseAV Sneak < 89
			Set VarTsc2 to 1
		endif
		if VarTsc10 != 1 && Player.GetBaseAV Sneak < 81
			Set VarTsc10 to 1
		endif

		if VarTSZ1 != 1 && Player.GetBaseAV Marksman < 90
			Set VarTSZ1 to 1
		endif
		if VarTSZ5 != 1 && Player.GetBaseAV Marksman < 86
			Set VarTSZ5 to 1
		endif

		if VarTSR1 != 1 && Player.GetBaseAV HeavyArmor < 90
			Set VarTSR1 to 1
		endif
		if VarTSR5 != 1 && Player.GetBaseAV HeavyArmor < 86
			Set VarTSR5 to 1
		endif

		if VarTsi2 != 1 && Player.GetBaseAV Security < 89
			Set VarTsi2 to 1
		endif
		if VarTsi10 != 1 && Player.GetBaseAV Security < 81
			Set VarTsi10 to 1
		endif

		if VarTSti1 != 1 && Player.GetBaseAV Blade < 90
			Set VarTSti1 to 1
		endif
		if VarTSti5 != 1 && Player.GetBaseAV Blade < 86
			Set VarTSti5 to 1
		endif

		if VarTStu1 != 1 && Player.GetBaseAV Blunt < 90
			Set VarTStu1 to 1
		endif
		if VarTStu5 != 1 && Player.GetBaseAV Blunt < 86
			Set VarTStu5 to 1
		endif

		if VarTVe1 != 1 && Player.GetBaseAV Alteration < 90
			Set VarTVe1 to 1
		endif
		if VarTVe5 != 1 && Player.GetBaseAV Alteration < 86
			Set VarTVe5 to 1
		endif

		if VarTWi1 != 1 && Player.GetBaseAV Restoration < 90
			Set VarTWi1 to 1
		endif
		if VarTWi5 != 1 && Player.GetBaseAV Restoration < 86
			Set VarTWi5 to 1
		endif

		if VarTwo2 != 1 && Player.GetBaseAV Speechcraft < 89
			Set VarTwo2 to 1
		endif
		if VarTwo10 != 1 && Player.GetBaseAV Speechcraft < 81
			Set VarTwo10 to 1
		endif

		if VarTZe1 != 1 && Player.GetBaseAV Destruction < 90
			Set VarTZe1 to 1
		endif
		if VarTZe5 != 1 && Player.GetBaseAV Destruction < 86
			Set VarTZe5 to 1
		endif
	endif
End

Begin MenuMode 1008
if (OnKeyDown 30)
	if ((GetMenuFloatValue "user8" 1008) == 2)
		ClickMenuButton "#32" 1008
	endif
endif
End

Begin MenuMode 1012
Set MenuButtonClicked to GetControl 15
if (OnKeyDown 30)
	ClickMenuButton "#5" 1012
elseif (OnKeyDown MenuButtonClicked)
	Set KeyWasDown to 1	
endif

if KeyWasDown && IsKeyPressed3 MenuButtonClicked == 0
	Set KeyWasDown to 0
	ClickMenuButton "#6" 1012
endif	
End

Begin MenuMode 1016
Set MenuButtonClicked to GetControl 15
if (OnKeyDown 30)
	ClickMenuButton "#6" 1016
elseif (OnKeyDown MenuButtonClicked)
	Set KeyWasDown to 1	
endif

if KeyWasDown && IsKeyPressed3 MenuButtonClicked == 0
	Set KeyWasDown to 0
	ClickMenuButton "#7" 1016
endif	
End

Begin MenuMode 1025
Set MenuButtonClicked to GetControl 15
if (OnKeyDown 30)
	ClickMenuButton "#6" 1025
elseif (OnKeyDown MenuButtonClicked)
	Set KeyWasDown to 1	
endif

if KeyWasDown && IsKeyPressed3 MenuButtonClicked == 0
	Set KeyWasDown to 0
	ClickMenuButton "#7" 1025
endif	
End

Begin MenuMode 1026
Set MenuButtonClicked to GetControl 15
if (OnKeyDown 30)
	if ((GetMenuFloatValue "user3" 1026) == 2)
		ClickMenuButton "#32" 1026
	endif
elseif (OnKeyDown MenuButtonClicked)
	Set KeyWasDown to 1	
endif

if KeyWasDown && IsKeyPressed3 MenuButtonClicked == 0
	Set KeyWasDown to 0
	ClickMenuButton "#31" 1026
endif		
End

Begin MenuMode 1034
Set MenuButtonClicked to GetControl 15
if (OnKeyDown 30)
	ClickMenuButton "#26" 1034
elseif (OnKeyDown 16)
	ClickMenuButton "#24" 1034	
elseif (OnKeyDown MenuButtonClicked)
	Set KeyWasDown to 1	
endif

if KeyWasDown && IsKeyPressed3 MenuButtonClicked == 0
	Set KeyWasDown to 0
	ClickMenuButton "#9" 1034
endif	
End

Begin MenuMode 1035
Set MenuButtonClicked to GetControl 15
if (OnKeyDown MenuButtonClicked)
	Set KeyWasDown to 1	
endif

if KeyWasDown && IsKeyPressed3 MenuButtonClicked == 0
	Set KeyWasDown to 0
	ClickMenuButton "#2" 1035
endif	
End

Begin MenuMode 1040
Set MenuButtonClicked to GetControl 15
if (OnKeyDown MenuButtonClicked)
	Set KeyWasDown to 1	
endif

if KeyWasDown && IsKeyPressed3 MenuButtonClicked == 0
	Set KeyWasDown to 0
	ClickMenuButton "#15" 1040
endif	
End

Begin MenuMode 1048
Set MenuButtonClicked to GetControl 15
if (OnKeyDown MenuButtonClicked)
	Set KeyWasDown to 1	
endif

if KeyWasDown && IsKeyPressed3 MenuButtonClicked == 0
	Set KeyWasDown to 0
	ClickMenuButton "#15" 1048
endif	
End

Begin MenuMode 1049
Set MenuButtonClicked to GetControl 15
if (OnKeyDown MenuButtonClicked)
	Set KeyWasDown to 1	
endif

if KeyWasDown && IsKeyPressed3 MenuButtonClicked == 0
	Set KeyWasDown to 0
	ClickMenuButton "#3" 1049
endif	
End
Last edited by Tealor Arantheal on 09.04.2014 13:52, edited 1 time in total.
Post Reply
547 posts • Page 7 of 28