Jump to content

Newbie Modding Questions


Twani

Recommended Posts

StorePartyLocations() is also used for the teleporting to-and fro of the pocket plane in ToB, I think? So, if a mod uses it inside the pocket plane, the "teleport me to where I was" is messed up.

Fortunately, the pocket plane teleportation uses a separate mechanism. So there is no danger in that regard.

Link to comment
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.
No mod should ever attempt to usurp this for the entirety of the game. If some does, it must be fixed.

 

Using this action for one event only is perfectly fine, however.

 

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 variableLOCPlayer1. 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 statementActionOverride(Player1, MoveToSavedLocation("GLOBAL", "LOCPlayer1")) should restore the protagonist's location.
MoveToSavedLocation() is a move/walk action. It doesn't deal with area transitions.

It's best use is probably to have combat AI return to its original position.

Link to comment

Edit: nevermind. i see what's happening. Let's see if i can solve it on my own.

 

 

 

Alright, new question - is there any way of adding a no-combat check to a cutscene? I can't find the like in the database. Perhaps this would defeat the purpose of cutscenes.

Link to comment
[...] So, no, even if "Protagonist" can be used as a Script Variable, it is not (necessarily) Player1.

I once tested "Protagonist" in BG games, and it seems to me that it perfectly replaces 'Player1,' both in scripts and dialogs (never tested it in multiplayer mode though)

As for IWD, all looks pretty messy. They indeed use "Protagonist" in dialogs all the time, instead of [PC] Also it seems to me that in certain situations, 'Player1' may actually choose another party member instead

Link to comment
Alright, new question - is there any way of adding a no-combat check to a cutscene? I can't find the like in the database. Perhaps this would defeat the purpose of cutscenes.

No trigger other than True() can be used in cutscenes, if that's what your question is about

Link to comment
Alright, new question - is there any way of adding a no-combat check to a cutscene? I can't find the like in the database. Perhaps this would defeat the purpose of cutscenes.

No trigger other than True() can be used in cutscenes, if that's what your question is about

 

It was - thank you very much!

Link to comment

There's no need for other triggers inside cutscenes anyway. You just check all conditions before starting one

Kinda

IF

CombatCounter(0)

....

THEN

RESPONSE #100

....

StartCutSceneMode()

StartCutScene("CUT1")

END

Link to comment

There's no need for other triggers inside cutscenes anyway. You just check all conditions before starting one

 

Aye, indeed. I made a *grave* error yesterday and it frustrated me prior to understanding it - tried to get around it every way i could. When i finally realized what it was that i did, it was pretty easy to understand the reasons for it and what i needed to do to fix it - adding triggers to cutscenes *not* being one of those things ^^.

Link to comment

Hope you're having a pleasant weekend, y'all!

 

Having finished with the scripts, main "quests" (Bodhi abduction, etc) and all of the talks and important parts, i'm doing a playthrough to see how things pace at their current state. There's a worry i have and that's been pointed out to me regarding the pacing and amount of content, so that's the main focus for this initial playthrough - making sure that everything is somewhat contextual, well-paced and relevant. As i do so i also keep my eyes out for areas, quests or times when it would be beneficial to add something such as an interjection, a comment or even a cutscene.

 

One of the major issues i've run into is the NPC banters.

 

The banter engine seems to fire banters much too...slowly and randomly for my taste, given that each NPC has a large number of banters with mine. My choices comes down to either cutting content or to somehow work all of the NPC banters into their own banter cycle, like a romance one perhaps. I was wondering if there's a mod out there that's done something similar - or if the only real option is to script certain banters to fire individually and keeping others in the standard engine. I want to avoid banter-flooding, of course.

Link to comment

New days, new questions.

 

So, i'm working on a few interjections i noted that i wanted to do after my first portion of the playthrough. I've had some success with templates and guesswork before, but now i need actual knowledge/logic.

 

I'm working on an interjection with captain Dennis at Delosar's using the following code.

 

 

 

//Captain Dennis and his crew before combat * Too late, boy! *

INTERJECT LOUTCAPT 3 W5LiDennis1

== W5LiJ IF ~InParty("W5Li") !StateCheck("W5Li",CD_STATE_NOTVALID)~ THEN

~Interjection Text~

EXTERN LOUTCAPT 6

 

 

The problem is that after the "Too late boy" and interjection, i can't find the state where combat starts - how do i go about triggering combat after the interjection ends? Using EXIT instead of EXTERN results in the mobs remaining neutral. I've guessworked my way through the various LOUTCAPT-numbers but nothing seems to do the trick.

 

Here's how it looks in NI

 

 

 

BefeqwI.jpg

 

 

 

What number indicates how to end this properly, and how?

Link to comment

You should be using I_C_T instead of INTERJECT unless you have a specific reason. I_C_T won't skip over other interjections and doesn't require an EXTERN to the original file; any further dialogue or actions should run as normal, provided you end the interjection with a line from the appropriate character. (If your NPC speaks last, she'll turn hostile instead.) Just have Dennis yell "Get 'em!" or whatever.

Link to comment

Archived

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

×
×
  • Create New...