Jump to content

Humbly requesting some modmaking help


humantis

Recommended Posts

This is a post about trying to make a new mod; if it's in the wrong place, please move it, kick my butt, and accept my apologies. I'm never sure where to put stuff.

 

What I'd like to do is have an NPC say something if and only if I and my party win a combat. That is, combat ending isn't enough. I would like it to be if combat ends with the last participating enemy combatant just having died.

 

I looked through the Dialogue entries for NPCs, cluelessly. I added a new voice entry and tried to trigger it only on CombatToNormal - then I went to the GECK wiki and determined that CombatToNormal is a condition that almost never happens and definitely isn't what I want. Which is a pity, because as far as I can tell, replacing the entry itself worked flawlessly - this being only my second time or so, I was quite pleased with the power of the CS.

 

There don't appear to be any inbuilt conditions like "CombatWon" or what-have-you that I can just use.

 

I think I'm gonna have to do it in the OnCombatEnd block in the NPC's script, but there are of course many many ways Combat can End :P Is there a simple way I can check to see specifically if combat ended with all enemies killed?

 

Thanks in advance, sorry for my newbery.

Link to comment
Share on other sites

Well i don't know how accurate this might be. But making a hidden quest would work if its a specific group of enemy. You can add them to a hidden objective, when that objective is met (all killed) then force the convo to happen. if your talking any or all open encounters, i really cant say.
Link to comment
Share on other sites

Well i don't know how accurate this might be. But making a hidden quest would work if its a specific group of enemy. You can add them to a hidden objective, when that objective is met (all killed) then force the convo to happen. if your talking any or all open encounters, i really cant say.

 

Hey - thanks for the reply. Definitely an interesting suggestion. It's not a specific group of enemy though, that I wanted; I wanted it to be anytime combat ends by any arbitrary enemy or group of enemies being killed.

 

Of course, I'd only want the voice clip to play like 25% of the time it triggers, so the player doesn't decide to throttle the NPC, but this can safely be considered side details.

 

I am having really hazy ideas in my head of how Oblivion XP tracks player kills and combat and whatnot (since I think that's basically what I want it to do), and it's a nightmare and pretty much requires a script extender to boot. Isn't there a simple way to do this? Seems like there should be.

Link to comment
Share on other sites

Boone says stuff like "Gone. Huh." After all the enemies in an area are dead. You could check his dialogue.It's probably after your Sneak status goes from [CAUTION] or [DANGER] to [HIDDEN] or [DETECTED].

 

I do believe that means he lost them. Does he really say it (I guess I'm asking you if you're sure!) when the enemies are dead, or is it just when he loses track of them/can't find them? If he does indeed say it when they've died, that's good enough for me, because Boone losing track of his enemies is extremely uncommon, rare enough that a false trigger wouldn't matter if it did occasionally happen.

 

But I suspect that this is exactly the CombatToNormal situation I mentioned in my first post, which does not correspond to a combat victory - it literally only happens when an NPC abruptly drops out of combat, due to losing his target. As far as I understand.

 

Ya made me fire up the GECK! Let's see here.

 

OK, CombatToNormal voice clips are played when combat ends in normal ways - that is, CombatToNormal is not a rare condition; I was wrong about it being uncommon. Boone says boilerplate things like "Guess we made it." and "All clear." which would apply to any reason combat would end, such as if you ran and the enemy lost you. (Incidentally, "Gone now." is AlertToNormal, where he cancels his alert status, and "Gone for now." and "Gone. Huh." are LostToNormal, which appears to indicate, if he lost the enemy - but specifically is searching - and then he gives up the hunt.)

 

Any experts care to weigh in? This is turning out to be a mildly interesting question - I'm actually learning a lot. I'd say on the face of it it looks like the behavior I want would have to be scripted in, since I can cause the NPC to pipe up when combat ends, but combat won is a subset of combat ends that isn't handled specifically.

 

EDIT: I just noticed that Boone checks if he is in fact Boone in the Conditions on the right, before he says these things. Interesting. I don't know why he'd have to find out if he was in fact himself, but that is what the script does. So I was rooting around through the Conditions, on the bottom.

 

I looked up maybe 10 or so that sounded promising, in the GECK wiki: GetDead, GetAttacked, etc., and none of it is really relevant. How about this, experts: If I just left combat, and I just gained XP, assume that those two weren't a coincidence (obviously I could be picking a lock right as Boone kills a mole rat, but I certainly consider that unlikely). How can I have a condition that checks both? Possible?

 

EDIT2: He is checking if he is himself because his dialogue is assigned by a "follower dialogue" quest that is assigned to all followers? Anyway, just learning, anyone with actual knowledge weigh in please.

Link to comment
Share on other sites

  • Recently Browsing   0 members

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