🔒 DML Limitations

2 Guests are here.
Page: 1/6▶▶
66359afd7983b
voodoo47Quote
think I'll make a quick note about this somewhere - while dmls can do a lot of things in a very convenient way, there are limitations one should be vary of;

- anything that requires mission reprocess will not work (like modifying light properties).
- there are limits on what you can do with an object that has physics, you will not be able to move an object which has physics, and you won't be able to modify any physics related properties (like radius) by regular means.

- you can work around this partially by removing the PhysType from the object, moving it to the desired location, and then assigning a PhysType to it again. do note that when you do this, the PhysType you assign in the end always needs to be OBB (submodels 6), if you try anything else, the object will end up with no physics (no explanation, it just works that way).

- while you won't be able to change any physics related settings, you can reset them by reloading the PhysType on the object (remove it, and readd it, and again, the only one you can readd is OBB with submodels 6), and all the physics properties will be re-inherited from the archetype. you can set the desired properties on the archetype via gamesys.dml (do note that this will affect things globally, so make sure you won't do something that will break things).

-when adding scripts, always add a null script if you are adding less then four;

Code:
+ObjProp xxx "Scripts"
{
"Script 0" NVRelayTrap
"Script 1" ""
"Script 2" ""
"Script 3" ""
"Don't Inherit" false
}

if you don't fill in the "" value, any script that is on the respective position on the archetype will get re-inherited, causing all sorts of evil stuff to happen (more instances of the same script is a bad thing).


when making dmls, it's always prudent to check whether they actually work - either add dbmod_log 10 to your cam_ext.cfg and examine dbmod.log after you run the game and load the level with its dml, or open the level in editor and load the dml into it via the dbmod_load command. if you've screwed something up, the log (or the console) will spew out errors.

however, to check whether they really, positively get applied, you will need to run the game, make a save, start up the editor, type set game_mode_backup 0 into the command windows (and press enter), then go to the game mode, load that save, go back to the editor mode, and check the object in question manually (for example, when trying to modify climbable sides of a ladder, all logs looked fine, but when trying things ingame, it looked liked the dml was not getting applied, and doing the extra check has confirmed that it was not, as it's a physics property).


will add more stuff if I find something interesting.
66359afd7998b
Yankee ClipperQuote
The limitation that I have found to be the most, well, limiting, is the inability to create anything new. Not only can't you create a new class of something, like say the OneRifledSlug, but you are also unable to create a new instance of anything. If I want to add a laser pistol to an existing crate, the only way I can do it is to steal an already existing laser pistol from somewhere else in the level, if one exists. But I can't just create a new one that didn't already exist in the level.

66359afd79a86
voodoo47Quote
you can create new objects via dmls (setting up an existing junk object as non-rendered physicsless tweq trap and triggering it in some smart way), but I don't think you will be able to link the spawned object to anything, as you have no way of knowing the spawned object's id.

but yeah, the OneRifledSlug would be an impossibility. //edit ND 2.48 - this no longer is the case, dml archetypes can be created now.
66359afd79c1b
Yankee ClipperQuote
Is there a way to change the Act/React Sources link on a projectile? For example, for an EMP Shot (-235), the Act/React Sources is EMP (-390). I know I can directly edit the gamesys with ShockEd to change it to a different stim, but what if I want to do it via dml? I can't find anything in proplist.txt that would allow me to get at that value. Am I missing something?

I am playing around with converting the EMP Rifle to a rifle that shoots balls of electricity - like the maintenance bots. I would just change the link in the projectile section, but then the problem is that there is only 1 kind of electricity projectile: -1500. That means I don't have anything for the overload setting. Since the bot just uses one setting, they didn't create a 2nd "Big" electricity shot. Again, I could create another one by editing the gamesys, but I would like to stick to dml if there is a way to accomplish my goal.

Right now I have a rifle that shoots EMP in normal mode and then shoots a ball of electricity in the overload mode. It is all dml, but with the 2 different kinds of stims, it seems inelegant.

66359afd79cf1
voodoo47Quote
nope, act/react cannot be dml modified as far as I know - just as you said, no mention of this in the proplist.

//the latest NewDark supports this.
Page: 1/6▶▶

Legal stuff

Privacy Policy & Terms of Service Contact