I don't know if this is just me but whenever I select a Topic in the Quest Stage, I'm able to pick one but they don't appear in "The List". Does anyone know what this issue could be?
I'm using the Fallout 3 Geck, and I'm just curious if you happened to do idle chatter at all for your dialogue on your companion. I'm currently struggling with mine and trying to figure out how to get her idle chatter to work. Nothing seems to work and no matter how hard I look there's never really any good guides or tutorials on this specific thing. I'm not exactly sure what I'm doing wrong as she never wants to say her lines no matter how long I wait. Could you possibly steer me in the right direction on how to get the idle chatter to work? If not, I apologize for wasting your time on this. I'm just trying to go around and ask others for advice on this as I have no clue how to fix this problem and it's honestly driving me up a wall.
I'm late but the way I ended up doing it for my companion in FNV is by making a new quest specifically for idle chatter, and just set a timer in the quest script to make my companion say something random at certain intervals. The script would end up looking something like:
Spoiler:
Show
scn mycoolscript
short timer
begin gamemode ?if timer >= 60 ??AAAMyCompanionREF.Say FunnyLine ??set timer to 0 ?elseif timer == 0 ??set timer to timer + GetSecondsPassed ?endif end
I'm experiencing a few issues with the mini scripts. Under FollowersFiredYes, I keep getting these warnings:
"SCRIPTS: Script 'DefaultCompiler', line 2: Unknown variable or function 'Waiting'." "SCRIPTS: Script 'DefaultCompiler', line 2: Missing variable name in set command."
I've followed the guide completely and I'm not sure what the issue could be. I'm new to this, so any help would be appreciated.
EDIT: I figured out the issue. I assigned the NPC's REF to the fog surrounding her. After re-assigning the REF to the NPC, everything fell into place, for the most part.
I can tell you, BreadMan, because I just figured it out myself. Hopefully this information is still useful to you even at this late date.
What you want to do is load up the cell where you placed your NPC. Look for their name in the panel that lists all of the placed objects in each cell.
Right click on their name and select Edit.
---If you're like me, then where you ended up being stuck was with the Reference aspect. I thought that the Reference ID was something that was just given to any newly created NPC/object, but that is not the case.---
When you look at the box that pops up after clicking Edit, you will see that there is in fact no Reference ID for your NPC. You must give them one. Choose what you like, but adding REF at the end of it is purely optional--which was the confusing part for me.
Once you have given them a Reference ID, close the box and save your esp. Now go back to your dialogue and edit all of your script bits to call upon your new ID.
This was my Hiring script. Just highlight the CustomReferenceIDGoesHere bit and paste in your own custom ID. The script should work fine.
Set CustomReferenceIDGoesHere.Waiting to 0 Set CustomReferenceIDGoesHere.IsFollowingDefault to 1 Set CustomReferenceIDGoesHere.IsFollowingLong to 0 Set CustomReferenceIDGoesHere.CombatStyleRanged to 1 Set CustomReferenceIDGoesHere.CombatStyleMelee to 0 Set CustomReferenceIDGoesHere.HasBeenHired to 1SetPlayerTeammate 1 SetIgnoreFriendlyHits 1 CustomReferenceIDGoesHere.evp
-------------------------------------------------- Edit: I glanced at your post history. Perhaps the FollowerFiredYes script I made would be more useful to you. Here you go:
Set CustomReferenceIDGoesHere.Waiting to 0 Set CustomReferenceIDGoesHere.HasBeenHired to 0 Set CustomReferenceIDGoesHere.L38 to 0 Set CustomReferenceIDGoesHere.IsFollowingDefault to 0 Set CustomReferenceIDGoesHere.IsFollowingLong to 0 CustomReferenceIDGoesHere.SetPlayerTeammate 0 CustomReferenceIDGoesHere.evp
Great tutorial! This helped out a lot, however there is one little issue I run into, when I approach my companion sometimes the "I think we should travel together" dialogue option doesn't always appear (it does appear, but sometimes it simply isn't there). Did I mess something up or is this just some weird engine bug?
Im at the FollowerHired part and when i change to GetQuestVariable from GetScriptVariable then change Parameter 1 to the QuestScript i made, it wont show up in the list at all even though the QuestScript is saved and i can even put it as a script in the Quest Data tab. Ive try save and exiting aswell.
Suggestion, have the first 2 scripts that are needed to be in text format so we can ctrl-c and ctrl-v rather than type them out. after they are pasted the XXX can be changed to ours. That's allot of typing that can be easily messed up and hard to find the typo.
In case someone else may want them as well, here they are.
scn ***Script
short HasBeenHired short L38 short Relax short DoOnce
int CombatStyleRanged int CombatStyleMelee int IsFollowingDefault int IsFollowingLong int FollowerSwitchAggressive int Waiting
Begin GameMode If (DoOnce !=1) Set HasBeenHired to 0 Set L38 to 0 Set CombatStyleRanged to 1 Set CombatStyleMelee to 0 Set IsFollowingDefault to 0 Set IsFollowingLong to 0 Set FollowerSwitchAggressive to 0 Set Waiting to 0 Set Relax to 0 Set DoOnce to 1 EndIf
End
==============
scn ***QuestScript
short b***Hireable short b***DoOnce
Begin GameMode if (b***DoOnce != 1) set b***Hireable to * set b***DoOnce to 1 endif end
" Moving on to FollowersTacticsCombatPassive. Set your Response text and in the Choices set in the following: FollowersTacticsCombatEND and FollowersTacticsCombatGOODBYE. In the Conditions we set our "GetID" and "GetScriptVariable". This script variable is the NPC for Parameter 1 and for Parameter 2 is "FollowerSwitchAggressive" with a value of 0. And last but not least the Result Script (Begin).
Set ***REF.FollowerSwitchAggressive to 0"
Specifically, the condition should be " FollowerSwitchAggressive" with a value of 1, so you can use it if the follower is already aggressive.
If you leave it as 0, you can only use it when it's passive and it'll only make the NPC passive again.
149 comments
This Oblivion scripting tutorial can probably explain it better than I can tbh. Good luck out there!
Thank you for sharing this guide, it tells you just enough but doesn't stray off too much, at least the NSFW stuff is skipable!
"SCRIPTS: Script 'DefaultCompiler', line 2: Unknown variable or function 'Waiting'."
"SCRIPTS: Script 'DefaultCompiler', line 2: Missing variable name in set command."
I've followed the guide completely and I'm not sure what the issue could be.
I'm new to this, so any help would be appreciated.
EDIT: I figured out the issue. I assigned the NPC's REF to the fog surrounding her. After re-assigning the REF to the NPC, everything fell into place, for the most part.
Hopefully this information is still useful to you even at this late date.
What you want to do is load up the cell where you placed your NPC. Look for their name in the panel that lists all of the placed objects in each cell.
Right click on their name and select Edit.
---If you're like me, then where you ended up being stuck was with the Reference aspect. I thought that the Reference ID was something that was just given to any newly created NPC/object, but that is not the case.---
When you look at the box that pops up after clicking Edit, you will see that there is in fact no Reference ID for your NPC. You must give them one. Choose what you like, but adding REF at the end of it is purely optional--which was the confusing part for me.
Once you have given them a Reference ID, close the box and save your esp. Now go back to your dialogue and edit all of your script bits to call upon your new ID.
This was my Hiring script. Just highlight the CustomReferenceIDGoesHere bit and paste in your own custom ID. The script should work fine.
Set CustomReferenceIDGoesHere.Waiting to 0
Set CustomReferenceIDGoesHere.IsFollowingDefault to 1
Set CustomReferenceIDGoesHere.IsFollowingLong to 0
Set CustomReferenceIDGoesHere.CombatStyleRanged to 1
Set CustomReferenceIDGoesHere.CombatStyleMelee to 0
Set CustomReferenceIDGoesHere.HasBeenHired to 1SetPlayerTeammate 1
SetIgnoreFriendlyHits 1
CustomReferenceIDGoesHere.evp
--------------------------------------------------
Edit: I glanced at your post history. Perhaps the FollowerFiredYes script I made would be more useful to you.
Here you go:
Set CustomReferenceIDGoesHere.Waiting to 0
Set CustomReferenceIDGoesHere.HasBeenHired to 0
Set CustomReferenceIDGoesHere.L38 to 0
Set CustomReferenceIDGoesHere.IsFollowingDefault to 0
Set CustomReferenceIDGoesHere.IsFollowingLong to 0
CustomReferenceIDGoesHere.SetPlayerTeammate 0
CustomReferenceIDGoesHere.evp
scn ***Script
short HasBeenHired
short L38
short Relax
short DoOnce
int CombatStyleRanged
int CombatStyleMelee
int IsFollowingDefault
int IsFollowingLong
int FollowerSwitchAggressive
int Waiting
Begin GameMode
If (DoOnce !=1)
Set HasBeenHired to 0
Set L38 to 0
Set CombatStyleRanged to 1
Set CombatStyleMelee to 0
Set IsFollowingDefault to 0
Set IsFollowingLong to 0
Set FollowerSwitchAggressive to 0
Set Waiting to 0
Set Relax to 0
Set DoOnce to 1
EndIf
End
==============
scn ***QuestScript
short b***Hireable
short b***DoOnce
Begin GameMode
if (b***DoOnce != 1)
set b***Hireable to *
set b***DoOnce to 1
endif
end
One mistake for anyone reading this though:
" Moving on to FollowersTacticsCombatPassive. Set your Response text and in the Choices set in the following: FollowersTacticsCombatEND and FollowersTacticsCombatGOODBYE. In the Conditions we set our "GetID" and "GetScriptVariable". This script variable is the NPC for Parameter 1 and for Parameter 2 is "FollowerSwitchAggressive" with a value of 0. And last but not least the Result Script (Begin).
Set ***REF.FollowerSwitchAggressive to 0"
Specifically, the condition should be " FollowerSwitchAggressive" with a value of 1, so you can use it if the follower is already aggressive.
If you leave it as 0, you can only use it when it's passive and it'll only make the NPC passive again.