Maybe I could figure this out myself but (actually I tried, but I couldn’t)…So, I have a character in a scene that is moving towards a waypoint. Is there way to prevent that character from stopping her walking even though the player clicks on her to try to talk to her? Thing is, you have a conversation with her just before she starts walking, so she has to be conversable overall.
My guess is that I could do it like in another module of mine where there’s a cutscene and I make the PC follow her automatically, but it would feel more dynamic if you don’t have to follow her in this particular case.
ga_force exit on the last line of the conversation with the waypoint and her tag filled in the boxes if you want her to disappear through a door or something, just make another one of her in the next area.
The only thing the player can possibly do is read her description I tried to break it a lot of times in my mods when I was testing them and never could.
I took a look at all the include files and whatnot under ga_force_exit and then made my own version of the script that I called ga_force_exit_mod. It works perfectly and looks like this:
// ga_force_exit_mod - andgalf's modification of the stock script ga_force_exit.
/*
Wrapper for ForceExit, which makes a creature "exit" by moving it to a location and then removing it.
Params:
sCreatureTag - tag of the exiting creature
sWPTag - tag of the waypoint (or object) to move to.
bRun - 0 = walk; 1 = run
When the creature reaches the specified loaction he will be destroyed, or in the case of roster members, despawned.
Note: This is inteded to always work, and will remove flags such as plot and not-destroyable from the creature
before attempting to destroy it.
*/
// EPF
// ChazM 6/22/06 - just a comment change.
// ChazM 9/18/06 - more comment changes.
#include "ginc_misc"
// Force move to exit WP and destroy self or despawn if roster member
void ActionForceExitModi(string sExitTag = "WP_EXIT", int bRun=FALSE)
{
//location lExitLoc = GetLocation(FindDestinationByTag(sExitTag));
//ActionForceMoveToLocation(lExitLoc, bRun);
//object oExit = GetObjectByTag(sExitTag);
object oExit = GetNearestObjectByTag(sExitTag);
if (GetIsObjectValid(oExit))
{
ActionForceMoveToObject(oExit, bRun);
ActionDoCommand(SetCommandable(TRUE));
// SetPlotFlag(OBJECT_SELF,FALSE);
//ActionRemoveMyself();
//ActionDoCommand(DestroyObject(OBJECT_SELF));
SetCommandable(FALSE);
}
//else
//{
// ActionRemoveMyself();
//}
}
// Force creature w/ Tag sCreatureTag to move to exit WP and destroy self or despawn if roster member
void ForceExitModi(string sCreatureTag, string sWPTag, int bRun=FALSE)
{
object oCreature = GetTarget(sCreatureTag);
AssignCommand(oCreature, ActionForceExitModi(sWPTag, bRun));
}
void main(string sCreatureTag, string sWPTag, int bRun)
{
//PrettyDebug("Forcing Exit!");
ForceExitModi(sCreatureTag, sWPTag, bRun);
}