Тема: Модульная система. Вопросы и ответы.  (Прочитано 312235 раз)

Ответ #675 10 Июня, 2013, 15:49
0
Я немного не это имел в виду.Я хотел сделать так, чтобы из категории объектов Intem Kinds положить какой-то объект, например меч, и чтобы его могли поднять другие игроки, потому что просто так когда подходишь к такому объекту, ничего не высвечивается(обычно если кинешь оружие и наведёшь на него, пишется его название и можно его взять).

Ответ:

в редакторе настоящее оружие не разместишь, его нужно спаунить триггером из  мишин_темплтейз непосредственно во время нахождения ГГ на сцене
например код триггера для спауна возле определенного энтри_пойнта примерно такой

(entry_point_get_position, pos1, 1),#определяется местоположение энтри пойнта №1  и заносится в pos1
(set_spawn_position, pos1),# pos1 устанавливается как место спауна предмета
(spawn_item,"itm_dubina",0,0),# спаунится предмет itm_dubina с модификатором 0, предмет никогда не пропадает (0 - время, после которого предмет пропадет, если поставить 60, пропадет после одной минуты (с версией движка 1.134, раньше пропадание не работало))

вместо позиции энтри_пойнта можно устанавливать любую позицию, это я как пример

« Последнее редактирование: 11 Июня, 2013, 02:52 от Бадерлюк »
Ответ #676 11 Июня, 2013, 14:53
0
Если уже отвечали на вопрос, то, пожалуйста, скажите хоть где искать.
Суть вопроса в чем. Имеется мод. В нем сделано очень много изменений. Поставил модульную систему, но в ней эти изменения не прописаны и при компиляции убираются. Можно ли как-нибудь сделать так, что бы эти изменения прописались в МС. А то заново их там прописывать слишком долго... Заранее спасибо.

Можно юзнуть:
  http://rusmnb.ru/index.php?topic=9845.0
  http://rusmnb.ru/index.php?topic=5451.0
Ответ #677 14 Июня, 2013, 04:17
0
Просмотрел форум, не нашел. Где прописана задержка после прыжка? Подскажите пожалуйста, если кто в курсе.
Ответ #678 14 Июня, 2013, 09:12
0
Прыжок это анимация следующие действия начинается сразу после окончания первого (все условия написаны выполнения анимации в module_animations.py), к сожалению нет у меня описания хейдер аниматион, можно поискать на ТВ по этим хейдерам, плюс есть хейдеры amf_priority_jump и amf_priority_jump_end) смотрите и ищите информацию по этим флагам
Ответ #679 14 Июня, 2013, 12:39
0
Спасибо, действительно, если понизить приоритет amf_priority_jump_end агент после прыжка продолжает перемещение без остановки. Но вот временной промежуток между завершением прыжка и новым прыжком где можно изменить - так и не нашел.
Ответ #680 14 Июня, 2013, 13:56
0
Это уже в брф в самом ресурсе анимации скорее всего, т.е возможно там есть кусок состояния спокоствия после приземления если убрать этот кадр то анима будет завершатся раньше
Ответ #681 14 Июня, 2013, 14:40
0
Так дело в том что после завершения прыжка можно сразу продолжать бег, тоесть проигрывается анимация бега, следственно анимация прыжка завершена. А вот прыгнуть опять можно лишь спустя некоторое время. За это время успевает проиграться 3-4 шага бега.
Ответ #682 17 Июня, 2013, 10:06
0
Господа, извиняюсь за глупый вопрос, но...
Как установить и подготовить модульную систему, чтобы M&B Warband её распознавал?
Ответ #684 17 Июня, 2013, 10:55
0
А вот ещё вопрос... Как изменить год игры? Там 1257, я хочу 2042. Это в модульке изменяется?
Ответ #685 17 Июня, 2013, 11:11
0
Это в модульке изменяется?
Да, в файле module_scripts
Ответ #686 17 Июня, 2013, 16:30
0
"Python" не является внутренней или внешней командой, исполняемой программой или пакетным файлом.
Не удаётся найти *директория мода*\Module system 1.15*.pyc

Такое высвечтивается при запуске build_module.bat
Ответ #687 17 Июня, 2013, 16:41
0
И что ответов в темах что я дал нет?- прискорбно, ещё можно поиском воспользоваться
Ответ #688 18 Июня, 2013, 20:54
0
"Python" не является внутренней или внешней командой, исполняемой программой или пакетным файлом.
Не удаётся найти *директория мода*\Module system 1.15*.pyc

Такое высвечтивается при запуске build_module.bat

На это может влиять версия питона, какая у вас?
Ответ #689 19 Июня, 2013, 06:16
0
"Python" не является внутренней или внешней командой, исполняемой программой или пакетным файлом.
Не удаётся найти *директория мода*\Module system 1.15*.pyc
Такое высвечтивается при запуске build_module.bat

А у тебя в module_info правильно записан маршрут поиска?
Нужно ставить "/".

Например:
export_dir = "C:/Mount&Blade Warband/Modules/Mod/"
Ответ #690 16 Июля, 2013, 12:52
0
Я тут в моде сделал 14 фракций-королевств, прописал каждому 10 лордов и 10 леди
Теперь такая поблема: нужно задать семейные связи(раздаю в "script_initialize_aristocracy")
Но вот раздается не так, как надо: некоторые леди остаются без лордов; лордам раздаются леди из не своих королевств  :(  :( :cry: :cry:
Как это можно подправить??? :cry: :cry: :cry: :cry:  :cry: :cry:
Ответ #691 01 Августа, 2013, 23:28
0
Народ, нужна помощь :embarrassed: Распишите мне, пожалуйста, как создать новый город, чтобы все хорошо работало. то есть были горожани, страж замка, тюремщик и т.д. И еще такой вопрос, можно ли как то сделать такую вещь: Сначала город разрушен, в нем никого нет, или 2-3 нпс, в меню выбрать "отстроить город за (допустим) 25 000 динаров" после этого ждем 15 (или больше дней), и появляется нормальный город со всему торговцами и прочими нпс? Буду невероятно благодарен :)
Ответ #692 02 Августа, 2013, 08:54
0
Народ, нужна помощь  Распишите мне, пожалуйста, как создать новый город, чтобы все хорошо работало.


http://rusmnb.ru/index.php?topic=3642.75

Читай с ответа №79 и дальше.

Сначала город разрушен, в нем никого нет, или 2-3 нпс, в меню выбрать "отстроить город за (допустим) 25 000 динаров" после этого ждем 15 (или больше дней)


Это немного сложнее.
1. Надо будет городу задать иконку "Разрушенный-город".
2. Задать гл. переменную, которая проверяет разрушен город или нет.
3. Сделать для него соответствующую сцену и меню. (Сцену не обязательно)
4. Потом в меню пункт "отстроить город" прописать - изменить значение гл. переменной, чтобы загружалось нормальное меню города и поменять иконку города на обычную.

Как-то так.
Ответ #693 04 Августа, 2013, 18:21
0
1) Как сделать слот для второй таверны в городе?

2) Как добавлять(в каких именно module_...) кузнеца и т. д.
Ответ #694 04 Августа, 2013, 21:38
0
1) Как сделать слот для второй таверны в городе?
В одном городе или во всех?
Если в одном, то добавить сцену таверны в module_scene.
В module_game_menu  в меню города добавить подменю, который будет переводить во вторую таверну
В сцене города добавить портал, приписав ему номер нового меню из module_game_menu .

2) Как добавлять(в каких именно module_...) кузнеца и т. д.
module_troops.

Персонажи в сценах появляются тремя способами:
1. прописыванием в module_troops сцены.
2. set_visitors перед загрузкой сцены.
3. spawn_agent, add_reinforcements_to_entry и т.п. во время миссии.

Кузнецы в нэйтиве добавляются в сцены вторым способом. set_visitors  прописывает их в сцену в module_game_menu. Какой кузнец в какую сцену определяется слотом slot_center_smithies, который инициализируется в script_game_start.

Тавернщики первым.
Ответ #695 28 Сентября, 2013, 21:04
0
Доброго времени суток.
Подскажите пожалуйста: как сделать , чтобы отряд village-farmers  для каждой фракции были свои? А то нападаешь на саранидских фермеров, а там европейские крестьяне!
Ответ #696 29 Сентября, 2013, 14:40
0
1.Сперва, в module_troops для каждой фракции делаешь своих trp_farmer и trp_peasant_woman.
2. Потом, в module_party_templates для каждой фракции делаешь свои village_farmers.
3. Дальше, в module_scripts находишь скрипт "create_village_farmer_party" и вместо
(spawn_around_party, ":village_no", "pt_village_farmers"),
делаешь это с проверкой

(try_begin),
(eq, ":party_faction", "fac_kingdom_1"),
   (spawn_around_party, ":village_no", "pt_village_farmers1"),
(else_try),
(eq, ":party_faction", "fac_kingdom_2"),
   (spawn_around_party, ":village_no", "pt_village_farmers2"),
(else_try),
...
 и так все фракции
...
(try_end),
 
Вроде, должно получиться.
Ответ #697 29 Сентября, 2013, 18:46
0
Спасибо Котяра :), попробую сегодня, что получится расскажу!
 

Добавлено: 29 Сентября, 2013, 22:36

Блин что-то не получается =/
В общем сделал я вот так:
   (try_begin),
        (eq, ":party_faction", "fac_kingdom_1"),
   (set_spawn_radius, 0),
         (spawn_around_party, ":village_no", "pt_village_farmers"),
        (assign, ":new_party", reg0),
        (else_try),
        (eq, ":party_faction", "fac_kingdom_2"),
   (set_spawn_radius, 0),
          (spawn_around_party, ":village_no", "pt_looters"),
        (assign, ":new_party", reg0),
        (else_try),
В итоге получилась каша малаша, крестьяне свадов стали вегирами по фракции, и бегали просто так, а еще из одной вегирской деревни команда крестьян побежала в Саргот, при том они были нордами!
Ну все равно спасибо.
« Последнее редактирование: 29 Сентября, 2013, 22:36 от Strannuck »
Ответ #698 30 Сентября, 2013, 08:45
0
Отключи строчку
(spawn_around_party, ":village_no", "pt_village_farmers"),
и вместо неё вставь:
Начни новую игру
и вместо крестьян будут бегать бандиты соответствующие по нации фракциям.
Только разбойники в города не пойдут, а будут патрулировать. Потому что они разбойники.

Потом надо будет их заменить на крестьян данных фракций, как я раньше говорил.
Только, копируй "village_farmers" и заменяй название.

Надо будет ещё диалоги добавлять. Искать village_farmers и так же делать для новых отрядов фермеров.
« Последнее редактирование: 30 Сентября, 2013, 09:15 от FinGall »
Ответ #699 01 Октября, 2013, 01:34
0
В общем по вышеприведенному примеру, что то не получилась.
Поэтому я сделал так:
   (try_begin),
      (is_between, ":town_no", towns_begin, towns_end),
       (set_spawn_radius, 0),
            (eq, ":party_faction", "fac_kingdom_2"),
       (spawn_around_party, ":village_no", "pt_vaegir_villagers"),
       (assign, ":new_party", reg0),
        
       (party_set_faction, ":new_party", ":party_faction"),
       (party_set_slot, ":new_party", slot_party_home_center, ":village_no"),
       (party_set_slot, ":new_party", slot_party_last_traded_center, ":village_no"),

       (party_set_slot, ":new_party", slot_party_type, spt_village_farmer),
       (party_set_slot, ":new_party", slot_party_ai_state, spai_trading_with_town),
       (party_set_slot, ":new_party", slot_party_ai_object, ":town_no"),
       (party_set_ai_behavior, ":new_party", ai_bhvr_travel_to_party),
       (party_set_ai_object, ":new_party", ":town_no"),
       (party_set_flags, ":new_party", pf_default_behavior, 0),
       (store_sub, ":item_to_price_slot", slot_town_trade_good_prices_begin, trade_goods_begin),
       (try_for_range, ":cur_goods", trade_goods_begin, trade_goods_end),
         (store_add, ":cur_good_price_slot", ":cur_goods", ":item_to_price_slot"),
         (party_get_slot, ":cur_village_price", ":village_no", ":cur_good_price_slot"),
         (party_set_slot, ":new_party", ":cur_good_price_slot", ":cur_village_price"),
       (try_end),
       (assign, reg0, ":new_party"),
   (try_end),
(извиняюсь не знаю как делать флажок скрытно)И так для каждой фракции. Просто строки после (assign, ":new_party", reg0), это и есть команды торговли фермерам, а new_party насколько я понял переменная. Вот и получается после каждого скрипта-спауна идут команды для каждого типа фермеров отдельно, и они торгуют. :)
Кстати там в диалогах не совсем обязательно копировать с village_farmers, единственное что, репутация у фракции не портится после нападения на них.


 

Добавлено: 02 Октября, 2013, 00:45

Я заменил village_farmers для каждой фракции, а также их диалоги, но для идеальности хочется сделать для каждой фракции свои village_defenders. Тероитечски я почти придумал как это сделать, а именно в module_scripts там где строки:
        (call_script, "script_refresh_village_defenders", ":village_no"),
        (call_script, "script_refresh_village_defenders", ":village_no"),
        (call_script, "script_refresh_village_defenders", ":village_no"),
        (call_script, "script_refresh_village_defenders", ":village_no"),
добавить строки:
        (call_script, "script_refresh_village_defenders2", ":village_no"),
        (call_script, "script_refresh_village_defenders2", ":village_no"),
        (call_script, "script_refresh_village_defenders2", ":village_no"),
        (call_script, "script_refresh_village_defenders2", ":village_no"),

далее создаю скрипт "script_refresh_village_defenders2":
  ("refresh_village_defenders2",
    [
      (store_script_param_1, ":village_no"),

      (assign, ":ideal_size", 50),
      (try_begin),
        (party_get_num_companions, ":party_size", ":village_no"),
        (lt, ":party_size", ":ideal_size"),
        (party_add_template, ":village_no", "pt_looters"),
      (try_end),
  ]),
Вот только вопрос в том: как сделать, чтобы  команда:(call_script, "script_refresh_village_defenders2", ":village_no"),
 , была прикреплена именно скажем к ''fac_kingdom_2''?


 
« Последнее редактирование: 02 Октября, 2013, 00:45 от Strannuck »

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

Теги: