PDA

View Full Version : Scripting issue re:Jolee on Manaan


Totenkopf
11-22-2009, 09:26 PM
There are several lines in Jolee's dlg file when you find the tape at the embassy that don't seem to trigger re Sunry. The script from the game is as follows:

// :: k_swg_jolee12
/*
If the PC has the evidence tape
*/
//:: Created By: David Gaider
//:: Copyright (c) 2002 Bioware Corp

#include "k_inc-debug"
#include "k_inc_utility"

int StartingConditional ()
{
object oTape = GetItemPossessedBy(GetFirstPC(), "W_RTAPE");
int nTalk = UT_GetBooleanFlag(OBJECT_SELF, 3);
int nPlot = GetGlobalNumber("MAN_MURDER_PLOT");

if ((GetIsObjectValid(oTape)) && (nTalk = FALSE) && (!nPlot > 2))
{
return TRUE;
}
return FALSE;
}




What might be the cause? Is there something wrong with the original script above from the game that account for this?

stoffe
11-23-2009, 02:42 PM
There are several lines in Jolee's dlg file when you find the tape at the embassy that don't seem to trigger re Sunry. The script from the game is as follows:
(snip)
What might be the cause? Is there something wrong with the original script above from the game that account for this?

if ((GetIsObjectValid(oTape)) && (nTalk = FALSE) && (!nPlot > 2))

The orange-marked check above will assign the value FALSE to the variable nTalk and will then check if it's TRUE (which it never is since you just assigned it the value FALSE), so the script will always return FALSE.

Also I assume the red-marked negation operator is mistakenly placed inside the paranthesis instead of outside it, as it's currently negating nPlot's value rather than the resulting boolean value of the Plot > 2 comparison, which I assume was intended.

That line should probably be like:
if ((GetIsObjectValid(oTape)) && (nTalk == FALSE) && !(nPlot > 2))

Totenkopf
11-24-2009, 05:18 AM
*useful stuff*

Thanks, Stoffe. Worked perfectly.