Jump to content


Photo

No More Messengers After Xor Ambush -- FIXED!!!


  • Please log in to reply
16 replies to this topic

#1 Fair Strides

Fair Strides

    Aurora Engine Operator

  • Administrators
  • 2,246 posts
  • LocationOregon, USA

Posted 01 November 2015 - 10:40 PM

The bug commonly referred to as the "Juhani Quest Glitch" has officially been fixed.

 

With the help of LiliArch, Kexikus, and several other people, I've managed to fix this long-standing bug in the game, and here's the bug, how the bug is caused, how to fix it, and how we found it:

 

The Bug:

 

Whenever you follow Juhani's personal dialog far enough along, you will be approached by a Twilek named Xor. He will take an interest in Juhani, but is forced to leave disappointed and angry. Later, he ambushes you outside your ship if Juhani is present, and will be dead when all is said and done.

 

From that first moment when you get approached by Xor, you will no longer be able to be approached by any more messengers, effectively stopping the advance of others' personal quests and blocking you off from a shop later in the game.

 

Because of the loss of this store, most players have learned to hold of on delving too deep into Juhani's past until later on, after the store is open.

 

The Cause:

 

The bug is caused simply because the game checks that the value of the global number K_XOR_AMBUSH is either 0 or greater than 2 when determining whether to have any messengers approach you.

 

K_XOR_AMBUSH is set to 1 after Xor talks to you and takes an interest in Juhani. It is set to 2 after he attacks you later on.

 

But it is never set to 3 after the attack is done!

 

The Fix:

 

You guessed it: you need to set the global number K_XOR_AMBUSH to 3 after Xor dies. This will allow other messengers to approach you and allow you access to a store later on.

 

The Discovery:

 

While looking into this bug, I went searching through the game's files for how the messengers were spawned and determined. I found out that each planet had one or two scripts for this, but not all could be decompiled. By examining the ones that could be decompiled, I was able to track the code that handles everything to k_inc_utility.nss in KotOR 1's scripts.bif.

 

The relevant code from that file:

Spoiler

 

Of importance is the following sample:

 

    int nXor = GetGlobalNumber("K_XOR_AMBUSH");

    //Do not fire any messenger plots on Kashyyyk if Chuundar is dead
    if(GetGlobalNumber("K_CURRENT_PLANET") == 20)
    {
        bConditional = GetGlobalBoolean("kas_ChuundarDead");
    }
    if(bConditional == FALSE)
    {
        if(nXor == 0 || nXor > 2)
        {

 

This led me to investigate the K_XOR_AMBUSH global number and how and where it was changed. I discovered that it was set to 2 just before he attacked you, but that it was never set to 3 when he is dying.

 

From there, I gathered saves from Kexikus and others and tested setting the K_XOR_AMBUSH to 3 after Xor dies. And everything works!

 

This script is used by the game to launch Xor's death scene, but I've edited it to set the K_XOR_AMBUSH to 3 at that time as well. Simply drop it into your override folder and you're good to go!

 

Attached File  k_hxor_state03.7z   274bytes   68 downloads


(By the way, if you ever want to ask about one of the quotes, feel free to send me a PM)

 

My personal, made-up quote: "To know is good, but to act is better."

"Words are just words, thoughts thoughts, but actions...actions are progress." - Fair Strides

"Intelligence and respect are all it takes to get along fine. Not a bad trade off, huh?" - EwigD from GameFaqs

"And regarding butchering the language, I have been to the internet. The language is well butchered regularly." - Malkior

 

"You can either live with the lies or die with the truth. Who would rather lie to live than die for telling the truth?" - Fair Strides


#2 milestails

milestails

    Fulfiller of Mod Requests

  • Moderators
  • 1,053 posts
  • LocationLos Angeles, California

Posted 02 November 2015 - 01:02 AM

Bravo FS!

 

This has been a longstanding vanilla issue that many have experienced over the years. A must have!


Looking for a mod but can't find it? Ask over at the Mod Requests thread.

#3 sEcOnDbOuToFiNsAnItY

sEcOnDbOuToFiNsAnItY

    Saaeda - "The Quiet One"

  • Members
  • PipPipPipPip
  • 190 posts

Posted 02 November 2015 - 02:02 PM

There was a fix for this from long ago. It was on lucasforums; I still have the file. Did it somehow evade you or did it conflict with K1R?


'sboi' for short. Or not if you prefer.

 

'Read Me' is not a suggestion.


#4 milestails

milestails

    Fulfiller of Mod Requests

  • Moderators
  • 1,053 posts
  • LocationLos Angeles, California

Posted 02 November 2015 - 02:30 PM

There was a fix for this from long ago. It was on lucasforums; I still have the file. Did it somehow evade you or did it conflict with K1R?

 

From what I understand, that fix you refer to fixes a different issue with the sidequest.


Looking for a mod but can't find it? Ask over at the Mod Requests thread.

#5 Fair Strides

Fair Strides

    Aurora Engine Operator

  • Administrators
  • 2,246 posts
  • LocationOregon, USA

Posted 02 November 2015 - 05:23 PM

There was a fix for this from long ago. It was on lucasforums; I still have the file. Did it somehow evade you or did it conflict with K1R?

As stated in that fix's read-me:

 

"This mod will fixes the problem with the second encounter with xor (Juhani plot)
that was responsible for making Xor spawn only when using the Rapid transit system."

 

It does not fix the variable not being updated, which is necessary for the other messengers to spawn.

 

http://www.lucasforu...ad.php?t=212579

http://www.lucasforu...ad.php?t=154296

http://www.lucasforu...51&d=1130303686


(By the way, if you ever want to ask about one of the quotes, feel free to send me a PM)

 

My personal, made-up quote: "To know is good, but to act is better."

"Words are just words, thoughts thoughts, but actions...actions are progress." - Fair Strides

"Intelligence and respect are all it takes to get along fine. Not a bad trade off, huh?" - EwigD from GameFaqs

"And regarding butchering the language, I have been to the internet. The language is well butchered regularly." - Malkior

 

"You can either live with the lies or die with the truth. Who would rather lie to live than die for telling the truth?" - Fair Strides


#6 Guibaesa

Guibaesa

    Jedi Padawan

  • Members
  • PipPipPip
  • 128 posts

Posted 02 November 2015 - 09:07 PM

EXCELLENT WORK. I'm very thankful for that, we all are. :welcome:
 
PS: Can that file be integrated  in the newest update of  KOTOR Restoration?


#7 sEcOnDbOuToFiNsAnItY

sEcOnDbOuToFiNsAnItY

    Saaeda - "The Quiet One"

  • Members
  • PipPipPipPip
  • 190 posts

Posted 03 November 2015 - 11:15 AM

As stated in that fix's read-me:

 

"This mod will fixes the problem with the second encounter with xor (Juhani plot)
that was responsible for making Xor spawn only when using the Rapid transit system."

 

It does not fix the variable not being updated, which is necessary for the other messengers to spawn.

 

http://www.lucasforu...ad.php?t=212579

http://www.lucasforu...ad.php?t=154296

http://www.lucasforu...51&d=1130303686

ah, ok. Haven't reinstalled kotor in a while; It's been nice and stable recently. As a result I haven't read that readme in quite a long time. Just thought I'd check.


'sboi' for short. Or not if you prefer.

 

'Read Me' is not a suggestion.


#8 Hassat Hunter

Hassat Hunter

    TSLRCM / M4-78EP Developer

  • Administrators
  • 4,653 posts

Posted 08 November 2015 - 08:14 AM

Depending on when it's set to 2, it could be someone just using > 2 when > 1 was supposed to be there.

 

Setting it to 3 is a far easier sollution for fixing though :).



#9 Fair Strides

Fair Strides

    Aurora Engine Operator

  • Administrators
  • 2,246 posts
  • LocationOregon, USA

Posted 08 November 2015 - 08:17 AM

Depending on when it's set to 2, it could be someone just using > 2 when > 1 was supposed to be there.

 

Setting it to 3 is a far easier sollution for fixing though :D.

From what I've gathered, it's set to 1 to let the game know to ambush you, and it's set to 2 when he actually does ambush you (as noted by it having to be 2 to get his death section of the dialog), so I'm operating on the idea that it has to be 3.

Also, compiling one script instead of trying to compile all the relevant trigger scripts that used the k_inc_utility, two of which wouldn't decompile... Hmmm, tough choice... :D


(By the way, if you ever want to ask about one of the quotes, feel free to send me a PM)

 

My personal, made-up quote: "To know is good, but to act is better."

"Words are just words, thoughts thoughts, but actions...actions are progress." - Fair Strides

"Intelligence and respect are all it takes to get along fine. Not a bad trade off, huh?" - EwigD from GameFaqs

"And regarding butchering the language, I have been to the internet. The language is well butchered regularly." - Malkior

 

"You can either live with the lies or die with the truth. Who would rather lie to live than die for telling the truth?" - Fair Strides


#10 Hassat Hunter

Hassat Hunter

    TSLRCM / M4-78EP Developer

  • Administrators
  • 4,653 posts

Posted 08 November 2015 - 08:25 AM

You should have totally gone for the second option...



#11 Hassat Hunter

Hassat Hunter

    TSLRCM / M4-78EP Developer

  • Administrators
  • 4,653 posts

Posted 10 May 2016 - 10:26 PM

Going to unsticky this since K1RP's got it already.



#12 Fair Strides

Fair Strides

    Aurora Engine Operator

  • Administrators
  • 2,246 posts
  • LocationOregon, USA

Posted 17 January 2018 - 11:29 PM

As of 1-17-18, Snigaroo informed me that the download was broken and directing you to an error page here on DS. So he sent me the copy he'd already downloaded and I have re-attached it to the original post, as a .7z file that you will need to unpack using WinRAR, WinZip, or preferably 7zip.


(By the way, if you ever want to ask about one of the quotes, feel free to send me a PM)

 

My personal, made-up quote: "To know is good, but to act is better."

"Words are just words, thoughts thoughts, but actions...actions are progress." - Fair Strides

"Intelligence and respect are all it takes to get along fine. Not a bad trade off, huh?" - EwigD from GameFaqs

"And regarding butchering the language, I have been to the internet. The language is well butchered regularly." - Malkior

 

"You can either live with the lies or die with the truth. Who would rather lie to live than die for telling the truth?" - Fair Strides


#13 SalaciousCrumb

SalaciousCrumb

    Jedi Apprentice

  • Members
  • PipPip
  • 34 posts
  • LocationBulgaria

Posted 30 January 2018 - 03:49 PM

Will this fix work if Xor has already approached me (but not yet ambushed me)? He simply stands outside the Ebon Hawk with his two thugs but I can't interact with him. I applied the fix but I still can't interact with him. I also tried using the Rapid Transit system to transit back to the Ebon Hawk but that didn't yield any result either. Any suggestions as to how I might solve this?



#14 Sith Holocron

Sith Holocron

    M4-78

  • Administrators
  • 4,360 posts
  • LocationKodiak, AK (Hoth)

Posted 30 January 2018 - 09:25 PM

Will this fix work if Xor has already approached me (but not yet ambushed me)? He simply stands outside the Ebon Hawk with his two thugs but I can't interact with him. I applied the fix but I still can't interact with him. I also tried using the Rapid Transit system to transit back to the Ebon Hawk but that didn't yield any result either. Any suggestions as to how I might solve this?

Try using a save from before you ever met him?


My Mods . . . the complete list Please leave reviews as I like to know when I've done something right, for a change.

#15 SalaciousCrumb

SalaciousCrumb

    Jedi Apprentice

  • Members
  • PipPip
  • 34 posts
  • LocationBulgaria

Posted 30 January 2018 - 09:47 PM

Try using a save from before you ever met him?

I could but that would mean going back several hours in my playthrough. Can it be fixed through the save editor? I found K_XOR_AMBUSH in the global numerics but I'm not sure what value I should set it to (it's currently set to 1). I also found K_XOR_AMBUSH_FIX in the global booleans but I'm not sure what it does (also set to 1 currently).



#16 Kexikus

Kexikus

    Jedi Master

  • Members
  • PipPipPipPipPip
  • 1,570 posts

Posted 30 January 2018 - 10:20 PM

Try setting K_XOR_AMBUSH to 2, but make a copy of your savegame.

 

But it seems like you're having another issue. The globals seem fine for the second encounter, so I'd guess the dialog is screwed up or something like that.


Pj1kKbw.jpg


#17 SalaciousCrumb

SalaciousCrumb

    Jedi Apprentice

  • Members
  • PipPip
  • 34 posts
  • LocationBulgaria

Posted 30 January 2018 - 10:30 PM

Try setting K_XOR_AMBUSH to 2, but make a copy of your savegame.

 

But it seems like you're having another issue. The globals seem fine for the second encounter, so I'd guess the dialog is screwed up or something like that.

Setting it to 2 didn't help either, however when I set it to 0 or 3 I got approached by Ziagrom so there's that. I guess I'll just have to be more careful in future playthroughs.






0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users