Голосование

Как вы оцениваете Смуту?












Оформление



Пользователей
  • Всего: 28869
  • Последний: Adr3naline
Сейчас на форуме
Пользователи: 1
Гостей: 251
Всего: 252

0 Пользователей и 1 Гость просматривают эту тему.

Тема: Справочник по твикам РоР (ссылки на посты с актуальными твиками внизу шапки)  (Прочитано 578522 раз)

  • Сообщений: 70
    • Просмотр профиля
0
« Ответ #1250 : 28 Августа, 2019, 18:50 »
Первое что ты должен осознать - companions_start это не жестко прописанная константа, это просто юнит. Такой же как и trp_npc_adonja (по сути это она и есть). Т.е. что один вариант, что другой, в скомпилированном виде будет иметь вид 360287970189640186. Игре абсолютно побоку как он называется в модульке, она сохраняет и обращается только к его порядковому номеру. Что из этого следует -
(try_for_range, ":companion", companions_start, companions_end),
равно
(try_for_range, ":companion", "trp_npc_adonja", "trp_kingdom_1_lord"),
равно
6 3 1224979098644774912 360287970189640186 360287970189640206

Вот только это все работает только, если работать с модулькой. Если работать со скомпилированными текстовиками, то во всех случаях, где была задействована companions_end она останется в изначальном значении (= 360287970189640206). Даже если же добавить еще спутников до companions_end, то ее значение по прежнему будет 360287970189640206, соответственно новые спутники не будут обрабатываться. А вдобавок, поедут и остальные скрипты с циклами, где были задейстованы всякие *_begin и *_end константы.

Единственный выход, получается, вставлять любых новых воинов только в конец файла troops.

И потом вот так дополнительно, с помощью this_or_next|, проверять их:
(this_or_next|is_between, ":troop", "trp_fierd_recruit", "trp_fierd_warrior"),
(is_between, ":troop", "trp_pendor_recruit", "trp_pendor_bladesman"),

Dalion, спасибо, что помог разобраться)
  • Ник в M&B: Timoxxx
  • Сообщений: 52
    • Просмотр профиля
0
« Ответ #1251 : 29 Августа, 2019, 15:35 »
Здравствуйте.

Ситуация такая : после победы над вражеской армией, освобождённые пленные могут быть взяты в отряд армии-победителя.
Лимит уровня юнитов, которых можно взять в своё войско после освобождения из плена, можно изменить с помощью твика 17F https://pop3.fandom.com/wiki/Tweaks.
Но это ограничение накладывается для всех отрядов, в т.ч. и для игрока. Беда заключается в том, что игрок выборочно отбирает пленных, когда как ИИ берёт всех сразу.
Это означает фракционное/уровневое/рассовое смешение бойцов в ИИ-отрядах. После 200-300 дней это становится очень заметным и портит впечатления от игры.

Скажите пожалуйста, как сделать твик, ограничивающий лимит уровня для отдельно для ИИ и отдельно для игрока?


Я поставил уровень 0 - без возможности взять в отряд освобождённых пленных. Но всё же интересно, как сделать разграничение.
Быть может другие предпочитают брать пленных в отряд, но при этом не хотят видеть смешение в ИИ-отрядах.

Благодарю.
« Последнее редактирование: 01 Сентября, 2019, 15:08 от Userthem »
  • Сообщений: 553
  • За активную деятельность, связанную с публикациями и помощью другим посетителям
    • Просмотр профиля
+2
« Ответ #1252 : 29 Августа, 2019, 18:04 »
Userthem, не тестил, но по моему так:

===удалено с позором===
« Последнее редактирование: 01 Сентября, 2019, 19:49 от Dalion »
На данный момент я твиками больше не занимаюсь.
  • Сообщений: 70
    • Просмотр профиля
+1
« Ответ #1253 : 31 Августа, 2019, 18:41 »
Userthem, не тестил, но по моему так:


Твик не будет работать, т.к. первым аргументом в этом скрипте является временная промежуточная армия, которая потом будет предложена лорду, а не армия лорда сразу.
  • Ник в M&B: Timoxxx
  • Сообщений: 553
  • За активную деятельность, связанную с публикациями и помощью другим посетителям
    • Просмотр профиля
+1
« Ответ #1254 : 31 Августа, 2019, 19:55 »
которая потом будет предложена лорду
Именно. И состоять она будет только из тех, чей уровень ниже указанного лимита. Остальные не будут предложены => лорд их не получит => мешанины не будет => твик работает как задумано.
На данный момент я твиками больше не занимаюсь.
  • Сообщений: 70
    • Просмотр профиля
+2
« Ответ #1255 : 31 Августа, 2019, 20:54 »
- Синий участок заменяем на:
4 0 31 2 1224979098644774912 648518346341351424

Как я понял, тут идет сравнение 1 аргумента функции = 1224979098644774912 (что является временной партией) с отрядом игрока = 648518346341351424.
И логично, что временная партия никогда не будет равна отряду игрока. Или что-то путаю?
  • Ник в M&B: Timoxxx
  • Сообщений: 553
  • За активную деятельность, связанную с публикациями и помощью другим посетителям
    • Просмотр профиля
+1
« Ответ #1256 : 31 Августа, 2019, 21:21 »
Timon, ой черт, в глаза долблюсь видимо, ты прав... 1224979098644774913 должно быть. Исправлено, спасибо!
На данный момент я твиками больше не занимаюсь.
  • Сообщений: 70
    • Просмотр профиля
+1
« Ответ #1257 : 31 Августа, 2019, 21:52 »
1224979098644774913 должно быть.
Тоже не так  :)
Второй аргумент = проигравший отряд. В таком случае проверка будет истинной только в случае, если прихлопнут главного героя :D

Как вообще происходит процесс освобождения после битвы:
1. Создается (очищается) временный отряд
2. Пленные из проигравшего отряда добавляются во временный отряд (собственно наш скрипт)
3. В тот же временный отряд добавляются пленные из числа раненых
4. Временный отряд присоединяется к победившему отряду (если победителей несколько, то разделяется между ними)

Вот поэтому и суть всей проблемы - в "нашем" скрипте нам не известен отряд победителя. Нужно дополнительно его туда "вкинуть".

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

Как доделаю и протестирую твик - скину сюда.
  • Ник в M&B: Timoxxx
  • Сообщений: 553
  • За активную деятельность, связанную с публикациями и помощью другим посетителям
    • Просмотр профиля
+1
« Ответ #1258 : 31 Августа, 2019, 21:56 »
Тоже не так  :)
Второй аргумент = проигравший отряд. В таком случае проверка будет истинной только в случае, если прихлопнут главного героя :D

Ладно, я больше ни в чем не уверен (кроме того что лично тестил).
VonDegurechaff правильно говорила, что для того чтоб твикать Варбанд надо 4 высших образования, а у меня только 3  =/

Вот поэтому и суть всей проблемы - в "нашем" скрипте нам не известен отряд победителя. Нужно дополнительно его туда "вкинуть".

Будет ли хоть немноого верным такой способ:
в скрипте game_event_simulate_battle (единственном месте в игре, где вызывается скрипт party_add_party_prisoners) взять 1224979098644774933 (это ж победитель?), передать его 4-ым параметром и сравнить с партией игрока в том месте. Пойдет?
« Последнее редактирование: 31 Августа, 2019, 22:33 от Dalion »
На данный момент я твиками больше не занимаюсь.
  • Сообщений: 70
    • Просмотр профиля
+1
« Ответ #1259 : 31 Августа, 2019, 22:04 »
Timon, а что если передать скрипту победителя новым, четвертым параметром? (сейчас у него только три)

Это я и собираюсь сделать  :)

Но там, оказывается, есть решение проще: третий аргумент всегда (и только) равен = 1, если победитель - ГГ. Это если нужно разграничить получение пленных для героя или ИИ.
  • Ник в M&B: Timoxxx
  • Сообщений: 553
  • За активную деятельность, связанную с публикациями и помощью другим посетителям
    • Просмотр профиля
+1
« Ответ #1260 : 31 Августа, 2019, 22:20 »
третий аргумент всегда (и только) равен = 1, если победитель - ГГ. Это если нужно разграничить получение пленных для героя или ИИ.

Черт такое ощущение что ты сам писал этот скрипт  :D
Я вот смотрю на него примерно так:
« Последнее редактирование: 01 Сентября, 2019, 19:49 от Dalion »
На данный момент я твиками больше не занимаюсь.
  • Сообщений: 250
  • За создание технических проектов различного характера
    • Просмотр профиля
    • Mount & Blade - Prophesy of Pendor & Perisno
+3
« Ответ #1261 : 31 Августа, 2019, 22:33 »
  • Ник в M&B: Pina co Lada
  • Сообщений: 52
    • Просмотр профиля
0
« Ответ #1262 : 01 Сентября, 2019, 15:01 »
Dalion, Timon, благодарю. Я, и вероятно многие другие, с нетерпением ждём решения.  :)



Здравствуйте.

Ситуация такая : некоторые/все перебежчики-лорды сохраняют изначальный (фракционный) состав войска.

Как заставить их набирать войска в соответствии с фракцей, к которой они присоединились?

Благодарю.
« Последнее редактирование: 01 Сентября, 2019, 15:06 от Userthem »
  • Сообщений: 70
    • Просмотр профиля
+1
« Ответ #1263 : 01 Сентября, 2019, 17:43 »
Как заставить их набирать войска в соответствии с фракцей, к которой они присоединились?
Попробуй так (не тестил, но должно работать):
  • Ник в M&B: Timoxxx
  • Сообщений: 553
  • За активную деятельность, связанную с публикациями и помощью другим посетителям
    • Просмотр профиля
+1
« Ответ #1264 : 01 Сентября, 2019, 18:03 »
Я, и вероятно многие другие, с нетерпением ждём решения.  :)

Хорошо, как будет что-то рабочее - выложим)
« Последнее редактирование: 01 Сентября, 2019, 19:50 от Dalion »
На данный момент я твиками больше не занимаюсь.
  • Сообщений: 52
    • Просмотр профиля
+1
« Ответ #1265 : 01 Сентября, 2019, 18:53 »
К великому сожалению, что-то пошло не так : либо я напортачил, либо скрипт по какой-то причине не работает.
Я не знаю где мог бы напортачить. Сделал всё как сказано :

Но беда : в плен берутся только нетренированные бойцы (untrained fighter) в количестве, которое может превышать количество освобождённых пленных разбитого войска; к тому же выскакивают ошибки :

Что делать?  :o
Вроде руки не кривые... Видимо где-то криванул.  :embarrassed:
« Последнее редактирование: 01 Сентября, 2019, 19:31 от Userthem »
  • Сообщений: 553
  • За активную деятельность, связанную с публикациями и помощью другим посетителям
    • Просмотр профиля
+1
« Ответ #1266 : 01 Сентября, 2019, 19:20 »
Userthem, поставили вы правильно, проблема в самом скрипте. Поехали некоторые переменные, и я даже знаю почему. Больше не буду ничего сюда кидать "на пробу", только проверенное и рабочее. Оставайтесь на линии)
« Последнее редактирование: 01 Сентября, 2019, 19:25 от Dalion »
На данный момент я твиками больше не занимаюсь.
  • Сообщений: 250
  • За создание технических проектов различного характера
    • Просмотр профиля
    • Mount & Blade - Prophesy of Pendor & Perisno
+1
« Ответ #1267 : 01 Сентября, 2019, 19:30 »
@Dalion Вместо того, чтоб изменить одно число, ты продублировал цикл. Лень разбираться в чем проблема у тебя, скорее всего что-то кого-то перезаписывает или не допереписывает, но вот это работает без ошибок(по крайней мере в моем 5-ти минутном тесте).

U.P.D собрались 3Head ы и начали думать... Это тоже не работает, кек
« Последнее редактирование: 01 Сентября, 2019, 19:52 от VonDegurechaff »
  • Ник в M&B: Pina co Lada
  • Сообщений: 553
  • За активную деятельность, связанную с публикациями и помощью другим посетителям
    • Просмотр профиля
0
« Ответ #1268 : 01 Сентября, 2019, 19:35 »
VonDegurechaff, я знаю в чем проблема, но ее нельзя здесь называть) Больше не повторится
На данный момент я твиками больше не занимаюсь.
  • Сообщений: 52
    • Просмотр профиля
0
« Ответ #1269 : 01 Сентября, 2019, 19:37 »
Прошу удалить это сообщение.
« Последнее редактирование: 02 Сентября, 2019, 14:16 от Userthem »
  • Сообщений: 52
    • Просмотр профиля
0
« Ответ #1270 : 01 Сентября, 2019, 19:39 »
Увы, это никак не влияет.

U.P.D собрались 3Head ы и начали думать... Это тоже не работает, кек
:thumbup:


У меня ещё столько вопросов и попросту хотелок...
Видимо мне самому нужно начать скрипты править.
« Последнее редактирование: 01 Сентября, 2019, 19:56 от Userthem »
  • Сообщений: 553
  • За активную деятельность, связанную с публикациями и помощью другим посетителям
    • Просмотр профиля
+3
« Ответ #1271 : 01 Сентября, 2019, 20:09 »
Userthem, рабочая версия:

Проверялось на нолдорском патруле, у которого в плену были рыцари Льва (ур47). Игрок, которому был выставлен лимит 100 - смог их забрать, в то время как Борис Ворон, лимит которого остался 40 - нет.

Твик на самом деле совсем не сложный, мы не должны были думать над ним дольше 10 минут. Но увы, допустилась ошибка, которой впредь не будет, обещаю.


« Последнее редактирование: 01 Сентября, 2019, 23:09 от Dalion »
На данный момент я твиками больше не занимаюсь.
  • Сообщений: 70
    • Просмотр профиля
+4
« Ответ #1272 : 02 Сентября, 2019, 01:27 »
Наконец-таки, оно готово!  :D

Моя реализация идеи, с которой можно вербовать в плен любых существ при определенных условиях. Однако, игра не будет упрощена, ибо не получится со старта набрать из плена отряд из 100 нолдоров и нагибать ими. Если хотите нолдоров, то потребуется высокий уровень героя, хорошие отношения с нолдорами и навык убеждения, чтобы они захотели присоединиться к вам. Зато, отказавшихся присоединиться к отряду, можно взять в плен и затем продать за круглую сумму. Все достаточно реалистично и порой хардкорно (но можно настроить на свой вкус).

В общем, представляю на обозрение:


Все было протестировано на разных отрядах и пленниках и прекрасно работает. Если кто решит поставить твик себе, буду рад фидбеку.
  • Ник в M&B: Timoxxx
  • Сообщений: 52
    • Просмотр профиля
+1
« Ответ #1273 : 02 Сентября, 2019, 04:33 »
Наконец-таки, оно готово!  :D
Как в любом деле, даже в котором не разбираешься, высокий уровень мастерства восхищает.  :thumbup:
Очень приятно смотреть на весь ваш текст. Это обязательно должно войти в список твиков к PoP на pop3.fandom.com/wiki/Tweaks
Благодарю.

И естественно, всё работает как по маслу.  :laught:


Об игре : иногда бывает такое, что ИИ-герой-предводитель остался с малым войском, но сотнями, а может даже более тысячами пленных. Это просто настоящая удача.
Я помню как повезло найти Малтиса отрядом в двести бойцов и с 2437 пленными. Та ещё нажива. 87 нолдоров! После этого и задумался про запрет набора освобождённых пленных.
К великому сожалению ранее приходилось вообще ограничивать набор. Теперь, благодаря вашему труду, я могу позволить себе набирать пленных, запрещая сие дело ИИ-отрядам.
Отмечу, что в отряд я буду брать только новобранцев, особенно крестьян - пендорская линейка. А все остальные высокоуровневые не нужны - хардок идёт в утиль.
Иными словами, вы предложили отличнейшее решение : буду брать новобранцев, а остальных в плен. Никто вас не освобождал. Теперь вы у меня в плену.  :crazy:
« Последнее редактирование: 02 Сентября, 2019, 21:27 от Userthem »
  • Сообщений: 14
    • Просмотр профиля
0
« Ответ #1274 : 04 Сентября, 2019, 18:58 »
кто нибудь может написать твик на управление камерой без нумпада, играю в ПоП с ноута и именно в ПоПе почему-то,как мне кажется,по стандарту камера стоит слишком близко к персу и её очень хочется отдалить( на обычной клаве одного короткого зажатия минуса на нумпаде обычно хватает), я не уверен , но вроде в нативе или в дипломаси, стандартная камера кажется немного дальше от персонажа находится, да и в этих модулях как-то  не критично близкое расположение камеры,а вот в ПоПе близкая камера мешает и с ней некомфортно играть , но кнопку отдаления камеры нельзя поменять внутри игры, а через файлы я не знаю как.Может есть программа какая-нибудь которая позволяет назначить определённым клавишам функции нумпада? Помогите плиз и ДА БУДУТ ПРОКЛЯТЫ НОУТЫ С УРЕЗАННЫМ КОЛ-ВМ КЛАВИШ!
  • Фракция: Норды

СиЧЪ Total War СиЧЪ Total War
Сайт "Всадники Кальрадии" не является СМИ. Администрация не несет ответственность за высказывания и публикацию каких-либо материалов, сделанные любыми пользователями форума, в том числе посредством личных и публичных сообщений. Материалы, размещенные на ресурсе третьими лицами, могут содержать информацию, не предназначенную для лиц, не достигнувших совершеннолетия. При обнаружении на ресурсе материалов, нарушающих законодательство Российской Федерации, необходимо обращаться к администрации.
Сайт работает на быстром VPS/VDS хостинге от FASTVPS


Powered by SMF 2.0 | SMF © Simple Machines LLC