Jump to content

Newbie Modding Questions


Twani

Recommended Posts

Twani: If you mean the conditions for the (not triggered by script, but by the engine itself) banter dialogues, then yes, all conditions into the banter dialogue header.

 

The rule is: no additional trigger into the dialogue (additional in respect to what triggered the dialogue). If there is no script, then triggers in the banter file aren't additional. If that makes any sense.

Link to comment

Bam!

 

4 hours of reading, coding and troubleshooting later - one working cutscene-involving lovetalk 26 with an areaswitch back and forth once entering the Mithrest Inn. Thank god for you guys and both your advice and helpfulness over the course of these past weeks. :)

 

Now, let's see. I'm using the obvious ActionOverride("X",LeaveAreaLUA("X","",[X.X],X)) to move the characters in between areas - in this case i've added a inn upstairs for a "private dining room". However - i am only moving Player1 and Liella, using her DV and the Player1, between the areas. Is there something i should be careful about when moving only certain npc's between areas? I wouldn't want anyone to get stuck - Player1 *is* a good method for moving <CHARNAME> about, correct - or is there a better token for moving the protagonist? To be clear, i *only* want to move <CHARNAME> and Liella between these two areas. The extra NPC that spawns for the purpose of this lovetalk gets destroyed once it's over.

 

Cheers!

Link to comment

Thank you Mike1072 for the link. I was absolutely unaware of this.

 

But, I think devSin summed it up (following the link):

Protagonist seems to be the equivalent of Gabber. It's only used in IWD dialogues, and checks against the party member currently in dialogue (it doesn't return Player1).
So, no, even if "Protagonist" can be used as a Script Variable, it is not (necessarily) Player1.
Link to comment

Alright - final script/cutscene for SOA.

 

It involves pretty much a similar scenario to the previous one. After a firing dreamscript and rest-talk, the player and Liella are transported to a forest-like area where the pivotal lovetalk will fire following a short encounter - think in terms of the talk where you're romancing Jaheira and wake up to find ambushers around you. The reason i want to move the player and NPC is to increase immersion due to the setting of the talk.

 

However!

 

I can't seem to find a move-variable that will allow me to script moving the player back to the previous area from whence they came. I'd like for the script to - like the preceding dreamscript - to fire in any forest area, but to do that i obviously need to be able to move them back to the previous area when it's done - regardless what forest area they rested in. Is this not possible? Should i simply either script it to fire only in *one* forest area, or perhaps not move the characters at all and simply use CreateCreatureObject to create the encounter near the player?

 

Cheers!

Link to comment

Ah, you probably need StorePartyLocations() and RestorePartyLocations(). Feel free to browse Xan's dream talks for ToB - there are plenty encounters like this, files O#Drm6a.baf and O#Drm6b.baf, for example.

Irenicus' dream cutscenes from the game use these, too.

Link to comment

Both StorePartyLocations() and SaveObjectLocation(S:Area*,S:Global*,O:Object*) can be used to store locations.

 

StorePartyLocations() can be used to store the location of the whole party. The counterpart of StorePartyLocations() is RestorePartyLocations().

 

StorePartyLocations() has a downside however. It uses a single global structure to store the party's location. If another mod has already used the same action, your own call overwrites the stored location and will surely mess up events in that other mod.

 

SaveObjectLocation(S:Area*,S:Global*,O:Object*) can be used to store the location of a single character. For example, SaveObjectLocation("GLOBAL", "LOCPlayer1", Player1) will save the location of the protagonist into the global variable LOCPlayer1. I've never used SaveObjectLocation() myself, so I don't know what can be used to restore the character's location, but the action MoveToSavedLocation(S:GLOBAL*,S:Area*) looks very promising. Theoretically, the statement ActionOverride(Player1, MoveToSavedLocation("GLOBAL", "LOCPlayer1")) should restore the protagonist's location.

Link to comment

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...