6649504373d1c

66495043743db
1 Guest is here.
 

Topic: Dmls, how to make them? Read 28141 times  

66495043747c5
So I've heard of these files called dmls that fix up some parts of a mission without changing the original mission file. Voodoo47 seems to make them frequently. So how do I make them?

664950437495dZylonBane

66495043749b1
I assume you've already read the documentation.

6649504374d3fvoodoo47

6649504374d9c
you create a txt file, open it up, type DML1 into the first line and you are ready to start adding code snippets that will set or modify whatever object properties you want to modify (the filename should be yourmission.mis.dml for a specific mission, or yourgamesys.gam.dml for a gamesys). you will need some basic editor knowledge (as you will have to know what do you want to change), and a list of all object properties (you will need to dump it). checking the docs is also a good idea as already mentioned, and there is more dml related info available at the Engineering subforum.

an example - say we want to change the model of the first phone (right from the tram) on the vanilla earth map into something else. so you need to know this can be accomplished by changing the shape->model name prop. you check the proplist (look for model name), and copy paste the code snippet into your txt file with the DML1 header:
Code: [Select]
DML1

ObjProp "ModelName"          // type Label                     , flags 0x0000 , editor name: "Shape: Model Name"
{
"" : string    // max 15 characters long
}

now you need to know the obj id of the payphone - you will have to open the earth map in the editor, select the object and check the id - it's 1013. so;
Code: [Select]
DML1

+ObjProp 1013 "ModelName"          // type Label                     , flags 0x0000 , editor name: "Shape: Model Name"
{
"" : string    // max 15 characters long
}

do note that this prop does not exist on the phone, so I had to add a + right before ObjProp (not needed if you are just modifying a prop that already exists on the object). now you need to know the model name of the object you want to change the phone into. lets change it into a Ring Buoy - you check Ring Buoy in the editor (press F3 and paste Ring Buoy into the window, pres enter to open the archetype props), check its model name (ringbuoy), and paste it into the dml;
Code: [Select]
DML1

+ObjProp 1013 "ModelName"          // type Label                     , flags 0x0000 , editor name: "Shape: Model Name"
{
"" ringbuoy
}

done. now when you place the dml (needs to be named earth.mis.dml) into a valid modpath (for example, the same folder where the map files are), the phone shape will be changed into a ring buoy upon level load.
« Last Edit: 09. August 2015, 15:42:03 by voodoo47 »

6649504374ee5Yankee Clipper

6649504374f39
Although it might not be obvious, the documentation is in a file titled dbmod-sample.dml.

Mine is in the following subdirectory in my SS2 directory:
..\Docs\newdark\dbmod-sample.dml

But I might have moved around some of my doc files - can't recall - so yours might be in a different place.

6649504374fdavoodoo47

6649504375024
also, note that you should have a very specific reason to use dmls for modding/fixing, as generally, just hard editing the maps is easier and faster.
1 Guest is here.
It's just imagination, your face in the fire
Contact SMF 2.0.19 | SMF © 2016, Simple Machines | Terms and Policies
FEEP
664950437510c