BATTLETECH
WHERE IS IT? (Creating a Mech Variant)
Hey guys, I'm attempting to follow the BATTLETECH MODDING WIKI in order to add a new variant, but am stuck on something.
I'm at the step "AddNew Tags" using SQLite Editor, and per the WIKI, I need to open the MetaDatabase.db file. Where is this located?
Отредактировано BigHorse; 16 фев. 2020 г. в 9:15
< >
Сообщения 115 из 17
You dont need to do any of that, modtek and modloader automatically do it
Автор сообщения: Boltergeist
You dont need to do any of that, modtek and modloader automatically do it

So then I just make my json edits, and package it into a new mod, then install via modtek/modloader?
Автор сообщения: Boltergeist
this here has a guide how to create a mod that loads

https://github.com/BattletechModders/ModTek/wiki


Yup, That's the one I've been using, THANKS!
Thats definitely not the one youve been using because thats the wiki for modtek and it doesnt mention anything about modifying your mddb by hand
Автор сообщения: Boltergeist
Thats definitely not the one youve been using because thats the wiki for modtek and it doesnt mention anything about modifying your mddb by hand

Yep, you're right, I had both the GITHUB and BATTLETECH MODDING WIKI open when I commented, simple mistake. The one you listed isn't much help, as it contains only the very basic json steps of which I already know, and have successfully used for my own personal little weapons mod.

In following the BATTLETECH MODDING WIKI, my mod loads into the mod manager just fine, (in mods, and repository folders) and into the in game mod list, but showing in red text in the mod list. The error located in modtek.log reads as such-

Error: WarriorKingCrab has a manifest entry that has a type 'chassisdef' that doesn't match an existing type and isn't declared in CustomResourceTypes

Within my mod package, I can delete or rearrange in any order, any of the chassis, mech, or movement folders from the mod, or mod.json listing, and the modtek log will show the same error for whichever is the first listing of the manifest in the mod.json folder upon loading the game.

I'm trying to provide as much info as possible, so thank you for your patience....

My mod.json is as follows:

{
"Name": "WarriorKingCrab",
"Enabled": true,
"Version": "1.0",
"Description": "WARRIOR KING CRAB",
"Author": "BigHorse",

"DependsOn": [],
"ConflictsWith": [],

"Manifest": [
{
"Type": "chassisdef",
"Path": "chassis",
"AddToDB": true
},
{
"Type": "mechdef",
"Path": "mech",
"AddToDB": true
},
{
"Type": "movedef",
"Path": "movement",
"AddToDB": true
},
]
}

This is the set-up, or file paths of my folder:
WarriorKingCrab-
\chassis\chassisdef_kingcrab_WARRIOR.json
\mech\mechdef_kingcrab_WARRIOR.json
\movement\movedef_kingcrab_WARRIOR.json

NOTE: The only things I have edited from the cloned/copied files thus far are the names of the jsons (which match the ID's), and the names within them to link with the others of this attempted mod.
NOTE 2: I'm not trying to add this into any shops yet, just trying to get it in-game via save editor to test it's functionality after I change the hard points.

I know my issue is something simple or overlooked, as it always seems to be in creating a new type of mod for the first time...
Any continued help that you, or anyone else can offer to point me in the right direction is GREATLY appreciated, THANKS for taking the time!
Отредактировано BigHorse; 15 фев. 2020 г. в 12:40
ChassisDef, MechDef, MovementCapabilitiesDef.
Автор сообщения: Mudpony
ChassisDef, MechDef, MovementCapabilitiesDef.
Yep, the type field is case sensitive so you need to use the correct capitalisation and spelling. E,g. ChassisDef not chassisdef.
FYI the "type" field in manifest equates to the second value on each line of the VersionManifest.csv file.

You should never manually edit the VersionManifest, because the modloader/modtek does that for you, but it can be useful to look at it if you're not sure what to type into your mod.json.
Hey Mudpony and HandyVac, I'm sittin here doing the 'ol "facepalm" .....

There I was - meticulously going thru everything looking for missing commas and quotation marks!
And changing to "MovementCapabilitiesDef" in my mod.json probably helped...

Current mod.json is as follows:

{
"Name": "WarriorKingCrab",
"Enabled": true,
"Version": "1.0",
"Description": "WARRIOR KING CRAB",
"Author": "BigHorse",

"DependsOn": [],
"ConflictsWith": [],

"Manifest": [
{
"Type": "ChassisDef",
"Path": "chassis",
"AddToDB": true
},
{
"Type": "MechDef",
"Path": "mech",
"AddToDB": true
},
{
"Type": "MovementCapabilitiesDef",
"Path": "movement",
"AddToDB": true
},
]
}


And here is the way it's listed in the modtek.log:

{
"Description" : {
"Id" : "movedef_kingcrab_WARRIOR",
"Name" : "MovementCapabilitiesDef for WARRIOR King Crab",

WarriorKingCrab 1.0
Expanding manifest WarriorKingCrab:
ChassisDef:chassis
C:\GAME FOLDER\Steam\steamapps\common\BATTLETECH\Mods\WarriorKingCrab\chassis\chassisdef_kingcrab_WARRIOR.json
MechDef:mech
C:\GAME FOLDER\Steam\steamapps\common\BATTLETECH\Mods\WarriorKingCrab\mech\mechdef_kingcrab_WARRIOR.json
MovementCapabilitiesDef:movement
C:\GAME FOLDER\Steam\steamapps\common\BATTLETECH\Mods\WarriorKingCrab\movement\movedef_kingcrab_WARRIOR.json
:StreamingAssets
3 manifest entries



OK, so now the mod is loading with no errors.....
except for one.
Using Save Editor, I tried to put the new mech variant into my inventory to look it over in the mech bay. The Save Editor lists it after Scan, and enters it into my inventory, but upon firing up the game, it does not appear. I tried saving and reloading, as well as traveling to another star system, and re starting the game, but it still doesn't appear.
I then opened the Save Editor again and tried adding it to mechbay,and got this error message:

"Failed to add mech, check file selection and that space in the mechbay is available"

Plenty of room in the mechbay, so apparently, there's still something wrong with my files.

Here are the only changes I made to the 3 json files I'm using that I cloned/copied from the original King Crab 0000:

CHASSIS
"UIName": "WARRIOR King Crab",
"Id": "chassisdef_kingcrab_WARRIOR",
"Name": "WARRIOR King Crab",
"Details": "One of the most heavily armed and armored 'Mechs ever constructed, the King Crab 0000 is capable of massive burst damage. A pair of heavy, close-range Autocannons form its primary weaponry, backed up by ranged weaponry to fire as it closes distance.",
"Icon": "uixTxrIcon_kingcrab"
},
"MovementCapDefID": "movedef_kingcrab_WARRIOR",

MECH
"ChassisID": "chassisdef_kingcrab_WARRIOR",
"HeraldryID": null,
"Description": {
"Cost": 12720000,
"Rarity": 5,
"Purchasable": true,
"Manufacturer": null,
"Model": null,
"UIName": "WARRIOR King Crab",
"Id": "mechdef_kingcrab_WARRIOR",
"Name": "WARRIOR King Crab",

MOVEMENT
{
"Description" : {
"Id" : "movedef_kingcrab_WARRIOR",
"Name" : "MovementCapabilitiesDef for WARRIOR King Crab",


THANK YOU for your help, and patience with me on this!
Отредактировано BigHorse; 15 фев. 2020 г. в 18:59
If a mech isn't BLACKLISTED in the mech's mechtag items bit (see the Atlas II or Victoria's King Crab, they both have that set), you don't need to use the save game editor. You can just go into skirmish mode and check the mech bay there. And if a mech is BLACKLISTED, just remove that for a bit, test it using the skirmish's mechbay and a skirmish itself, and then put the BLACKLISTED back when done. Since your mech has problems, it most likely wont' show up there, but that's how you can know it has a problem.

Easiest way to test your mechs ;)

That said, I don't see anything offhand that is wrong. Google up an online json validator, and copy/paste the contents of each file in, just to see if there are any format issues. And if that returns okay, then there's a problem somewhere else.
Отредактировано Mudpony; 16 фев. 2020 г. в 0:10
Hey guys, THANKS for the json validator link. This is an ESSENTIAL TOOL!
I used it to clean up a couple of my other small personal mods, and this one that I'm still having a problem with.
So, I've got the mod jsons all cleaned up nicely, and ModTek.log is happy with no errors:

WarriorKingCrab 1.0
Expanding manifest WarriorKingCrab:
ChassisDef:chassis
C:\GAME FOLDER\Steam\steamapps\common\BATTLETECH\Mods\WarriorKingCrab\chassis\chassisdef_kingcrab_WARRIOR.json
MechDef:mech
C:\GAME FOLDER\Steam\steamapps\common\BATTLETECH\Mods\WarriorKingCrab\mech\mechdef_kingcrab_WARRIOR.json
MovementCapabilitiesDef:movement
C:\GAME FOLDER\Steam\steamapps\common\BATTLETECH\Mods\WarriorKingCrab\movement\movedef_kingcrab_WARRIOR.json
:StreamingAssets
3 manifest entries

However, the mech still isn't appearing in-game in mech bay storage (via save editor) or Skirmish.
Again, I've tried saving, reloading, restarting, etc., but no luck.
Everything looks good, so I'm wondering if perhaps the problem might be with my mod file path structure, or maybe a missing necessary additional files?


As always, thanks for your advice and patience as I progress in this learning curve.
Отредактировано BigHorse; 16 фев. 2020 г. в 9:55
you need to check your mechdef tag "Unit_Release" needs to be in there
Yup, it's in there....

{
"MechTags": {
"items": [
"unit_mech",
"unit_assault",
"unit_indirectFire",
"unit_lance_tank",
"unit_role_brawler",
"unit_release",
"unit_ready",
"unit_range_short",
"unit_indirectFire",
"unit_speed_low",
"unit_armor_high",
"Davion",
"Kurita",
"Liao",
"Marik",
"Steiner",
"MagistracyOfCanopus",
"TaurianConcordat"
],


Since I'm only testing at the moment to see if I can get it in-game, the only things I've edited are IDs and names in the jsons.

Here is the file path structure:

WarriorKingCrab\ chassis\chassisdef_kingcrab_WARRIOR.json
WarriorKingCrab\ mech\mechdef_kingcrab_WARRIOR.son WarriorKingCrab\movement\movedef_kingcrab_WARRIOR.json



And since there is no way to send the mod itself here, I will now post the jsons for review:

CHASSIS
{
"Description": {
"Cost": 10900000,
"Rarity": 5,
"Purchasable": true,
"Manufacturer": "",
"Model": "",
"UIName": "WARRIOR King Crab",
"Id": "chassisdef_kingcrab_WARRIOR",
"Name": "WARRIOR King Crab",
"Details": "One of the most heavily armed and armored 'Mechs ever constructed, the King Crab 0000 is capable of massive burst damage. A pair of heavy, close-range Autocannons form its primary weaponry, backed up by ranged weaponry to fire as it closes distance.",
"Icon": "uixTxrIcon_kingcrab"
},
"MovementCapDefID": "movedef_kingcrab_WARRIOR",
"PathingCapDefID": "pathingdef_assault",
"HardpointDataDefID": "hardpointdatadef_kingcrab",
"PrefabIdentifier": "chrPrfMech_kingcrabBase-001",
"PrefabBase": "kingcrab",
"Tonnage": 100,
"InitialTonnage": 35,
"weightClass": "ASSAULT",
"BattleValue": 10206000,
"Heatsinks": 0,
"TopSpeed": 105,
"TurnRadius": 90,
"MaxJumpjets": 3,
"Stability": 200,
"StabilityDefenses": [
0,
0,
0,
0,
0,
0
],
"SpotterDistanceMultiplier": 1,
"VisibilityMultiplier": 1,
"SensorRangeMultiplier": 1,
"Signature": 0,
"Radius": 8,
"PunchesWithLeftArm": false,
"MeleeDamage": 125,
"MeleeInstability": 100,
"MeleeToHitModifier": 0,
"DFADamage": 125,
"DFAToHitModifier": 0,
"DFASelfDamage": 125,
"DFAInstability": 125,
"Locations": [
{
"Location": "Head",
"Hardpoints": [],
"Tonnage": 0,
"InventorySlots": 1,
"MaxArmor": 45,
"MaxRearArmor": -1,
"InternalStructure": 16
},
{
"Location": "LeftArm",
"Hardpoints": [
{
"WeaponMount": "Ballistic",
"Omni": false
},
{
"WeaponMount": "AntiPersonnel",
"Omni": false
},
{
"WeaponMount": "AntiPersonnel",
"Omni": false
}
],
"Tonnage": 0,
"InventorySlots": 8,
"MaxArmor": 170,
"MaxRearArmor": -1,
"InternalStructure": 85
},
{
"Location": "LeftTorso",
"Hardpoints": [
{
"WeaponMount": "Missile",
"Omni": false
},
{
"WeaponMount": "Missile",
"Omni": false
},
{
"WeaponMount": "Missile",
"Omni": false
},
{
"WeaponMount": "Missile",
"Omni": false
}
],
"Tonnage": 0,
"InventorySlots": 10,
"MaxArmor": 210,
"MaxRearArmor": 105,
"InternalStructure": 105
},
{
"Location": "CenterTorso",
"Hardpoints": [],
"Tonnage": 0,
"InventorySlots": 4,
"MaxArmor": 310,
"MaxRearArmor": 155,
"InternalStructure": 155
},
{
"Location": "RightTorso",
"Hardpoints": [
{
"WeaponMount": "Energy",
"Omni": false
},
{
"WeaponMount": "Energy",
"Omni": false
},
{
"WeaponMount": "Energy",
"Omni": false
},
{
"WeaponMount": "Energy",
"Omni": false
}
],
"Tonnage": 0,
"InventorySlots": 10,
"MaxArmor": 210,
"MaxRearArmor": 105,
"InternalStructure": 105
},
{
"Location": "RightArm",
"Hardpoints": [
{
"WeaponMount": "Ballistic",
"Omni": false
},
{
"WeaponMount": "AntiPersonnel",
"Omni": false
},
{
"WeaponMount": "AntiPersonnel",
"Omni": false
}
],
"Tonnage": 0,
"InventorySlots": 8,
"MaxArmor": 170,
"MaxRearArmor": -1,
"InternalStructure": 85
},
{
"Location": "LeftLeg",
"Hardpoints": [],
"Tonnage": 0,
"InventorySlots": 4,
"MaxArmor": 210,
"MaxRearArmor": -1,
"InternalStructure": 105
},
{
"Location": "RightLeg",
"Hardpoints": [],
"Tonnage": 0,
"InventorySlots": 4,
"MaxArmor": 210,
"MaxRearArmor": -1,
"InternalStructure": 105
}
],
"LOSSourcePositions": [
{
"x": 0,
"y": 14.5,
"z": 0
},
{
"x": 4,
"y": 15,
"z": -1
},
{
"x": -4,
"y": 15,
"z": -1
}
],
"LOSTargetPositions": [
{
"x": 0,
"y": 14.5,
"z": 0
},
{
"x": 4,
"y": 15,
"z": -1
},
{
"x": -4,
"y": 15,
"z": -1
},
{
"x": 3.5,
"y": 5.5,
"z": -1
},
{
"x": -3.5,
"y": 5.5,
"z": -1
}
],
"VariantName": "WARRIOR",
"ChassisTags": {
"items": [],
"tagSetSourceFile": ""
},
"StockRole": "Juggernaut & Close Assault",
"YangsThoughts": "One of the most heavily armed and armored 'Mechs ever constructed, the King Crab 0000 is capable of massive burst damage. A pair of heavy, close-range Autocannons form its primary weaponry, backed up by ranged weaponry to fire as it closes distance."
}


MECH
{
"MechTags": {
"items": [
"unit_mech",
"unit_assault",
"unit_indirectFire",
"unit_lance_tank",
"unit_role_brawler",
"unit_release",
"unit_ready",
"unit_range_short",
"unit_indirectFire",
"unit_speed_low",
"unit_armor_high",
"Davion",
"Kurita",
"Liao",
"Marik",
"Steiner",
"MagistracyOfCanopus",
"TaurianConcordat"
],
"tagSetSourceFile": ""
},
"ChassisID": "chassisdef_kingcrab_WARRIOR",
"HeraldryID": null,
"Description": {
"Cost": 12720000,
"Rarity": 5,
"Purchasable": true,
"Manufacturer": null,
"Model": null,
"UIName": "WARRIOR King Crab",
"Id": "mechdef_kingcrab_WARRIOR",
"Name": "WARRIOR King Crab",
"Details": "One of the most heavily armed and armored 'Mechs ever constructed, the King Crab 0000 is capable of massive burst damage. A pair of heavy, close-range Autocannons form its primary weaponry, backed up by ranged weaponry to fire as it closes distance.",
"Icon": "uixTxrIcon_kingcrab"
},
"simGameMechPartCost": 1270000,
"Version": 1,
"Locations": [
{
"DamageLevel": "Functional",
"Location": "Head",
"CurrentArmor": 45,
"CurrentRearArmor": -1,
"CurrentInternalStructure": 16,
"AssignedArmor": 45,
"AssignedRearArmor": -1
},
{
"DamageLevel": "Functional",
"Location": "LeftArm",
"CurrentArmor": 165,
"CurrentRearArmor": -1,
"CurrentInternalStructure": 85,
"AssignedArmor": 165,
"AssignedRearArmor": -1
},
{
"DamageLevel": "Functional",
"Location": "LeftTorso",
"CurrentArmor": 145,
"CurrentRearArmor": 50,
"CurrentInternalStructure": 105,
"AssignedArmor": 145,
"AssignedRearArmor": 50
},
{
"DamageLevel": "Functional",
"Location": "CenterTorso",
"CurrentArmor": 195,
"CurrentRearArmor": 60,
"CurrentInternalStructure": 155,
"AssignedArmor": 195,
"AssignedRearArmor": 60
},
{
"DamageLevel": "Functional",
"Location": "RightTorso",
"CurrentArmor": 145,
"CurrentRearArmor": 50,
"CurrentInternalStructure": 105,
"AssignedArmor": 145,
"AssignedRearArmor": 50
},
{
"DamageLevel": "Functional",
"Location": "RightArm",
"CurrentArmor": 165,
"CurrentRearArmor": -1,
"CurrentInternalStructure": 85,
"AssignedArmor": 165,
"AssignedRearArmor": -1
},
{
"DamageLevel": "Functional",
"Location": "LeftLeg",
"CurrentArmor": 170,
"CurrentRearArmor": -1,
"CurrentInternalStructure": 105,
"AssignedArmor": 170,
"AssignedRearArmor": -1
},
{
"DamageLevel": "Functional",
"Location": "RightLeg",
"CurrentArmor": 170,
"CurrentRearArmor": -1,
"CurrentInternalStructure": 105,
"AssignedArmor": 170,
"AssignedRearArmor": -1
}
],
"inventory": [
{
"MountedLocation": "LeftArm",
"ComponentDefID": "",
"SimGameUID": null,
"ComponentDefType": "",
"HardpointSlot": 0,
"GUID": null,
"DamageLevel": "Functional",
"prefabName": null,
"hasPrefabName": false
},
{
"MountedLocation": "LeftTorso",
"ComponentDefID": "",
"SimGameUID": null,
"ComponentDefType": "",
"HardpointSlot": 0,
"GUID": null,
"DamageLevel": "Functional",
"prefabName": null,
"hasPrefabName": false
},
{
"MountedLocation": "LeftTorso",
"ComponentDefID": "",
"SimGameUID": null,
"ComponentDefType": "",
"HardpointSlot": -1,
"GUID": null,
"DamageLevel": "Functional",
"prefabName": null,
"hasPrefabName": false
},
{
"MountedLocation": "LeftTorso",
"ComponentDefID": "",
"SimGameUID": null,
"ComponentDefType": "",
"HardpointSlot": -1,
"GUID": null,
"DamageLevel": "Functional",
"prefabName": null,
"hasPrefabName": false
},
{
"MountedLocation": "CenterTorso",
"ComponentDefID": "",
"SimGameUID": null,
"ComponentDefType": "",
"HardpointSlot": -1,
"GUID": null,
"DamageLevel": "Functional",
"prefabName": null,
"hasPrefabName": false
},
{
"MountedLocation": "RightTorso",
"ComponentDefID": "",
"SimGameUID": null,
"ComponentDefType": "",
"HardpointSlot": 0,
"GUID": null,
"DamageLevel": "Functional",
"prefabName": null,
"hasPrefabName": false
},
{
"MountedLocation": "RightTorso",
"ComponentDefID": "",
"SimGameUID": null,
"ComponentDefType": "",
"HardpointSlot": -1,
"GUID": null,
"DamageLevel": "Functional",
"prefabName": null,
"hasPrefabName": false
},
{
"MountedLocation": "RightArm",
"ComponentDefID": "",
"SimGameUID": null,
"ComponentDefType": "",
"HardpointSlot": 0,
"GUID": null,
"DamageLevel": "Functional",
"prefabName": null,
"hasPrefabName": false
},
{
"MountedLocation": "LeftLeg",
"ComponentDefID": "",
"SimGameUID": null,
"ComponentDefType": "",
"HardpointSlot": -1,
"GUID": null,
"DamageLevel": "Functional",
"prefabName": null,
"hasPrefabName": false
},
{
"MountedLocation": "LeftLeg",
"ComponentDefID": "",
"SimGameUID": null,
"ComponentDefType": "",
"HardpointSlot": -1,
"GUID": null,
"DamageLevel": "Functional",
"prefabName": null,
"hasPrefabName": false
},
{
"MountedLocation": "RightLeg",
"ComponentDefID": "",
"SimGameUID": null,
"ComponentDefType": "",
"HardpointSlot": -1,
"GUID": null,
"DamageLevel": "Functional",
"prefabName": null,
"hasPrefabName": false
},
{
"MountedLocation": "RightLeg",
"ComponentDefID": "",
"SimGameUID": null,
"ComponentDefType": "",
"HardpointSlot": -1,
"GUID": null,
"DamageLevel": "Functional",
"prefabName": null,
"hasPrefabName": false
}
]
}



MOVEMENT
{
"Description" : {
"Id" : "movedef_kingcrab_WARRIOR",
"Name" : "MovementCapabilitiesDef for WARRIOR King Crab",
"Details" : "",
"Icon" : ""
},
"MaxWalkDistance" : 95.0,
"MaxSprintDistance" : 165.0,
"WalkVelocity" : 20.0,
"RunVelocity" : 28.0,
"SprintVelocity" : 32.0,
"LimpVelocity" : 8.0,
"WalkAcceleration" : 12.0,
"SprintAcceleration" : 18.0,
"MaxRadialVelocity" : 60.0,
"MaxRadialAcceleration" : 180.0,
"MaxJumpVel" : 30.0,
"MaxJumpAccel" : 15.0,
"MaxJumpVerticalAccel" : 30.0
}
Отредактировано BigHorse; 16 фев. 2020 г. в 10:40
< >
Сообщения 115 из 17
Показывать на странице: 1530 50

Дата создания: 15 фев. 2020 г. в 3:58
Сообщений: 17