Jump to content

A problem with self-made factions


anlashok

Recommended Posts

The problem is this: I made a faction and set some NPC's to it, at ranks 0-4. However, when one package uses getFactionRank (called on subject) in a condition to get the rank, all it seems to return is 1, regardless of what rank the NPC is set to.

 

Also, when I toggle debug mode, select a NPC and try to call getFactionRank, the game complains it can't find the faction. Neither the textual ID or form ID (the one with numbers) work. getFactionRank works for other factions fine, just not for the one I made.

 

Third weird effect is when I try to set a condition for a greeting in a dialog window using getFactionRank, the dialog option just disappears when I click ok and reopen the window. No such thing happens when some other function is used in a condition.

 

I have no idea what might be wrong. The plugin works otherwise well, loads all the objects and NPC's and runs the scripts, etc, but the faction is having some problems. I was wondering if I need to somehow load the faction explicitly, but I didn't find that kind of option anywhere. All ideas, even wild, are appreciated, because I really haven't got a clue what could be wrong.

Link to comment
Share on other sites

That's a possibility which would explain the phenomenon quite well. However, I still can call the function in debug mode, only not for the custom faction. The GECK version is 1.5.0.19 and Fallout 3 version is 1.5.0.22. I'm testing this without FOSE as I don't yet have any features that need it.

 

Edit:

Note that this is my first modding experience with Fallout 3 and I have no previous experience from Oblivion, so it is possible that I have made some really noobish mistake. However, as I said, the plugin works otherwise well so I don't think that explanation is very probable, unless factions need some kind of special treatment.

 

Edit2:

I am using all three DLC's but no additional mods beside this one plugin.

 

Edit3:

I confirmed using an existing faction (so I could call getFactionRank in debug mode) that the NPC's have rank 1 in game even though in GECK I set the rank to some other number, 0 or >1. If a NPC is not set to faction then the getFactionRank correctly displays -1.

 

Edit4:

Seems to be a problem with the game storing faction ranks. First I gotFactionRank of Elder Lyons in BrotherhoodSteelFaction, which should be 7 but was 1. Then I tried setting faction ranks in console, and found that setting it anything != -1 will set it to 1, and setting it to -1 will set it to -1. I really really hope that I am somewhat mistaken here and the faction ranks actually work somehow, because many of my modding ideas rely on heavy use of ranks (at least I think they are the simpliest and the most elegant way of doing many things). It would be wonderful if someone could confirm the experiment mentioned above with for example Elder Lyons to confirm that the feature is real and not the fault of my system.

 

Edit5:

ModFactionRank doesn't work either.

Link to comment
Share on other sites

  • 4 years later...

Apologies for bumping an 4-year-old thread, but I have experimentally confirmed the same behavior. GetFactionRank always returns -1 or 1, no matter what values you use with AddToFaction, SetFactionRank or ModFactionRank. As an alternative to tokens, I set up multiple factions to represent ranks and do multiple binary checks:

if GetInFaction CustomFactionRank1 == 1
; do stuff for plebes
elseif GetInFaction CustomFactionRank2 == 1
; do stuff for bigwigs
else
; do stuff for non-members
endif

If I need to "promote" a faction member, I remove them from CustomFactionRank1 and add them to CustomFactionRank2.

Link to comment
Share on other sites

  • Recently Browsing   0 members

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