Как счачать демо Эмпайра со Стима?  
   Скачать ДЕМО-версию со Стима - 
http://store.steampowered.com/app/10620/    Скачать клиентскую программу Стима (с помощью неё осуществляеться загрузка)- 
http://cdn.steampowered.com/download/SteamInstall.msi     Мануал о Стиме на русском - 
http://supportwiki.steampowered.com/ru/Main_Page     Скачать торентом - [warez]   
 Информация от камрада Лис из Тарговиска:   
Цитата: Что нужно сделать, чтобы поиграть в демо-версию Эмпайр.  
  
 1. Качаете, устанавливаете клиент Стима http://storefront.steampowered.com/download/SteamInstall.msi  
 2. Обновляете, заводите учетную запись. Все интуитивно понятно, происходит в полуавтоматическом режиме ("далее", "далее", "окей").  
 3. Если ажиотаж уже спал, то вы можете просто найти в разделе Демо необходимый вам Эмпайр и нажать "установить". Далее все опять же произойдет "само".  
  
 Если же все еще наблюдаются проблемы, то:  
 Ссылка на торрент: [warez] 
 У меня легко скачалась при помощи клиента, который вы можете найти здесь - [warez]  
 Количество раздающих огромное, вы легко скачаете даже без рейтинга (как это сделал я на скорости в 500кб/с.  
  
 Далее размещаете скачанное в C:\Program Files\Steam\steamapps\common\empire total war demo\  
 (Недостающие папки необходимо создать самому)  
  
 Затем повторяете пункт 2. Различия в том, что программа Стим автоматически распознает скачанное вами и вы сможете запустить игру.  
  
 Примечание: товарищи, не пугайтесь долгих загрузок стима, долгого распознавания, долгого запуска. Даже на самых мощных системах наблюдается садистски медленная работа. Вооружитесь терпением!
     Подробнее о том как закачать со Стима - [warez]    
Добавлено:  [more=Начало моддинга в Empire: Total War] 
  
 Статья от [b]Лиса из Тарговиска    Распаковщик от Alpaca и Sinople:  Распаковать удалось с легкостью, на скрине трапперы сражаются на стороне британцев (также известных, как лоялисты) :  
  
   Ссылка на распаковщик  Открывать файл архиватором (
Лис: у меня винрар 3.5, открыл без труда)  
Пользоваться:  
1.Перенести распаковщик в data папку, запустить .bat файл.  
2. Все распакованное будет в папке unpacked 
 *Требуется 
Python  (
Лис: библиотека языка, можно взять 
здесь )   
 Провел тест на работоспособность. 
 Необходимо:  
1. Установить 
Python. Ссылка выше.  
2. Перенести файлы распаковщика по адресу (у меня) 
C:\Program Files\Steam\steamapps\common\empire total war demo\data  3. Открыть файл emp_unpacker.py, кликнув на него правой кнопкой мыши и выбрав Edit with IDLE. 
 Откроется два окна. 
Python Shell не трогайте. Из второго окна стираете все, заменив на: 
 [spoiler]
Цитата: 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 = [] 
   self.numFiles = 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.path,"rb") 
   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)
[/spoiler]  
4. Сохраняете, запускаете бат-файл 
emp_unpacker.py -u all.bat    После распаковки не забудьте переименовать 
demo1.pack в 
demo1.pack_backup, затем перенести файлы в корневую директорию, здесь вы уже сможете их модифицировать.    
Небольшие видоизменения игры:    Пехота стреляет тремя рядами:    
   Найдите юнита, который вы хотите изменить  
Цитата: <unit unit_category="infantry" num_soldiers="80" script_name="britain_euro_line_infantry_01"> 
 <unit_type type="euro_line_infantry_britain"/> 
 <position x="-108.22" y="501.29"/> 
 <orientation radians="2.66"/> 
 <width metres="29.58"/> 
 <unit_capabilities> 
 <firing_drill>fire_volley</firing_drill> 
  Измените на:  
Цитата: <unit unit_category="infantry" num_soldiers="80" script_name="britain_euro_line_infantry_01"> 
 <unit_type type="euro_line_infantry_britain"/> 
 <position x="-108.22" y="501.29"/> 
 <orientation radians="2.66"/> 
 <width metres="29.58"/> 
 <unit_capabilities> 
 <firing_drill>rank_fire</firing_drill> 
  У вас не хватает двух букв, так как 
rank_fire короче, чем 
fire_volley. Рекомендуют добавить две буквы к имени генерала. (
Лис: как это сделать вы поймете далее)    
Изменить количество солдат в отряде:  Найти:  
Цитата: <unit unit_category="infantry" num_soldiers="45" script_name="britain_euro_grenadiers_bearskin">
  и заменить на  
Цитата: <unit unit_category="infantry" num_soldiers="145" script_name="britain_euro_grenadiers_bearskin"> 
    Затем найти:  
Цитата: <general> 
 <name>William Howe</name> 
  и заменить на  
Цитата: <general> 
 <name>William How</name> 
    Опыт отряда:  Найти:  
Цитата: <unit unit_category="infantry" num_soldiers="80" script_name="britain_euro_line_infantry_01"> 
 <unit_type type="euro_line_infantry_britain"/> 
 <position x="-108.22" y="501.29"/> 
 <orientation radians="2.66"/> 
 <width metres="29.58"/> 
 <unit_capabilities> 
 <firing_drill>rank_fire</firing_drill> 
 <special_ability>square_formation</special_ability> 
 <bayonet_type>ring_bayonets</bayonet_type> 
 </unit_capabilities> 
 <unit_experience level="0"/> 
    Ноль изменить на 
3. Никаких иных изменений не требуется.    
Добавление кораблей в игру:  Во втором посте показывают добавление кораблей в игру. Делается это в файле 
battle_of_lagos.xml  Мануала нет, видимо это делается элементарно копи-пастом.  
Цитата: <faction>britain</faction> 
 <deployment_area> 
 <centre x="0.0" y="0.0"/> 
 <width metres="2000.0"/> 
 <height metres="2000.0"/> 
 <orientation radians="0"/> 
 </deployment_area> 
 <camera_start_position x="-122" y="33.2" z="566.6" /> 
 <camera_target_position x="-156" y="-31.7" z="384.4" />
    Упрощённый вариант распаковки архивов pack    1. Скачиваем программу 
Python - 
Скачать  2. Скачиваем архив 
распаковщика - 
Скачать  3. Распаковываем архив распаковщика, и копируем из него файлы 
emp_unpacker.py и 
emp_unpacker.py -u all.bat в папку 
C:\Program Files\Steam\steamapps\common\empire total war demo\data  4. Запускаем файл 
emp_unpacker.py -u all.bat, ждём распаковки. Распакованные файлы находяться в папке 
unpacked    Как распаковать другие файлы с расширением .pack?    1. Повторяем 
1-й, 
2-й и 
3-й пункт инструкции 
Упрощённый вариант распаковки архивов pack  2. Открываем файл 
emp_unpacker.py с помощью Блокнота. Ищём 
demo1. Заменяем эту строку на 
demo2, 
demo3 или другой пак, который вам надо распаковать. Запускаем 
emp_unpacker.py -u all.bat, ждём распаковки. 
 Небольшой нюанс - перед тем как распаковывать, если вы уже распаковали 
demo1.pack, то папку 
unpacked переименуйте например в 
unpacked1    Со всеми вопросами по этому посту сюда: Моддинг и Тюнинг для ETW, Делимся опытом, туторами, советами    Другиии инструкции по моддингу Empire: Total War: Пособие для моддера ETW, Инструкции для начинающего моддера[/more][/b]