Jump to content
  • 0

What to do with Script Conflicts?


reddvilzz

Question

Hi there STEP, I wanted to ask how to deal with script conflicts?

Currently the script is tif__010012da.pex

 

1st mod is Order My Items which edits the script like so

 

;BEGIN FRAGMENT CODE - Do not edit anything between this and the end comment

;NEXT FRAGMENT INDEX 2
Scriptname TIF__010012DA Extends TopicInfo Hidden
 
;BEGIN FRAGMENT Fragment_1
Function Fragment_1(ObjectReference akSpeakerRef)
Actor akSpeaker = akSpeakerRef as Actor
;BEGIN CODE
Form OrderedItem = Game.GetFormFromFile(0x0005AD93, "Skyrim.esm");
(GetOwningQuest() as OrderMyItems_QuestScript).PlayersOrder = OrderedItem;
;END CODE
EndFunction
;END FRAGMENT
 
;END FRAGMENT CODE - Do not edit anything between this and the begin comment

 

 

 

While the 2nd Mod Wheels of Lull change the script to this

 

;/ Decompiled by Champollion V1.0.0

Source   : TIF__010012DA.psc
Modified : 2014-06-12 13:35:24
Compiled : 2014-06-12 13:35:25
User     : Kevin
Computer : SVEN
/;
scriptName TIF__010012DA extends TopicInfo hidden
 
;-- Properties --------------------------------------
 
;-- Variables ---------------------------------------
 
;-- Functions ---------------------------------------
 
function Fragment_0(ObjectReference akSpeakerRef)
 
;actor ::temp0
;quest ::temp1
;dialoguefollowerscript ::temp2
;None ::NoneVar
 
; 000 : cast ::temp0 akSpeakerRef 
; 001 : assign akSpeaker ::temp0 
actor akSpeaker = akSpeakerRef as actor
; 002 : callmethod GetOwningQuest self ::temp1 
; 003 : cast ::temp2 ::temp1 
; 004 : callmethod FollowerFollow ::temp2 ::NoneVar 
(self.GetOwningQuest() as dialoguefollowerscript).FollowerFollow()
endFunction
 
; Skipped compiler generated GetState
 
; Skipped compiler generated GotoState

 

 

 

What should I do about this?

 

Thank you!

Link to comment
Share on other sites

Recommended Posts

  • 0

Well if you want the function to do both things just paste the two lines from the first script and recompile:

Form OrderedItem = Game.GetFormFromFile(0x0005AD93, "Skyrim.esm");
(GetOwningQuest() as OrderMyItems_QuestScript).PlayersOrder = OrderedItem;

into the second script just ahead of endFunction:

(self.GetOwningQuest() as dialoguefollowerscript).FollowerFollow()
Form OrderedItem = Game.GetFormFromFile(0x0005AD93, "Skyrim.esm");
(GetOwningQuest() as OrderMyItems_QuestScript).PlayersOrder = OrderedItem;
endFunction

That way whichever mod calls the fragment both things will happen.  Or at least I'd have thought that would be the solution... [waits for the abuse]

Edited by dunc001
Link to comment
Share on other sites

  • 0

Well if you want the function to do both things just paste the two lines from the first script and recompile:

Form OrderedItem = Game.GetFormFromFile(0x0005AD93, "Skyrim.esm");(GetOwningQuest() as OrderMyItems_QuestScript).PlayersOrder = OrderedItem;
into the second script just ahead of endFunction:
(self.GetOwningQuest() as dialoguefollowerscript).FollowerFollow()Form OrderedItem = Game.GetFormFromFile(0x0005AD93, "Skyrim.esm");(GetOwningQuest() as OrderMyItems_QuestScript).PlayersOrder = OrderedItem;endFunction
That way whichever mod calls the fragment both things will happen. Or at least I'd have thought that would be the solution... [waits for the abuse]
Shouldn't

 

Function Fragment_1(ObjectReference akSpeakerRef)Actor akSpeaker = akSpeakerRef as Actor
From the Order My Item copied as well since it is a different fragment? And where should it placed? Edited by reddvilzz
Link to comment
Share on other sites

  • 0

Ah hadn't noticed that, so it's two distinct functions. Then I guess you could just add the complete function from script one to script two

Function Fragment_1(ObjectReference akSpeakerRef)
Actor akSpeaker = akSpeakerRef as Actor
Form OrderedItem = Game.GetFormFromFile(0x0005AD93, "Skyrim.esm");
(GetOwningQuest() as OrderMyItems_QuestScript).PlayersOrder = OrderedItem;
EndFunction

 That way I guess both Fragment_0 and Fragment_1 functions can be called independently of each other by the respective mods.  Anyone with actual knowledge please feel free to interject...

Link to comment
Share on other sites

  • 0

Ah hadn't noticed that, so it's two distinct functions. Then I guess you could just add the complete function from script one to script two

Function Fragment_1(ObjectReference akSpeakerRef)
Actor akSpeaker = akSpeakerRef as Actor
Form OrderedItem = Game.GetFormFromFile(0x0005AD93, "Skyrim.esm");
(GetOwningQuest() as OrderMyItems_QuestScript).PlayersOrder = OrderedItem;
EndFunction

 That way I guess both Fragment_0 and Fragment_1 functions can be called independently of each other by the respective mods.  Anyone with actual knowledge please feel free to interject...

I'm not that great with the scripts, but adding both functions to into a single script should work. The game should only use the function that is being called by the respective mod. Ideally, this should be provided by one of the authors as a "patch".

Link to comment
Share on other sites

  • 0

I mean... Merge plugins handles script fragments you could probably just have it renumber all forms but I definitely wouldn't do that to wheels of lull.

I've merged the Order My Item mod with some other mods and for Wheels of Lull I don't merged them.

So what are you suggesting hishy?

Edited by reddvilzz
Link to comment
Share on other sites

  • 0

Okay I tried compiling the script and set it up like this on the StringCompile.bat

"D:\Steam\SteamApps\common\Skyrim\Papyrus Compiler\ScriptCompile.bat" %1 -f="TESV_Papyrus_Flags.flg" -i="D:\Steam\SteamApps\common\Skyrim\Data\Scripts\Source" -o="D:\Steam\SteamApps\common\Skyrim\Data\Scripts"
 
pause

and this on the run command of notepad++

"D:\Steam\SteamApps\common\Skyrim\Papyrus Compiler\ScriptCompile.bat" "$(FILE_NAME)" "$(CURRENT_DIRECTORY)"

The script location is here

C:\Users\Vague\Desktop\Skyrim Stuffs\Champollion-V1.0.1-x86\tif__010012da.psc

the command prompt keep showing this endlessly

 

C:\Program Files (x86)\Notepad++>"D:\Steam\SteamApps\common\Skyrim\Papyrus Compiler\ScriptCompile.bat" "tif__010012da.psc" -f="TESV_Papyrus_Flags.flg" -i="D:\Steam\SteamApps\common\Skyrim\Data\Scripts\Source" -o="D:\Steam\SteamApps\common\Skyrim\Data\Scripts"

 

Edited by reddvilzz
Link to comment
Share on other sites

  • 0

Maybe pack it into a bsa, I read in a few places that files that have a form need to be in a bsa to avoid possible name conflicts.

In which case don't extract bsas if there is a valid reason.

 

Edit: wheels of lull is shipped with a bsa, don't extract it.

Bsas are significantly quicker in sse but are about the same in oldrim

Link to comment
Share on other sites

  • 0

Maybe pack it into a bsa, I read in a few places that files that have a form need to be in a bsa to avoid possible name conflicts.

In which case don't extract bsas if there is a valid reason.

 

Edit: wheels of lull is shipped with a bsa, don't extract it.

Bsas are significantly quicker in sse but are about the same in oldrim

Will this solve the conflicts?

Even though the Wheels of Lull packed in bsa it still use the same script while in game right?

It's just a matter of priority.

 

At least this is what I thought on how skyrim works. Correct me if I'm wrong.

Link to comment
Share on other sites

  • 0

Yeah, that doesn't sound right. The one with the highest priority will be used in game. If you're using WB, then the loose file will be higher priority and will be the one used. If you're using MO, MO will grab the file being provided by the mod lowest in the left pane and present that file to the game.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...

Important Information

By using this site, you agree to our Guidelines, Privacy Policy, and Terms of Use.