Библиотека готовых скриптов для Medieval 2 Total War
В этой теме будем собирать готовые скрипты, которые можно непосредственно применить в моде, только подставив свои данные. Предупреждаю сразу, флуд, споры, вопросы будут пресекаться на корню. Обсуждение, предоставленных скриптов можно вести в этой теме: Моддинг и тюнинг в МТВ2 Пожалуйста, описывайте подробно назначение скрипта. Очень желательно подробно комментировать текст, чтобы читающим легче было разобраться. Кроме того, старайтесь указывать авторство скрипта или хотя бы мод из которого он взят, если написали его не сами. Все размещённые скрипты проверяйте на работоспособность. Такой вариант: «там кто-то написал вот кидаю сюда скрипт» не принимается во-внимание. Лучшие и проверенные скрипты выносятся в шапку темы.
1. Генерация агента в заданной точке.
Скрипт генерирует агентов в заданной точке карты. (Скрипт от Камрада Максима Суворова предоставил Vadim) Данный Скрипт прописываеться в начале, или в конце Файла data\world\maps\campaign\imperial_campaign\ campaign_script.txt
2. Скрипт по возрождению разгромленной фракции.
declare_counter ozhivlenieireland 0 ; задаём переменную, которая которая будет проверять, есть ли ещё города у Ирландии.
monitor_event FactionTurnEnd FactionIsLocal and I_NumberOfSettlements ireland Проверяем, если у ютов городов меньше 1. and I_CompareCounter ozhivlenieireland = 0 ; И если переменная Возрождение Ирландцев ещё не активирована, and RandomPercent > 1 ; шанс на возрождение фракции на этом ходу 10%, сделано для того, каждый ход не появлялось по новому стеку войска and RandomPercent 0 add_events ; Если переменная Возрождения ютов активна, то содать событие «Ирландия возвращается» event emergent_faction ireland ; region Yuti_Region date 0 end_add_events
spawn_army ; создать армию Ирландии со случайным командирам по таким-то координатам, со следующим составом войск. faction ireland character random_name, named character, age 19, x 22, y 51, family unit NE Bodyguard exp 2 armour 0 weapon_lvl 0 unit Angl horse combatant exp 1 armour 0 weapon_lvl 0 unit Angl combatant exp 1 armour 0 weapon_lvl 0 unit Yut robber exp 1 armour 0 weapon_lvl 0 unit Yut phalanx exp 0 armour 0 weapon_lvl 0
monitor_event FactionTurnStart FactionIsLocal ; Проверяем в начале хода, если Ирландцы захватили хоть один город, тогда событие «возрождение Ирландии» отключить. and I_CompareCounter ozhivlenieireland > 0 set_counter ozhivlenieireland 0 end_monitor
3. скрипт при игре за Папскую область дает 100% вероятность того, что Папа объявит предложенный вами поход.
Думаю, что многие, кто пытался сделать играбельными Папскую область в ваниле удивлялись тому, что играя за нее приходится просить Папу римского об объявлении крестового похода, как-то нелогично получается, управляя Папой просить у него что-то.
В общем скрипт при игре за Папскую область дает 100% вероятность того, что Папа объявит предложенный вами поход:
ВОПРОС Можно скриптом прописать, чтобы каждый ход с союзными фракциями отношения улучшались до максимума, а с враждебными падали до минимума. Как это можно сделать с помощью скрипта?
Идём дальше. В этом же файле задаются с кем стартовые война, союз или вассалитет.
Теперь по существу вопроса, как сделать вечный мир? Каждый ход создавать скрипт, установить дип отношения стран А и Б в «союзные», и отношения повышать до тёплых и тогда они даже если захотят, будут дружить. То же и с вечной войной. Подробно расписывать как сделать скрипт не стану, или расписать всё-же?:
В этой теме будем собирать готовые скрипты, которые можно непосредственно применить в моде, только подставив свои данные. Предупреждаю сразу, флуд, споры, вопросы будут пресекаться на корню. Обсуждение, предоставленных скриптов можно вести в этой теме: Для просмотра ссылки Зарегистрируйтесь Пожалуйста, описывайте подробно назначение скрипта. Очень желательно подробно комментировать текст, чтобы читающим легче было разобраться. Кроме того, старайтесь указывать авторство скрипта или хотя бы мод из которого он взят, если написали его не сами. Все размещённые скрипты проверяйте на работоспособность. Такой вариант: «там кто-то написал вот кидаю сюда скрипт» не принимается во-внимание. Лучшие и проверенные скрипты выносятся в шапку темы.
1. Генерация агента в заданной точке.
Скрипт генерирует агентов в заданной точке карты. (Скрипт от Камрада Максима Суворова предоставил Vadim) Данный Скрипт прописываеться в начале, или в конце Файла data\world\maps\campaign\imperial_campaign\ campaign_script.txt
2. Скрипт по возрождению разгромленной фракции.
declare_counter ozhivlenieireland 0 ; задаём переменную, которая которая будет проверять, есть ли ещё города у Ирландии.
monitor_event FactionTurnEnd FactionIsLocal and I_NumberOfSettlements ireland Проверяем, если у ютов городов меньше 1. and I_CompareCounter ozhivlenieireland = 0 ; И если переменная Возрождение Ирландцев ещё не активирована, and RandomPercent > 1 ; шанс на возрождение фракции на этом ходу 10%, сделано для того, каждый ход не появлялось по новому стеку войска and RandomPercent 0 add_events ; Если переменная Возрождения ютов активна, то содать событие «Ирландия возвращается» event emergent_faction ireland ; region Yuti_Region date 0 end_add_events
spawn_army ; создать армию Ирландии со случайным командирам по таким-то координатам, со следующим составом войск. faction ireland character random_name, named character, age 19, x 22, y 51, family unit NE Bodyguard exp 2 armour 0 weapon_lvl 0 unit Angl horse combatant exp 1 armour 0 weapon_lvl 0 unit Angl combatant exp 1 armour 0 weapon_lvl 0 unit Yut robber exp 1 armour 0 weapon_lvl 0 unit Yut phalanx exp 0 armour 0 weapon_lvl 0
monitor_event FactionTurnStart FactionIsLocal ; Проверяем в начале хода, если Ирландцы захватили хоть один город, тогда событие «возрождение Ирландии» отключить. and I_CompareCounter ozhivlenieireland > 0 set_counter ozhivlenieireland 0 end_monitor
3. скрипт при игре за Папскую область дает 100% вероятность того, что Папа объявит предложенный вами поход.
Думаю, что многие, кто пытался сделать играбельными Папскую область в ваниле удивлялись тому, что играя за нее приходится просить Папу римского об объявлении крестового похода, как-то нелогично получается, управляя Папой просить у него что-то.
В общем скрипт при игре за Папскую область дает 100% вероятность того, что Папа объявит предложенный вами поход:
ВОПРОС Можно скриптом прописать, чтобы каждый ход с союзными фракциями отношения улучшались до максимума, а с враждебными падали до минимума. Как это можно сделать с помощью скрипта?
Идём дальше. В этом же файле задаются с кем стартовые война, союз или вассалитет.
Теперь по существу вопроса, как сделать вечный мир? Каждый ход создавать скрипт, установить дип отношения стран А и Б в «союзные», и отношения повышать до тёплых и тогда они даже если захотят, будут дружить. То же и с вечной войной. Подробно расписывать как сделать скрипт не стану, или расписать всё-же?:
В этой теме будем собирать готовые скрипты, которые можно непосредственно применить в моде, только подставив свои данные. Предупреждаю сразу, флуд, споры, вопросы будут пресекаться на корню. Обсуждение, предоставленных скриптов можно вести в этой теме: Для просмотра ссылки Зарегистрируйтесь Пожалуйста, описывайте подробно назначение скрипта. Очень желательно подробно комментировать текст, чтобы читающим легче было разобраться. Кроме того, старайтесь указывать авторство скрипта или хотя бы мод из которого он взят, если написали его не сами. Все размещённые скрипты проверяйте на работоспособность. Такой вариант: «там кто-то написал вот кидаю сюда скрипт» не принимается во-внимание. Лучшие и проверенные скрипты выносятся в шапку темы.
1. Генерация агента в заданной точке.
Скрипт генерирует агентов в заданной точке карты. (Скрипт от Камрада Максима Суворова предоставил Vadim) Данный Скрипт прописываеться в начале, или в конце Файла data\world\maps\campaign\imperial_campaign\ campaign_script.txt
2. Скрипт по возрождению разгромленной фракции.
declare_counter ozhivlenieireland 0 ; задаём переменную, которая которая будет проверять, есть ли ещё города у Ирландии.
monitor_event FactionTurnEnd FactionIsLocal and I_NumberOfSettlements ireland Проверяем, если у ютов городов меньше 1. and I_CompareCounter ozhivlenieireland = 0 ; И если переменная Возрождение Ирландцев ещё не активирована, and RandomPercent > 1 ; шанс на возрождение фракции на этом ходу 10%, сделано для того, каждый ход не появлялось по новому стеку войска and RandomPercent 0 add_events ; Если переменная Возрождения ютов активна, то содать событие «Ирландия возвращается» event emergent_faction ireland ; region Yuti_Region date 0 end_add_events
spawn_army ; создать армию Ирландии со случайным командирам по таким-то координатам, со следующим составом войск. faction ireland character random_name, named character, age 19, x 22, y 51, family unit NE Bodyguard exp 2 armour 0 weapon_lvl 0 unit Angl horse combatant exp 1 armour 0 weapon_lvl 0 unit Angl combatant exp 1 armour 0 weapon_lvl 0 unit Yut robber exp 1 armour 0 weapon_lvl 0 unit Yut phalanx exp 0 armour 0 weapon_lvl 0
monitor_event FactionTurnStart FactionIsLocal ; Проверяем в начале хода, если Ирландцы захватили хоть один город, тогда событие «возрождение Ирландии» отключить. and I_CompareCounter ozhivlenieireland > 0 set_counter ozhivlenieireland 0 end_monitor
3. скрипт при игре за Папскую область дает 100% вероятность того, что Папа объявит предложенный вами поход.
Думаю, что многие, кто пытался сделать играбельными Папскую область в ваниле удивлялись тому, что играя за нее приходится просить Папу римского об объявлении крестового похода, как-то нелогично получается, управляя Папой просить у него что-то.
В общем скрипт при игре за Папскую область дает 100% вероятность того, что Папа объявит предложенный вами поход:
ВОПРОС Можно скриптом прописать, чтобы каждый ход с союзными фракциями отношения улучшались до максимума, а с враждебными падали до минимума. Как это можно сделать с помощью скрипта?
Идём дальше. В этом же файле задаются с кем стартовые война, союз или вассалитет.
Теперь по существу вопроса, как сделать вечный мир? Каждый ход создавать скрипт, установить дип отношения стран А и Б в «союзные», и отношения повышать до тёплых и тогда они даже если захотят, будут дружить. То же и с вечной войной. Подробно расписывать как сделать скрипт не стану, или расписать всё-же?:
monitor_event FactionTurnStart FactionType england and FactionBuildingExists >= governor_house and FactionIsLocal
Игра поэтапно проверяет условия, т.е. начало хода фракции, проверяет тип фракции в момент начала хода каждой фракции и если это Англия, то идет дальше. При этом проверка условия наличия у фракции здания «дом губернатора» занимает больше времени, чем проверка условия FactionIsLocal, и при вышеописанном расположении мониторов получается, что если вы играете не за Англию, то игра долго проверяет наличие здания у англичан, а потом обнаруживает что эта фракция ИИ и сбрасывает монитор. В таком случае выходит что процессор выполнил бесполезную работу, затратив время вхолостую. То есть в этом примере как минимум FactionIsLocal должно проверяться до FactionBuildingExists, чтобы не тратить время работы процессора зря. Под этим и понимается рациональное расположение условий.
Таким образом, при проверке этих условий монитор сработает 900 раз (3 монитора на 300 персонажей по условию CharacterTurnStart), из них для Англии сработает 45 мониторов (15 персонажей и 3 монитора), дальше проверка трейта будет проходить 45 раз, из которых эффективными будут 3 (1 персонаж с уникальным трейтом и 3 монитора), и 3 раза проверится принадлежность Парижа.
А вот если запись скрипта будет такой
При этом монитор запустится 300 раз (300 персонажей на карте для условия CharacretTurnStart), 15 раз для Англии проверится Trait xx_trait >0 (15 английских персонажей на карте) и 3 раза проверится принадлежность Парижа. Итого на 600 запусков монитора CharacterTurnStart меньше и на 30 проверок трейта для Англии меньше. Процессор занят меньше на 2/3 при том, что на карте произойдет то же самое. Если учесть, что в скрипте бывает несколько тысяч с лишним мониторов и больше 300 персонажей на карте, цифры «холостой» работы процессора при нерациональной прописи скрипта возрастают на порядки.
————————————————— Команда: battle_restrict_clickable_area Параметры: left, top, right, bottom or no parameters to clear all regions Описание: ограничивает область, в рамках которой игрок может кликать Пример использования: battle_restrict_clickable_area 1,2,3,4 Класс: BATTLE_RESTRICT_CLICKABLE_AREA Использование: Да Автор: Adam ————————————————— Команда: game_quit Параметры: n/a Описание: Quits the game Пример использования: game_quit Класс: GAME_QUIT Использование: Да Автор: Artem ————————————————— Команда: reset_rand Параметры: n/a Описание: Сбрасывает генератор случайных чисел Пример использования: reset_rand Класс: RESET_RAND Использование: Да Автор: Andriy ————————————————— Команда: invulnerable_general Параметры: character_name Описание: invulnerable_general : делает генерала неуязвимым в битве Пример использования: invulnerable_general Класс: BATTLE_INVULNERABLE_GENERAL Использование: Да Автор: Adam ————————————————— Команда: vulnerable_general Параметры: character_name Описание: vulnerable_general : делает генерала уязвимым в битве Пример использования: vulnerable_general Класс: BATTLE_VULNERABLE_GENERAL Использование: Да Автор: Adam ————————————————— Команда: move_strat_camera Параметры: strategy map position Описание: плавно перемещает камеру в указанную позицию Пример использования: move_camera 20,35 Класс: MOVE_STRAT_CAMERA Использование: Да Автор: Guy ————————————————— Команда: snap_strat_camera Параметры: strategy map position Описание: мгновенно перемещает камеру в указанную позицию Пример использования: snap_strat_camera 20,35 Класс: SNAP_STRAT_CAMERA Использование: Да Автор: Guy ————————————————— Команда: zoom_strat_camera Параметры: strategy map position Описание: Зум камеры (0 близко, 1 далеко) Пример использования: zoom_camera 0.4 Класс: ZOOM_STRAT_CAMERA Использование: Нет Автор: Guy ————————————————— Команда: camera_restrictions_set Параметры: on/off Описание: sets or unsets the restricted camera Пример использования: camera_restrictions_set on Класс: CAMERA_RESTRICTIONS_SET Использование: Да Автор: Robbie ————————————————— Команда: lock_camera_restrictions_set Параметры: on/off Описание: вкл/выкл способность игрока изменять ограничение камеры Пример использования: lock_camera_restrictions_set on Класс: LOCK_CAMERA_RESTRICTIONS_SET Использование: Да Автор: Adam ————————————————— Команда: camera_event_cuts_active_set Параметры: on/off Описание: активирует/деактивирует камеру событий Пример использования: camera_event_cuts_active_set off Класс: CAMERA_EVENT_CUTS_ACTIVE_SET Использование: Да Автор: Robbie ————————————————— Команда: camera_default_mode_set Параметры: tw/rts/general/user_pref Описание: по дефолту устанавливает камеру на TotalWar Camera (tw), RTS Camera (rts), General’s Camera (general) или другую по преференциям
back along the z axis Класс: SET_CAMERA_BOOKMARK Использование: Да Автор: Tom ————————————————— Команда: camera_position_at_bookmark Параметры: Index (0-21) Описание: перемещает камеру по закладке Пример использования: camera_position_at_bookmark 0 Класс: CAMERA_POSITION_AT_BOOKMARK Использование: Да Автор: Robbie ————————————————— Команда: camera_zoom_to_bookmark Параметры: Index (0-21) max_speed(optional default=200) Описание: If the bookmark has been set (either in game, or with set_camera_bookmark), then this will move the camera to the position and
3d MAXом. Я собственно стены разного уровня просматривал, но там же есть порты и все остальное вроде.
Спасибо. Щас попробую.
Только вот не пойму как убрать этот ужасный блик на крыше здания. От текстуры он видимо не зависит. Потому что я их менял, а блик все равно остается(исчезает только когда курсор на город наводиш). Подскажите плиз, как его хотя бы уменьшить. Может дело в освещении на страткарте и его как то поменять можно??
Подскажите пожалуйста что отвечает за точность у артилерии и что лишнее у баллисты в SS6.4 что у нее в описание плохо стреляет по пехоте(мажет).
type NE Ballista dictionary NE_Ballista ; Ballista category siege class missile voice_type Heavy banner faction main_missile banner holy crusade soldier NE_Ballista_Crew, 16, 4, 0.8, 0.30 officer northern_captain engine ballista