Открывать файл архиватором (Лис: у меня винрар 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 не трогайте. Из второго окна стираете все, заменив на:
Спойлер (раскрыть)
[quote]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 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)
# 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 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()
После распаковки не забудьте переименовать demo1.pack в demo1.pack_backup, затем перенести файлы в корневую директорию, здесь вы уже сможете их модифицировать.
Найдите юнита, который вы хотите изменить
[quote] fire_volley [/quote]
Измените на:
[quote] rank_fire [/quote]
У вас не хватает двух букв, так как rank_fire короче, чем fire_volley. Рекомендуют добавить две буквы к имени генерала. (Лис: как это сделать вы поймете далее)
Изменить количество солдат в отряде:
Найти:
[quote][/quote]
и заменить на
[quote] [/quote]
Затем найти:
[quote] William Howe [/quote]
и заменить на
[quote] William How [/quote]
Ноль изменить на 3. Никаких иных изменений не требуется.
Добавление кораблей в игру:
Для просмотра ссылки Зарегистрируйтесь показывают добавление кораблей в игру. Делается это в файле battle_of_lagos.xml
Мануала нет, видимо это делается элементарно копи-пастом.
[quote]britain
Прочитал всю последнюю информацию и хочу сказать, что вывод следующий: СА таки пошла по пути упрощения моддинга и это очень сильно радует. Судя по всему моддинг Эмпайра будет еще проще, чем в РТВ. Кроме того разработчики обещают предоставить инструментарий (на сайте даже есть раздел Download-Tools). Поэтому ситуация с моддингом должна улучшится.
Если раньше креативщикам приходилось тратить уйму времени на изучение моддинга (особенно в МТВ2), то сейчас можно больше времени посвятить на разработку контента мода, чем на его внедрение в игру.
Некоторые группы начинающих мододелов недавно подняли панику, что всем нужно объединяться в большие команды и работать вместе, иначе ничего путного не выйдет. Теперь, думаю, эту панику можно прекращать.
Я почитал, что наделали с модингом уже на ТВЦ. Скачал Питон ( Для просмотра ссылки Зарегистрируйтесь ), установил его. Скачал архивчик Для просмотра ссылки Зарегистрируйтесь потому что через ручное написание скрипта у меня ничего не получилось. Содержимое архива впапку C:\Program Files\Steam\SteamApps\common\empire total war demo\data\ и запустил файл unpack.bat. После распаковки переименовал demo1.pack в demo1.pack.backup в папке C:\Program Files\Steam\SteamApps\common\empire total war demo\data\Scenarios\ открыл блокнотом файл battle_of_lagos.xml там описание кораблей таким образом:
Продолжим!
Я сам не придумываю, смотрю на ТВЦ. Итак, поиграем за американцев! Уберём начальный пролёт камеры над полем боя (меня это сразу начало раздражать), включим возможность разворачивать войска как все привыкли делать.
1. распаковать игру, как написано в предыдущем посте;
2. заходим сюда C:\Program Files\Steam\SteamApps\common\empire total war demo\data\Scenarios\ (не забудьте сделать резервную копию).
3. в файле battle_of_brandywine.xml начиная с 6-й строки сверху заменяем на
<deployment_area>
<centre x="0" y="400"/>
<width metres="1000.0"/>
<height metres="500.0"/>
<orientation radians="-0.1047"/>
</deployment_area>
4. тоже самое для американцев 221-я строка заменяем на
<deployment_area>
<centre x="0" y="-200"/>
<width metres="1000.0"/>
<height metres="600.0"/>
<orientation radians="-0.1047"/>
</deployment_area>
5. находим и удаляем все строчки, содержащие <non_playable></non_playable> и <skip_deployment></skip_deployment>
6. в файле brandywine.battle_script после строк
-- FRIENDLY UNIT CONTROLLERS
friendly_unit = {};
Прочитал всю последнюю информацию и хочу сказать, что вывод следующий: СА таки пошла по пути упрощения моддинга и это очень сильно радует. Судя по всему моддинг Эмпайра будет еще проще, чем в РТВ. Кроме того разработчики обещают предоставить инструментарий (на сайте даже есть раздел Download-Tools). Поэтому ситуация с моддингом должна улучшится.
Ждёмс игры и обещанного тулза.
23.02.2009 - 15:20
Если раньше креативщикам приходилось тратить уйму времени на изучение моддинга (особенно в МТВ2), то сейчас можно больше времени посвятить на разработку контента мода, чем на его внедрение в игру.
Меньше бесполезной возни - это отлично
23.02.2009 - 15:20
Некоторые группы начинающих мододелов недавно подняли панику, что всем нужно объединяться в большие команды и работать вместе, иначе ничего путного не выйдет. Теперь, думаю, эту панику можно прекращать.
Насколько мне помнится там разговор вообщемто касался непосредствено 3D модделинга (это его народ боится как огня ), а его, думаю, никакие tools не отменят.
Насколько мне помнится там разговор вообщемто касался непосредствено 3D модделинга (это его народ боится как огня ), а его, думаю, никакие tools не отменят.
Отменить то не отменят, но вот упростить можно, уж поверь!