Jump to content

Can't run skse functions in CK - help !


Recommended Posts

I assume you are not seeing your "I've matched to a nordic ruin" message... (your comment says you want to exit but the code you are showing just keeps going past that point).

I also assume you have checked that mapMarkerAlias is a valid identifier and that it points to a properly filled ReferenceAlias...

In that case, I would suspect the FormList.  I am not very experienced with FormLists but my understanding is that the CK won't let you fill them with REFRs.  To get object references into a FormList you need to use papyrus scripts.  I could be wrong, in which case one of my prior assumptions must be wrong as well.

 

Edited by xkkmEl
Link to comment
Share on other sites

37 minutes ago, xkkmEl said:

I assume you are not seeing your "I've matched to a nordic ruin" message... (your comment says you want to exit but the code you are showing just keeps going past that point).

I also assume you have checked that mapMarkerAlias is a valid identifier and that it points to a properly filled ReferenceAlias...

In that case, I would suspect the FormList.  I am not very experienced with FormLists but my understanding is that the CK won't let you fill them with REFRs.  To get object references into a FormList you need to use papyrus scripts.  I could be wrong, in which case one of my prior assumptions must be wrong as well.

 

Exactly - that's what I'm judging the failure of satisfying the 'if' by.

The following code works perfectly, if that tells you anything about the syntax of the code above.

 

FormList Property csbmagMarkersAll Auto
Formlist AllMarkers

Int Index = 0
Int Index2 = 0

Index = csbmagMarkersAll.GetSize()

While Index > 0
	Index -= 1
	AllMarkers = csbmagMarkersAll.GetAt(Index) As FormList

	Index2 = AllMarkers.GetSize()

	While Index2 > 0
		Index2 -= 1
		ObjectReference MapMarker = AllMarkers.GetAt(index2) As ObjectReference
		MapMarker.disable()
	EndWhile
	
EndWhile

Sorry - if not clear, I have a formlist containing multiple formlists each of which has a set of mapmarkers. As ugly as this seems to look, it works.

But I'm still not sure what's wrong with the other portion.

Link to comment
Share on other sites

In your other section of code, what is the actual data being assigned to the form list represented by csbmagmarkersNordR?  Because whatever it is, it is not matching the map marker filling the alias.

If your form list contains the base objects of the map markers, then you will need to compare the base object of the alias' map marker against the stored base object in the form list.

I think you can put object references into a form list, but you'd have to drag and drop from the cell view window rather than the object window.  But it has been a while and I may be thinking of having filled an array with object references via the properties window.  Which, if that is the case, you may want to consider.

Link to comment
Share on other sites

6 minutes ago, IsharaMeradin said:

In your other section of code, what is the actual data being assigned to the form list represented by csbmagmarkersNordR?  Because whatever it is, it is not matching the map marker filling the alias.

If your form list contains the base objects of the map markers, then you will need to compare the base object of the alias' map marker against the stored base object in the form list.

I think you can put object references into a form list, but you'd have to drag and drop from the cell view window rather than the object window.  But it has been a while and I may be thinking of having filled an array with object references via the properties window.  Which, if that is the case, you may want to consider.

Thanks ! The formlist is populated by -- yes, map markers dragged in from the cell view. And it seems to function in the code directly above that allows manipulation of those formlist objects via disabling those map markers.

Link to comment
Share on other sites

I wonder if this line is part of the problem:

ObjectReference BQ01MapMarker = mapmarkerAlias.getreference() As ObjectReference

The compiler won't complain about it, but you are casting a returned object reference into an object reference.  It could be possible that this is confusing things.  Try dropping the cast since GetReference already gets the reference.  It may or may not help but could be worth a shot.

Link to comment
Share on other sites

9 minutes ago, IsharaMeradin said:

I wonder if this line is part of the problem:

ObjectReference BQ01MapMarker = mapmarkerAlias.getreference() As ObjectReference

The compiler won't complain about it, but you are casting a returned object reference into an object reference.  It could be possible that this is confusing things.  Try dropping the cast since GetReference already gets the reference.  It may or may not help but could be worth a shot.

I removed the cast. Here is what I get when I added a debug that prints out : mapmarkerinformlist + "and " + BQ01MapMarker

What comes back in-game is:  "[objectreference <(0000162D2)>] and None"

When I add the cast back in I get a similar result..

Link to comment
Share on other sites

Double check your mapMarkerAlias property in CK;  make sure it's filled.  Then check again in game with the console command 'sqv myquest"; check at the same time to see if the quest is running and if the alias itself filled.

 

Link to comment
Share on other sites

Posted (edited)
6 minutes ago, xkkmEl said:

Double check your mapMarkerAlias property in CK;  make sure it's filled.  Then check again in game with the console command 'sqv myquest"; check at the same time to see if the quest is running and if the alias itself filled.

 

It's a ReferenceAlias and the quest (BQ01) and alias (mapmarker) are properly resolved in the properties window.

But yeah, that's clearly the prob: I can't get the objectreference from that alias of that (vanilla) quest.

Is there another comparison at a different level that would work ? I have a list of mapmarkers---that alias is filled with a mapmarker--I just need to compare them to find a match.

Edited by csbx
Link to comment
Share on other sites

  • Recently Browsing   0 members

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