Paradox
©
Fisana

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


Фотография

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


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

#181 Master_TW_DAR

Master_TW_DAR

    Мододел

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

Отправлено 02 марта 2014 - 19:38

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

1. Гарнизонный скрипт

Вот моменты, которые наиболее интересны в данный момент, и которые хотелось бы внести :

1.1. Сторона владеющая селением, светлая или темная (генеральное условие).

1.2. Народ, который обитает там (к примеру, на территории Минас-Тирита обитают южные дунаданы, значит гарнизон будет состоять из них).

1.3. Теневой народ (каждая провинция имеет доминантный народ и рецессивный народ. Если Минас-Тирит захватили орки Мордора, рецессивный народ становится доминантным, а доминантный - рецессивным. В данном случае - бандиты запада для Мордора встают на гарнизонную службу в Минас-Тирите.).

Любая провинция имеет два набора народов, которые там проживают: светлый и темный
В зависимости от того, какая фракция владеет провинцией, активизируется соответствующий народ.

Например.
Провинция Анориен - обиталище двух народов: Южных Дунаданов и Бандитов Запада.
Если провинцией владеет светлая фракция, тогда, в гарнизоне будут Южные дунаданы, если темная - Бандиты запада.

1.4. Как сделать скрипт в зависимости от срабатывания гарнизона:

а) сразу же после осады поселения ?
б) на начале / конце определенного хода ?

1.5. Непонятен вопрос о сущности самого скрипта, для каких вариантов игры его целесообразно создавать:

а) при игре за фракцию против ИИ (это вполне разумно)
б) для собственного поселения в случае осады поселения под управлением человека компьютером ?
в) осада поселения под управлением ИИ компьютером ?

Если вариации б) и в) возможны, то как лучше в тестировать данную ситуацию ??

2. Структура построек поселения

2.1. По задумке у каждой фракции будут существовать собственные казармы:

; Казармы
; 5 - Казармы (Гондор)
; 6 - Казармы (Арнор)
; 7 - Казармы (Рохан)
; 8 - Казармы (Эриадор)
; 9 - Казармы (Дэйл)
; 10 - Казармы (Высшие эльфы)
; 11 - Казармы (Лесные эльфы)
; 12 - Казармы (Эльфы Лориэна)
; 13 - Казармы (Авари)
; 14 - Казармы (Винданы)
; 15 - Казармы (Гномы)
; 16 - Казармы (Мордор)
; 17 - Казармы (Изенгард)
; 18 - Казармы (Гоблины и орки Мглистых гор)
; 19 - Казармы (Орки Севера)
; 20 - Казармы (Рун)
; 21 - Казармы (Харад)
; 22 - Казармы (Умбар)
; 23 - Казармы (Дунланд)
; 24 - Казармы (Арханор)
; 25 - Казармы (Фаразаин)
; 26 - Казармы (Дикие народы)

; 5 - Казармы (Гондор)

building gondor_barracks
{
levels gondor_barracks_1 gondor_barracks_2 gondor_barracks_3 gondor_barracks_4 gondor_barracks_5 gondor_barracks_6 gondor_barracks_7
{
gondor_barracks_1 requires factions { gondor, }
{
convert_to 1
capability
{
free_upkeep bonus 1
recruitment_slots 1
}
material wooden
construction 1
cost 1000
settlement_min town
upgrades
{
gondor_barracks_2
}
}
gondor_barracks_2 requires factions { gondor, }
{
convert_to 2
capability
{
law_bonus bonus 2
free_upkeep bonus 1
recruitment_slots 1
; recruit_pool "Dismounted Kofm" 1 0.25 3 0 requires factions { gondor, } and region_religion orthodox 25
}
material wooden
construction 3
cost 2000
settlement_min large_town
upgrades
{
gondor_barracks_3
}
}
gondor_barracks_3 requires factions { gondor, }
{
convert_to 3
capability
{
law_bonus bonus
free_upkeep bonus 2
recruitment_slots 2
; recruit_pool "Dismounted Kofm" 1 0.25 3 0 requires factions { gondor, } and region_religion orthodox 25
}
material wooden
construction 6
cost 4000
settlement_min city
upgrades
{
gondor_barracks_4
}
}
gondor_barracks_4 requires factions { gondor, }
{
convert_to 4
capability
{
law_bonus bonus 2
free_upkeep bonus 2
recruitment_slots 2
; recruit_pool "Dismounted Kofm" 1 0.25 3 0 requires factions { gondor, } and region_religion orthodox 25
}
material wooden
construction 12
cost 8000
settlement_min large_city
upgrades
{
gondor_barracks_5
}
}
gondor_barracks_5 requires factions { gondor, }
{
convert_to 5
capability
{
law_bonus bonus 2
free_upkeep bonus 3
recruitment_slots 3
; recruit_pool "Dismounted Kofm" 1 0.25 3 0 requires factions { gondor, } and region_religion orthodox 25
}
material wooden
construction 15
cost 10000
settlement_min huge_city
upgrades
{
gondor_barracks_6
}
}
gondor_barracks_6 requires factions { gondor, }
{
convert_to 6
capability
{
law_bonus bonus 2
free_upkeep bonus 3
recruitment_slots 3
; recruit_pool "Dismounted Kofm" 1 0.25 3 0 requires factions { gondor, } and region_religion orthodox 25
}
material wooden
construction 18
cost 16000
settlement_min huge_city
upgrades
{
gondor_barracks_7
}
}
gondor_barracks_7 requires factions { gondor, }
{
convert_to 7
capability
{
law_bonus bonus 2
free_upkeep bonus 5
recruitment_slots 5
; recruit_pool "Dismounted Kofm" 1 0.25 3 0 requires factions { gondor, } and region_religion orthodox 25
}
material wooden
construction 24
cost 22000
settlement_min huge_city
upgrades
{
}
}
}
plugins
{
}
}

; и так далее для всех фракций...

Так вот, возвращаясь к идее, казармы одной фракции должны разрушаться при захвате поселения другой фракцией.
Но это не означает, что, к примеру Арнор будет рушить казармы Гондора и не сможет в них ничего нанимать, или Мордор в постройках ГОМГ, или единые по религии государства.

Казармы будут давать только бонус численности нанимаемых войск (слоты для очереди найма) и свободное содержание.

Сам рекрутинг будет проводиться в специализированных сооружениях:

- пехота - в плацах ;
- стрелки - в стрельбищах ;
- кавалерия в ристалищах ;

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

Например, я завязал это дело вот так (смотрим уровень 1):

; 27 - Плац

building parade
{
levels parade_1 parade_2 parade_3 parade_4 parade_5 parade_6
{
parade_1 requires factions { gondor, rohan, dale, dwarves, eriador, noldors, silvan, mordor, isengard, gomm, northern, harad, rhun, pharasain, arnor, arthanor, umbar, lorien, dunland, avari, vindans, slave,} and building_present_min_level gondor_barracks gondor_barracks_1 or building_present_min_level arnor_barracks arnor_barracks_1 or building_present_min_level rohan_barracks rohan_barracks_1 or building_present_min_level dale_barracks dale_barracks_1 or building_present_min_level dwarves_barracks dwarves_barracks_1 or building_present_min_level eriador_barracks eriador_barracks_1 or building_present_min_level noldors_barracks noldors_barracks_1 or building_present_min_level silvan_barracks silvan_barracks_1 or building_present_min_level mordor_barracks mordor_barracks_1 or building_present_min_level isengard_barracks isengard_barracks_1 or building_present_min_level gomm_barracks gomm_barracks_1 or building_present_min_level northern_barracks northern_barracks_1 or building_present_min_level harad_barracks harad_barracks_1 or building_present_min_level rhun_barracks rhun_barracks_1 or building_present_min_level pharasain_barracks pharasain_barracks_1 or building_present_min_level arthanor_barracks arthanor_barracks_1 or building_present_min_level umbar_barracks umbar_barracks_1 or building_present_min_level lorien_barracks lorien_barracks_1 or building_present_min_level dunland_barracks dunland_barracks_1 or building_present_min_level avari_barracks avari_barracks_1 or building_present_min_level vindans_barracks vindans_barracks_1 or building_present_min_level slave_barracks slave_barracks_1
{
convert_to 0
capability
{
law_bonus bonus 1
recruit_pool "Dismounted Kofm" 1 0.25 3 0 requires factions { gondor, }
recruit_pool "Breeland Militia" 1 0.15 2 0 requires factions { eriador, }
recruit_pool "Watchmen" 1 0.25 3 0 requires factions { dale, }
recruit_pool "militia" 1 0.25 3 0 requires factions { rohan, }



}
material wooden
construction 1
cost 800
settlement_min village
upgrades
{
parade_2
}
}
parade_2 requires factions { gondor, rohan, dale, dwarves, eriador, noldors, silvan, mordor, isengard, gomm, northern, harad, rhun, pharasain, arnor, arthanor, umbar, lorien, dunland, avari, vindans, slave, }
{
convert_to 0
capability
{
law_bonus bonus 2
}
material wooden
construction 2
cost 800
settlement_min village
upgrades
{
parade_3
}
}
parade_3 requires factions { gondor, rohan, dale, dwarves, eriador, noldors, silvan, mordor, isengard, gomm, northern, harad, rhun, pharasain, arnor, arthanor, umbar, lorien, dunland, avari, vindans, slave, }
{
convert_to 0
capability
{
law_bonus bonus 2
}
material wooden
construction 2
cost 800
settlement_min village
upgrades
{
parade_4
}
}
parade_4 requires factions { gondor, rohan, dale, dwarves, eriador, noldors, silvan, mordor, isengard, gomm, northern, harad, rhun, pharasain, arnor, arthanor, umbar, lorien, dunland, avari, vindans, slave, }
{
convert_to 0
capability
{
law_bonus bonus 2
}
material wooden
construction 2
cost 800
settlement_min village
upgrades
{
parade_5
}
}
parade_5 requires factions { gondor, rohan, dale, dwarves, eriador, noldors, silvan, mordor, isengard, gomm, northern, harad, rhun, pharasain, arnor, arthanor, umbar, lorien, dunland, avari, vindans, slave, }
{
convert_to 0
capability
{
law_bonus bonus 2
}
material wooden
construction 2
cost 800
settlement_min village
upgrades
{
parade_6
}
}
parade_6 requires factions { gondor, rohan, dale, dwarves, eriador, noldors, silvan, mordor, isengard, gomm, northern, harad, rhun, pharasain, arnor, arthanor, umbar, lorien, dunland, avari, vindans, slave, }
{
convert_to 0
capability
{
law_bonus bonus 2
}
material wooden
construction 2
cost 800
settlement_min village
upgrades
{
}
}
}
plugins
{
}
}

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

; 7 - Казармы (Рохан)

building rohan_barracks
{
levels rohan_barracks_1 rohan_barracks_2 rohan_barracks_3 rohan_barracks_4 rohan_barracks_5 rohan_barracks_6 rohan_barracks_7
{
rohan_barracks_1 requires factions { rohan, } and region_religion northmen 60
{
convert_to 1
capability
{
law_bonus bonus 1
}
material wooden
construction 1
cost 1200
settlement_min town
upgrades
{
rohan_barracks_2
}
}

Казармы же при таких условиях (фракция религии А захватывает поселение фракции религии Б) должны каким-то образом либо исчезать или разрушаться, либо как-то переставать функционировать... Так и с вышеуказанными 3 строениями - либо они сохраняются, то толку от них никакого для завоевателя, либо пропадают ? Как это можно обыграть, не прибегая к составлению скриптов, а используя текстовик ЕДБ ?? Возможен ли подобный расклад ?

2.2. Есть идея осуществить возведение самого старшего уровня стен в зависимости от уникальной гильдии.

Например, для городских укреплений:

; 1 - Укрепления (город)

building core_building
{
convert_to core_castle_building
levels wooden_pallisade wooden_wall stone_wall large_stone_wall huge_stone_wall
{
wooden_pallisade city requires factions { gondor, rohan, dale, dwarves, eriador, noldors, silvan, mordor, isengard, gomm, northern, harad, rhun, pharasain, arnor, arthanor, umbar, lorien, dunland, avari, vindans,} and building_present_min_level woodworkers woodworkers_1 and building_present_min_level manage manage_2
{
convert_to 1
capability
{
wall_level 0
tower_level 1
}
material wooden
construction 1
cost 500
settlement_min village
upgrades
{
wooden_wall
}
}
wooden_wall city requires factions { gondor, rohan, dale, dwarves, eriador, noldors, silvan, mordor, isengard, gomm, northern, harad, rhun, pharasain, arnor, arthanor, umbar, lorien, dunland, avari, vindans, } and building_present_min_level woodworkers woodworkers_2 and building_present_min_level manage manage_3
{
convert_to 2
capability
{
wall_level 1
tower_level 1
gate_strength 1
}
material wooden
construction 3
cost 1000
settlement_min town
upgrades
{
stone_wall
}
}
stone_wall city requires factions { gondor, rohan, dale, dwarves, eriador, noldors, silvan, mordor, isengard, gomm, northern, harad, rhun, pharasain, arnor, arthanor, umbar, lorien, dunland, avari, vindans, } and building_present_min_level stonework stonework_1 and building_present_min_level manage manage_4
{
capability
{
wall_level 2
tower_level 1
gate_strength 1
}
material stone
construction 6
cost 2000
settlement_min large_town
upgrades
{
large_stone_wall
}
}
large_stone_wall city requires factions { gondor, rohan, dale, dwarves, eriador, noldors, silvan, mordor, isengard, gomm, northern, harad, rhun, pharasain, arnor, arthanor, umbar, lorien, dunland, avari, vindans, } and building_present_min_level stonework stonework_2 and building_present_min_level manage manage_5
{
capability
{
wall_level 3
tower_level 1
gate_strength 2
gate_defences 2
}
material stone
construction 9
cost 4000
settlement_min city
upgrades
{
huge_stone_wall
}
}
huge_stone_wall city requires factions { gondor, rohan, dale, dwarves, eriador, noldors, silvan, mordor, isengard, gomm, northern, harad, rhun, pharasain, arnor, arthanor, umbar, lorien, dunland, avari, vindans, } and building_present_min_level gondor_uniq gondor_uniq_1 or building_present_min_level rohan_uniq rohan_uniq_1 or building_present_min_level dale_uniq dale_uniq_1 or building_present_min_level dwarves_uniq dwarves_uniq_1 or building_present_min_level eriador_uniq eriador_uniq_1 or building_present_min_level noldors_uniq noldors_uniq_1 or building_present_min_level silvan_uniq silvan_uniq_1 or building_present_min_level mordor_uniq mordor_uniq_1 or building_present_min_level isengard_uniq isengard_uniq_1 or building_present_min_level gomm_uniq gomm_uniq_1 or building_present_min_level northern_uniq northern_uniq_1 or building_present_min_level harad_uniq harad_uniq_1 or building_present_min_level rhun_uniq rhun_uniq_1 or building_present_min_level pharasain_uniq pharasain_uniq_1 or building_present_min_level arnor_uniq arnor_uniq_1 or building_present_min_level arthanor_uniq arthanor_uniq_1 or building_present_min_level umbar_uniq umbar_uniq_1 or building_present_min_level lorien_uniq lorien_uniq_1 or building_present_min_level dunland_uniq dunland_uniq_1 or building_present_min_level avari_uniq avari_uniq_1 or building_present_min_level vindans_uniq vindans_uniq_1
{
capability
{
wall_level 4
tower_level 1
gate_strength 2
gate_defences 2
}
material stone
construction 12
cost 8000
settlement_min large_city
upgrades
{
}
}
}
plugins
{
}
}

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

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

По таблице ЕДБ и вообще структуре - она видоизмененная в отличие от ванилы (сейчас занимаюсь расстановкой зависимостей и бонусов, недавно приступил..):

]]>http://yadi.sk/d/1WsCHim7JoGFt]]>


Пока что это всё -_- Как раз ломаю над всем этим голову, как лучше сделать...
Заранее спасибо всем за помощь и советы )

ЗЫ Вопрос к пану HunterWolf

Вот здесь - http://totalwar.fun/...showtopic=45894 - обнаружил похожую тему.
Можно в таком случае созданную мною рубрику - http://totalwar.fun/...showtopic=47391 - удалить, чтобы разбор архивов я продолжил именно там, где было начато ранее камрадами-мододелами (ну чтобы дубляжей тем не было...)

Сообщение отредактировал Master_TW_DAR: 02 марта 2014 - 19:42

  • 0

#182 HunterWolf

HunterWolf

    CiЧовий дiд

  • Шляхта
  • 1 957 сообщений
  • Откуда:Россия, Тверь
  • Награды:
  • Должность:ТовмачЪ
Регистрация: 23.ноя.11
Слава: 186

Отправлено 02 марта 2014 - 19:45

Master_TW_DAR, Да в итоге и будет общая тема, просто я почему то думал что у тебя нет доступа в этот раздел. А так да должна быть общая тема, по большому счёту если есть желание то и темы Аудиторий надо так же разобрать на вопросы как и классы, если есть желание и в этом помочь то спроси у Месна что он уже перебрал а что нет
  • 0
Моя конфигурация:
Нормальная, мне хватает.

#183 Master_TW_DAR

Master_TW_DAR

    Мододел

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

Отправлено 02 марта 2014 - 19:49

Master_TW_DAR, Да в итоге и будет общая тема, просто я почему то думал что у тебя нет доступа в этот раздел. А так да должна быть общая тема, по большому счёту если есть желание то и темы Аудиторий надо так же разобрать на вопросы как и классы, если есть желание и в этом помочь то спроси у Месна что он уже перебрал а что нет

HunterWolf, с желанием проблем нет ))) В общем, буду туда все складывать, когда с архивами к результату приду.
  • 0

#184 Master_TW_DAR

Master_TW_DAR

    Мододел

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

Отправлено 03 марта 2014 - 07:42

В каком текстовике папки text можно переименовать название ресурса (например, "Мрамор" в "Камень") ?
  • 0

#185 DEN Stark

DEN Stark

    Брат-Сардельер

  • Сардельер
  • 4 494 сообщений
  • Откуда:Владивосток
  • Награды:
  • Должность:Бунчужный
  • Создатель:Пихалыч Мод; Ogniem i Mieczem 2:TW
Регистрация: 01.ноя.10
Слава: 702

Отправлено 03 марта 2014 - 08:29

В каком текстовике папки text можно переименовать название ресурса (например, "Мрамор" в "Камень") ?

В text\strat.txt вроде как
  • 0

Если Вам что-то во мне не нравится - не обязательно ставить меня об этом в известность. Постарайтесь пережить этот шок самостоятельно.
Черный кот, перебегающий Вам дорогу, означает, что животное куда-то идет. Не усложняйте...

--------------------

Пихалыч Мод 1.0       http://yadi.sk/d/18I7TckI3_tfB
Фикс1 от 11.02.2013 http://yadi.sk/d/ECfr3nHe2mSja

Фикс2 от 07.04.2013 http://yadi.sk/d/FrjF2Yee3rerU

0dc86e7facf4.jpg

 


#186 Master_TW_DAR

Master_TW_DAR

    Мододел

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

Отправлено 06 марта 2014 - 15:56

Панове-мододелы, срочно нужна помощь!

Прописываю религии в мод. Ранее это уже выполнянл, но по каким-то причинам мод перестал срабатывать... заменил версии файлов предыдущими, так что теперь вновь все заново корректировать приходится.

Проблема в следующем: были проблемы с отображением окна поселения ИИ и статистики поселения. Такое наблюдалось ранее при изменении религии.
Решил удалить все новые прописи религий, оставил их только стандартные из ванилы.

Изменял все в descr_sm_faction , descr_regions , religions , descr_religions map.rwm удалял. В итоге сперва были ошибки в ЕДБ и descr_missions - их успешно отладил.
Теперь мод грузится, но призапуске кампании вышибает игру в предыдущее окно.

Когда было 4 фракции (католики, православные, мусульмане, еретики) - лог отображал системную ошибку.
Добавил новую религию еще одну (подумал, вдруг лимит по минимальному числу какой есть...) - лог стал сильно ругать descr_regions

Изображение Нажмите, чтобы прочитать
Лог, как я понял, придирается ко всем провинциям... Такая вот бяка. map.rwm я постоянно удалял при правке этого файла и запуске мода.
Никак не понимаю, что такого криминального могло случиться ...

Кто-нибудь может что-то подсказать дельное на этот счет ??


П.С. Ошибка теперь не актуальна. Снова заменил текстовики и сразу же мар.рвм удалил - и все заработало. Очевидно, тогда забыл этот момент.
  • 0

#187 Master_TW_DAR

Master_TW_DAR

    Мододел

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

Отправлено 06 марта 2014 - 22:36

Вопрос по гарнизонному скрипту.

1 ) Подскажите, можно ли реализовать такую ситауцию: хочу прописать один единственный счетчик , к-рый будет определять тип осады в зависимости от уровня постройки. И в плане этот счетчик использовать для всех поселений, чтобы не повтрять одинаковые строки...

Или все же счетчик осады в гарнизонном скрипте обязательно требует привязки к поселению ?

2) В списке conditions интересует один нюанс...

---------------------------------------------------
Идентификатор: I_FactionBesieging
Требования для триггера:
Параметры: faction type
Пример использования: not I_FactionBesieging romans_julii
Описание: Есть ли где-либо поселения фракции в осаде?
Тактический/стратегический режим: Стратегический
Класс: FACTION_BESIEGING
Выполнение: Да
Автор: Guy

Что именно данное условие устанавливает :

а) фракцию, к-рая владеет осаждаемым поселением ??
б) фракцию, к-рая держит в осаде указанное поселение ??

Сообщение отредактировал Master_TW_DAR: 06 марта 2014 - 23:16

  • 0

#188 Master_TW_DAR

Master_TW_DAR

    Мододел

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

Отправлено 07 марта 2014 - 07:52

Интересует один вопрос по устройству скриптов:

возможно ли построить скрипт подобным образом

monitor_event "бла-бла-бла"
and ... "бла-бла-бла"

if (начало 1 блока с условиями "если")
if (начало 2 блока с условиями "если")
if (начало 3 блока с условиями "если")
end_if (конец 3 блока с условиями "если")
end_if (конец 2 блока с условиями "если")

end_if (конец 1 блока с условиями "если")

end_monitor

т.е. идея такова, чтобы в одно условие поместить другое, а в другое - еще какое-нибудь... чтобы избежать повторения мониторов и генеральных условий до 1-го if.
Или такая "самодеятельность" просто напросто движком не поддерживается ?

Сообщение отредактировал Master_TW_DAR: 07 марта 2014 - 08:10

  • 0

#189 DEN Stark

DEN Stark

    Брат-Сардельер

  • Сардельер
  • 4 494 сообщений
  • Откуда:Владивосток
  • Награды:
  • Должность:Бунчужный
  • Создатель:Пихалыч Мод; Ogniem i Mieczem 2:TW
Регистрация: 01.ноя.10
Слава: 702

Отправлено 07 марта 2014 - 08:36

Интересует один вопрос по устройству скриптов:возможно ли построить скрипт подобным образомт.е. идея такова, чтобы в одно условие поместить другое, а в другое - еще какое-нибудь... чтобы избежать повторения мониторов и генеральных условий до 1-го if.Или такая "самодеятельность" просто напросто движком не поддерживается ?

Можно, вот пример например )А в скриптах Германикуса вообще вот так бывает ))
monitor_conditions I_InBattle    and I_CompareCounter fire_labels = 10    set_counter fire_labels 0    battle_wait 0.1    if ! I_BattleIsSiegeBattle    set_counter fire_labels 1    end_if    if I_BattleIsSiegeBattle    and I_BattleEnemyArmyNumberOfMountClass elephant > 0    set_counter fire_labels 1    end_ifif I_BattlePlayerArmyIsAttacker    ;;;Army 1    set_counter player_unit_count 0    if I_BattlePlayerArmyNumberOfUnits > 0    label_unit 0 0 0 a1u1    inc_counter player_unit_count 1    if I_BattlePlayerArmyNumberOfUnits > 1    label_unit 0 0 1 a1u2    inc_counter player_unit_count 1    if I_BattlePlayerArmyNumberOfUnits > 2    label_unit 0 0 2 a1u3    inc_counter player_unit_count 1    if I_BattlePlayerArmyNumberOfUnits > 3    label_unit 0 0 3 a1u4    inc_counter player_unit_count 1    if I_BattlePlayerArmyNumberOfUnits > 4    label_unit 0 0 4 a1u5    inc_counter player_unit_count 1    if I_BattlePlayerArmyNumberOfUnits > 5    label_unit 0 0 5 a1u6    inc_counter player_unit_count 1    if I_BattlePlayerArmyNumberOfUnits > 6    label_unit 0 0 6 a1u7    inc_counter player_unit_count 1    if I_BattlePlayerArmyNumberOfUnits > 7    label_unit 0 0 7 a1u8    inc_counter player_unit_count 1    if I_BattlePlayerArmyNumberOfUnits > 8    label_unit 0 0 8 a1u9    inc_counter player_unit_count 1    if I_BattlePlayerArmyNumberOfUnits > 9    label_unit 0 0 9 a1u10    inc_counter player_unit_count 1    if I_BattlePlayerArmyNumberOfUnits > 10    label_unit 0 0 10 a1u11    inc_counter player_unit_count 1    if I_BattlePlayerArmyNumberOfUnits > 11    label_unit 0 0 11 a1u12    inc_counter player_unit_count 1    if I_BattlePlayerArmyNumberOfUnits > 12    label_unit 0 0 12 a1u13    inc_counter player_unit_count 1    if I_BattlePlayerArmyNumberOfUnits > 13    label_unit 0 0 13 a1u14    inc_counter player_unit_count 1    if I_BattlePlayerArmyNumberOfUnits > 14    label_unit 0 0 14 a1u15    inc_counter player_unit_count 1    if I_BattlePlayerArmyNumberOfUnits > 15    label_unit 0 0 15 a1u16    inc_counter player_unit_count 1    if I_BattlePlayerArmyNumberOfUnits > 16    label_unit 0 0 16 a1u17    inc_counter player_unit_count 1    if I_BattlePlayerArmyNumberOfUnits > 17    label_unit 0 0 17 a1u18    inc_counter player_unit_count 1    if I_BattlePlayerArmyNumberOfUnits > 18    label_unit 0 0 18 a1u19    inc_counter player_unit_count 1    if I_BattlePlayerArmyNumberOfUnits = 20    label_unit 0 0 19 a1u20    inc_counter player_unit_count 1    end_if    end_if    end_if    end_if    end_if    end_if    end_if    end_if    end_if    end_if    end_if    end_if    end_if    end_if    end_if    end_if    end_if    end_if    end_if    end_ifend_if.........

  • 0

Если Вам что-то во мне не нравится - не обязательно ставить меня об этом в известность. Постарайтесь пережить этот шок самостоятельно.
Черный кот, перебегающий Вам дорогу, означает, что животное куда-то идет. Не усложняйте...

--------------------

Пихалыч Мод 1.0       http://yadi.sk/d/18I7TckI3_tfB
Фикс1 от 11.02.2013 http://yadi.sk/d/ECfr3nHe2mSja

Фикс2 от 07.04.2013 http://yadi.sk/d/FrjF2Yee3rerU

0dc86e7facf4.jpg

 


#190 Master_TW_DAR

Master_TW_DAR

    Мододел

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

Отправлено 07 марта 2014 - 14:45

Вопрос по гарнизонному скрипту.

monitor_event FactionTurnStart I_IsFactionAIControlleddeclare_counter Anorien_siegeend_monitormonitor_event SettlementTurnStart not I_SettlementUnderSiege Anorienset_counter Anorien_siege 0end_monitormonitor_event SettlementTurnStart I_SettlementUnderSiege Anorienand I_CompareCounter Anorien_siege = 0and SettlementBuildingExists = wooden_pallisadeset_counter Anorien_siege 1.1end_monitormonitor_event SettlementTurnStart SettlementName Anorienand I_SettlementExists Anorienif I_CompareCounter Anorien_siege = 1.1if I_SettlementOwner Anorien = gondorif I_FactionBesieging mordorcreate_unit Anorien, Dismounted Kofm, num 6, exp 1, arm 1, wep 0end_ifif I_FactionBesieging rhuncreate_unit Anorien, Dismounted Kofm, num 3, exp 1, arm 1, wep 0end_ifend_ifend_ifend_monitor

Есть идея разветвить скрипт для случаев, если фракция-владелец поселения - это человек или ИИ.Пропись условия FactionIsLocal в мониторах с поселением выдает ошибку, мол, требуется ивент с фракцией...Поэтому задумал поставить сам счетчик на тип управления фракцией.В остальном скрипт подразумевает создание гарнизона в зависимости от уровня стен , от фракции-владельца и от фракции-обидчика.Запустил скрипт и проверил - ну вроде работает, хотя надо проверять все до мелочей - но лог ошибки такие выдает:

13:40:43.809 [game.script] [error] Condition parsing error in mods/Dagor_Dagorath/data/world/maps/campaign/imperial_campaign/campaign_script.txt, at line 20, column 56faction name not recognised13:40:53.505 [game.script] [error] Script execution error for <set_counter>, at line 25, in mods/Dagor_Dagorath/data/world/maps/campaign/imperial_campaign/campaign_script.txt: Counter Anorien_siege doesn't exist13:40:53.506 [game.script] [error] Script execution error for <set_counter>, at line 25, in mods/Dagor_Dagorath/data/world/maps/campaign/imperial_campaign/campaign_script.txt: Counter Anorien_siege doesn't exist13:40:53.506 [game.script] [error] Script execution error for <set_counter>, at line 25, in mods/Dagor_Dagorath/data/world/maps/campaign/imperial_campaign/campaign_script.txt: Counter Anorien_siege doesn't exist13:40:53.506 [game.script] [error] Script execution error for <set_counter>, at line 25, in mods/Dagor_Dagorath/data/world/maps/campaign/imperial_campaign/campaign_script.txt: Counter Anorien_siege doesn't exist13:40:53.506 [game.script] [error] Script execution error for <set_counter>, at line 25, in mods/Dagor_Dagorath/data/world/maps/campaign/imperial_campaign/campaign_script.txt: Counter Anorien_siege doesn't exist13:40:53.506 [game.script] [error] Script execution error for <set_counter>, at line 25, in mods/Dagor_Dagorath/data/world/maps/campaign/imperial_campaign/campaign_script.txt: Counter Anorien_siege doesn't exist13:40:53.506 [game.script] [error] Script execution error for <set_counter>, at line 25, in mods/Dagor_Dagorath/data/world/maps/campaign/imperial_campaign/campaign_script.txt: Counter Anorien_siege doesn't exist13:40:53.506 [game.script] [error] Script execution error for <set_counter>, at line 25, in mods/Dagor_Dagorath/data/world/maps/campaign/imperial_campaign/campaign_script.txt: Counter Anorien_siege doesn't exist13:40:53.506 [game.script] [error] Script execution error for <set_counter>, at line 25, in mods/Dagor_Dagorath/data/world/maps/campaign/imperial_campaign/campaign_script.txt: Counter Anorien_siege doesn't exist13:40:53.506 [game.script] [error] Script execution error for <set_counter>, at line 25, in mods/Dagor_Dagorath/data/world/maps/campaign/imperial_campaign/campaign_script.txt: Counter Anorien_siege doesn't exist

Типа счетчик не обнаруживается... А также ссылается на отсутсвие иммени фракции. Но надо чтобы движку было по барабану, какая фракция, главное - кем она управляется.Как можно в подобном функционале реализовать случаи :1) Владелец поселения - ИИ (осаждающая фракция - другой ИИ , либо человек) ??2) Владелец поселения - человек (осаждающая фракция - ИИ ) ??Также интересуют вопросы по срабатыванию гарнизонки:3) Как установить мгновенное срабатывание гарнизона в поселении сразу после осады (в подобной ситуации при данных условиях) ?? Такое было при мониторе типа monitor_conditions , но здесь в случае с monitor_event вся структура скрипта рушится... Перестает определять поселение и т.п., как ранее удалось убедиться.Заранее сапсибо всем за помощь и советы.Еще вопрос: условие SettlementIsLocal аналогично FactionIsLocal , только для поселений ?====================================================================================================Ну вроде бы использование SettlementIsLocal решило сию проблему. Тогда первые два вопроса отпадают, остается только третий:

) Как установить мгновенное срабатывание гарнизона в поселении сразу после осады (в подобной ситуации при данных условиях) ?? Такое было при мониторе типа monitor_conditions , но здесь в случае с monitor_event вся структура скрипта рушится... Перестает определять поселение и т.п., как ранее удалось убедиться.

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

Сообщение отредактировал Master_TW_DAR: 07 марта 2014 - 14:46

  • 0




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

0 пользователей, 1 гостей, 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