J'ai réussi c'est assez simple en fait. [Plus dur c'est d'expliquer, donc je te pique ton script et je rajoute en vert ce que j'ajoute au script, le violet correspond au commentaire pour mieux cerner la compréhension].
Donc j'ai utilisé un mod que wolfen va traduire dans le futur, l'un des gagnant du concours d'ORE, il se nomme Clamshell Cottage.
ID de la quête = NKIVHouse
Setstage 10, 20 et 30
Nom de la quête = Clamshell Cottage
Nom de l'esp Clamshell_Cottage.esp
► Afficher le texte
scn ObXPQuestsMods1Script
;this script controls XP gained for completing various user-made mod quests
;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
;The Lost Spires 14
short ARJoinArcheologyGuildDone
short ARProperAcquaintenceDone
short ARNewfoundSpireDone
short ARTumyrsAgentDone
short ARRythorsTaskDone
short ARMysteriousGlyphDone
short ARAnotherSpireDone
short ARVengeanceDone
short ARPrimevalHollowDone
short ARTheElvenHeroDone
short ARFindingTheHornDone
short ARKillSorcererDone
short ARTheRevelationDone
;Oscuro's Oblivion Overhaul 1.34
short OOOLightOfDawnQuestDone
short OOOHeavenFuryClaymoreQuestDone
short OOOSlaversAndSmugglersDone
short OOOSlaversAndSmugglersDoneAlt
short OOOBrumaBanditTroubleDone
short OOOSylvanRangerQuestDone
short OOOSylvanRangerQuestDoneAlt
;The Dungeons of Ivellon 1.8
short 01IvIvanQuestDone
short 01IvMQ01Done
short 01IvMQ02Done
;Heart of the Dead 5.3
short HOD01Done
short HOD01DoneAlt
short HOD02Done
short HOD03Done
short HOD04Done
short HOD04DoneAlt1
short HOD04DoneAlt2
short HOD04DoneAlt3
;Verona House - Bloodlines SI 1.2
short VHQ000Done
short VHQ001Done
short VHQ002Done
short VHQ003Done
short VHQ004Done
short VHQ005Done
short VHQ006Done
short VHQ006DoneAlt
short VHQ007Done
short VHQ008Done
short VHQ009Done
short VHQ010Done
short VHQ011Done
short VHM000Done
short VHM001Done
short VHM002Done
;Malevolent 1.0.2
short MALBuildUpDone
short MALBuildUpDoneAlt
short MALDone
;Tears of the Fiend 1.2.2
short ZZDemonInsideDone
short ZZRedemptionDone
short ZZTheButcherDone
short ZZTheLegacyDone
short ZZTotFDone
short ZZTotFDoneAlt1
short ZZTotFDoneAlt2
short ZZTotF2Done
short ZZTotF2DoneAlt1
short ZZTotF2DoneAlt2
;Ruined Tail's Tale 3.0.1
short ZZRTT1Done
;Blood & Mud
short BravilArdanTempelDone
short BravilBloodscriptsDone
short BravilTrialDone
short BravilYanaTalkDone
;The Ayleid Steps 2.5.3
short SSotA01Done
short SSotA02Done
;Clamshell Cottage 1.0
short NKIVHouseDone
;Le point virgule avant le commentaire signifie que c'est un commentaire donc information j'en utilise aussi dans le cas d'un copier-coller du script. La seconde ligne est une valeur que l'on déclare [Id de la quête + Done
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 := 1
let i := i + 1
loop
;The Lost Spires
let arrayQuestNames[0] := "Join Archeology Guild"
let arrayQuestXP[0] := 50
let arrayQuestNames[1] := "A Proper Acquaintence"
let arrayQuestXP[1] := 100
let arrayQuestNames[2] := "The Newfound Ruin"
let arrayQuestXP[2] := 300
let arrayQuestNames[3] := "Tumyr's Dissolving Agent"
let arrayQuestXP[3] := 150
let arrayQuestNames[4] := "Rythor's Task"
let arrayQuestXP[4] := 350
let arrayQuestNames[5] := "A Mysterious Glyph"
let arrayQuestXP[5] := 250
let arrayQuestNames[6] := "Another Spire?"
let arrayQuestXP[6] := 450
let arrayQuestNames[7] := "A Vengeance Unfulfilled"
let arrayQuestXP[7] := 500
let arrayQuestNames[8] := "The Primeval Hollow"
let arrayQuestXP[8] := 500
let arrayQuestNames[9] := "The Elven Hero"
let arrayQuestXP[9] := 750
let arrayQuestNames[10] := "Finding The Horn"
let arrayQuestXP[10] := 750
let arrayQuestNames[11] := "The Sorcerer's Captive"
let arrayQuestXP[11] := 850
let arrayQuestNames[12] := "The Revelation"
let arrayQuestXP[12] := 1250
;Oscuro's Oblivion Overhaul
let arrayQuestNames[13] := "Light through the Darkness"
let arrayQuestXP[13] := 1050
let arrayQuestNames[14] := "A Path of Iron"
let arrayQuestXP[14] := 1100
let arrayQuestNames[15] := "Slavers and Smugglers"
let arrayQuestXP[15] := 650
let arrayQuestNames[16] := "Slavers and Smugglers"
let arrayQuestXP[16] := 650
let arrayQuestNames[17] := "The Skyrim Bandit Clans"
let arrayQuestXP[17] := 750
let arrayQuestNames[18] := "Shadows in a Struggle for Power"
let arrayQuestXP[18] := 750
let arrayQuestNames[19] := "Shadows in a Struggle for Power"
let arrayQuestXP[19] := 750
;The Dungeons of Ivellon
let arrayQuestNames[20] := "Collecting Bones for Ivan"
let arrayQuestXP[20] := 500
let arrayQuestNames[21] := "The Dungeons of Ivellon"
let arrayQuestXP[21] := 750
let arrayQuestNames[22] := "The Crown of Catharsis"
let arrayQuestXP[22] := 1250
;Heart of the Dead
let arrayQuestNames[23] := "The Heart of the Dead"
let arrayQuestXP[23] := 500
let arrayQuestNames[24] := "The Heart of the Dead"
let arrayQuestXP[24] := 500
let arrayQuestNames[25] := "HOD: The Eyes of the King"
let arrayQuestXP[25] := 650
let arrayQuestNames[26] := "HOD: Of Love and Nightmares"
let arrayQuestXP[26] := 850
let arrayQuestNames[27] := "HOD: Back to the Beginning"
let arrayQuestXP[27] := 1250
let arrayQuestNames[28] := "HOD: Back to the Beginning"
let arrayQuestXP[28] := 1250
let arrayQuestNames[29] := "HOD: Back to the Beginning"
let arrayQuestXP[29] := 1250
let arrayQuestNames[30] := "HOD: Back to the Beginning"
let arrayQuestXP[30] := 1250
;Verona House - Bloodlines
let arrayQuestNames[31] := "Meet The Merchant"
let arrayQuestXP[31] := 250
let arrayQuestNames[32] := "Auger's Niece"
let arrayQuestXP[32] := 350
let arrayQuestNames[33] := "Burden of Debt"
let arrayQuestXP[33] := 450
let arrayQuestNames[34] := "The Retreat"
let arrayQuestXP[34] := 500
let arrayQuestNames[35] := "The Blood Altar"
let arrayQuestXP[35] := 650
let arrayQuestNames[36] := "High Infidelity"
let arrayQuestXP[36] := 750
let arrayQuestNames[37] := "Anin Sullia"
let arrayQuestXP[37] := 850
let arrayQuestNames[38] := "Anin Sullia"
let arrayQuestXP[38] := 850
let arrayQuestNames[39] := "The Gilded Cage"
let arrayQuestXP[39] := 900
let arrayQuestNames[40] := "The Last General"
let arrayQuestXP[40] := 1000
let arrayQuestNames[41] := "Return to Oblivion"
let arrayQuestXP[41] := 1100
let arrayQuestNames[42] := "The Lair of the Vampire Lord"
let arrayQuestXP[42] := 1200
let arrayQuestNames[43] := "The Lady of Verona"
let arrayQuestXP[43] := 1350
let arrayQuestNames[44] := "Hunting the Hunter's"
let arrayQuestXP[44] := 350
let arrayQuestNames[45] := "Fante and the Gang"
let arrayQuestXP[45] := 350
let arrayQuestNames[46] := "Retaking the Veil"
let arrayQuestXP[46] := 350
;Malevolent
let arrayQuestNames[47] := "Military Build-Up Near Skingrad"
let arrayQuestXP[47] := 1250
let arrayQuestNames[48] := "Military Build-Up Near Skingrad"
let arrayQuestXP[48] := 1250
let arrayQuestNames[49] := "Malevolent"
let arrayQuestXP[49] := 1750
;Tears of the Fiend
let arrayQuestNames[50] := "Embracing The Demon Inside"
let arrayQuestXP[50] := 500
let arrayQuestNames[51] := "Redemption"
let arrayQuestXP[51] := 750
let arrayQuestNames[52] := "The Butcher of Armindale"
let arrayQuestXP[52] := 800
let arrayQuestNames[53] := "The Legacy"
let arrayQuestXP[53] := 900
let arrayQuestNames[54] := "Tears Of The Fiend"
let arrayQuestXP[54] := 1500
let arrayQuestNames[55] := "Tears Of The Fiend"
let arrayQuestXP[55] := 1500
let arrayQuestNames[56] := "Tears Of The Fiend"
let arrayQuestXP[56] := 1500
let arrayQuestNames[57] := "The Hunt for Cleon"
let arrayQuestXP[57] := 1250
let arrayQuestNames[58] := "The Hunt for Cleon"
let arrayQuestXP[58] := 1250
let arrayQuestNames[59] := "The Hunt for Cleon"
let arrayQuestXP[59] := 1250
;Ruined Tail's Tale
let arrayQuestNames[60] := "Ruined Tail's Tale"
let arrayQuestXP[60] := 2000
;Blood & Mud
let arrayQuestNames[61] := "The Blade of the Godess"
let arrayQuestXP[61] := 750
let arrayQuestNames[62] := "The Bloodscript"
let arrayQuestXP[62] := 750
let arrayQuestNames[63] := "The Legacy of Ardan"
let arrayQuestXP[63] := 1250
let arrayQuestNames[64] := "Bravilian Maid"
let arrayQuestXP[64] := 250
;The Ayleid Steps
let arrayQuestNames[65] := "The Ayleid Steps"
let arrayQuestXP[65] := 500
let arrayQuestNames[66] := "Retracing The Steps"
let arrayQuestXP[66] := 750
endif
;Clamshell Cottage
let arrayQuestNames[67] := "Clamshell Cottage"
let arrayQuestXP[67] := 250
endif
;Le numéro entre crochet correspond au nombre de quêtes rajoutés par le script donc 67 pour celle là, "Clamshell Cottage" Correspond à ce qui doit s'afficher dans le message pour dire que la quête machin à rapporté tant. La troisième ligne pour le nombre de XP
;update quest stage variables
;The Lost Spires
if ( isModLoaded "The Lost Spires.esp" )
runScriptLine "set ObXPQuestsMods1.ARJoinArcheologyGuildDone to getStageDone ARJoinArcheologyGuild 40"
runScriptLine "set ObXPQuestsMods1.ARProperAcquaintenceDone to getStageDone ARProperAcquaintence 70"
runScriptLine "set ObXPQuestsMods1.ARNewfoundSpireDone to getStageDone ARNewfoundSpire 40"
runScriptLine "set ObXPQuestsMods1.ARTumyrsAgentDone to getStageDone ARTumyrsAgent 40"
runScriptLine "set ObXPQuestsMods1.ARRythorsTaskDone to getStageDone ARRythorsTask 70"
runScriptLine "set ObXPQuestsMods1.ARMysteriousGlyphDoneto getStageDone ARMysteriousGlyph to 70"
runScriptLine "set ObXPQuestsMods1.ARAnotherSpireDone to getStageDone ARAnotherSpire 60"
runScriptLine "set ObXPQuestsMods1.ARVengeanceDone to getStageDone ARVengeance 100"
runScriptLine "set ObXPQuestsMods1.ARPrimevalHollowDone to getStageDone ARPrimevalHollow 40"
runScriptLine "set ObXPQuestsMods1.ARTheElvenHeroDone to getStageDone ARTheElvenHero 100"
runScriptLine "set ObXPQuestsMods1.ARFindingTheHornDone to getStageDone ARFindingTheHorn 50"
runScriptLine "set ObXPQuestsMods1.ARKillSorcererDone to getStageDone ARKillSorcerer 30"
runScriptLine "set ObXPQuestsMods1.ARTheRevelationDone to getStageDone ARTheRevelation 120"
endif
;Oscuro's Oblivion Overhaul
if ( isModLoaded "Oscuro's_Oblivion_Overhaul.esp" )
runScriptLine "set ObXPQuestsMods1.OOOLightOfDawnQuestDone to getStageDone OOOLightOfDawnQuest 80"
runScriptLine "set ObXPQuestsMods1.OOOHeavenFuryClaymoreQuestDone to getStageDone OOOHeavenFuryClaymoreQuest 100"
runScriptLine "set ObXPQuestsMods1.OOOSlaversAndSmugglersDone to getStageDone OOOSlaversAndSmugglers 241"
runScriptLine "set ObXPQuestsMods1.OOOSlaversAndSmugglersDoneAlt to getStageDone OOOSlaversAndSmugglers 242"
runScriptLine "set ObXPQuestsMods1.OOOBrumaBanditTroubleDone to getStageDone OOOBrumaBanditTrouble 70"
runScriptLine "set ObXPQuestsMods1.OOOSylvanRangerQuestDone to getStageDone OOOSylvanRangerQuest 170"
runScriptLine "set ObXPQuestsMods1.OOOSylvanRangerQuestDoneAlt to getStageDone OOOSylvanRangerQuest 200"
endif
;The Dungeons of Ivellon
if ( isModLoaded "Ivellon.esp" )
runScriptLine "set ObXPQuestsMods1.01IvIvanQuestDone to getStageDone 01IvIvanQuest 40"
runScriptLine "set ObXPQuestsMods1.01IvMQ01Done to getStageDone 01IvMQ01 60"
runScriptLine "set ObXPQuestsMods1.01IvMQ02Done to getStageDone 01IvMQ02 20"
endif
;Heart of the Dead
if ( isModLoaded "HeartOftheDead.esp" )
runScriptLine "set ObXPQuestsMods1.HOD01Done to getStageDone 0HOD01 90"
runScriptLine "set ObXPQuestsMods1.HOD01DoneAlt to getStageDone 0HOD01 100"
runScriptLine "set ObXPQuestsMods1.HOD02Done to getStageDone HOD02 100"
runScriptLine "set ObXPQuestsMods1.HOD03Done to getStageDone HOD03 255"
runScriptLine "set ObXPQuestsMods1.HOD04Done to getStageDone HOD04 255"
runScriptLine "set ObXPQuestsMods1.HOD04DoneAlt1 to getStageDone HOD04 230"
runScriptLine "set ObXPQuestsMods1.HOD04DoneAlt2 to getStageDone HOD04 240"
runScriptLine "set ObXPQuestsMods1.HOD04DoneAlt3 to getStageDone HOD04 250"
endif
;Verona House - Bloodlines
if ( isModLoaded "VHBloodlines 1.2.esp" )
runScriptLine "set ObXPQuestsMods1.VHQ000Done to getStageDone VHQ000 30"
runScriptLine "set ObXPQuestsMods1.VHQ001Done to getStageDone VHQ001 190"
runScriptLine "set ObXPQuestsMods1.VHQ002Done to getStageDone VHQ002 170"
runScriptLine "set ObXPQuestsMods1.VHQ003Done to getStageDone VHQ003 100"
runScriptLine "set ObXPQuestsMods1.VHQ004Done to getStageDone VHQ004 70"
runScriptLine "set ObXPQuestsMods1.VHQ005Done to getStageDone VHQ005 120"
runScriptLine "set ObXPQuestsMods1.VHQ006Done to getStageDone VHQ006 140"
runScriptLine "set ObXPQuestsMods1.VHQ006DoneAlt to getStageDone VHQ006 200"
runScriptLine "set ObXPQuestsMods1.VHQ007Done to getStageDone VHQ007 120"
runScriptLine "set ObXPQuestsMods1.VHQ008Done to getStageDone VHQ008 90"
runScriptLine "set ObXPQuestsMods1.VHQ009Done to getStageDone VHQ009 50"
runScriptLine "set ObXPQuestsMods1.VHQ010Done to getStageDone VHQ010 130"
runScriptLine "set ObXPQuestsMods1.VHQ011Done to getStageDone VHQ011 160"
runScriptLine "set ObXPQuestsMods1.VHM000Done to getStageDone VHM000 30"
runScriptLine "set ObXPQuestsMods1.VHM001Done to getStageDone VHM001 50"
runScriptLine "set ObXPQuestsMods1.VHM002Done to getStageDone VHM002 230"
endif
;Malevolent
if ( isModLoaded "Malevolent.esp" )
runScriptLine "set ObXPQuestsMods1.MALBuildUpDone to getStageDone ZZMALEVOLENTBuildUp 35"
runScriptLine "set ObXPQuestsMods1.MALBuildUpDoneAlt to getStageDone ZZMALEVOLENTBuildUp 40"
runScriptLine "set ObXPQuestsMods1.MALDone to getStageDone ZZMALEVOLENT3 175"
endif
;Tears of the Fiend
if ( isModLoaded "TOTF.esp" )
runScriptLine "set ObXPQuestsMods1.ZZDemonInsideDone to getStageDone ZZDemonInside 200"
runScriptLine "set ObXPQuestsMods1.ZZRedemptionDone to getStageDone ZZRedemption 50"
runScriptLine "set ObXPQuestsMods1.ZZTheButcherDone to getStageDone ZZTheButcher 60"
runScriptLine "set ObXPQuestsMods1.ZZTheLegacyDone to getStageDone ZZTheLegacy 120"
runScriptLine "set ObXPQuestsMods1.ZZTotFDone to getStageDone ZZTotF 30"
runScriptLine "set ObXPQuestsMods1.ZZTotFDoneAlt1 to getStageDone ZZTotF 35"
runScriptLine "set ObXPQuestsMods1.ZZTotFDoneAlt2 to getStageDone ZZTotF 40"
runScriptLine "set ObXPQuestsMods1.ZZTotF2Done to getStageDone ZZTotF2 40"
runScriptLine "set ObXPQuestsMods1.ZZTotF2DoneAlt1 to getStageDone ZZTotF2 45"
runScriptLine "set ObXPQuestsMods1.ZZTotF2DoneAlt2 to getStageDone ZZTotF2 100"
endif
;Ruined Tail's Tale
if ( isModLoaded "RTT.esp" )
runScriptLine "set ObXPQuestsMods1.ZZRTT1Done to getStageDone ZZRTT1 155"
endif
;Blood & Mud
if ( isModLoaded "Blood&Mud.esp" )
runScriptLine "set ObXPQuestsMods1.BravilArdanTempelDone to getStageDone BravilArdanTempel 110"
runScriptLine "set ObXPQuestsMods1.BravilBloodscriptsDone to getStageDone BravilBloodscripts 120"
runScriptLine "set ObXPQuestsMods1.BravilTrialDone to getStageDone BravilTrial 100"
runScriptLine "set ObXPQuestsMods1.BravilYanaTalkDone to getStageDone BravilYanaTalk 30"
endif
;The Ayleid Steps
if ( isModLoaded "The Ayleid Steps.esp" )
runScriptLine "set ObXPQuestsMods1.SSotA01Done to getStageDone SSotA01 80"
runScriptLine "set ObXPQuestsMods1.SSotA02Done to getStageDone SSotA02 160"
endif
;Clamshell Cottage
if ( isModLoaded "Clamshell_Cottage.esp" )
runScriptLine "set ObXPQuestsMods1.NKIVHouseDone to getStageDone NHIVHouse 30"
endif
;
Seconde ligne: ça vérifie si l'esp est chargé à partir du nom (embêtant si on les changent). La troisième ligne correspond à le fait que l'XP soit donné si la quête à atteins le setstage correspondant (30 en l'occurence, avec RTT c'est 155 par exemple)
;set array values - done each time the script runs
;The Lost Spires
let arrayQuests[0] := ( arrayQuests[0] ) * ARJoinArcheologyGuildDone
let arrayQuests[1] := ( arrayQuests[1] ) * ARProperAcquaintenceDone
let arrayQuests[2] := ( arrayQuests[2] ) * ARNewfoundSpireDone
let arrayQuests[3] := ( arrayQuests[3] ) * ARTumyrsAgentDone
let arrayQuests[4] := ( arrayQuests[4] ) * ARRythorsTaskDone
let arrayQuests[5] := ( arrayQuests[5] ) * ARMysteriousGlyphDone
let arrayQuests[6] := ( arrayQuests[6] ) * ARAnotherSpireDone
let arrayQuests[7] := ( arrayQuests[7] ) * ARVengeanceDone
let arrayQuests[8] := ( arrayQuests[8] ) * ARPrimevalHollowDone
let arrayQuests[9] := ( arrayQuests[9] ) * ARTheElvenHeroDone
let arrayQuests[10] := ( arrayQuests[10] ) * ARFindingTheHornDone
let arrayQuests[11] := ( arrayQuests[11] ) * ARKillSorcererDone
let arrayQuests[12] := ( arrayQuests[12] ) * ARTheRevelationDone
;Oscuro's Oblivion Overhaul
let arrayQuests[13] := ( arrayQuests[13] ) * OOOLightOfDawnQuestDone
let arrayQuests[14] := ( arrayQuests[14] ) * OOOHeavenFuryClaymoreQuestDone
let arrayQuests[15] := ( arrayQuests[15] ) * OOOSlaversAndSmugglersDone
let arrayQuests[16] := ( arrayQuests[16] ) * OOOSlaversAndSmugglersDoneAlt
let arrayQuests[17] := ( arrayQuests[17] ) * OOOBrumaBanditTroubleDone
let arrayQuests[18] := ( arrayQuests[18] ) * OOOSylvanRangerQuestDone
let arrayQuests[19] := ( arrayQuests[19] ) * OOOSylvanRangerQuestDoneAlt
;The Dungeons of Ivellon
let arrayQuests[20] := ( arrayQuests[20] ) * 01IvIvanQuestDone
let arrayQuests[21] := ( arrayQuests[21] ) * 01IvMQ01Done
let arrayQuests[22] := ( arrayQuests[22] ) * 01IvMQ02Done
;Heart of the Dead
let arrayQuests[23] := ( arrayQuests[23] ) * HOD01Done
let arrayQuests[24] := ( arrayQuests[24] ) * HOD01DoneAlt
let arrayQuests[25] := ( arrayQuests[25] ) * HOD02Done
let arrayQuests[26] := ( arrayQuests[26] ) * HOD03Done
let arrayQuests[27] := ( arrayQuests[27] ) * HOD04Done
let arrayQuests[28] := ( arrayQuests[28] ) * HOD04DoneAlt1
let arrayQuests[29] := ( arrayQuests[29] ) * HOD04DoneAlt3
let arrayQuests[30] := ( arrayQuests[30] ) * HOD04DoneAlt2
;Verona House - Bloodlines
let arrayQuests[31] := ( arrayQuests[31] ) * VHQ000Done
let arrayQuests[32] := ( arrayQuests[32] ) * VHQ001Done
let arrayQuests[33] := ( arrayQuests[33] ) * VHQ002Done
let arrayQuests[34] := ( arrayQuests[34] ) * VHQ003Done
let arrayQuests[35] := ( arrayQuests[35] ) * VHQ004Done
let arrayQuests[36] := ( arrayQuests[36] ) * VHQ005Done
let arrayQuests[37] := ( arrayQuests[37] ) * VHQ006Done
let arrayQuests[38] := ( arrayQuests[38] ) * VHQ006DoneAlt
let arrayQuests[39] := ( arrayQuests[39] ) * VHQ007Done
let arrayQuests[40] := ( arrayQuests[40] ) * VHQ008Done
let arrayQuests[41] := ( arrayQuests[41] ) * VHQ009Done
let arrayQuests[42] := ( arrayQuests[42] ) * VHQ010Done
let arrayQuests[43] := ( arrayQuests[43] ) * VHQ011Done
let arrayQuests[44] := ( arrayQuests[44] ) * VHM000Done
let arrayQuests[45] := ( arrayQuests[45] ) * VHM001Done
let arrayQuests[46] := ( arrayQuests[46] ) * VHM002Done
;Malevolent
let arrayQuests[47] := ( arrayQuests[47] ) * MALBuildUpDone
let arrayQuests[48] := ( arrayQuests[48] ) * MALBuildUpDoneAlt
let arrayQuests[49] := ( arrayQuests[49] ) * MALDone
;Tears of the Fiend
let arrayQuests[50] := ( arrayQuests[50] ) * ZZDemonInsideDone
let arrayQuests[51] := ( arrayQuests[51] ) * ZZRedemptionDone
let arrayQuests[52] := ( arrayQuests[52] ) * ZZTheButcherDone
let arrayQuests[53] := ( arrayQuests[53] ) * ZZTheLegacyDone
let arrayQuests[54] := ( arrayQuests[54] ) * ZZTotFDone
let arrayQuests[55] := ( arrayQuests[55] ) * ZZTotFDoneAlt1
let arrayQuests[56] := ( arrayQuests[56] ) * ZZTotFDoneAlt2
let arrayQuests[57] := ( arrayQuests[57] ) * ZZTotF2Done
let arrayQuests[58] := ( arrayQuests[58] ) * ZZTotF2DoneAlt1
let arrayQuests[59] := ( arrayQuests[59] ) * ZZTotF2DoneAlt2
;Ruined Tail's Tale
let arrayQuests[60] := ( arrayQuests[60] ) * ZZRTT1Done
;Blood & Mud
let arrayQuests[61] := ( arrayQuests[61] ) * BravilArdanTempelDone
let arrayQuests[62] := ( arrayQuests[62] ) * BravilBloodscriptsDone
let arrayQuests[63] := ( arrayQuests[63] ) * BravilTrialDone
let arrayQuests[64] := ( arrayQuests[64] ) * BravilYanaTalkDone
;The Ayleid Steps
let arrayQuests[65] := ( arrayQuests[65] ) * SSotA01Done
let arrayQuests[66] := ( arrayQuests[66] ) * SSotA02Done
;Clamshell Cottage
let arrayQuests[67] := ( arrayQuests[67] ) * NKIVHouseDone
,Là si je me trompe pas c'est un truc de vérification du script (d'après le commentaire)
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
if ( tempShort == 0 )
let arrayQuests := 2
elseif ( tempShort == 1 )
let arrayQuests := 3
elseif ( tempShort == 2 )
;set amount of XP gained
let gainedXP := ( 1 + ObXPMain.playerLevel * ObXPSettings.multXPQuestLevel ) * ObXPSettings.globalQuestXPMult * arrayQuestXP
let tempString := arrayQuestNames
;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 "Gained %.2f XP. Completed the quest %q%z%q." 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 := 3
endif
let i := i + 1
loop
sv_Destruct tempString
end