Paradox
©
Fisana

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


Фотография

[Обсуждение] Скрипты в Empire: Total War


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 38

#11 Shved

Shved

    Мододел

  • Мододел
  • 2 366 сообщений
  • Откуда:Россия, г. Ижевск
  • Прозвище:Чародей
  • Награды:
  • Создатель:The Third Age: TW, Third Age: Dagor Dagorath
Регистрация: 08.мар.08
Слава: 136

Отправлено 14 апреля 2009 - 17:42

Да, ты прав, >= (больше или равно), <= (меньше или равно).
  • 0
"A wizard is never late, Frodo Baggins. Nor is he early. He arrives precisely when he means to" Gandalf
"The battle for Middle-earth, has begun..." Gandalf
"If we fall, who shall stand?" - Я

#12 hick

hick

    CiЧовий дiд

  • Мододел
  • 2 205 сообщений
  • Откуда:Камышин-Москва РФ
  • Награды:
  • Создатель:Ogniem i Mieczem:TW; Call of Warhammer:TW
Регистрация: 11.янв.08
Слава: 210

Отправлено 14 апреля 2009 - 17:59

[Скриптовое дополнение ESI (Empire script improvment) 0.01
Включается финансовый скрипт, при котором у всех 89 фракций при управлении ИИ при банкротстве начисляются дополнительные деньги.
Для примера код следующий:
if conditions.FactionName("afganistan", context) and not conditions.FactionIsHuman("afganistan", context) and conditions.FactionTreasury("afganistan", context) < 500 then
effect.adjust_treasury(1000,context)
elseif conditions.FactionName("american_rebels", context) and not conditions.FactionIsHuman("american_rebels", context) and conditions.FactionTreasury("american_rebels", context) < 500 then
effect.adjust_treasury(1000,context)
elseif conditions.FactionName("amerind_rebels", context) and not conditions.FactionIsHuman("amerind_rebels", context) and conditions.FactionTreasury("amerind_rebels", context) < 500 then
effect.adjust_treasury(1000,context)
elseif conditions.FactionName("austria", context) and not conditions.FactionIsHuman("austria", context) and conditions.FactionTreasury("austria", context) < 500 then
effect.adjust_treasury(1000,context)
elseif conditions.FactionName("austrian_rebels", context) and not conditions.FactionIsHuman("austrian_rebels", context) and conditions.FactionTreasury("austrian_rebels", context) < 500 then
effect.adjust_treasury(1000,context)
elseif conditions.FactionName("barbary_rebels", context) and not conditions.FactionIsHuman("barbary_rebels", context) and conditions.FactionTreasury("barbary_rebels", context) < 500 then
effect.adjust_treasury(1000,context)
end
Кидать в campaigns/main.
Начинаю работу над дипломатическим скриптом.

Прикрепленные файлы

  • Прикрепленный файл  scripting.rar   6,09К   87 Количество загрузок:

Сообщение отредактировал hick: 14 апреля 2009 - 17:59

  • 0
call of warhammer team

#13 sertom

sertom

    Молодик

  • Мододел
  • 38 сообщений
Регистрация: 09.янв.09
Слава: 4

Отправлено 14 апреля 2009 - 18:26

ИМХО, это слишком, такой скрипт позволит ИИ строить каждый ход войска несмотря на финансовые проблемы: то есть блокада торговых путей и захват городов становится менее эффективным. Я думаю правильней было бы добавлять денги, если их меньше, например, -1000, причём так, чтобы эта помощь просто не давала уйти в глубокий минус. Кстати, есть ли возможность установить кол-во денег, а не изменить на определённую величину? Было бы неплохо если денег становится меньше 0 - устанавливать на 0.Ещё было бы неплохо использовать переменные, то есть вначале функции определить значение local Addm = 1000local addcond = 500if conditions.FactionName("afganistan", context) and not conditions.FactionIsHuman("afganistan", context) and conditions.FactionTreasury("afganistan", context) < addcond theneffect.adjust_treasury(addm,context)Насколько я понимаю, Луа такое позволяет. Это значительно упростило бы достижение баланса. Будет ли работать такой код:Взял из соседней темы, на глаз вроде всё правильно, если работает - значительно всё упрощаетlocal function OnFactionTurnStart(context)if conditions.FactionTreasury(context) <= 500and not conditions.FactionIsLocal(context) thenplayers_turn = true effect.adjust_treasury ("1000", context)endend Если кто-то объяснит что такое players_turn = true - буду благодарен. На всякий случай не буду его убирать. Щас попробую протестить.Такс, кампания не загружается. Боюсь, пока не будет списка функций и условий с объяснениями и параметрами, разобраться не выйдет.

Сообщение отредактировал sertom: 14 апреля 2009 - 21:31

  • 0

#14 Alexander_1987

Alexander_1987

    CiЧовий дiд

  • Шляхта
  • 2 552 сообщений
  • Откуда:Кубань/Россия
  • Награды:
  • Создатель:Time of changes:TW; Ogniem i Mieczem 2: TW
Регистрация: 09.апр.09
Слава: 115

Отправлено 14 апреля 2009 - 19:52

Новшество в Империи: СА добавили трейты для регионов (провинций)! Теперь можно по скрипту организовывать эпидемии и в определенных регионах увеличивать непокорность завоевателям, например на Кавказе и в Индии увеличить недовольство, если они переходят в руки исламских фракций и много чего еще...Например скрипт эпидемии(трейта) холеры для региона будет выглядеть так:
local function OnRegionTurnStart(context)    if conditions.IsHomeRegion("britain", context) then        effect.trait("R_Infected_Cholera","region",1,100,context)    endend
Наработки по этому вопросу уже содержатся в моде Alpaca - Terra Incognita: ]]>http://www.twcenter....883#post4771883]]>

Сообщение отредактировал Alex1987: 14 апреля 2009 - 19:58

  • 0
«Нет уз святее товарищества! Отец любит свое дитя, мать любит свое дитя, дитя любит отца и мать. Но это не то, братцы: любит и зверь свое дитя. Но породниться родством по душе, а не по крови, может один только человек.»

"Тарас Бульба", Н.В. Гоголь.

#15 hick

hick

    CiЧовий дiд

  • Мододел
  • 2 205 сообщений
  • Откуда:Камышин-Москва РФ
  • Награды:
  • Создатель:Ogniem i Mieczem:TW; Call of Warhammer:TW
Регистрация: 11.янв.08
Слава: 210

Отправлено 14 апреля 2009 - 21:58

ИМХО, это слишком, такой скрипт позволит ИИ строить каждый ход войска несмотря на финансовые проблемы: то есть блокада торговых путей и захват городов становится менее эффективным. Я думаю правильней было бы добавлять денги, если их меньше, например, -1000, причём так, чтобы эта помощь просто не давала уйти в глубокий минус. Кстати, есть ли возможность установить кол-во денег, а не изменить на определённую величину? Было бы неплохо если денег становится меньше 0 - устанавливать на 0.

В этом скрипте я установил минимальное значение денег - 500 и добавляется всего 1000 - что не сильно влияет на баланс, но позволяет существенно повысить живучесть ИИ. Можно 1000 снизить до 600-700 в крайнем случае.

Ещё было бы неплохо использовать переменные, то есть вначале функции определить значение local Addm = 1000local addcond = 500if conditions.FactionName("afganistan", context) and not conditions.FactionIsHuman("afganistan", context) and conditions.FactionTreasury("afganistan", context) < addcond theneffect.adjust_treasury(addm,context)

Я привязял это условие к функции local function OnFactionTurnStart(context). ИМХО переменным самое место в гарнизонном скрипте, который я сейчас пытаюсь делать. Там они как раз заменят бишные счетчики. Здесь можно и без них обойтись.Б

удет ли работать такой код:Взял из соседней темы, на глаз вроде всё правильно, если работает - значительно всё упрощаетlocal function OnFactionTurnStart(context)if conditions.FactionTreasury(context) <= 500and not conditions.FactionIsLocal(context) thenplayers_turn = true effect.adjust_treasury ("1000", context)endend

Этот код не рабочий. Как мне сказали на твценте в этим условиях должны указываться в кавысках названия фракции, также аргументы в скобках должны быть вплотную в effect_adjust_treasury. И player_turn они не знают, сказали, лучше не использовать пока.

Такс, кампания не загружается. Боюсь, пока не будет списка функций и условий с объяснениями и параметрами, разобраться не выйдет

У меня рабочий скрипт получился только после пятой попытки(.
  • 0
call of warhammer team

#16 hick

hick

    CiЧовий дiд

  • Мододел
  • 2 205 сообщений
  • Откуда:Камышин-Москва РФ
  • Награды:
  • Создатель:Ogniem i Mieczem:TW; Call of Warhammer:TW
Регистрация: 11.янв.08
Слава: 210

Отправлено 14 апреля 2009 - 22:02

Эпидемии можно было и в Кингдумсе делать. Но это конечно хорошее нововведение, постараюсь что-то включить в свое дополнение. Также я просматривал ванильные команды, там есть инетересные по найму юнитов. Постараюсь сделать, чтобы в регинонах при осаде возникало ополчение, а после этого распускалось. Вроде это возможно.
  • 0
call of warhammer team

#17 sertom

sertom

    Молодик

  • Мододел
  • 38 сообщений
Регистрация: 09.янв.09
Слава: 4

Отправлено 15 апреля 2009 - 14:12

Количество добавляемых денег можно даже повысить. Я предлагаю понизить минимальное значение, чтобы эти деньги только держали ИИ на плаву, но не давали ему возможности строить войска.В том то и дело, что без переменных тут можно обойтись, тогда код будет близнецом БИшного, только с синтаксисом ЛУА. Использование переменных позволяет в случае необходимости изменить значения только в одном месте, а не в 89.
  • 0

#18 hick

hick

    CiЧовий дiд

  • Мододел
  • 2 205 сообщений
  • Откуда:Камышин-Москва РФ
  • Награды:
  • Создатель:Ogniem i Mieczem:TW; Call of Warhammer:TW
Регистрация: 11.янв.08
Слава: 210

Отправлено 15 апреля 2009 - 14:24

Да, думаю можно понизить количество денег с 500 до 100, а количество даваемых увеличить где-то до 1300-1500. Вообще, нужны бы тестеры. Без переменных писать уже привык, но, действительно, с ними удобнее. Модернизирую скрипт с переменными. В следующей версии постараюсь также добавить частичный гарнизонный скрипт.
  • 0
call of warhammer team

#19 Port

Port

    Козак

  • Сердюк
  • 563 сообщений
  • Откуда:Сибирь
  • Награды:
  • Должность:Бунчужный
Регистрация: 15.мар.09
Слава: 38

Отправлено 01 мая 2009 - 00:09

:rolleyes: Вопросик по скриптам : можно ли реализовать каперство? Тоесть своеобразный союз при определёных условиях пиратов с другими фракциями (ограничев общее число таких фракций). Так же по подробнее по недовольству в регионах, тоже любопытно кодик узнать на это дело. И на последок - по деньгам в случае вхождения в минусы фракций чтобы прибавлялась денюшка (но только пиратам! не так как в скриптом дополнении, чтобы живучи они были).Заранее спасибо!
  • 0

#20 hick

hick

    CiЧовий дiд

  • Мододел
  • 2 205 сообщений
  • Откуда:Камышин-Москва РФ
  • Награды:
  • Создатель:Ogniem i Mieczem:TW; Call of Warhammer:TW
Регистрация: 11.янв.08
Слава: 210

Отправлено 02 мая 2009 - 19:52

1) союз при определенных условиях реализовать можно (смотря при каких условиях) - такой код вваниле я видел.2) недовльство в терраинкогнита есть, в принципе, можно более менее сделать по аналогии3) деньги пиратам, это вполне можно. Вообще, много всего в скриптах пробовал, но многие команды не ясны и не поддерживаются. Для серьезной работы нужен бы конечно список команд. Итого вам, как я понял, примеры кода выложить, дальше по аналогии сделайте?
  • 0
call of warhammer team




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

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