steelrat 107 Опубликовано 1 Июня 2008 9rauth По какому принципу у тебя НПС выбирают оружие? Какие параметры при этом учитываются и чему отдается предпочтение? Или опять же у тебя таблица предпочтений, которую ты составил для себя. Можешь кратко расписать схему? А еще я понял, почему автоматам и всему остальному оружию, кроме пистолетов нельзя писать min_radius меньше 5. Они тогда не могу стрелять, так как цель очень близко, а ствол находится за целью. Наблюдал картину, когда собаки обступили НПС (собаки на НПС не бросаются, а вот НПС их может отстреливать, но если по собаке выстрелить, то она вплотную подбегает, но не атакует), и НПС крутит стволом, срез которого находится за головой собаки. Ну и стрелять из-за этого не может. А вот у пистолета ствол короткий и по-этому он вполне из него может стрелять даже, когда цель вплотную. Получается, что длинноствольное оружие нельзя перекладывать в первый - пистолетный слот. Для игрока это удобство, а вот для НПС - беда. «Насилие - это крайняя мера к которой прибегают тупицы»© А.Азимов, "Основание" Поделиться этим сообщением Ссылка на сообщение
steelrat 107 Опубликовано 16 Июня 2008 Вот думал как сделать чтобы скрипт выбирал предпочтительное оружие для НПС. Может по сумме коэффициентов? К примеру, возьмём 3 пистолета. Как выбрать лучший для НПС? Берем данные: ПМ - дальность 25м, магазин 8п, скорость пули 316 Беретта - дальность 50м, магазин 15п, скорость пули 375 УПС - дальность - 60м, магазин 8п, скорость пули 247 теперь берем дальность 25, 50, 60 и сортируем от меньшей к большей получаем - 25, 50, 60. И присваиваем 1 - 25 2 - 50 3 - 60 теперь берем магазин 8, 15, 8 и сортируем от меньшего к большему 8, 8, 15. И присваиваем 1 - 8 1 - 8 3 - 15 тоже самое со скоростью 1 - 247 2 - 316 3 - 375 Подставляем эти коэффициенты вместо реальных данных ПМ - 1 + 1 + 2 = 4 Беретта - 2 + 3 + 1 = 6 УПС - 3 + 1 + 1 = 5 Получаем линейку предпочтений 4(ПМ) - 5(УПС) - 6(Беретта) Чем больше таких коэффициентов ввести, тем больше шансов будет, что итоговая цифра не совпадет. Можно так же сюда внести вес оружия, его скорострельность (для автоматов имеет значение), хит повер. Опять же, если получится через скрипт самостоятельно проверять расстояние до цели, то в решающим коэффициентом может быть граница на каком расстоянии лучше использовать дынное оружие, Думаю, что пока имеет смысл сделать без учета дистанции, а именно по общей сумме коэффициентов. «Насилие - это крайняя мера к которой прибегают тупицы»© А.Азимов, "Основание" Поделиться этим сообщением Ссылка на сообщение
steelrat 107 Опубликовано 17 Июня 2008 Про таблицу то я для наглядности чтобы можно было понять идею. На таблицу завязывать только морока, так как добавление нового ствола будет требовать изменение таблицы. А вот принцип можно использовать и так чтобы даже на добавленное оружие действовало. Достаточно ввести некую метрику для расчёта. К примеру, для расчета индекса магазина взять шаг в 5 патронов. С оглядкой на револьверы. Или даже в 2 патроны на охотничьи ружья. Теперь, если магазин на 2 патрона, делим на метрику 2, получаем индекс 2/2=1. Т.е. самый низший. Если же патронов 7 в магазине, то опять же делим на метрику 2 и получаем 7/2 = 3.5, тут надо округлять. Округлять лучше в большую строну так как магазин на 3 патрона лучше чем на на 2 (3/2=1.5, округлив - 2). Так и в случае с магазином на 7 получаем индекс 4. Так же можно ввести метрику на дальность по fire_distance, размер метрики думаю можно взять 5. Метрика по скорострельности будет размером 30. Таким образом, табличку индексов можно рассчитывать по ходу игры только взяв оружие и тут же высчитав его индекс полезности. Опять же можно вести, что если у оружия есть оптический прицел, значит +1 к индексу, подствольник +1 к индексу (хотя для НПС подствольник никакой роли не играет). Далее наличие глушителя будет -1 (минус единица) к индексу, так как он снижает убойность, дальность, точность. Это будет следующий шаг, хочу сделать смену оружия на дальнем расстоянии. Смену на ближнем расстоянии считаю делать не нужно. Кто полезет по пистолет или дробовик, если в руках автомат, а враг под носом? Почему не расстрелять в упор из автомата? Если автомат в этот момент разряжен то да, но это на мой взгляд уже выше всякого понимания неписей Я тебе уже рассказывал про ситуацию, когда НПС с АК в руках не мог застрелить обступивших его собак. Я отключил собакам чтобы они считали НПС своими врагами, но НПС продолжают собак считать врагами и отстреливают. Выстрелив по собаке, у собаки срабатывает боевой режим, она подбегает к НПС и делает вид, что нападает, но при этом никаких повреждений не наносит, просто прыгает в плотную к НПС. НПС же целится в собаку из автомата, но стрелять не может, так как срез дула автомата на расстоянии в 1 метр от НПС, а голова собаки на растоянии в 0.5 метра, т.е ствол просто торчит сквозь собаку. Представил кратину? Вот НПС мечется, водит стволом, а стрелять не может, так как цель находится ближе чем пуля может вылететь из ствола (получается минус расстояние). У пистолета же и хват другой, и ствол короче, он как раз получается перед собакой и НПС может спокойно стрелять. «Насилие - это крайняя мера к которой прибегают тупицы»© А.Азимов, "Основание" Поделиться этим сообщением Ссылка на сообщение
steelrat 107 Опубликовано 18 Июня 2008 А я про что писал? Я ж говорю, что таблицы фиксированной уже нет, все рассчитывается на основе характеристик оружия из конфигов, но я не придумывал свои функции, а использовал уже имеющиеся, они и в АМК-офлайне используются. Это из логики какое оружие продать, а какое себе оставить, так как НПС теперь работают мусорщиками на локациях. Я правильно понял? «Насилие - это крайняя мера к которой прибегают тупицы»© А.Азимов, "Основание" Поделиться этим сообщением Ссылка на сообщение