Paradox
©
Fisana

Перейти к содержимому


Фотография

Класс № 129 [ Master_TW_DAR ; txt , M2TWK ]


  • Закрытая тема Тема закрыта
Сообщений в теме: 533

#241 Master_TW_DAR

Master_TW_DAR

    Мододел

  • Хорунжий
  • 2 819 сообщений
  • Награды:
Регистрация: 30.сен.12
Слава: 222

Отправлено 06 апреля 2014 - 09:58

SettlementIsLocal

Это условие... никак не могу понять... оно утверждает, что поселение должно принадлежать ИИ или человеку ?


declare_counter Settlement_Level

monitor_event SettlementTurnStart SettlementBuildingExists = wooden_pallisade
set_counter Settlement_Level 1
end_monitor
monitor_event SettlementTurnStart SettlementBuildingExists = wooden_wall
set_counter Settlement_Level 2
end_monitor
monitor_event SettlementTurnStart SettlementBuildingExists = stone_wall
set_counter Settlement_Level 3
end_monitor
monitor_event SettlementTurnStart SettlementBuildingExists = large_stone_wall
set_counter Settlement_Level 4
end_monitor
monitor_event SettlementTurnStart SettlementBuildingExists = huge_stone_wall
set_counter Settlement_Level 5
end_monitor
monitor_event SettlementTurnStart SettlementBuildingExists = motte_and_bailey
set_counter Settlement_Level 6
end_monitor
monitor_event SettlementTurnStart SettlementBuildingExists = wooden_castle
set_counter Settlement_Level 7
end_monitor
monitor_event SettlementTurnStart SettlementBuildingExists = castle
set_counter Settlement_Level 8
end_monitor
monitor_event SettlementTurnStart SettlementBuildingExists = fortress
set_counter Settlement_Level 9
end_monitor
monitor_event SettlementTurnStart SettlementBuildingExists = citadel
set_counter Settlement_Level 10
end_monitor


declare_counter Settlement_Garrison

monitor_event SettlementTurnStart not SettlementIsLocal
if not I_SettlementOwner = noldors
and not I_SettlementOwner = lorien
and not I_SettlementOwner = silvan
and not I_SettlementOwner = dwarves
and not I_SettlementOwner = eriador
and not I_SettlementOwner = dale
and not I_SettlementOwner = rohan
and not I_SettlementOwner = gondor
and not I_SettlementOwner = arnor
and not I_SettlementOwner = avari
and not I_SettlementOwner = vindans
and not I_SettlementOwner = slave
set_counter Settlement_Garrison -1
end_if
if not I_SettlementOwner = mordor
and not I_SettlementOwner = northern
and not I_SettlementOwner = gomm
and not I_SettlementOwner = isengard
and not I_SettlementOwner = dunland
and not I_SettlementOwner = rhun
and not I_SettlementOwner = harad
and not I_SettlementOwner = umbar
and not I_SettlementOwner = arthanor
and not I_SettlementOwner = pharasain
and not I_SettlementOwner = slave
set_counter Settlement_Garrison 1
end_if
end_monitor


declare_counter Wilderland_Siege
monitor_event SettlementTurnStart SettlementIsLocal
if not I_SettlementUnderSiege Wilderland
set_counter Wilderland_Siege 0
end_if
end_monitor

monitor_event SettlementTurnStart SettlementIsLocal
if I_SettlementUnderSiege Wilderland
and I_CompareCounter Wilderland_Siege = 0
if I_CompareCounter Settlement_Level = 1
if I_CompareCounter Settlement_Garrison = 1
create_unit Wilderland, light city unit, num 3, exp 0, arm 0, wep 0
set_counter Wilderland_Siege 1
end_if
end_if
end_if
end_monitor

Хм, генерал перестал таки "выкобениваться") Все реализуется на первый взгляд так, как я и хочу, но не могу уразуметь...

Ситуация такова: этот самый город Wilderland находится под управлением ИИ-фракции Высших эльфов. Осаду тестирую на 1-м ходу, сразу же атакуя поселение стеком Мордора. Заканчиваю свой ход, Высшие эльфы тоже ходят без всяких премудростей, на моем втором ходу в осаждаемом поселении спаунится 3 отряда тестовых юнитов.

Вот и вопрос: почему спаун гарнизона возникает в начале моего нового хода?
Строка monitor_event SettlementTurnStart SettlementIsLocal утверждает, что поселение принадлежит мне, а скрипт срабатывает на начале хода ?
Просто в докудемоне это условие переведено как "Принадлежит ли поселение местной фракции?". Местная фракция - это фракция ИИ или человека ?

После вариации вот таких условий и самого ивента:

declare_counter Wilderland_Siege
monitor_event SettlementTurnEnd not SettlementIsLocal
if not I_SettlementUnderSiege Wilderland
set_counter Wilderland_Siege 0
end_if
end_monitor

monitor_event SettlementTurnEnd not SettlementIsLocal
if I_SettlementUnderSiege Wilderland
and I_CompareCounter Wilderland_Siege = 0
if I_CompareCounter Settlement_Level = 1
if I_CompareCounter Settlement_Garrison = 1
create_unit Wilderland, light city unit, num 3, exp 0, arm 0, wep 0
set_counter Wilderland_Siege 1
end_if
end_if
end_if
end_monitor

Гарнизон создается после моего хода сразу же, и генерал ИИ атакует осаждающих.

declare_counter Wilderland_Siege
monitor_event SettlementTurnEnd SettlementIsLocal
if not I_SettlementUnderSiege Wilderland
set_counter Wilderland_Siege 0
end_if
end_monitor

monitor_event SettlementTurnEnd SettlementIsLocal
if I_SettlementUnderSiege Wilderland
and I_CompareCounter Wilderland_Siege = 0
if I_CompareCounter Settlement_Level = 1
if I_CompareCounter Settlement_Garrison = 1
create_unit Wilderland, light city unit, num 3, exp 0, arm 0, wep 0
set_counter Wilderland_Siege 1
end_if
end_if
end_if
end_monitor

Гарнизон вообще не создается...

declare_counter Wilderland_Siege
monitor_event SettlementTurnStart SettlementIsLocal
if not I_SettlementUnderSiege Wilderland
set_counter Wilderland_Siege 0
end_if
end_monitor

monitor_event SettlementTurnStart SettlementIsLocal
if I_SettlementUnderSiege Wilderland
and I_CompareCounter Wilderland_Siege = 0
if I_CompareCounter Settlement_Level = 1
if I_CompareCounter Settlement_Garrison = 1
create_unit Wilderland, light city unit, num 3, exp 0, arm 0, wep 0
set_counter Wilderland_Siege 1
end_if
end_if
end_if
end_monitor

А тут как раз гарнизон создается, только когда начинается мой второй ход. А теоретически хотелось бы заспаунить отряды после хода Высших эльфов, пока ходят оставшиеся фракции.

declare_counter Wilderland_Siege
monitor_event SettlementTurnStart not SettlementIsLocal
if not I_SettlementUnderSiege Wilderland
set_counter Wilderland_Siege 0
end_if
end_monitor

monitor_event SettlementTurnStart not SettlementIsLocal
if I_SettlementUnderSiege Wilderland
and I_CompareCounter Wilderland_Siege = 0
if I_CompareCounter Settlement_Level = 1
if I_CompareCounter Settlement_Garrison = 1
create_unit Wilderland, light city unit, num 3, exp 0, arm 0, wep 0
set_counter Wilderland_Siege 1
end_if
end_if
end_if
end_monitor

Аналогично предыдущему.

По ходу это самое условие SettlementIsLocal в моем скрипте роли не играет вообще))

Попробую тип ивента с поселения заменить на фракцию. И сперва на начале хода ИИ выполнить проверку условий срабатывания, а на конце этого же хода в зависисмости от этих условий заспаунить нужного типа гарнизон. Ведь такое вполне можно реализовать ?
  • 0

#242 Master_TW_DAR

Master_TW_DAR

    Мододел

  • Хорунжий
  • 2 819 сообщений
  • Награды:
Регистрация: 30.сен.12
Слава: 222

Отправлено 10 апреля 2014 - 13:48

Приветствую Гильдию Мододелов!Продолжаю работать над гарнизонным скриптом к своему моду, на сегодняшний день готова основа для спауна гарнизона в одном поселении.Предыдущие непонятки со срабатыванием гарнизона для себя выяснил (SettlementIsLocal применяется все-таки по отношению к управляемой человеком фракции, что доказало тестирование - при подобной установке скрипт не работает у ИИ-фракции), также устранил цикличность спауна гарнизона (terminate_monitor полезная команда) ну и самое важное - добился-таки желаемого эффекта - срабатывание гарнизона в конце хода ИИ-фракции.В некотором роде скрипт получилось облегчить, т.к. фильтрация светлых и темных фракций смогла заработать при помощи счетчика, и в то же время заменил счетчик, отвечающий за состояние стен в поселении (что есть некоторый аналог уровня поселения - в докудемоне, увы, нет команды, к-рая ставила бы поселение в соответствие от его уровня, поэтому стены, корневые строения, в моем скрипте будут выступать именно ради этой цели ) на отдельные мониторы - опять же во избежание путаницы с счетчиками и if-блоками.Вот сам код скрипта:[codebox]declare_counter Wilderland_Garrisonmonitor_event SettlementTurnStart SettlementName Wilderlandand not SettlementIsLocalif I_SettlementOwner Wilderland = noldorsset_counter Wilderland_Garrison 1end_ifif I_SettlementOwner Wilderland = lorienset_counter Wilderland_Garrison 1end_ifif I_SettlementOwner Wilderland = silvanset_counter Wilderland_Garrison 1end_ifif I_SettlementOwner Wilderland = dwarvesset_counter Wilderland_Garrison 1end_ifif I_SettlementOwner Wilderland = eriadorset_counter Wilderland_Garrison 1end_ifif I_SettlementOwner Wilderland = daleset_counter Wilderland_Garrison 1end_ifif I_SettlementOwner Wilderland = rohanset_counter Wilderland_Garrison 1end_ifif I_SettlementOwner Wilderland = gondorset_counter Wilderland_Garrison 1end_ifif I_SettlementOwner Wilderland = arnorset_counter Wilderland_Garrison 1end_ifif I_SettlementOwner Wilderland = mordorset_counter Wilderland_Garrison -1end_ifif I_SettlementOwner Wilderland = northernset_counter Wilderland_Garrison -1end_ifif I_SettlementOwner Wilderland = gommset_counter Wilderland_Garrison -1end_ifif I_SettlementOwner Wilderland = isengardset_counter Wilderland_Garrison -1end_ifif I_SettlementOwner Wilderland = dunlandset_counter Wilderland_Garrison -1end_ifif I_SettlementOwner Wilderland = rhunset_counter Wilderland_Garrison -1end_ifif I_SettlementOwner Wilderland = haradset_counter Wilderland_Garrison -1end_ifif I_SettlementOwner Wilderland = umbarset_counter Wilderland_Garrison -1end_ifif I_SettlementOwner Wilderland = avariset_counter Wilderland_Garrison 1end_ifif I_SettlementOwner Wilderland = vindansset_counter Wilderland_Garrison 1end_ifif I_SettlementOwner Wilderland = arthanorset_counter Wilderland_Garrison -1end_ifif I_SettlementOwner Wilderland = pharasainset_counter Wilderland_Garrison -1end_ifif I_SettlementOwner Wilderland = slaveset_counter Wilderland_Garrison -1end_ifend_monitor;--------------------------------------------------------------------------declare_counter Wilderland_Siegemonitor_event SettlementTurnEnd SettlementName Wilderlandand SettlementBuildingExists = wooden_pallisadeand I_SettlementUnderSiege Wilderland if I_CompareCounter Wilderland_Garrison = 1 create_unit Wilderland, light city unit, num 1, exp 0, arm 0, wep 0 end_if if I_CompareCounter Wilderland_Garrison = -1 create_unit Wilderland, dark city unit, num 1, exp 0, arm 0, wep 0 end_ifset_counter Wilderland_Siege 1terminate_monitorend_monitormonitor_event SettlementTurnEnd SettlementName Wilderlandand SettlementBuildingExists = wooden_walland I_SettlementUnderSiege Wilderland if I_CompareCounter Wilderland_Garrison = 1 create_unit Wilderland, light city unit, num 2, exp 0, arm 0, wep 0 end_if if I_CompareCounter Wilderland_Garrison = -1 create_unit Wilderland, dark city unit, num 2, exp 0, arm 0, wep 0 end_ifset_counter Wilderland_Siege 2terminate_monitorend_monitormonitor_event SettlementTurnEnd SettlementName Wilderlandand SettlementBuildingExists = stone_walland I_SettlementUnderSiege Wilderland if I_CompareCounter Wilderland_Garrison = 1 create_unit Wilderland, light city unit, num 3, exp 0, arm 0, wep 0 end_if if I_CompareCounter Wilderland_Garrison = -1 create_unit Wilderland, dark city unit, num 3, exp 0, arm 0, wep 0 end_ifset_counter Wilderland_Siege 3terminate_monitorend_monitormonitor_event SettlementTurnEnd SettlementName Wilderlandand SettlementBuildingExists = large_stone_walland I_SettlementUnderSiege Wilderland if I_CompareCounter Wilderland_Garrison = 1 create_unit Wilderland, light city unit, num 4, exp 0, arm 0, wep 0 end_if if I_CompareCounter Wilderland_Garrison = -1 create_unit Wilderland, dark city unit, num 4, exp 0, arm 0, wep 0 end_ifset_counter Wilderland_Siege 4terminate_monitorend_monitormonitor_event SettlementTurnEnd SettlementName Wilderlandand SettlementBuildingExists = huge_stone_walland I_SettlementUnderSiege Wilderland if I_CompareCounter Wilderland_Garrison = 1 create_unit Wilderland, light city unit, num 5, exp 0, arm 0, wep 0 end_if if I_CompareCounter Wilderland_Garrison = -1 create_unit Wilderland, dark city unit, num 5, exp 0, arm 0, wep 0 end_ifset_counter Wilderland_Siege 5terminate_monitorend_monitormonitor_event SettlementTurnEnd SettlementName Wilderlandand SettlementBuildingExists = motte_and_baileyand I_SettlementUnderSiege Wilderland if I_CompareCounter Wilderland_Garrison = 1 create_unit Wilderland, light castle unit, num 1, exp 0, arm 0, wep 0 end_if if I_CompareCounter Wilderland_Garrison = -1 create_unit Wilderland, dark castle unit, num 1, exp 0, arm 0, wep 0 end_ifset_counter Wilderland_Siege -1terminate_monitorend_monitormonitor_event SettlementTurnEnd SettlementName Wilderlandand SettlementBuildingExists = wooden_castleand I_SettlementUnderSiege Wilderland if I_CompareCounter Wilderland_Garrison = 1 create_unit Wilderland, light castle unit, num 2, exp 0, arm 0, wep 0 end_if if I_CompareCounter Wilderland_Garrison = -1 create_unit Wilderland, dark castle unit, num 2, exp 0, arm 0, wep 0 end_ifset_counter Wilderland_Siege -2terminate_monitorend_monitormonitor_event SettlementTurnEnd SettlementName Wilderlandand SettlementBuildingExists = castleand I_SettlementUnderSiege Wilderland if I_CompareCounter Wilderland_Garrison = 1 create_unit Wilderland, light castle unit, num 3, exp 0, arm 0, wep 0 end_if if I_CompareCounter Wilderland_Garrison = -1 create_unit Wilderland, dark castle unit, num 3, exp 0, arm 0, wep 0 end_ifset_counter Wilderland_Siege -3terminate_monitorend_monitormonitor_event SettlementTurnEnd SettlementName Wilderlandand SettlementBuildingExists = fortressand I_SettlementUnderSiege Wilderland if I_CompareCounter Wilderland_Garrison = 1 create_unit Wilderland, light castle unit, num 4, exp 0, arm 0, wep 0 end_if if I_CompareCounter Wilderland_Garrison = -1 create_unit Wilderland, dark castle unit, num 4, exp 0, arm 0, wep 0 end_ifset_counter Wilderland_Siege -4terminate_monitorend_monitormonitor_event SettlementTurnEnd SettlementName Wilderlandand SettlementBuildingExists = citadeland I_SettlementUnderSiege Wilderland if I_CompareCounter Wilderland_Garrison = 1 create_unit Wilderland, light castle unit, num 5, exp 0, arm 0, wep 0 end_if if I_CompareCounter Wilderland_Garrison = -1 create_unit Wilderland, dark castle unit, num 5, exp 0, arm 0, wep 0 end_ifset_counter Wilderland_Siege -5terminate_monitorend_monitor[/codebox]Конечно, все варианты не тестировал, но срабатывание светлого или темного гарнизона и его численность, слава богу, работают (проверял состояния гарнизонного счетчика на 1 и -1 ИИ-фракциями-владельцами noldors и isengard соответственно). Хочу в дальнейшем наращивать на этом фундамента гарнизонный скрипт для остальных поселений. Гарнизоны пока тестовые для общего варианта, но в перспективе привязывать к ним юнитов из той или иной провинции (юниты, к сожалению, пока прописаны на уровне однотипных записей в ЕДУ).Теперь непосредственно перейду к вопросам:1. Основной вопрос : тестирование гарнизонного скрипта для всех поселений (их почти 200, если не ошибаюсь) целесообразно проводить таким же путем, как и для основы (т.е. проверка на работоспособность) или достаточно протестировать только фундамент скрипта, а в остальных случаях довериться старому доброму копипасту ? или это исключительно обязанности тестеров, к-рые впоследствии будуть в процессе игры выуживать разных сортов бяки и освящать их в рапортах ?2. В процессе тестов решил смоделировать ситуацию, когда в гарнизонном стеке почти 20 юнитов (17-18, для примера). Известно, что превышение 20 подразделений в армии персонажа или поселения дает ошибку в логе. Напал на такое "навороченное" поселение слабеньким стеком, завершил ход по привычке, но новые дополнительные отряды у осажденного гарнизона не заспаунились, а генерал перешел в контратаку... Кто-нибудь может подсказать, как будет срабатывать гарнизон, если скажем, в скрипте прописан спаун 5 юнитов, а количество вакантных слотов в стеке меньше данного числа ? он будет напросто забиваться под завязку до 20 и все ??3. Подскажите, в каких текстовиках можно отключить окошки ивентов, а в особенности их появление на экране (напрягает во время тестов...) ?4. Какие файлы нужно редактировать для того чтобы вновь включить в игру Джихад и Крестовый поход ? (они напрочь отключены, но начинают появляться идеи по использованию этих важных возможностей игры)Благодарю за ответы)

Сообщение отредактировал Master_TW_DAR: 10 апреля 2014 - 13:50

  • 0

#243 Mesn

Mesn

    Мододел

  • Старшина
  • 19 608 сообщений
  • Откуда:Киев
  • Награды:
  • Создатель:Knights of Honor:TW,Call of Warhammer:TW
Регистрация: 11.янв.08
Слава: 3 147

Отправлено 10 апреля 2014 - 14:10

Master_TW_DAR,
1. Если основа протестирована, то копипаст, с заменой нужных переменных, а ошибки пусть тестеры ищут.
2. Заспаунится то количество юнитов, равное количеству свободных слотов в гарнизоне.
3. Не понял, какие окошки?
4. descr_campaign_db
  • 0

xA0omDh.png


#244 Master_TW_DAR

Master_TW_DAR

    Мододел

  • Хорунжий
  • 2 819 сообщений
  • Награды:
Регистрация: 30.сен.12
Слава: 222

Отправлено 10 апреля 2014 - 14:21

3. Не понял, какие окошки?

Mesn, это окошки типа "Бунт") Бунтуют беспрестанно города и окошки друг за другом выскакивают)))

Кстати, можно еще такой вопрос: забыл команду, к-рая в descr_strat.txt позволяет размещать юнитов в гарнизоне, напомните пожалуйста кто-нибудь ?
А то все эти проклятые бунты из-за того, что гарнизоны пустые)
  • 0

#245 Mesn

Mesn

    Мододел

  • Старшина
  • 19 608 сообщений
  • Откуда:Киев
  • Награды:
  • Создатель:Knights of Honor:TW,Call of Warhammer:TW
Регистрация: 11.янв.08
Слава: 3 147

Отправлено 10 апреля 2014 - 15:07

Master_TW_DAR,
level city
region West-Osgiliath_Province

year_founded 0
population 1256
plan_set default_set
faction_creator poland
garrisoned_army
unit Dismounted Kofm exp 1 armour 0 weapon_lvl 0
unit Militia Archers exp 1 armour 0 weapon_lvl 0
building
{
type hinterland_info_building8 info_West-Osgiliath
}
building
  • 0

xA0omDh.png


#246 Master_TW_DAR

Master_TW_DAR

    Мододел

  • Хорунжий
  • 2 819 сообщений
  • Награды:
Регистрация: 30.сен.12
Слава: 222

Отправлено 10 апреля 2014 - 19:53

Завершил адаптацию гарнизонного скрипта ко всем поселениям. Суммарный скрипт получился объемом на добрые 42000 строк.Поглядел объем campaign_script.txt у некоторых установленных на компе модов:- КоВ 1-5-1 - порядка 77000 строк- Булатка 1-4-1 - порядка 22000 строк- ТАТВ 3-2 (ванила) - порядка 67000 строк- ТАТВ ФоМЕ (Судьба Средиземья) - порядка 103000 строкКто-нибудь может по собственному опыту игры в моды и тестирования сказать, насколько такой объем скажется на быстродействии кампании ?Я слышал, что часто из-за этого замедляются ходы фракций... Сократить скрипт никак не получается, и так убрал лишнее настолько, сколько сумел, зато соблюдены все важные условия и главное основа работает... Но в перспективе хочется работать над еще многими скриптами. А такой объем одного только скрипта настораживает...

Сообщение отредактировал Master_TW_DAR: 10 апреля 2014 - 19:54

  • 0

#247 Mesn

Mesn

    Мододел

  • Старшина
  • 19 608 сообщений
  • Откуда:Киев
  • Награды:
  • Создатель:Knights of Honor:TW,Call of Warhammer:TW
Регистрация: 11.янв.08
Слава: 3 147

Отправлено 10 апреля 2014 - 20:08

Master_TW_DAR, в конкретных цифрах не скажу, но ЕМНИП на быстродействие влияет количество скриптов обрабатываемых каждый ход. Проще говоря, если у тебя дофига скриптов, но они все срабатывают только на первом ходу, то после первого хода все пойдет как по маслу.
  • 0

xA0omDh.png


#248 Master_TW_DAR

Master_TW_DAR

    Мододел

  • Хорунжий
  • 2 819 сообщений
  • Награды:
Регистрация: 30.сен.12
Слава: 222

Отправлено 12 апреля 2014 - 08:36

Продолжаю работу над скриптами... Появилась необъяснимая проблема... При добавлении новых строк в файл campaign_script.txt (отключенный копипаст отдельных блоков предыдущего гарнизонного скрипта) файл отказывает в работоспособности - даже консоль toggle_fow не грузится на старте кампании...Лог выдает бредовую, на мой взгляд, запись:

08:30:05.348 [game.script] [error] Script parsing error at line 7794, column 78 in mods/Dagor_Dagorath/data/world/maps/campaign/imperial_campaign/campaign_script.txtUnrecognised parameter: <end_if>08:30:05.348 [game.script] [error] Script parsing error at line 7796, column 5 in mods/Dagor_Dagorath/data/world/maps/campaign/imperial_campaign/campaign_script.txtCouldn't create a script from file mods/Dagor_Dagorath/data/world/maps/campaign/imperial_campaign/campaign_script.txt

Проверил строку 7794 - там вс нормально, даже не трогал эти строки.. а колонки 94 нет - там максимум 37... И такое поведение - при любом редактировании файла...Возвращает к жизни файл замена из бэкапа - там скрипт работает, а лог ничего не пишет.Очистил файл от гарнизонного скрипта, вставил скопированные из него блоки - так же все, файл напрочь перестает работать... Лог уже совсем тупит и пишет такое:

08:54:02.715 [game.script] [error] Script execution error for <console_command>, at line 8, in mods/Dagor_Dagorath/data/world/maps/campaign/imperial_campaign/campaign_script.txt: toggle_foerr: command not recognised (use ? for help).

Это совсем ни в какую калитку не едет, т.к. консоль правильно прописана.Помогите пожалуйста решить эту напасть ! ЗЫ В данный момент тестирую старый файл без скрипта (как хорошо, что привык делать после каждый важных изменений резервные копии!), но не представляю, как в будущем все свои скрипты буду "склеивать", т.е. собирать воедино....

Сообщение отредактировал Master_TW_DAR: 12 апреля 2014 - 09:11

  • 0

#249 Mesn

Mesn

    Мододел

  • Старшина
  • 19 608 сообщений
  • Откуда:Киев
  • Награды:
  • Создатель:Knights of Honor:TW,Call of Warhammer:TW
Регистрация: 11.янв.08
Слава: 3 147

Отправлено 12 апреля 2014 - 14:39

Master_TW_DAR, возможно проблема в пробелах в строке создания юнита, такое иногда случается.
  • 0

xA0omDh.png


#250 Master_TW_DAR

Master_TW_DAR

    Мододел

  • Хорунжий
  • 2 819 сообщений
  • Награды:
Регистрация: 30.сен.12
Слава: 222

Отправлено 12 апреля 2014 - 17:18

Mesn, решил понастырнее вникнуть в ситуацию: у меня вот такое "чудо" с файлом после его редактирования (т.е. в уже имеюшийся файл с гарнизонным скриптом пишу другой скрипт):

в нотепаде все хорошо-клёвенько выглядит

Изображение Нажмите, чтобы прочитать
а в блокнотике ужас полный

Изображение Нажмите, чтобы прочитать
Нашел специально строку с ошибкой, которую лог "троллит", скрины как раз оттуда:

16:15:19.996 [game.script] [error] Script parsing error at line 7789, column 78 in mods/Dagor_Dagorath/data/world/maps/campaign/imperial_campaign/campaign_script.txt
Unrecognised parameter: <end_if>
16:15:19.996 [game.script] [error] Script parsing error at line 7791, column 5 in mods/Dagor_Dagorath/data/world/maps/campaign/imperial_campaign/campaign_script.txt
Couldn't create a script from file mods/Dagor_Dagorath/data/world/maps/campaign/imperial_campaign/campaign_script.txt

Из-за чего так мог сбиться файл ? И что посоветуете предпринять в такой ситуации ??

Заранее спасибо)

Кстати, возможно это произошло из-за того, что для 200 поселений поступал следующим образом: копировал все блоки скрипта для одного поселения, а затем прогонял на все остальные с помощью макроса. Но затем вручную редактировал идентификаторы поселений в однотипных конструкциях.. Скрипт работал, а вот дальнейшая правка файл из колеи выбила... Попробую копипаст сделать заново, уже без макроса, самостоятельно (жаль, а хотелось быстрее...) и проверять сразу же в блокноте буду. Надеюсь, это поможет...

Сообщение отредактировал Master_TW_DAR: 12 апреля 2014 - 16:32

  • 0




Количество пользователей, читающих эту тему: 2

0 пользователей, 2 гостей, 0 анонимных

Total War: WARHAMMER

Мы ждали, мы верили. И наша вера была вознаграждена! Анонс Total War: WARHAMMER состоялся! Скептики были посрамлены, а вахоманы возликовали! Но разработчики на форумах успели уже рассказать немало подробностей. Во первых стало известно? что это будет не одна игра, а трилогия сдобренная целым сомном аддонов и дополнительного платного и бесплатного контента. Во-вторых фракций будет только четыре (Империя Сигмара, Зеленокожие, Гномы и Графы-Вампиры) но обещают сделать их максимально проработанными, богатыми на юниты и реально отличающимися друг от друга по геймплею. В третьих - главы фракций теперь не просто генералы которых не жалко потерять в бою. Теперь это Легендарные Лорды (Карл Франц, Гримгор, Торгрим и Маннфрэд фон Карштайн), герои со уникальным оружием, верховым животным, шмотками и набором квестов. Еще обещают такие новинки как летающие юниты, магию, танки, пушки и мущкеты... в общем вкуснятинка! В общем ждем больше информации и надеемся, что игра станет прорывом в серии.

Ну а апологетам историчности спешим успокоить - над Вархаммер трудится отдельная команда. Исторические игры Тотал Вар производство фэнтэзийной игры не тормозит.

Подробней о Total War: WARHAMMER

Total War: Attila

Анонс Total War: Attila с одной стороны немало удивил нас, а с другой еще раз доказал, что СА идет проторенной дорожкой. Ведь Аттила по сути это сиквэл аддона "Вторжение варваров" для Рима 1. Правда на этот раз они не стали скромничать и назвали его "новой игрой". Ок, мы не будем спорить. Отдельная игра про нашествие варварских племен на цивилизации античного мира - это прекрасно. Нужно отметиьт что разработчики действительно поработали на славу. По мнению большинства игроков, Аттила действительно оказался достойным продуктом, позволившим окунутся в мрачные эпохи.

Подробней о Total War: Attila Часть 1 и Часть 2

Total War: Rome 2

Анонс Rome II Total War состоялся 2 июля и это вызвало настоящую бурю восторга нашего сообщества! Настолько люди истосковались по рукопашному бою и легионерам, что анонс сиквела восприняли как настоящее чудо и "сбычу мечт". Снова вести в бой скованные железной дисциплиной легионы, непоколебимых греческих гоплитов и македонских сариссофоров, топтать врагов слонами и забрасывать отрубленными головами - это ли не счастье! Но ведь новые игры Total War это еще и морские баталии. И тут уж будет море фана, ведь разработчики обещают активное взаимодействие между сухопутными и военно-морскими силами. Обоюдный обстрел между береговыми укреплениями и боевыми кораблями на рейде даст новую степень свободы "стратегосам" античного мира.

Подробней о Total War: Rome II