Note: LucasForums Archive Project
The content here was reconstructed by scraping the Wayback Machine in an effort to restore some of what was lost when LF went down. The LucasForums Archive Project claims no ownership over the content or assets that were archived on archive.org.

This project is meant for research purposes only.

How can I unlock a door? (was: Script question)

Page: 1 of 1
 Seamhainn
02-10-2008, 2:35 AM
#1
I looked into k_ptar_sithdoor and got this code:


00000008 42 00000391 T 00000391
0000000D 1E 00 00000008 JSR fn_00000015
00000013 20 00 RETN
00000015 02 03 RSADDI
00000017 04 03 00000000 CONSTI 00000000
0000001D 01 01 FFFFFFF8 0004 CPDOWNSP FFFFFFF8, 0004
00000025 1B 00 FFFFFFFC MOVSP FFFFFFFC
0000002B 02 03 RSADDI
0000002D 04 03 00000001 CONSTI 00000001
00000033 01 01 FFFFFFF8 0004 CPDOWNSP FFFFFFF8, 0004
0000003B 1B 00 FFFFFFFC MOVSP FFFFFFFC
00000041 02 03 RSADDI
00000043 04 03 00000002 CONSTI 00000002
00000049 01 01 FFFFFFF8 0004 CPDOWNSP FFFFFFF8, 0004
00000051 1B 00 FFFFFFFC MOVSP FFFFFFFC
00000057 02 03 RSADDI
00000059 04 03 00000003 CONSTI 00000003
0000005F 01 01 FFFFFFF8 0004 CPDOWNSP FFFFFFF8, 0004
00000067 1B 00 FFFFFFFC MOVSP FFFFFFFC
0000006D 02 03 RSADDI
0000006F 04 03 00000004 CONSTI 00000004
00000075 01 01 FFFFFFF8 0004 CPDOWNSP FFFFFFF8, 0004
0000007D 1B 00 FFFFFFFC MOVSP FFFFFFFC
00000083 02 03 RSADDI
00000085 04 03 00000005 CONSTI 00000005
0000008B 01 01 FFFFFFF8 0004 CPDOWNSP FFFFFFF8, 0004
00000093 1B 00 FFFFFFFC MOVSP FFFFFFFC
00000099 02 03 RSADDI
0000009B 04 03 00000006 CONSTI 00000006
000000A1 01 01 FFFFFFF8 0004 CPDOWNSP FFFFFFF8, 0004
000000A9 1B 00 FFFFFFFC MOVSP FFFFFFFC
000000AF 02 03 RSADDI
000000B1 04 03 00000007 CONSTI 00000007
000000B7 01 01 FFFFFFF8 0004 CPDOWNSP FFFFFFF8, 0004
000000BF 1B 00 FFFFFFFC MOVSP FFFFFFFC
000000C5 02 03 RSADDI
000000C7 04 03 00000008 CONSTI 00000008
000000CD 01 01 FFFFFFF8 0004 CPDOWNSP FFFFFFF8, 0004
000000D5 1B 00 FFFFFFFC MOVSP FFFFFFFC
000000DB 02 03 RSADDI
000000DD 04 03 00000009 CONSTI 00000009
000000E3 01 01 FFFFFFF8 0004 CPDOWNSP FFFFFFF8, 0004
000000EB 1B 00 FFFFFFFC MOVSP FFFFFFFC
000000F1 02 03 RSADDI
000000F3 04 03 0000000A CONSTI 0000000A
000000F9 01 01 FFFFFFF8 0004 CPDOWNSP FFFFFFF8, 0004
00000101 1B 00 FFFFFFFC MOVSP FFFFFFFC
00000107 02 03 RSADDI
00000109 04 03 0000000B CONSTI 0000000B
0000010F 01 01 FFFFFFF8 0004 CPDOWNSP FFFFFFF8, 0004
00000117 1B 00 FFFFFFFC MOVSP FFFFFFFC
0000011D 02 03 RSADDI
0000011F 04 03 0000000C CONSTI 0000000C
00000125 01 01 FFFFFFF8 0004 CPDOWNSP FFFFFFF8, 0004
0000012D 1B 00 FFFFFFFC MOVSP FFFFFFFC
00000133 02 03 RSADDI
00000135 04 03 0000000D CONSTI 0000000D
0000013B 01 01 FFFFFFF8 0004 CPDOWNSP FFFFFFF8, 0004
00000143 1B 00 FFFFFFFC MOVSP FFFFFFFC
00000149 02 03 RSADDI
0000014B 04 03 0000000E CONSTI 0000000E
00000151 01 01 FFFFFFF8 0004 CPDOWNSP FFFFFFF8, 0004
00000159 1B 00 FFFFFFFC MOVSP FFFFFFFC
0000015F 02 03 RSADDI
00000161 04 03 0000000F CONSTI 0000000F
00000167 01 01 FFFFFFF8 0004 CPDOWNSP FFFFFFF8, 0004
0000016F 1B 00 FFFFFFFC MOVSP FFFFFFFC
00000175 02 03 RSADDI
00000177 04 03 00000010 CONSTI 00000010
0000017D 01 01 FFFFFFF8 0004 CPDOWNSP FFFFFFF8, 0004
00000185 1B 00 FFFFFFFC MOVSP FFFFFFFC
0000018B 02 03 RSADDI
0000018D 04 03 00000011 CONSTI 00000011
00000193 01 01 FFFFFFF8 0004 CPDOWNSP FFFFFFF8, 0004
0000019B 1B 00 FFFFFFFC MOVSP FFFFFFFC
000001A1 02 03 RSADDI
000001A3 04 03 00000012 CONSTI 00000012
000001A9 01 01 FFFFFFF8 0004 CPDOWNSP FFFFFFF8, 0004
000001B1 1B 00 FFFFFFFC MOVSP FFFFFFFC
000001B7 02 03 RSADDI
000001B9 04 03 00000013 CONSTI 00000013
000001BF 01 01 FFFFFFF8 0004 CPDOWNSP FFFFFFF8, 0004
000001C7 1B 00 FFFFFFFC MOVSP FFFFFFFC
000001CD 02 03 RSADDI
000001CF 04 03 0000044C CONSTI 0000044C
000001D5 01 01 FFFFFFF8 0004 CPDOWNSP FFFFFFF8, 0004
000001DD 1B 00 FFFFFFFC MOVSP FFFFFFFC
000001E3 02 03 RSADDI
000001E5 04 03 00000006 CONSTI 00000006
000001EB 19 03 NEGI
000001ED 01 01 FFFFFFF8 0004 CPDOWNSP FFFFFFF8, 0004
000001F5 1B 00 FFFFFFFC MOVSP FFFFFFFC
000001FB 02 03 RSADDI
000001FD 04 03 00000005 CONSTI 00000005
00000203 19 03 NEGI
00000205 01 01 FFFFFFF8 0004 CPDOWNSP FFFFFFF8, 0004
0000020D 1B 00 FFFFFFFC MOVSP FFFFFFFC
00000213 02 03 RSADDI
00000215 04 03 00000004 CONSTI 00000004
0000021B 19 03 NEGI
0000021D 01 01 FFFFFFF8 0004 CPDOWNSP FFFFFFF8, 0004
00000225 1B 00 FFFFFFFC MOVSP FFFFFFFC
0000022B 02 03 RSADDI
0000022D 04 03 00000002 CONSTI 00000002
00000233 19 03 NEGI
00000235 01 01 FFFFFFF8 0004 CPDOWNSP FFFFFFF8, 0004
0000023D 1B 00 FFFFFFFC MOVSP FFFFFFFC
00000243 02 03 RSADDI
00000245 04 03 00000001 CONSTI 00000001
0000024B 19 03 NEGI
0000024D 01 01 FFFFFFF8 0004 CPDOWNSP FFFFFFF8, 0004
00000255 1B 00 FFFFFFFC MOVSP FFFFFFFC
0000025B 02 03 RSADDI
0000025D 04 03 00000000 CONSTI 00000000
00000263 01 01 FFFFFFF8 0004 CPDOWNSP FFFFFFF8, 0004
0000026B 1B 00 FFFFFFFC MOVSP FFFFFFFC
00000271 2A 00 SAVEBP
00000273 1E 00 00000010 JSR fn_00000283
00000279 2B 00 RESTOREBP
0000027B 1B 00 FFFFFF94 MOVSP FFFFFF94
00000281 20 00 RETN
00000283 02 06 RSADDO
00000285 04 03 00000000 CONSTI 00000000
0000028B 05 00 0241 01 ACTION GetPartyMemberByIndex(0241), 01
00000290 01 01 FFFFFFF8 0004 CPDOWNSP FFFFFFF8, 0004
00000298 1B 00 FFFFFFFC MOVSP FFFFFFFC
0000029E 03 01 FFFFFFFC 0004 CPTOPSP FFFFFFFC, 0004
000002A6 05 00 002A 01 ACTION GetIsObjectValid(002A), 01
000002AB 22 03 NOTI
000002AD 1F 00 00000032 JZ off_000002DF
000002B3 04 04 40A00000 CONSTF 5.000000
000002B9 04 03 00000005 CONSTI 00000005
000002BF 04 03 00000005 CONSTI 00000005
000002C5 04 05 000A str CONSTS "BAD OPENER"
000002D3 1E 00 0000007E JSR fn_00000351
000002D9 1D 00 0000003A JMP off_00000313
000002DF 04 04 40A00000 CONSTF 5.000000
000002E5 04 03 00000005 CONSTI 00000005
000002EB 04 03 00000005 CONSTI 00000005
000002F1 04 05 0009 str CONSTS "OPENER - "
000002FE 03 01 FFFFFFEC 0004 CPTOPSP FFFFFFEC, 0004
00000306 05 00 00A8 01 ACTION GetTag(00A8), 01
0000030B 14 23 ADDSS
0000030D 1E 00 00000044 JSR fn_00000351
00000313 04 06 00000000 CONSTO 00000000
00000319 05 00 0145 01 ACTION GetLocked(0145), 01
0000031E 22 03 NOTI
00000320 1F 00 00000018 JZ off_00000338
00000326 1B 00 FFFFFFFC MOVSP FFFFFFFC
0000032C 1D 00 00000023 JMP off_0000034F
00000332 1D 00 00000006 JMP off_00000338
00000338 04 03 00005639 CONSTI 00005639
0000033E 04 06 00000000 CONSTO 00000000
00000344 05 00 029F 02 ACTION BarkString(029F), 02
00000349 1B 00 FFFFFFFC MOVSP FFFFFFFC
0000034F 20 00 RETN
00000351 05 00 02F9 00 ACTION ShipBuild(02F9), 00
00000356 22 03 NOTI
00000358 1F 00 00000031 JZ off_00000389
0000035E 03 01 FFFFFFF0 0004 CPTOPSP FFFFFFF0, 0004
00000366 03 01 FFFFFFF0 0004 CPTOPSP FFFFFFF0, 0004
0000036E 03 01 FFFFFFF0 0004 CPTOPSP FFFFFFF0, 0004
00000376 03 01 FFFFFFF0 0004 CPTOPSP FFFFFFF0, 0004
0000037E 05 00 0246 04 ACTION AurPostString(0246), 04
00000383 1D 00 00000006 JMP off_00000389
00000389 1B 00 FFFFFFF0 MOVSP FFFFFFF0
0000038F 20 00 RETN


Does that make sence to anyone in the know?

Thanks
 Exile007
02-10-2008, 11:14 AM
#2
I think that it is a compiled script, not really sure though.
 Seamhainn
02-10-2008, 12:10 PM
#3
Yes, as K1 compiled scripts can't be decompiled (unfortunately!). Nevertheless some members of the community here can read even that!
 Stream
02-10-2008, 2:11 PM
#4
Nevertheless some members of the community here can read even that!
Ha I wish, not a chance for me. What is it you're trying to do, just find out what the script does or get it to do something else/more?

--Stream
 Seamhainn
02-10-2008, 2:22 PM
#5
The Sithdoor is locked. but when the pc clicks on it the three boxes (bash, picklock and the third one) don't show. As I want to accomplish that to in the Black Vulkar base I want to know how that trick works. As my doors are designed EXACTLY like the Sithdoor it must be a script trick. So...
 Exile007
02-10-2008, 6:57 PM
#6
Couldn't you find the source script? Or use DeNCS?
 Seamhainn
02-11-2008, 1:38 AM
#7
Couldn't you find the source script? Or use DeNCS?

Unfortunately there is no source script, and K1 code can't be decompiled, unfortunately again (I tried DeNCS already!).
 tk102
02-11-2008, 10:07 AM
#8
The script just contains the developers' debug code. It does nothing useful.
The Sithdoor is locked. but when the pc clicks on it the three boxes (bash, picklock and the third one) don't show. As I want to accomplish that to in the Black Vulkar base I want to know how that trick works. As my doors are designed EXACTLY like the Sithdoor it must be a script trick. So...
Make sure you have all the same values for the fields named "Trap*"
 Seamhainn
02-12-2008, 9:13 AM
#9
Make sure you have all the same values for the fields named "Trap*"

Sorry? You lost me there...
 tk102
02-12-2008, 10:24 AM
#10
 Seamhainn
02-12-2008, 10:46 AM
#11
Yikes, I did not know that there are more change possibilities besides KT. Thank you tk, I'll give it a try tonight.

Take care

Edit: tk102: You were close, but not on the spot :-) . Nevertheless I want to thank you very, very much because you gave me the final kick to find the solution!!!

Hint for modders: KotOR Tool can't handle the Plot (item) entry. Although it is displayed, it is not displayed properly (always unchecked!), and if one ticks the box it is NOT saved properly!

With K-GFF I could check AND save the changes for Plot properly (and got them displayed properly!), and I could find the solution.

So, to make a long story short, if one wants to erase the boxes under the "Locked" display for a locked door, the Plot must be set to 1.

Stupid me, someone here (I don't remember who) gave me this hint in the beginning of my endouver (but as I did not know then that .utd files can be manipulated with K-GFF also I did not follow that path). So some things must be learnd the (very) hard way.

Thanks again to everybody who helped me with this problem!!!
 tk102
02-12-2008, 1:10 PM
#12
:p Glad I was able to sort-of help.
 Robespierre
02-13-2008, 12:15 AM
#13
Yes, as K1 compiled scripts can't be decompiled (unfortunately!). Nevertheless some members of the community here can read even that!

I thought they could...I decompiled some of the .ncs files I needed (the on enter ones).
 swfan28
02-13-2008, 5:59 AM
#14
DeNCS was made for TSL scripts but some of the K1 scripts will decompile with it just fine. More often than not the decompilation fails however.
 Robespierre
02-13-2008, 6:08 AM
#15
Is there some reason for that? Like, the size of the script or the way some scripts were compiled (perhaps earlier in the development stage)? And in what way are K1 scripts different from TSL scripts?
 swfan28
02-14-2008, 4:48 AM
#16
I don't know really. The different nwscript.nss may be one of the reasons but I've not had much better results by using the K1's nwscript.nss with the DeNCS. You'll need to ask the guys who wrote the DeNCS.

This doesn't mean that DeNCS would be useless with K1. It is always worth a try. Also the tutorial http://www.lucasforums.com/showthread.php?t=137370) could be useful when adding content to the existing scripts in both games.
Page: 1 of 1