-
Content Count
569 -
Joined
-
Last visited
-
Days Won
17
Posts posted by djh269
-
-
The copy and paste function has been my best friend with scripting in the past but I'll definitely keep researching to become better, I'll peruse the K1CP nss files.
I archived all the scripts I could find on Lucasforums years ago but I never set up account recovery on my old email and lost them all haha.
Thanks for the advice! 🙏
-
Okay I'll look into both scripts involved!
Where'd you learn to script so well? The Nwn Lexicon, Lucasforums or anything like that? Most people have backgrounds in programming like Stoffe to get to such such a high level of understanding of scripting, pretty sure its C++ am I right?
-
Thanks for such a quick response!
Yeah the original script is very messy, where does the function:
SpawnStartingEquipment()
Pull from? From your include script or nwsscript.nss?
It'll be more concise if I used the include function definitely, I'll also use the getskillrank function as my original line just checked whether you had the skill and not a specific number rank. I just found it odd the original check which gave you a stealth field generator was the only function that actually carried out a check or not. So strange haha.
-
Hello all,
I was tinkering with the Endar Spire script that specifically places class custom items within the initial Footlocker (k_pend_area01.ncs).For some reason whenever I try and use an If statement to check whether the player has a certain skill, it will then place an item within the Footlocker, but regardless of whether I have any points in the skill it still spawns the item and I can't see why. Please see the Important section below as the main script is pretty big:
} if (GetHasSkill(2, GetFirstPC())) { CreateItemOnObject(stringGLOB_35, object1, 1); } if (GetHasSkill(0, GetFirstPC())) { CreateItemOnObject(stringGLOB_36, object1, 2); } if (GetHasSkill(1, GetFirstPC())) { CreateItemOnObject(stringGLOB_37, object1, 2); } if (GetHasSkill(5, GetFirstPC())) { CreateItemOnObject(stringGLOB_38, object1, 2); } if (GetHasSkill(6, GetFirstPC())) { CreateItemOnObject(stringGLOB_39, object1, 2); } if (GetHasSkill(7, GetFirstPC())) { CreateItemOnObject(stringGLOB_40, object1, 2); } }
// Globals int intGLOB_1 = 0; int intGLOB_2 = 1; int intGLOB_3 = 2; int intGLOB_4 = 3; int intGLOB_5 = 4; int intGLOB_6 = 5; int intGLOB_7 = 6; int intGLOB_8 = 7; int intGLOB_9 = 8; int intGLOB_10 = 9; int intGLOB_11 = 10; int intGLOB_12 = 11; int intGLOB_13 = 12; int intGLOB_14 = 13; int intGLOB_15 = 14; int intGLOB_16 = 15; int intGLOB_17 = 16; int intGLOB_18 = 17; int intGLOB_19 = 18; int intGLOB_20 = 19; int intGLOB_21 = 1100; int intGLOB_22 = (-6); int intGLOB_23 = (-5); int intGLOB_24 = (-4); int intGLOB_25 = (-2); int intGLOB_26 = (-1); int intGLOB_27 = 0; int intGLOB_28 = 1; int intGLOB_29 = 2; int intGLOB_30 = 3; int intGLOB_31 = 4; int intGLOB_32 = 5; int intGLOB_33 = 6; int intGLOB_34 = 3; int intGLOB_35 = 4; int intGLOB_36 = 5; int intGLOB_37 = 6; int intGLOB_38 = 7; int intGLOB_39 = 1; int intGLOB_40 = 2; int intGLOB_41 = 3; int intGLOB_42 = 4; int intGLOB_43 = 5; int intGLOB_44 = 6; int intGLOB_45 = 7; int intGLOB_46 = 8; int intGLOB_47 = 9; int intGLOB_48 = 10; int intGLOB_49 = 11; int intGLOB_50 = 12; int intGLOB_51 = 13; int intGLOB_52 = 14; int intGLOB_53 = 15; int intGLOB_54 = 16; int intGLOB_55 = 17; int intGLOB_56 = 18; int intGLOB_57 = 19; int intGLOB_58 = 20; int intGLOB_59 = 21; int intGLOB_60 = 22; int intGLOB_61 = 23; int intGLOB_62 = 24; int intGLOB_63 = 25; int intGLOB_64 = 26; int intGLOB_65 = 27; int intGLOB_66 = 28; int intGLOB_67 = 29; int intGLOB_68 = 30; int intGLOB_69 = 59; int intGLOB_70 = 0; int intGLOB_71 = 1; int intGLOB_72 = 2; int intGLOB_73 = 29; int intGLOB_74 = 30; int intGLOB_75 = 34; int intGLOB_76 = 35; int intGLOB_77 = 36; int intGLOB_78 = 37; int intGLOB_79 = 38; int intGLOB_80 = 39; int intGLOB_81 = 41; int intGLOB_82 = 42; int intGLOB_83 = 46; int intGLOB_84 = 47; int intGLOB_85 = 15; int intGLOB_86 = 10; int intGLOB_87 = 5; int intGLOB_88 = 2; int intGLOB_89; int intGLOB_90; int intGLOB_91; object objectGLOB_1; int intGLOB_92; int intGLOB_93; int intGLOB_94; int intGLOB_95; int intGLOB_96; int intGLOB_97; int intGLOB_98 = 1; int intGLOB_99 = 2; int intGLOB_100 = 3; int intGLOB_101 = 20; int intGLOB_102 = 21; int intGLOB_103 = 22; int intGLOB_104 = 23; int intGLOB_105 = 24; int intGLOB_106 = 25; int intGLOB_107 = 26; int intGLOB_108 = 27; int intGLOB_109 = 28; int intGLOB_110 = 31; int intGLOB_111 = 32; int intGLOB_112 = 33; int intGLOB_113 = 40; int intGLOB_114 = 43; int intGLOB_115 = 44; int intGLOB_116 = 45; int intGLOB_117 = 48; int intGLOB_118 = 49; int intGLOB_119 = 50; int intGLOB_120 = 51; int intGLOB_121 = 52; int intGLOB_122 = 53; int intGLOB_123 = 54; int intGLOB_124 = 55; int intGLOB_125 = 56; int intGLOB_126 = 57; int intGLOB_127 = 58; int intGLOB_128 = 60; int intGLOB_129 = 61; int intGLOB_130 = 62; int intGLOB_131 = 63; int intGLOB_132 = 64; int intGLOB_133 = 65; int intGLOB_134 = 66; int intGLOB_135 = 67; int intGLOB_136 = 68; int intGLOB_137 = 69; int intGLOB_138 = 70; int intGLOB_139 = 71; int intGLOB_140 = 72; int intGLOB_141 = 1; int intGLOB_142 = 2; int intGLOB_143 = 3; int intGLOB_144 = 4; string stringGLOB_1 = "end_trask"; string stringGLOB_2 = "endwp_tarsk01"; string stringGLOB_3 = "Carth"; string stringGLOB_4 = "g_w_blstrrfl001"; string stringGLOB_5 = "g_i_adrnaline003"; string stringGLOB_6 = "g_i_medeqpmnt01"; string stringGLOB_7 = "g_w_blstrpstl004"; string stringGLOB_8 = "g_i_belt003"; string stringGLOB_9 = "g_i_implant101"; string stringGLOB_10 = "g_i_medeqpmnt01"; string stringGLOB_11 = "g_i_secspike01"; string stringGLOB_12 = "g_i_progspike01"; string stringGLOB_13 = "g_i_medeqpmnt02"; string stringGLOB_14 = "g_w_iongren01"; string stringGLOB_15 = "g_w_fraggren01"; string stringGLOB_16 = "g_w_stungren01"; string stringGLOB_17 = "g_i_adrnaline001"; string stringGLOB_18 = "g_i_cmbtshot001"; string stringGLOB_19 = "g_i_belt001"; string stringGLOB_20 = "g_w_adhsvgren001"; string stringGLOB_21 = "g_w_iongren01"; string stringGLOB_22 = "g_w_stungren01"; string stringGLOB_23 = "g_i_adrnaline002"; string stringGLOB_24 = "g_i_progspike01"; string stringGLOB_25 = "g_i_parts01"; string stringGLOB_26 = "g_i_secspike01"; string stringGLOB_27 = "g_i_medeqpmnt01"; string stringGLOB_28 = "g_i_secspike02"; string stringGLOB_29 = "g_w_adhsvgren001"; string stringGLOB_30 = "g_i_gauntlet05"; string stringGLOB_31 = "g_w_stungren01"; string stringGLOB_32 = "g_i_parts01"; string stringGLOB_33 = "g_i_mask20"; int intGLOB_145 = 3; int intGLOB_146 = 4; int intGLOB_147 = 2; int intGLOB_148 = (-1); int intGLOB_149 = 0; int intGLOB_150 = 1; int intGLOB_151 = 2; int intGLOB_152 = 3; int intGLOB_153 = 4; int intGLOB_154 = 5; int intGLOB_155 = 6; int intGLOB_156 = 7; int intGLOB_157 = 8; int intGLOB_158 = 9; int intGLOB_159 = 10; int intGLOB_160 = 11; int intGLOB_161 = 12; int intGLOB_162 = 13; int intGLOB_163 = 14; int intGLOB_164 = 15; int intGLOB_165 = 16; int intGLOB_166 = 17; int intGLOB_167 = 18; int intGLOB_168 = 19; int intGLOB_169 = 20; int intGLOB_170 = 21; int intGLOB_171 = 22; int intGLOB_172 = 28; int intGLOB_173 = 29; int intGLOB_174 = 30; int intGLOB_175 = 31; string stringGLOB_34 = "end_locker01"; string stringGLOB_35 = "g_i_belt010"; string stringGLOB_36 = "g_i_progspike01"; string stringGLOB_37 = "g_w_cryobgren001"; string stringGLOB_38 = "g_i_parts01"; string stringGLOB_39 = "g_i_secspike01"; string stringGLOB_40 = "g_i_medeqpmnt01"; // Prototypes object sub5(); void sub4(); void sub3(object objectParam1, int intParam2, int intParam3); int sub2(object objectParam1, int intParam2); int sub1(); object sub5() { return GetObjectByTag(stringGLOB_1, 0); } void sub4() { object object1 = GetObjectByTag(stringGLOB_34, 0); int int1 = GetClassByPosition(1, GetFirstPC()); if ((int1 == 2)) { CreateItemOnObject(stringGLOB_10, object1, 4); CreateItemOnObject(stringGLOB_11, object1, 5); CreateItemOnObject(stringGLOB_12, object1, 4); CreateItemOnObject(stringGLOB_28, object1, 5); CreateItemOnObject(stringGLOB_29, object1, 1); CreateItemOnObject(stringGLOB_30, object1, 1); CreateItemOnObject(stringGLOB_31, object1, 4); CreateItemOnObject(stringGLOB_32, object1, 4); CreateItemOnObject(stringGLOB_33, object1, 1); } else { if ((int1 == 1)) { CreateItemOnObject(stringGLOB_7, object1, 1); CreateItemOnObject(stringGLOB_8, object1, 1); CreateItemOnObject(stringGLOB_9, object1, 1); CreateItemOnObject(stringGLOB_20, object1, 4); CreateItemOnObject(stringGLOB_21, object1, 2); CreateItemOnObject(stringGLOB_22, object1, 2); CreateItemOnObject(stringGLOB_23, object1, 2); CreateItemOnObject(stringGLOB_24, object1, 5); CreateItemOnObject(stringGLOB_25, object1, 5); CreateItemOnObject(stringGLOB_26, object1, 2); CreateItemOnObject(stringGLOB_27, object1, 4); } else { if ((int1 == 0)) { CreateItemOnObject(stringGLOB_4, object1, 1); CreateItemOnObject(stringGLOB_5, object1, 2); CreateItemOnObject(stringGLOB_6, object1, 5); CreateItemOnObject(stringGLOB_13, object1, 2); CreateItemOnObject(stringGLOB_14, object1, 4); CreateItemOnObject(stringGLOB_15, object1, 4); CreateItemOnObject(stringGLOB_16, object1, 4); CreateItemOnObject(stringGLOB_17, object1, 2); CreateItemOnObject(stringGLOB_18, object1, 4); CreateItemOnObject(stringGLOB_19, object1, 1); } } } if (GetHasSkill(2, GetFirstPC())) { CreateItemOnObject(stringGLOB_35, object1, 1); } if (GetHasSkill(0, GetFirstPC())) { CreateItemOnObject(stringGLOB_36, object1, 17); } if (GetHasSkill(1, GetFirstPC())) { CreateItemOnObject(stringGLOB_37, object1, 18); } if (GetHasSkill(5, GetFirstPC())) { CreateItemOnObject(stringGLOB_38, object1, 21); } if (GetHasSkill(6, GetFirstPC())) { CreateItemOnObject(stringGLOB_39, object1, 42); } if (GetHasSkill(7, GetFirstPC())) { CreateItemOnObject(stringGLOB_40, object1, 44); } } void sub3(object objectParam1, int intParam2, int intParam3) { int nLevel = GetHitDice(GetFirstPC()); if ((intParam3 == 1)) { if (((((intParam2 == intGLOB_12) || (intParam2 == intGLOB_17)) || (intParam2 == intGLOB_18)) || (intParam2 == intGLOB_19))) { GiveXPToCreature(GetFirstPC(), (nLevel * 15)); } else { if ((((intParam2 == intGLOB_13) || (intParam2 == intGLOB_20)) || (intParam2 == intGLOB_16))) { GiveXPToCreature(GetFirstPC(), (nLevel * 20)); } else { if (((intParam2 == intGLOB_14) || (intParam2 == intGLOB_15))) { GiveXPToCreature(GetFirstPC(), (nLevel * 10)); } } } } if ((((intParam2 >= 0) && (intParam2 <= 19)) && GetIsObjectValid(objectParam1))) { if (((intParam3 == 1) || (intParam3 == 0))) { SetLocalBoolean(objectParam1, intParam2, intParam3); } } } int sub2(object objectParam1, int intParam2) { int nLocalBool; if ((((intParam2 >= 0) && (intParam2 <= 19)) && GetIsObjectValid(objectParam1))) { nLocalBool = GetLocalBoolean(objectParam1, intParam2); if ((nLocalBool > 0)) { return 1; } } return 0; } int sub1() { int int1; if ((sub2(OBJECT_SELF, intGLOB_10) == 0)) { int1 = 1; sub3(OBJECT_SELF, intGLOB_10, 1); } return int1; } void main() { if (GetIsPC(GetEnteringObject())) { if (sub1()) { SetGlobalFadeOut(0.0, 0.0, 0.0, 0.0, 0.0); PlayMovie("01A"); SetReturnStrref(0, 32228, 0); SetGlobalNumber("K_CURRENT_PLANET", 5); sub4(); SetGlobalFadeOut(0.0, 0.0, 0.0, 0.0, 0.0); SetGlobalFadeIn(3.0, 1.5, 0.0, 0.0, 0.0); DelayCommand(0.1, AssignCommand(sub5(), ActionStartConversation(GetFirstPC(), "m01aa_c01", 0, 0, 1, "", "", "", "", "", "", 0))); SetMinOneHP(GetFirstPC(), 1); } } }
-
1
-
-
Uthar looks dapper in those threads!
Have you thought about implementing Sith Marauders/Sith Lords/Sith Assassins like in the Trayus Academy? Food for thought 🤔
-
2
-
-
Apparently Snigaroo at Reddit is making an Android/IOS build, if you speak to him on there or on Deadlystream he surely knows how to mod on IOS!
-
Hello mate, I've found this whilst searching the web:
https://ostoday.org/apple/can-you-mod-kotor-on-ios.html
https://kotormobilemods.wordpress.com/
https://kotormobilemods.wordpress.com/mods-themselves/working-mods/
-
I do love the appearance changes you made in your mod and I can remember you implementing that into your mod xD
-
I love the Robe! Maybe have him equip his armor when his battle comes around
-
Is it okay for you to PM those hilts to me also? Many thanks!
-
I love this idea, the enclave sub level and the Ludo Kressh Tomb in K2: TSL are my number one wishes to be implemented into K1, keep up the great work!!
-
1
-
1
-
-
I hope they pull this off, and it's on PC. It's almost 2 decades of hype...
-
1
-
-
I've actually fixed it, it was these two files that the High Resolution mod overrided from my Override folder:
mipc210x7.gui
tooltip6x4.gui
They were already present from downloading some Uniws fixes:
https://www.wsgf.org/article/star-wars-knights-old-republic
Thanks for the reply!
-
Hi guys,
I'm trying to successfully run Kotor 1 in 2560 x 1440p, I have followed this guide https://steamcommunity.com/sharedfiles/filedetails/?id=1283127504 to the letter but I have ran into a hiccup with the UI, has anyone encountered this before:
My UI is tiny and it's floating in mid-air. Does anybody know how to fix this?
Many thanks all!
Edit: I'm using Steam and have followed the guide properly and I've got both High Resolution Menus and HD UI Menu Pack downloaded and installed.
-
I've recently decompiled k_pdan_saber17.ncs and got the below:
void main() { ActionPauseConversation(); ActionDoCommand(ExecuteScript("k_pdan_player01", GetFirstPC(), 0xFFFFFFFF)); DelayCommand(2.0, SetDialogPlaceableCamera(30)); }
Is 0xFFFFFFFF an error?
-
Going by this post in Lucasforums, is the below chart correct for K1?
https://web.archive.org/web/20150917021829/http://www.lucasforums.com/showthread.php?t=187600
Code:Damage type Constant value (in hex) (in Binary) ----------------------- -------------- -------- -------------- Bludgeoning 1 0x0001 0000000000001 Piercing 2 0x0002 0000000000010 Slashing 4 0x0004 0000000000100 Universal (all) 8 0x0008 0000000001000 Unstoppable (disruptor) 16 0x0010 0000000010000 Cold 32 0x0020 0000000100000 Electrical 64 0x0040 0000001000000 Light side 128 0x0080 0000010000000 Fire 256 0x0100 0000100000000 Dark side 512 0x0200 0001000000000 Sonic 1024 0x0400 0010000000000 Ion 2048 0x0800 0100000000000 Blaster 4096 0x1000 1000000000000
-
Thanks for your assistance, I've been able to edit the ASCII and fix the issue.
-
Hey all,
I was wondering if someone can tell me the quickest way to change a models texture name? I have done this before but for the life of me I can't remember haha, I believe it was with the renamer function in mdlops. I tried last night and wasn't able to.
Many thanks.
-
Yeah I should probably read the read-me, my bad haha.
Thanks for the speedy reply as ever
-
Hello all,
I was going through my playthrough again with K1 Community Patch and have noticed a few things:
- Calo's inventory isn't the same on Tatooine, you don't get his Mandalorian Heavy Pistols- The Sith students on Korriban don't have robes
- There's a random Aqualish standing in the opening initiation in the Korriban academy?
- footlocker03.utp in the Sith Base (manm26ab.rim) has Jedi Master Robe and a Sigil Crystal in the footlocker? Don't think it's vanilla.
Many thanks
P.S. I am unable to take screenshots with the function enabled in the swkotor.ini and pressing the prtscrn button, weird.
-
Hey guys,
I've noticed a couple of issues whilst on my playthrough:- You can't reenter the Vulkar Base to kill Kadon's main (female) bodyguard and his two henchman after basically betraying Gadon and fighting Brejik. You can tell I'm playing a darkside playthrough haha. I have a save for this issue just in case.
- I am unable to find Calo's body in the fallen debris after you defeat Davik and Calo whilst trying to escape Taris. I also have a save for this just in case.
- Zaalbar and Canderous are standing in weird places when you enter the Ebon Hawk for the first time, just before fight the Star Fighters. I have a save for this issue.
If I find anything else I'll report back
-
-
I used: mdlops0-5-0 for lightsabers and mdlops06a1 for everything else and it was the replacer function I used haha. It was quite inconsistent IIRC some models wouldn't work whatever version I used.
Thanks for the great advice as ever
P.S. A while back I noticed that mod author maverick187s custom made TSL Ion Blaster's model worked in both K1 and TSL which is rather unique, I was wondering how that's possible?
-
So if a model doesn't use a supermodel I just go through the usual procedure with loading the ASCII file then extracting it as Binary but without the supermodel in the folder?
I remember porting some USM models with a really clunky MDLops version back in the day
How things have changed.
Tatooine Job Office Mod Fix
in Mod Requests
Posted
Mate, I think what's happened is he's missed out scripts for his mod...
I think you need to extract these two vanilla scripts and rename them with _old against them...
k_ptat17ab_enter.ncs
k_ptat18ac_enter.ncs
Extract the above vanilla scripts into a seperate folder and rename them to:
k_ptat17ab_enter_old.ncs
k_ptat18ac_enter_old.ncs
And then place them in your override folder, I could be wrong though haha.
This is the decompiled k_ptat18ac_enter.ncs file I extracted with DeNCS:
But there is no k_ptat18ac_enter_old.ncs file in the tslpatchdata folder