3 New Notifications

New Badge Earned
Get 1K upvotes on your post
Life choices of my cat
Earned 210

Drag Images here or Browse from your computer.

Trending Posts
Sorted by Newest First
H
Haktar 23.12.19 09:27 pm

Modding and Tuning Empire: Total War (Empire: Total War)

Start modding in Empire: Total War

Article from Fox from Targowisko

Unpacking from Alpaca and Sinople:
To unpack managed with ease in the screenshot trappers are fighting on the side of the British (also known as loyalists) :
http://radikal.ru/F/s39.radikal.ru/i084/0902/1a/7a35a7a33451.jpg.html
Link to unpacker - http://imperialtw.narod.ru/moding/Emp_unpacker.zip
To open a file archiver (Lis: I vinrar 3.5, opened easily)
To use:
1.To move the unpacker in the data folder, start the .bat file.
2. Everything is unpacked in the folder will be unpacked
*Requires Python (Lis: library language, you can take - http://www.python.org/ftp/python/3.0.1/python-3.0.1.msi

Tested for performance.
Should:
1. To Install Python. The link above.
2. To transfer files unpacker at (I) C:\Program Files\Steam\steamapps\common\empire total war demo\data
3. To open a file emp_unpacker.py by clicking on it right mouse button and selecting Edit with IDLE.
Two Windows will be opened. Python Shell do not touch. From the second window, erase everything and replacing it with:

import struct, os, sys, re

# For easy file reading and writing interactions
def readLong(fhandle):
return struct.unpack('l', fhandle.read(4))[0]
def readShort(fhandle):
return struct.unpack('h', fhandle.read(2))[0]
def readByte(fhandle):
return struct.unpack('B', fhandle.read(1))[0]
def readBool(fhandle):
val = fhandle.read(1)
if val == 00:
return False
else:
return True
   
def writeLong(fhandle, value):
fhandle.write(struct.pack('l',value))
def writeShort(fhandle, value):
fhandle.write(struct.pack('h',value))
def writeByte(fhandle, value):
fhandle.write(struct.pack('B',value))
def writeBool(fhandle, value):
if value:
fhandle.write('\x01')
else:
fhandle.write('\x00')
       
def removeDir(path):
# remove all files in a folder
if not (os.path.isdir(path)):
return True

files = os.listdir(path)

for x in files:
fullpath=os.path.join(path, x)
if os.path.isfile(fullpath):
os.remove(fullpath)
elif os.path.isdir(fullpath):
removeDir(fullpath)
os.rmdir(path)

def parseArgs(args):
pack = packFile('demo1.pack','unpacked')

# create argument tree
argtree = []
for arg in args[1:]:
if arg.startswith('-'):
argtree.append([arg,[]])
else:
argtree[-1][1].append(arg)

# wander the tree, top level always has hyphenated arguments
for arg in argtree:
# case 1: list
if arg[0] == '-l':
if len(arg[1]) > 0:
for file in arg[1]:
pack.printEyeCandy(str(file))
else:
pack.printEyeCandy('./list.txt')
# case 2: unpack
elif arg[0] == '-u':
for file in arg[1]:
if file == 'all':
for i in range(len(pack.files)):
pack.exportFile(i)
else:
pack.exportFile(file)
# case 3: unpack (regexp)
elif arg[0] == '-ur':
for file in arg[1]:
pack.exportFile(file, True)
# case 4: change pack
elif arg[0] == '-p':
for file in arg[1]:
print()
print('Changing pack to'+file)
print()
pack.newPack(file,pack.outputdir)
# case 5: change output directory
elif arg[0] == '-o':
for file in arg[1]:
print()
print('Changing output directory to'+file)
print()
pack.changeOutputDir(file)


class packFile:
def __init__(self, path='', outputdir=None):
self.handle = None
if outputdir:
removeDir(outputdir)
self.newPack(path,outputdir)

def newPack(self,path,outputdir=None):
# safely open new pack
if self.handle:
self.handle.close()
self.handle = None
self.files = []
selfnumFiles = 0
self.arr = 0
self.outputdir = outputdir
self.defLength = 0
self.path = path
self.readPackDefinition()

def changeOutputDir(self,path):
self.outputdir = path
if self.outputdir != None:
removeDir(self.outputdir)

def packOpen(self):
if not self.handle:
self.handle = open(self.pathrb)
return self.handle
  
def packClose(self):
self.handle.close()
 
def readPackDefinition(self):
pack = self.packOpen()
 
# skip empty bytes and stuff at the start
pack.seek(16)
self.defLength += 16

# read number of files
self.numFiles = readLong(pack)
self.defLength += 4
 
# read ??
self.arr = readLong(pack)
self.defLength += 4
 
# store the offset of a certain file
offset = 0
# read file metadata
for i in range(self.numFiles):
 
# read length of file
length = readLong(pack)
self.defLength += 4
  
# read file name
char = ''
filename = ''
while char != b'\x00':
char = pack.read(1)
if (char != b'\x00'):
filename += char.decode()
self.defLength += 1
self.files.append((filename,length,offset))
offset += length
  
def exportFile(self, arg, regexp = False):
try:
arg = int(arg)
# option a: arg is an index
list = [self.files[arg]]
except:
# option b: arg is a string
if regexp:
list = filter(lambda x: re.search(str(arg),x[0]),self.files)
else:
list = filter(lambda x: arg in x[0],self.files)
for (path,length,offset) in list:
print('Exporting '+path+', length: '+str(length)+', at offset: '+str(offset))
  
# create output directory
dir = os.path.split(os.path.join(self.outputdir,path))[0]
if not os.path.isdir(dir):
os.makedirs(dir)
output = open(os.path.join(self.outputdir,path),'wb')
  
# open pack and go to offset
pack = self.packOpen()
pack.seek(self.defLength+offset)
# copy content
i = 0
# read MB-sized chunks as long as possible
j = length//(2**20)
while i < j:
output.write(pack.read(2**20))
i+=1
i = 0
j = (length%(2**20))//(2**10)
# read KB-sized chunks
while i < j:
output.write(pack.read(2**10))
i+=1
i = 0
j = length%(2**10)
# read byte-sized chunks
while i < j:
output.write(pack.read(1))
i+=1
output.close()
return True
 
 

def printEyeCandy(self, outfile):
output = open(outfile,'w')
for (path,length,offset) in self.files:
output.write(str(path)+'\r\n')
output.close()
 

# main
parseArgs(sys.argv)
4. Save, run the bat-file emp_unpacker.py -u all.bat

After unpacking, don't forget to rename demo1.pack demo1.pack_backup, then transfer the files to the root directory, here you will be able to modify them.

A slight modification of the game:

Infantry shoots three rows:
http://s49.radikal.ru/i125/0902/a3/7c88c6c90928t.jpg

Find the unit you want to change







fire_volley

Change to:







rank_fire
You do not have two letters, as rank_fire shorter than fire_volley. It is recommended to add two letters to the name of the General. (Fox: how to do it you will understand further)

To change the number of soldiers in the unit:
Find:

and replace


Then find:

William Howe
and replace

William How

The experience of detachment:
Find:






rank_fire
square_formation
ring_bayonets



Zero change in 3. No other changes are required.

Adding ships to the game:
This is done in the file battle_of_lagos.xml
Manual no, apparently it is simple copy and paste.
britain









With all the questions on this post here: Modding and Tuning for ETW, Share experiences, tutorials, tips - http://imperiall.1bb.ru/index.php?showtopic=3802

Drugiye instructions for modding Empire: Total War: a Manual for ETW Modder, Instructions for the novice Modder - http://imperiall.1bb.ru/index.php?showtopic=3805
169 Comments
Sort by:
S
ShamomahS 23.12.19

The Mughal Empire is not a minor faction.

K
Kosta Z 23.12.19

After installing the latest patch stopped PackFileManager to open the file units in the patch.pack . ETWEditor also ceased to open for editing the file units . Maybe someone knows how to solve this problem?

G
Gendalf-golkiper 23.12.19

Yes, after the patch this file will not open.Will have to wait for another unpacker.

K
Kosta Z 23.12.19

A version PackFileManager_1-11b compatible with patch v 1.2.0 which was released: April 29, 2009. http://www.twcenter.net/forums/downloads.p...ile&id=2409

A
Aplic 23.12.19

Tell me how to install DARTMOD (and now it is already version 1.9) or a game that ostanavlivali as NoSteam?

S
ShamomahS 23.12.19

And who-thread tried a new faction to create?

I
Igor iz Irkytska 23.12.19

Hi all! I write the first time actually, so please respond. Play a long time. I think I understand the game perfectly. But modding for the first time puzzled. The impetus was the emergence of the Internet and extraordinary, but not always, a purchase of intelligence. Put Imperial Splendour, DarthMod Empire also tried The Rights of Man, but he did not go: does not start anything. Attention a question: How to treat head AI and it is desirable to better? That was not the crowds in silence enemies and competitors and boats ever landed and imitated signs of life! And if you know write which file is responsible for mozk computer. here. Thanks in advance!

V
Viridovix 23.12.19

To all.
Tell me how to edit the number and type of troops in the cities, as well as the initial buildings in the city. So at the beginning of the main company was immediately available to the city, you need buildings and troops. For the game Medieval 2 was enough to make the appropriate changes to the descr_strat file. How to do it in Empire? Which file is needed to edit? And what program?
PS: you really need to, because they want to restore historical justice.

A
Aplic 23.12.19

Great mod of the eighteenth century, especially for those who play for our =) Even come on Dartmore, permanently fixed and finalized, under all versions, the 5th works on 1.3 and 1.3.1 Restyled fully line, from portraits, figures, icons, flags, to sounds, count. effects, etc., etc. Who need please write in lichku - I will give the link to all and where the author can talk =)

O
Oleg27 23.12.19

Please tell me: how to make howitzer artillery fired more accurately?

R
Roman_Engine 23.12.19

Oleg27
I would have wrote in detail what to do but since ETW I have rigidly XS which inhibits it on the computer is not installed it will tell you what I remember: so download packfilemanager(downloaded from an Internet I can not upload files), make a copy of path.pack and run packfilemanager, open the original path.pack...run the game first and see what caliber of gun you wanted to change for example 24,
now open path.pack and directory of db then nepomnyu look in the directories projeties, gun_type and unit_stats_land, in the name of the gun should be here such words - and 24 cannon, damn can't remember then give me a day and I write in detail maybe file as realties will fill in(learn).

O
Oleg27 23.12.19

Thank you! Fail to fill is not necessary but for more information give populist I would be very grateful!

R
Roman_Engine 23.12.19

Or rather what do you need a gun, that's all the options:
1)battery 4-inch mortars
2)mounted 6-pound
3)Hiking, 24-pound
4)Hiking a 24-pound howitzer
5)infantry squad pakla
6)rocket army

O
Oleg27 23.12.19

Stationary artillery howitzer with a range of 750 caliber do not remember in some States it appears in two versions different Colibri!
How to unpack this program Packfilemanager

R
Roman_Engine 23.12.19

It's guns that shoot vertically with a range of 750 and an accuracy of 45 - that gun you wanted?
So you have a packfilemanager or not?

O
Oleg27 23.12.19

Uuzhe downloaded and launched here in the forum a link was sitting here looking at this file as a sheep at a new ATV and the game after patch 1.3 the accuracy dalnoboy mortars was 15-10 to get well very hard !

R
Roman_Engine 23.12.19

So do things in the right order:start packfilemanager, if there is any window click ok in the top left corner click File then Open, specify the path to the patch file.pack it is located in the folder Empire Total War\data, open it and go to directory patch.pack\db\projectiles_tables\projectiles and look for the row in column Projectile ID between mortar_4_carcass and mortar_8_shrapnel line we need including these two, now look for the column titled Range( is the range) and after it two columns with the name of the second unklown this column, we need to change the number what you have there is(I have 45) to any other in all of the above lines, just don't put too much is enough 200 or 700, and don't forget to copy the patch file.pack all of a sudden my computer or something do not like.
hmmm...here's another option - go to the directory of the patch.pack\db\unit_stats_land_tables\unit_stats_land and look for the line 4_inch_mortar, 4_inch_mortar_indian, 8_inch_mortar, 8_inch_mortar_east and 8_inch_mortar_indian in the Accuracy column also change the number to that which was put in projetiles in all the above lines, close packfilemanager and in the appeared window click ok, then launch the game.
Well, how come?

O
Oleg27 23.12.19

Where you can change the settings of the Russian line infantry?

O
Oleg27 23.12.19

All found there, THANKS!

R
Roman_Engine 23.12.19

And probably you can try to climb in the game engine and to remove the limit from 20 units what type that would be maximum was 20 and for example 40 units, I think the idea is interesting, I'll do it.