-
Content Count
173 -
Joined
-
Last visited
-
Days Won
8
Content Type
Profiles
Forums
Blogs
Forum & Tracker Requests
Downloads
Gallery
Store
Calendar
Everything posted by A Future Pilot
-
Ah OK, that makes sense! Thanks!
-
I'd like some opinions on something: It's always bothered me that once HK-47's stimuli is triggered, he claims that he is fully functional, but he doesn't have the abilities that he's granted through going through the repair process with him. Is this in y'all's opinions a bug that should be fixed, or just the way it was intended (in which case I'll make a separate mod cause it still bothers me lol).
-
I'd like to fix this bug in my Unofficial Patch. I found the misspelling (pebn_johani instead of pebn_juhani), but then I continued searching through files, and I can't find pebn_juhani anywhere (I'm assuming it's a .utc file?) Do you happen to know where that file is? (I don't plan on editing it, but just for future reference).
-
You make a good point regarding the dialog. I think I'll keep it out. Regarding the Tach, something that has happened to me on multiple playthroughs without thinking is having already grabbed the glands in the chest and sold them before actually getting back to Griff. I personally consider a quest that is uncompletable because of not knowing to do things in a certain order a bug. (Now this doesn't apply to things like the Manaan missions after you can no longer return there, because that's a result of in-game choices.) However, maybe the best way to correct this is to simply spawn a single tach gland in that chest if you have the quest from Griff, but don't have a gland in your inventory when entering the module. What do you think of that?
-
I've added Kainzorus Prime's PC Response Moderation mod to the consideration list. What do y'all think?
-
Thank you!
-
@Admins: If a readme says that the mod can be distributed freely, am I good, or does it specifically have to give permission to be included in other mods? Also, for mods that are very simple fixes, if the author doesn't give me permission, or I'm not able to contact them, how would you like me to prove that I've recreated the mod as opposed to using theirs?
-
For clarity, I have currently received permission for: Sapith Fix First Lightsaber Crystal Fix Vrook and Zhar Fix Red Lightsaber Crystal Fix I have not yet asked for (or received) permission for the Kandon Ark Fix, as I would like more feedback on whether or not it should be included, before pursuing it.
-
How to check if NPC has already spawned
A Future Pilot replied to A Future Pilot's topic in General Kotor/TSL Modding
For most modules there are two rim files, one with a "_s" on the end, and one without. In Kotor Tool, expand the one without the _s and then expand "Dynamic Area Info". You should see the .git file there. Click on it, and then click "Extract File" over on the right hand side. To actually edit it, you'll need a gff editor. My favorite is kgff which I got from a link posted by Fair Strides here: http://deadlystream.com/forum/topic/3552-does-anyone-have-a-working-download-link-for-a-gff-editor/?p=36625 -
I'm gonna post my discoveries regarding this bug here, and my progress in fixing it. To begin with, the description of the bug as usually reported is "If you open the door to Griff's cell in the Sand People Enclave before getting the quest for him from Mission, he won't appear after talking to the Czerka officer." The first thing I noticed when investigating this is that the bug can't be caused by the door because that door isn't differentiated from any of the other "Wood Slat Doors" in the compound. There is a single .utd file (sw_door_tat_005.utd) for all of those doors. (The module is m20aa.git inside tat_m20aa.rim). I then went digging into the module and scripts and such, and after a lot of hassle I was able to get the bytecode for the OnEnter script of the module where Griff is actually spawned (this is from xoreos-tools ncsdis): k_ptat20aa_enter.ncs: main: ; void main() 00000C94 02 06 RSADDO 00000C96 05 00 0224 00 ACTION GetFirstPC 0 00000C9B 01 01 FFFFFFF8 0004 CPDOWNSP -8 4 00000CA3 1B 00 FFFFFFFC MOVSP -4 00000CA9 02 06 RSADDO 00000CAB 04 05 str CONSTS "tat17_vaporator" 00000CBE 03 01 FFFFFFF4 0004 CPTOPSP -12 4 00000CC6 05 00 001E 02 ACTION GetItemPossessedBy 2 00000CCB 01 01 FFFFFFF8 0004 CPDOWNSP -8 4 00000CD3 1B 00 FFFFFFFC MOVSP -4 00000CD9 02 06 RSADDO 00000CDB 04 03 00000000 CONSTI 0 00000CE1 04 05 str CONSTS "tat20_09chief_01" 00000CF5 05 00 00C8 02 ACTION GetObjectByTag 2 00000CFA 01 01 FFFFFFF8 0004 CPDOWNSP -8 4 00000D02 1B 00 FFFFFFFC MOVSP -4 00000D08 04 03 00000004 CONSTI 4 00000D0E 04 05 str CONSTS "tat_AreaLocator" 00000D21 05 00 0245 02 ACTION SetGlobalNumber 2 00000D26 04 05 str CONSTS "Mis_MissionTalk" 00000D39 05 00 0244 01 ACTION GetGlobalNumber 1 00000D3E 04 03 00000009 CONSTI 9 00000D44 0B 20 EQII 00000D46 03 01 FFFFFFFC 0004 CPTOPSP -4 4 00000D4E 1F 00 00000018 JZ loc_00000D66 00000D54 02 03 RSADDI 00000D56 1E 00 000000F6 JSR sub_00000E4C 00000D5C 04 03 00000000 CONSTI 0 00000D62 0B 20 EQII 00000D64 06 20 LOGANDII loc_00000D66: 00000D66 1F 00 0000003B JZ loc_00000DA1 00000D6C 04 03 00000001 CONSTI 1 00000D72 1E 00 000001F4 JSR sub_00000F66 00000D78 2C 01 10 00000264 0000000C STORESTATE sta_00000D88 612 12 00000D82 1D 00 0000000E JMP loc_00000D90 -------- -------------------------- --- sta_00000D88: 00000D88 1E 00 0000051E JSR sub_000012A6 00000D8E 20 00 RETN -------- -------------------------- --- loc_00000D90: 00000D90 04 04 3F800000 CONSTF 1.000000 00000D96 05 00 0007 02 ACTION DelayCommand 2 00000D9B 1D 00 00000006 JMP loc_00000DA1 -------- -------------------------- --- loc_00000DA1: 00000DA1 03 01 FFFFFFF8 0004 CPTOPSP -8 4 00000DA9 05 00 002A 01 ACTION GetIsObjectValid 1 00000DAE 04 03 00000001 CONSTI 1 00000DB4 0B 20 EQII 00000DB6 1F 00 0000008E JZ loc_00000E44 00000DBC 04 04 3F333333 CONSTF 0.700000 00000DC2 05 00 02F7 01 ACTION NoClicksFor 1 00000DC7 2C 01 10 00000264 0000000C STORESTATE sta_00000DD7 612 12 00000DD1 1D 00 00000062 JMP loc_00000E33 -------- -------------------------- --- sta_00000DD7: 00000DD7 2C 01 10 00000264 0000000C STORESTATE sta_00000DE7 612 12 00000DE1 1D 00 00000043 JMP loc_00000E24 -------- -------------------------- --- sta_00000DE7: 00000DE7 04 05 str CONSTS "" 00000DEB 04 05 str CONSTS "" 00000DEF 04 05 str CONSTS "" 00000DF3 04 05 str CONSTS "" 00000DF7 04 05 str CONSTS "" 00000DFB 04 05 str CONSTS "" 00000DFF 04 03 00000001 CONSTI 1 00000E05 04 03 00000000 CONSTI 0 00000E0B 04 03 00000000 CONSTI 0 00000E11 04 05 str CONSTS "" 00000E15 03 01 FFFFFFCC 0004 CPTOPSP -52 4 00000E1D 05 00 00CC 0B ACTION ActionStartConversation 11 00000E22 20 00 RETN -------- -------------------------- --- loc_00000E24: 00000E24 03 01 FFFFFFFC 0004 CPTOPSP -4 4 00000E2C 05 00 0006 02 ACTION AssignCommand 2 00000E31 20 00 RETN -------- -------------------------- --- loc_00000E33: 00000E33 04 04 3F000000 CONSTF 0.500000 00000E39 05 00 0007 02 ACTION DelayCommand 2 00000E3E 1D 00 00000006 JMP loc_00000E44 -------- -------------------------- --- loc_00000E44: 00000E44 1B 00 FFFFFFF4 MOVSP -12 00000E4A 20 00 RETN -------- -------------------------- --- sub_00000E4C: ; int sub_00000E4C() 00000E4C 02 03 RSADDI 00000E4E 27 01 FFFFFD9C 0004 CPTOPBP -612 4 00000E56 04 06 00000000 CONSTO 0 00000E5C 1E 00 00000022 JSR sub_00000E7E 00000E62 01 01 FFFFFFF8 0004 CPDOWNSP -8 4 00000E6A 1B 00 FFFFFFFC MOVSP -4 00000E70 1D 00 0000000C JMP loc_00000E7C -------- -------------------------- --- 00000E76 1B 00 FFFFFFFC MOVSP -4 loc_00000E7C: 00000E7C 20 00 RETN -------- -------------------------- --- sub_00000E7E: ; int sub_00000E7E(object, int) 00000E7E 02 03 RSADDI 00000E80 03 01 FFFFFFF4 0004 CPTOPSP -12 4 00000E88 04 03 00000000 CONSTI 0 00000E8E 0D 20 GEQII 00000E90 03 01 FFFFFFFC 0004 CPTOPSP -4 4 00000E98 1F 00 00000018 JZ loc_00000EB0 00000E9E 03 01 FFFFFFF0 0004 CPTOPSP -16 4 00000EA6 04 03 00000013 CONSTI 19 00000EAC 10 20 LEQII 00000EAE 06 20 LOGANDII loc_00000EB0: 00000EB0 03 01 FFFFFFFC 0004 CPTOPSP -4 4 00000EB8 1F 00 00000015 JZ loc_00000ECD 00000EBE 03 01 FFFFFFF4 0004 CPTOPSP -12 4 00000EC6 05 00 002A 01 ACTION GetIsObjectValid 1 00000ECB 06 20 LOGANDII loc_00000ECD: 00000ECD 1F 00 0000006B JZ loc_00000F38 00000ED3 03 01 FFFFFFF4 0004 CPTOPSP -12 4 00000EDB 03 01 FFFFFFF4 0004 CPTOPSP -12 4 00000EE3 05 00 02A7 02 ACTION GetLocalBoolean 2 00000EE8 01 01 FFFFFFF8 0004 CPDOWNSP -8 4 00000EF0 1B 00 FFFFFFFC MOVSP -4 00000EF6 03 01 FFFFFFFC 0004 CPTOPSP -4 4 00000EFE 04 03 00000000 CONSTI 0 00000F04 0E 20 GTII 00000F06 1F 00 0000002C JZ loc_00000F32 00000F0C 04 03 00000001 CONSTI 1 00000F12 01 01 FFFFFFEC 0004 CPDOWNSP -20 4 00000F1A 1B 00 FFFFFFF8 MOVSP -8 00000F20 1D 00 0000003E JMP loc_00000F5E -------- -------------------------- --- 00000F26 1B 00 FFFFFFFC MOVSP -4 00000F2C 1D 00 00000006 JMP loc_00000F32 -------- -------------------------- --- loc_00000F32: 00000F32 1D 00 00000006 JMP loc_00000F38 -------- -------------------------- --- loc_00000F38: 00000F38 04 03 00000000 CONSTI 0 00000F3E 01 01 FFFFFFEC 0004 CPDOWNSP -20 4 00000F46 1B 00 FFFFFFF8 MOVSP -8 00000F4C 1D 00 00000012 JMP loc_00000F5E -------- -------------------------- --- 00000F52 1B 00 FFFFFFFC MOVSP -4 00000F58 1B 00 FFFFFFFC MOVSP -4 loc_00000F5E: 00000F5E 1B 00 FFFFFFF8 MOVSP -8 00000F64 20 00 RETN -------- -------------------------- --- sub_00000F66: ; void sub_00000F66(int) 00000F66 03 01 FFFFFFFC 0004 CPTOPSP -4 4 00000F6E 04 03 00000001 CONSTI 1 00000F74 0B 20 EQII 00000F76 03 01 FFFFFFFC 0004 CPTOPSP -4 4 00000F7E 1F 00 00000014 JZ loc_00000F92 00000F84 03 01 FFFFFFFC 0004 CPTOPSP -4 4 00000F8C 1F 00 00000016 JZ loc_00000FA2 loc_00000F92: 00000F92 03 01 FFFFFFF8 0004 CPTOPSP -8 4 00000F9A 04 03 00000000 CONSTI 0 00000FA0 0B 20 EQII loc_00000FA2: 00000FA2 07 20 LOGORII 00000FA4 1F 00 00000028 JZ loc_00000FCC 00000FAA 03 01 FFFFFFFC 0004 CPTOPSP -4 4 00000FB2 27 01 FFFFFD9C 0004 CPTOPBP -612 4 00000FBA 04 06 00000000 CONSTO 0 00000FC0 1E 00 0000001A JSR sub_00000FDA 00000FC6 1D 00 00000006 JMP loc_00000FCC -------- -------------------------- --- loc_00000FCC: 00000FCC 1D 00 00000006 JMP loc_00000FD2 -------- -------------------------- --- loc_00000FD2: 00000FD2 1B 00 FFFFFFFC MOVSP -4 00000FD8 20 00 RETN -------- -------------------------- --- sub_00000FDA: ; void sub_00000FDA(object, int, int) 00000FDA 02 03 RSADDI 00000FDC 05 00 0224 00 ACTION GetFirstPC 0 00000FE1 05 00 00A6 01 ACTION GetHitDice 1 00000FE6 01 01 FFFFFFF8 0004 CPDOWNSP -8 4 00000FEE 1B 00 FFFFFFFC MOVSP -4 00000FF4 03 01 FFFFFFF0 0004 CPTOPSP -16 4 00000FFC 04 03 00000001 CONSTI 1 00001002 0B 20 EQII 00001004 1F 00 000001D4 JZ loc_000011D8 0000100A 03 01 FFFFFFF4 0004 CPTOPSP -12 4 00001012 27 01 FFFFFDC8 0004 CPTOPBP -568 4 0000101A 0B 20 EQII 0000101C 03 01 FFFFFFFC 0004 CPTOPSP -4 4 00001024 1F 00 00000014 JZ loc_00001038 0000102A 03 01 FFFFFFFC 0004 CPTOPSP -4 4 00001032 1F 00 00000018 JZ loc_0000104A loc_00001038: 00001038 03 01 FFFFFFF0 0004 CPTOPSP -16 4 00001040 27 01 FFFFFDDC 0004 CPTOPBP -548 4 00001048 0B 20 EQII loc_0000104A: 0000104A 07 20 LOGORII 0000104C 03 01 FFFFFFFC 0004 CPTOPSP -4 4 00001054 1F 00 00000014 JZ loc_00001068 0000105A 03 01 FFFFFFFC 0004 CPTOPSP -4 4 00001062 1F 00 00000018 JZ loc_0000107A loc_00001068: 00001068 03 01 FFFFFFF0 0004 CPTOPSP -16 4 00001070 27 01 FFFFFDE0 0004 CPTOPBP -544 4 00001078 0B 20 EQII loc_0000107A: 0000107A 07 20 LOGORII 0000107C 03 01 FFFFFFFC 0004 CPTOPSP -4 4 00001084 1F 00 00000014 JZ loc_00001098 0000108A 03 01 FFFFFFFC 0004 CPTOPSP -4 4 00001092 1F 00 00000018 JZ loc_000010AA loc_00001098: 00001098 03 01 FFFFFFF0 0004 CPTOPSP -16 4 000010A0 27 01 FFFFFDE4 0004 CPTOPBP -540 4 000010A8 0B 20 EQII loc_000010AA: 000010AA 07 20 LOGORII 000010AC 1F 00 00000026 JZ loc_000010D2 000010B2 03 01 FFFFFFFC 0004 CPTOPSP -4 4 000010BA 04 03 0000000F CONSTI 15 000010C0 16 20 MULII 000010C2 05 00 0224 00 ACTION GetFirstPC 0 000010C7 05 00 0189 02 ACTION GiveXPToCreature 2 000010CC 1D 00 00000106 JMP loc_000011D2 -------- -------------------------- --- loc_000010D2: 000010D2 03 01 FFFFFFF4 0004 CPTOPSP -12 4 000010DA 27 01 FFFFFDCC 0004 CPTOPBP -564 4 000010E2 0B 20 EQII 000010E4 03 01 FFFFFFFC 0004 CPTOPSP -4 4 000010EC 1F 00 00000014 JZ loc_00001100 000010F2 03 01 FFFFFFFC 0004 CPTOPSP -4 4 000010FA 1F 00 00000018 JZ loc_00001112 loc_00001100: 00001100 03 01 FFFFFFF0 0004 CPTOPSP -16 4 00001108 27 01 FFFFFDE8 0004 CPTOPBP -536 4 00001110 0B 20 EQII loc_00001112: 00001112 07 20 LOGORII 00001114 03 01 FFFFFFFC 0004 CPTOPSP -4 4 0000111C 1F 00 00000014 JZ loc_00001130 00001122 03 01 FFFFFFFC 0004 CPTOPSP -4 4 0000112A 1F 00 00000018 JZ loc_00001142 loc_00001130: 00001130 03 01 FFFFFFF0 0004 CPTOPSP -16 4 00001138 27 01 FFFFFDD8 0004 CPTOPBP -552 4 00001140 0B 20 EQII loc_00001142: 00001142 07 20 LOGORII 00001144 1F 00 00000026 JZ loc_0000116A 0000114A 03 01 FFFFFFFC 0004 CPTOPSP -4 4 00001152 04 03 00000014 CONSTI 20 00001158 16 20 MULII 0000115A 05 00 0224 00 ACTION GetFirstPC 0 0000115F 05 00 0189 02 ACTION GiveXPToCreature 2 00001164 1D 00 0000006E JMP loc_000011D2 -------- -------------------------- --- loc_0000116A: 0000116A 03 01 FFFFFFF4 0004 CPTOPSP -12 4 00001172 27 01 FFFFFDD0 0004 CPTOPBP -560 4 0000117A 0B 20 EQII 0000117C 03 01 FFFFFFFC 0004 CPTOPSP -4 4 00001184 1F 00 00000014 JZ loc_00001198 0000118A 03 01 FFFFFFFC 0004 CPTOPSP -4 4 00001192 1F 00 00000018 JZ loc_000011AA loc_00001198: 00001198 03 01 FFFFFFF0 0004 CPTOPSP -16 4 000011A0 27 01 FFFFFDD4 0004 CPTOPBP -556 4 000011A8 0B 20 EQII loc_000011AA: 000011AA 07 20 LOGORII 000011AC 1F 00 00000026 JZ loc_000011D2 000011B2 03 01 FFFFFFFC 0004 CPTOPSP -4 4 000011BA 04 03 0000000A CONSTI 10 000011C0 16 20 MULII 000011C2 05 00 0224 00 ACTION GetFirstPC 0 000011C7 05 00 0189 02 ACTION GiveXPToCreature 2 000011CC 1D 00 00000006 JMP loc_000011D2 -------- -------------------------- --- loc_000011D2: 000011D2 1D 00 00000006 JMP loc_000011D8 -------- -------------------------- --- loc_000011D8: 000011D8 03 01 FFFFFFF4 0004 CPTOPSP -12 4 000011E0 04 03 00000000 CONSTI 0 000011E6 0D 20 GEQII 000011E8 03 01 FFFFFFFC 0004 CPTOPSP -4 4 000011F0 1F 00 00000018 JZ loc_00001208 000011F6 03 01 FFFFFFF0 0004 CPTOPSP -16 4 000011FE 04 03 00000013 CONSTI 19 00001204 10 20 LEQII 00001206 06 20 LOGANDII loc_00001208: 00001208 03 01 FFFFFFFC 0004 CPTOPSP -4 4 00001210 1F 00 00000015 JZ loc_00001225 00001216 03 01 FFFFFFF4 0004 CPTOPSP -12 4 0000121E 05 00 002A 01 ACTION GetIsObjectValid 1 00001223 06 20 LOGANDII loc_00001225: 00001225 1F 00 00000073 JZ loc_00001298 0000122B 03 01 FFFFFFF0 0004 CPTOPSP -16 4 00001233 04 03 00000001 CONSTI 1 00001239 0B 20 EQII 0000123B 03 01 FFFFFFFC 0004 CPTOPSP -4 4 00001243 1F 00 00000014 JZ loc_00001257 00001249 03 01 FFFFFFFC 0004 CPTOPSP -4 4 00001251 1F 00 00000016 JZ loc_00001267 loc_00001257: 00001257 03 01 FFFFFFEC 0004 CPTOPSP -20 4 0000125F 04 03 00000000 CONSTI 0 00001265 0B 20 EQII loc_00001267: 00001267 07 20 LOGORII 00001269 1F 00 00000029 JZ loc_00001292 0000126F 03 01 FFFFFFF0 0004 CPTOPSP -16 4 00001277 03 01 FFFFFFF0 0004 CPTOPSP -16 4 0000127F 03 01 FFFFFFF0 0004 CPTOPSP -16 4 00001287 05 00 02A8 03 ACTION SetLocalBoolean 3 0000128C 1D 00 00000006 JMP loc_00001292 -------- -------------------------- --- loc_00001292: 00001292 1D 00 00000006 JMP loc_00001298 -------- -------------------------- --- loc_00001298: 00001298 1B 00 FFFFFFFC MOVSP -4 0000129E 1B 00 FFFFFFF4 MOVSP -12 000012A4 20 00 RETN -------- -------------------------- --- sub_000012A6: ; void sub_000012A6() 000012A6 02 06 RSADDO 000012A8 04 05 str CONSTS "tat20_wp_griff" 000012BA 05 00 00C5 01 ACTION GetWaypointByTag 1 000012BF 01 01 FFFFFFF8 0004 CPDOWNSP -8 4 000012C7 1B 00 FFFFFFFC MOVSP -4 000012CD 02 06 RSADDO 000012CF 04 03 00000000 CONSTI 0 000012D5 04 05 str CONSTS "tat20_griffguard" 000012E9 05 00 00C8 02 ACTION GetObjectByTag 2 000012EE 01 01 FFFFFFF8 0004 CPDOWNSP -8 4 000012F6 1B 00 FFFFFFFC MOVSP -4 000012FC 02 06 RSADDO 000012FE 04 03 00000001 CONSTI 1 00001304 04 05 str CONSTS "tat20_griffguard" 00001318 05 00 00C8 02 ACTION GetObjectByTag 2 0000131D 01 01 FFFFFFF8 0004 CPDOWNSP -8 4 00001325 1B 00 FFFFFFFC MOVSP -4 0000132B 02 06 RSADDO 0000132D 04 03 00000002 CONSTI 2 00001333 04 05 str CONSTS "tat20_griffguard" 00001347 05 00 00C8 02 ACTION GetObjectByTag 2 0000134C 01 01 FFFFFFF8 0004 CPDOWNSP -8 4 00001354 1B 00 FFFFFFFC MOVSP -4 0000135A 02 06 RSADDO 0000135C 04 03 00000003 CONSTI 3 00001362 04 05 str CONSTS "tat20_griffguard" 00001376 05 00 00C8 02 ACTION GetObjectByTag 2 0000137B 01 01 FFFFFFF8 0004 CPDOWNSP -8 4 00001383 1B 00 FFFFFFFC MOVSP -4 00001389 02 12 RSADDE2 0000138B 03 01 FFFFFFE8 0004 CPTOPSP -24 4 00001393 05 00 00D5 01 ACTION GetLocation 1 00001398 01 01 FFFFFFF8 0004 CPDOWNSP -8 4 000013A0 1B 00 FFFFFFFC MOVSP -4 000013A6 02 12 RSADDE2 000013A8 03 01 FFFFFFE8 0004 CPTOPSP -24 4 000013B0 05 00 00D5 01 ACTION GetLocation 1 000013B5 01 01 FFFFFFF8 0004 CPDOWNSP -8 4 000013BD 1B 00 FFFFFFFC MOVSP -4 000013C3 02 12 RSADDE2 000013C5 03 01 FFFFFFE8 0004 CPTOPSP -24 4 000013CD 05 00 00D5 01 ACTION GetLocation 1 000013D2 01 01 FFFFFFF8 0004 CPDOWNSP -8 4 000013DA 1B 00 FFFFFFFC MOVSP -4 000013E0 02 12 RSADDE2 000013E2 03 01 FFFFFFE8 0004 CPTOPSP -24 4 000013EA 05 00 00D5 01 ACTION GetLocation 1 000013EF 01 01 FFFFFFF8 0004 CPDOWNSP -8 4 000013F7 1B 00 FFFFFFFC MOVSP -4 000013FD 02 12 RSADDE2 000013FF 03 01 FFFFFFE8 0004 CPTOPSP -24 4 00001407 05 00 00D5 01 ACTION GetLocation 1 0000140C 01 01 FFFFFFF8 0004 CPDOWNSP -8 4 00001414 1B 00 FFFFFFFC MOVSP -4 0000141A 04 03 00000000 CONSTI 0 00001420 03 01 FFFFFFE8 0004 CPTOPSP -24 4 00001428 04 05 str CONSTS "tat20_griff" 00001437 04 03 00000001 CONSTI 1 0000143D 05 00 00F3 04 ACTION CreateObject 4 00001442 1B 00 FFFFFFFC MOVSP -4 00001448 04 03 00000000 CONSTI 0 0000144E 03 01 FFFFFFEC 0004 CPTOPSP -20 4 00001456 04 05 str CONSTS "tat20_09warr_01" 00001469 04 03 00000001 CONSTI 1 0000146F 05 00 00F3 04 ACTION CreateObject 4 00001474 1B 00 FFFFFFFC MOVSP -4 0000147A 04 03 00000000 CONSTI 0 00001480 03 01 FFFFFFF0 0004 CPTOPSP -16 4 00001488 04 05 str CONSTS "tat20_09warr_01" 0000149B 04 03 00000001 CONSTI 1 000014A1 05 00 00F3 04 ACTION CreateObject 4 000014A6 1B 00 FFFFFFFC MOVSP -4 000014AC 04 03 00000000 CONSTI 0 000014B2 03 01 FFFFFFF4 0004 CPTOPSP -12 4 000014BA 04 05 str CONSTS "tat20_09warr_01" 000014CD 04 03 00000001 CONSTI 1 000014D3 05 00 00F3 04 ACTION CreateObject 4 000014D8 1B 00 FFFFFFFC MOVSP -4 000014DE 04 03 00000000 CONSTI 0 000014E4 03 01 FFFFFFF8 0004 CPTOPSP -8 4 000014EC 04 05 str CONSTS "tat20_09warr_01" 000014FF 04 03 00000001 CONSTI 1 00001505 05 00 00F3 04 ACTION CreateObject 4 0000150A 1B 00 FFFFFFFC MOVSP -4 00001510 1B 00 FFFFFFD8 MOVSP -40 00001516 20 00 RETN -------- -------------------------- --- Now I'm no expert, but from what I can tell it seems that the only global that is checked before spawning Griff and his 4 guards is "Mis_MissionTalk". (There are a couple "GetIsObjectValid"s in there which I'm not totally sure about yet. I've gotta walk through the code some more, but at first glance I don't think they affect Griff spawning). So now I have to figure out what would cause Mis_MissionTalk to NOT be set to 9. It's originally set to 9 in tat17_10czerk_01.dlg inside tat_17ag_s.rim with: k_hmis_talk9x.nss: //:: k_hmis_Talk9x /* Sets Mis_MissionTalk at 9 */ //:: Created By: Drew K //:: Copyright (c) 2002 Bioware Corp. #include "k_inc_debug" void main() { SetGlobalNumber("Mis_MissionTalk",9); } Since there are no outside checks in that script, the problem is obviously not the script. My guess at this point is either there is something that would cause that script to not run, or there is something that happens between when you talk to the Czerka officer and when you walk into the Enclave that changes Mis_MissionTalk. I've been able to create a script to spawn Griff if tat_MissCaptive is set to 1 (which is set by another script in that same Czerka dialog), and he hasn't already been spawned by the OnEnter script. Even though this fixes the symptom, it doesn't get at the root of the problem. I haven't been able to reproduce this bug since working on the fix (though I actually got the bug on my first playthrough), so I don't have any save files to check the globals against. If anyone has any thoughts on any of this, or if you'd be willing to make me some save files exhibiting the bug, that would be awesome! Thanks!
-
I received permission from blennus via email to include his Comprehensive Bug Fixes hosted on nexusmods. @The Admins: how would you like me to prove it? Also, the Fixed Energy Shields mod gives permission in the Readme to distribute with attribution. Do I need the author's permission for it?
-
Thanks for the input! I'll add that to the OP tomorrow.
-
How to check if NPC has already spawned
A Future Pilot replied to A Future Pilot's topic in General Kotor/TSL Modding
I figured out what was happening...apparently the script was checking GetIsObjectValid before Griff had actually spawned, which caused it to then spawn him. I was able to work around this by putting the body of the script into another .nss file, and then calling ExecuteScript with DelayCommand. Is there a better way to make a script pause before setting a variable? (ActionWait didn't work). Thanks again! EDIT: I was having a serious derp moment when I wrote the above. You can just create a function and then call it with DelayCommand. As a side note, this whole way of fixing this bug is very much a "treating the symptoms" kind of thing, but I haven't been able to trigger the bug again on my own to be able to figure out what's actually causing it. If anyone has a save with this bug demonstrated, I'd be very appreciative if you could send it to me! -
Hey everyone! So I'm working on fixing the griff not spawning bug, and I've decided the best way to do it is by changing the OnEnter script of the Sand People Enclave module. I couldn't get the script to decompile, so I've actually modified the .ar file to point to a new script which then executes the default script. Here's my script currently: void main(){ ExecuteScript("k_ptat20aa_enter", OBJECT_SELF); object oEntering = GetEnteringObject(); object griff = GetObjectByTag("tat20_griff"); // If we've talked to the Czerka officer about Griff and Griff hasn't already spawned if((GetIsPC(oEntering)) && (GetGlobalNumber("tat_MissCaptive") == 1) && (GetIsObjectValid(griff) == FALSE)) { vector vPos; vPos.x = 42.87; vPos.y = 66.82; vPos.z = 14.61; // This is the angle the NPC should be facing float fAngle = 180.00; location test = Location(vPos, fAngle); CreateObject(OBJECT_TYPE_CREATURE, "tat20_griff", test); } } Now the issue I'm running into right now is that it's spawning him even if he's already spawned from the original script BUT not from this script. So if I walk in the first time there are two griffs. I leave and come back, there are still only two griffs (so the GetIsObjectValid function is working for griffs spawned by my script, just not for the original griff spawned when the bug doesn't happen). Why is the GetIsObjectValid function not working when the bug doesn't occur and griff is already spawned when my script runs? Thanks!
-
If it's something I can fix on my own, I create my own mod to fix it and include it. If it's something I can't fix, then I link to it in the readme as a recommended mod to install in addition to the unofficial patch.
-
Why? I plan on using TSLPatcher to help with compatibility.
-
These are issues that I'd like y'all's opinions on. Should they be included or not? Why or why not? 1. Scoundrel pants have a massive buttcrack. Fix: http://deadlystream.com/forum/files/file/537-scoundrel-trousers/ (darkbirdie) 2. Female soldiers use low-res textures. Fix: http://deadlystream.com/forum/files/file/1180-jcs-republic-soldier-fix-for-k1/ (JCarter426) The author has requested this not be included since it's an entirely new model and not a fix. 3. The PC's dialog is pretty dumb in several cases. Fix: http://deadlystream.com/forum/files/file/335-pc-response-moderation/ (Kainzorus Prime) Though this is an issue, it's not a mistake on the developers part, so I will not be including it in this pack.
-
Bugs with Fixes: Mods with a * mean I have received permission from the author to include it. 1. Saptih crystal uses wrong icon. Fix: http://deadlystream.com/forum/files/file/975-sapith-fix/ (N-DReW25)* 2. First lightsaber crystal uses wrong icon. Fix: http://deadlystream.com/forum/files/file/898-first-lightsaber-crystal-fix/ (N-DReW25)* 3. Desert wraids and shyraks use wrong texture. Fix: http://deadlystream.com/forum/files/file/323-desert-wraid-shyrack-texture-fix/ (Red Hessian)* 4. Vrook and Zhar have the wrong color robes. Fix: http://deadlystream.com/forum/files/file/896-vrook-and-zhar-fix/ (N-DReW25)* 5. Feat and proficiency icons are in the wrong order. Fix: http://deadlystream.com/forum/files/file/421-kotor-fixed-proficiencyfocus-feat-icons/ (Kainzorus Prime)* 6. Bastila's romance is bugged. Fix: http://deadlystream.com/forum/files/file/1086-bastila-romance-scriptfix/ (Markus Ramikin)* 7. Walking animation is janky. Fix: http://deadlystream.com/forum/files/file/465-movement-animation-fix-for-both-kotor-and-tsl/ (ZimmMaster)* 8. Manaan quests aren't ended correctly. Fix: http://deadlystream.com/forum/files/file/557-proper-manaan-quest-endings/ (Kexikus)* 9. Multiple bugs. Fix: http://deadlystream.com/forum/files/file/470-kotor-bug-fix-attempt/ (danil-ch)* 10. Multiple bugs. Fix: https://www.nexusmods.com/kotor/mods/75 (blennus)* 11. Energy shields don't block electricity. Fix: http://deadlystream.com/forum/files/file/548-energy-shield-damage-fix/ (R2-X2)* [Permission granted in Readme] 12. Xor bugs messengers. Fix: http://deadlystream.com/forum/topic/3828-no-more-messengers-after-xor-ambush-fixed/ (Fair Strides) This fix is also included in the mod by blennus (#10 above). I have decided to include that since I have already received permission for it. 13. The Ebon Hawk has modeling issues. Fix: http://deadlystream.com/forum/files/file/1134-ebon-hawk-k1-fixes/ (ndix UR)* 14. The red lightsaber crystal uses the wrong icon. Fix: http://deadlystream.com/forum/files/file/911-red-lightsaber-crystal-fix/ (N-DReW25)* 15. Party is in the background of the Taris Escape Sequence. Fix: http://deadlystream.com/forum/files/file/1192-taris-escape-sequence-adjustments/ (DarthParametric)* 16. Droid classes' feat gain is reversed. Fix: http://deadlystream.com/forum/files/file/865-kotor-droid-feat-gain-fix/ (Thrak Farelle)* 17. A couple Sith Archeologists are female when they should be male. Fix: http://deadlystream.com/forum/files/file/1204-male-sith-archaeologist-restoration/ (N-DReW25)* 18. Kandon Ark wears normal clothes instead of his own. Fix: http://deadlystream.com/forum/files/file/1026-kandon-ark-fix/ (N-DReW25)* 19. Xor is non-human. (In the Xbox version he was human) Fix: http://deadlystream.com/forum/files/file/1091-human-xor-restoration/ (Leilukin)* 20. Mandalorian armor has several issues. Fix: https://www.nexusmods.com/kotor/mods/1174 (darthbdaman)* 21. Queedle is the wrong race. Fix: https://deadlystream.com/files/file/1267-queedle-fix/ (N-DreW25)* 22. The star forge door that locks you into the droid section doesn't lock. Fix: http://deadlystream.com/forum/files/file/1195-star-forge-door-fix/ (jc2)* 23. Various character issues on Korriban: https://deadlystream.com/files/file/1293-jcs-korriban-back-in-black-for-k1/ (JCarter426)* Bugs Without Fixes (Yet): 1. Opening Griff's prison door before starting Mission's quest, makes him not spawn. Fixed in v1.0 2. After Griff asks you to get a Tach gland, Tachs are not hostile so you can't kill them. Fixed in v1.0. A tach gland now spawns in the chest by the Czerka officers if there's not already one there, you don't have one in your inventory, and you have the mission from Griff. 3. Infected republic soldier on Taris is wearing a combat suit (Reported by Mr Ardvark) Fixed in v1.1 4. Dune sea miners on Tatooine aren't wearing Czerka gear (Reported by Mr Ardvark) Fixed in v1.1 5. The first room on the right of the hrakert rift station on Manaan has a dark jedi corpse even though the Sith had nothing to do with what happened there, and the remains contain a jedi master robe (Reported by Mr Ardvark) Fixed in v1.2. The corpse has been removed and his inventory has been placed in a chest in the Sith Embassy 6. Czerka employees on Korriban aren't wearing Czerka gear, Shaardan attacks with a sword, Belaya attacks with her fists, and the sith guards inside the academy use the low res student model, instead of the trooper one like the front door guard (Reported by Mr Ardvark) Fixed in v1.4 7. If you complete Korriban before getting Dustil's quest, he doesn't spawn 8. Mission has no clothes on if she isn't in your party when meeting Griff at the spaceport Fixed in v1.4 9. Juhani doesn't appear in the post-leviathan scene (Discovered by Kexikus) Fixed in v1.0 10. Carth talks about being left out of the loop as soon as you've gotten the star map on Dantooine, instead of waiting until after you've met with the council again. 11. If you don't talk to HK-47 during the post-leviathan scene, his "stimuli" is never triggered. 12. If you kill Dustil while looking for proof, Carth will continue looking for proof instead of realizing that Dustil is dead 13. Some Jedi are visible in the cutscene where Malak sends the battle droids after the Jedi 14. When jumping to the Ebon Hawk while wearing the Sand People disguise, it is unequipped 15. When moving to different models while wearing the Sand People disguise, it no longer works at the enclave 16. Dual-bladed weapons don't use the dual wield feat 17. Dak when in the Korriban Cantina respawns after dying every time you leave and return (You must speak to him with Juhani in your party for him to go to the cantina) 18. When talking to Worrronzor to intiate the trial on Kashyyyk, every time you ask "Is there an alternative to letting Jaarak die" you get LS points
-
Now that this is "a thing", I've decided to rewrite this OP a little bit. The goal of the K1 Community Patch (K1CP) is to fix all of the bugs that remain in the last official patch. It is a community project and people are welcome (and encouraged) to contribute to it! Whether that's through reporting bugs, giving opinions on what fixes should be included, or submitting fixes, any involvement is greatly appreciated! Currently the patch consists primarily of other authors' work, with a couple of fixes of my own. Going forward I will be continuing to add my own fixes as they are developed, as well as anyone else's who wishes. NOTE: This patch will never use any author's work without their knowledge and consent. If another mod contains a bugfix, but I can't get permission to use it, I will suggest it as a recommended mod to be installed in addition to this patch until I am able to recreate the fix on my own. I've started compiling a list of bugs, with fixes when available below. If any of you know of any bugs I missed, please comment them! I've also been contacting mod authors to get permission to include their bug fixes. If any aren't OK with it, I'll create my own fixes for those bugs. Almost all of the authors I contacted gave permission, and their mods are now included. To the mod authors who have given me permission to use your mod: First and foremost, thank you very much!! This project wouldn't be possible without y'all's hard work and support! I will include both in the readme, on the mod page, and in the TSLPatcher info.rtf file a list of all mods used with a link to the mod, the name of the author, and what bug it fixes. P.S. Here's my general criteria for determining whether or not something is a bug: If there's reasonable evidence that the developers intended for it to be different OR If it breaks the game in some way (making dialog inaccessible, or a quest uncompletable) OR If it just makes more sense to be different given the in-game context As a general rule, content restoration will only be included if it was only inaccessible due to a bug, not if it was purposefully cut out by the developers.
-
Thanks for the mod! Just a couple notes real quick: 1. In the readme you don't mention the NM08AADAVS11008_.wav file. (You just mention the -015 and up). 2. Is there any way you could make this a TSLPatcher mod? Or give me permission and I could do it for you. That would give it better compatibility with anything that modifies those .dlg files, as well as automatically performing a backup of the .wav files.
-
I've done a little digging and I've found that the issue (or at least one issue), is in "k_hjuh_dialog.dlg". In Entry 177: This should use k_hjuh_h07 do determine availability. That script sets the G_JUNAHIH_STATE variable to 7 which is necessary to continue her dialog. As I said, there may be other issues, but that's definitely one that I found
-
Hey I just wanted to offer myself for testing this mod when you need testers Also, how's the progress coming?