Перейти к контенту

Магазинное питание оружия


Kirag

Рекомендуемые сообщения

перестал пищать детектор артефактов.

 

Проверил ситуацию с детекторами. Выдал себе в начале игры в диалоге со Звездочетом обычный детектор артефактов, ультрадетектор артефактов и детектор изоморфов, чтобы долго за ними не бегать. И заменил ПМ на АК, чтобы оружием пользоваться, не убирая детектор. Задеть функционал детекторов такой правкой невозможно.

Проделал это и на своей адаптации магазинов, и на чистой Соли. Результат получился довольно странный, но от наличия магазинов не зависящий - на чистой Соли все то же самое.

 

Арты, появившиеся изначально при старте игры:

Простой детектор - при помещении в пистолетный слот исправно начинает пищать при приближении к арту на 40 метров. В описании 50, но черт бы с ним. Пока подозрений не возникает.

Ультрадетектор. Честно ставит метки на карту. Дистанция вызывает сомнения - от точки старта (= место появления детектора +- 10 метров, детектор включал сразу же по получении) видит и "кровь камня" на крыше тепловозана самом востоке карты, и "медузу" возле деревни новичков. Само собой, и все, что ближе. Один раз засек арт чуть ли не за военным блокпостом на юге. По описанию - дальность 100 метров. Ну, мало ли, девайс пересмотрели, а описание забыли. Пищать вроде и не должен.

Детектор изоморфов - пищит и показывает арты на карте на правдоподобной дистанции.

 

При убирании детектора из слота начинаются проблемы. Простой детектор успешно затыкается после удаления из пистолетного слота. А с метками от детекторов на карте не все так просто. Они удаляются при отключении детектора через раз и по непонятному принципу - что-то да, что-то нет. С чем связано - не знаю. Не уверен насчет детектора изоморфов, но от ультрадетектора метки точно остаются.

 

Арты, выпадающие из разбитых ящиков:

На Кордоне таких как минимум три - с "медузой" около логова кабанов, с "каменным цветком" в деревне на крыше и с "кровью камня" в деревне же в подвале. Разбиваю ящики из АК, детектор в пистолетном слоте. Дистанция - 50-60 метров возле кабанов, остальные в упор. Вне зависимости от типа детектора, новопоявившиеся арты не определяются. Убирание детектора из слота и его возвращение обратно (хоть того же, хоть другого) не помогают.

 

Выброса не дожидался, ибо долго и смысла нет - глюк и так виден.

 

Причем на чистой Соли происходит все абсолютно то же самое. Единственное, что могу сказать - магазины здесь не при чем. Больше похоже на проблемы с обновлением детекторов, но это уже не ко мне...

 

Мои работы:

Ночные прицелы + смена ножевого слота

AI вертолетов + ПЗРК

Soul Cube

 

Работаю только с ТЧ. С ковырянием ЧН/ЗП не связываюсь ни в какой форме. Совсем.

Поделиться этим сообщением


Ссылка на сообщение

Wlad777

 

Думал я на эту тему, когда делал мод. Еще хуже получится.

Допустим, я так и сделал - пустой магазин сбрасывается в момент зарядки = во время работы анимации перезарядки.

 

Возьмем ситуацию - есть оружие с заряженным магазином, других магазинов в инвентаре нет. Заходим в инвентарь, разряжаем - выпадает магазин. Это сделать можно и это вполне нормально с точки зрения логики. Вполне оправданно логически и зарядить (уже пустое, все условия, как будто только что отстреляли!) оружие только что вытащенным магазином. Опаньки! Магазин зарядился, и в инвентарь выпал пустой магазин. Откуда? Из оружия же единственный достали и воткнули обратно? Снова достали-воткнули - еще плюс пустой магазин, и так до бесконечности.

 

Получается генератор халявных магазинов, что неизмеримо хуже, чем небольшая нестыковка времени сброса с анимацией.

 

Мои работы:

Ночные прицелы + смена ножевого слота

AI вертолетов + ПЗРК

Soul Cube

 

Работаю только с ТЧ. С ковырянием ЧН/ЗП не связываюсь ни в какой форме. Совсем.

Поделиться этим сообщением


Ссылка на сообщение

Сейчас магазин сбрасывается по факту отстрела.

Можно его сбрасывать по факту зарядки, но при изначально незаряженном оружии получим пустой магазин из ниоткуда. Различить, заряжаем ли мы только что отстрелянный ствол (сбрасывать нужно) или ствол, из которого магазин мирно без стрельбы достали (сбрасывать нечего) в момент зарядки уже нельзя - между разрядкой и зарядкой может пройти даже несколько сейв-лоадов.

 

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

 

Так что выбор небогатый:

Либо подгонять под анимации, и получить побочным эффектом глюки с количеством магазинов - а это уже бьет по геймплею.

Либо черт с ними, с анимациями, в очень небольшом количестве случаев - обычно зарядить есть чем.

 

Я с чистой совестью выбираю второй вариант.

Чтоб не так било по глазам, сбрасывай магазины в инвентарь, не так заметно, когда выпал.

 

Вот, кстати, еще из той же серии:

Сама разрядка в инвентаре - без анимки вообще.

После разрядки ствола в инвентаре, прежде чем зарядить, все равно в анимке выдергивается магазин.

Полный цикл перезарядки в анимке при осечке, вместо простого дерганья затвора.

 

Мои работы:

Ночные прицелы + смена ножевого слота

AI вертолетов + ПЗРК

Soul Cube

 

Работаю только с ТЧ. С ковырянием ЧН/ЗП не связываюсь ни в какой форме. Совсем.

Поделиться этим сообщением


Ссылка на сообщение

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

Мои работы:

Ночные прицелы + смена ножевого слота

AI вертолетов + ПЗРК

Soul Cube

 

Работаю только с ТЧ. С ковырянием ЧН/ЗП не связываюсь ни в какой форме. Совсем.

Поделиться этим сообщением


Ссылка на сообщение

Zander_driver

 

1) В идеале можно вообще ничего не прописывать - магазин к активному оружию выдается автоматически в xr_motivator-е. У меня работает без проблем, на любой из трех версий - ничего НПС не прописывал, но они прекрасно перезаряжаются. Проверь адаптпцию в этом моменте.

 

2) Патроны оставил бесконечными, схемы АИ я писать-подключать просто не знаю как. Сильно долгого боя на десяток магазинов все равно не бывает, либо актор сдохнет, либо НПС. Либо, если союзники, всех врагов перестреляют, да актор дальше пойдет.

 

3) Скорее всего, файла amk_utils.script просто нет в геймдате "Жести". Если это так, то он в "Жести" и не нужен, смело комменти. Магазины точно не заденешь.

Мои работы:

Ночные прицелы + смена ножевого слота

AI вертолетов + ПЗРК

Soul Cube

 

Работаю только с ТЧ. С ковырянием ЧН/ЗП не связываюсь ни в какой форме. Совсем.

Поделиться этим сообщением


Ссылка на сообщение

С уникальными стволами - прописать им другие магазины под нужный калибр.

"Гроза" под 5,45х39 вполне сожрет магазины этого калибра на 30 и на 45 (булпап с барабаном - это анекдот, жутко мешаться должен).

MP5 под 9х18 - пусть от "Пернача" жрет на 27 патронов - самый близкий, хотя и странно будет смотреться.

"Биг Бен", жрущий автоматные магазины - еще страньше, но это вообще странный девайс.

Больше не помню вариаций с калибром.

На крайняк - сделать варианты существующих магазинов под нужный патрон, описание что там и зачем есть в шапке. Другое дело, что фиг ты достанешь где уникальные магазины...

 

Хотя я у себя еще проще поступил :)

Мои работы:

Ночные прицелы + смена ножевого слота

AI вертолетов + ПЗРК

Soul Cube

 

Работаю только с ТЧ. С ковырянием ЧН/ЗП не связываюсь ни в какой форме. Совсем.

Поделиться этим сообщением


Ссылка на сообщение

Zander_driver

"Родным" магазином считается первый, указанный в списке ammo_class. Магазин на 10 - "родной" для "Винтореза", для "Вала" - 20. Поменяй магазины местами в конфиге, все "Валы" будут с 20-ками. Посмотри, как это сделано у меня, те же "Вал" и "Винторез"

 

Ирбис

В том-то и дело, что не является пистолетный слот нормальным вариантом. Оно мне надо было - с поясом и биноклем связываться? Это ж гемора немалый кусок! Но бинокль не является предметом срочной необходимости, в отличие от оружия. А если единственное, что есть (хоть с патронами, хоть просто единственное) - под пистолетный слот, а в нем перезарядка идет? Пока будешь в инвентаре копаться, сто раз пристрелят. Так что гемор с биноклем, конечно, зло, но только с чисто технической точки зрения. В плане геймплея я на этом ничего не потерял, а в удобстве выиграл.

 

Артефакт не рассматривается как база для зарядки в принципе - в этом классе слишком многого нет, выгоды от него вообще никакой, никаких проблем этот класс не решает, зато добавляет море новых. Как, к примеру, тип патронов на артефакте сменить? Какие побочные эффекты будут при активации (каковая реально произойдет, ибо движок)? В классе шотгана вопросы зарядки решаются куда более естественно, и побочным эффектам возникать не с чего.

 

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

Мои работы:

Ночные прицелы + смена ножевого слота

AI вертолетов + ПЗРК

Soul Cube

 

Работаю только с ТЧ. С ковырянием ЧН/ЗП не связываюсь ни в какой форме. Совсем.

Поделиться этим сообщением


Ссылка на сообщение

Zander_driver

Контейнеры выдаются при первом появлении актора = старт новой игры в bind_stalker-е. Где именно находится актор в этот момент - не имеет значения.

Мои работы:

Ночные прицелы + смена ножевого слота

AI вертолетов + ПЗРК

Soul Cube

 

Работаю только с ТЧ. С ковырянием ЧН/ЗП не связываюсь ни в какой форме. Совсем.

Поделиться этим сообщением


Ссылка на сообщение

Mr Wiggles

 

Энергодевайсы гарантированно пересекаются, но вообще они совместимы с магазинами.

Единственное, что могу тут посоветовать - забить биндер актора сообщениями qqq. Потом дождись (спровоцируй сам), когда он зависнет, и посмотри в логе, какое было последнее сообщение. Виснет где-то между ним и следующим за ним - так ты локализуешь место косяка, можно уточнить вплоть до строки. Уже будет, над чем подумать. Сам так всегда ищу место зависа/вылета.

 

Крещендо

Слово DMX Mod мне ни о чем не говорит, кроме факта, что это что-то под Солянку. Поэтому не знаю, будет ли работать без правок. С адаптацией связываться не буду точно.

Мои работы:

Ночные прицелы + смена ножевого слота

AI вертолетов + ПЗРК

Soul Cube

 

Работаю только с ТЧ. С ковырянием ЧН/ЗП не связываюсь ни в какой форме. Совсем.

Поделиться этим сообщением


Ссылка на сообщение

По адаптации к DMX-у:

 

100% будет конфликт со сменой ножей - я в адаптации к Соли отключил ее активацию в amk_mod.script, в смысле активацию того варианта, что был в Соли. Собственно, мой же код, но со времен "Ночных прицелов" я его доработал для смены предмета в любом слоте. Но если у предмета нет фейка, убрать его из слота не получится.

 

Есть вероятность, будет конфликт перепаковщика патронов и контейнеров для артов. Хотя, этот момент я решил в inv.script, не трогая файлов Солянки

 

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

Мои работы:

Ночные прицелы + смена ножевого слота

AI вертолетов + ПЗРК

Soul Cube

 

Работаю только с ТЧ. С ковырянием ЧН/ЗП не связываюсь ни в какой форме. Совсем.

Поделиться этим сообщением


Ссылка на сообщение

По поводу увеличения веса инвентаря после перезагрузки уровня:

Дополнительный вес не всегда учитывался при операциях с магазинами, из-за этого вес в процессе игры набирался меньше, чем должен был. При загрузке уровня он пересчитывался с нуля так, как это было задуманно. Поправил этот момент.

 

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

 

Ссылка в шапке.

Мои работы:

Ночные прицелы + смена ножевого слота

AI вертолетов + ПЗРК

Soul Cube

 

Работаю только с ТЧ. С ковырянием ЧН/ЗП не связываюсь ни в какой форме. Совсем.

Поделиться этим сообщением


Ссылка на сообщение

Тогда уж

    if db.actor:is_talking() then
        news_manager.relocate_item(db.actor, "in", section)
    end

А то не только в диалоге сообщение получится

Мои работы:

Ночные прицелы + смена ножевого слота

AI вертолетов + ПЗРК

Soul Cube

 

Работаю только с ТЧ. С ковырянием ЧН/ЗП не связываюсь ни в какой форме. Совсем.

Поделиться этим сообщением


Ссылка на сообщение

Опять я на те же грабли - я не вложить забыл, а выкинуть ненужное из kirag_take_drop. В результате он совмещен много с чем, но этого много чего в "магазинах" нет. Закомменти нафиг все вызовы из item_effects, кроме item_effects.fake_weapon_effect(sect).

 

По ситуации поднятия магазина - можешь подробнее написать порядок действий с самого начала, откуда магазин взялся. Я вроде делал учет веса при подборе с земли, не пойму, что и где я не учел...

Изменено пользователем Kirag

Мои работы:

Ночные прицелы + смена ножевого слота

AI вертолетов + ПЗРК

Soul Cube

 

Работаю только с ТЧ. С ковырянием ЧН/ЗП не связываюсь ни в какой форме. Совсем.

Поделиться этим сообщением


Ссылка на сообщение

Через ammo_manager.give_loaded магазины все равно только с одним патроном даются? Странно...

 

План Б, который есть всегда:

for i = 1,к-во_патронов_в_магазинах do
    spawn.inv(секция_магазина)
end

Эти магазины с одним патроном должны переработаться в полные магазины, насколько патронов хватит.

Мои работы:

Ночные прицелы + смена ножевого слота

AI вертолетов + ПЗРК

Soul Cube

 

Работаю только с ТЧ. С ковырянием ЧН/ЗП не связываюсь ни в какой форме. Совсем.

Поделиться этим сообщением


Ссылка на сообщение

Сам удивляюсь.

Самим по себе спавном предмета в инвентарь запороть анимации невозможно в принципе. Значит, вставил (очень) не туда. Нерабочий спавн по ammo_manager.give_loaded это косвенно подтверждает...

Мои работы:

Ночные прицелы + смена ножевого слота

AI вертолетов + ПЗРК

Soul Cube

 

Работаю только с ТЧ. С ковырянием ЧН/ЗП не связываюсь ни в какой форме. Совсем.

Поделиться этим сообщением


Ссылка на сообщение

То есть сначала в таблицу заносится, а потом спавнится?

Тогда план Б выглядит чуть по другому, но смысл тот же:

...
local spawn_items = {} 

if has_alife_info("bar_arena_fight_1") then 
    table.insert(spawn_items, "wpn_pm")
    for i = 1,к-во_патронов_в_магазинах do
        table.insert(spawn_items, "clip_8_9x18_pmm")
    end

...

Только вместо прямого спавна в инвентарь - занесение в таблицу спавна.

Мои работы:

Ночные прицелы + смена ножевого слота

AI вертолетов + ПЗРК

Soul Cube

 

Работаю только с ТЧ. С ковырянием ЧН/ЗП не связываюсь ни в какой форме. Совсем.

Поделиться этим сообщением


Ссылка на сообщение

Gandifil

Теоретически, поверх беты с перезаписью всего должно сработать. Если было с чем-то совмещено - совмещать нужно заново 100%.

Мои работы:

Ночные прицелы + смена ножевого слота

AI вертолетов + ПЗРК

Soul Cube

 

Работаю только с ТЧ. С ковырянием ЧН/ЗП не связываюсь ни в какой форме. Совсем.

Поделиться этим сообщением


Ссылка на сообщение

Странно, почему 2 раза "_e" добавилось. Секцию выпадающего после зарядки в инвентарь магазина скрипт смотрит в конфиге wm_XXX, в строках chargedN. Если магазин пустой, то к этой секции дописывается "_e", но только один раз.

Посмотри, не вписал ли ты случайно секцию пустого магаза в chargedN, тогда могло бы получиться "_e_e" в конце...

Либо скрипт сильно глюканул, но механизм неясен - даже если бы выполнилось дважды, все равно основная секция перечиталась бы из конфига...

 

 

Добавлено через 4 мин.:

P.S. Информация от Zander_driver:

При написании совместно с магазинами подобных скриптов, мониторящих инвентарь, стоит быть осторожнее. А то у меня одно время стабильность вылетов по

entity not found. id_parent=0 id_entity=ХХХ

была просто ужасающая.

Изменено пользователем Kirag

Мои работы:

Ночные прицелы + смена ножевого слота

AI вертолетов + ПЗРК

Soul Cube

 

Работаю только с ТЧ. С ковырянием ЧН/ЗП не связываюсь ни в какой форме. Совсем.

Поделиться этим сообщением


Ссылка на сообщение

Какая-то мистическая комбинация - ВСС+магаз+реалболт. Вчера xer-urg в личке про нее же спрашивал, при активации болта переставала дозарядка работать... Теперь глюки с конвертацией магазинов...

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

 

Пришла в голову еще одна мысль - а нет ли в ВСС своего перепаковщика патронов (в смысле, из неполных пачек в меньшее к-во полных)? Или в реалболте? При адаптаци к Соли мой перепаковщик и перепаковщик из Соли здорово друг другу гадили, когда пытались отработать одновременно. И поскольку мой работает при открытии/закрытии инвентаря/торговли/обыска одновременно с определением пояса - глюки перепаковщика могут повесить к чертям и пояс, а то и вместе с биндером актора. Пришлось, насколько помню, перепаковщик из Соли отключить вообще.

 

Кстати, Marafon6540, попробуй раскомментить еще функции qqq на взятие/потерю предметов, может, вообще биндер актора висит...

 

Со скачкой у меня сейчас проблемы, весь трафик спалил, только тексты читать по карману :(

Изменено пользователем Kirag

Мои работы:

Ночные прицелы + смена ножевого слота

AI вертолетов + ПЗРК

Soul Cube

 

Работаю только с ТЧ. С ковырянием ЧН/ЗП не связываюсь ни в какой форме. Совсем.

Поделиться этим сообщением


Ссылка на сообщение

Marafon6540

Дело в том, что в моде два вида болтов - bolt и fake_bolt. Так вот когда просто открываешь инвентарь клавишей i в нем виден только fake_bolt, а если торгуешь\обыскиваешь, то видны и fake_bolt и bolt. Получается что bolt в это время удаляется из своего 5 слота в инвентарь и сразу после этого начинают глючить магазины. Какая тут связь убей не пойму.

 

Вот отсюда ноги и растут.

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

Удаляется предмет, как всегда, алайф релизом, по серверному объекту. Но у болта серверного объекта не существует, поэтому и удалить его невозможно, только бросать под ноги - я с этим сталкивался, когда делел смену худа в зависимости от костюма. И при попытке удалить несуществующий объект систему закономерно клинит.

 

А про недостаток - НПС реагируют, как я понимаю, на класс оружия (может, и на активный слот, но врядли - арты и детекторы в пистолетном слоте возмущения не вызывают), и им не интересно, опасно ли оно. Класс шотгана = "убери ствол". По хорошему, надо найти эту реакцию и прописать исключения, но искать было лень...

Мои работы:

Ночные прицелы + смена ножевого слота

AI вертолетов + ПЗРК

Soul Cube

 

Работаю только с ТЧ. С ковырянием ЧН/ЗП не связываюсь ни в какой форме. Совсем.

Поделиться этим сообщением


Ссылка на сообщение
  • Недавно просматривали   0 пользователей

    • Ни один зарегистрированный пользователь не просматривает эту страницу.
×
×
  • Создать...