Hegemony III: Clash of the Ancients

Hegemony III: Clash of the Ancients

Hegemony III Workshop
Post your maps and mods here ...
Learn More
Dead_Jesse Mar 28, 2017 @ 10:10pm
Importing Ingame models to editor for prop use
I'd love to see docked war ships and items such as shields, spears and swords as props, even wild elephants
It would give my map so much more atmosphere

Any way to get this?
Devs?
< >
Showing 16-28 of 28 comments
Fristi61 10 May 10, 2017 @ 12:21pm 
I'll expand on the faction group stuff a little, if I may.

A full list of 'common units' that I merge into my new faction groups:

Workers (type="workerBrigade") Slaves (type="slavebrigade") Colonists (type="colonistBrigade") Light Warship (type="nonromanwarshipbrigade" for the gallic/illyric version, or type="romanwarshipbrigade" for the roman/greek version) Raiding Ship (type="raidingShip", only used by illyrics/gauls in vanilla) Foot Scouts (type="commonScouts") Cavalry scouts (type="commonCavalryScouts") Baggage train (type="commonBaggageTrain")

Additionally, if the mod is meant to be used with the Eagle King DLC, there's the following DLC-only common brigades:

Heavy Warship (type="heavyWarshipGallic" for the Gallic/Illyric version and type="heavyWarship" for the Roman/Greek version) Scout Ship (type="scoutShip") Small Transport (type="smallTransport") Large Transport (type="largeTransport") Flagship (type="flagship", only used by Romans/Greeks in vanilla)

Your faction group will need a hostages brigade as well, but these have seperate brigades to allow for different guard models walking alongside the hostages for different faction groups.

And besides the common brigades and hostages, your faction group will of course need its own set of land military brigades.

___________________________________________________________

If you want your faction group to be able to build the archery range upgrade, you will need to merge your faction group into the "fieldrange" upgrade.

___________________________________________________________

Want your faction group to not have the default city models and image? You'll need to mod the "citycommon" entity of the "city" class, merging in the following lines for each factiongroup.

<miniatureent state="0" factiongroup="yourfactiongroup" class="objectmesh" type="yourcitymodel"/> <miniatureent state="1" factiongroup="yourfactiongroup" class="objectmesh" type="yourcitymodel"/> <miniatureent state="2" factiongroup="yourfactiongroup" class="objectmesh" type="yourcitymodel"/> <portrait factiongroup="yourfactiongroup" atlas="objportraits" sprite="yourcityportrait"/>

Where instead of yourfactiongroup you put the your custom faction group.
Instead of yourcitymodel you would put one of the following, depending on which you want.

mesh_mini_city_etruscan
mesh_mini_city_latin
mesh_mini_city_greek
mesh_mini_city_gaul

Instead of yourcityportrait, you would put one of the following, depending on which you want.

cityetruscan
citylatin
citygreek
citygallic

There are no sabellic or illyric models and portraits, their faction groups use the latin and gallic model/portrait respectively.

__________________________________________________________________

Want your faction group to not have the default gallic prop guards marching around the cities and camps? This can be done as well. You'll want to grab entities_props.zip from https://pub.longbowgames.com/hegemony3/3.3/ , in this archive you'll want to go to Props/PEOPLE/GUARDS. You'll see a total of 10 .xnt files starting with prop_guard_, they each contain a type of prop guard model which you'll want to merge some new faction group entires into.

You'll have to go into the the .xnt file of the prop guard in question, then go to the entry of the faction group that has the model that you want your custom faction group to use, and copy that entry to an .xnt in your mod that merges that entry into that prop type, then change the factiongroup line of that entry to your custom faction group.

So if I want my custom faction group "alien" to use the Latin model for the prop_guard_relaxing prop guard type. I'll open prop_guard_relaxing.xnt, and copy the Latin entry which is:

<unit factiongroup="latin"> <face atlas="faces" sprite="genericFace_01"/> <face atlas="faces" sprite="genericFace_02"/> <face atlas="faces" sprite="genericFace_03"/> <face atlas="faces" sprite="genericFace_04"/> <shieldtype>rectangle</shieldtype> <animationstatemachine class="animationstatemachine" type="ani_latin_gaurd_sitting_ani"/> <_include file="Resources\Entities\Props\PEOPLE\GUARDS\guard unit includes\latinGuard.xnt"/> </unit>

Then I'll paste that into an .xnt file in my mod, that merges into prop_guard_relaxing, and replace factiongroup="latin" with factiongroup="alien". So the resulting .xnt file would look like:

<entity modtechnique="merge" class="factionunitprop" type="prop_guard_relaxing"> <unit factiongroup="alien"> <face atlas="faces" sprite="genericFace_01"/> <face atlas="faces" sprite="genericFace_02"/> <face atlas="faces" sprite="genericFace_03"/> <face atlas="faces" sprite="genericFace_04"/> <shieldtype>rectangle</shieldtype> <animationstatemachine class="animationstatemachine" type="ani_latin_gaurd_sitting_ani"/> <_include file="Resources\Entities\Props\PEOPLE\GUARDS\guard unit includes\latinGuard.xnt"/> </unit> </entity>

And I would go through the same process for the other 9 guard props as well.

__________________________________________________________________

You'll want a custom companions script for your mod as well so your custom faction group doesn't get the default Sabellic companion units, but actually the way I'm doing it right now isn't perfect. I'll get back to you on this one.
Last edited by Fristi61; May 10, 2017 @ 12:23pm
Ca_Putt 10 May 10, 2017 @ 2:13pm 
Quite detailed Fristi!

Last I checked, making new FGs often results in script-errors for Companions. Thus not Default Sabellic ones but none at all. I don't know to what this is related but that's what I got from
Fixing this isn't that hard tho, just head to:
Resources\Objectives\Hegemony\CompanionScripts.lua , copy one of those 4 liners to the spot between Illyric and default and replace the Groupname for your new Group and the Brigadenames for the ones you want. The numbers behind the Brigadename specify the size of the brigade when you get them and by how much they grow each level so keep those in mind if you use funky units.

Fristi, is that roughly what you are doing?
Fristi61 10 May 10, 2017 @ 2:25pm 
Custom faction groups will always default to Sabellic companions, I can tell you that much. I think at one point in the beta they didn't and maybe that's what you remember.


Yes, that is roughly what I'm doing, but the problem here is with modfoldering and mod compatibility. Currently my mod just contains its own copy of CompanionScripts.lua which overwrites the vanilla CompanionScripts.

But of course if you have various mods installed, each with their own version of CompanionScripts, then they wouldn't be compatible with each other as those CompanionScripts.lua would presumably end up conflicting with each other and only one of them would be recognized by the game.

So we'd need a way to do this so that mods remain compatible with each other, preferably. I'm thinking instead of simply overwriting the CompanionScripts. I'd point the scenario to a different startup script altogether, which avoids touching CompanionScripts at all. Then I'd basically make that new startup script a clone of the existing startup script but under a different name, then I'd point that to a cloned CompanionScripts script instead of the regular one. That might work, maybe? But I've no time to test this today.
Ijtzoi  [developer] 15 May 10, 2017 @ 2:48pm 
We designed the game to look for any scripts named PostLoadInit.lua after starting a new or saved game and for CompanionsScript.lua to accept tables of companion types defined in other .lua files; in theory, a lua file dropped in any folder in Resources named PostLoadInit.lua with the following:
if( global.quests.misc.companiontypes == nil ) then global.quests.misc.companiontypes = {} end global.quests.misc.companiontypes.punic = {}; global.quests.misc.companiontypes.punic[3]={pop=2, typename="latinSpearmen", start=10, level=5}; global.quests.misc.companiontypes.punic[2]={pop=4, typename="latinHeavyHoplite", start=15, level=3}; global.quests.misc.companiontypes.punic[1]={pop=8, typename="latinPrincipes", start=24, level=3};
would add "punic" to the table without needing to override the existing CompanionsScript.lua.
Ca_Putt 10 May 10, 2017 @ 2:51pm 
That's actually what happend in my testruns of the ClassicalWorld mod. So it was rather recent, it may however be related to conflicting mods, on my part tho that would also affect the vanilla factions which it did not.


Well yes that is the Problem with all those changes.
Something like that seems to be the only logical way out. As it's an objective it should not be to difficult to achieve. I initially thought it would take diverging and redublicating a rather lengthy chain of scripts but the more I look into it the less this assesment holds true.

edit: Ha, Ijtzoi beating me to it again :DD I should stop brushing my teeth mid post.
Last edited by Ca_Putt; May 10, 2017 @ 2:53pm
Fristi61 10 May 11, 2017 @ 12:36am 
Originally posted by Ijtzoi:
We designed the game to look for any scripts named PostLoadInit.lua after starting a new or saved game and for CompanionsScript.lua to accept tables of companion types defined in other .lua files; in theory, a lua file dropped in any folder in Resources named PostLoadInit.lua with the following:
if( global.quests.misc.companiontypes == nil ) then global.quests.misc.companiontypes = {} end global.quests.misc.companiontypes.punic = {}; global.quests.misc.companiontypes.punic[3]={pop=2, typename="latinSpearmen", start=10, level=5}; global.quests.misc.companiontypes.punic[2]={pop=4, typename="latinHeavyHoplite", start=15, level=3}; global.quests.misc.companiontypes.punic[1]={pop=8, typename="latinPrincipes", start=24, level=3};
would add "punic" to the table without needing to override the existing CompanionsScript.lua.

I tried this method and am greeted with the following upon loading the scenario's faction selection screen
Hegemony III 3.3.4 rev.42451 x64 Welcome to the debug console. For a list of commands, type 'commands()' in the field below, or use 'commands("filter")' to show only the commands you're interested in. Press F2 to close this window. Loading game: Resources/Scenarios/Iberia300BC/Iberia300BC.xml [string "Resources\Scripts\PostLoadInit.lua"]:1: attempt to index field 'quests' (a nil value) Stack trace: [string "Resources\Scripts\PostLoadInit.lua"]:1 Help us debug this script! Type 'clipboard(history())' to copy everything above into your clipboard, so you can send it to a dev! [string "Resources\Scripts\PostLoadInit.lua"]:1: attempt to index field 'quests' (a nil value) Stack trace: [string "Resources\Scripts\PostLoadInit.lua"]:1 Help us debug this script! Type 'clipboard(history())' to copy everything above into your clipboard, so you can send it to a dev! > clipboard(history())

Then after selecting the faction and pressing start, it gets stuck on "configuring AI" and says the following in the console:

...ony III/resources/scripts/scenarios/startsandbox.lua:67: attempt to index field 'quests' (a nil value) Stack trace: ...ony III/resources/scripts/scenarios/startsandbox.lua:67 (tail call):-1 [string "startscenario"]:1 Help us debug this script! Type 'clipboard(history())' to copy everything above into your clipboard, so you can send it to a dev! > clipboard(history())

Game remains stuck on "configuring AI" and has to be closed from Windows.

The PostLoadInit.lua file looks like the following:

if( global.quests.misc.companiontypes == nil ) then global.quests.misc.companiontypes = {} end global.quests.misc.companiontypes.iberian = {}; global.quests.misc.companiontypes.iberian[3]={pop=2, typename="iberianSkirmishers", start=10, level=5}; global.quests.misc.companiontypes.iberian[2]={pop=4, typename="iberianHeavyScutarii", start=15, level=3}; global.quests.misc.companiontypes.iberian[1]={pop=8, typename="iberianHeavyCavalry", start=24, level=3}; global.quests.misc.companiontypes.celtiberian = {}; global.quests.misc.companiontypes.celtiberian[3]={pop=2, typename="celtiberianLightSwordsmen", start=10, level=5}; global.quests.misc.companiontypes.celtiberian[2]={pop=4, typename="celtiberianNobleSwordsmen", start=15, level=3}; global.quests.misc.companiontypes.celtiberian[1]={pop=8, typename="celtiberianNobleCavalry", start=24, level=3}; global.quests.misc.companiontypes.tartessian = {}; global.quests.misc.companiontypes.tartessian[3]={pop=2, typename="tartessianSpearmen", start=10, level=5}; global.quests.misc.companiontypes.tartessian[2]={pop=4, typename="tartessianHeavyScutarii", start=15, level=3}; global.quests.misc.companiontypes.tartessian[1]={pop=8, typename="tartessianNobleCavalry", start=24, level=3}; global.quests.misc.companiontypes.phoenician = {}; global.quests.misc.companiontypes.phoenician[3]={pop=2, typename="phoenicianSpearmen", start=10, level=5}; global.quests.misc.companiontypes.phoenician[2]={pop=4, typename="phoenicianHeavyHoplite", start=15, level=3}; global.quests.misc.companiontypes.phoenician[1]={pop=8, typename="phoenicianNobleCavalry", start=24, level=3}; global.quests.misc.companiontypes.greekiberia = {}; global.quests.misc.companiontypes.greekiberia[3]={pop=2, typename="greekiberiaLightHoplite", start=10, level=5}; global.quests.misc.companiontypes.greekiberia[2]={pop=4, typename="greekiberiaHeavyHoplite", start=15, level=3}; global.quests.misc.companiontypes.greekiberia[1]={pop=8, typename="greekiberiaPhalangites", start=24, level=3}; global.quests.misc.companiontypes.latiniberia = {}; global.quests.misc.companiontypes.latiniberia[3]={pop=2, typename="latiniberiaHastati", start=10, level=5}; global.quests.misc.companiontypes.latiniberia[2]={pop=4, typename="latiniberiaPrincipes", start=15, level=3}; global.quests.misc.companiontypes.latiniberia[1]={pop=8, typename="latiniberiaTriarii", start=24, level=3}; global.quests.misc.companiontypes.aquitanian = {}; global.quests.misc.companiontypes.aquitanian[3]={pop=2, typename="aquitanianLightSwordsmen", start=10, level=5}; global.quests.misc.companiontypes.aquitanian[2]={pop=4, typename="aquitanianHeavyScutarii", start=15, level=3}; global.quests.misc.companiontypes.aquitanian[1]={pop=8, typename="aquitanianNobleCavalry", start=24, level=3}; global.quests.misc.companiontypes.lusitanian = {}; global.quests.misc.companiontypes.lusitanian[3]={pop=2, typename="lusitanianSkirmishers", start=10, level=5}; global.quests.misc.companiontypes.lusitanian[2]={pop=4, typename="lusitanianScutarii", start=15, level=3}; global.quests.misc.companiontypes.lusitanian[1]={pop=8, typename="lusitanianHeavyScutarii", start=24, level=3}; global.quests.misc.companiontypes.berber = {}; global.quests.misc.companiontypes.berber[3]={pop=2, typename="berberSpearmen", start=10, level=5}; global.quests.misc.companiontypes.berber[2]={pop=4, typename="berberLightSwordsmen", start=15, level=3}; global.quests.misc.companiontypes.berber[1]={pop=8, typename="berberNobleCavalry", start=24, level=3};

What am I missing?


EDIT: And what about different names for the companions brigade?
CompanionScripts has this for instance:

if (getplayerfaction():getfactiongroup() == "latin") then sBrigadeName = sBrigadeName .. "Roman"; elseif (getplayerfaction():getfactiongroup() == "greek") then sBrigadeName = sBrigadeName .. "Greek"; end;

In my previous set-up where I had my own CompanionScripts I just added to this directly, but is there any way to do this through a PostLoadInit.lua ?
Last edited by Fristi61; May 11, 2017 @ 12:46am
Ijtzoi  [developer] 15 May 11, 2017 @ 11:16am 
Originally posted by Fristi61:
I tried this method and am greeted with the following upon loading the scenario's faction selection screen

Then after selecting the faction and pressing start, it gets stuck on "configuring AI" and says the following in the console:

Game remains stuck on "configuring AI" and has to be closed from Windows.

What am I missing?
Sorry, I forgot an aspect of the order things are ran after the game is set up, namely that global.quests isn't initialized at the time of PostLoadInit.lua. You'll need to add
if( global.quests == nil ) then global.quests = { misc={} } end
to the first line and it should work then.

Originally posted by Fristi61:
EDIT: And what about different names for the companions brigade?
CompanionScripts has this for instance:

In my previous set-up where I had my own CompanionScripts I just added to this directly, but is there any way to do this through a PostLoadInit.lua ?
Not as CompanionScripts currently works, unfortunately. I have reworked CompanionScripts.lua in the next patch, however, so when that comes out,
if( global.quests == nil ) then global.quests = { misc={} } end if (global.quests.misc.companionname == nil) then global.quests.misc.companionname = {} end; global.quests.misc.companionname.latiniberia = "Roman"; global.quests.misc.companionname.greekiberia = "Greek";
will do it.
Fristi61 10 May 11, 2017 @ 12:45pm 
Ah, wonderful! Thank you so much!
Fristi61 10 May 12, 2017 @ 3:39am 
Actually I cheered too soon, I hadn't tested it until now.

With the extra line added, the scenario loads fine but there are no companions in my starting city and I am constantly getting bombarded by quest-related errors in the console.

[string "Hegemony.Companions"]:5: attempt to call field 'CreateCompanionSubtask' (a nil value) Stack trace: [string "Hegemony.Companions"]:5 Help us debug this script! Type 'clipboard(history())' to copy everything above into your clipboard, so you can send it to a dev! ...ony III/resources/scripts/scenarios/startsandbox.lua:129: attempt to call field 'GetCompanionTable' (a nil value) Stack trace: ...ony III/resources/scripts/scenarios/startsandbox.lua:129 (tail call):-1 [string "startscenario"]:1 Help us debug this script! Type 'clipboard(history())' to copy everything above into your clipboard, so you can send it to a dev! [string "callbackdata"]:1: attempt to index field 'callbackdata' (a nil value) Stack trace: [string "callbackdata"]:1 Help us debug this script! Type 'clipboard(history())' to copy everything above into your clipboard, so you can send it to a dev! ...\common\Hegemony III/Resources/Scripts/Questdata.lua:39: attempt to index field 'logs' (a nil value) Stack trace: ...\common\Hegemony III/Resources/Scripts/Questdata.lua:39 [string "resources/objectives/prelude/EventCityRazed..."]:5 Help us debug this script! Type 'clipboard(history())' to copy everything above into your clipboard, so you can send it to a dev! ...\common\Hegemony III/Resources/Scripts/Questdata.lua:173: attempt to index field 'reserved' (a nil value) Stack trace: ...\common\Hegemony III/Resources/Scripts/Questdata.lua:173 [string "resources/objectives/conquest/UpdateFaction..."]:27 Help us debug this script! Type 'clipboard(history())' to copy everything above into your clipboard, so you can send it to a dev! ...\common\Hegemony III/Resources/Scripts/Questdata.lua:39: attempt to index field 'logs' (a nil value) Stack trace: ...\common\Hegemony III/Resources/Scripts/Questdata.lua:39 [string "resources/objectives/prelude/EventCityRazed..."]:5 Help us debug this script! Type 'clipboard(history())' to copy everything above into your clipboard, so you can send it to a dev! ...\common\Hegemony III/Resources/Scripts/Questdata.lua:39: attempt to index field 'logs' (a nil value) Stack trace: ...\common\Hegemony III/Resources/Scripts/Questdata.lua:39 [string "resources/objectives/carthaginianiberia/Sta..."]:6 [string "resources/objectives/carthaginianiberia/Sta..."]:64 Help us debug this script! Type 'clipboard(history())' to copy everything above into your clipboard, so you can send it to a dev! ...\common\Hegemony III/Resources/Scripts/Questdata.lua:39: attempt to index field 'logs' (a nil value) Stack trace: ...\common\Hegemony III/Resources/Scripts/Questdata.lua:39 [string "resources/objectives/carthaginianiberia/Sta..."]:6 [string "resources/objectives/carthaginianiberia/Sta..."]:64 Help us debug this script! Type 'clipboard(history())' to copy everything above into your clipboard, so you can send it to a dev! ...\common\Hegemony III/Resources/Scripts/Questdata.lua:87: attempt to index field 'targets' (a nil value) Stack trace: ...\common\Hegemony III/Resources/Scripts/Questdata.lua:87 [string "resources/objectives/rebellion/EventPlayerU..."]:3 Help us debug this script! Type 'clipboard(history())' to copy everything above into your clipboard, so you can send it to a dev! ...\common\Hegemony III/Resources/Scripts/Questdata.lua:39: attempt to index field 'logs' (a nil value) Stack trace: ...\common\Hegemony III/Resources/Scripts/Questdata.lua:39 [string "resources/objectives/prelude/EventCityRazed..."]:5 Help us debug this script! Type 'clipboard(history())' to copy everything above into your clipboard, so you can send it to a dev! ...\common\Hegemony III/Resources/Scripts/Questdata.lua:173: attempt to index field 'reserved' (a nil value) Stack trace: ...\common\Hegemony III/Resources/Scripts/Questdata.lua:173 [string "resources/objectives/conquest/UpdateFaction..."]:27 Help us debug this script! Type 'clipboard(history())' to copy everything above into your clipboard, so you can send it to a dev!

PostLoadInit.lua currently looks like this:

if( global.quests == nil ) then global.quests = { misc={} } end if( global.quests.misc.companiontypes == nil ) then global.quests.misc.companiontypes = {} end global.quests.misc.companiontypes.iberian = {}; global.quests.misc.companiontypes.iberian[3]={pop=2, typename="iberianSkirmishers", start=10, level=5}; global.quests.misc.companiontypes.iberian[2]={pop=4, typename="iberianHeavyScutarii", start=15, level=3}; global.quests.misc.companiontypes.iberian[1]={pop=8, typename="iberianHeavyCavalry", start=24, level=3}; global.quests.misc.companiontypes.celtiberian = {}; global.quests.misc.companiontypes.celtiberian[3]={pop=2, typename="celtiberianLightSwordsmen", start=10, level=5}; global.quests.misc.companiontypes.celtiberian[2]={pop=4, typename="celtiberianNobleSwordsmen", start=15, level=3}; global.quests.misc.companiontypes.celtiberian[1]={pop=8, typename="celtiberianNobleCavalry", start=24, level=3}; global.quests.misc.companiontypes.tartessian = {}; global.quests.misc.companiontypes.tartessian[3]={pop=2, typename="tartessianSpearmen", start=10, level=5}; global.quests.misc.companiontypes.tartessian[2]={pop=4, typename="tartessianHeavyScutarii", start=15, level=3}; global.quests.misc.companiontypes.tartessian[1]={pop=8, typename="tartessianNobleCavalry", start=24, level=3}; global.quests.misc.companiontypes.phoenician = {}; global.quests.misc.companiontypes.phoenician[3]={pop=2, typename="phoenicianSpearmen", start=10, level=5}; global.quests.misc.companiontypes.phoenician[2]={pop=4, typename="phoenicianHeavyHoplite", start=15, level=3}; global.quests.misc.companiontypes.phoenician[1]={pop=8, typename="phoenicianNobleCavalry", start=24, level=3}; global.quests.misc.companiontypes.greekiberia = {}; global.quests.misc.companiontypes.greekiberia[3]={pop=2, typename="greekiberiaLightHoplite", start=10, level=5}; global.quests.misc.companiontypes.greekiberia[2]={pop=4, typename="greekiberiaHeavyHoplite", start=15, level=3}; global.quests.misc.companiontypes.greekiberia[1]={pop=8, typename="greekiberiaPhalangites", start=24, level=3}; global.quests.misc.companiontypes.latiniberia = {}; global.quests.misc.companiontypes.latiniberia[3]={pop=2, typename="latiniberiaHastati", start=10, level=5}; global.quests.misc.companiontypes.latiniberia[2]={pop=4, typename="latiniberiaPrincipes", start=15, level=3}; global.quests.misc.companiontypes.latiniberia[1]={pop=8, typename="latiniberiaTriarii", start=24, level=3}; global.quests.misc.companiontypes.aquitanian = {}; global.quests.misc.companiontypes.aquitanian[3]={pop=2, typename="aquitanianLightSwordsmen", start=10, level=5}; global.quests.misc.companiontypes.aquitanian[2]={pop=4, typename="aquitanianHeavyScutarii", start=15, level=3}; global.quests.misc.companiontypes.aquitanian[1]={pop=8, typename="aquitanianNobleCavalry", start=24, level=3}; global.quests.misc.companiontypes.lusitanian = {}; global.quests.misc.companiontypes.lusitanian[3]={pop=2, typename="lusitanianSkirmishers", start=10, level=5}; global.quests.misc.companiontypes.lusitanian[2]={pop=4, typename="lusitanianScutarii", start=15, level=3}; global.quests.misc.companiontypes.lusitanian[1]={pop=8, typename="lusitanianHeavyScutarii", start=24, level=3}; global.quests.misc.companiontypes.berber = {}; global.quests.misc.companiontypes.berber[3]={pop=2, typename="berberSpearmen", start=10, level=5}; global.quests.misc.companiontypes.berber[2]={pop=4, typename="berberLightSwordsmen", start=15, level=3}; global.quests.misc.companiontypes.berber[1]={pop=8, typename="berberNobleCavalry", start=24, level=3};
Wenchbane May 12, 2017 @ 7:22am 
Excellent, I guess I'll keep this in mind for my mod too, I suppose I'll knock this thread when it comes to setting up custom props and possible retextures.

On a side note, will there be a dev kit or dedicated mod kit released with tools we can use to set our own models and textures?
Last edited by Wenchbane; May 12, 2017 @ 7:26am
Ijtzoi  [developer] 15 May 12, 2017 @ 10:39am 
Hm, it looks like you're overriding the default Resources/Scripts/PostLoadInit.lua, which I should have mentioned needs to remain intact, so you can't have your file be in the same folder with the same filename. Try moving your file to another folder, or adding a prefix to the name Resources/Scripts/IberiaPostLoadInit.lua.

On a side note, there is a plugin for 3ds max available at https://pub.longbowgames.com/hegemony3/ModellingTools.zip that should allow you to export 3ds max models, and no specialized texture editing tools should be necessary for texture editing.
Fristi61 10 May 12, 2017 @ 10:59am 
Ah, I see. It works now, even without the
if( global.quests == nil ) then global.quests = { misc={} } end
line. Thanks for all the help!
Wenchbane May 12, 2017 @ 6:23pm 
Originally posted by Ijtzoi:
On a side note, there is a plugin for 3ds max available at https://pub.longbowgames.com/hegemony3/ModellingTools.zip that should allow you to export 3ds max models, and no specialized texture editing tools should be necessary for texture editing.

Thanks for the response ljtzoi! I'l look into that when I get there!
< >
Showing 16-28 of 28 comments
Per page: 1530 50