Results 1 to 8 of 8

Thread: A humble request for help

Hybrid View

Previous Post Previous Post   Next Post Next Post
  1. #1

    Default A humble request for help

    Hello all,
    First off I'd like to say that this is my first time trying to mod a total war game. I've modded other games like mount and blade warband and dawn of war soulstorm. I'm just wondering if anyone could show me the ropes of modding total war warhammer generally like how to add new unit. I've watched magnar's tutorial and followed his instructions to the letter and looked all over but can't seem to find anything that works. I'd appreciate any help given and would be willing to put any skills taught to the test helping with anyone's mod.
    Thanks.

  2. #2

    Default Re: A humble request for help

    I have basically followed this guide, and everything worked out pretty well. http://www.twcenter.net/forums/showt...-unit-with-PFM

    Only thing it didnt mention unit battle animation table, which you will also need. Since in this game animations are locked to factions.

  3. #3

    Default Re: A humble request for help

    Thanks. I'll try it and see how it goes. Pray tell what unit did you add?

  4. #4

    Default Re: A humble request for help

    Well... I did everything he said to do and added the db file you mentioned. Still not working. I have no clue what i did wrong.

  5. #5

    Default Re: A humble request for help

    I havent made it public yet, but its a mod that add two Bretonnian themed units to the VC roster. Hellsteed Knights and Necropolis Knights. Im still balancing them right now. What you could try to do is find a mod on the workshop that only adds one unit (the more similar to your the better) and open the pack file of it to see what it has that yours doesnt.

    Maybe you can also upload your pack file here so I or someone else could take a look at it?

  6. #6

    Default Re: A humble request for help

    Okay. I'll upload it when I get off of work.

  7. #7
    Commissar Caligula_'s Avatar The Ecstasy of Potatoes
    Join Date
    Dec 2013
    Location
    The alcoves in the Koningin Astridpark
    Posts
    5,871

    Default Re: A humble request for help

    As sG-Radical said you could try reverse engineering an existing mod.
    In addition, Attila and Rome 2 tutorials are fairly similar to Warhammer, but not completely. Here's a really good unit modding tutorial that introduced me to creating new units:
    http://www.twcenter.net/forums/showt...-Unit-Creation
    Finally, I've also created a tutorial for Warhammer that basically teaches you the basics of PFM and the Assembly Kit, and how to make sure your mod doesn't break. It doesn't really go indepth on anything.
    http://www.twcenter.net/forums/showt...ng-for-Newbies



  8. #8

    Default Re: A humble request for help

    Here are my cheat sheet notes that I've made while adding new units. I'm not used to writing guides, but hopefully this will help you out a bit. Since I've been using Goblins as the basis for my mod, I'll be making a few Goblin references, but you should get a good idea of what you would need to add. These should be in the correct order, since you need to make entries in Table A before you make entries into Table B. This doesn't cover any special effects or abilities. The simplest thing to start with is pick a troop type you want to modify (eg: goblin spearmen), and then duplicate it, making the least number of changes, then you can go back in and tweak the unit. This lets you set the Filter to the troop type you are modifying so you can more easily see the data.
    Characters (lords and heroes), require a few add'l tables that I noted below.

    unit_sets: Add 1 per unit type (forest goblin, hill goblin, etc) - You may or may not need to add an entry here. If you are making a regular unit of Goblin Swords instead of Spears, then you could skip this table.
    unit_description_short_texts: Add 1 per unit - Self explanatory, referenced by the land_units table.
    unit_description_historical_texts: Add 1 per unit - Self explanatory, referenced by the land_units table.
    battle_entities: This isn't used that much, but it controls move speed, ranged arc, and a few other things. Most of the units that you make will reference an entry here. For me, then only entries I made were for special mounts for a Hero.
    mounts: Add 1 per mount you want to add.
    land_units: Add entry - This is one of the main files that units use: armor, weapons, etc.
    main_units: Add entry - This is one of the other main files that unit use: size of unit, cost, upkeep, etc.
    building_units_allowed: Add entry per building tier - You'll add your unit to a military building here. If you want a Tier 1 unit, then you'll want to add the unit to the Tier 1...4 entries.
    cdir_military_generator_unit_qualities: Add entry - Use the other units to judge what group your unit belongs to, and guesstimate the quality.
    unit_set_to_unit_junctions: Add 1 per unit/type combination - If you set the filter to a single unit, you can see what groups they are in. This references the unit_sets above.
    units_to_groupings_military_permissions: Add entry attached to your faction
    variants: Add entry - This is where you'll tell the game where the variant mesh is located (see below). You can also set the unit's scale here.
    unit_variants: Add entry - This links a few of the tables together to create your unit. You'll also point to your Unit Card here (unless this is a Lord/Hero).
    agent_uniforms: Add entry for Characters - If you want an On Foot and a Mounted version, you'll add one entry for each. Look at the other characters for reference.
    units_custom_battle_permissions: Add entry for Custom Battles - With your unit here you 'll be able to select them for Custom Battles, which makes it easy to test them out and make sure they look good and are working as intended. For Lords and Heroes, you'll need to set your Porthole Portrait (general_portrait) here (see below).
    units_custom_battle_mounts: Add entry for Hero Mount Upgrades - Same as the previous entry, but for Mounts.
    land_units_to_unit_abilites_junctions: Add entry for Characters - You'll assin some abilities to your characters here; Stand your ground, Madcap mushrooms, Slippery, etc.
    agent_subtypes: 1 entry per hero type - Determines what kind of character
    campaign_map_attrition_unit_immunities: 1 entry per unit type per terrain type - Set immunities for the campaign map, such as goblins being immune to attrition from being in badlands or wasteland.
    special_ability_groups_to_units_junctions: 1 entry per caster type - Sets their book of lore.
    loading_screen_quotes: 1 entry per unit - Not needed, but this adds the loading screen with unit details. You'll also set a image here.
    loading_screen_quotes_to_units: 1 entry per unit - this links the above quote to the unit.
    ui_unit_bullet_point_unit_overrides: 1 entry per bullet point per unit - Set things like Low Morale, Poison, Armor Piercing. This is labels only, the effects are set in things like Main Units, Land Unit, Weapons, etc.

    Porthole Portraits: When you set this for a character, it will override the location of the Unit Card from \ui\units\icons to \ui\portraits\units\wh_main_grn_greenskins (using whatever faction you are adding a character to), and this new Unit Card will need to be named exactly the same as the Porthole Portrait filename. If you leave the general_portrait blank, then your character will use the standard Unit Card location (\ui\units\icons), but their selection marker in-game will be that of a standard troop type (arrow) instead of the Hero (circle) or Lord (star) selection markers.

    Variantmesh files: Found in \variantmeshes\variantmeshdefinitions, you can set the look of your new units here. Most units will use one or two files. If it is a common troop type, then you can create a unit_type_base file with the head, torso, legs (eg: hill_goblins_base). Then you can create a unit_type_weapon file that references the body (your unit_type_base), and you can set the weapon(s) and shield here (eg: hill_goblin_spears, hill_goblin_swords, etc). You can see examples of this in the base variantmeshdefinitions folder. You should be able to look through a few variantmesh files to get a good understanding of how they are put together and reference eachother. For characters, you may only want a single file that has both files combined, minus the body reference (since it is already in this file).

    Example:
    Code:
    <VARIANT_MESH>
        <SLOT name="head" >
            <VARIANT_MESH model="VariantMeshes\wh_variantmodels\hu5\grn\grn_goblin_big_boss\head\grn_goblin_big_boss_head_03.rigid_model_v2"  imposter_model="VariantMeshes\wh_variantmodels\hu5\grn\grn_goblin_big_boss\head\grn_goblin_big_boss_head_01.rigid_model_v2" />
        </SLOT>
        <SLOT name="body" >
            <VARIANT_MESH model="VariantMeshes\wh_variantmodels\hu5\grn\grn_goblin_big_boss\torso\grn_goblin_big_boss_torso_03.rigid_model_v2"  imposter_model="VariantMeshes\wh_variantmodels\hu5\grn\grn_goblin_big_boss\torso\grn_goblin_big_boss_torso_01.rigid_model_v2" >
                <META_DATA>audio_armour_type:plate</META_DATA>            <META_DATA>audio_entity_type:wh_goblin_LH</META_DATA>            <META_DATA>audio_actor_id:actor_01</META_DATA></VARIANT_MESH>
        </SLOT>
        <SLOT name="legs" >
            <VARIANT_MESH model="VariantMeshes\wh_variantmodels\hu5\grn\grn_goblin_big_boss\legs\grn_goblin_big_boss_legs_03.rigid_model_v2"  imposter_model="VariantMeshes\wh_variantmodels\hu5\grn\grn_goblin_big_boss\legs\grn_goblin_big_boss_legs_01.rigid_model_v2" />
        </SLOT>
        <SLOT name="quiver" >
            <VARIANT_MESH model="VariantMeshes\wh_variantmodels\hu5\grn\grn_goblin\torso\grn_goblin_quiver_01.rigid_model_v2"  imposter_model="VariantMeshes\wh_variantmodels\hu5\grn\grn_goblin\torso\grn_goblin_quiver_01.rigid_model_v2" />
        </SLOT>
        <SLOT name="weapon_1" attach_point="be_prop_0" />
        <SLOT name="weapon_2" attach_point="be_prop_1" >
            <VARIANT_MESH_REFERENCE definition="VariantMeshes\VariantMeshDefinitions\grn_goblin_bigboss_swords_set1.VariantMeshDefinition" />
        </SLOT>
        <SLOT name="shield" attach_point="be_prop_2" />
        <SLOT name="weapon_3" attach_point="be_prop_3" >
            <VARIANT_MESH model="VariantMeshes\wh_variantmodels\hu5\grn\grn_props\grn_goblin_shortbow_rigid_01.rigid_model_v2"  imposter_model="VariantMeshes\wh_variantmodels\hu5\grn\grn_props\grn_goblin_shortbow_rigid_01.rigid_model_v2" />
        </SLOT>
        <SLOT name="weapon_4" attach_point="be_prop_4" >
            <VARIANT_MESH model="VariantMeshes\wh_variantmodels\hu5\grn\grn_props\grn_goblin_arrow_01.rigid_model_v2"  imposter_model="VariantMeshes\wh_variantmodels\hu5\grn\grn_props\grn_goblin_arrow_01.rigid_model_v2" />
        </SLOT>
        <SLOT name="weapon_5" attach_point="be_prop_5" />
    </VARIANT_MESH>
    This is a variant I made for Goblin Hero. You'll notice a lot of pointing to VariantMeshes\wh_variantmodels\hu5\grn\. This is where the different "parts" are stored for the Goblins. If you look through the files for the faction you are modifying you'll be able to determine where their variantmodels are located. I have not found a way to view the individual parts outside of the game, so you may want to use one part at a time and take a screenshot in-game. I had to do this to determine which parts I wanted to use for certain units and characters, especially since you want a specific character to look the same every time.

    Another thing to note, this guy uses the grn_goblin_bigboss_swords_set1 weapon. This points to a collection of weapons. Alternatively, you can list individual models. I do this for shields on some units:
    Code:
        <SLOT name="shield" attach_point="be_prop_2" >
            <VARIANT_MESH model="VariantMeshes\wh_variantmodels\hu2\grn\grn_props\grn_orc_shield_01.rigid_model_v2"  imposter_model="VariantMeshes\wh_variantmodels\hu5\grn\grn_props\grn_goblin_shield_01.rigid_model_v2" >
                <META_DATA>audio_shield_type:wood</META_DATA></VARIANT_MESH>
            <VARIANT_MESH model="VariantMeshes\wh_variantmodels\hu2\grn\grn_props\grn_orc_shield_02.rigid_model_v2"  imposter_model="VariantMeshes\wh_variantmodels\hu5\grn\grn_props\grn_goblin_shield_01.rigid_model_v2" >
                <META_DATA>audio_shield_type:wood</META_DATA></VARIANT_MESH>
            <VARIANT_MESH model="VariantMeshes\wh_variantmodels\hu2\grn\grn_props\grn_orc_shield_03.rigid_model_v2"  imposter_model="VariantMeshes\wh_variantmodels\hu5\grn\grn_props\grn_goblin_shield_01.rigid_model_v2" >
                <META_DATA>audio_shield_type:wood</META_DATA></VARIANT_MESH>
        </SLOT>
    This will place the Orc shields onto the unit. In my testing, you'll want to list the individual props instead of the "set" when using props meant for another hu type. In this case, I am replacing the hu5 shields with the hu2 shields.


    Hopefully I didn't miss anything, and hopefully this helps a bit.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •