Jump to content

Perk based dialogue and scripts - more questions!


Recommended Posts

Top level tickbox just makes the item appear first in the list if there's more than one thing there.. still experimenting with this. I did find a tiny vanilla quest (3 topics) for cass that is completely invalid but linked from greeting. Deleted that. Looking for other stuff like this. There's nothing special about her really, so whatever is wrong must just be a bug interfering.

Link to comment

Wow, I appreciate the effort you guys are putting into this, a few hours later and here we are, 3 pages later!

 

But if you heavyweights are having such trouble, I have no idea what I am going to do. If I didn't love Cass so much I would hate her, I know she is a very troublesome NPC in regards to dialogue; the SexoutSex dialogue has to come after a bunch of options, tucked in with generic questions, as did the stuff Loogie added in for the companions plugin. She sure is annoying to write for.

 

Maybe I'll just move on to another character and return to her when I have more experience?

Link to comment

Top level tickbox just makes the item appear first in the list if there's more than one thing there.. still experimenting with this.

 

Tested that in my "trying shit out" esp. Brand new topic with top level checked appears by itself (& not first in the list) without needing a link from choices or addtopic. Without top-level checked, it doesn't appear.

One way or another, a topic needs to be added to the list of available topics. Top-level seems to act as an automatic addtopic. Probably to avoid the frequency of the addtopic bug occurring, which was a huge gripe in Oblivion. All of which is of course very underdocumented :)

 

Krem, I wouldn't say you should stay away from Cass, but hooking in to an existing greeting will definitely be troublesome.

Link to comment

Top level tickbox just makes the item appear first in the list if there's more than one thing there.. still experimenting with this.

 

Tested that in my "trying shit out" esp. Brand new topic with top level checked appears by itself (& not first in the list) without needing a link from choices or addtopic. Without top-level checked' date=' it doesn't appear.

[/quote']

 

Wrongness in wiki strikes again! I'm glad that so far I've not messed with much dialog beyond fixing occasional stuff in tryouts.

 

One way or another, a topic needs to be added to the list of available topics. Top-level seems to act as an automatic addtopic. Probably to avoid the frequency of the addtopic bug occurring, which was a huge gripe in Oblivion. All of which is of course very underdocumented :)

 

Just having it in the greeting topic is "supposed" to be enough. The greetings from the highest priority quest are then, again "suppposed" to be the ones that are presented to the user. The only NPCs that have dialog topics all the time regardless of being related to a quest are merchants. What we do in sexout WRT dialog is really abuse of the whole system, same with stuff in Lovers.

 

It's kind of shocking any of it works at all.

 

Krem, I wouldn't say you should stay away from Cass, but hooking in to an existing greeting will definitely be troublesome.

 

I would say that, or, require that people using your mod use smallertalk. It can handle Cass, though she has to be a companion (I think) for it to do its magic.

 

Alternatively you can just override the shit out of her dialog quest(s), but if you do that, you're going to run into load order problems with other mods that also do that -- which is why none of us really do that. ;)

Link to comment

DoctaSax appears to be right, checking the top level box makes it work. Even with 50 priority, it still comes at the bottom, but its a start

 

Now to try and link it to certain existing greetings! I will probably end up breaking Cass for some players, but I want to try and mingle what I have in my with her own quests. We shall see.

Link to comment

I don't actually think that Cass is "bugged"... as evidence I'd point to a simple comparison of GREETING topics each companion has:

Cass     55
Arcade   52
Raul     35
Boone    31
Veronica 26
Lily     20
Rex       6
ED-E      2

Arcade would likely give us just as much trouble if we actually attempted to mess with him as often as we do with Cass. She is simply overloaded with GREETING topics. When I was studying her to try to get her to work with SmallerTalk, the ONLY way I could get her to actually display Sexout topics was to cause her to do the SmallerTalk StartConversation which exposed top-levels instead of GREETING. The simplest method was the after companion wheel approach but the alternative method is to set your SmallerTalk timer higher than it takes for you to open dialogue with Cass and then close dialogue so she's still on the timer and does the SmallerTalk StartConversation.

 

Believe me, I tried a ton of different approaches to get Cass to work and the only way I found was StartConversation as an end around to GREETING.

 

Also, one of the restrictions I placed on SmallerTalk was that it not edit, link to or depend on an existing dialogue topic or response so I avoided any solutions that linked directly to existing vanilla topics/responses. Cass is the ONLY NPC I had to specifically test for in my scripts.

Link to comment

I know, but its incredibly hard to actually get greeting and other dialogue to show up with her.

 

I'm also getting really REALLY frustrated by the 100 character limit the player has to say things with. Its hard to say anything intelligent or meaningful with such short sentences. I mean, yay for conciseness, but not much else.

 

Also, does anybody know what code I have to attach at either Result Script (begin) and/or Result Script (end) to hire say, Cass or Veronica? I tried checking their topics to find it, but God, their topics are literally just called TOPICS and there are hundreds to scroll through. Why not just CassHire or something like that?

 

Anyway, I found this, but it was if she had already been hired:

 

 

if (VDialogueCass.bJoinedPartyOnce == 0)

set VNPCFollowers.nRecruited to VNPCFollowers.nRecruited + 1;

endif

set VDialogueCass.bJoinedPartyOnce to 1

set VNPCFollowers.BPlayerHasFollower to 1

set VNPCFollowers.nCurrentFollowers to VNPCFollowers.nCurrentFollowers + 1

SetIgnoreFriendlyHits 1

IgnoreCrime 1; (8_16_10) Added. -ETB

 

Set VNPCFollowers.bCassAvailable to 1

Set VNPCFollowers.bCassHired to 1

Set VNPCFollowers.bCassFired to 0

Set VNPCFollowers.bHumanoidInParty to 1

Set RoseOfSharonCassidyREF.IsFollowingDefault to 1

Set RoseOfSharonCassidyREF.CombatStyleRanged to 1

Set RoseOfSharonCassidyREF.Waiting to 0

RoseOfSharonCassidyREF.addperk CompanionSuite

player.addperk WhiskeyRose

showmessage FollowerMessagePerkCassAdd

RoseOfSharonCassidyREF.RemoveFromFaction NCRFactionNV; (8_16_10) Added. -ETB

RoseOfSharonCassidyREF.AddToFaction FollowerFaction 1

RoseOfSharonCassidyREF.SetPlayerTeammate 1

RoseOfSharonCassidyREF.SetFactionRank TeammateFaction 1

RoseOfSharonCassidyREF.evp

startquest vCassTimer

 

 

Also, what can I trim here that doesn't instantly relate to just having her follow me as a companion? Or is it just better to leave as is?

Link to comment

I know' date=' but its incredibly hard to actually get greeting and other dialogue to show up with her.

 

I'm also getting really REALLY frustrated by the 100 character limit the player has to say things with. Its hard to say anything intelligent or meaningful with such short sentences. I mean, yay for conciseness, but not much else.

[/quote']

 

You can get around that (annoyingly) by adding a "...waits for you to finish..." topic or something to indicate the NPC is waiting for you to say more. It's annoying as shit, but there you have it.

 

Also, does anybody know what code I have to attach at either Result Script (begin) and/or Result Script (end) to hire say, Cass or Veronica? I tried checking their topics to find it, but God, their topics are literally just called TOPICS and there are hundreds to scroll through. Why not just CassHire or something like that?

 

It's a nightmare for both and I really recommend against it. You're going to need to set all the quest vars and stages that get set normally to hire them. Doing so without that will just lead to broken vanilla quests.

 

For veronica it's probably pretty easy to do, but may still break immersion somewhat.

 

For Cass you're going to have to deal with the whole buyout issue and 'complete' the quests related to that however you think is appropriate (possibly going against the players wishes).

Link to comment

I know' date=' but its incredibly hard to actually get greeting and other dialogue to show up with her.

 

I'm also getting really REALLY frustrated by the 100 character limit the player has to say things with. Its hard to say anything intelligent or meaningful with such short sentences. I mean, yay for conciseness, but not much else.

 

...[/quote']

 

in GECKCustom.ini, add

 

[Localization]

iExtendedResponseLength=255

iExtendedTopicLength=255

bAllowExtendedText=1

 

warning long text will wrap on "small" screen resolution.

Link to comment

 

Also' date=' does anybody know what code I have to attach at either Result Script (begin) and/or Result Script (end) to hire say, Cass or Veronica? I tried checking their topics to find it, but God, their topics are literally just called TOPICS and there are hundreds to scroll through. Why not just CassHire or something like that?

 

[/quote']

 

My cheat ESP for Cass and Veronica for when I need to test with them

 

 

 

Link to comment

The actual topic is FollowersHired (00037084) and contains all the companions' responses to the offer to be hired. As an example there's the response 0015C88B to handle one of Cass' responses which has the following scripts:

 

Script Begin

set VNPCFollowers.BPlayerHasFollower to 1
set VNPCFollowers.nCurrentFollowers to VNPCFollowers.nCurrentFollowers + 1

set VDialogueCass.bJoinedPartyOnce to 1
Set VNPCFollowers.bCassAvailable to 1
Set VNPCFollowers.bCassHired to 1
Set VNPCFollowers.bCassFired to 0;
Set VNPCFollowers.bHumanoidInParty to 1
Set RoseOfSharonCassidyREF.IsFollowingDefault to 1
Set RoseOfSharonCassidyREF.CombatStyleRanged to 1
Set RoseOfSharonCassidyREF.Waiting to 0
RoseOfSharonCassidyREF.addperk CompanionSuite
player.addperk WhiskeyRose
showmessage FollowerMessagePerkCassAdd
RoseOfSharonCassidyREF.RemoveFromFaction NCRFactionNV
RoseOfSharonCassidyREF.AddToFaction FollowerFaction 1
RoseOfSharonCassidyREF.SetPlayerTeammate 1
RoseOfSharonCassidyREF.SetFactionRank TeammateFaction 1
SetIgnoreFriendlyHits 1
RoseOfSharonCassidyREF.evp
startquest vCassTimer

 

Script End

IgnoreCrime 1

; If Jean-Baptiste asked the player to bring Cass
; back, update the objective
if GetObjectiveDisplayed VMS29a 40 == 1 && GetObjectiveCompleted VMS29a 40 == 0
    SetObjectiveCompleted VMS29a 40 1
    SetObjectiveDisplayed VMS29a 45 1
endif

Link to comment

Thanks guys, that was really helpful. I've moved onto Veronica (who is a lot less complicated) and will return to Cass when I have more experienced.

 

A few more questions, if you don't mind. The value in the dialogue that part with the expressions (pained, angry, etc) that is always set to 50, what does it do? What happens if I set it to say 10, or 90?

 

Also, does anybody know why even IF I untick the boxes for say GRA, the DLC's, etc, it STILL loads in a new game? I've noticed the same plugins/DLC's that load automatically are also those that are default ticked when I open the GECK, so maybe the two are related?

Link to comment

You can just delete the .NAM files.

 

If there's a NAM files with the same name as an ESM (and maybe ESP?), that just tells the geck to auto-select those files when you open it. The files themselves are empty and their contents don't matter. You can delete them all, and then make new ones if you want a different set of preselected mods to load, such as a "sexout.nam" to automatically load "sexout.esm".

Link to comment

A) It makes the expression more or less profound as far as I know. So angry with 100 would be very angry.

 

B) rename the files named "GRA.NAM" next to "GRA.ESM" into "GRA.whateverYouLike"

 

You can just delete the .NAM files.

 

If there's a NAM files with the same name as an ESM (and maybe ESP?)' date=' that just tells the geck to auto-select those files when you open it. The files themselves are empty and their contents don't matter. You can delete them all, and then make new ones if you want a different set of preselected mods to load, such as a "sexout.nam" to automatically load "sexout.esm".

[/quote']

 

Thanks guys.

Link to comment

Also, does anybody know the code the bouncers use to remove all your items and those of a follower?

 

I've tried using this:

 

if VNPCFollowers.bCassHired && RoseofSharonCassidyREF.GetInSameCell player

RoseOfSharonCassidyREF.RemoveAllTypedItems NVCCCassClothesREF 1 0 24

RoseOfSharonCassidyREF.RemoveAllTypedItems NVCCCassClothesREF 1 0 40

RoseOfSharonCassidyREF.RemoveAllTypedItems NVCCCassClothesREF 1 0 41

endif

 

but the problem is the ref is a Legion location. Does anyone have any ref I could use? I mean, I could create my own chest or something in the game, but I don't know how to.

Link to comment

I'm going to give that a try. And again, more questions, thank you all for bearin with me and my lack of knowledge:

 

- How do I stop certain esp's / esm's from being a master to another one? I opened a few to get some scripting references, but now my main esp is saying those esp's are masters, but I am not using anything from them. How do I change this?

 

- For some reason, a conversation topic which I've scripted to only appear in the "I'd like to ask some questions" topic under Veronica, are appearing in all her conversation threads, including the greetings. How do I "confine it" to that particular topic?

 

Thanks once again.

Link to comment

- How do I stop certain esp's / esm's from being a master to another one? I opened a few to get some scripting references' date=' but now my main esp is saying those esp's are masters, but I am not using anything from them. How do I change this?

 

- For some reason, a conversation topic which I've scripted to only appear in the "I'd like to ask some questions" topic under Veronica, are appearing in all her conversation threads, including the greetings. How do I "confine it" to that particular topic?

[/quote']

 

- Open up your esp in FNVEdit. You'll see the list of masters if you click on to "header". Right-click right above the name of the master to remove it. (And be sure. ;) )

 

- Make sure it's not marked as top-level. Don't add it from the addtopic box, but from the choices box to that lead-in topic.

Link to comment

- How do I stop certain esp's / esm's from being a master to another one? I opened a few to get some scripting references' date=' but now my main esp is saying those esp's are masters, but I am not using anything from them. How do I change this?

 

- For some reason, a conversation topic which I've scripted to only appear in the "I'd like to ask some questions" topic under Veronica, are appearing in all her conversation threads, including the greetings. How do I "confine it" to that particular topic?

[/quote']

 

- Open up your esp in FNVEdit. You'll see the list of masters if you click on to "header". Right-click right above the name of the master to remove it. (And be sure. ;) )

 

- Make sure it's not marked as top-level. Don't add it from the addtopic box, but from the choices box to that lead-in topic.

 

You can also use the Clean Masters option in FNVedit: Right click on the mod name, select Clean masters. This will properly recalculate formIDs

If a master does not disapear, it s still referenced somewhere.

Link to comment

- How do I stop certain esp's / esm's from being a master to another one? I opened a few to get some scripting references' date=' but now my main esp is saying those esp's are masters, but I am not using anything from them. How do I change this?

 

- For some reason, a conversation topic which I've scripted to only appear in the "I'd like to ask some questions" topic under Veronica, are appearing in all her conversation threads, including the greetings. How do I "confine it" to that particular topic?

[/quote']

 

- Open up your esp in FNVEdit. You'll see the list of masters if you click on to "header". Right-click right above the name of the master to remove it. (And be sure. ;) )

 

- Make sure it's not marked as top-level. Don't add it from the addtopic box, but from the choices box to that lead-in topic.

 

- How do I stop certain esp's / esm's from being a master to another one? I opened a few to get some scripting references' date=' but now my main esp is saying those esp's are masters, but I am not using anything from them. How do I change this?

 

- For some reason, a conversation topic which I've scripted to only appear in the "I'd like to ask some questions" topic under Veronica, are appearing in all her conversation threads, including the greetings. How do I "confine it" to that particular topic?

[/quote']

 

- Open up your esp in FNVEdit. You'll see the list of masters if you click on to "header". Right-click right above the name of the master to remove it. (And be sure. ;) )

 

- Make sure it's not marked as top-level. Don't add it from the addtopic box, but from the choices box to that lead-in topic.

 

You can also use the Clean Masters option in FNVedit: Right click on the mod name, select Clean masters. This will properly recalculate formIDs

If a master does not disapear, it s still referenced somewhere.

 

Thanks, that seemed to fix it. In regards to conditions, is there any way to make a topic available to ALL NPC's, except say Veronica and Cass? How do I exclude them in the conditions? Is it even possible?

 

Cheers.

Link to comment

Thanks' date=' that seemed to fix it. In regards to conditions, is there any way to make a topic available to ALL NPC's, except say Veronica and Cass? How do I exclude them in the conditions? Is it even possible?

 

Cheers.

[/quote']

 

Yeah create a top-level topic with 2 conditions of GetIsID not equal to their formid's and any other conditions you want to exclude like GetIsCreature not equal to 1 etc..

Link to comment

Okay, I tried that but I think I screwed up the formula, I had S GetIsID Veronica == 2 or something like that, and that didn't work, in fact, it wouldn't load on anyone.

 

I'm new to scripting, could someone go through what these mean?

 

!=

<

<=

==

>

>=

 

I have a vague idea of what they mean (I'm not a total retard at maths, like equal and higher and smaller, but I have no idea on the rest).

 

Thanks.

Link to comment

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. For more information, see our Privacy Policy & Terms of Use