• If you have a mod, tool or prefab, please use the Resources section. Click Mods at the top of the forums.

DMT Modding Tool

Status
Not open for further replies.
It looks like some XML in your files isn't valid and it's trying to parse it, whichever xml contains "ShowRaycastHitName" should be the culprit

Which DMT mods are you trying to build? It seems like maybe one of the ModInfo.xml may be mal-formed
Jinx

 
Virustotal.com Showed positives from 12 different antivirus programs on the CSharp Assembly DLL file. Downloaded The dll file from a verified DLL distributing site and had 0 positives. Something here is fishy

 
Virustotal.com Showed positives from 12 different antivirus programs on the CSharp Assembly DLL file. Downloaded The dll file from a verified DLL distributing site and had 0 positives. Something here is fishy
False positives.  I use it daily, no problems here.

 
False positives.  I use it daily, no problems here.
Doesn't mean that something couldn't be happening that you don't know about- That's how most half decent viruses work. Regardless, I replaced the fishy CSharp DLL with the clean one and it works fine.

 
Virustotal.com Showed positives from 12 different antivirus programs on the CSharp Assembly DLL file. Downloaded The dll file from a verified DLL distributing site and had 0 positives. Something here is fishy


The Assembly-CSharp.dll file is an exact copy of the game's A19.0 release. You can verify that by going to steam and downloading A19.0 to compare for your self. They're byte-for-byte identical. So unless the whole game's a virus I wouldn't worry about it. 

Unless "Downloaded The dll file from a verified DLL distributing site" is Steam (or however you bought a copy of the game) I would delete that file. DLL download sites are more likely to be a source of viruses. 

The good news is that DLL doesn't even need to be in the release any more. DMT stopped relying on the game's DLL a while ago, I just need to update my code for building a release. 

Next time try leading with a question rather than an accusation because if I were you I'd be feeling quite embarrassed around now but well done for trying to protect people, you just happen to be wrong. 

 
I have a question, I am currently running Starvation Mod Alpha A16.4. Will the DMT Modding Tool allow me to further add more mods like Manux_customvehicles SDX mod for A16.4 to it? The files that come from Starvation mod are already patched with SDX it seems, and there is no Manux_Customvehicles modlet version for A16.4

 
Its doable but you'd need to manually edit dlls and stitch it all together yourself so you'd need to know your way around c# and modding the game in general. All the mods would need to be compatible with the game version though (or you need to edit them to make them compatible)

 
... The good news is that DLL doesn't even need to be in the release any more. DMT stopped relying on the game's DLL a while ago, I just need to update my code for building a release. ...
Wait...so what you're saying is, that one won't have to continuously re-assemble it every time they want to add a mod that requires DMT?

If so, I like it & can't wait for your new release LOL.

 
Hi, I need build my DMT mods all time I playing the game or just one time?


You only need to build the first time, rebuild when you add more mods or the game releases an update

Wait...so what you're saying is, that one won't have to continuously re-assemble it every time they want to add a mod that requires DMT?

If so, I like it & can't wait for your new release LOL.


Alas no, I meant the game used to use code in the Assembly-CSharp.dll to make the builds. It doesn't do that any more so it doesn't need to be there. 

 
Can anyone give me an example of a patch script that replaces an existing method with my own code? I'm trying to add my code in BlockPowerDoor.ActivateBlock but it keeps coming up like this, I get basically the same result when trying to add new methods as well, I can create the method but cant put anything in it.

 

Code:
// BlockPoweredDoor
public override bool ActivateBlock(WorldBase _world, int _cIdx, Vector3i _blockPos, BlockValue _blockValue, bool isOn, bool isPowered)
{
    //IL_0006: Expected I4, but got O
    return ((BlockPoweredDoorPatchFunctions)/*Error near IL_0006: Stack underflow*/).ActivateBlock_Patch((WorldBase)/*Error near IL_0006: Stack underflow*/, (int)/*Error near IL_0006: Stack underflow*/, (Vector3i)/*Error near IL_0006: Stack underflow*/, (BlockValue)/*Error near IL_0006: Stack underflow*/, (byte)/*Error near IL_0006: Stack underflow*/ != 0, (byte)(int)this != 0);
}
 
Can anyone give me an example of a patch script that replaces an existing method with my own code? I'm trying to add my code in BlockPowerDoor.ActivateBlock but it keeps coming up like this, I get basically the same result when trying to add new methods as well, I can create the method but cant put anything in it.

 

// BlockPoweredDoor
public override bool ActivateBlock(WorldBase _world, int _cIdx, Vector3i _blockPos, BlockValue _blockValue, bool isOn, bool isPowered)
{
//IL_0006: Expected I4, but got O
return ((BlockPoweredDoorPatchFunctions)/*Error near IL_0006: Stack underflow*/).ActivateBlock_Patch((WorldBase)/*Error near IL_0006: Stack underflow*/, (int)/*Error near IL_0006: Stack underflow*/, (Vector3i)/*Error near IL_0006: Stack underflow*/, (BlockValue)/*Error near IL_0006: Stack underflow*/, (byte)/*Error near IL_0006: Stack underflow*/ != 0, (byte)(int)this != 0);
}

You would use a Harmony patch

[HarmonyPatch(typeof(Block))]
[HarmonyPatch("Init")]
public class Init
{
public static bool Prefix(ref Block __instance)
{
Debug.Log("Run me.");
return true;
}
}






The return true on a Prefix will allow the base Block's Init to run as well. if you return false, the base Block's Init will not run, just your code.

 
You would use a Harmony patch

[HarmonyPatch(typeof(Block))]
[HarmonyPatch("Init")]
public class Init
{
public static bool Prefix(ref Block __instance)
{
Debug.Log("Run me.");
return true;
}
}






The return true on a Prefix will allow the base Block's Init to run as well. if you return false, the base Block's Init will not run, just your code.


Thanks! Took me a minute to work out how Harmony works but I got it all working in the end, its so much easier than patchscripts! I'll post the mod tomorrow sometime.

 
Last edited by a moderator:
Parsing arguments
Running BackupFiles
Nope: Could not find a part of the path 'C:\Program Files (x86)\Steam\steamapps\common\7DaysToDie_Data\Managed\Assembly-CSharp.dll'.

process exited with error code -11234

I am trying to install a FOV mod for alpha 19, I don't know what I am doing wrong

 
Parsing arguments
Running BackupFiles
Nope: Could not find a part of the path 'C:\Program Files (x86)\Steam\steamapps\common\7DaysToDie_Data\Managed\Assembly-CSharp.dll'.

process exited with error code -11234

I am trying to install a FOV mod for alpha 19, I don't know what I am doing wrong


It looks like you've not got the correct folder path in the settings area for DMT. Make sure you have the games folder name in it 

e.g.

C:\Program Files (x86)\Steam\steamapps\common\7 Days to die

Not just C:\Program Files (x86)\Steam\steamapps\common

 
It looks like you've not got the correct folder path in the settings area for DMT. Make sure you have the games folder name in it 

e.g.

C:\Program Files (x86)\Steam\steamapps\common\7 Days to die

Not just C:\Program Files (x86)\Steam\steamapps\common
I tried and it says it cannot be in the same file path as the mod folder or there would be build errors.

 
I tried and it says it cannot be in the same file path as the mod folder or there would be build errors.


Yeah you have to have the DMT mod folder outside of the game folder. Then DMT copies the enabled mods into the games mod folder. it's the only way to have an enabled/disabled system atm

So put the DMT mods in something like C:\Games\7DaysMods and you should be good to go

 
Status
Not open for further replies.
Back
Top