Kurzusseus Posted December 15, 2013 Share Posted December 15, 2013 Hello I'm a somewhat advanced modder as I've been messing around with the geck for both FO3 and NV. I've encountered a problem that I just can't seem to fix. I'm trying to make this force greet between the player and an npc named John.B Harson. However he wont force greet. I've given him a dialogue package and a topic called "HarsonLastDialogue" and he's to use this dialogue before dying in an explosion. But when he gets to the stage, he just sits there- the player can no longer activate him to talk period and he doesn't move at all. Here is a script. scn NIDTheAttackScript short killcount1short TriggeryesShort ArmorobtainedShort StageShort Paladin001Short Paladin002 begin gamemode if Armorobtained ==2setstage NIDTheAttack 10set triggeryes to 1endif if triggeryes ==1triggeryes2.enableendif if Paladin001 ==4BombedDoorTig.enableset Stage to 3endifend When the variable Stage ==3 His dialogue package has a condition which will enable him to use it, forcing him to force greet the player. However when Stage ==3 he stands there, and can no longer be talked with at all. Any feedback? Link to comment Share on other sites More sharing options...
jazzisparis Posted December 15, 2013 Share Posted December 15, 2013 Check the conditions of every AI package and make sure all the packages are mutually-exclusive (i.e. only a single package is valid on any given time). Instead of using a dialogue package, try forcing the topic via script: NPCRef.StartConversation player HarsonLastDialogue Link to comment Share on other sites More sharing options...
pkleiss Posted December 15, 2013 Share Posted December 15, 2013 (edited) You can debug your AI packages using the console... GetCurrentAIPackageGetCurrentAIProcedure either click on your NPC from the console when he's stuck or use the prid command, then type in the above to commands. Use the links above to verify the return codes are correct for the package you expect to be running. If they aren't then you need to review your package conditions. You can further debug your process if you have FOSE installed. You can then use the printc command to dump variables to the console and use the scof (set Console Output File) command to dump all console output to a text file. Example:scof "MytextFile.TXT" (type this in the console before your script executes in game)printc paladin001 %g (put this in your script where you want to check your variables) use this page to learn more about formatting variables with the printc command. Lastly, there are so many other mitigating circumstances that govern why your NPC isn't doing what you expect. Like jazziparis said, you'll need to chack your AI package conditions, your vaiables, your stage results scripts, etc... If it helps, I have a link in my sig to a dialogue and quest tutorial that covers making a force greet. Best of luck. Edited December 15, 2013 by pkleiss Link to comment Share on other sites More sharing options...
Kurzusseus Posted December 21, 2013 Author Share Posted December 21, 2013 Check the conditions of every AI package and make sure all the packages are mutually-exclusive (i.e. only a single package is valid on any given time). Instead of using a dialogue package, try forcing the topic via script: NPCRef.StartConversation player HarsonLastDialogue I've tried using that script before only to end in failure as he just sits there doing nothing. However I did look back on his AI packages and saw that he is set to follow the player until he is set to use the force greet package. If it helps explain his AI package goes as follows Script VariableShort Stage HarsonForcegreet Condition Stage ==3HarsonDoorexplode Condition Stage ==4HarsonFollowplayer Condition Stage == 2Harsontraveltowarground condition Stage ==1 Now when you get to a point in my interior, there are four men- upon killing them all the variable is set to 3, opting him to use his forcegreet AI and a trigger is enabled. He's supposed to talk with the player, walk into the trigger- and as he enters the trigger, a huge explosion occurs as a bunch of rubble is enabled acting as though the door, and wall was blown down, and he is killed. I know Stage reaches 3 as I've used the console command "Moveto player" to personally move him to the trigger zone, the trigger enables only when Stage ==3 and when he is moved to the location, the trigger goes off blowing up the wall. Link to comment Share on other sites More sharing options...
Recommended Posts