Голосование

Как вы относитесь к играм в жанре "симулятор колонии"?












Оформление



Пользователей
  • Всего: 29195
  • Последний: WapKat
Сейчас на форуме
Пользователи: 2
Гостей: 537
Всего: 539

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

Тема: Удары, раны и убийства  (Прочитано 3952 раз)

  • Сообщений: 39489
  • За регистрацию на форуме не позже сентября 2008 года И создали они сайт...
    • Просмотр профиля
0
« : 02 Августа, 2014, 16:00 »
Мне интересно, возможно ли, чтобы в сингле, определенный юнит получал повышенный или пониженный урон, когда его бьет другой. определенный юнит? Или тоже самое но с оружием, не в смысле урона, а например - повышенный урон от определенного вида топоров.

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

  • Ник в M&B: Sellsword
Привыкший сражаться не жнет и не пашет:
Хватает иных забот.
Налейте наемникам полные чаши!
Им завтра – снова в поход!
  • Сообщений: 6
    • Просмотр профиля
0
« Ответ #1 : 02 Августа, 2014, 16:31 »
Думаю, что возможно. Хотя тут встречный вопрос, это должно быть временно типо эффекта или на постоянной основе? Если на постоянной, то проще не изобретать велосипед, а просто снабдить этого юнита ослабленной бронёй и он будет получать больше урона от ВСЕХ.

А теперь касательно вопроса у юнита А повышенный дамаг против юнитов Б. У юнитов Б повышенный дамаг против юнитов С. С рвёт юнитов А как тузик будку.

Это вполне реально существующий механизм в игре, просто он работает не на основе юнита, а на основе брони/оружия. К примеру лучникам тяжко против пехоты с большими щитами, а этой пехоте тяжко против конницы с оружиями пробивающими блоки и щиты. Зато арбалетчики например пробивают щиты.

В случае с повышенным уроном от топоров, это вообще довольно просто и вообще реализовано можно сказать. Создаешь новый топор и даешь ему пробивать блоки и тяжелую броню, к примеру и вуаля.

Теоритически, можно добавить новые "виды" брони и новые "виды" урона, а уже потом добавлять их предметам, а уже потом одевать их на юнитов. Просто кодить в противном случае нужно будет довольно много в мс.

В механике ванильной игры вообще у "человечка" как таковых свойств особых нет, почти все свои свойства он получает через навыки и, в первую очередь, через одетые на него предметы. Так и создается разница и "боланц" между войсками и армиями в ванильном Warband. На основе этого же и свойств брони и оружия проще делать какие-то особые бонусы.

А насчёт позволяет ли запоминать, кто нанёс последний удар. Опять таки вопрос, для чего? Ну, просто это ненадо было раньше никому, но есть например механизм добавления фрагов как в мультиплеере, так и в соло игре (где статистика сколько перс убил врагов и друзей (в окне экспорта/импорта перса). Опять таки и эту систему можно усовершенствовать.

« Последнее редактирование: 02 Августа, 2014, 16:36 от Groby »
  • Сообщений: 296
  • За активную деятельность, связанную с публикациями и помощью другим посетителям
    • Просмотр профиля
0
« Ответ #2 : 02 Августа, 2014, 17:29 »
Можно изготовить триггеры со специфическим временем срабатывания (см. header_triggers), как во время удара или смерти/обморока, а получить ИД агента можно сохранив определённый параметр триггера (см. там же), также можно получить ИД ударившего оружия (после чего, по надобности снять с ударенного нужное кол-во здоровья).

Без комментариев.
  • Сообщений: 39489
  • За регистрацию на форуме не позже сентября 2008 года И создали они сайт...
    • Просмотр профиля
0
« Ответ #3 : 02 Августа, 2014, 17:31 »
Groby,
На постоянной, но не так.  В  том и суть, от ВСЕХ юнит получает стандартный урон либо пониженный, а от конкретного юнита, например, вегирского лучника, он получает повышенный урон или, соответственно стандартный, т.е. лучнику его проще других ушатать.

Вариант сделать супер топор который рубит все подряд не подходит, нужна более тонкая настройка - чтобы супер топор был только против свадийского рыцаря, а против остальных это был бы простой топор

Ну скажем так запоминать, чтобы после боя с пострадавшим произошла та или иная вещь.

  • Ник в M&B: Sellsword
Привыкший сражаться не жнет и не пашет:
Хватает иных забот.
Налейте наемникам полные чаши!
Им завтра – снова в поход!
  • Сообщений: 840
    • Просмотр профиля
0
« Ответ #4 : 02 Августа, 2014, 17:38 »
ну как-то же сделали в каком-то моде (как бы не Good mod или Gain), что лошадь получает повышенный урон от любого копья.

  • Ник в M&B: Almers
  • Фракция: Наемники
  • Сообщений: 296
  • За активную деятельность, связанную с публикациями и помощью другим посетителям
    • Просмотр профиля
0
« Ответ #5 : 02 Августа, 2014, 17:43 »
Ну скажем так запоминать, чтобы после боя с пострадавшим произошла та или иная вещь.
Смотря какая вещь. Ежели, скажем, падёж здоровья, то можно и во время боя отметить, а ежели такое, что надо запоминать его некоторое время, то проблемно (надо будет хорошо подумать).

Без комментариев.
  • Сообщений: 39489
  • За регистрацию на форуме не позже сентября 2008 года И создали они сайт...
    • Просмотр профиля
0
« Ответ #6 : 02 Августа, 2014, 17:54 »
Дикий-дикий повар,
Эффект проявляется либо сразу после боя, либо в течение суток, знаешь, как со сбежавшими свежезавербованными. Например, допустим, ну... сарранид-ассассин, довольно посредственный вояка, но когда последний удар наносит он, юнит мрет, независимо от хирургии. 

  • Ник в M&B: Sellsword
Привыкший сражаться не жнет и не пашет:
Хватает иных забот.
Налейте наемникам полные чаши!
Им завтра – снова в поход!
  • Сообщений: 410
    • Просмотр профиля
0
« Ответ #7 : 02 Августа, 2014, 17:57 »
NightHawkreal, с помощью ti_on_agent_hit можно выяснить кто, кого и чем бьет и добавить повреждений в триггере.

Вот пара примеров использования (форматирование почему-то не сохранилось).
При ударе, если нанесены достаточно большие повреждения, противник может упасть, если бьет игрок и бьет по ногам шанс увеличивается:

Ломающаяся ланса (если юнит бьет лансой, то есть шанс, что она сломается и юнит автоматически "возьмет" другое оружие - скрипт Peteo):

« Последнее редактирование: 02 Августа, 2014, 18:22 от Smile »
  • Сообщений: 1722
  • За особо выдающиеся авторские тексты За активную деятельность, связанную с публикациями и помощью другим посетителям
    • Просмотр профиля
0
« Ответ #8 : 02 Августа, 2014, 18:07 »
Есть функция которая наносит определённое количество ущерба одним агентом другому агенту независимо от расстояния между ними.
(agent_deliver_damage_to_agent, <agent_id_deliverer>, <agent_id>, [damage_amount]),
Если ущерб [damage_amount] не задавать, то он расчитывается обычным образом.
Триггер будет выглядеть как-то так:
(ti_on_agent_hit, 0, 0, [],
[
(store_trigger_param_1, ":dead_agent_no"),
(store_trigger_param_2, ":killer_agent_no"),

(agent_get_troop_id, ":troop_no", ":dead_agent_no"),
(agent_get_troop_id, ":troop_id", ":killer_agent_no"),
(try_begin),
(eq, ":troop_no", "trp_жертва"),
(eq, ":troop_id", "trp_убийца"),
(agent_deliver_damage_to_agent,":killer_agent_no",":dead_agent_no",100),
(try_end),
]),


  • Ник в M&B: Fin___Gall
  • Сообщений: 39489
  • За регистрацию на форуме не позже сентября 2008 года И создали они сайт...
    • Просмотр профиля
0
« Ответ #9 : 02 Августа, 2014, 18:35 »
FinGall,
В смысле, независимо от расстояния?

  • Ник в M&B: Sellsword
Привыкший сражаться не жнет и не пашет:
Хватает иных забот.
Налейте наемникам полные чаши!
Им завтра – снова в поход!
  • Сообщений: 1722
  • За особо выдающиеся авторские тексты За активную деятельность, связанную с публикациями и помощью другим посетителям
    • Просмотр профиля
0
« Ответ #10 : 02 Августа, 2014, 18:43 »
В смысле, независимо от расстояния?
Агенты могут находиться в разных концах сцены. Функция agent_deliver_damage_to_agent всё равно нанесёт повреждения агенту-жертве. В данном триггере она просто добавит ещё повреждений к нанесённому удару.

  • Ник в M&B: Fin___Gall
  • Сообщений: 296
  • За активную деятельность, связанную с публикациями и помощью другим посетителям
    • Просмотр профиля
0
« Ответ #11 : 02 Августа, 2014, 19:10 »
Эффект проявляется либо сразу после боя, либо в течение суток, знаешь, как со сбежавшими свежезавербованными. Например, допустим, ну... сарранид-ассассин, довольно посредственный вояка, но когда последний удар наносит он, юнит мрет, независимо от хирургии. 
Со свежезавербованными в том дело, что не надо много запоминать (найм с одного слота раз в 24 часа), а тут... При желании можно закодировать по многу значений в каждую переменную... А войска ведь ещё и перемещать можно (в замок или другому отряду). ...Убрать бойца из партии можно и во время боя.

Без комментариев.
  • Сообщений: 410
    • Просмотр профиля
0
« Ответ #12 : 02 Августа, 2014, 19:58 »
Эффект проявляется либо сразу после боя, либо в течение суток, знаешь, как со сбежавшими свежезавербованными.
ну... сарранид-ассассин, довольно посредственный вояка, но когда последний удар наносит он, юнит мрет, независимо от хирургии. 
Я бы попробовал "записать" в отдельный слот убитых ассасином.
Слот в module_constants - slot_agent_убит_ассасином, триггер  ti_on_agent_hit - если бьет ассасин и повреждения больше хп жертвы, жертвы "записываются" в слот slot_agent_убит_ассасином (agent_set_slot, ":убитый", slot_agent_убит_ассасином).
С агентами "в слотах" можно проделать нужные операции в нужное время, мда, на поле боя). Если нужно запомнить юнита во время боя, а потом в определенное время убрать из партии с карты то вероятно хитрее. В случае с ассасином, я попробовал бы убирать с карты кол-во юнитов определенного типа равное кол-ву юнитов определенного типа, убитых ассасином, "убивая" ассасином с помощью blunt damage (то бишь оглушая). Возможно, можно по другому.

« Последнее редактирование: 02 Августа, 2014, 21:00 от Smile »

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


Powered by SMF 2.0 | SMF © Simple Machines LLC