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

Kirag

Жители
  • Число публикаций

    767
  • Регистрация

  • Последнее посещение

  • AMKoin

    34 [Подарить AMKoin]

Весь контент пользователя Kirag

  1. Kirag

    Скриптование

    Igor88.89 А то мы не о сталкере говорим Наверняка очередная недоделка/недорезка. Возможно, в каком-то из билдов такая функция преодевания и была. Но в релизе нет даже функции получения визуала - приходится через нет-пакеты читать, молчу уже про его смену (для кровососов - персонально функция про невидимость, но то для класса кровососа, и на вполне конкретный визуал).
  2. Kirag

    Скриптование

    TRAMP14 Насколько я понимаю, хит можно нанести просто с направления - в xr_effects, вроде, была такая функция. А если указывать draftsman-а, то нужен онлайн объект. Записать id в таблицу, ты конечно сможешь, а вот что с этим id делать - совсем другая история... Со спавном дряни на месте оффлайнового НПС - вообще непонятно. Он и так никуда не денется, пока его alife():release-ом не убрать. В общем, несколько непонятен смысл того, что ты хочешь сделать. Если нужен удар из ниоткуда, без возможности дать сдачи - так и НПС не нужен. Если нужна возможность дать сдачи, то на оффлайне ты ее не вдруг построишь, разве что скриптовую. Онлайновый НПС оффлайнового как врага все равно не воспримет. Да и вообще никак не воспримет.
  3. Kirag

    Скриптование

    TRAMP14 НПС в оффлайне будет существовать весьма формально, как все объекты на других уровнях. В том смысле, что он, конечно существует, можно отследить его положение и инвентарь - но это только перебором всех объектов в игре. Вот только из оффлайна он не сможет взаимодействовать с объектами на уровнях - участвовать в бою, например, или находиться под какой-то схемой. Фактически, для геймплея его не существует. Так что сделать на оффлайне духов Зоны врядли получится. Невидимого НПС больше смысла делать на прозрачной модели - так он хотя бы в игре нормально участвовать будет.
  4. Kirag

    Скриптование

    Да и класс у сталкера не вполне кровососовский. Это как бы не в движке с экскаватором копаться придется, чтоб смену моделей поддерживал...
  5. Kirag

    Скриптование

    Igor88.89 Добавлю, что условие на не_видимость НПС актором вполне осмысленное - смена визуала требует переписывания нет-пакета. Пока объект - в данном случае НПС - в онлайне, это делать бесполезно. Надо переводить сталкера в оффлайн, менять нет-пакет и возвращать в онлайн, но во время пребывания в оффлайне НПС станет невидим, и это пропадание и появление будет прекрасно заметно в игре. Но если актор смотрит в другую сторону = не видит НПС, это пройдет незамеченным игроком.
  6. midichs Поставь ему в конфиге use_single_item_rule = off can_select_items = off Если этого будет мало, увеличь еще max_item_mass = 1000.0 inv_max_weight = 1000.0
  7. Kirag

    Скриптование

    Disord Возможно, это происходит из-за того, что уровень еще не загрузился - из предположения, что в пространство имен level функцию запихнули не просто так, и уровень таки нужен. Попробуй поменять на объявление: game_time_factor = nil обновление - оно ж на актора завязано в конечном итоге, если спавним его, значит, уже есть куда. if not game_time_factor then game_time_factor = level.get_time_factor() end
  8. Kirag

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

    Marafon6540 Сталкивался я с этой дрянью. Рандомная и довольно редкая. Хотя, если началось, может несколько раз почти подряд получиться. Откуда тут ноги растут - так и не смог выловить. Подозреваю, что оттуда же, откуда и у вылета по "_е_е" - там я только следствие пресек, не докопавшись до причины. Только в этом случае магазин не пустой и добавляются патроны.
  9. Тут не просто конфиги, тут уже скрипты задеты - я четко помню, что ставил защиту от несуществующих секций, и проверял ее - все работало. Не находит секцию - значит пытается ставить. Пытается ставить - значит работает. Только секции нет в конфигах, и проверка на существование секции не работает. По поводу изменения АИ вертолетов - меняя его файлы просто невозможно вынести ХУД рук, по крайней мере, я не представляю, что надо менять для этого. Моды полностью совместимы, ХУД писался с установленными вертолетами
  10. Так речь идет о динамических аномалиях... Их силу можно выставить в момент спавна - без нет-пакета при спавне аномалии все равно не обойтись. Подробно в спавн аномалий АМК я не вникал, но где-то это со всей очевидностью сделано. Может, и из конфига подключили параметры - тут уже экспериментально проверять надо...
  11. Kirag

    AI вертолетов

    Народ, некоторое время назад натыкался на переозвучку ПЗРК. Вроде в этой теме, но найти что-то не могу. Поиск пробовал - результата ноль. И автора не помню уже... Может, у кого осталось, или автор отзовется? Сейчас как раз вернулся к теме ПЗРК и серьезно его переработал. НПС теперь тоже могут его использовать, но эффективность зависит от вменяемости схемы стрельбы по вертолетам. Сейчас оружие в стадии настройки-отладки, хотелось бы и озвучку прикрутить нормальную. В принципе, прицел тот, что можно будет подключать как обычное оружие, сбросив все в геймдату и прописав инклуды в веапонс.лтх, независимо от вертолетного мода.
  12. FANAT Через конфиг силу удара не поправить, min/max_start_power, похоже, осталось с каких-то давних времен. По крайней мере, разница между 0.1 и 100.0 - на три порядка - практически не ощущается. Проверял на минах на Кордоне без костюма. Насчет установления max_power в алл.спавне - сомневаюсь, "трамплины" бьют примерно одинаково по всему кордону, а в алл.спавне выставлены на 0 и 0.5 50/50. Лучший результат получается скриптами - команда онлайн_аномалия:set_anomaly_power(N) дает четко видимый результат.
  13. Kirag

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

    И на Солянку вставать не хотели. Проблема совместимости с контейнерами (по крайней мере, с соляночными) - в их способе хранения массы артефактов. Для этого контейнеры кидают в инвентарь N-ное количество патронов "arc_ballast", которое при обновлении полностью удаляется и спавнится новое. У меня включен перепаковщик, который эти патроны пытается перепаковать. Не помню точно, что и где при этом теряется, но биндер в Соли вешался с вероятностью процентов 70. Решил это, прописав в inv.script исключения: 1. Таблица исключений в самом начале файла, вне функций local no_repack = { ["dark_matter_ammo1"] = true, ["dark_matter_ammo2"] = true, ["arc_ballast"] = true } 2. Правка условия перепаковки в inv.script в функции update_belt_main(): -- [[ перепаковка патронов (начало) if class == "AMMO" and (no_repack[sect] == nil) and not (string.sub(sect,1,4) == "mag_" or string.sub(sect,1,5) == "clip_" or string.sub(sect,1,5) == "belt_") then - добавлено and (no_repack[sect] == nil)
  14. Kirag

    Жесть

    Seruva Вопрос по магазинам, отвечу. Т.е. я правильно понимаю, у тебя в слоте бинокль, и всего 2 магазина к ПМ в инвентаре. Ты открываешь инвентарь, вешаешь на пояс 2 магазина, закрываешь инвентарь и заряжаешь разряженный ПМ? Исчезают оба. Все правильно. Один из магазинов заряжается в пистолет - этому магазину все равно, на поясе он или нет. Второй магазин в момент закрытия инвентаря падает в слот бинокля на перезарядку, технически - перестает быть боеприпасами и становится оружием, соответственно, исчезая из счетчика. Невозможность использования бинокля в инвентаре - из-за того, что в слоте бинокля находится магазин на дозарядке. Вышибить его оттуда путем использования бинокля невозможно, это сделано специально. Вешать магазины на пояс надо ТОЛЬКО для постановки их в очередь на перезарядку (магазинов патронами, а не оружия магазинами) в слоте бинокля, для того, чтобы зарядить оружие, вешать магазины/патроны на пояс не нужно. Выйди из инвентаря, и нажимай "5", пока не появится бинокль. Чем меньше магазинов на поясе, тем меньше раз надо нажать кнопку. По поводу перевесить зарядку со слота бинокля - относительно безболезненно можно перевесить только на слот ножа, надо аккуратно и везде поменять номер слота. Возни много, смысла мало - нож, в отличие от бинокля, может быть необходим срочно. Все остальное потребует гораздо более серьезной переделки алгоритма замены предмета в слоте - у гранат свои заморочки, у болта - свои. P.S. По поводу управления магазинами посмотри описание в "Мастерской" в шапке темы "Магазинное питание оружия"
  15. Kirag

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

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

    Жесть

    Zander_driver Так может, выставить ему в конфиге inv_grid_width = 0 и inv_grid_height = 0, чтоб народ не смущал и сам себя по случайному выбрасыванию не плодил? На работоспособности это не скажется, просто в инвентаре девайс нельзя будет увидеть и потрогать.
  17. Такая идея пришла: Озвучка ведь запускается какой-то функцией. Длительность звукового файла определить реально. В этой же функции запуска озвучки можно добавить строчку, устанавливающую некую глобальную переменную х в time_global() + длительность_озвучки. И выключить ввод. Как-нибудь так: local snd = xr_sound.get_safe_sound_object([[файл_озвучки]]) snd:play_no_feedback(db.actor, sound_object.s2d, 0, vector(), 1.0) level.disable_input() x = time_global() + snd:length() А в многострадальном апдейте актора добавить проверку, что-то вроде if x then if x <= time_global() then x = nil level.enable_input() end end Варианты ответов все равно будут сразу, но нажать их не получится, пока не доиграет звук. Whisper Не совсем понял, зачем разбивать фразу НПС, и задерживать вторую половину. Пусть весь текст реплики непися будет сразу, а озвучка пусть идет, как идет. И список ответов ГГ, и файл озвучки определяются единственно фразой НПС, которая в момент запуска озвучки уже известна.
  18. Kirag

    Скриптование

    Ulman В amk.script в 303-й строке пытается добавить к строке переменную params
  19. Пробовал курить электронные сигареты сам, пробовал мой отец, коллега по работе. По недостаткам могу сказать одно - не то. В чем именно проявляется это не то - сказать сложно, это какая-то сумма ощущений. Но реакция была одинаковая у всех троих - не то и возврат к аналогу. Лично для меня важно количество выдыхаемого после затяжки пара. Первая затяжка - нормально, вторая - как повезет, потом - пар практически исчезает, хотя вкус какой-то ощущается. Модить сигарету не пробовал.
  20. Kirag

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

    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, то второй раз они не добавятся.
  21. parsek123 Сам принцип динамической погоды, думаю, не сильно (если вообще) отличается АМК: Есть полные суточные циклы с каждым типом погоды - сутки ясно, сутки пасмурно и т.д. Предположим для определенности, погода меняется раз в час. Можно с минутами, суть останется та же. В качестве погод прописаны переходы между "соседними" (или просто логичными, ясно -> гроза будет смотреться странно) типами погоды для каждого часа - допустим, (12:00 ясно) -> (13:00 пасмурно), (23:00 пасмурно) -> (00:00 дождь) и т.д. Каждый час определяется следующий тип погоды, текущий тип погоды известен (level.get_weather), время известно (level.get_time_hours/minutes). Командой level.set_weather() устанавливаем погоду с переходом: (текущий_час текущий_тип) -> (следующий_час следующий_тип). Поскольку в прошлый раз таким же образом была установлена погода (прошлый_час прошлый_тип) -> (текущий_час текущий_тип), то в момент смены погоды установится точно та же секция, что и была, и это изменение не будет заметно. Конкретные детали лучше все-таки посмотреть в моде.
  22. Kirag

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

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

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

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

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

    Zander_driver Проверка на использование магазина есть. Она используется в момент зарядки оружия, когда определяется, сколько патронов надо прописывать заряженными в оружие, плюс учет массы. В то же время она отключена для подмены магазина с пояса на дозаряжаемый в солте бинокля. Посмтори функцию ammo_manager.on_lost_ammo, может, в твоем случае по аналогии можно выкрутиться. Верес Если ты выстрелил 2 патрона и желаешь перезарядиться, значит тебя в данный момент не убивают. Залезь в инвентарь, разряди в нем оружие и нажми R как обычно. Зарядка по ПКМ - аналог такого сделать можно. Ну, не по ПКМ, а по юзу, невелика разница. Только не вижу смысла в такой халяве - она без магазинов была, за то ли боролись? Marafon6540, xer-urg По поводу совмещения с разгрузкой из NLC - однозначно нет. Авторы уж как-то слишком шифруют код в архивах, еще бы пару вирусов поставили на попытку архив открыть. Впрочем, их право, пусть развлекаются, если хотят. Возможно, пойду как всегда своим путем...
  25. Kirag

    AI вертолетов

    Booriy Выстрел может быть только если есть захват цели. Сквозь деревья вертолет захватывается не всегда (технически - условие "вертолет видит актора", наоборот не получилось), но если он четко виден, проблем быть не должно. На крайний случай, можно проверить работу, захватив солнце, оно даже из подвала захватывается. В идеале работать должно так: Первый "выстрел" - активация ракеты. Счетчик боеприпасов после него сразу же возвращается на 1. Через 5 секунд при захвате будет писк, тогда можно стрелять. Нет захвата - нет писка - нет выстрела. Опять-таки, если вертолет во время прицеливания перемещается за деревьями, захват может временно пропадать - появляться снова, если нажать пуск в момент такой (очень) кратковременной потери захвата - не выстрелит. Секунд через 40 (точно не помню) с момента активации, если не успел выстрелить, ракета приходит в негодность. При попытке выстрелить такой "просроченной" ракетой происходит перезарядка, это нормально.
×
×
  • Создать...