Jump to content


Photo

A MoveBetweenAreas question


  • Please log in to reply
9 replies to this topic

#1 Miss Sakaki

Miss Sakaki

    Modder

  • Modder
  • 505 posts

Posted 29 August 2007 - 01:01 AM

I'm using MoveBetweenAreas to get rid of Sebastian and Andrei after they leave the party via a fake Dimension Door spell. A timer is set, and once it expires they go to Waukeen's Promenade, again using MoveBetweenAreas. This works fine if I'm not in Waukeen's Promenade when the timer expires - if I'm there already, they don't reappear.

How can I make sure they appear? Is there another action that works more reliably in this scenario?

#2 Ascension64

Ascension64
  • Modder
  • 5983 posts

Posted 29 August 2007 - 01:40 AM

You seem to indicate that Sebastian and Andrei are joinable NPCs. You might be able to use MoveGlobal(). It precisely puts joinable NPCs saved into BALDUR.GAM places, no matter where they exist in the game world. The syntax is:

MoveGlobal(S:Area*,O:Object*,P:Point*)

e.g. MoveGlobal("AR0602", "Minsc", [400.600])

--------------
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)


#3 Kaeloree

Kaeloree

    Head Molder

  • Administrator
  • 9202 posts

Posted 29 August 2007 - 01:49 AM

If they've left the party, you might need to MakeGlobal() them, though. I could be wrong, I'm not terribly technically oriented, as you might know. ;)

#4 berelinde

berelinde

    Troublemaker

  • Modder
  • 4916 posts

Posted 29 August 2007 - 01:56 AM

MakeGlobal() requires ToB.

"Imagination is given to man to console him for what he is not; a sense of humor, for what he is." - Oscar Wilde

berelinde's mods
TolkienAcrossTheWater website
TolkienAcrossTheWater Forum


#5 Kulyok

Kulyok
  • Modder
  • 2450 posts

Posted 29 August 2007 - 02:57 AM

No, once they're in the party, no MakeGlobal should be necessary.

I used MoveGlobal() with Xan, but it only worked when appended to Baldur25.baf(or Baldur.baf) for SoA, so you've been warned.

#6 Kaeloree

Kaeloree

    Head Molder

  • Administrator
  • 9202 posts

Posted 29 August 2007 - 02:59 AM

So, they aren't removed as Globals once they're removed from the party? Weird.

#7 Kulyok

Kulyok
  • Modder
  • 2450 posts

Posted 29 August 2007 - 03:28 AM

Yeah, it's like Ascension64 said. I wish it was this way with non-joinables, too: the way it is now, Busya's RE encounter is awkward, because in the original game she escapes the area, and we have to spawn her _cre file_ again, because we can't move her death variable. Which means that her dress changes its color, and possibly her hair does, too.

#8 Miss Sakaki

Miss Sakaki

    Modder

  • Modder
  • 505 posts

Posted 29 August 2007 - 05:11 AM

Yeah, I've had that exact problem with having to respawn non-joinable NPCs too. Darn Infinity Engine and its limitations! Thanks Kulyok - I'll use MoveGlobal, but append it to baldur.bcs rather than their own scripts.

#9 berelinde

berelinde

    Troublemaker

  • Modder
  • 4916 posts

Posted 29 August 2007 - 06:30 AM

Thing with putting it in their own scripts is that out-of-party NPC scripts don't run as frequently as in-party NPC scripts. It might get missed. You could always do what Kulyok did and stick it in baldur*.baf.

"Imagination is given to man to console him for what he is not; a sense of humor, for what he is." - Oscar Wilde

berelinde's mods
TolkienAcrossTheWater website
TolkienAcrossTheWater Forum


#10 Jarno Mikkola

Jarno Mikkola

    The Imp in his pink raincoat.

  • Member
  • 10911 posts

Posted 29 August 2007 - 06:45 AM

Might be my crazy idea, but why not make sure that the player isn't in the Waukeen's Promenade as the timer expires, and if he is, give additional time to the timer, untill he isn't and then trigger the move.

Deactivated account. The user today is known as The Imp.