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

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


Kirag

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

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

А как было бы в реальности? :) Именно и пришлось бы - или иди с 4 патронами, или заряжай. Если есть другие магазины, то самый быстрый вариант - разрядить оружие, повесить неполный магазин из него на пояс, зарядить оружие - зарядится уже другой магазин, а с тем что в слоте можно будет потом что-то сделать. И это как мне кажется тоже вполне правильно.

Даже на пояс вешать не обязательно - с 99% вероятности зарядится другой магазин, не тот, что только что достали. И вешать магазины на пояс тоже не панацея - если на поясе больше одного магазина, то первый конвертируется в дозаряжаемый, а остальные могут быть заряжены "на общих основаниях", как и магазины в инвентаре. Заряжаются магазины по какому-то кругу, предположительно, по ИД, но точный алгоритм я так и не понял...

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

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

stack trace:
0023:06453297 xrGame.dll
0023:0644B325 xrGame.dll
[error][ 259] : Дополнительные данные отсутствуют.

Вот хотелось бы разобраться - в результате чего может получиться такая ситуация и как с этим бороться.

Люди, сделайте наконец адаптацию под Арсенал. Или дайте ссылку, если таковая имеется

Строгое предупреждение от модератора Ааз
Тебе здесь кто-то что-то должен? Измени форму вопроса, попробуй попросить, а не потребовать.
Изменено пользователем Ааз

А че я сказал такого? Я просто попросил. Меня, например, возмущает факт что под говносолянку есть адаптация, а под Арсенал нет :ny_angry:

Строгое предупреждение от модератора Portezan
Контролируй свои эмоции и фильтруй базар! Read Only на сутки.

Zander_driver

 

В результате чего такое получилось - сложно сказать, даже идей никаких нет.

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

if db.actor:item_in_slot(4) then 
    qqq(db.actor:item_in_slot(4):section()) 
else 
    qqq("nil") 
end

 

 

Насчет установки бинокля в слот - в inv.script в функции update_belt_main() должна быть ловушка на наличие в инвентаре, но не в слоте предмета вместо соответствующего фейка:

-- конвертер предметов с фейками в свои фейки, если они не в слоте - для смены биноклей, ножей, и т.д.
if ini:section_exist("fake_"..sect) then -- если есть фейки
    if slot ~= 4 or not (db.actor:item_in_slot(4) and string.sub(db.actor:item_in_slot(4):section(),1,3) == "wm_" ) then 
        -- слот не биноклевый или в слоте бинокля не магазин
        --qqq("exchanging: "..sect)
        alife():release(alife():object(id), true)
        spawn.inv("fake_"..sect)
        --qqq("exchanged")
    end
end

 

Посмотри, не отключена ли она.

 

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

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

 

Tankkiller

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

Вылет при перезарядке поймал... Подскажите, плз., где я мог

FATAL ERROR

 

[error]Expression : fatal error

[error]Function : CInifile::r_section

[error]File : E:\stalker\patch_1_0004\xrCore\Xr_ini.cpp

[error]Line : 342

[error]Description : <no expression>

[error]Arguments : Can't open section 'mag_30_7.62x39_fmj_e_e'

 

 

stack trace:

 

 

накосячить (куча всего совмещается в K01jan'ку)? Поиск "mag_30_7.62x39_fmj_e_e" и "mag_30_7.62x39_fmj_e" по файлам "Магазинного питания" и моих стволов под этот калибр ничего не дал.

Есть ли адаптация на Народную Солянку от 14.08 с патчем от 03.09, или на 14.08 чистую без патча ?

 

В шапке - для Соли 03.09 - Kirag

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

k01jan, секция mag_30_7.62x39_fmj_e находится в файле \ammo\762x39.ltx. Подобный твоему вылет уже обсуждался в этой теме. Он по-моему был у Zandera. Попробуй поискать по предыдущим постам. Но решения кажется не нашли (но точно не помню).

 

Вот нашел - сообщения 359,360. Вылет идентичный твоему: Can't open section 'mag_20_9x39_sp5_e_e'

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

k01jan

 

Секция mag_30_7.62x39_fmj_e должна была найтись в weapons/ammo/762x39.ltx

Это секция пустого магазина mag_30_7.62x39_fmj из-под обычных патронов 7,62х39. При полном отстреле этого магазина или разрядке его в слоте бинокля должна возникнуть как раз секция mag_30_7.62x39_fmj_e, как добавление окончания "_e" к секции заряженного магазина.

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

 

Как вариант решения проблемы:

В файле ammo_manager.script дописать функцию:

 

function get_e_sect(section)
    if string.sub(section,-2) == "_e" then
        return section
    else
        return section.."_e"
    end
end

 

Потом поиском по файлу найти все места, где встречается комбинация символов .."_e" - это будут строки вида

e_sect = lost_ammo_sect.."_e"

и поправить их вот так:

e_sect = get_e_sect(lost_ammo_sect)

 

По идее, если последние 2 символа уже _e, то второй раз они не добавятся.

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

Marafon6540, Kirag +стопИЦот - [вылет] по ходу рандомный, гад. Гонял сам перезарядку часа 1.5 на 4 разных стволах под семёрку во всех мыслимых комбинациях, повтор вылета всего 1. И все ХЗ почему, ситуация не повторяется. Про патроны и "пустые" рожки в курсКе, проверил их в первую очередь, потом на всякий пожарный продажу и раздачу; мануал из шапки курил (респект и уважуха, доходчиво).

Строгое предупреждение от модератора Ааз
Пункт 2.1.,2.5.Режим Read only на 24 часа
Изменено пользователем Ааз

Не пойму, с какой ссылки кидать для 03.09, в шапке не понятно написано..

 

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

Есть ли версия Магазинного питания оружия с разгрузкой ? Или может быть кто нибудь знает как адаптировать ?

И все таки с какой ссылки качать и как устанавливать на Народную Солянку от 03.09 ?

 

Сначала качаешь версию 1.0, ставишь общую часть - модельки и т.д., папки (из этой версии) 10004 и АМК игнорируешь. С этой: files.mail.ru/6WOMGW ссылки качаешь версию 1.1, и ставишь на версию 1.0 сверху все из папки SOL, остальное не нужно. В шапке ссылку на версию 1.1 выделил почетче, спасибо за сигнал.

Версии с разгрузкой нет и в ближайшем будущем не будет. Насчет адаптации... Выдирать разгрузку, по словам Vergas-а, себе дороже, вшита слишком прочно, только самому нечто подобное делать... - Kirag

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

Kirag, дело в том что вылет с секцией "магазин_е_е" происходит не при отстреле последнего патрона / разрядке магазина. Тут все нормально - пустой магазин падает в инвентарь, вылетов на этом этапе не было ни разу.

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

Спасибо за фикс, проверю у себя отпишусь. Хотя есть у меня сомнение что мб такую проверку вешать надо немного не туда...

 

Так подключать проверку надо вместо ВСЕХ строк, где дописывается "_e" (у меня их 6 нашлось, за исключением самой новой функции, само собой), тогда второй раз по идее не должно дописывать, нигде и никогда. - Kirag

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

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

 

Перекрестие при зарядке магазина вообще нафиг не нужно - это ж только с точки зрения механики игры оружие - оно и сделано расползающимся за экран. В файле config\weapons\ammo\magazines.ltx в секции [wm] в строке fire_dispersion_base = 100.0 поставь любое разумное значение (от калаша, скажем) - Kirag

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

Kirag, после введения твоей правки (e_sect = get_e_sect(lost_ammo_sect)), такие вылеты прекратились. Прошел почти весь ВСС, ни одного не поймал.

 

Как там с разгрузкой, ничего не придумал? Я попробовал сам, хотел сделать на базе контейнеров для артефактов от Руси. Они там и собирались ее делать, да что-то заглохла эта тема. Но посмотрел скрипты, и понял, что у меня не выйдет. Вся надежда на тебя.

Мод конечно хороший, ну нуждается в дороботках :)

Строгое предупреждение от модератора Ааз
Пункт 2.5. Моя просьба не помогла, пред в шкалу.
Изменено пользователем Ааз

Marafon6540

С разгрузкой пока ничего нового. Принцип разгрузки из НЛС мне подсказали, а детали надо как следует продумать. Вот только с окнами я пока работать ну совсем не умею...

Да, и скорее всего придется пересмотреть активацию дозарядки магазинов, что еще за этим потянется - непонятно, так что в любом случае результат будет нескоро.

Marafon6540, а есть адаптация контейнеров к магазинному питанию?!. Где взять? Я пробовал вот эти адаптировать. Неудачно. Все работает только до загрузки сохранения.

k01jan, У меня стоят магазины+рюкзаки+контейнеры и все норм. Дело в том что контейнеры косячные (если контейнеры из раритетов), кладешь артефакт в контейнер, сохранение, загрузка, контейнер пустой, последовательное юзание контейнера - вылет!

Держи http://rghost.ru/7397401, кинешь вместо старого.

Должно помочь.

Изменено пользователем Леня Баньши

Создайте аккаунт или авторизуйтесь, чтобы оставить комментарий

Комментарии могут оставлять только зарегистрированные пользователи

Создать аккаунт

Зарегистрировать новый аккаунт в нашем сообществе. Это несложно!

Зарегистрировать новый аккаунт

Войти

Есть аккаунт? Войти.

Войти
  • Недавно просматривали   0 пользователей

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