Ressourcen-Icon

Übersetzung Oblivion XP V 4.1.5 4.1.5

okay es klappt endlich. mein pc hat aus unerfindlichen gründen die levelup.xml nich mit den anderen dateien mit kopiert.


@Blackwood
eine möglichkeit wäre sich z.b. darn UI zu holen.
hast du singlers fixes aktiviert? oder hattest du sie mal?

ich bin nämlich selbst ziemlich durch die installation gestolpert. hab es dann nach 3 geschlagenen stunden geschafft alles... fast alles zum laufen zu bringen:D

problem war das ich singlers fixes hatte und deswegen die vanilla menü dateien nicht funktionierten. und nachdem ich mir den darn geholt hatte sorgte singler dann auch noch dafür das sich oblivion nicht mehr spielen lies. zum glück ist bei singler eine uninstall.exe dabei. danach lief es wie es sollte. (gut, die schrift musste ich trotz darn omod per hand einstellen damit es passte)
 
Danke für den Tipp, habe jetzt sowohl die Leiste als auch den hässlichen Kasten komplett abgeschaltet. Wenn ich wissen will, wieviel XP ich noch brauche, kann ich ja ins Menü gucken.

Ich freue mich aber schon auf die neue Version, habe auch schon überlegt, dass ich ja den einen oder anderen Punkt durch das Update verloren habe, das ich vorher mit viel Geld in Trainingseinheiten investiert habe bzw. in Büchern gelesen habe. Beim Update ging offenbar auch die "Erinnerung" an die bereits gelesenen Bücher verloren, da bekomme ich jetzt nämlich wieder neue XP für.
 
@henrychinaski: Soweit ich das jetzt beurteilen kann stimmt bei dir einiges nicht und das liegt wahrscheinlich NICHT an DarnUI. Das gelbe Viereck bei der Rasse am Ende der Abwasserkanäle deutet darauf hin, dass einige Meshes bei dir fehlen. Hast du auch alles komplett installiert und auch in der richtigen Reihenfolge? Also zuerst Oblivion (+KotN und/oder SI), dann Patches, dann Oblivion Improved, dann DarnUI und dann OblivionXP? Und sind auch alle benötigten .esps aktiviert?
 
So nachdem ich alles nochmal installiert habe (diesmal auch mit SI) habe ich den Fehler mit dem fehlenden Körper nicht mehr.
Allerdings habe ich nach wie vor Probleme mit der Darstellung von Oblivion XP und wenn ich DarnUI aktiviere bei der Darstellung von fast allen Menüs. Es gibt keine Anzeigen für die Erfahrung weder während dem Spiel noch irgendwo im Menü.
Einmal habe ich ein Level gespielt und ich habe auch immer brav Erfahrung erhalten (ping) bin auch ein Level aufgestiegen konnte aber nur drei Attribute zum Aufstieg auswählen und das wars dann.
Wenn ich DarnUI in den Modmanager lade ist es rot markiert und es kommt zu Konflikten wenn ich es aktiviere. Ich habe auch schon probiert die Data von VanilliaBT zu verwenden aber da lässt sich Oblivion gar nicht mehr starten.
Ich spiele außer mit Oblivion Improved auch noch mit bg2408s Racebalancing Mod.
Im Grunde sollte man doch nur den Dataordner von Oblivion XP und den Dataorder vom jeweiligen HUD integrieren und die .esp aktivieren oder übersehe ich da vielleicht irgendwas offensichtliches???
danke
 
Zuletzt bearbeitet:
Versuch mal die englische OMOD-Variante der Mod runterzuladen und dann diese zu installieren (das bischen Englisch dürfte wohl kein Problem sein).
Nach der installation musst du dann nur die englische Oblivion-XP.esp mir der deutschen ersetzen. Wenn das klappt, dann hast du nur einige Dateien an die falsche Stelle kopiert. Und es müsste auch alles auf deutsch sein, da sämtliche Texte in der .esp vorhanden sind.
 
Hallo Lum!X,

Und es müsste auch alles auf deutsch sein, da sämtliche Texte in der .esp vorhanden sind.

Das stimmt leider nicht in einigen der neuen *.xml Dateien müssen auch noch Texte übersetzt werden.

Daher dauert es immer etwas länger bis die Versionen übersetzt sind.
 
Hallo Fellan,

ja, die entsprechenden *.esp habe ich angepasst.

Nur mit den Questnamen bin ich noch nicht fertig. Diese sind noch in englisch, was aber nicht so sehr stört.

Momentan sitze ich an der Übersetzng von V 4.1.5. ;) Ich hoffe, danach ist erstmal etwas Ruhe bis zum nächsten Update.
 
  • Like
Reaktionen: Fellan
Nein, das stört überhaupt nicht. Durch ein paar englische Mods habe ich sowieso ein gewisses Sprach-Kuddelmuddel, da hab ich aber keine Probleme mit. Hauptsache, es gibt für die erledigten Quests auch XP.

Wenn ich von 4.1.2 auf 4.1.5 update, wird er sich aber die Bücher merken, die ich schon gelesen habe? Oder nicht? Dann würde ich ja das dritte Mal XP dafür bekommen...
 
Ich wollte mal noch gerade auf eine kleine aber fiese Inkompabilität zu Rund ums Pferd erwähnen: RUP fügt ein Buch namens "kleiner Pferderatgeber" ein, welches einem dabei hilft Zauber zu erlernen um (s)ein oder mehrere Pferde zu sich zu rufen. Das Problem ist nun folgendes normalerweise öffnet man das Buch und eine Messagebox in der man Auswählen kann welche Methode man möchte (z.b. ein Pferd markieren und rufen oder eine liste mit Pferden) erscheint, wenn man jetzt mit aktiviertem Oblvion Xp dieses Buch liest bekommt man zwar beim ersten Mal lesen die Meldung aber wenn man eine von den Möglichkeiten auswählt kriegt man keine Zauber. Aber man bekommt XP fürs Buch :lol: leider kommt danach erst das eigentliche Problem, beim nächsten öffnen des Buches erscheint keine Messagebox mehr :(

Einzige Lösung (jedenfalls bisher) -> Spells per addspell hinzufügen
 
Zuletzt bearbeitet:
RUP sollte immer am Ende der Ladereihenfolge geladen werden, sogar nach solchen Sachen wie dem Bashed Patch, der ja eigentlich immer am Ende steht. Ich nutze RUP mit OXP und habe kein Problem. Ladereihenfolge (grob):

FCOM
größere Quest-Mods, diverse Replacer-Mods die nicht zwischen den FCOM-Dateien geladen werden sollen
LAME
Oblivion XP
Start Choices
Bashed Patch
RUP

Bei mir funktioniert RUP problemlos, auch die besagte MessageBox ist aufgetaucht. Die Messagebox habe ich aber noch unter 3.0.1 bekommen, unter 4.1.2 hab ich die Messagebox demzufolge natürlich nicht gesehen. Würde mich aber wundern, wenn sich da was geändert hätte.
 
  • Like
Reaktionen: Codas
Danke, aber selbst wenn ich RUP ganz ans Ende setze erhalte ich nur beim ersten mal öffnen die Messagebox aber keine Zauber. Beim weiteren öffnen taucht die Messagebox nicht mehr auf (was sie eigentlich sollte).
 
Es ist vollbracht, die Version V 4.1.5 steht zum Download bereit.

Ich habe eine Änderung für die Installation vorgenommen, die die Installation hoffentlich erleichtert.

Für jedes HUD habe ich einen Ordner erstellt, der die kompletten Dateien der Mod für das entsprechende HUD enthält.

Zur Installation wählt ihr also einfach euer HUD aus und kopiert das Data Verzeichnis in euer Oblivion-Verzeichnis.

@Bloodtwista,
ich spiele nicht mit RUP und kann dir da also nicht weiterhelfen. Vielleicht schreibst du SirFrederik mal an.
 
Hallo,

vielen Dank für die Übersetzung, Suzie Q. Ich freue mich schon drauf, Oblivion mal ganz anders zu erleben. Da bin ich wirklich schon gespannt.

Ohne mich näher informiert zu haben, eine Frage: Wie aufwendig ist es, auch deutsche Plugins von dem Erfahrungspunkte-System profitieren zu lassen? Was ich gesehen habe, sind ja weitgehend englischsprachige Questplugins und eine Erklärung, wie man Plugins selbst XP-fit macht, konnte ich auf die Schnelle nicht entdecken.
 
Hallo Rung,

hier der Auszug aus dem Thread im Beth-Forum bezüglich XP-Erteilung in Mods:

Oblivion XP constantly monitors these variables for changes and gives XP to the user depending on their values.

To give XP to the player, all the mod maker needs to do is add the following lines to the action that yields XP:


if ( isModLoaded "Oblivion XP.esp" )
runScriptLine "set ObXPMain.interOpGainedXPMessage to sv_Construct %qDid stuff!%q"
runScriptLine "set ObXPMain.interOpGainedXP to 50"
endif


Everything else is handled internally, including accounting for rested XP, increasing total XP, displaying the message, etc.
Note furthermore that Oblivion XP will automatically set the interOpGainedXP variable to 0 after giving XP to the player. Of course, the message can be changed to whatever you want, as can the amount of XP gained.
 
Ah,

vielen Dank, Suzie Q.
Das ist ja sehr simpel. Sobald ich wieder etwas mehr Zeit in meine anderen Plugins stecken kann, werde ich da nachrüsten. Oder es findet sich sogar jemand, der das ehrenamtlich für die deutschen Questplugins übernimmt.
 
Wenn ich das machen würde, müsste ich ja die Plugins selbst verändern. Auf dem Nexus habe ich ein Zusatz-Plugin gefunden, das alle (damals noch nicht unterstützten) OOO-Quests in das System einbindet. Das ist ein gesondertes Plugin, das dann die XP hinzufügt. Wie könnte ich denn beispielsweise für "Thievery in the IC" so ein Plugin erstellen, ohne das Original-Plugin von "Thievery" verändern zu müssen? Und wäre es möglich, wenn bereits erledigte Quests (bei "Thievery" habe ich schon ca. 10 Stück gespielt) nachträglich die im Vorfeld nicht verdienten XP bringen?

Nach meinen eingerosteten Script-Kenntnissen müsste das ja dann ungefähr so aussehen:

Code:
scn ThieveryObXPQuest01

begin GameMode

if ( isModLoaded "thievery.esp" )
   if ( isModLoaded "Oblivion XP.esp" )
      if GetStageDone QuestName == [B]xy[/B]
         runScriptLine "set ObXPMain.interOpGainedXPMessage to sv_Construct %qDid    stuff!%q"
                            runScriptLine "set ObXPMain.interOpGainedXP to 50"
      endif
   endif
endif

end

Dann muss ich nur den Quest-Namen und die jeweilige QuestStage herausfinden, in der die Quest fertig ist. Die "50" setze ich auf einen beliebigen Wert, den ich für angemessen halte. Schätze ich mal. Wird sofort getestet. :D
 
Zuletzt bearbeitet:
Hallo Fellan,

nur kurz in der Mittagspause, daher ohne Zugriff auf die Mod.

Diese Zusatzdateien waren ja für Oblivion XP 3.X.

Vielleicht solltest du dir lieber in der neuesten Oblivion XP.esp einfach mal die Scripts für die Quests ansehen.
 
Wenn...

if ( isModLoaded "Oblivion XP.esp" )
runScriptLine "set ObXPMain.interOpGainedXPMessage to sv_Construct %qDid stuff!%q"
runScriptLine "set ObXPMain.interOpGainedXP to 50"
endif
...das auch bei 4.1.5 zutrifft, dürfte es kein Problem geben.

Ich habe nur immer ein bisschen Vorbehalte gegen "begin GameMode"-Scripts. Der Script wird bei jedem Frame erneut ausgeführt. Aber eine Alternative gibt es wahrscheinlich nicht, schätze ich. Werde jetzt mal eine Zusatz-ESP mit einem Script nach dem Schema für "thievery" erstellen. Bin ja mal gespannt, ob ich nachträglich die XP bekomme, für die abgeschlossenen Quests. Wenn das funktioniert, könnte ich auch gerne Zusatz-ESPs für Rungs Magiergilde, die Verbesserte Magiergilde und so weiter erstellen. Wenn es vom Prinzip her funktioniert, ist es nicht mehr besonders viel Arbeit.

edit:

Code:
scn zzzObXPthievery

short JOG01Blade
short JOG01Lerien
short JOG01T01
short JOG01T02
short JOG01T03
short JOG01T04
short JOG01T05
short JOG01T06
short JOG01T07
short JOG01T08
short JOG01T09
short JOG01T10
short JOG01T11a
short JOG01T11b

begin GameMode

if JOG01Blade == 0
    if ( isModLoaded "thievery.esp" )
       if ( isModLoaded "Oblivion XP.esp" )
          if GetStageDone JOG01Blade 100
            runScriptLine "set ObXPMain.interOpGainedXPMessage to sv_Construct %qDid stuff!%q"
            runScriptLine "set ObXPMain.interOpGainedXP to 50"
            set JOG01Blade to 1
          endif
       endif
    endif
endif

if JOG01Lerien == 0
    if ( isModLoaded "thievery.esp" )
       if ( isModLoaded "Oblivion XP.esp" )
          if GetStageDone JOG01Lerien 100
            runScriptLine "set ObXPMain.interOpGainedXPMessage to sv_Construct %qDid stuff!%q"
            runScriptLine "set ObXPMain.interOpGainedXP to 100"
            set JOG01Lerien to 1
          endif
       endif
    endif
endif

if JOG01T01 == 0
    if ( isModLoaded "thievery.esp" )
       if ( isModLoaded "Oblivion XP.esp" )
          if GetStageDone JOG01T01 100
            runScriptLine "set ObXPMain.interOpGainedXPMessage to sv_Construct %qDid stuff!%q"
            runScriptLine "set ObXPMain.interOpGainedXP to 50"
            set JOG01T01 to 1
          endif
       endif
    endif
endif

if JOG01T02 == 0
    if ( isModLoaded "thievery.esp" )
       if ( isModLoaded "Oblivion XP.esp" )
          if GetStageDone JOG01T02 100
            runScriptLine "set ObXPMain.interOpGainedXPMessage to sv_Construct %qDid stuff!%q"
            runScriptLine "set ObXPMain.interOpGainedXP to 50"
            set JOG01T02 to 1
          endif
       endif
    endif
endif

if JOG01T03 == 0
    if ( isModLoaded "thievery.esp" )
       if ( isModLoaded "Oblivion XP.esp" )
          if GetStageDone JOG01T03 100
            runScriptLine "set ObXPMain.interOpGainedXPMessage to sv_Construct %qDid stuff!%q"
            runScriptLine "set ObXPMain.interOpGainedXP to 50"
            set JOG01T03 to 1
          endif
       endif
    endif
endif

if JOG01T04 == 0
    if ( isModLoaded "thievery.esp" )
       if ( isModLoaded "Oblivion XP.esp" )
          if GetStageDone JOG01T04 100
            runScriptLine "set ObXPMain.interOpGainedXPMessage to sv_Construct %qDid stuff!%q"
            runScriptLine "set ObXPMain.interOpGainedXP to 50"
            set JOG01T04 to 1
          endif
       endif
    endif
endif

if JOG01T05 == 0
    if ( isModLoaded "thievery.esp" )
       if ( isModLoaded "Oblivion XP.esp" )
          if GetStageDone JOG01T05 100
            runScriptLine "set ObXPMain.interOpGainedXPMessage to sv_Construct %qDid stuff!%q"
            runScriptLine "set ObXPMain.interOpGainedXP to 50"
            set JOG01T05 to 1
          endif
       endif
    endif
endif

if JOG01T06 == 0
    if ( isModLoaded "thievery.esp" )
       if ( isModLoaded "Oblivion XP.esp" )
          if GetStageDone JOG01T06 120
            runScriptLine "set ObXPMain.interOpGainedXPMessage to sv_Construct %qDid stuff!%q"
            runScriptLine "set ObXPMain.interOpGainedXP to 50"
            set JOG01T06 to 1
          endif
       endif
    endif
endif

if JOG01T07 == 0
    if ( isModLoaded "thievery.esp" )
       if ( isModLoaded "Oblivion XP.esp" )
          if GetStageDone JOG01T07 100
            runScriptLine "set ObXPMain.interOpGainedXPMessage to sv_Construct %qDid stuff!%q"
            runScriptLine "set ObXPMain.interOpGainedXP to 50"
            set JOG01T07 to 1
          endif
       endif
    endif
endif

if JOG01T08 == 0
    if ( isModLoaded "thievery.esp" )
       if ( isModLoaded "Oblivion XP.esp" )
          if GetStageDone JOG01T08 100
            runScriptLine "set ObXPMain.interOpGainedXPMessage to sv_Construct %qDid stuff!%q"
            runScriptLine "set ObXPMain.interOpGainedXP to 50"
            set JOG01T08 to 1
          endif
       endif
    endif
endif

if JOG01T09 == 0
    if ( isModLoaded "thievery.esp" )
       if ( isModLoaded "Oblivion XP.esp" )
          if GetStageDone JOG01T09 100
            runScriptLine "set ObXPMain.interOpGainedXPMessage to sv_Construct %qDid stuff!%q"
            runScriptLine "set ObXPMain.interOpGainedXP to 50"
            set JOG01T09 to 1
          endif
       endif
    endif
endif

if JOG01T10 == 0
    if ( isModLoaded "thievery.esp" )
       if ( isModLoaded "Oblivion XP.esp" )
          if GetStageDone JOG01T10 120
            runScriptLine "set ObXPMain.interOpGainedXPMessage to sv_Construct %qDid stuff!%q"
            runScriptLine "set ObXPMain.interOpGainedXP to 50"
            set JOG01T10 to 1
          endif
       endif
    endif
endif

if JOG01T11a == 0
    if ( isModLoaded "thievery.esp" )
       if ( isModLoaded "Oblivion XP.esp" )
          if GetStageDone JOG01T11 70
            runScriptLine "set ObXPMain.interOpGainedXPMessage to sv_Construct %qDid stuff!%q"
            runScriptLine "set ObXPMain.interOpGainedXP to 50"
            set JOG01T11a to 1
          endif
       endif
    endif
endif

if JOG01T11b == 0
    if ( isModLoaded "thievery.esp" )
       if ( isModLoaded "Oblivion XP.esp" )
          if GetStageDone JOG01T11 100
            runScriptLine "set ObXPMain.interOpGainedXPMessage to sv_Construct %qDid stuff!%q"
            runScriptLine "set ObXPMain.interOpGainedXP to 100"
            set JOG01T11b to 1
          endif
       endif
    endif
endif

end

So sähe dann der Script aus, mal schauen ob's funktioniert.

Tut's nicht. Auch, wenn ich "GetStageDone" in "GetStage == " umwandle nicht. Werd mir mal die in ObXP integrierten Scripts anschauen. Hätt ich auch gleich machen können. :ugly:

Update 2:

Code:
scn zzzObXPthieveryScpt

;this script controls XP gained for completing various user-made mod quests
;thanks to SirFrederik for this script! all the credit for this goes to him!

;array index variables
int i

;XP variables
float gainedXP

;temp variables
short tempShort
short tempShort2
int tempInt
long tempLong
float tempFloat
float tempFloat2
float tempFloat3
ref tempRef
string_var tempString

;quest delay time
float fQuestDelayTime

;array containing all quest variables
array_var arrayQuests

;array containing all quest names
array_var arrayQuestNames

;array containing all quest XP values
array_var arrayQuestXP

;quest stage variables


;thievery in the imperial city
short JOG01BladeDone
short JOG01LerienDone
short JOG01T01Done
short JOG01T02Done
short JOG01T03Done
short JOG01T04Done
short JOG01T05Done
short JOG01T06Done
short JOG01T07Done
short JOG01T08Done
short JOG01T09Done
short JOG01T10Done
short JOG01T11Done


begin gamemode

;update script every <scriptQuestDelay> seconds
if ( fQuestDelayTime != ObXPSettings.scriptQuestDelay )
    set fQuestDelayTime to ObXPSettings.scriptQuestDelay
endif

;check if mod is initialized
if ( ObXPMain.initialized == 0 )
    return
endif

;initialize/clean arrays
if ( getGameLoaded )
    ;construct / clean arrays
    if ( arrayQuests == 0 )
        let arrayQuests := ar_Construct Array
    else
        ar_Erase arrayQuests 0:ar_Size arrayQuests
    endif
    if ( arrayQuestNames == 0 )
        let arrayQuestNames := ar_Construct Array
    else
        ar_Erase arrayQuestNames 0:ar_Size arrayQuestNames 
    endif
    if ( arrayQuestXP == 0 )
        let arrayQuestXP := ar_Construct Array
    else
        ar_Erase arrayQuestXP 0:ar_Size arrayQuestXP 
    endif

    ;set initial array values to 1 to allow checking whether a quest was completed before using the mod
    let i := 0
    while ( i <= 66 )
        let arrayQuests[i] := 1
        let i := i + 1
    loop

    ;Oscuro's Oblivion Overhaul
    let arrayQuestNames[1000] := "Die Schattenklinge" 
    let arrayQuestXP[1000] := 50
    let arrayQuestNames[1001] := "Das Rätsel um Leriens Schicksal" 
    let arrayQuestXP[1001] := 100
    let arrayQuestNames[1002] := "Iniel Sintavs Amulett" 
    let arrayQuestXP[1002] := 50
    let arrayQuestNames[1003] := "Ringlose Dralora" 
    let arrayQuestXP[1003] := 50
    let arrayQuestNames[1004] := "Edelstein in Gefahr" 
    let arrayQuestXP[1004] := 50
    let arrayQuestNames[1005] := "Alter Datoh-Brandy" 
    let arrayQuestXP[1005] := 50
    let arrayQuestNames[1006] := "Der verlassene Laden" 
    let arrayQuestXP[1006] := 50
    let arrayQuestNames[1007] := "Gelegenheitsarbeit" 
    let arrayQuestXP[1007] := 50
    let arrayQuestNames[1008] := "Silber-Sammler" 
    let arrayQuestXP[1008] := 50
    let arrayQuestNames[1009] := "Von der Dwemer-Handwerkskunst" 
    let arrayQuestXP[1009] := 50
    let arrayQuestNames[1010] := "Ein kostbares Rüstungsteil" 
    let arrayQuestXP[1010] := 50
    let arrayQuestNames[1011] := "Ein unzufriedener Kunde" 
    let arrayQuestXP[1011] := 80
    let arrayQuestNames[1012] := "Ein Magier und sein Spielzeug" 
    let arrayQuestXP[1012] := 120
endif

;update quest stage variables

;Oscuro's Oblivion Overhaul
if ( isModLoaded "Oscuro's_Oblivion_Overhaul.esp" )
    runScriptLine "set zzzObXPthievery.JOG01BladeDone to getStageDone JOG01Blade 100"
    runScriptLine "set zzzObXPthievery.JOG01LerienDone to getStageDone JOG01Lerien 100"
    runScriptLine "set zzzObXPthievery.JOG01T01Done to getStageDone JOG01T01 100"
    runScriptLine "set zzzObXPthievery.JOG01T02Done to getStageDone JOG01T02 100"
    runScriptLine "set zzzObXPthievery.JOG01T03Done to getStageDone JOG01T03 100"
    runScriptLine "set zzzObXPthievery.JOG01T04Done to getStageDone JOG01T04 100"
    runScriptLine "set zzzObXPthievery.JOG01T05Done to getStageDone JOG01T05 100"
    runScriptLine "set zzzObXPthievery.JOG01T06Done to getStageDone JOG01T06 120"
    runScriptLine "set zzzObXPthievery.JOG01T07Done to getStageDone JOG01T07 100"
    runScriptLine "set zzzObXPthievery.JOG01T08Done to getStageDone JOG01T08 100"
    runScriptLine "set zzzObXPthievery.JOG01T09Done to getStageDone JOG01T09 100"
    runScriptLine "set zzzObXPthievery.JOG01T10Done to getStageDone JOG01T10 120"
    runScriptLine "set zzzObXPthievery.JOG01T11Done to getStageDone JOG01T11 70"


endif


;set array values - done each time the script runs

;thievery in the imperial city
let arrayQuests[1000] := ( arrayQuests[1000] ) * JOG01BladeDone
let arrayQuests[1001] := ( arrayQuests[1001] ) * JOG01LerienDone 
let arrayQuests[1002] := ( arrayQuests[1002] ) * JOG01T01Done 
let arrayQuests[1003] := ( arrayQuests[1003] ) * JOG01T02Done 
let arrayQuests[1004] := ( arrayQuests[1004] ) * JOG01T03Done 
let arrayQuests[1005] := ( arrayQuests[1005] ) * JOG01T04Done 
let arrayQuests[1006] := ( arrayQuests[1006] ) * JOG01T05Done
let arrayQuests[1007] := ( arrayQuests[1007] ) * JOG01T06Done 
let arrayQuests[1008] := ( arrayQuests[1008] ) * JOG01T07Done 
let arrayQuests[1009] := ( arrayQuests[1009] ) * JOG01T08Done 
let arrayQuests[1010] := ( arrayQuests[1010] ) * JOG01T09Done 
let arrayQuests[1011] := ( arrayQuests[1011] ) * JOG01T10Done 
let arrayQuests[1012] := ( arrayQuests[1012] ) * JOG01T11Done 


let i := 0
while ( i < ar_Size arrayQuests )
    ;if an array entry is 0, the player hasn't completed the quest yet - set these to 2 for the next time the script is run
    ;next, if the entry is 1, it means player already completed the corresponding quest before using the mod
    ;then, if any entry is 2 (which is only possible the next time the script is run), the player completed the quest and XP should be given
    ;set completed quest entries to 3 so XP will only be awarded once
    let tempShort := arrayQuests[i]
    if ( tempShort == 0 )
        let arrayQuests[i] := 2
    elseif ( tempShort == 1 )
        let arrayQuests[i] := 3
    elseif ( tempShort == 2 )
        ;set amount of XP gained
        let gainedXP := ( 1 + ObXPMain.playerLevel * ObXPSettings.multXPQuestLevel ) * ObXPSettings.globalQuestXPMult * arrayQuestXP[i]
        let tempString := arrayQuestNames[i]
        ;account for rested XP
        if ( ObXPMain.restedXP - gainedXP >= 0 )
            let tempFloat := gainedXP
            let ObXPMain.restedXP := ObXPMain.restedXP - gainedXP
            let gainedXP := gainedXP * 2
        else
            let tempFloat := ObXPMain.restedXP
            let gainedXP := gainedXP + ObXPMain.restedXP
            let ObXPMain.restedXP := 0
        endif
        let ObXPMain.currentXP := ObXPMain.currentXP + gainedXP 
        let ObXPMain.totalXP := ObXPMain.totalXP + gainedXP
        let tempFloat2 := ObXPMain.currentXP
        let tempFloat3 := ObXPMain.neededXP

        ;print XP gain message to log
        let tempString := sv_Construct "%.2f XP gewonnen. Auftrag %q%z%q abgeschlossen." gainedXP, tempString
        if ( ObXPUIControl.lineNumber > ObXPSettings.messageBufferSize )
            ;erase first message
            ar_Erase ObXPUIControl.arrayMessageBuffer 0
            let ObXPUIControl.arrayMessageBuffer[ObXPSettings.messageBufferSize - 1] := sv_Construct "%z" tempString
        else
            let ObXPUIControl.arrayMessageBuffer[ObXPUIControl.lineNumber] := sv_Construct "%z" tempString
        endif
        let ObXPUIControl.lineNumber := ObXPUIControl.lineNumber + 1

        let arrayQuests[i] := 3
    endif
    let i := i + 1
loop

sv_Destruct tempString

end

So sieht der angepasste Quest-Script (hat einen Dummy-Quest, um aktiviert zu werden) von ObXP aus. Diese ganze array-Geschichte verstehe ich nun so gar nicht, habe mal versucht, das, was ich wiedererkennen konnte einfach durch die entsprechenden Quest-IDs und -Stages aus "thievery" auszutauschen. Funktionieren tut's leider immer noch nicht. Wenn ich mir diese Scripts aus ObXP so anschaue, ist mir das auch alles ein Bisschen zu hoch. Die Scripts, die ich mal in meine Mod eingebaut haben gingen über größere Activator-Verkettungen und ein paar Quest-Scripts nicht hinaus. Funktioniert haben die am Ende auch nur selten. :ugly:
 
Zuletzt bearbeitet: