-
Content Count
1,465 -
Joined
-
Last visited
-
Days Won
49
Content Type
Profiles
Forums
Blogs
Forum & Tracker Requests
Downloads
Gallery
Store
Calendar
Everything posted by Salk
-
Well, this part is done. The Xor ambush in Tatooine has been restored. Again, thanks a lot for your help Fair Strides. I found this post very useful with regards to X and Y Orientation (I am not sure I quite understand what the Z Orientation is used for though).
-
Great tip! Thank you, Fair Strides!
-
Well, I am almost ready with restoring the Xor Ambush on Tatooine. The only thing left is for me to figure out why the party members and Xor himself face a completely wrong direction during the cutscene. The party members direction must be set by this function in k_pkas_pcxorjp.ncs: void sub2(object objectParam1, object objectParam2, object objectParam3) { object oNPC = GetPartyMemberByIndex(0); object object3 = GetPartyMemberByIndex(1); object object5 = GetPartyMemberByIndex(2); sub3(); if (GetIsObjectValid(oNPC)) { sub4(oNPC, GetLocation(objectParam1)); AssignCommand(oNPC, SetFacing(GetFacing(objectParam1))); } if (GetIsObjectValid(object3)) { sub4(object3, GetLocation(objectParam2)); DelayCommand(0.3, AssignCommand(object3, SetFacing(GetFacing(objectParam2)))); } if (GetIsObjectValid(object5)) { sub4(object5, GetLocation(objectParam3)); DelayCommand(0.3, AssignCommand(object5, SetFacing(GetFacing(objectParam3)))); } } From the little I understand, it seems to be perfectly alright. The party members should face objectParam1, objectParam2 and objectParam3 which are three waypoints I had to create and where Xor and his minions spawn: object oKas_xor_pc0_jump = GetObjectByTag("kas_xor_pc0_jump", 0); object oKas_xor_pc1_jump = GetObjectByTag("kas_xor_pc1_jump", 0); object oKas_xor_pc2_jump = GetObjectByTag("kas_xor_pc2_jump", 0); But instead of looking straight at them my party members face a specific direction, as the screenshot shows. And Xor seems to be looking there too.
-
What is baffling is also that the glitch does not appear if you disembark alone.
-
I personally have a very low tolerance for glitches. I'd sacrifice visual improvements to a glitch free game in most cases. That did the trick, although I know nothing of what the consequences are. Thanks for the assistance!
-
Then the safest course of action is to remove those two files in the meantime (I suppose it is safe to do it?). If you have the chance, would you check if the same thing happens in your own game? Thanks!
-
Sithspecter, I believe I am experiencing a bug that is related to this modification. And it's such a weird bug that I am not sure how easily it could have been identified before. The bug happens when I reach the Tatooine Hangar and ONLY if I leave the Ebon Hawk with company (oddly enough it does not happen if I disembark alone). What is causing this bug, somehow, are the w_ionrfl_004.mdl/mdx files (did not test them separately but I made sure that w_ionrfl_001, w_ionrfl_002 and w_ionrfl_003 are innocent). Pratically what happens is that a ion rifle appears just under the Ebon Hawk as you can see from the attached image. It cannot be interacted with and for the life of me I would like to know how something like that could happen.
-
Okay. It seems that my mistake was to believe that GFF Editor would show me everything that K-GFF does. Silly me. I found out the hard way. Using K-GFF I can now see the Orientation and Position of the cameras. Not for the file I was working on (which I did save, yes).
-
Hello again. Yes, I understand we need Position and Orientation but those entries are missing from the .git file I am editing. As you can see it has five entries: ID, Field of View, Height, MicRange and Pitch. I checked many others .git files and they are all like that. How can these cameras work without the Position and Orientation entries? That's why I was wondering if the cameras' position and orientation are stored somewhere else?
-
Well, I made some progress with this and I must say it's a lot of work to learn much stuff for very little gain but I am stubborn and I am trying to make it work. The problem I am having now is with the position of the cameras in the cutscene. According to what I read in the tutorial by FG, there should be two entries for Position and Orientation but in the .git file I am working on they are missing... Does it mean that there are some "default" values for them stored somewhere? Curiously enough, the camera seems to be placed on the floor just under the Ebon Hawk (?) and it does look visible. The script switches to camera 444 and 445 which do exist in the .git file but the position is completely borked.
-
Oh I see... I did not know that. Anyway what happens if I move the .git file to the Override is that I get the cutscene with the czerka officer wanting you to pay the docking fee. I removed all triggers from the .git file just in case it was a matter of priority for which one should come first. I left only my own additions and nothing happens.
-
I have edited the post above because I realized the Trigger entry was missing from the .git file but adding that too did not produce any result. Yes, I have been on Tatooine before. The Xor plot comes usually pretty late into the game and Tatooine is the first planet I visit after Taris. Does it make a difference? Good luck with the installer.
-
Fair Strides, unfortunately it seems my attempt is unsuccessful. I will write here what I have done and perhaps you can tell me what mistake(s) I am making. The module of interest is tat_m17ab. Under Blueprint, Triggers we find kas_xor.enc.utt. Every other planet where the ambush triggers correctly contains a Trigger reference to this file in the corresponding .git file. Not Tatooine. I proceeded to add a Trigger entry to the .git file (entry 4) using GFF Editor. Under Blueprint, Waypoint we find k_xor_ambush_wp. Every other planet where the ambush triggers correctly contains a Waypoint reference to this file or similar (Kashyyyk has the same, Korriban has k_xor_ambush_spa and Manaan doesn't have any but its .git file uses sw_waypoint001 found under Templates) in the corresponding .git file. Not Tatooine. I proceeded to add an entry to the .git file (entry 25) using GFF Editor. I was not so sure about the coordinates but other than that I was hoping to have things right. I have used EFF editor to open tat_m17ab.rim and replace the original m17ab.git file. All checks out. Still, when I leave the Ebon Hawk in Tatooine, nothing happens. Can you give me some advice as to why? Thanks again.
-
From what I could understand, the first encounter with Xor uses the k_hxor.dialog.dlg (Fair Stride is correct about this - thanks!) while the next one uses the duplicate .dlg file kas_xor_dialog.dlg. I do not know why they felt the need to make things more messy but now I am done with my changes and am satisfied. The one thing I do not understand though is why the second encounter is triggered in Manaan, Korriban and Kashyyyk but not in Tatooine too, as it should. Tatooine seems to have the trigger (kas_xor_enc.uti) and the script (k_kas_xorattack.nsc)... I suppose something might not work as intended in the relevant part of k_sup_gohawk.ncs: Db_MyPrintString("Go Hawk Start"); //Do not jump to anywhere if you are on the Ebon Hawk, in the apartment or already in the spaceport/apartment building if(!GetIsObjectValid(oEbonHawk) && !GetIsObjectValid(oSpacePort) && !GetIsObjectValid(oTarisApt)) { Db_MyPrintString("Starting Return to Port Section"); //This allows the players to be ambushed in the starport outside the Ebon Hawk if(nXor == 1) { Db_MyPrintString("Xor 1 == 1"); if(GetGlobalBoolean("K_XOR_AMBUSH_FIX") == FALSE) { Db_MyPrintString("Xor 2 Ambush Fix == FALSE"); if(nPlanet == 20 || nPlanet == 25 || nPlanet == 30 || nPlanet == 35) { Db_MyPrintString("Xor 3 Ambush Choosing Planet"); SetGlobalNumber("K_XOR_AMBUSH", TRUE); SetGlobalBoolean("K_XOR_AMBUSH_FIX", TRUE); Db_MyPrintString("Xor 4 Hijack"); if(nPlanet == 20) { sPlanet = "kas_m22aa"; } if(nPlanet == 25) { sPlanet = "manm26ad"; } if(nPlanet == 30) { sPlanet = "korr_m33aa"; } if(nPlanet == 35) { sPlanet = "tat_m17ab"; } StartNewModule(sPlanet, "K_XOR_AMBUSH_SPAWN"); return; } } } I am not sure I know how things work but I did notice that there is no entry for Waypoint K_XOR_AMBUSH_SPAWN in the m17ab.git file. Can it be that that's the reason why Xor doesn't spawn the second time on Tatooine?
-
It must be like you say, surely. I will investigate. And thanks again for the help.
-
I thought of that too because it seemed to me it was the only possible explanation. But I did load the .dlg file into he editor several times, making sure it was the one in the override folder... Just out of curiosity, what changes did you make? And could I borrow your edited file and see if it does indeed play right in my game? Thanks!
-
Okay, the suggestion did work. I am now facing another problem and I thought it was better asking in this already opened thread rather than starting a new one. I need to make a few changes to the dialogue with Xor when I meet him the first time on Manaan. I thought that the .dlg file for the conversation with him was kas_xor_dialog.dlg which I find using KOTOR Tool under the Dialog tree of the manm26ad_s.rim module. But apparently I must be wrong because I changed a few lines, saved the new file and dumped it in the override folder with no result. The dialogue played is still the original one. Any advice as to what is happening? Thanks!
-
[KotOR] Rancor and Krayt Dragon bodies
Salk replied to Salk's topic in Knights of the Old Republic General
Sounds good. -
[KotOR] Rancor and Krayt Dragon bodies
Salk replied to Salk's topic in Knights of the Old Republic General
I am not sure I understand. Of course it would be ridiculous if you could walk through the bodies of the monsters. Nobody wants that. sEcOnDbOuToFiNsAnItY said (and that is also my recollection but I can verify it) that the corpses do not need to be destroyed to move past them. -
[KotOR] Rancor and Krayt Dragon bodies
Salk replied to Salk's topic in Knights of the Old Republic General
I actually would have preferred that the bodies were not destructible at all. But if you really want to make them destructible then at least let that have a meaning... For the Dragon, it would be appropriate to find the Krayt Pearls in there, I guess... For the Rancor instead, I cannot think of anything at the moment... -
Hello! There has been something that always bothered me in the game. Why making the bodies of the Rancor in Taris and of the Krayt Dragon in Tatooine destructible (with the pointer switching even to a special icon just for the two of them!) if you are going to find nothing inside? Opinions?
-
Thanks for the suggestion, Fair Strides! I will definitely give it a try.
-
About my latest post above, in case anyone might be interested. My solution had a small bug in the cutscene: kas25_mandalor07 would not decloak like the others so I took another path. I left k_pkas_mandend.ncs alone and only changed k_pkas_mand3.ncs adding the lines in bold: void sub2(string stringParam1, location locationParam2) { object oPC = GetNearestObjectByTag("kas25_mandalor02", OBJECT_SELF, 1); object oItem = GetFirstItemInInventory(oPC); CreateObject(1, stringParam1, locationParam2, 0); if ((!GetIsObjectValid(GetObjectByTag("kas25_mandtrig2", 0)))) { while (GetIsObjectValid(oItem)) { if (GetTag(oItem) == "kas25_datapad2") { DestroyObject(oItem); } oItem = GetNextItemInInventory(oPC); } } } I noticed though how in the vanilla game there is often one unit (mandalor03) in the second ambush that oftens does not charge to attack like the rest but just stays and watches until attacked first. The attack function in k_pkas_mandend.ncs is a bit too complicated for me to understand why it happens.
-
Thank you, guys. I am taking advantage of your knowledge to ask you for more help... In my attempt to make the game more polished, I would like to avoid unnecessary duplication of supposedly unique items. In this present case, I am talking of the Mandalorian Datapads in Kashyyyk as part of the Hidden Hunters quest. The unarmed party is ambushed twice. The first three enemies leave Datapad 1 (kas25_datapad1) and Datapad 2 (kas25_datapad2). In the second ambush, we obtain Datapad 1 and Datapad 2 again, plus a thirdDatapad (kas25_datapad). Datapad 1 is dropped by kas25_mandalor01 in the first ambush and by kas25_mand_end in the second. Removing the duplicate is a simple matter of removing Datapad from the inventory of the latter. Datapad 2 is dropped by kas25_mandalor02. This enemy appears in both ambushes so my idea was just to swaps him with kas25_mandalor07 (another Mandalorian warrior carrying no special item). The script that deals with the ambushes (both of them) is k_pkas_mandend and the main function is this: void main() { object oNearestKas25_mand_end = GetNearestObjectByTag("kas25_mandalor01", OBJECT_SELF, 1); object oNearestKas25_mandalor02 = GetNearestObjectByTag("kas25_mandalor02", OBJECT_SELF, 1); object oNearestKas25_mandalor03 = GetNearestObjectByTag("kas25_mandalor03", OBJECT_SELF, 1); if ((!GetIsObjectValid(GetObjectByTag("kas25_mandtrig2", 0)))) { oNearestKas25_mand_end = GetNearestObjectByTag("kas25_mand_end", OBJECT_SELF, 1); } ChangeToStandardFaction(oNearestKas25_mand_end, 1); ChangeToStandardFaction(oNearestKas25_mandalor02, 1); ChangeToStandardFaction(oNearestKas25_mandalor03, 1); AssignCommand(oNearestKas25_mand_end, sub1(OBJECT_INVALID)); AssignCommand(oNearestKas25_mandalor02, sub1(OBJECT_INVALID)); AssignCommand(oNearestKas25_mandalor03, sub1(OBJECT_INVALID)); } The IF condition checks whether or not it is the second ambush taking place (from what I understand) and if it is, it simply swap kas25_mandalor01 with kas25_mand_end. I was hoping that I could just add this line: oNearestKas25_mandalor02 = GetNearestObjectByTag("kas25_mandalore07", OBJECT_SELF, 1); but there is a problem. The new enemy that replaces kas25_mandalor02 does not become hostile for some reason and I cannot understand why. Can someone guess what is happening? Thanks! UPDATE: Well, I think I can start to understand something... The line does not work because the object has never been created during the cutscene. I suppose I need to investigate k_pkas_mand3.ncs. SOLVED: Yes, I did need to add the following also to k_pkas_mand3.ncs: if ((!GetIsObjectValid(GetObjectByTag("kas25_mandtrig2", 0)))) { string1 = "kas25_mandalor07"; }
-
A couple of questions more, if you please. 1) The .mod file works even if not all the vanilla resources in the <level>.rim and <level>_s.rim file are there? Would the game then use what it finds in the <level>.mod and take the rest from <level>.rim and <level>_s.rim? 2) If the resource found in a .mod file is also found in Override, will the latter take precedence? Thanks for your patience.
