Jump to content

Photo

Need help identifying/removing missing teammate

skyrim teammate remove find missing follower

  • Please log in to reply
5 replies to this topic

#1
kraag

kraag

    Faithful poster

  • Supporter
  • PipPipPipPip
  • 1,179 posts

I made an entry on the UESP Console talk page, I'll just copy/paste that.
 

In game console, typing "GetPlayerTeammateCount" returns to me "Player teammate count > 3", but I have no idea who/what/where these teammates are. Is there a way to remove them or reset the player teammate count?

 

Does this have something to do with player factions/relationships? I use a few different addon followers, Inigo and 3DNPC mainly.

 

I have no followers either, I have tried "set playerfollowercount to 0" and also "set playeranimalcount to 0", both of these did not work.

 

I have also tried waiting in game for up to a week, in hope that the teammates would "get tired of waiting and go home", but this did not work.

 

Any help will be greatly appreciated!



#2
cdcooley

cdcooley

    Resident poster

  • Premium Member
  • 4,670 posts

You should just ignore that value because there's no equivalent Papyrus function and no practical way to use it in a mod.

 

The developers marked that function obsolete. It still gives a count of the actors that currently have the teammate flag set but there's no way to get a list of those teammates and no real point in doing so anyway.
 
The teammate flag makes changes to the AI of characters when it's turned on but it doesn't mean those characters are actually following the player. (The changes are listed on the CK's SetPlayerTeammate page.)



#3
kraag

kraag

    Faithful poster

  • Supporter
  • PipPipPipPip
  • 1,179 posts

Thanks for the thorough explanation cdcooley, it's very much appreciated.



#4
cpuLL

cpuLL

    Old hand

  • Premium Member
  • 606 posts
In some cases, for some mods, it is useful to find the actual player team mates.
 
It can be done using Papyrus and SKSE.
 
Actor[] teamMates = new Actor[16]
int numFound = 0
Cell c = playerRef.getparentCell()
int num = (c.GetNumRefs(62)) as Int
while num && numFound<16
  num -= 1
  Actor a = c.GetNthRef(num, 62) as Actor
  if a && a.isPlayerTeamMate()
    teamMates[numFound] = a
    numFound += 1
  endIf
endWhile
At the end you will have an array with all the player team mates (followers for all the followers extension mods) and the actual number of them.

I hope this helps.

#5
cdcooley

cdcooley

    Resident poster

  • Premium Member
  • 4,670 posts

That won't find all teammates. It will find those in the same cell as the player, but as I said teammates don't actually have to be following the player.

 

And with one exception (Campfires by Chesko) every mod I've seen that tries to find NPCs based on their teammate status ends up breaking the more complex followers. The unique followers like Vilja and Inigo aren't in the standard follower factions specifically so they don't get caught up with mods that try to manage followers. Unfortunately they have to be teammates to work. If you think you need to find all of the player's teammates please consider very carefully whether you really need to do that and why. At the very least provide some mechanism that other modders can use to avoid having their NPCs caught up in your list or you've effectively made your mod incompatible with the advanced follower mods.



#6
kraag

kraag

    Faithful poster

  • Supporter
  • PipPipPipPip
  • 1,179 posts

Found one of my missing 'teammates', it was a dog follower [Catbane] that came with the Greater Saarthal mod, in case anyone else has this problem. Selected dog in console, type 'SetPlayerTeammate 0'.
 

Thanks very much cpuLL for offering help with that script, although it is a little beyond my comprehension, I appreciate it all the same :smile:


Edited by kraag, 14 March 2016 - 07:36 AM.






Also tagged with one or more of these keywords: skyrim, teammate, remove, find, missing, follower

Page loaded in: 1.093 seconds