Okay, this is just quick, and only sets up one possible node, but I tested it and it works. Hopefully this is enough to at least get you going with what you want, or give you ideas enough to do it another way.
-- The initial starting conditional:
int StartingConditional()
{
//// Tokens and variable names should be set to what works with your existing mod standards.
//// One pair of these needed with unique token numbers per travel option the NPC will offer.
SetCustomToken (4201, GetLocalString (OBJECT_SELF, "TRAVEL_1_NAME") );
SetCustomToken (4211, IntToString (GetLocalInt (OBJECT_SELF, "TRAVEL_1_COST")) );
return TRUE;
}
-- The conditional for conversation node 1:
int StartingConditional()
{
if (GetLocalInt (OBJECT_SELF, "TRAVEL_1") ) return TRUE;
return FALSE;
}
-- Option ones example line in the convo itself. Each line needs to match the tokens set:
<CUSTOM4201>: <CUSTOM4211> GPs.
-- The script for selecting option 1:
//// If you want to do anything elaborate, like a mini cutscene, move this whole routine
//// to an include to keep the size of it down.
//// All you need to pass along, is the NPC, PC, and convo option number, "1" in this example.
void main()
{
object oPC = GetPCSpeaker();
int nCost = GetLocalInt (OBJECT_SELF, "TRAVEL_1_COST");
//// Putting gold check here, instead of in the conditional,
//// so a poorer PC will still see the options available to travel.
if (GetGold (oPC) < nCost)
{
//// This message could alternately be set on the NPC, to give each a more "unique" feel,
//// but this is just a quick example.
SpeakString ("You don't have enough gold to travel.");
}
else
{
SpeakString ("Hop in. [Gesturing to the nearby wagon]");
TakeGoldFromCreature (nCost, oPC);
object oWP = GetObjectByTag (GetLocalString (OBJECT_SELF, "TRAVEL_1_WP"));
location lWP = GetLocation (oWP);
DelayCommand (5.0, AssignCommand (oPC, JumpToLocation (lWP)) );
}
}
Variables used in this example:
string TRAVEL_1_WP
string TRAVEL_1_NAME
int TRAVEL_1_COST (GP cost - any positive number will work.)
int TRAVEL_1 (TRUE/FALSE type. Set 1 to activate. Alternatively, you could just use the cost as the check)
All four variables need to be set for each option the NPC will have, with a unique named conditional and selection script for each.