Jump to content

Inconsistent results from a user-defined OnDeath handler with filters


DaWrecka

Recommended Posts

This was exactly what I'd expected. However, OP said checking their base ID in-game with GBO did return the same ID as what was on the form list passed to the handler. Either that or we misunderstood one another. But the thing that I find interesting and confusing here is that there are other levelled actors on the form list that have their deaths registered accurately by the handler as intended.

Hm, yes, what I described was 'normal behavior' for gbo, ie when an actor's base form is directly templated to a levelled list.

These, however, seem to be templated to another actor form which in turn is templated to a levelled list. (There really is no limit to how many levels of templating that can go on, except the restraint of the person making the NPCs.) That may explain the base object not returning as dynamic, and so, being checked off correctly by IsInList - in this instance, at least, I'm still surprised by that.

But the filter check on the formlist definitely seems to balk at the leveled list being somewhere in their makeup regardless (and from what DaWrecka's reported, perhaps inconsistently). It'd be interesting to compare this with NPCs that are normally templated to levelled lists.

Link to comment
Share on other sites

I missed the bit in post 8 where OP named all the ones that aren't registered. I did see it, but the names sort of got lost in my head and I didn't realise that none of the ones mentioned previously as being caught by the handler were said to be still working. So, that makes it a very good question, which levelled actors are having their deaths registered. None, is it?

Link to comment
Share on other sites

Perhaps a solution could be to add all the relevant levelled actors to the form list that gets passed to the handler and see

 

Thats what I just said .... Take "EncSlaver" which is a lvled actor. And take all the base-ID's it has on the pic list. And put them on a form list.

 

But sadly ... I think that is going to have bad results ... even though it might work for one moment of playthough.

Link to comment
Share on other sites

Thats what I just said .... Take "EncSlaver" which is a lvled actor. And take all the base-ID's it has on the pic list. And put them on a form list.

Well, I meant to test literally every possible levelled actor that could be part of the desired set of slavers the deaths of whom we want registered by the event handler. I don't know what EncSlaver is but I imagine in order to test my idea, you'd need to look at more than one levelled actor to add them to the form list.

 

You can add refs to a form list at run-time via script, which is probably what will need to be done.

Link to comment
Share on other sites

EncSlaver is the Base ID of the lvled character in the mix. Why those specific named base Id's show up in the render window as an M with an arrow.

It holds 8 base ID's of other NPC's to pick from , what the NPC LvlSlaver relys for everything in template data.

 

LvlSlaver is just an intermediary I guess. Never having a ref id of it ???

 

So was saying you take all 8 base ID's from the pic list of EncSlaver ... and put in a form list.

But then also if you click opening up some of those in its list ... you will see some rely on still more others.

 

So then the end of those strings need to be what is in the form list right ?

 

Ugg ... think better forget about that route.

 

Whats wrong with just passing the 6 ref ID's next to the Resident list ?

Link to comment
Share on other sites

 

You can add refs to a form list at run-time via script, which is probably what will need to be done.

 

 

Oh I missed this ... well there ya go ... that is what need be done.

But that of course is more work than just passing the ref ids in the event handler ... I assume.

 

So is there really a processing benefit to it then ? Or is this just a case of wanting it a certain way behind the scenes ? Cuz me ... I think first ... how does this render to the player ... not whether the actors are having coffee together behind the curtain.

 

Add edit : but are you sure you are going to get the ref instance , and not the ref referring back to the base dropping it in the list ? Hence back to the OP's problem.

Link to comment
Share on other sites

The easier thing in my view would be to set a variable from a script on each npc.

 

Most have one already in this script " ParadiseFallsSlaverScript" But some don't like Grouse.

 

So could just copy/paste this block from that one to his.

 

Begin OnDeath
set MQ07.KillCount to ( MQ07.KillCount + 1 )
End
Or probably better just make your own "OnDeath" block similar ... setting a variable in a quest script , or the quest script that rewards the player for this.
Link to comment
Share on other sites

  • Recently Browsing   0 members

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