I don't want to delete my companions, please save them!

I’ve got an issue with three companions that wont go away. In a conversation I used the ga roster_despawn individually and then when that failed the ga roster_despawn_all for the whole lot of them. Both times they disappear but they come back in the party when I start the next module.

I know it’s silly but I’m rather attached to them and don’t want to delete them as it seems a bit brutal so is there a guaranteed way that stops them following ? Have I missed something on my ga conversation scripts ?

Weird. All my modules have been single modules, not several modules in a campaign (even though I use campaign mode for other conveniences). When looking at the function it seems that you’re using it correctly, and as far as I can tell, you should then use the ga_roster_spawn for them to show up again in the next module. Maybe there’s some setting for this in the OnModuleLoad?

I don’t understand it either I just tested ga_roster_party_remove_all and that doesn’t work either. I’ll have a look at my module settings…

edit… Nothing there in a script about companions I can’t even set companion numbers because that’s a campaign thing.

Despawn isn 't remove from party.

You need to use the function RemoveRosterMemberFromParty, you can call it with ga_roster_remove
and then you despawn. Well that how I did it and so far, I don’t have your bug.

But I clearly need to test more my companions, a lot more, but I am not at that stage yet.

1 Like

Thanks… I’m off testing it now…

Ah! Interesting. I always use my custom scripts for removing companions and I use that particular function all the time. I didn’t know that you need to do that when using the ga_roster_despawn like Tsongo does. I mean, I have never used ga_roster_despawn myself so…

EDIT: Strange though that Tsongo claims they disapper when he uses ga_roster_despawn. If what you say is true @Shallina , they shouldn’t disappear, should they? Or how does it work exactly?

Despawn if for despawning and saving the NPC at the same time so that when it comes back it’s in the same state.
So you use Despawn and Spawn roster members functions.

If you use Deletee/create, you’ll loose all the player progress on that NPC.

It’s something I discovered not too long ago and that I need to correct at some place, in my first mod “Baldur’s Gate Reloaded”. But at the moment I want to make monster progress on the sequel :stuck_out_tongue:

I always used remove. I wasn t aware that if you only despawn, they could come back on their own in the next mod. For now I have only done the “mininal” work on my companions so they can function in basic ways.

I haven’t watched and recherched the subjet on every angles yet.

1 Like

shallina… It doesn’t work, they still come back ! Destroy/ delete isn’t an issue as they’re not coming back I just didn’t want to do it to them.

I used the party remove on each one of them and an individual despawn afterwards and they all returned in the next module.

andgalf… If you only make modules how big can you go with a nodule in Mbs ?Because that would probably solve it. I normally try to keep mine below 150 Mbs but I could probably blend these two into the low 200s.

I remember my first module being extremely big, almost 1 gb I think (I had no idea what I was doing back then). The ones after was more like 200 mb or so, though.

You are probably calling them back somewhere.

The problem may not be when you remove/despawn them, but when you load your new module.

You mean you used the ga_roster_remove right? I mean, I think that’s what Shallina suggested…Just so that we can help you better, I mean…

EDIT: I just checked ga_roster_remove and that uses the function RemoveRosterMember and not the function RemoveRosterMemberFromParty. Maybe that has something to do with anything…

andgalf… There is hope for them then.

Shallina… It’s a totally new mod, no scripts at all, literally none, I don’t need any other than what you get when you select make a new module. This is a module with areas and conversations it has no action at all.

So here’s another idea… Can I make a module as a module then turn it and the previous module into directories, merge the two together bu sliding over files, remove the start new mod script and just have a jump to waypoint instead and save it as one module ?

That way I can test it as it is, remove companions with the console when they arrive and when it’s finished and fully tested merge it all into one. It wont matter about previous saves in the previous module because they’ll both be fully tested.

edit… andgalf… Just saw your post, yes that was what I used ga_roster_remove

So…you’re not using Campaign mode then? If that’s the case, I didn’t know it was possible to bring companions from one module to another without it being a campaign…but I don’t know how that works…Maybe that has something to do with it not working? Just speculating…

andgalf… No it’s a big campaign, full of modules but I made them in module mode they’ve always been modules. But I’m wondering if I can switch them to directories, swap the files over and module them back again as one. I suppose I could export and import all the bits too and make one module.

I just tested my old tortured party, they don ’ t come back from one mod to an other if they have been dismissed.

But I haven’t made a super serious debug/implementation pass on them.

Did you link all your mod in the campaign ? set all the module to use the campaign and so on ? it’s in the plugin menue.

Shallina… All modules are linked to the campaign, it’s really weird.

I am planing to work a lot on my companions during february 2022. I may encounter that problem while doing it and then be able to find a solution and the root of it.

At the moment the only problem I met with the roster function is when I had multiple objects with the same roster name. They had a mind of their own for they behavior.

So far I am lucky with companions, this problem didn’ t bug me yet.

So, I just made a crude custom script. Maybe you could use that @Tsongo? Don’t know if it will work…

#include "ginc_companion"

void main()

object oPC = GetFirstPC();




andgalf and Shallina… Thanks for all your ideas and help, I am now beginning to think I’ve had this issue before but it was a long time ago and I forgot it. I remembered I had a companion in a previous module I made and he left the party for good with more modules to play. I checked his remove scripts and I used the party remove and despawn then destroyed him on the next line.

I’m going to see how big this module gets and possibly merge it with the previous one, that way I know the party remove works fine and if I can’t merge them then they will be destroyed :sob:

Don’t make big mods, use campaign, you need to solve that problem.

Did you open the OC modules and checked how they handled companions ?