djh269 264 Posted February 26, 2017 Okay, I've hit a little snag. Basically what I want to do is modify a placeable to have a unique appearance, and then have it patched within a .mod file. The file gets placed within the .mod file, but the object doesn't appear when I spawn into the module. This is for the small Jolee mod I've recently released, everything seems like it's working until I walk into the module. Strange. I've looked at quite a few tutorials so far. I've posted the changes.ini file below: [TLKList] [installList] install_folder0=Modules install_folder1=modules\kas_m24aa.mod [2DAList] Table1=placeables.2da [GFFList] File1=joleebed00.utp [CompileList] [sSFList] ; =================================================================== [install_folder0] Install0=kas_m24aa.mod Replace1=kasm99.mod [install_folder1] Replace2=m24aa.git Replace3=kas99invis.utp Replace4=spawnkas99.ncs [joleebed00.utp] Appearance=2DAMEMORY1 !ReplaceFile=1 !Destination=modules\kasm99.mod [placeables.2da] AddRow0=placeables_row_Jolee_bed_0 [placeables_row_Jolee_bed_0] label=Jolee_bed strref=571 modelname=Jolee_bed shadowsize=1 bodybag=0 preciseuse=0 hitcheck=0 canseeheight=1.5 hostile=0 noncull=0 ignorestatichitcheck=0 2DAMEMORY1=RowIndex Edit: I have placed an unaltered joleebed00.utp file within the tslpatcher folder. Quote Share this post Link to post Share on other sites
Fair Strides 509 Posted February 26, 2017 1. Is your model named (exactly like so, character for character) "Jolee_bed.mdl" and "Jolee_bed.mdx"? 2. Are you using a save from before ever entering kas_m99aa? 3. I really, really, really recommend against just replacing the .git file in kas_m24aa, since that would invalidate any and all changes any mods installed before this make. Quote Share this post Link to post Share on other sites
djh269 264 Posted February 26, 2017 It was in fact the worst possible answer haha, number one. In regards to the .GIT, I have modified the previous .changes.ini and also added the .GIT file under the GFFList. [TLKList] [installList] install_folder0=Modules install_folder1=modules\kas_m24aa.mod install_folder2=Override [2DAList] Table1=placeables.2da [GFFList] File1=joleebed00.utp File2=m24aa.git [CompileList] [sSFList] ; =================================================================== [install_folder0] Install0=kas_m24aa.mod Replace1=kasm99.mod [install_folder1] Install2=m24aa.git Replace3=kas99invis.utp Replace4=spawnkas99.ncs [joleebed00.utp] Appearance=2DAMEMORY1 !ReplaceFile=1 !Destination=modules\kasm99.mod [placeables.2da] AddRow0=placeables_row_Jolee_bed_0 [placeables_row_Jolee_bed_0] label=Jolee_bed strref=571 modelname=Jolee_bed shadowsize=1 bodybag=0 preciseuse=0 hitcheck=0 canseeheight=1.5 hostile=0 noncull=0 ignorestatichitcheck=0 2DAMEMORY1=RowIndex [install_folder2] Replace5=Jolee_bed.tga Replace6=Jolee_bed.mdl Replace7=Jolee_bed.mdx [m24aa.git] !ReplaceFile=0 Placeable List\Bearing=-0 Placeable List\TemplateResRef=kas99invis Placeable List\X=141.800003051758 Placeable List\Y=138.119995117188 Placeable List\Z=6.65999984741211 WaypointList\Appearance=2 WaypointList\Description=-1 WaypointList\HasMapNote=0 WaypointList\LinkedTo=kasm99_kas24aa WaypointList\LocalizedName=10031 WaypointList\MapNote=-1 WaypointList\MapNoteEnabled=1 WaypointList\Tag=kasm99_kas24aa WaypointList\TemplateResRef=kasm99_kas24aa WaypointList\XOrientation=0.382683306932449 WaypointList\XPosition=143.889999389648 WaypointList\YOrientation=kasm99_kas24aa WaypointList\YPosition=137.610000610352 WaypointList\ZPosition=6.67000007629395 !Destination=modules\kas_m24aa.mod Apparently Bearing isn't a valid list index. 1 Quote Share this post Link to post Share on other sites
Kexikus 994 Posted February 26, 2017 Is it working right now? I'm wondering because I always thought that 2DAMEMORY tokens have to be set before they can be used and in your changes.ini it's the other way around. Quote Share this post Link to post Share on other sites
djh269 264 Posted February 26, 2017 Everything bar the .GIT part, it's really not recognizing the lines. I'm having fun playing around with it all though! Funnily enough, this changes.ini file seems to work :S [TLKList] [installList] install_folder0=Modules install_folder1=modules\kas_m24aa.mod install_folder2=Override [2DAList] Table1=placeables.2da [GFFList] File1=joleebed00.utp [CompileList] [sSFList] ; =================================================================== [install_folder0] Install0=kas_m24aa.mod Replace1=kasm99.mod [install_folder1] Install2=m24aa.git Replace3=kas99invis.utp Replace4=spawnkas99.ncs [joleebed00.utp] Appearance=2DAMEMORY1 !ReplaceFile=1 !Destination=modules\kasm99.mod [placeables.2da] AddRow0=placeables_row_Jolee_bed_0 [placeables_row_Jolee_bed_0] label=Jolee_bed strref=571 modelname=Jolee_bed shadowsize=1 bodybag=0 preciseuse=0 hitcheck=0 canseeheight=1.5 hostile=0 noncull=0 ignorestatichitcheck=0 2DAMEMORY1=RowIndex [install_folder2] Replace5=Jolee_bed.tga Replace6=Jolee_bed.mdl Replace7=Jolee_bed.mdx Quote Share this post Link to post Share on other sites
djh269 264 Posted February 26, 2017 3. I really, really, really recommend against just replacing the .git file in kas_m24aa, since that would invalidate any and all changes any mods installed before this make. It really does not like the below, I followed the instructions on the .pdf with the tslpatcher but I think I've named them wrong. m24aa.git] !ReplaceFile=0 Placeable List\Bearing=-0 Placeable List\TemplateResRef=kas99invis Placeable List\X=141.800003051758 Placeable List\Y=138.119995117188 Placeable List\Z=6.65999984741211 WaypointList\Appearance=2 WaypointList\Description=-1 WaypointList\HasMapNote=0 WaypointList\LinkedTo=kasm99_kas24aa WaypointList\LocalizedName=10031 WaypointList\MapNote=-1 WaypointList\MapNoteEnabled=1 WaypointList\Tag=kasm99_kas24aa WaypointList\TemplateResRef=kasm99_kas24aa WaypointList\XOrientation=0.382683306932449 WaypointList\XPosition=143.889999389648 WaypointList\YOrientation=kasm99_kas24aa WaypointList\YPosition=137.610000610352 WaypointList\ZPosition=6.67000007629395 !Destination=modules\kas_m24aa.mod Quote Share this post Link to post Share on other sites
Fair Strides 509 Posted February 26, 2017 Is it working right now? I'm wondering because I always thought that 2DAMEMORY tokens have to be set before they can be used and in your changes.ini it's the other way around. Order of operations. TSL Patcher does things in this order: 1. Process and add to dialog.tlk file. 2. Install files 3. Install/patch 2da files 3. Install/patch GFF files 4. install/patch SSF files 5. Process and compile scripts @djh: Shall I assume your GIT stuff was entered in manually? There is a compare function for GFF files, that relies on selecting the original .git file (the version you used to make your edits) and then your edited version. Just eyeballing it, the format is all wrong as it relies on the fields already being there instead of being added. I recommend making a copy of your .git file and then removing your stuff from the copy. Then compare using first the copy and then the original. Quote Share this post Link to post Share on other sites
Kexikus 994 Posted February 26, 2017 Order of operations. TSL Patcher does things in this order: 1. Process and add to dialog.tlk file. 2. Install files 3. Install/patch 2da files 3. Install/patch GFF files 4. install/patch SSF files 5. Process and compile scripts That's good to know. I always assumed TSLPatcher simply follows the order of the changes.ini file. Thanks for clearing this up. Quote Share this post Link to post Share on other sites
djh269 264 Posted February 26, 2017 Order of operations. TSL Patcher does things in this order: 1. Process and add to dialog.tlk file. 2. Install files 3. Install/patch 2da files 3. Install/patch GFF files 4. install/patch SSF files 5. Process and compile scripts @djh: Shall I assume your GIT stuff was entered in manually? There is a compare function for GFF files, that relies on selecting the original .git file (the version you used to make your edits) and then your edited version. Just eyeballing it, the format is all wrong as it relies on the fields already being there instead of being added. I recommend making a copy of your .git file and then removing your stuff from the copy. Then compare using first the copy and then the original. It was entered in manually, I've used the compare function before, I'll have to play around with that tool. Upon Kexikus instruction, I changed the replace function as per the below to Install0 for the original kas_m24aa.mod. I installed a base copy of that within the tslptacher folder as instructed, it's now compatible if you don't have K1R installed. [install_folder0] Install0=kas_m24aa.mod I guess my question is, do I have a fresh m24aa.git file or one that I've editted, placed within the tslpatcher folder? Edit: Obviously I'd then have to change the below to !installfile-0 m24aa.git] !ReplaceFile=0 Quote Share this post Link to post Share on other sites
Fair Strides 509 Posted February 26, 2017 No, there is no "!InstallFile=0". The "!Replace=0" is simply "If the file already exists at the destination, does it get replaced before any changes are made? 0 means No and 1 means Yes.". As to your question of whether to use a fresh or an edited .git file in the tslpatchdata folder, keep this in mind: the file in the tslpatchdata folder is grabbed, then the changes in the changes.ini file are applied, then the file is put where it belongs. So if you use an already-edited file to apply the edits to, what happens? Quote Share this post Link to post Share on other sites
djh269 264 Posted February 27, 2017 So if you use an already-edited file to apply the edits to, what happens? It would add redundant cells to the .git file. My previous changes.ini file was trying to replace cells that weren't there, I now know to place a blank .git file in the tslptacher folder. I've now been able to update my changes.ini file by comparing a blank m24aa.git file with another blank m24aa.git file with my placeable and waypoint additions. Many thanks for the assistance everyone! [m24aa.git] !ReplaceFile=0 AddField0=gff_m24aa_WaypointList_80_0 AddField1=gff_m24aa_Placeable List_43_0 !Destination=Modules\kas_m24aa.mod [gff_m24aa_WaypointList_80_0] FieldType=Struct Path=WaypointList Label= TypeId=5 AddField0=gff_m24aa_Appearance_0 AddField1=gff_m24aa_LinkedTo_0 AddField2=gff_m24aa_TemplateResRef_0 AddField3=gff_m24aa_Tag_0 AddField4=gff_m24aa_LocalizedName_0 AddField5=gff_m24aa_Description_0 AddField6=gff_m24aa_HasMapNote_0 AddField7=gff_m24aa_MapNote_0 AddField8=gff_m24aa_MapNoteEnabled_0 AddField9=gff_m24aa_XPosition_0 AddField10=gff_m24aa_YPosition_0 AddField11=gff_m24aa_ZPosition_0 AddField12=gff_m24aa_XOrientation_0 AddField13=gff_m24aa_YOrientation_0 [gff_m24aa_Appearance_0] FieldType=Byte Label=Appearance Value=2 [gff_m24aa_LinkedTo_0] FieldType=ExoString Label=LinkedTo Value=kasm99_kas24aa [gff_m24aa_TemplateResRef_0] FieldType=ResRef Label=TemplateResRef Value=kasm99_kas24aa [gff_m24aa_Tag_0] FieldType=ExoString Label=Tag Value=kasm99_kas24aa [gff_m24aa_LocalizedName_0] FieldType=ExoLocString Label=LocalizedName StrRef=10031 [gff_m24aa_Description_0] FieldType=ExoLocString Label=Description StrRef=-1 [gff_m24aa_HasMapNote_0] FieldType=Byte Label=HasMapNote Value=0 [gff_m24aa_MapNote_0] FieldType=ExoLocString Label=MapNote StrRef=-1 [gff_m24aa_MapNoteEnabled_0] FieldType=Byte Label=MapNoteEnabled Value=1 [gff_m24aa_XPosition_0] FieldType=Float Label=XPosition Value=143.889999389648 [gff_m24aa_YPosition_0] FieldType=Float Label=YPosition Value=137.610000610352 [gff_m24aa_ZPosition_0] FieldType=Float Label=ZPosition Value=6.67000007629395 [gff_m24aa_XOrientation_0] FieldType=Float Label=XOrientation Value=0.382683306932449 [gff_m24aa_YOrientation_0] FieldType=Float Label=YOrientation Value=0.923879563808441 [gff_m24aa_Placeable List_43_0] FieldType=Struct Path=Placeable List Label= TypeId=9 AddField0=gff_m24aa_TemplateResRef_1 AddField1=gff_m24aa_X_0 AddField2=gff_m24aa_Y_0 AddField3=gff_m24aa_Z_0 AddField4=gff_m24aa_Bearing_0 [gff_m24aa_TemplateResRef_1] FieldType=ResRef Label=TemplateResRef Value=kas99invis [gff_m24aa_X_0] FieldType=Float Label=X Value=141.800003051758 [gff_m24aa_Y_0] FieldType=Float Label=Y Value=138.119995117188 [gff_m24aa_Z_0] FieldType=Float Label=Z Value=6.65999984741211 [gff_m24aa_Bearing_0] FieldType=Float Label=Bearing Value=0 [placeables.2da] AddRow0=placeables_row_Jolee_bed_0 [placeables_row_Jolee_bed_0] label=Jolee_bed strref=571 modelname=Jolee_bed shadowsize=1 bodybag=0 preciseuse=0 hitcheck=0 canseeheight=1.5 hostile=0 noncull=0 ignorestatichitcheck=0 2DAMEMORY1=RowIndex 1 Quote Share this post Link to post Share on other sites