frags 30 Опубликовано 24 Декабря 2008 Я провел детальное исследование влияние параметров пули и броников при стрельбе по неписям. Ссылка на написанную мной программу для расчета повреждений по нижеописанному алгоритму v2: http://ifolder.ru/9830240 Добавлено поле которое показывает необходимое количество пуль для убийства неписи. Теперь программа сохранаяет последние введенные значения после выхода. Участвуют след. параметры: 1. hit_power - мощность ствола из файлов параметров стволов 2. k_hit - мощность пули из weapons.ltx для каждого типа патронов 3. k_ap - способность пули пробивать защиту (куртки, броники и т.п) 4. Секции [body_damage_*] и [head_damage_*] из damages.ltx с набором параметров bip01_* - определяет прочность защиты на каждой части тела (второй параметр). Далее эти параметры я обозначу как Bd и Hd. 5. hit_fraction из damages.ltx для каждого типа защиты определяет прочность защиты. Надо упомянуть что параметры броников неписей определяются из файла damages.ltx, а не из outfit.ltx (этот файл чисто для ГГ). 6. Секция [stalker_damage] из m_stalker.ltx с набором параметров bip01_* - определяет фактор уменьшения здоровья при попадании в соответсвующую часть тела (первый параметр). Далее этот параметр я обозначу как Sd. Далее я опишу алгоритм по которому происходит вычисление повреждений. Алгоритм был получен опытным путем при стрельбе по неписи в упор и не претендует на истину в последней инстанции. Контроль количества повреждений производился через hit_callback функцию скрипта. 1. Здоровье неписи лежит в диапазоне от 0 до 100%. 2. Если пуля не бронебойная (k_ap = 0) то урон здоровью вычисляется как: hit_power * k_hit * hit_fraction * Sd * 100 Полученное число вычитается из здоровья неписи и при достижении <=0 - непись убита. Т.е. учитывается только фактор защиты в целом без учета степени защиты на разных частях тела. 3. Если пуля бронебойная (k_ap > 0), то ее фактор повреждения зависит от того пробила пуля защиту или нет. Если пуля не пробила защиту ( k_ap <= Bd(Hd) ) то повреждения считаются как в п.2. Если пуля пробила защиту ( k_ap > Bd(Hd) ) то повреждения считаются как: Вычисляется 2 числа и берется большее: hit_fraction * Sd * 100 и hit_power * k_hit * F * Sd * 100 где F = (k_ap-Bd)/k_ap или F = (k_ap-Hd)/k_ap Интересно что урон здоровью в случае пробития брони бронебойной пулей никак не меньше чем фактор ослабления пули броней (hit_fraction * Sd * 100). И еще о k_ap. Было замечено странное поведение алгоритма расчета урона при значении этого коэффициента выше 0.75. Пуля наносит как бы двойное повреждение. Одно как бронибойная пробивая защиту, и другое - как не бронибойная пуля. В результате совокупный урон неписю может составляеть больше чем 2 * hit_power * k_hit * 100. Скорее всего глюк в игре. Получается, например, при k_ap = 0.75 непись получает 70% урона, а при k_ap = 0.76 - безуслованя смерть. К тому же этот эффект пропадает, например, при определенных сочетаниях hit_power * k_hit >= 1 и k_ap > 2.2 Так что лучше k_ap ограничить максимум 0.75 Теперь что касаемо пробивания препятствий: Похоже что параметр k_pierce не используется вообще (наверное пришел из ТЧ). За пробиваемость препятствий отвечает также k_ap. Вот некоторые его значения: >0.34 - пробивает тонкие фанерки (двери и т.п.) >1.0 - пробивает листовой металл >1.5 - пробивает деревянные брусья и стены деревянных домов Ну а гаусска с ее k_ap=15 шьет все. Ты-ы-ыкс, вот мы добрались и до стрельбы неписей по ГГ. Алгоритм тот же самый. В качестве hit_fraction выступает hit_fraction_actor из outfit.ltx для каждого костюмчика. Повреждения по частям тела расписаны опять же в damages.ltx в секциях [actor_damage_N]. Ссылки на секции повреждений в параметрах bones_koeff_protection из outfit.ltx для каждого костюма. Параметр fire_wound_protection не используется. В инвентаре пулестойкость костюма отображается на основе второго значения из bip01_spine параметра из соответсвующей секции в damages.ltx. Теперь о гранатах. У гранат два поражающих фактора - взрывная волна и осколки. 1. Взрывная волна описана двумя параметрами: blast - кэффициент поражения blast_r - радиус поражения в метрах Максимальный урон здоровью в процентах от ударной волны определяется по формуле (blast - explosion_protection) * 100, где explosion_protection - параметр костюма. Если получилось отрицательное число, то урона нет. Наносимый урон падает пропорционально расстоянию от ГГ до гранаты в пределах blast_r. Неписи никак своим костюмом не защищены от гранат и для них урон равен blast * 100. 2. Разлет осколков описан 3мя параметрами: frags - количество осколков frags_r - радиус разлета frag_hit - коэффициент поражения каждого осколка Осколки наносят поражение в пределах frags_r как небронебойная пуля с k_hit * hit_power равным frag_hit (если конечно осколок попал в непись или ГГ). Теперь охота на зверушек. Все зверушки изначально имеют 100% здоровье. Уязвимость зверушек определяется такими параметрами: 1. hit_power - мощность ствола из файлов параметров стволов 2. k_hit - мощность пули из weapons.ltx для каждого типа патронов 3. Секция указанная в параметре damage из m_*.ltx файлов для зверушек (m_dog.ltx, m_boar.ltx и т.д.) с набором параметров bip01_* (bip01_spine, bip01_head) - определяет прочность частей тела (первый параметр). 4. fire_wound_immunity - определяет общую уязвимость зверушки Формула урона для зверушек: hit_power * k_hit * bip01_ * fire_wound_immunity * 100% 4 4 Поделиться этим сообщением Ссылка на сообщение
frags 30 Опубликовано 24 Декабря 2008 Интересно,крайне интересно... Лови плюсик за работу. Одно дополнение-при расчете еще учитывается иммунитет из м_сталкера Это тот который fire_wound_immunity? Сегодня испытаю и его и отпишусь. Поделиться этим сообщением Ссылка на сообщение
frags 30 Опубликовано 24 Декабря 2008 Вопрос тогда автору данной темы. 2. Если пуля не бронебойная (k_ap = 0) то урон здоровью вычисляется как: hit_power * k_hit * hit_fraction * Sd * 100 Полученное число вычитается из здоровья неписи и при достижении <=0 - непись убита. Давай посчитаем для примера убойность пистолета форт.по броне долга в грудь. 0.669Х1Х1Х1Х100=66.9 ед а здоровья у долговца 100 и что получается?? Что одним выстрелом из пистолета в защищенное от бронебойной пули АК убирается 66% здоровья?? Не правильно. hit_fraction у брони не может быть 1, единица это если только голяком. А так да, 2 выстрела из форта по голому договцу - и труба. Поделиться этим сообщением Ссылка на сообщение
frags 30 Опубликовано 24 Декабря 2008 В своё время (очень давно) я плотно общался с Прохоровым из ГСЦ (если в курсе, кто это), на предмет баллистики БП и т.д., так вот на основании тех дел могу предположить, что такой эффект получается от пуль типа 9х19 ПБП 7н21 (так сказать бронебойно-экспасивных), т.е. пробите брони и снятие "рубашки" с сердечника уже в теле жертвы. Да нет, это скорее всего глюк в игре. Получается, например, при k_ap = 0.75 непись получает 70% урона, а при k_ap = 0.76 - безуслованя смерть. К тому же этот эффект пропадает, например, при определенных сочетаниях hit_power * k_hit >= 1 и k_ap > 2.2 ЗЫ. Алгоритм расчета обновлен с связи с дальнейшими исследованиями. Давай посчитаем для примера убойность пистолета форт.по броне долга в грудь.(изменено) 0.669Х1Х0.2Х1Х100=13.38 ед Но по логике вещей пуля из пистолета форт попав в грудь вообще не должна отнимать здоровье.. Считай, что здоровье отнимается от удара пули через непробитый броник. Поделиться этим сообщением Ссылка на сообщение
frags 30 Опубликовано 25 Декабря 2008 Написал программку для расчета повреждений по описанному алгориму. Ссылка в шапке. Поделиться этим сообщением Ссылка на сообщение
frags 30 Опубликовано 25 Декабря 2008 Увы не получается поставить значение меньше единицы в любом поле ни запятая ни ноль не ставятся так и выглядит, но после нуля запятая не ставится и все другие цифры не лезут Так у тебя разделитель наверное точка, а не запятая. А если первая цифра ноль, то да, другие цифры не набить, потому как код ожидает разделитель. ЗЫ. Пишу сюда, так как система говорит, что твой личный ящик полон и не дает отправить сообщение - почисть ящик. Поделиться этим сообщением Ссылка на сообщение
frags 30 Опубликовано 25 Декабря 2008 Скомпилишь обновленную версию программы? Надо поправить то, что k_ap делится на 2 при расчете того, пробила ли пуля защиту. И добавить переменную "stalker_immunities". P.S.Такой вопрос. У меня возникла проблема с выдачей тайников в моде. Скрипты treasure_manager и bind_faction не изменял. Содержимое нычек не правил. При покупке нычки пишется, что деньги сняли, но ни сам тайник, ни отметка на карте не дается. В чем может быть проблема? 1. k_ap НЕ надо делить на 2. Программа должна работать согласно описанного в шапке алгоритма. 2. Хорошо, посмотрю. Поделиться этим сообщением Ссылка на сообщение
frags 30 Опубликовано 25 Декабря 2008 Я то понимаю, что на 2 делить не надо. Но в первой версии алгоритма было деление 2, возможно опечатка. Да, делить не надо. То была моя ошибка при попытке вывести формулы эмпирическим путем. То что сейчас описано и в программе вроде как правильно, потому как совпадает с практическими результатами. Поделиться этим сообщением Ссылка на сообщение
frags 30 Опубликовано 26 Декабря 2008 Баланс это хорошо. Но нужно и геймплей разнообразить. Все-таки глобальный мод. Хотя конечно, теперь буду одними конфигами заниматься. Кстати, фикс2 выпустил. P.S. Такая еще штука. Нычки выдаются, но не отмечаются как выданные. Посмотри как сделана функция function CTreasure:give_treasure в treasure_manager.script в оригинальном файле. У тебя кажись оператор self.active = true не на своем месте. Добавил описания стрельбы неписей по ГГ и воздействия гранат на ГГ и неписей. Поделиться этим сообщением Ссылка на сообщение
frags 30 Опубликовано 27 Декабря 2008 за что отвечает "hit_impulse"в конфигах оружия? и все красиво игнорят мой вопрос Ну че ты расшумелся? Я только вернулся. Импульсные дела отвечают за то, насколько сильно отлетит тело после того как умрет. Поделиться этим сообщением Ссылка на сообщение
frags 30 Опубликовано 28 Декабря 2008 Рейтинг у него мал для плюсиков =) когда исправишь программку свою. Как запятые не ставились так и не ставятся Точку попробуй - может у тебя разделитель - точка. Поделиться этим сообщением Ссылка на сообщение
frags 30 Опубликовано 31 Декабря 2008 Добавил новую версию. 1. Добавлено поле которое показывает необходимое количество пуль для убийства неписи. 2. Теперь программа сохранаяет последние введенные значения после выхода. Поделиться этим сообщением Ссылка на сообщение
frags 30 Опубликовано 4 Января 2009 Ну теперь пора изучить параметры пулестойкости монстров =) Добавил формулу расчета урона при стрельбе по зверушкам. Поделиться этим сообщением Ссылка на сообщение
frags 30 Опубликовано 4 Января 2009 k_pierce - есть мнение, что этот параметр отвечает за то, на сколько пуля портит броник.. По поводу параметров включения анимации ранения - пока человек, кто с этим разобрался - молчит. Может кто на форуме знает? Ну и последнее с чем нужно разобраться -это с тем как рассчитывается вред аномалий. 1. k_pierce - нет, не отвечает (проверено). 2. Ладно, с ранением сам разберусь. Поделиться этим сообщением Ссылка на сообщение
frags 30 Опубликовано 4 Января 2009 1. k_pierce - нет, не отвечает (проверено). Тогда какой отвечает?? У меня он стоит 2 у патрона 5.45 НАТО и защиту повреждает сильнее. Кстати еще предложение - пистолетным патронам и патронам нато увеличить оставляемые отверстия - это значительно повысит кровотечение у НПС и соответсвенно более приблизит к реалиям различия стрельбы патронами нашими и нато.. 1. А как контролировали степень повреждения? Влияет fire_wound_immunity из файла костюмчиков. Скорее всего формула: fire_wound_immunity * hit_power * k_hit * 100% 2. Насколько я понимаю кровотечения неписей ни на что не влияет. Можно конечно поставить им потерю здоровья от кровотечений, но тогда они в конце концов дохнут сами после любого ранения - лечить то себя они не умеют. 3. Для ГГ, да, есть смысл поправить величину раны, например в зависимости от диаметра пули и ее бронебойности. Поделиться этим сообщением Ссылка на сообщение
frags 30 Опубликовано 4 Января 2009 2. Насколько я понимаю кровотечения неписей ни на что не влияет. Можно конечно поставить им потерю здоровья от кровотечений, но тогда они в конце концов дохнут сами после любого ранения - лечить то себя они не умеют. Как не умеют?? Умеют более того друг другу аптечки еще носят. Контролировал так - специально подставлялся под обстрел долговцами и свободовцами - когда палила свобода - то после 5 -8 выстрелов защита уходила в НОЛЬ. 1. Это если примочка Медик стоит. Но я такие примочки не люблю. Неписи часто по дурному себя ведут, или лечатся не переставая стрелять. 2. Ну это не объективный контроль. Надо смотреть что попало, куда попало и т.п. Я точную формулу для брони не знаю. Поделиться этим сообщением Ссылка на сообщение
frags 30 Опубликовано 14 Января 2009 Цитата(Cyclone-B @ 13.1.2009, 21:26) <{POST_SNAPBACK}> А программка то, вроде работает. Сейчас проверял все вроде сходится. Едиственная просьба - убери плз ограничение в 0.75, пусть считает невзирая на описанный тобою глюк... Кстати,есть предложение - попробуй замутить программку и по точности оружия-патрон... А то пришлось делать так: убирать отдачу, ставить огромное приближение(scope_zoom_factor = 1.5), замерять башку непися(~20см) по колличеству делений на шкале прицела и отстреливать сериями каждый патрон... 1. Убрать конечно можно, но то что посчитает программа совсем не будет сходится с тем что на самом деле. 2. "по точности оружия-патрон" - формулу давай, замутить не проблема. Поделиться этим сообщением Ссылка на сообщение
frags 30 Опубликовано 15 Января 2009 Фрагс и Циклон - предлагаю объеденить наши с вами усилия для создания единого реалистичного мода соотношении брони и пули. Основные цели такие. 1)Насколько можно более точная классификация брони ( 1 -6 класс) и защита предоставляемая ими в игре. 2)Единая правильная шкала расстояния на прицелах, дальномерах и биноклях( для условий игры) 3)Правильные апгрейды на оружие ( избавиться от мифических насадок и доработки напильником) Калашников и Смит - гении + на них работали еще целые оборонные отрасли свехдержав - а тут какие то кулибины в зоне с напильником!! 4)Апгрейды брони с учетом увеличения веса + направленности защиты - толи от пули или от аномалий. 5)Более реалистичные последствия при попаданий из различных стволов, как по людям, так и по мутантам. Согласен. 3. А какие это правильные апргрейды? Поделиться этим сообщением Ссылка на сообщение