Kaidon Jorn 204 Posted November 30, 2022 Ok, so... What are P2 and P3 for? And the string parameter field, does that need to change to the actual tag of the item? Or the script is just looking for things with that tag suffix? Quote Share this post Link to post Share on other sites
DarthParametric 3,790 Posted November 30, 2022 P2 is the righthand tag offset, i.e. the suffix length. It's the number of characters that GetStringRight will count back from the end of the string you feed it (the tag of the current item in the player's inventory in this case). Then with sEnd == sDLGTag you check that fragment against the suffix string that you feed into the String Param field (e.g. _scheme). P3 is being used as a minimum string length check for the item's tag via GetStringLength(sTag) > nDLGInt3. It's probably not strictly necessary, but I figured it was worth adding as a safety cutout since I don't know what happens when you feed a string to GetStringRight that has fewer characters in total than the count you give it. I assume it returns a null string, but I'd have to test it. You can try this version which will pipe some debug info to the message screen if you want to see what it is doing: int StartingConditional() { object oPC = GetFirstPC(); object oItem; string sTag; string sEnd; string sDLGTag = GetScriptStringParameter(); int nDLGInt1 = GetScriptParameter(1); int nDLGInt2 = GetScriptParameter(2); int nDLGInt3 = GetScriptParameter(3); int nDLGInt4 = GetScriptParameter(4); int nDLGInt5 = GetScriptParameter(5); SendMessageToPC(oPC, "========== SCRIPT DEBUG =========="); if (GetHasFeat(nDLGInt1, oPC)) { SendMessageToPC(oPC, "Player has feat ID " + IntToString(nDLGInt1)); oItem = GetFirstItemInInventory(oPC); while (GetIsObjectValid(oItem)) { sTag = GetTag(oItem); sEnd = GetStringRight(sTag, nDLGInt2); SendMessageToPC(oPC, "Current item tag = " + sTag); SendMessageToPC(oPC, "Tag suffix = " + sEnd); if (GetStringLength(sTag) > nDLGInt3 && sEnd == sDLGTag) { SendMessageToPC(oPC, "Item tag contains suffix " + sDLGTag); return TRUE; } oItem = GetNextItemInInventory(oPC); } } return FALSE; } Note though that the message window buffer is pretty small, so if you have a gazillion items in your inventory you'll likely miss a chunk of it since you won't be able to scroll back far enough. Quote Share this post Link to post Share on other sites
Kaidon Jorn 204 Posted November 30, 2022 (edited) Uhhgghh, sorry I never got back to you I fell asleep. Trying this now... EDIT Ok wait a minute. Now it's just giving me all options even if I don't have the schematic.... Edited November 30, 2022 by Kaidon Jorn Quote Share this post Link to post Share on other sites
DarthParametric 3,790 Posted November 30, 2022 You might need to screencap the messages window. And the branch/node in DLGEditor. Quote Share this post Link to post Share on other sites
Kaidon Jorn 204 Posted November 30, 2022 Well I have a fix for it for now. I made a check script just for the feat. int StartingConditional() { object oPC = GetFirstPC(); if (GetHasFeat(245, oPC) == TRUE) { return 1; } else { return 0; } } So i'm just using the two starting conditionals for the individual schematic nodes Was thinking maybe i should put c_have_feat at the beginning of the node so it wont even show up if you haven't gotten the feat. I still need to decide if it's going to be a pickable or granted feat. But I really need to take a nap, I have to work tonight. Quote Share this post Link to post Share on other sites
Kaidon Jorn 204 Posted November 30, 2022 OMG OMG OMG! It compiled and it works! Woooo! I just combined c_have_item with the c_have_feat that I made earlier today and it works. int StartingConditional() { object oPC = GetFirstPC(); int nQuantity = GetScriptParameter (1); int i; string sItem = GetScriptStringParameter(); object oItem = GetItemPossessedBy (GetPartyLeader(), sItem); if(nQuantity == 0) nQuantity = 1; if ((GetHasFeat(245, oPC) == TRUE) && (GetIsObjectValid(oItem))) { return 1; } else { return 0; } } Can you see any reason this wouldn't work? Because i left out the part about returning int stack size from the original c_have_item script at the bottom there.... int StartingConditional() { int nQuantity = GetScriptParameter( 1 ); int i; string sItem = GetScriptStringParameter(); if(nQuantity == 0) nQuantity = 1; object oItem = GetItemPossessedBy (GetPartyLeader(),sItem); if (GetIsObjectValid(oItem)) { int nStackSize = GetItemStackSize(oItem); return (nQuantity <= nStackSize); } return 0; } But why is the (int i;) there? What does that do? Quote Share this post Link to post Share on other sites
Kaidon Jorn 204 Posted December 5, 2022 Arbitrary check in. all sabers had their aurora light multipliers jacked up to 1.6 (single), 1.4 (double-bladed), and 1.8 (specials). Short sabers I’ll probably do at 1.5 when I get around to redoing the default replacement hilts mod. Learn Schematic is now a feat called Read Schematic… Kaevee now has the Padawans Lightsaber. (No its not yellow bladed) Crystal icons have been massively consolidated and completly remade by SH, and me… aaaand thats all i can think of right now.... Quote Share this post Link to post Share on other sites
Sith Holocron 2,480 Posted December 5, 2022 52 minutes ago, Kaidon Jorn said: Crystal icons have been massively consolidated and completely remade by SH, and me… Which ones did you do? I guess I must've missed out on seeing yours. Quote Share this post Link to post Share on other sites
Kaidon Jorn 204 Posted December 5, 2022 Oh I just mean I mixed and matched what you made me. As in, I might not have used something for what you labeled them as. Like your original default red I used for Darth Revan's instead, so I switched it for another one. Quote Share this post Link to post Share on other sites
Sith Holocron 2,480 Posted December 5, 2022 I thought I missed some crystals. S'all good. Quote Share this post Link to post Share on other sites
Kaidon Jorn 204 Posted December 7, 2022 Hey again, Today I'm looking to rename Vash's silver bladed saber. But I haven't a clue as to what. So I'm taking any and all suggestions (unless they're completely hokey) from you fine people. What is this saber called? I will probably reskin it one more time to get the directional (turned) steel texture smaller so it'll look better. But there it is... Quote Share this post Link to post Share on other sites
Sith Holocron 2,480 Posted December 7, 2022 2 hours ago, Kaidon Jorn said: What is this saber called? Vash's Perspective Quote Share this post Link to post Share on other sites
jc2 581 Posted December 8, 2022 My suggestions: Vashtere; Savary; Renevault; Vaah'ere; Vininard; Veer'zeen; Valor; Tribunal; Fenrehn; Valic; Lyzander; Venerate; Devouth. Quote Share this post Link to post Share on other sites
Kaidon Jorn 204 Posted December 8, 2022 16 hours ago, jc2 said: My suggestions: Vashtere; Savary; Renevault; Vaah'ere; Vininard; Veer'zeen; Valor; Tribunal; Fenrehn; Valic; Lyzander; Venerate; Devouth. Whut? I'm guessing a couple of those are maybe Mandalorian or somesuch? I'm sure there’s explanations behind those names, though i have no idea what they would be… I do like Perspective and maybe Venerate so far. Let me get some more from you guys Quote Share this post Link to post Share on other sites
Kaidon Jorn 204 Posted December 19, 2022 Aight I have to fix my 702KOR module. I noticed that TSLRCM doesn't include a 702KOR.mod so I went about inserting my edited files into the _dlg.erf and _s.rim for the tslpatcher op, but then when I got there it literally booted me back out to the main load/save screen. 😩 So I went about making a 702KOR.mod to place in the modules folder....that fixed it yes, but is that how I should really do it? What would make inserting or replacing files in the dlg,erf and s.rim basically crash to main load screen? Missing files in one of those modules? Not sure what to do at this point. Quote Share this post Link to post Share on other sites
Leilukin 276 Posted December 20, 2022 TSLRCM doesn't package the 702KOR module into a .MOD file because it will break cutscenes, though no one is able to figure out why exactly does that happen. 401DXN is another module that TSLRCM doesn't package into a MOD file. I have made two mods (Darth Sion and Male Exile Mod and Lonna Vash Mod for TSLRCM) that affect the 702KOR and are installed by injecting or patching files in its _dlg.erf and _s.rim, and they work fine. What files are you trying to inject into the 702KOR module? Quote Share this post Link to post Share on other sites
Kaidon Jorn 204 Posted December 20, 2022 for dlg.erf Replace0=mal_door.dlg Replace1=termtort.dlg for s.rim Replace0=a_sion.ncs (destroys sion's default saber and equips mine) Replace1=a_sion_battle_cs.ncs (destroys sion's default saber and equips mine) Replace2=vash_container.utp (may take this out since I still need to make a M4-78 compatibility patch) File0=a_darthsbrs.ncs (fired from mal_door.dlg, places revan and malak sabers in footlockers ) File1=a_spwn_ass.ncs (fired from termtort.dlg) File2=n_elite_ass.utc (.utc created with a_spwn_ass.ncs) Quote Share this post Link to post Share on other sites
Leilukin 276 Posted December 20, 2022 Sounds like you injected the appropriate file types into the RIM and DLG.ERF. Which version of TSLPatcher are you using? In the earliest versions of my Darth Sion and Male Exile Mod, I had issues with injecting the relevant DLG file in 702KOR's DLG.ERF when I used the old 2007 version of TSLPatcher, but using Fair Strides' updated version solved it and I can directly inject or patch into 702KOR's RIM and DLG.ERF. 1 Quote Share this post Link to post Share on other sites
Kaidon Jorn 204 Posted December 20, 2022 OOOOOHHHHHH. Really? Yeah I might have the super old version I dont know...going to look. Ok, I have version 1.2.10.1 from 2007?? Quote Share this post Link to post Share on other sites
Leilukin 276 Posted December 20, 2022 Try Fair Strides' updated version of TSLPatcher to inject your files into 702KOR's RIM and DLG.ERF and see if it works. Quote Share this post Link to post Share on other sites
Kaidon Jorn 204 Posted December 20, 2022 Well....err...I'm going to wait for a bit because I still need to finish redoing all my icons. That should take about a week(?) 1 Quote Share this post Link to post Share on other sites
DarthParametric 3,790 Posted December 20, 2022 Don't use the TSLPatcher.exe from there or that will break some modules due to the filename bug (same bug ERFEdit had at one point). Use the exe included with K1CP instead. Although at a quick glance there shouldn't be any problem with 702KOR specifically. Also note that if you want to compatibility for M4-78, they replace the Academy with a whole other module (703KOR I believe?), so that will require a separate patch. 2 Quote Share this post Link to post Share on other sites
Kaidon Jorn 204 Posted December 20, 2022 15 hours ago, DarthParametric said: Also note that if you want to compatibility for M4-78, they replace the Academy with a whole other module (703KOR I believe?), so that will require a separate patch. Whuuuuuut? So 702KOR becomes something else? Ok, well I'll deal with that when I get there. Quote Share this post Link to post Share on other sites
Kaidon Jorn 204 Posted January 19, 2023 So I ended up just making 7 separate scripts for the party members to get their read schematic feat when they make their sabers, just like the pc. All I have left to do is remake icons again in 256, and finish the revan reborn saber texture. Then I should be releasing it fairly soon. Quote Share this post Link to post Share on other sites
DarthParametric 3,790 Posted January 19, 2023 2 hours ago, Kaidon Jorn said: I ended up just making 7 separate scripts You should only need one script. With TSL you can have a generic template and specify the creature tag and feat ID in the DLG, as I described in this post. Quote Share this post Link to post Share on other sites