Jump to content

Home

NPC Scripting/trigger questions


jarec

Recommended Posts

Hey, I have a few questions about scripting and triggers that I hope someone can help with in fine-tuning my recruitable NPC:

 

- I've been trying to set things up so that this NPC will be in a meditation position like Uthar on Korriban is (he never moves from the spot until recruited), until he's spoken to ... after conversation ends, he goes back to the meditation position again. Could someone give me a clue on how to write a script to do that and where to put it? I wondered if it would be in the heartbeat or userdefined scripts on the utc, but I don't understand those too well, so I don't want to mess with them until I know what I'm doing.

 

- The trigger points in some modules that start off party member dialogue (where it says "So-and-so looks bothered, maybe you should see what's on their mind") seem to trigger for my recruitable just about every time I pass over one. I've checked the dialogue file, the k_con_npctalk and k_act_npctalk scripts are set up on the tree exactly how the other party NPCs have in their dialogue, yet theirs never seems to fire except when they have something to say. I've looked at the variable in my savegames that is supposed to be reset by k_act_npctalk and it *is* being turned off, it is just that it turns on again even when my recruitable has nothing new to say. Any ideas what else I could check?

 

- I'm trying to do a workaround for the lev40_carth.dlg problem on the Leviathan. Since there are two dialogue files named that, overriding with a custom dialogue causes a ton of problems. I decided to try and attack that problem indirectly by modifying the script that checks if Juhani is alive or not so that it returns false only when you're on the Leviathan (and hence omits Juhani's bit of the dialogue tree completely). This is what I came up with:

 

int StartingConditional()
{
   int iResult;

   iResult = GetGlobalNumber("Dan_Juhani_Plot")!=2;
   string sArea = GetName(GetArea(OBJECT_SELF));

   if (sArea == "lev_m40aa")
   {
       return FALSE;
   }


return iResult;
}

 

I'm not quite up to the Leviathan part yet, but I guess I just want to know if that will block out her Leviathan dialogue, but function normally otherwise?

 

Thanks in advance for any answers/advice. :)

Link to comment
Share on other sites

Archived

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

×
×
  • Create New...