djh269

Modifying a placeables appearance within a module.

Recommended Posts

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. 

Share this post


Link to post
Share on other sites

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.

Share this post


Link to post
Share on other sites

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. 

  • Like 1

Share this post


Link to post
Share on other sites

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.

Share this post


Link to post
Share on other sites

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
 

Share this post


Link to post
Share on other sites

 

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

Share this post


Link to post
Share on other sites

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.

Share this post


Link to post
Share on other sites

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.

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

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?

Share this post


Link to post
Share on other sites

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
  • Like 1

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.