Это популярное сообщение. frags 30 Опубликовано 24 Декабря 2008 Это популярное сообщение. Поделиться Опубликовано 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 Ссылка на комментарий https://www.amk-team.ru/forum/topic/3487-cs-raschet-povrezhdeniy-pri-strelbe-po-nepisyam/
garand2k 6 Опубликовано 24 Декабря 2008 Поделиться Опубликовано 24 Декабря 2008 Интересно,крайне интересно... Лови плюсик за работу. Одно дополнение-при расчете еще учитывается иммунитет из м_сталкера Ссылка на комментарий https://www.amk-team.ru/forum/topic/3487-cs-raschet-povrezhdeniy-pri-strelbe-po-nepisyam/#findComment-167241
frags 30 Опубликовано 24 Декабря 2008 Автор Поделиться Опубликовано 24 Декабря 2008 Интересно,крайне интересно... Лови плюсик за работу. Одно дополнение-при расчете еще учитывается иммунитет из м_сталкера Это тот который fire_wound_immunity? Сегодня испытаю и его и отпишусь. Ссылка на комментарий https://www.amk-team.ru/forum/topic/3487-cs-raschet-povrezhdeniy-pri-strelbe-po-nepisyam/#findComment-167244
fritz 0 Опубликовано 24 Декабря 2008 Поделиться Опубликовано 24 Декабря 2008 Я провел детальное исследование влияние параметров пули и броников при стрельбе по неписям. И еще о k_ap. Было замечено странное поведение алгоритма расчета урона при значении этого коэффициента выше 0.75. Пуля наносит как бы двойное повреждение. Одно как бронибойная пробивая защиту, и другое - как не бронибойная пуля. В результате совокупный урон неписю может составляеть больше чем 2 * hit_power * k_hit * 100. В своё время (очень давно) я плотно общался с Прохоровым из ГСЦ (если в курсе, кто это), на предмет баллистики БП и т.д., так вот на основании тех дел могу предположить, что такой эффект получается от пуль типа 9х19 ПБП 7н21 (так сказать бронебойно-экспасивных), т.е. пробите брони и снятие "рубашки" с сердечника уже в теле жертвы. Ссылка на комментарий https://www.amk-team.ru/forum/topic/3487-cs-raschet-povrezhdeniy-pri-strelbe-po-nepisyam/#findComment-167322
St.Ser 0 Опубликовано 24 Декабря 2008 Поделиться Опубликовано 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% здоровья?? Ссылка на комментарий https://www.amk-team.ru/forum/topic/3487-cs-raschet-povrezhdeniy-pri-strelbe-po-nepisyam/#findComment-167335
frags 30 Опубликовано 24 Декабря 2008 Автор Поделиться Опубликовано 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 выстрела из форта по голому договцу - и труба. Ссылка на комментарий https://www.amk-team.ru/forum/topic/3487-cs-raschet-povrezhdeniy-pri-strelbe-po-nepisyam/#findComment-167343
St.Ser 0 Опубликовано 24 Декабря 2008 Поделиться Опубликовано 24 Декабря 2008 Давай посчитаем для примера убойность пистолета форт.по броне долга в грудь.(изменено) 0.669Х1Х0.2Х1Х100=13.38 ед Но по логике вещей пуля из пистолета форт попав в грудь вообще не должна отнимать здоровье.. Ссылка на комментарий https://www.amk-team.ru/forum/topic/3487-cs-raschet-povrezhdeniy-pri-strelbe-po-nepisyam/#findComment-167348
frags 30 Опубликовано 24 Декабря 2008 Автор Поделиться Опубликовано 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 ед Но по логике вещей пуля из пистолета форт попав в грудь вообще не должна отнимать здоровье.. Считай, что здоровье отнимается от удара пули через непробитый броник. Ссылка на комментарий https://www.amk-team.ru/forum/topic/3487-cs-raschet-povrezhdeniy-pri-strelbe-po-nepisyam/#findComment-167356
frags 30 Опубликовано 25 Декабря 2008 Автор Поделиться Опубликовано 25 Декабря 2008 Написал программку для расчета повреждений по описанному алгориму. Ссылка в шапке. Ссылка на комментарий https://www.amk-team.ru/forum/topic/3487-cs-raschet-povrezhdeniy-pri-strelbe-po-nepisyam/#findComment-167377
garand2k 6 Опубликовано 25 Декабря 2008 Поделиться Опубликовано 25 Декабря 2008 Написал программку для расчета повреждений по описанному алгориму. Ссылка в шапке. Ты монстр)) Похоже что параметр k_pierce не используется вообще (наверное пришел из ТЧ). За пробиваемость препятствий отвечает также k_ap. Сам только что проверил, это правда. Ссылка на комментарий https://www.amk-team.ru/forum/topic/3487-cs-raschet-povrezhdeniy-pri-strelbe-po-nepisyam/#findComment-167447
frags 30 Опубликовано 25 Декабря 2008 Автор Поделиться Опубликовано 25 Декабря 2008 Увы не получается поставить значение меньше единицы в любом поле ни запятая ни ноль не ставятся так и выглядит, но после нуля запятая не ставится и все другие цифры не лезут Так у тебя разделитель наверное точка, а не запятая. А если первая цифра ноль, то да, другие цифры не набить, потому как код ожидает разделитель. ЗЫ. Пишу сюда, так как система говорит, что твой личный ящик полон и не дает отправить сообщение - почисть ящик. Ссылка на комментарий https://www.amk-team.ru/forum/topic/3487-cs-raschet-povrezhdeniy-pri-strelbe-po-nepisyam/#findComment-167598
garand2k 6 Опубликовано 25 Декабря 2008 Поделиться Опубликовано 25 Декабря 2008 Скомпилишь обновленную версию программы? Надо поправить то, что k_ap делится на 2 при расчете того, пробила ли пуля защиту. И добавить переменную "stalker_immunities". P.S.Такой вопрос. У меня возникла проблема с выдачей тайников в моде. Скрипты treasure_manager и bind_faction не изменял. Содержимое нычек не правил. При покупке нычки пишется, что деньги сняли, но ни сам тайник, ни отметка на карте не дается. В чем может быть проблема? Ссылка на комментарий https://www.amk-team.ru/forum/topic/3487-cs-raschet-povrezhdeniy-pri-strelbe-po-nepisyam/#findComment-167608
frags 30 Опубликовано 25 Декабря 2008 Автор Поделиться Опубликовано 25 Декабря 2008 Скомпилишь обновленную версию программы? Надо поправить то, что k_ap делится на 2 при расчете того, пробила ли пуля защиту. И добавить переменную "stalker_immunities". P.S.Такой вопрос. У меня возникла проблема с выдачей тайников в моде. Скрипты treasure_manager и bind_faction не изменял. Содержимое нычек не правил. При покупке нычки пишется, что деньги сняли, но ни сам тайник, ни отметка на карте не дается. В чем может быть проблема? 1. k_ap НЕ надо делить на 2. Программа должна работать согласно описанного в шапке алгоритма. 2. Хорошо, посмотрю. Ссылка на комментарий https://www.amk-team.ru/forum/topic/3487-cs-raschet-povrezhdeniy-pri-strelbe-po-nepisyam/#findComment-167612
garand2k 6 Опубликовано 25 Декабря 2008 Поделиться Опубликовано 25 Декабря 2008 1. k_ap НЕ надо делить на 2. Программа должна работать согласно описанного в шапке алгоритма. 2. Хорошо, посмотрю. Я то понимаю, что на 2 делить не надо. Но в первой версии алгоритма было деление 2, возможно опечатка. А в программе алгоритм все-таки с ошибкой(ошибками). Пример. Ввожу такие параметры: 1 -hit_power 1 -k_hit 0.7 -k_ap 0.4 -hit_fraction 0.4 - Bd 1 -Sd и выдает повреждение 42,9%. Пуля пробила броню. Если считать по варианту hit_fraction * Sd * 100 , то получится 40%. Если по второму, то будет 100 * F. Тогда получается, что F = 0,429 ; но откуда это число? по формуле F = (k_ap-Bd)/k_ap оно должно быть равно ... черт! Все верно. Сдаюсь. Ссылка на комментарий https://www.amk-team.ru/forum/topic/3487-cs-raschet-povrezhdeniy-pri-strelbe-po-nepisyam/#findComment-167625
frags 30 Опубликовано 25 Декабря 2008 Автор Поделиться Опубликовано 25 Декабря 2008 Я то понимаю, что на 2 делить не надо. Но в первой версии алгоритма было деление 2, возможно опечатка. Да, делить не надо. То была моя ошибка при попытке вывести формулы эмпирическим путем. То что сейчас описано и в программе вроде как правильно, потому как совпадает с практическими результатами. Ссылка на комментарий https://www.amk-team.ru/forum/topic/3487-cs-raschet-povrezhdeniy-pri-strelbe-po-nepisyam/#findComment-167627
frags 30 Опубликовано 26 Декабря 2008 Автор Поделиться Опубликовано 26 Декабря 2008 Баланс это хорошо. Но нужно и геймплей разнообразить. Все-таки глобальный мод. Хотя конечно, теперь буду одними конфигами заниматься. Кстати, фикс2 выпустил. P.S. Такая еще штука. Нычки выдаются, но не отмечаются как выданные. Посмотри как сделана функция function CTreasure:give_treasure в treasure_manager.script в оригинальном файле. У тебя кажись оператор self.active = true не на своем месте. Добавил описания стрельбы неписей по ГГ и воздействия гранат на ГГ и неписей. Ссылка на комментарий https://www.amk-team.ru/forum/topic/3487-cs-raschet-povrezhdeniy-pri-strelbe-po-nepisyam/#findComment-167778
Sp@wN 0 Опубликовано 27 Декабря 2008 Поделиться Опубликовано 27 Декабря 2008 за что отвечает "hit_impulse"в конфигах оружия? Ссылка на комментарий https://www.amk-team.ru/forum/topic/3487-cs-raschet-povrezhdeniy-pri-strelbe-po-nepisyam/#findComment-168392
frags 30 Опубликовано 27 Декабря 2008 Автор Поделиться Опубликовано 27 Декабря 2008 за что отвечает "hit_impulse"в конфигах оружия? и все красиво игнорят мой вопрос Ну че ты расшумелся? Я только вернулся. Импульсные дела отвечают за то, насколько сильно отлетит тело после того как умрет. Ссылка на комментарий https://www.amk-team.ru/forum/topic/3487-cs-raschet-povrezhdeniy-pri-strelbe-po-nepisyam/#findComment-168505
St.Ser 0 Опубликовано 28 Декабря 2008 Поделиться Опубликовано 28 Декабря 2008 Рейтинг у него мал для плюсиков =) когда исправишь программку свою. Как запятые не ставились так и не ставятся Ссылка на комментарий https://www.amk-team.ru/forum/topic/3487-cs-raschet-povrezhdeniy-pri-strelbe-po-nepisyam/#findComment-168598
frags 30 Опубликовано 28 Декабря 2008 Автор Поделиться Опубликовано 28 Декабря 2008 Рейтинг у него мал для плюсиков =) когда исправишь программку свою. Как запятые не ставились так и не ставятся Точку попробуй - может у тебя разделитель - точка. Ссылка на комментарий https://www.amk-team.ru/forum/topic/3487-cs-raschet-povrezhdeniy-pri-strelbe-po-nepisyam/#findComment-168761
Рекомендуемые сообщения
Создайте аккаунт или авторизуйтесь, чтобы оставить комментарий
Комментарии могут оставлять только зарегистрированные пользователи
Создать аккаунт
Зарегистрировать новый аккаунт в нашем сообществе. Это несложно!
Зарегистрировать новый аккаунтВойти
Есть аккаунт? Войти.
Войти