Голосование

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












Оформление



Пользователей
  • Всего: 28884
  • Последний: Menfred
Сейчас на форуме
Пользователи: 6
Гостей: 701
Всего: 707

Просмотр сообщений

В этом разделе можно просмотреть все сообщения, сделанные этим пользователем.


Сообщения - Дикий-дикий повар

Страницы: [1] 2 3 4 ... 10
1
  В блок в конце записи предмета (квадратные скобки) - для триггеров, например:["tutorial_sword", "Sword", [("long_sword", 0), ("scab_longsw_a", ixmesh_carry)],
itp_type_one_handed_wpn | itp_primary, itc_longsword | itcf_carry_sword_left_hip |
itcf_show_holster_when_drawn, 0, weight(1.5) | difficulty(0) | spd_rtng(100) |
weapon_length(102) | swing_damage(18, cut) | thrust_damage(15, pierce), imodbits_sword
   [
      (ti_on_init_item,
         [
            (try_for_range, ":pos", 0, 6),
               (val_mul, ":pos", 12),
               (set_position_delta, 0, ":pos", 0),
               (particle_system_add_new, "psys_torch_fire"),
            (try_end),
         ]
      ),
   ]
],

2
  Можно писать в скрипт "game_event_party_encounter" с условием (is_between, "$g_encountered_party", walled_centers_begin, walled_centers_end). Для единичного вызова при входе в город разместить код прямо там, иначе активировать из скрипта какой-нибудь флаг (глоб. переменную, некоторый слот или ещё чего), а код последствий поместить в триггер с проверкой выбраного флага.

3
Почему-то у меня все компилируется бат-файлом, а скрипты  пишутся в текстовом редакторе и все компилируется без проблем. Хотя может и был установлен когда-то... точно не скажу...
  Батник только указывает process_* файлы которые нужно выполнить, которые написаны на python.

  Под барьерами подразумевались scene_props'ы без графики (чисто collision mesh). Невидимые плоские стенки и др. уже входят в состав nativ'а (посмотри props'ы со словом barrier).
может кто подскажет, есть ли в модульке возможность из фиксированного ряда случайных чисел (например 2, 15, 7, 32) определить минимальное?
  Хитрить не обязательно, достаточно пройтись циклом по всем числам в списке, например, поиск наименьшего значения по слотам агента:
...
(assign, ":min_value", 2**31),
(try_for_range, ":slot", 0, ":num_slots"),
  (agent_get_slot, ":cur_value", ":agent", ":slot"),
  (lt, ":cur_value", ":min_value"),
  (assign, ":min_value", ":cur_value"),
(try_end),
...

4
  Заранее оговорюсь, "мне не нравиться в Bannerlord" не следует понимать буквально, но, скорее "выглядит странно" (и, возможно, немного абсурдно).
  "Мне не нравится в Bannerlord", что не успел он ещё появиться на свет (в свет?), а на него уже понаделали модификаций. Ещё "мне не нравится в Bannerlord" то, что люди в сей Bannerlord не игравшие (и даже не видевшие готового продукта) обсуждают "что им не нравится в Bannerlord".
  Просьба не рассматривать данный пост как "камень в чей-либо огород", просто обсуждение журналов разработчиков и презентаций игры\шматочков_игры различной степени готовости - это вполне себе нормальное явление, супротив таким темам, каковые выглядят странно\забавно.

5

6
Да нафиг Вам сдался этот Питон

Valerian60-чудак-человек, ежели модулька (в process_* файлы загляни и узри) написана на Python (есть ещё на C++), то он тебе для сборки модуля необходим.
Скачайте как я текстовый редактор типа Notepad++ там все есть и синтаксис питоновского языка подсвечивается и плагинов всяких море

Здесь уже кому-что, текстовых редакторов существует немало и подсветка много где есть (и не обязательно питоновскую тебе module_* ковырять).
один геммор с его установкой, то версия не подходит, то еще какой-то бред напишет

Тем не менее ты его либо установил, либо он уж был у тебя в системе. А без "геммора" никуда, проще только ничего не делать, как-то так вот.

ARIMA, про смертность, может ещё стоит проверить содержимое переменных "$npc_weapon" и "$npc_armor", более ничего конкретного сказать не могу, т. к. мало описания того, что должен делать триггер, а непосредственно выдача предметов у вас описана в другом месте. Небольшие правки прилагаю:
   (2, 0, 0, [(multiplayer_is_server),], ####assassin even securety AI check agr and kill players   
      [
   (try_for_agents,":bot_s"), # 1 cicle begin
#      (agent_is_active,":bot_s"), # not need?
      (gt,":bot_s",-1),
      (agent_is_non_player,":bot_s"),
      (agent_is_human,":bot_s"),
#      (gt,":bot_s",-1), # above now
      (agent_is_alive,":bot_s"),
      (agent_get_troop_id,":troop_id",":bot_s"),
#      (gt,":troop_id",-1), # equivalent to (agent_is_human,":bot_s"), (used above)
      (this_or_next|eq,":troop_id","$npc_weapon"),
      (eq,":troop_id","$npc_armor"),
      (agent_get_position,pos1,":bot_s"),
      (try_begin),
         (this_or_next|eq,":troop_id","$npc_weapon"),
         (eq,":troop_id","$npc_armor"),
         (agent_set_no_death_knock_down_only, ":bot_s", 1),
         (agent_set_damage_modifier, ":bot_s", 200),
      (try_end),
      (try_for_agents,":agent_no"), # 2 cicle begin
#         (agent_is_active,":agent_no"),
         (gt,":agent_no",-1),
         (agent_is_alive, ":agent_no"),
         (agent_is_human,":agent_no"),
#         (gt,":agent_no",-1),
         (agent_get_position,pos2,":agent_no"),
         (get_distance_between_positions,":dist",pos1,pos2),
#         (try_begin),
#            (agent_get_player_id,":player_no",":agent_no"),
#            (gt,":player_no",-1),
#            end what now?
#         (try_end),
         (agent_get_wielded_item,":item_equip_r",":agent_no",0), #0-R 1-L
         (try_begin), # 1 block begin
            (neg|agent_is_non_player, ":agent_no"),
            (is_between,":dist",0,1500),
#            (le,":item_equip_r",-1),
            (eq,":item_equip_r",-1), # that enough
            (try_begin), # 2 block begin
               (this_or_next|eq,":troop_id","$npc_weapon"),
               (eq,":troop_id","$npc_armor"),
               (is_between,":dist",0,250), # 150 - isn't too close?
               (try_begin), # 3 block begin
                  (eq,":troop_id","$npc_armor"),
                  (call_script,"script_assassin_event_armor",":agent_no"),
               (else_try),
                  (eq,":troop_id","$npc_weapon"),
                  (call_script,"script_assassin_event_weapon",":agent_no"),
               (try_end), # 3 block end
            (else_try),
#               (neg|agent_is_non_player, ":agent_no"), # don't need (used above)
#               (is_between,":dist",0,1500), # don't need (used above)
            (try_begin), # 2 block end
            (is_between,":dist",0,199),
#            (gt,":item_equip_r",-1), # 0 - is "invalid_item"
            (gt,":item_equip_r",0),
         (else_try),
# distantion and is_plyer check is need there?
            (this_or_next|gt,":item_equip_r",0), #check player
            (agent_set_scripted_destination, ":bot_s", pos2, 1),
         (try_end), # 1 block end
      (else_try),
         (agent_is_non_player, ":agent_no"),
         (agent_add_relation_with_agent,":bot_s",":agent_no", 1), # #-1 = enemy, 0 = neutral (no friendly fire at all), 1 = ally
         (agent_add_relation_with_agent,":agent_no",":bot_s", 1), # #-1 = enemy, 0 = neutral (no friendly fire at all), 1 = ally
      (try_end), # 2 cicle end
   (try_end), # 1 cicle end
#   (try_end), # it's from whence?
      ]),

7
  Вряд-ли модулька не рабочая, скорее неправильно указан путь до установленого питона в переменной окружения. Или можно попробовать дописать его (путь до питона) в батник, который запускает сборку модуля (вроде, там перед каждым process* дописывается в виде "C:\Program files\python 2.6.6\python.exe"). Лучше правильно перепишите значение для переменной окружения, в теме даже сказано как.

8
  Ага, правильно подозреваете (в корневой игры папка textures)  и моделей в папке "native" тоже нет (тоже в корневой игры папка CommonRes). К слову, чтоб проще искать, в окошке BRFeditor'а в поле data указывается название текстуры для выделеной модели.

9
после убийства лидера вражеский отряд просто убегает к дальнему краю карты
  Что-то не припомню такого. После снятия лидера на короткий период времени разбегались и впадали в ступор. Т. е. совсем не на долго.
Да и собственное войско тоже начинает тупить, упершись в край карты.
  А где не так?

10
возможность играть за спутников, тем самым поднимать их уровень,
  В Light and Darkness можно играть за спутников (они там и не враждуют), а внешность в любом моде должна меняться в режиме редактирования (в меню персонажа листаем на нужного нам и нажимаем на его модельку, только я не проверял остаются-ли изменения). Имя же можно менять в соответствующем файле русификатора.
  Вообще-то Light and Darkness - замечательный мод.

11
  Можно так:  в триггере ti_agent_killed_or_wounded запишите в слот к отдавшему Богу душу агенту (добавьте слот или задействуйте неиспользуемый в ваших условиях) координаты смерти (можно непосредственно из регистра позиций pos(x)), в другой слот время до респавна в виде кол-ва тактов триггера, который будете использовать для спавна. Далее делаете триггер (для спавна) с проверкой на живость агента, ежели агент - труп, то уменьшаем значение в слоте с временем респавна на единицу, и ежели после сего в таковом слоте значение осталось менее единицы, то берём из слота в, каковой записали позицию смерти, координаты и там спавним.

12
просто на ранних этапах игры вынести войско 700-900 нехилых юнитов практически нереально
  Смотря в какой армии. Так взять эту пивную бочку Аларика и его клуб анонимных алкоголиков, где там нехилые юниты? Немного посложнее меттенхайм, может и не на ранних этапах, но отсутствие щитов у большей части их целиком пешей армии оставляет их уязвимыми против хорошего лучника, косоглазые арбалетчики тоже способствуют. Ещё посложнее, узурпатор и его сингалианцы, женская кавалерия в качестве нехилых юнитов. Наверное, где-то там же армия таинственных горцев, где есть нехилые шаманы и берсерки, но, кроме шаманов и малочисленых авантюрюг-гироев, не у кого нет нормального оружия дальнего боя, и все лошадки хрустальные. Прочие армии уже достаточно сильны.
  Вообще-то интересней цеплять армию имея несколько поменьше войск (по ситуации), разбивать несколько первых волн (с самыми интересными противниками), а потом довершать автобоем (иначе это надолго).
Хм. У Императора квест выпал на уничтожение Святыни культа змеи. Всю округу оббегал.
  Ещё сомневаешься в полезности автоматического поиска такого рода вещей?
Полез на форумы: одни говорят - в лесах Яноса, другие - между замков Орегар и Яносом
  Ну так они примерно там и есть, а возле Цеза не припомню, чтоб были. Убер патруль в помощь...

13
IceViktor, попробуйте сделать так, чтобы в пути до модуля не было кириллицы.

15
 А мама не говорила вам не "копипастить"? У переменнгой ":end_cond" отсутствуют закрывающие кавычки.

16
 Прямо в open BRF'е правой кнопкой мыши по имени модели, в выпавшем меню - roto-translate-rescale, то бишь поворот-перемещение-масштаб.

17
 Просто чего-то неверно делаете. Ежели так надо, распишите, что делаете и что не получается.

18
slot_troop_home применяется, как ячейка для идентификатора партии, при приближении к которой NPC рассказывает доп. часть своей истории.
(jump_to_scene, "scn_town_9_tavern"), - так получится, что из любого города на "scn_town_9_tavern".
Там в этом пункте меню дальше имеется цикл:
             (try_for_range, ":companion_candidate", companions_begin, companions_end),
               (troop_slot_eq, ":companion_candidate", slot_troop_occupation, 0),
               (troop_slot_eq, ":companion_candidate", slot_troop_cur_center, "$current_town"),
   (neg|troop_slot_ge, ":companion_candidate", slot_troop_prisoner_of_party, centers_begin),
   
               (set_visitor, ":cur_entry", ":companion_candidate"),

               (val_add, ":cur_entry", 1),
             (try_end),
Ежели надо привязать конкретного NPC к конкретному городу, можно, например, так:
             (try_for_range, ":companion_candidate", companions_begin, companions_end),
               (assign, ":end_cond, 0), # сбрасываем метку
       (try_begin),
   (this_or_next|troop_slot_ge, ":companion_candidate", slot_troop_prisoner_of_party, centers_begin), # компаньон в плену или ->
                           (neg|troop_slot_eq, ":companion_candidate", slot_troop_occupation, 0), # в отряде
                           (assign, ":end_cond, 1), # ставим метку
               (try_end),
       (try_begin),
                           (neq, ":end_cond, 1), # метка не поставлена (компаньон не в отряде и не пленник)
                           (eq, ":companion_candidate", "trp_<NPC>"), # это наш NPC
                           (assign, ":end_cond, 1), # ставим метку (дабы в случае провала следующей проверки не запустило следующую ветку)
                           (eq, "$current_town", "p_<NPC's_town>"), # и мы в его городе
                           (assign, ":end_cond, 0), # сбрасываем метку
               (else_try),
                           (eq, ":end_cond, 0),
                           (neg|troop_slot_eq, ":companion_candidate", slot_troop_cur_center, "$current_town"),
                           (assign, ":end_cond, 1), # ставим метку
               (try_end),
               (neq, ":end_cond, 1), # спавним компаньона ежели метка не поставлена
               (set_visitor, ":cur_entry", ":companion_candidate"),

               (val_add, ":cur_entry", 1),
             (try_end),

19
Игра с предысторией, написанной профессиональным сценаристом, провалится, если у неё будет убогая механика.
Не сказал бы, что переворачивание страниц - интересное своей механикой действие, но от хорошей книги за уши не оторвёшь. ...Впрочем всё важно (хлеб должен быть равномерно намазан маслом), хотя даже и, в моём случае, история и богатый мир выдерживали гораздо дольше механики (каковая, чаще, одна на всю игру, быстро надоедает, становится ужасно предсказуемой) прежде чем игра надоедала.

20
Дело в том что в модульке нет возможности удалить, заданную вещь с заданным модификатором из заданного слота
Это делается следующим образом: проверяем каждый слот на наличие нужной вещи с помощью troop_get_inventory_slot и troop_get_inventory_slot_modifier, удаляя требуемое через команду (troop_set_inventory_slot, <ид трупса>, <номер слота>, -1),
насчёт номера слота, первые 10 - это куда снаряжение надевается, далее - инвентарь.

21
Товарищ ШтЫрлиц, насчёт второго вопроса (поправьте ежели ошибаюсь): исходя из Nativ'а там всегда изначально должен стоять banner_a (это ид пропса, а модель banner_a01), который перед стартом миссии подменяется на актуальный.

22
Northmen, ежели вам надо выдавать новобранцев при каких-то условиях, так и напишите их туда, ежели вообще выдавать не надо - уберите пункт найма из меню, в чём проблема?
GEADR, вы глобальную карту редактируете?

23
Код из Nativ'а:
     (this_or_next|ge, ":center_relation", 5), # либо отношения с деревней > 5
     (this_or_next|eq, ":village_faction", "$players_kingdom"), # либо фракция деревни = фракция ГГ
     (this_or_next|ge, ":village_faction_relation", 0), # либо отношения с фракцией деревни > 0
     (this_or_next|eq, ":village_faction", "$supported_pretender_old_faction"), # либо ГГ поддерживает претендента на фракцию деревни
     (eq, "$players_kingdom", 0), # либо ГГ не монарх
Насчёт некоторых комментариев могу ошибаться (не пересматривал), но как факт, что невыполнение третьей (здесь) проверки не является достаточным для провала проверки-скрипта.

24
 Скрипт "script_game_event_party_encounter" -> меню "village" -> пункт "recruit_volunteers" - > проверка в скрипте "script_cf_village_recruit_volunteers_cond". Т. е. искать надо было в том, что срабатывает при встрече с любой партией - "script_game_event_party_encounter".

25
Двуручный меч, в то время когда он был распространен, являлся стандартным оружием. Не думаю что у ландскнехтов на двойном жалованье было много оруженосцев.
Получается, в чаемую эпоху Bannerlord'а не было даже полуторного меча.
А еще запрети мне как-то на скриптовом уровне ходить по тавернам
Я никому не запрещаю ходить в таверну. Кто хочет - ходит, кто не хочет - тот не ходит.

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


Powered by SMF 2.0 | SMF © Simple Machines LLC