Тема: Общие вопросы по модостроению  (Прочитано 948820 раз)

Ответ #1975 10 Октября, 2011, 23:06
0
Ребята подскажите как уменьшить армию ВСЕМ лордам. Тоисть чтобы у них было не по 100 чел, а максимум по 25-30, ну это к примеру. И можна ли выбирать уровень этих солдат? Оч надо.
Ответ #1976 14 Октября, 2011, 14:14
0
Самый простой вариант - уменьшить их известность и навык лидерства. По более изощренным способам ничего сказать не могу.
Ответ #1977 14 Октября, 2011, 19:07
0
В конце party_get_ideal_size, можно даже txt найти, есть число 80. Его увеличить раза в 3.

Что значит "выбирать" уровень?
Изменить состав? Можно поменять kingdom_*_reinforcements* в party_templates.
Но это изменит и состав гарнизонов.
« Последнее редактирование: 14 Октября, 2011, 19:16 от Rongar »
Ответ #1978 16 Октября, 2011, 17:30
0
В конце party_get_ideal_size, можно даже txt найти, есть число 80. Его увеличить раза в 3.
Пожалуйста, обясни конкретней, где находится party_get_ideal_size, я не могу найти этот файл

Ответ #1979 16 Октября, 2011, 18:02
0
WerWooolf, а где ты ищешь?
Файла такого нет.
scripts.txt внутри него.
Ответ #1980 19 Октября, 2011, 07:08
0
Я тут сделал, что при загрузке лорды распределяются по фракциям случайным образом. Соответственно и родственные связи каждый раз меняются. Короли тоже каждый раз новые. Поэтому, титул "король" в module_troops становится бессмысленным.
Есть ли возможность, добавлять к имени лорда титул "король", при запуске новой игры? Или придётся расписывать по всем скриптам, с именами лордов?
Думал использовать:
  ("faction_title_male_player", "Lord {s0}"),
  ("faction_title_male_1", "Count {s0}"),
  ("faction_title_male_2", "Boyar {s0}"),
.....
Но не могу их найти не в одном скрипте и вообще в модулях. :blink:
Ответ #1981 19 Октября, 2011, 12:37
0
Не уверен что это лучший путь, но это точно можно сделать и будет работать.
Найти и заменить по всем скриптам str_store_troop_name на вызов своего скрипта, который будет прописывать нужный титул.
Делать такую замену придётся через регулярные выражения.
Ответ #1982 19 Октября, 2011, 14:28
0
Спасибо Rongar. Попробую.
Нехватает самой малости, чтобы создавать случайным образом имена для лордов. :)
В турбопаскале последователность случайных чисел зависит от значения в переменной Randseed.
Знать бы, от чего зависит такая последователность в МС. А ведь, зависит же.
Ответ #1983 19 Октября, 2011, 15:31
0
В WSE есть возможность подгружать файл (dict_load_file). В файл можно записать относительно большое массив имён.
Ну там с форматом придётся разобраться, возможно, cmp поспрашивать.
Из загруженного словаря можно вытягивать строки.
Далее в скрипте, которым ты подменишь   str_store_troop_name, нужно проверять лорд-нелорд.
Если нелорд возвращать str_store_troop_name.
Если лорд, брать слот лорда, который проинициализировать на старте, и использовать его как индекс в словаре, по индексу брать строку и возвращать её, как имя лода.
Может быть можно несколько более изощрённо действовать с двумя словарями, один подгрузить только на старте, по нему случайной выборкой создать второй, первый выгрузить, детали.
Пара дыр.
Одна — имена в журнале, там используется не str_store_troop_name_link, соответственно, её тоже придётся переделывать.  Какой формат строки она возвращает, можно посмотреть через rgl_log, сбросив туда display_log_message.
Вторая — имена агентов в миссиях. И чё тут делать, не знаю.
Нужно либо agent_set_name, либо troop_set_name, либо script_game_on_agent_get_name. Ничего похожего нет.
В твоём случае, FinGall,  troop_set_name избавила бы от массы проблем.
Можно, попросить cmp добавить что-то из выше перечисленного в WSE. По идее, для него это не должно быть сложно.
Ответ #1984 19 Октября, 2011, 19:40
0
Всем привет
У меня вот какой вопрос,чуть не в тему , но как известно такой мод как натив слегка баговый у разрабов получился.При редактировании этого натива ,частых запусках я заметил ошибку(или это не ошибка?) всплывает,что в начале, рандомно ,лорд одной фракции - уходит от своей фракции и присоединяется к другой(слева сообщение появляется Lord Defects...)
И в module_strings есть вот такая запись.
  #Defector joining
  ("lord_defects_ordinary", "Lord Defects^^{s1} has renounced {reg4?her:his} allegiance to the {s3}, and joined the {s2}"),

Подскажите что это ?
Ошибка или нет?Чем это вызвано(моими действиями или в нативе так уж задумано)
Ответ #1985 19 Октября, 2011, 21:37
0
То, что какой-нибудь лорд сваливает из своей фракции уже в первые сутки игры - норма. Триггер, который этим управляет, запускается раз в полчаса и учитывает массу вещей от типа репутации лорда до рендомных "баллов привлекательности" для фракций.  Ну а если при всём этом ещё и отношение с лидером фракции меньше чем -75, то тогда это будет не ординари дефектс, а его выпнут за измену и сообщение будет другое.
Ответ #1986 20 Октября, 2011, 05:56
0
Rongar Я тут кое что надыбал при помощи метода академика ТЫКА.
Вроде бы можно хранить данные в резервных скиллах. А значит, там можно хранить рандомный номер имени и титул, который будет даваться лорду в скрипте. Только, пока не знаю сохранится ли это в сейвах.
Впрочем, это легко проверить. ;)

« Последнее редактирование: 20 Октября, 2011, 11:39 от FinGall »
Ответ #1987 20 Октября, 2011, 11:59
0
FinGall, можно, но зачем?
Есть слоты, вполне цивилизованное место для хранения. 
То что у тебя — это почти хак.
В слотах  — это почти ООП.
Ответ #1988 20 Октября, 2011, 15:28
0
А разве есть слоты для имён и титулов? Они прописаны в module_troops и всё.
Так бы и вопросов не было. =/
Ответ #1989 20 Октября, 2011, 15:52
0
Не понял, что ты собираешься хранить в скилах.
Имена или титулы лордов? Проще хранить в strings.
Индекс-ссылку на имя? Проще хранить в слотах, которые можно добавлять. Слоты можно добавлять.
 
Ответ #1990 20 Октября, 2011, 20:36
0
Очень высока вероятность того что я что-то не уловил, или не понял, но FinGall, может тебе подойдет скрипт script_troop_set_title_according_to_faction ? Взять принцип его работы за базу, по которой сделать нужный тебе скрипт (если нужно), и изменить этот если нужно?
Ответ #1991 20 Октября, 2011, 22:15
0
Вторая — имена агентов в миссиях. И чё тут делать, не знаю.
Нужно либо agent_set_name, либо troop_set_name, либо script_game_on_agent_get_name. Ничего похожего нет.
В твоём случае, FinGall, troop_set_name избавила бы от массы проблем.
Можно, попросить cmp добавить что-то из выше перечисленного в WSE. По идее, для него это не должно быть сложно.
Я походу постепенно схожу с ума.
troop_set_name есть.
Ответ #1992 21 Октября, 2011, 06:03
0
Спасибо Leon473. Спасибо Rongar.
Всё. Титулы прописал. Думаю с новыми именами проблем не будет. (Разве только с русификацией.)  :thumbup:
Ответ #1993 22 Октября, 2011, 14:29
0
Возможно ли сделать снаряжение юнита в зависимости от его города?
Т.е. крестьянин взятый из деревни с богатым городом будет снаряжен лучше, чем крестьянин из деревни с небогатым городом.
Ответ #1994 22 Октября, 2011, 15:49
0
Одного юнита - нет. Только если эти крестьяне будут разными юнитами.
Ответ #1995 22 Октября, 2011, 17:14
0
Возможно ли сделать снаряжение юнита в зависимости от его города?
Т.е. крестьянин взятый из деревни с богатым городом будет снаряжен лучше, чем крестьянин из деревни с небогатым городом.
Можно, если прописывать экипировку соответствующих юнитов перед входом в сцену. 
Ответ #1996 22 Октября, 2011, 19:28
0
Мне подумалось, он про рекрутов, набираемых в деревнях, разве нет?
Ответ #1997 22 Октября, 2011, 19:32
0
Dargor, да. Разве что, упростить и вешать на юнитов броню в зависимости от состояния лорда/другой титул, а не своего дома.
Ответ #1998 22 Октября, 2011, 20:33
0
существуют script_update_npc_volunteer_troops_in_village и script_update_volunteer_troops_in_village
самое очевидное - усложнить их, чтобы в строке
(party_set_slot, ":center_no", slot_center_volunteer_troop_type, ":volunteer_troop"),
в качестве ":volunteer_troop" использовался тот или иной рекрут. Допустим, для каждой фракции делаешь ещё по 1-2 рекрута с теми же путями апгрейда, но с лучшими шмотками и используешь того, который соответствует благосостоянию деревни или кошельку лорда. Для ГГ (второй скрипт) всё может несколько усложниться, так как ГГ способен набирать в деревнях уже проапгрейженые войска и придётся ещё "клонировать" юниты.
Ответ #1999 22 Октября, 2011, 20:47
0
Dargor, да. Разве что, упростить и вешать на юнитов броню в зависимости от состояния лорда/другой титул, а не своего дома.
Смысл этого? Эти рекруты через пару дней станут нерекрутами. Привязать вероятность апгрейда рекрутов к уровню процветания в script_update_volunteer_troops_in_village, и будет нужный игровой эффект.

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

Теги: