Jump to content


Jaheira reverting back to BG1 stats and items


  • Please log in to reply
57 replies to this topic

#41 Ascension64

Ascension64
  • Modder
  • 5983 posts

Posted 12 July 2009 - 05:48 AM

Thank you. It works perfect :)

Still on my to-do list to try and work out a more permanent solution to this. :(

--------------
Retired Modder
Note: I do not respond to profile comments/personal messages in regards to troubleshooting my modifications. Please post on the public forums instead.

Baldur's Gate Trilogy-WeiDU and Mods
Throne of Bhaal Extender (TobEx)

Contributions: (NWN2) A Deathstalker (voice acting) - (IWD2) IWD2 NPC Project (soundset editing) - (Misc) SHS PC Soundsets (voice acting)
Legacy: (BG/Tutu/BGT) Beregost Crash Fixer 1.9 (18 Jul 10) - (BG2) Enable conversations with charmed/dominated creatures (18 Jul 10) - (BG2) Experience Corrections (18 Jul 10) - (Misc) Platform Conversion Utility RC2 (13 Feb 10)


#42 -Ryn-

-Ryn-
  • Guest

Posted 31 July 2009 - 05:44 PM

Just thought it was worth mentioning that I had this problem, but that the fix (deleting *aheir with Near Infinity) worked for me. And this was my first time using Near Infinity. Thanks!

#43 babylonlin

babylonlin
  • Member
  • 2 posts

Posted 17 August 2009 - 06:10 PM

Actually I got this problem with viconia. I keep getting her of BG1 back from the vampirism. Tried to remove it with near infinity, but failed to load the game. please check the uploaded file

Attached Files



#44 Ascension64

Ascension64
  • Modder
  • 5983 posts

Posted 21 August 2009 - 04:14 AM

OK give this a go. It is usually better to use the Cut function for the entry than to use the Remove button.

--------------
Retired Modder
Note: I do not respond to profile comments/personal messages in regards to troubleshooting my modifications. Please post on the public forums instead.

Baldur's Gate Trilogy-WeiDU and Mods
Throne of Bhaal Extender (TobEx)

Contributions: (NWN2) A Deathstalker (voice acting) - (IWD2) IWD2 NPC Project (soundset editing) - (Misc) SHS PC Soundsets (voice acting)
Legacy: (BG/Tutu/BGT) Beregost Crash Fixer 1.9 (18 Jul 10) - (BG2) Enable conversations with charmed/dominated creatures (18 Jul 10) - (BG2) Experience Corrections (18 Jul 10) - (Misc) Platform Conversion Utility RC2 (13 Feb 10)


#45 Taimon

Taimon
  • Member
  • 387 posts

Posted 22 August 2009 - 12:02 AM

Do you have a reliable way to reproduce the issue? (i.e. BG1 Jaheira/Viconia not getting purged from GAM file)

#46 Ascension64

Ascension64
  • Modder
  • 5983 posts

Posted 22 August 2009 - 02:04 AM

I have been collecting these saved games - they consistently return the wrong character.

--------------
Retired Modder
Note: I do not respond to profile comments/personal messages in regards to troubleshooting my modifications. Please post on the public forums instead.

Baldur's Gate Trilogy-WeiDU and Mods
Throne of Bhaal Extender (TobEx)

Contributions: (NWN2) A Deathstalker (voice acting) - (IWD2) IWD2 NPC Project (soundset editing) - (Misc) SHS PC Soundsets (voice acting)
Legacy: (BG/Tutu/BGT) Beregost Crash Fixer 1.9 (18 Jul 10) - (BG2) Enable conversations with charmed/dominated creatures (18 Jul 10) - (BG2) Experience Corrections (18 Jul 10) - (Misc) Platform Conversion Utility RC2 (13 Feb 10)


#47 Taimon

Taimon
  • Member
  • 387 posts

Posted 22 August 2009 - 02:56 AM

It's a simple hashtable lookup (over scriptname). This table is populated with the NPC scriptnames when the GAM file is loaded.
So the order of the NPCs in the GAM file matters. (I can't recall right now if the first or the last one wins.)
I'm not sure if it's possible to influence the order when saving a game.

Did you try to completely get rid of the BG1 NPC after the transition? (So it does not end up in the GAM at all.)

#48 Ascension64

Ascension64
  • Modder
  • 5983 posts

Posted 22 August 2009 - 06:07 PM

It's a simple hashtable lookup (over scriptname). This table is populated with the NPC scriptnames when the GAM file is loaded.
So the order of the NPCs in the GAM file matters. (I can't recall right now if the first or the last one wins.)
I'm not sure if it's possible to influence the order when saving a game.

Did you try to completely get rid of the BG1 NPC after the transition? (So it does not end up in the GAM at all.)

Well, once MakeGlobal() is executed, either directly or through JoinParty(), there is no way to 'remove' the NPC from the GAM file.
Did you find any exceptions that would prevent a MoveGlobal() from being executed? (e.g. such as that the NPC is dead)

--------------
Retired Modder
Note: I do not respond to profile comments/personal messages in regards to troubleshooting my modifications. Please post on the public forums instead.

Baldur's Gate Trilogy-WeiDU and Mods
Throne of Bhaal Extender (TobEx)

Contributions: (NWN2) A Deathstalker (voice acting) - (IWD2) IWD2 NPC Project (soundset editing) - (Misc) SHS PC Soundsets (voice acting)
Legacy: (BG/Tutu/BGT) Beregost Crash Fixer 1.9 (18 Jul 10) - (BG2) Enable conversations with charmed/dominated creatures (18 Jul 10) - (BG2) Experience Corrections (18 Jul 10) - (Misc) Platform Conversion Utility RC2 (13 Feb 10)


#49 babylonlin

babylonlin
  • Member
  • 2 posts

Posted 22 August 2009 - 06:55 PM

OK give this a go. It is usually better to use the Cut function for the entry than to use the Remove button.


Thanks a lot for the help. I noticed that when I use remove button to remove NPC, near infinity can not open the edited GAM file again. It show the error message "unknown file". Just curious how can this happen.

#50 Taimon

Taimon
  • Member
  • 387 posts

Posted 23 August 2009 - 03:22 AM

Did you find any exceptions that would prevent a MoveGlobal() from being executed? (e.g. such as that the NPC is dead)

No, like I said only object_id = HashMap.get(script_name).
Your only chance is to make sure that
(1) the order in the GAM is "correct" (I think the last one wins)
or (2) the BG1 NPC is somehow removed from the GAM file.

#51 Ascension64

Ascension64
  • Modder
  • 5983 posts

Posted 23 August 2009 - 05:42 AM

(1) the order in the GAM is "correct" (I think the last one wins)

When you say the last one wins, do you mean that the most recently entered entry is the one that is returned? Also, would you know whether the order of entries in the GAM is reshuffled when a game is saved?

Edited by Ascension64, 23 August 2009 - 05:52 AM.

--------------
Retired Modder
Note: I do not respond to profile comments/personal messages in regards to troubleshooting my modifications. Please post on the public forums instead.

Baldur's Gate Trilogy-WeiDU and Mods
Throne of Bhaal Extender (TobEx)

Contributions: (NWN2) A Deathstalker (voice acting) - (IWD2) IWD2 NPC Project (soundset editing) - (Misc) SHS PC Soundsets (voice acting)
Legacy: (BG/Tutu/BGT) Beregost Crash Fixer 1.9 (18 Jul 10) - (BG2) Enable conversations with charmed/dominated creatures (18 Jul 10) - (BG2) Experience Corrections (18 Jul 10) - (Misc) Platform Conversion Utility RC2 (13 Feb 10)


#52 Taimon

Taimon
  • Member
  • 387 posts

Posted 25 August 2009 - 01:19 PM

When you say the last one wins, do you mean that the most recently entered entry is the one that is returned?

I was talking about file offsets. So whoever is at a later position in the NPC part of the GAM file will win.

Also, would you know whether the order of entries in the GAM is reshuffled when a game is saved?

No, the order of the global characters list is preserved.

I still have to test some things, but it seems that characters, that left the party, are added to the front of the list.
The death effect can trigger a removal from that list, and the area loading code can replace a character in it. (npclevel.2da)

Doesn't look good for us. :(
I can certainly hack something in, but I guess exe patches should be avoided whenever possible.

#53 Ascension64

Ascension64
  • Modder
  • 5983 posts

Posted 26 August 2009 - 02:03 AM

The death effect can trigger a removal from that list

Under what circumstances can this occur? Killing the old characters is not a problem because the death variable can be reset. I'm desperate for any solution that does not require changing the death variable for the BG1 versions of the characters. And like you said, the less exe hack the better. :)

--------------
Retired Modder
Note: I do not respond to profile comments/personal messages in regards to troubleshooting my modifications. Please post on the public forums instead.

Baldur's Gate Trilogy-WeiDU and Mods
Throne of Bhaal Extender (TobEx)

Contributions: (NWN2) A Deathstalker (voice acting) - (IWD2) IWD2 NPC Project (soundset editing) - (Misc) SHS PC Soundsets (voice acting)
Legacy: (BG/Tutu/BGT) Beregost Crash Fixer 1.9 (18 Jul 10) - (BG2) Enable conversations with charmed/dominated creatures (18 Jul 10) - (BG2) Experience Corrections (18 Jul 10) - (Misc) Platform Conversion Utility RC2 (13 Feb 10)


#54 Taimon

Taimon
  • Member
  • 387 posts

Posted 28 August 2009 - 12:39 AM

Under what circumstances can this occur?

The creature also has to be in the list of familiars.
This can be achieved via the AddFamiliar() action. I tested it and was able to purge Minsc from the GAM file.

You still need to somehow protect the creature from the "xxx dies" string and reset the death variable, but chances are pretty good that we found a solution.
Best place for the removal is probably the transition scene.

#55 Ascension64

Ascension64
  • Modder
  • 5983 posts

Posted 28 August 2009 - 04:24 AM

Hey, sounds exotic. I like exotic. Are there any negative ramifications by using AddFamiliar()?

--------------
Retired Modder
Note: I do not respond to profile comments/personal messages in regards to troubleshooting my modifications. Please post on the public forums instead.

Baldur's Gate Trilogy-WeiDU and Mods
Throne of Bhaal Extender (TobEx)

Contributions: (NWN2) A Deathstalker (voice acting) - (IWD2) IWD2 NPC Project (soundset editing) - (Misc) SHS PC Soundsets (voice acting)
Legacy: (BG/Tutu/BGT) Beregost Crash Fixer 1.9 (18 Jul 10) - (BG2) Enable conversations with charmed/dominated creatures (18 Jul 10) - (BG2) Experience Corrections (18 Jul 10) - (Misc) Platform Conversion Utility RC2 (13 Feb 10)


#56 Taimon

Taimon
  • Member
  • 387 posts

Posted 28 August 2009 - 05:34 AM

Haven't seen anything, but I'd suggest to remove the creature as soon as possible after the AddFamiliar().

AddFamiliar() only sends a message to the creature, which basically sets EA = FAMILIAR and adds the creature id to the list.
The death effects also removes the creature from the list of familiars.

#57 Ascension64

Ascension64
  • Modder
  • 5983 posts

Posted 21 September 2009 - 03:59 AM

I can't work out what constitues a 'death effect'. Is there an actual effect that uses the 'death effect'?
Ctrl-Y works in purging the character from GAM, but Damage, Level Drain, Kill target, and PowerWordKill don't purge the character.
Edit: I worked it out. The character has to kill themselves either by script or effect.

Edited by Ascension64, 21 September 2009 - 04:25 AM.

--------------
Retired Modder
Note: I do not respond to profile comments/personal messages in regards to troubleshooting my modifications. Please post on the public forums instead.

Baldur's Gate Trilogy-WeiDU and Mods
Throne of Bhaal Extender (TobEx)

Contributions: (NWN2) A Deathstalker (voice acting) - (IWD2) IWD2 NPC Project (soundset editing) - (Misc) SHS PC Soundsets (voice acting)
Legacy: (BG/Tutu/BGT) Beregost Crash Fixer 1.9 (18 Jul 10) - (BG2) Enable conversations with charmed/dominated creatures (18 Jul 10) - (BG2) Experience Corrections (18 Jul 10) - (Misc) Platform Conversion Utility RC2 (13 Feb 10)


#58 Taimon

Taimon
  • Member
  • 387 posts

Posted 23 September 2009 - 05:34 AM

I think I just used ActionOverride(..., Kill()) via script.

Let me know if something still doesn't work. (via PM)

Edited by Taimon, 23 September 2009 - 05:34 AM.