McFearo Posted January 6, 2021 Share Posted January 6, 2021 Another day, another topic. So this is my first time trying to set up a force greet. I gave the companion a dialogue package following the settings on one of Arcade's dialogue packages, set to use the topic GREETING, wherein he has a special greeting with the condition where it runs if the player hasn't met him yet. It's set to Say Once and has a condition for "MetDixie == 0" and the dialogue sets that to 1, just to make sure he doesn't greet them twice like this. I then created an activator near the door of the building he's in, with this script attached: scn DixieGreetTriggerScript short bDoOnce begin OnTriggerEnter player if (bDoOnce == 0) if (DixieFollowerQuest.bDixieHired == 0) && (DixieFollowerQuest.bMetDixie == 0) DixieREF.AddScriptPackage DixieGreetPlayerPackage set bDoOnce to 1 Disable MarkForDelete endif endif endAgain, this is copied from one of Arcade's triggers for when you approach the vertibird. The scripts are all saving and the companion starts conversation with his special first time greeting if you talk to him, but entering the building and walking through the trigger does not cause him to run up to the player and initiate the conversation as I told him to do in the package. You have to talk to him to get the greeting. What am I missing? How can I get him to run up to the player and start a conversation? It's not a huge deal now but I might like to have him initiate other conversations later on to do with quests and stuff, like Arcade does, so I'd like to know how to make these force greets work. I checked this topic in the forums and tried scripting the trigger activator with "DixieREF.startconversation player GREETING" but that didn't do the trick either Link to comment Share on other sites More sharing options...
ashtonlp101 Posted January 6, 2021 Share Posted January 6, 2021 In the dialogue package if you leave the "Topics" tab at "NONE" it actually uses their greeting by default. I've never manually chosen the GREETING topic, so I'd recommend switching the tab to "NONE" to see if that does the trick. And as I've said a couple posts down, I'd refrain from using "&&" on your conditions because it can be a little f*#@y at times and not work correctly. Link to comment Share on other sites More sharing options...
McFearo Posted January 6, 2021 Author Share Posted January 6, 2021 In the dialogue package if you leave the "Topics" tab at "NONE" it actually uses their greeting by default. I've never manually chosen the GREETING topic, so I'd recommend switching the tab to "NONE" to see if that does the trick. And as I've said a couple posts down, I'd refrain from using "&&" on your conditions because it can be a little f*#@y at times and not work correctly. Hey there! I took your advice on both counts, switched the topic tab to NONE in the dialogue package and rewrote the script as follows, he's still not responding to the player walking through the activator. I feel like it must be a problem with the activator itself somehow like it's not being triggered when the player walks through it but I'm not sure what to do. Current script: scn DixieGreetTriggerScript short bDoOnce begin OnTriggerEnter player if (bDoOnce == 0) if (DixieFollowerQuest.bDixieHired == 0) if (DixieFollowerQuest.bMetDixie == 0) DixieREF.AddScriptPackage DixieGreetPlayerPackage set bDoOnce to 1 Disable MarkForDelete endif endif endif end Link to comment Share on other sites More sharing options...
lc1000 Posted January 6, 2021 Share Posted January 6, 2021 The script looks pretty good. Maybe add DixieREF.EvaluatePackage after you add the package. If that don't work I'd check the package. Put the package in him in the geck as a test and see if he comes running to talk to you or maybe swap your greet package with some generic travel to player package in the script for testing the script. Link to comment Share on other sites More sharing options...
McFearo Posted January 6, 2021 Author Share Posted January 6, 2021 (edited) The script looks pretty good. Maybe add DixieREF.EvaluatePackage after you add the package. If that don't work I'd check the package. Put the package in him in the geck as a test and see if he comes running to talk to you or maybe swap your greet package with some generic travel to player package in the script for testing the script.I finally got him to force greet the player but I had to take a different tack to get there because that trigger just was not working for me. I added a new if statement to his gamemode script to tell him "if you have not met the player yet, and you detect the player, run your greeting package" and he finally did it! It took a second to work but he greeted the player after a moment of walking around near him. The script I used that finally worked looked like this: Begin GameMode if (DixieFollowerQuest.bMetDixie == 0) if DixieREF.getdetected player == 1 DixieREF.addscriptpackage DixieGreetPlayerPackage endif endif EndThe greeting dialogue then sets "bMetDixie" to 1 so he won't do it again. I probably should still figure out what was going wrong with my previous attempts so I can get force greets for future events to work. If it wasn't the script and it wasn't the package it must be something to do with the activator? Maybe I'll get one of PixelHate's invisible activator meshes and use that going forward. Edited January 6, 2021 by McFearo Link to comment Share on other sites More sharing options...
clanky4 Posted January 7, 2021 Share Posted January 7, 2021 (edited) You might want to try ontrigger, instead of ontriggerenter. I've noticed that ontriggerenter has a few issues when you enter it when entering a new cell, specifically when using doors: https://forums.nexusmods.com/index.php?/topic/8316108-difference-between-ontriggerenter-and-ontrigger/ Edited January 7, 2021 by clanky4 Link to comment Share on other sites More sharing options...
ashtonlp101 Posted January 7, 2021 Share Posted January 7, 2021 (edited) You might want to try ontrigger, instead of ontriggerenter. I've noticed that ontriggerenter has a few issues when you enter it when entering a new cell, specifically when using doors: https://forums.nexusmods.com/index.php?/topic/8316108-difference-between-ontriggerenter-and-ontrigger/This is a good solution too. Just make sure you always use a DoOnce Variable because OnTrigger Runs every frame you're in the trigger, so if you don't block it off it will repeat all the script you've written. Edited January 7, 2021 by ashtonlp101 Link to comment Share on other sites More sharing options...
Recommended Posts