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

Ответ #250 10 Февраля, 2012, 20:17
0
joker7by, как вариант можно еще вставить
то что стоит у пешеходов в городе
 (agent_set_speed_limit, ":agent_no", 5),
стоит (agent_set_speed_limit, ":agent_no", 0.01)  :D
Ответ #251 10 Февраля, 2012, 20:53
0
Задача плёвая, если участвует ГГ

а вот насчёт автобоя надо думать. Мне лень.
Союзники месить друг друга не начнут?(например, вегиры и норды -- союзники)
Ответ #252 10 Февраля, 2012, 21:11
0
Муурн, начнут. Но про союзников ты ничего не писал.
Ответ #253 10 Февраля, 2012, 21:23
0
Так. Поставлю вопрос иначе.
Как сделать, чтобы в битве участвовало больше двух сторон(например: Вегиры и Норды/Родоки и Кергиты/Сарраниды и Свады) Каждая из сторон сражается с остальными двумя.
Ответ #254 10 Февраля, 2012, 22:57
0
Надо и вышеприведённый триггер править и скрипт game_event_simulate_battle досконально переписывать, чтобы он учитывал более одной стороны, и скрипт party_calculate_and_set_nearby_friend_enemy_follower_strengths, и вероятно ещё парочку скриптов связанных с AI партий.
Ответ #255 10 Февраля, 2012, 23:43
0
по большому счету это есть уже когда у фракций положительные отношения к одной стороне и отрицательные к другой, партия присоеденится
к партии с (+) против партии с (-) отношениями..

подскажите какой операцией можно записать в переменную не конкретный итем из инвентаря  а то что используется в данный момент для плеера..
не могу сообразить, чтоб не зацепить то что не используется( не надето).
   
Ответ #256 10 Февраля, 2012, 23:54
0
1. По большому счёту партия присоединяется к одной из 2 сторон, а не тсановится третьей, если она в минусах с обеими. По-моему вопрос именно о такой ситуации.
2. Чем не устраивает troop_get_inventory_slot ?
Ответ #257 11 Февраля, 2012, 00:12
0
Цитировать (выделенное)
1. По большому счёту партия присоединяется к одной из 2 сторон, а не тсановится третьей, если она в минусах с обеими. По-моему вопрос именно о такой ситуации.

ну да.
 придется переписывать скрипт о рандомных сценах, создать спец сцены для такой ситуации с входами не
2 командами а больше, а это тянет за собой новый Лид Чардж..

Dargor, спасибо,
требовалось только заглянуть в хедер итем чтоб понять как
« Последнее редактирование: 11 Февраля, 2012, 00:38 от Легионер »
Ответ #258 14 Февраля, 2012, 14:40
0
Ещё один вопрос на засыпку, пытаюсь заставить исчезать части тела при попадании, в итоге либо я сам умираю без определенной части тела, либо ничего кроме эффекта попадания не происходит, вот код, который я пробую реализовать:
module_mission_templates
(ti_on_agent_hit, 0, 0, [],
[(multiplayer_is_server),
(store_trigger_param_1,":attacker"),
(store_trigger_param_2,":target"),
(try_begin),
(agent_is_alive, ":attacker"),
(agent_is_active, ":attacker"),
(agent_get_wielded_item,":item",":attacker",0),
      (eq,":item","itm_laser_rifle"),
      (ge,":item",0),
      (try_end),
(try_begin),   
       (agent_deliver_damage_to_agent,":attacker",":target"),
      (particle_system_burst,"psys_laser_hit",pos1,50),
      (agent_get_item_slot, ":item", ":target", 5),
      (agent_unequip_item, ":target", ":item"),
      (agent_equip_item, ":target", "itm_invisible"),
      (try_end)]),


Кто, что может подсказать в решении этой проблемы?
Ответ #259 15 Февраля, 2012, 09:34
0
Здесь есть пример про обезглавливание. Может подайдёт?

http://rusmnb.ru/index.php?action=pmxblog;sa=view;cont=162;uid=21638#top
Ответ #260 15 Февраля, 2012, 09:57
0
Здесь есть пример про обезглавливание. Может подайдёт?

http://rusmnb.ru/index.php?action=pmxblog;sa=view;cont=162;uid=21638#top


Спасибо попробую

 

Добавлено: 15 Февраля, 2012, 11:13

Так и не смог заставить это работать, но вот пытаюсь разобрать более интересные скрипты в http://forums.taleworlds.com/index.php?topic=152057.105, пока что-то безуспешно  :( Cap! i need help!
 

Добавлено: 15 Февраля, 2012, 16:21

Кстати, может кто поделится кодом для дробовика, а тоя мучаю это код: http://forums.taleworlds.com/index.php/topic,176863.msg4270849.html#msg4270849 , но всё ровно слишком много ботов погибает от выстрела  :o
« Последнее редактирование: 15 Февраля, 2012, 16:21 от joker7by »
Ответ #261 15 Февраля, 2012, 20:11
0
Цитировать (выделенное)
Так и не смог заставить это работать, но вот пытаюсь разобрать более интересные скрипты в
Там принцып, чтобы видимую голову заменить на невидимую.
Или можно сделать закрытый шлем, покрытый альфой и в нужный момент добавить трупсу в снаряжение:
(troop_get_inventory_slot, <шлем>, "trp_ххх",4),

Цитировать (выделенное)
Кстати, может кто поделится кодом для дробовика, а тоя мучаю это код:
В нативе есть пистоль с нужными флагами. Возьми его за основу. Там ещё есть флаги для пуль и мушкета.
Ответ #262 16 Февраля, 2012, 10:08
0
Там принцып, чтобы видимую голову заменить на невидимую.
Или можно сделать закрытый шлем, покрытый альфой и в нужный момент добавить трупсу в снаряжение:
(troop_get_inventory_slot, <шлем>, "trp_ххх",4),
itm_inviseble это не проблема, у меня пропадает тело с кодом (troop_get_inventory_slot, <броня>, "trp_ххх",5), если я его пишу в items вот так:
(ti_on_agent_hit, 0, 0, [],
[(multiplayer_is_server),
(store_trigger_param_1,":attacker"),
(try_begin),
(agent_is_alive, ":attacker"),
(agent_is_active, ":attacker"),
(agent_get_wielded_item,":item",":attacker",0),
      (eq,":item","itm_laser_rifle"),
      (ge,":item",0),
      
(try_for_agents,":target"),   
       (agent_deliver_damage_to_agent,":attacker",":target"),
      (particle_system_burst,"psys_laser_hit",pos1,50),
      (agent_get_item_slot, ":item", ":target", 5),
      (agent_unequip_item, ":target", ":item"),
      (agent_equip_item, ":target", "itm_invisible"),
      (try_end),
      (try_end)
      ]),


но при этом умирают все боты на карте и я тоже  :D, так можно термоядерный взрыв сделать  :thumbup:

 

Добавлено: 16 Февраля, 2012, 10:12

В нативе есть пистоль с нужными флагами. Возьми его за основу. Там ещё есть флаги для пуль и мушкета.
Давно уже работаю с огнестрелом и знаю только три вида боеприпасов itp_type_bullets, itp_type_bolts и itp_type_arrows, соответственно так можно сделать три различных огнестрела.
Может я что-то упустил и есть флаг с привязкой боеприпасов к новому виду огнестрела?
« Последнее редактирование: 16 Февраля, 2012, 10:12 от joker7by »
Ответ #263 16 Февраля, 2012, 11:17
0
Посмотри itm_cartridges. Это вроде бы пули. Во всяком случае у них стоит флаг itp_type_bullets.
Ответ #264 16 Февраля, 2012, 12:12
0
Посмотри itm_cartridges. Это вроде бы пули. Во всяком случае у них стоит флаг itp_type_bullets.
И?  :blink:
И что я могу с ним сделать? Различные боеприпасы? И пистолет будет дробью стрелять  :laught:
Ответ #265 16 Февраля, 2012, 15:15
0
но при этом умирают все боты на карте и я тоже 
Что как бы не удивительно, когда цикл по всем агентам.



Ответ #266 16 Февраля, 2012, 17:04
0
но при этом умирают все боты на карте и я тоже 
Что как бы не удивительно, когда цикл по всем агентам.

Хорошо, я делал по аналогии скрипта гранаты, как только добавляю тригер с подменой брони и убираю  (agent_get_position,pos2,":target"), (get_distance_between_positions,":dist",pos1,pos2),
то тогда начинает пропадать броня и все умирают  :embarrassed:
Как же тогда будет выглядеть правильная запись, чтобы убиралась броня у цели в которую мы стреляем.
Ответ #267 16 Февраля, 2012, 18:16
0
(ti_on_agent_hit, 0, 0, [],[
    (multiplayer_is_server),
    (eq, reg0, "itm_laser_rifle"), #скорей всего будет совместимо, но в WSE лучше использовать 6-й параметр триггера
    (store_trigger_param_1, ":victim"), # если перепутать жертву и нападавшего, то даже get_distance не поможет ;)
    (particle_system_burst, "psys_laser_hit", pos0, 50), # pos0 место куда пришлось попадание.
    (agent_get_item_slot, ":item", ":victim", 5), #за три нижеследующие строчки не отвечаю :)
    (agent_unequip_item, ":victim", ":item"),
    (agent_equip_item, ":target", "itm_invisible"),
    (set_trigger_result, -1), #возможно, будет корректно работать и без этого.
]),
Ответ #268 16 Февраля, 2012, 22:28
0
Здравствуйте :)
Что в модульке отвечает за сохранение инвентаря у трупса?
Сейчас поясню:
Как показали мои наблюдения любое изменение инвентаря у трупса с флагом tf_hero сохраняется при сохранении игры.
Для обычных же солдат операции troop_add_item, troop_remove_item
, troop_clear_inventory и прочие операции связанные с изменением инвентаря, работают до первой загрузки сейва. После загрузки игры инвентарь приводится в соответствие с тем, что прописано для этого трупса в module_troops.py

Причём те же операции выполненные в With Fire and Sword работают как нужно, всё сохраняется.
Отсюда вопрос: как это (переодевание обычных солдат) могло быть реализовано например в Storm Of The Three Kingdom?
Ответ #269 16 Февраля, 2012, 23:18
0
В
module.ini

dont_load_regular_troop_inventories = 1

Выставить на 0.
Ответ #270 16 Февраля, 2012, 23:32
0
Так и знал, что нужно просто где то поменять одну цифру, всю модульку излазил мозг себе сломал :laught:
Как всегда самые очевидные решения приходят в последнюю очередь)
Спасибо!

А изменение этого параметра не скажется на быстродействии игры? Ведь не зря же по умолчанию он выкл.
То что процесс загрузки и сохранения станет медленнее и так очевидно, как и то, что сейв-файл будет больше.
Ответ #271 17 Февраля, 2012, 10:42
0
(ti_on_agent_hit, 0, 0, [],[
    (multiplayer_is_server),
    (eq, reg0, "itm_laser_rifle"), #скорей всего будет совместимо, но в WSE лучше использовать 6-й параметр триггера
    (store_trigger_param_1, ":victim"), # если перепутать жертву и нападавшего, то даже get_distance не поможет ;)
    (particle_system_burst, "psys_laser_hit", pos0, 50), # pos0 место куда пришлось попадание.
    (agent_get_item_slot, ":item", ":victim", 5), #за три нижеследующие строчки не отвечаю :)
    (agent_unequip_item, ":victim", ":item"),
    (agent_equip_item, ":target", "itm_invisible"),
    (set_trigger_result, -1), #возможно, будет корректно работать и без этого.
]),


Так получилось, спасибо.
Попробовал сделать по всему телу:

Ошибки не появляются, но и голова не исчезает.
Искал в header_operations как подменить кровь на огонь или дым, так и не нашел  :-\.

И ещё одно:
pos0 - это всегда то место куда попадает?
тогда pos1 - это позиция на земле?
Ответ #272 17 Февраля, 2012, 12:10
0
Искал в header_operations как подменить кровь на огонь или дым, так и не нашел

Дык ты просто добавь новый партикл и пропиши его им...
Ответ #273 17 Февраля, 2012, 12:12
0
А изменение этого параметра не скажется на быстродействии игры? Ведь не зря же по умолчанию он выкл.
То что процесс загрузки и сохранения станет медленнее и так очевидно, как и то, что сейв-файл будет больше.
Это в любом случае копеечные затраты, и на fps они не влияют. Насколько я понимаю, отключение загрузка из сейвов связано с тем, что TW научились делать патчи, после которых не обязательно начинать новую игру, и чтобы правки экипировки после таких патчей вступали в силу для тех, кто продолжает старую, нужно чтобы игра подгружала данные из troops.


Ошибки не появляются, но и голова не исчезает.
Я с исчезанием не работал. Не знаю, как оно должно быть. Единственно, что могу сказать по коду, там по виду ваще всё должно исчезнуть, но не исчезло ничего, то есть как бы не работает совсем, а не только голова. А блин, там несколько, что ли трупаков на скрине?
Но если всё-таки не работает только голова, то стоит ли у невидимой шапки itp_covers_head?

Искал в header_operations как подменить кровь на огонь или дым, так и не нашел
Это либо в particle_systems   game_blood, game_blood_2
либо в skins.
В частицах можно изменить, как выглядит кровь.
А в скинах, что есть кровь.

И ещё одно:pos0 - это всегда то место куда попадает?тогда pos1 - это позиция на земле?
В ti_on_agent_hit pos0 — место куда попадает.
Про то, что за значения в pos1 в ti_on_agent_hit, никто ничего не говорил.
« Последнее редактирование: 17 Февраля, 2012, 12:22 от Rongar »
Ответ #274 17 Февраля, 2012, 12:40
0
А блин, там несколько, что ли трупаков на скрине?
Но если всё-таки не работает только голова, то стоит ли у невидимой шапки itp_covers_head?
Да, несколько трупаков, у всех головы, причем не те что нада, itp_covers_head не стояло, счас попробую с ним посмотреть, а вообще странно, я знаю такая голова появляется если ошибка с параметрами самого скелета или тела, это есть в моде 1775, где вместо собаки эта же голова.

itp_covers_head - помогло  :thumbup:, сенкс.

Это либо в particle_systems   game_blood, game_blood_2
либо в skins.
В частицах можно изменить, как выглядит кровь.
А в скинах, что есть кровь.
Я не хотел исправлял партиклы для крови,  а тригерами сделать подмену одного партикла на другой.  :)


В ti_on_agent_hit pos0 — место куда попадает.
Про то, что за значения в pos1 в ti_on_agent_hit, никто ничего не говорил
Просто хотелось узнать побольше об pos0 pos1 pos2 и тд, а то не могу понять как к дулу прицепить дымок, чтоб он выходил из дула на время действия партикла.
« Последнее редактирование: 17 Февраля, 2012, 12:47 от joker7by »

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

Теги: