Aller au contenu

Photo

Stuck in the arena after killing Lorne


  • Veuillez vous connecter pour répondre
9 réponses à ce sujet

#1
maninthemoon

maninthemoon
  • Members
  • 9 messages
Sorry if this appears somewhere else, but the search feature does nothing in these forums.

After killing Lorne in the trial by combat, nothing proceeds and I am forever stuck in the arena. This has happened before, but reloading and doing it again solved it. Now it doesn't. I've realoaded and done it again five times now with the same result. And no, I'm not using Khelgar or anyone else, I'm using my PC. Does anyone know the script name to run to kick off the next dialog?

Thanks.

#2
maninthemoon

maninthemoon
  • Members
  • 9 messages
I believe I figured it out, so I'll post it so anyone else who has this problem can find it. Not that they'll be able to, since search doesn't actually return anything, but anyway...

I tried it one more time, and this time turned off parry mode just before the final blow. Apparently if you tell the coward to stand up and fight, and then you kill him with a riposte attack, it doesn't recognize his death. What weird-ass kind of bug is that? So, having turned parry mode off just before the dialog, when it's over I immediately smack him, he dies, and then things proceed.

#3
kevL

kevL
  • Members
  • 4 061 messages
uhm, I really don't think it was turning off Parry; i think you just got lucky (again)

been looking at the scripts and convo's & Lorne's death scene is triggered initially by an onDamaged event: does not matter whether by spell, riposte, whathaveyou. Glad you got it going again, 'cause apart from writing up a custom script I can't figure a way to trigger the conversation with Nasher without losing that nice little chat with Lorne just before (the one where ya get to smak 'im down!). Long story short, I'm gonna post some raw data here in case myself or anyone else needs to revisit this:

module: 2000_Neverwinter
area: 2026tourney
script: 20b_lorne_ud
convo: 20_cs_lorne_tr
script: 20_cs_lorne_tr

(especially the last two ..) &
20_cs_duel2 <-final convo w/ Nasher


ps. the lack of a search function is rather unforgivable, but these forums can be searched by prefixing a Google search with "
site:social.bioware.com nwn2
".


Edit, for those who want to scratch their heads, like i am, I suspect the bug occurs in this section of 20_cs_lorne_tr(2)

case 2: //lorne attacks

AssignCommand(oLorne, ClearAllActions(TRUE));
ChangeToStandardFaction(oLorne, STANDARD_FACTION_HOSTILE);

SetImmortal(oLorne, FALSE);
SetCommandable(FALSE, oLorne);
PlayCustomAnimation(oLorne, "rage", FALSE);
AssignCommand(oLorne, ActionWait(1.5f)); //duration of rage animation
AssignCommand(oLorne, ActionDoCommand(SetCommandable(TRUE, oLorne)));
AssignCommand(oLorne, ActionDoCommand(DetermineCombatRound()));

break;

and yes it well could have some thing to do with Riposte ....

#4
maninthemoon

maninthemoon
  • Members
  • 9 messages
Wow, thanks kevL! The reason I mentioned turning off Parry is that if you don't, the second the fight resumes after the dialog with Lorne, you automatically riposte before you get a chance to do anything else, which kills him, and then you're stuck. So the only way not to riposte is to turn parry off before the cut-scene. I have noticed this bug occur before when using certain spells that do continual damage, such as the various acid spells or a bigby's variant. The minute the dialog is over, the spell damages him and kills him before you can do anything. I've never tried finishing him off with an area-effect spell, but I wonder if perhaps you have to have him selected as the active target for the trigger to work? Grasping at straws now. :-)

So theoretically, if you were to get stuck after killing him, you could just use the console to run 20_cs_duel2 manually and proceed?

Modifié par maninthemoon, 10 juin 2011 - 10:27 .


#5
kevL

kevL
  • Members
  • 4 061 messages

maninthemoon wrote...

So theoretically, if you were to get stuck after killing him, you could just use the console to run 20_cs_duel2 manually and proceed?

it's a bit more complicated than that, MitM.

That conversation is run from an IPoint, which has to first be spawned in. (I'm not looking at the scripts atm.) but this is the sequence generally: (1) fighting Lorne, reduce him to 1 hp. (2) hit him again and that fires his onDamaged, which causes his surrender and spawns in his IPoint for conversation - so far so good. (3) his IPoint convo & script (20_cs_lorne_tr) then set up an IPoint for *Nasher* to *then* run 20_cs_duel2! If that script doesn't fire 'case 2' above properly, you've got to figure out some way to spawn Nasher's IPoint for the 20_cs_duel2 conversation to start ...


oh, yer welcome :) again, there are several mechanics going on in those scripts like setting Lorne vulnerable as well as spawning IPoints for conversations, so I believe it's possible to start Nasher's final conversation by running something like

rs 20_cs_lorne_tr(3)

that should both create the IPoint for Nasher and start his conversation immediately:

case 3: //start 20_cs_duel2 with Nasher
CreateIPSpeaker("Nasher", "20_cs_duel2", GetLocation(OBJECT_SELF), 0.f);
break;


Of interest is that you took on Lorne with your PC instead of a Champion; the roote through the scripts is different for each situation. bah :) It looks like a champion would not get the last chat with Lorne .......


Wow, thanks kevL! The reason I mentioned turning off Parry is that if you don't, the second the fight resumes after the dialog with Lorne, you automatically riposte before you get a chance to do anything else, which kills him, and then you're stuck. So the only way not to riposte is to turn parry off before the cut-scene. I have noticed this bug occur before when using certain spells that do continual damage, such as the various acid spells or a bigby's variant. The minute the dialog is over, the spell damages him and kills him before you can do anything. I've never tried finishing him off with an area-effect spell, but I wonder if perhaps you have to have him selected as the active target for the trigger to work? Grasping at straws now. :-)

So Lorne dies .. and Then you're stuck?! i think I know what it is ....

else if ((nHP == 0 || GetIsDead(OBJECT_SELF)) && !TBC_PCHasChampion()) //killed
{
AssignCommand(oSoundPlayer, JumpToObject(oChamp));
CrowdRoar(GRP_CROWD, 0.f, SOUND_ROAR, oSoundPlayer);
CreateIPSpeaker("Nasher", "20_cs_duel2", GetLocation(OBJECT_SELF), 1.5f);
<< !this

ClearAllActions(TRUE);
ActionPlayAnimation(ANIMATION_LOOPING_DEAD_FRONT, 1.f, 300.f);
}

the original scripters are trying to get a dead object to do stuff. ( idea != good ) If i Might paraphrase ya, "The minute the dialog is over, your riposte damages him and kills him before he can do anything."

Modifié par kevL, 11 juin 2011 - 01:14 .


#6
maninthemoon

maninthemoon
  • Members
  • 9 messages
Awesome kevL! :wizard: I think we've (you've) just about cracked this case. This would apply as equally to the persistent spells as to the riposte. This would also explain why the problem is usually manifested when using Khelgar, because he's on autopilot (AI) and again, even though the dialog is skipped, the same thing occurs, i.e. Khelgar immediately ends him before he has a chance to do these things. In the case of using a champion, there's nothing you can do because you can't control them, but when using your main PC, it sounds like the remedy is to wait a full round after the dialog before damaging him.

I can't believe that this issue has been bouncing around the forums for years (since the game's release) and this has never been figured out until now. It doesn't seem like it would have been a hard thing to patch, either.

#7
kevL

kevL
  • Members
  • 4 061 messages
yep, yep yep, nope. ( a Champion like Khelgar won't actually slay him it looks like )

maninthemoon wrote...

I can't believe that this issue has been bouncing around the forums for years (since the game's release) and this has never been figured out until now. It doesn't seem like it would have been a hard thing to patch, either.

i See it as a Beauty and a curse. I mean, sure it never should have been released as it was in v.1 alpha+ .. v1.23 is pretty much a stable beta, but still beta. Peeps who've looked into it must be staggered at glaring 'anomalies' still there (here). I know i have!

Scripts entirely absent, faction tables doing the opposite of what they claim, dead guys tring to run scripts as Lorne here. But it gives guys like me (and you) a cold, hard lesson; then with the Toolset we get to not only fix, but improve the base game to our liking!!!


described above is not a fix but a workaround; *if* my hunch is correct, it's fairly simple for any intermediate level scripter to hunt out the red-ified code in 20b_lorne_ud and change OBJECT_SELF to, say, the module object itself* Dead objects running code are said to be (and I quote) unreliable ..


*Edit, grr not that simple: the Nasher object instead.

Modifié par kevL, 11 juin 2011 - 12:16 .


#8
kevL

kevL
  • Members
  • 4 061 messages
Do you still have your Save, before slaughtering Lorne? & would you like to try out an amended script, or ya want to just move on with the plot ..


i got something here that should fire Nasher's ending convo consistently (when the PC chooses to end Lorne's pseudo-life).

20b_lorne_ud.nss = untested
20b_lorne_ud.ncs = untested

// changes line 324
CreateIPSpeaker("Nasher", "20_cs_duel2", GetLocation(OBJECT_SELF), 1.5f);
// to
CreateIPSpeaker("Nasher", "20_cs_duel2", GetLocation(GetObjectByTag("Nasher")), 1.5f);


nb. these links will go defunct in future. Instruct, create a folder under MyDocs->override called 'OC_Trial_Lorne', place those two files in there. Slaughter Lorne.

(*only* for Lawful Evils: chop off head, put on pike, have Parade)

#9
maninthemoon

maninthemoon
  • Members
  • 9 messages
Amazing. What a complicated patch! LOL. No wonder the devs couldn't fix it! Just to make sure it's supposed to be, and not just corrupted, the .ncs file is a binary, right? I don't have a backup of my current game before the trial, but I play through it about once a week, so next time I'll use a duelist and we'll see for sure. Thanks!

#10
kevL

kevL
  • Members
  • 4 061 messages
lol!
ya, the .ncs is the compiled .nss

let me know if it works, at yer leisure; ie, TRY to make the bug appear ..