Jump to content

Can someone help me trace this dunPOISoldiersRaidOnStart active script to a location?


genjurooo

Recommended Posts

Posted

dunPOI.png.4d1f2d15eab2573db0d9a253ecce9476.png

 

Spoiler

ID:         00A8DA61
Var:       float:  135248.421875
Uint8:    02
Uint8:    00
Uint8:    00
Functions: 3

---------- Function 1 ----------

VarCount: 2
Flag:         02
Type:       00
Name:      dunPOISoldiersRaidOnStart
Name:      dunPOISoldiersRaidOnStart
Event:      OnLoad
Status:     Waiting
uint8:       03
uint8:       02
Returntype: None
Docstring:   
Function flags: 00
Function user flags: 00000000

Function local name: ::temp0
Function local type: Bool
Function local name: ::NoneVar
Function local type: None
Opcodes: 2

 CALLM SetStage, ::RaidQuest_var, ::temp0, 10,

 CALLM UpdateLoop, self, ::NoneVar,

uint32:     00000001
Var:  dunPOISoldiersRaidOnStart:  245EDC38

Var[1]:  bool:  0
Var[2]:  null:  00000000

---------- Function 2 ----------

VarCount: 16
Flag:         02
Type:       00
Name:      dunPOISoldiersRaidOnStart
Name:      dunPOISoldiersRaidOnStart
Event:      UpdateLoop
Status:     
uint8:       03
uint8:       02
Returntype: None
Docstring:   
Function flags: 00
Function user flags: 00000000

Function local name: ::temp2
Function local type: Bool
Function local name: ::temp3
Function local type: Actor
Function local name: ::temp4
Function local type: ObjectReference
Function local name: ::temp5
Function local type: Float
Function local name: ::temp6
Function local type: Float
Function local name: ::temp7
Function local type: Bool
Function local name: ::NoneVar
Function local type: None
Function local name: ::temp8
Function local type: Bool
Function local name: ::temp9
Function local type: Bool
Function local name: foundSpawnPoint
Function local type: Bool
Function local name: ::temp10
Function local type: cwscript
Function local name: ::temp11
Function local type: Int
Function local name: ::temp13
Function local type: Actor
Function local name: CWS
Function local type: cwscript
Function local name: tmp
Function local type: Actor
Function local name: ::temp12
Function local type: EncounterZone
Opcodes: 73

 NOT ::temp2 breakLoop

 JMPF ::temp2 71

 CALLS Game.getplayer, ::temp3,

 CAST ::temp4 self

 CALLM getDistance, ::temp3, ::temp5, ::temp4,

 CAST ::temp6 3000

 CMPLT ::temp7 ::temp5 ::temp6

 JMPF ::temp7 62

 CALLM GotoState, self, ::NoneVar, WaitingForUnload,

 ASSIGN breakLoop 1

 ASSIGN foundSpawnPoint 0

 NOT ::temp8 foundSpawnPoint

 CAST ::temp8 ::temp8

 JMPF ::temp8 5

 CAST ::temp4 0

 CMPEQ ::temp9 ::FirstSpawnPoint_var ::temp4

 NOT ::temp9 ::temp9

 CAST ::temp8 ::temp9

 JMPF ::temp8 9

 CALLS Game.getplayer, ::temp3,

 CALLM HasLOS, ::temp3, ::temp9, ::FirstSpawnPoint_var,

 JMPF ::temp9 4

 CALLM GetLinkedRef, ::FirstSpawnPoint_var, ::temp4, 0,

 ASSIGN ::FirstSpawnPoint_var ::temp4

 JMP 2

 ASSIGN foundSpawnPoint 1

 JMP -15

 CAST ::temp4 0

 CMPEQ ::temp9 ::FirstSpawnPoint_var ::temp4

 NOT ::temp9 ::temp9

 JMPF ::temp9 38

 CAST ::temp10 ::CW_var

 ASSIGN CWS ::temp10

 PROPGET OwnerReach CWS ::temp11

 CMPLT ::temp8 ::temp11 2

 JMPF ::temp8 14

 CAST ::temp12 0

 CALLM PlaceActorAtMe, ::FirstSpawnPoint_var, ::temp3, ::SoldierBaseImp_var, 0, ::temp12,

 ASSIGN tmp ::temp3

 CAST ::temp4 tmp

 CALLM ForceRefTo, ::Soldier1Alias_var, ::NoneVar, ::temp4,

 CALLM EvaluatePackage, tmp, ::NoneVar,

 CAST ::temp12 0

 CALLM PlaceActorAtMe, ::FirstSpawnPoint_var, ::temp3, ::SoldierBaseImp_var, 0, ::temp12,

 ASSIGN tmp ::temp3

 CAST ::temp4 tmp

 CALLM ForceRefTo, ::Soldier2Alias_var, ::NoneVar, ::temp4,

 CALLM EvaluatePackage, tmp, ::NoneVar,

 JMP 13

 CAST ::temp12 0

 CALLM PlaceActorAtMe, ::FirstSpawnPoint_var, ::temp3, ::SoldierBaseSons_var, 0, ::temp12,

 ASSIGN tmp ::temp3

 CAST ::temp4 tmp

 CALLM ForceRefTo, ::Soldier1Alias_var, ::NoneVar, ::temp4,

 CALLM EvaluatePackage, tmp, ::NoneVar,

 CAST ::temp12 0

 CALLM PlaceActorAtMe, ::FirstSpawnPoint_var, ::temp3, ::SoldierBaseSons_var, 0, ::temp12,

 ASSIGN tmp ::temp3

 CAST ::temp4 tmp

 CALLM ForceRefTo, ::Soldier2Alias_var, ::NoneVar, ::temp4,

 CALLM EvaluatePackage, tmp, ::NoneVar,

 CALLM GetActorReference, ::Soldier1Alias_var, ::temp3,

 CALLM GetActorReference, ::Forsworn1Alias_var, ::temp13,

 CALLM StartCombat, ::temp3, ::NoneVar, ::temp13,

 CALLM GetActorReference, ::Soldier2Alias_var, ::temp13,

 CALLM GetActorReference, ::Forsworn1Alias_var, ::temp3,

 CALLM StartCombat, ::temp13, ::NoneVar, ::temp3,

 JMP 1

 JMP 1

 CAST ::temp6 1

 CALLS utility.Wait, ::NoneVar, ::temp6,

 JMP -71

 ASSIGN breakLoop 0

uint32:     00000046
Var:  dunPOISoldiersRaidOnStart:  245EDC38

Var[1]:  bool:  1
Var[2]:  Actor:  4FD94A30
Var[3]:  ObjectReference:  245EDC38
Var[4]:  float:  135248.421875
Var[5]:  float:  1.000000
Var[6]:  bool:  0
Var[7]:  null:  00000000
Var[8]:  bool:  0
Var[9]:  bool:  0
Var[10]:  bool:  0
Var[11]:  cwscript:  00000000
Var[12]:  int:  0
Var[13]:  Actor:  00000000
Var[14]:  cwscript:  00000000
Var[15]:  Actor:  00000000
Var[16]:  EncounterZone:  00000000

---------- Function 3 ----------

VarCount: 1
Flag:         03
Type:       00
Name:      utility
Name:      utility
Event:      Wait
uint8:       03
uint8:       02
Returntype: None
Docstring:   
Function flags: 00
Function user flags: 03000000

Function param name: param1
Function param type: Float
Opcodes: 0

uint32:     00000000
Var:  null:  00000000

Var[1]:  float:  1.000000

 

This dunPOISoldiersRaidOnStart active script in the save annoys me. Something didn't trigger and as I understand has to do with some Forsworn location. Since I don't want to edit the save, I need to know where in Skyrim is this suppose to trigger.  I've gone today to all Forsworn camps listed on UESP (cleared them again minus Karthspire cause that doesn't respawn by default) and still have that active script.

Reloading a save prior to this is out of the question as I had to delete saves between lvl20 and lvl66 for this character (now lvl94 on completionist run) long time ago because I needed the space.  

Posted

Why do you think it is Forsworn related? POI is Place/Point Of Interest. I don't play the vanilla game but do soldiers raid Forsworn camps or vice versa? I have several mods which have various groups attacking various other groups at various locations. Are you sure it's not a mod?

What's the problem anyway? Three active scripts is hardly going to kill your game.

Posted

It mentions Forsworn 2 times. 

I don't know about soldiers raiding forsworn camps. You get "Kill the Forsworn leader" radiant from the jarl of Markarth, but I don't remember any soldiers ever coming on. Might be Kolskeggr mine?

 

37 minutes ago, Grey Cloud said:

Are you sure it's not a mod?

Pretty sure. List of mods is minimal (only barebone requirements for slaverun and captured dreams and slaverun is not installed atm). Apart from that I have 5 more characters that I plan to finish the game with (albeit not completionist runs) before I start slaverun again. None of these display that active script yet. I hope they do, but I don't plan going through side quests and losing so much time with them (so chances it happens are small).

 

37 minutes ago, Grey Cloud said:

What's the problem anyway? Three active scripts is hardly going to kill your game.

It just annoys me. I have these kind of obsessions. For example, now if I can't solve this issue I'll aim to have all my other characters display the same issue, lol (or drop the game altogether until I pick it up again and annoy myself again with the same issue).

Posted
9 minutes ago, genjurooo said:

It mentions Forsworn 2 times. 

What does? And what exactly does it say?

 

10 minutes ago, genjurooo said:

I don't know about soldiers raiding forsworn camps.

Well you mentioned Forsworn camps and the thing says soldiersraid.

Posted
1 hour ago, Grey Cloud said:

What does? And what exactly does it say?

This (it is linked in the op): 

 CALLM GetActorReference, ::Soldier1Alias_var, ::temp3,

 CALLM GetActorReference, ::Forsworn1Alias_var, ::temp13,

 CALLM StartCombat, ::temp3, ::NoneVar, ::temp13,

 CALLM GetActorReference, ::Soldier2Alias_var, ::temp13,

 CALLM GetActorReference, ::Forsworn1Alias_var, ::temp3,

 

1 hour ago, Grey Cloud said:

Well you mentioned Forsworn camps and the thing says soldiersraid.

Yeah, I try to remember, but the only instances I can think of is when you get to Sky Haven temple through Karthspire, but those are Delphine and Esbern (blades) and Karthspire doesn't respawn mobs afterwards so shouldn't be Karthspire. Another one is Kolskegrr mine (the one behind Pavo's house at the bridge near Markarth where you always get ambushed by some forsworn), but now it is cleared and didn't met forsworn at that bridge for quite some time but markarth guards are now stationed at the mine...

I've gone through all UESP listed camps, killed everything again, still no change.  I'll go tomorrow through every location still available that has forsworn listed in it.

Can it be a "hostile encounter"? UESP lists that as 3 forsworn vs 2 imperial soldiers. Any idea where those usually happen in the Reach?

Posted

There is an unmarked forsworn camp just past the first road intersection when leaving  markarth and heading towards haraldran (sp?) you would find it very close to the cave where the last boss fight for the amulet quest is located, it's just off the road (to the right and up the hill) but you can't see it because the hill is too steep. This is only camp I know of where you encounter imperial soldiers fighting forsworn.

Posted

dunPOISoldiersRaidOnStart is an ObjectReference, just "player.moveto 00A8DA61".

 

Probably at this loop (since this is called on state waiting's event OnLoad).

Spoiler

Function UpdateLoop()
	While(!breakLoop)
		if (Game.GetPlayer().GetDistance(Self) < 3000)
			GoToState("WaitingForUnload")
			breakLoop = True
			;Figure out where to spawn the soldiers.
			bool foundSpawnPoint = False
			While (!foundSpawnPoint && FirstSpawnPoint != None)
				if (Game.GetPlayer().HasLOS(FirstSpawnPoint))
					;If the player has LOS, try the next point.
					FirstSpawnPoint = FirstSpawnPoint.GetLinkedRef()
				Else
					;Otherwise, pick this point.
					foundSpawnPoint = True
				EndIf
			EndWhile
			if (FirstSpawnPoint != None)
				;Then spawn either Imperial or Stormcloak soldiers, depending on who controls the Reach.
				CWScript CWs = (CW As CWScript)	
				Actor tmp
				if (CWs.OwnerReach < 2) ;Imperials
					tmp = FirstSpawnPoint.PlaceActorAtMe(SoldierBaseImp, 0, None)
					Soldier1Alias.ForceRefTo(tmp)
					tmp.EvaluatePackage()
					tmp = FirstSpawnPoint.PlaceActorAtMe(SoldierBaseImp, 0, None)
					Soldier2Alias.ForceRefTo(tmp)
					tmp.EvaluatePackage()
				Else
					tmp = FirstSpawnPoint.PlaceActorAtMe(SoldierBaseSons, 0, None)
					Soldier1Alias.ForceRefTo(tmp)
					tmp.EvaluatePackage()
					tmp = FirstSpawnPoint.PlaceActorAtMe(SoldierBaseSons, 0, None)
					Soldier2Alias.ForceRefTo(tmp)
					tmp.EvaluatePackage()
				EndIf
				Soldier1Alias.GetActorReference().StartCombat(Forsworn1Alias.GetActorReference())
				Soldier2Alias.GetActorReference().StartCombat(Forsworn1Alias.GetActorReference())
			EndIf
		EndIf
		Utility.Wait(1)
	EndWhile
	breakLoop = False
EndFunction

 

Should've broken the loop at event OnUnload, which was probably not sent.

 

EDIT:

 

The ID within your screenshot is not the refID of the object (I am not familiar with the save editor you are using). The actual refID is 000317CB.

player.moveto 000317CB

[00:00] Start: Applying script "List Scripts"
[dunPOISoldiersRaidOnStart] 000317CB
[01:07] Done: Applying script "List Scripts", Processed Records: 869693, Elapsed Time: 01:07

xEdit script for finding entries with specific scripts (the filter one goes through every single entry you've currently loaded, making it super slow, and it also doesn't work).

Spoiler

{
    List scripts.
}

unit ListScripts;

var
    inputScriptName: string;

function Initialize: integer;
begin
    result := 1;

    if not InputQuery('Enter', 'Script Name', inputScriptName) then
        exit;

    inputScriptName := Trim(inputScriptName);

    if inputScriptName = '' then
        exit;

    result := 0;
end;

function Process(e: IInterface): integer;
var
    vmad, scripts: IwbElement;
    scriptName: string;
    i: integer;
begin
    result := 0;

    vmad := ElementBySignature(e, 'VMAD');

    if not Assigned(vmad) then
        exit;

    scripts := ElementByName(vmad, 'Scripts');

    if not Assigned(scripts) then
        exit;

    for i := 0 to Pred(ElementCount(scripts)) do begin
        scriptName := Trim(GetElementEditValues(ElementByIndex(scripts, i), 'ScriptName'));

        if SameText(scriptName, inputScriptName) then begin
            AddMessage('[' + scriptName + '] ' + IntToHex(FormID(e), 8));
            break;
        end;
    end;
end;

function Finalize: integer;
begin
    result := 0;
end;

end.

 

 

Posted
6 hours ago, RW311 said:

There is an unmarked forsworn camp just past the first road intersection when leaving  markarth and heading towards haraldran (sp?) you would find it very close to the cave where the last boss fight for the amulet quest is located, it's just off the road (to the right and up the hill) but you can't see it because the hill is too steep. This is only camp I know of where you encounter imperial soldiers fighting forsworn.

Thank you.

Saved me countless hours of aimlessly searching the Reach. That was it, now that active script entry is gone from the save.

Here is the exact location on the map (if others encounter the same annoyance):

Spoiler

ScreenShot2.jpg.4e7c203c24ec02724ef2ac630ce90bac.jpg

 

Posted
21 minutes ago, genjurooo said:

Thank you.

Saved me countless hours of aimlessly searching the Reach. That was it, now that active script entry is gone from the save.

Here is the exact location on the map (if others encounter the same annoyance):

  Reveal hidden contents

ScreenShot2.jpg.4e7c203c24ec02724ef2ac630ce90bac.jpg

 

Could've just teleported yourself to the location with player.moveto and be done within a minute or two.

The marker object reference is right at the campfire (or is the campfire).

 

Just teleported myself out of curiosity and:

enb 2020_06_23 03_35_38_99.png

Posted
15 hours ago, Hawk9969 said:

dunPOISoldiersRaidOnStart is an ObjectReference, just "player.moveto 00A8DA61".

 

[...]

 

EDIT:

 

The ID within your screenshot is not the refID of the object (I am not familiar with the save editor you are using). The actual refID is 000317CB.

player.moveto 000317CB

 

13 hours ago, Hawk9969 said:

Could've just teleported yourself to the location with player.moveto and be done within a minute or two.

The marker object reference is right at the campfire (or is the campfire).

The save editor is "Save Cleaner". That's why I didn't use that method since moveto 00A8DA61 was not working . I wonder what that id was for.

Posted
2 hours ago, genjurooo said:

 

The save editor is "Save Cleaner". That's why I didn't use that method since moveto 00A8DA61 was not working . I wonder what that id was for.

Probably the serialized reference id of the data it's pointing at.

Use this instead. Not only is it newer and has support for 32-bits string count, but it also allows you to right-click a reference and follow it all the way to the Form it's pointing at, thus allowing you to skip having to run the xEdit script.

Archived

This topic is now archived and is closed to further replies.

  • Recently Browsing   0 members

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