RavingRabbit23, Сразу оговорюсь - я не суперспец, но кое-что понимаю - так что нижеследующее идёт в контексте <<на сколько я знаю/понимаю>>.
Цитата RavingRabbit23
что-то типа главного скрипта, который на верстаке улучшения добавляет
Не видел скрипт, но скорее всего там удаляется старое оружие и добавляется модифицированное (с новой моделью), так что <<в прямом эфире>> этот номер не пройдёт. Реализовать подобным образом подмену модели (в руке) конечно можно ... но (без подробностей) это будет неиграбельно...
Однако, многие модели имеют анимацию (например хождение затвора) и игра каким то образом понимает нужный момент для анимации - значит где то есть скрипт типа: <<Если оружие стреляет - затвор ходит>>. Вопрос в том - где эта <<точка пересечения>> скриптов и 3-D? Возможно, в самих моделях, есть какие то инструкции которые как раз и содержат скрипты связанные с 3-D? Я в 3-D разбираюсь гораздо хуже, чем в скриптах - так что тут сам не знаю...
Вообще, (по мимо 3-D) есть и другие моменты, которые игрой (некоторые даже GECK+FOSE) отслеживаются, но скриптами GECK+FOSE их не изменить, однако (следуя логике) их определённо возможно изменить. Тут встаёт вопрос функционала и инструментария... Самым простым и надёжным способом "ВКЛ/ВЫКЛ лазерный целеуказатель" - была бы подмена моделей оружия, с включенным и включенным целеуказателями (соответственно). Следуя за логикой - где то, по всей видимости, в оперативной памяти (ведь там работает FOSE), есть параметр <<Оружие>>, со свойством <<Модель>>, а как с ними работать - это уже вопрос к суперспецам.
С другой стороны, (зная 3-D) можно отдельно создать модель оружия с целеуказателем (без лазера) и отдельно модель лазера (с той же физикой что и у оружия), вот тогда уже функционала GECK+FOSE хватит для реализации задуманного... Можно будет создать предмет для отдельного слота, который игроком не используется (например "Дополнитьельно1"), а для этого предмета уже задать модель самого лазера. Затем будет можно (скриптами) выбрать моменты ("Кнопкой на клаве или при прицеливании"), когда нужно "ВКЛ/ВЫКЛ лазерный целеуказатель" и соответственно (скриптами) надевать/снимать предмет с моделью самого лазера.
Если подумать, можно (скорее всего) найти ещё какой-нибудь способ. Идея не нова, но интересна. И я бы мог помочь по скриптам.
В итоге, ответ такой:
"ВКЛ/ВЫКЛ лазерный целеуказатель" можно, но одними скриптами тут не обойдёшься...
apex77, прочитал, я подобные варианты отнёс к неиграбельным, вот причины:
1.) Неприменимо, что я называю <<в прямом эфире>>. Т.е. придётся лазить по разным меню, нажимать кучу кнопок, и главный минус - переэкипировка оружия в игре - игрок хочет включить лазерный прицел, а для этого игра заставляет убирать оружие в кобуру и доставать его обратно (глупо, грустно и обидно).
2.) Невозможность назначить такое оружие на <<горячуу клавишу>>, точнее сброс его при подмене. Хотя это и можно изменить громоздким и хитровыдуманным способом, результат то же будет не вполне играбельным ... и это не отменит проблем пункта 1.
3.) Игровой баг (возможно только у меня), когда скриптами снимается оружие с оптикой и в замен экипируется любое оружие игра вылетает с критической ошибкой.
Так, по весу - один вариант с доп. условием в перке, по форм-листу не работает. Есть второй - написать скрипт, который проверяет наличие предметов, которые не должны менять вес, и потом (при наличии перка) удваивающий их вес ... грубо, но эффективно.
Опять же, там речь идёт о случае экипировке уже экипированного предмета ... если меняется "режим" предмета <<горячая клавиша>> всё равно будет слетать.
Да и сам принцип - "лезь в пип-бой, ищи оружие, открывай меню, выбирай режим, закрывай пип-бой, жди пока пройдёт конфуз с триклятой экипировкой", что бы включить лазер на целеуказателе ... ну неиграбельно это, я считаю.
Добавлено (18 Марта 2016, 15:13) ---------------------------------------------
Цитата MaxwellDemon
Ничто не совершенно.В том числе и старый движок игры.
Хм. Попробую Экстендер).Ещё один вопрос. Рассмотрим действие яда. В окошке "эффект" есть два параметра - "длительность" и "величина". Допустим, величина у нас 10хп, а длительность - 5 секунд. Это значит, что 10хп снимутся за пять секунд (то есть по 2хп в секунду) или по 10хп будут сниматься каждую секунду в течение 5 секунд (то есть 50хп суммарно)?
Вот я был такой же привереда ... пока не столкнулся с ситуацией: большой мод уже почти сделан, но не хватает одной функции, которой нет в ваниле, но есть в екстендере ... и я переступил ... а переступив понял - без Fallout Script Extender вообще никуда!!! Такчто советую бросить эти предрассудки и получать удовольствие
Изменение репутации для пользователя MaxwellDemon
MaxwellDemonOffline
Сообщение №9
| Тема: ВОПРОСЫ по моддингу
написано: 18 марта 2016, 14:12
| Отредактировано: MaxwellDemon - 18 марта 2016, 14:20
JacksonRR24, у тебя со скриптами совсем никак? Просто ими (в определённых случаях) можно сделать много больше чем просто копаясь в настройках... К слову, почему не последовать совету apex77 про (60 секунд=1 минута)? в чём проблема перевести годы/дни/часы/минуты (да хоть века) в секунды??? Калькулятор решает такие проблемы на раз...
Хотя именно этот скрипт работает с НПС. А какой скрипт отвечает за урон "на себя"?
Ну и да, разберёмся с понятиями: Скрипт - грубо говоря набор команд и условий. Команда - действие которое происходит в определённый момент. Условие - тот самый "определённый момент" в которы происходит то самое "действие"
DamageActorValue - это команда, выбираем параметры для неё, в твоём случае получится нечто вроде:
Player.DamageActorValue Health 0.5
Попробуй ввести этот текст в консоли, во время игры. Вводишь один раз - не видишь изменений, вводишь два раза - отнимает один пункт здоровья.
Строго говоря это не всегда так... Я буду делать расчёты в реальном времени, так мы избежим ситуаций типа: отправился в <<быстрое путешествие>> - умер. Да и других нестыковок с игровым временем хватает...
Второй момент, как там называются (в моде, в GECK, в Actor Effect) стадии радиации?
Где X = количиство здоровья которое теряется за определённое время. Где Y = то самое "определённое время" за которое теряется то самое "количество здоровья" (в секундах)
Например, рассмотрим твой вариант с первой стадией радиации:
Цитата JacksonRR24
должен потерять 200 хп за 30 игровых часов (или 60 минут реального времени)
Тут X = 200 Тут Y = 3600
200 / 3600 = 0.055555555555555555555555555555556 Округляем вниз до 4-ёх цифр после 0 (в стили Bethesda) получаем то самое число из скрипта = 0.0555
Единственный вопрос - для чего нужна ротация квеста?
Может я неудачно выразился ... я имел ввиду время через которое квест повторяет присвоенный скрипт. Не то слово подобрал ... частота тут больше подходит.
Так вот частоту скрипта в квесте ставим 1 и сводим скрипт к урону в секунду (частоту скрипта в квесте ставим 60 и сводим скрипт к урону в минуту).
Добавлено (18 Марта 2016, 22:44) --------------------------------------------- частоту скрипта в квесте ставим 0.001 и сводим скрипт к урону в миллисекунду
Добавлено (18 Марта 2016, 22:45) --------------------------------------------- Думаю смысл понятен...
Этот запрет можно не завязывать на потерю здоровья
В том смысле если тебе понадобилось где то условие той (самой потери здоровья), то ты можешь использовать в этом условии соответствующую стадию радиации.
То есть:
Если игрок теряет 0.0555 здоровья в секунду == Если у игрока малое рад-отравление
Делаю большой мод на играбельный вид от 3-его лица. Получается многое... Застрял вот на чём: Точность "горизонтальной" стрельбы (примерно от -20 до 20 градусов (X)), во врагов на близком расстоянии (примерно ближе 300 пунктов).
Решение вижу следующее (всё работает в режиме реального времени):
1. Проверить угол взгляда (X) - не проблема. 2. Плавно смещать прицел, в зависимости от угла - не проблема. 3. Проверить наличие врага под прицелом - не проблема. 4. Проверить дистанцию до врага - не проблема. 5. Плавно изменять угол отклонения снаряда, в зависимости от дистанции - не проблема.*
* Вот тут всплывает неиграбельный момент - порой пули летят абсолютно не туда куда целишься, в принципе понятно почему, но бывают просто невероятные отклонения... Несмотря на отклонения, стрельба (в целом) однозначно становится более точной, но когда "пули летят словно птицы" - это просто режет глаз, что относит мод к неиграбельному. Вот к чему я склоняюсь, в плане решения этой проблемы:
6. Сделать два комплекта отображения снаряда (Projectile), невидимый и стандартный - не проблема. 7. Проверить тип боеприпасов у экипированного оружия - не проблема. 8. Подменять Projectile, в зависимости от дистанции и боеприпасов - не проблема.*
* Теперь, когда "пули летят словно птицы" (обычно это происходит, когда цель "уворачивается") - это уже не видно. Но тут всплывает уже менее неиграбельный момент - "дырки от пуль" появляются на стене/потолке, что меньше, но всёже режет глаз... Вот к чему я склоняюсь, в плане решения этой проблемы:
9. Сделать два комплекта "дырок от пуль" (Impact Data Set), только по плоти и по остальному - не проблема.* 10. Подменять Impact Data Set, в зависимости от дистанции, боеприпасов и Projectile - проблема!!!**
** Необходимой команды в GECK+FOSE я не нашёл ... если она всё-таки есть - подскажите - это было бы идеальным решением! Но если такая функция недоступна - вот к чему я склоняюсь, в плане решения этой проблемы:
11. Заменить стандартный Impact Data Set на Impact Data Setтолько по плоти - не проблема. 12. Добавить к стандартному Projectile взрыв (Explosion), который будет иметь только один эффект - Impact Data Set по всем материалам кроме "только по плоти" - не проблема.***
***Вот тут всплывает неиграбельный момент - "дырки от пуль" отображаются, но (мягко говоря) через раз! Если поиграться с параметрами вышеупомянутых Projectile и Explosion - эффект меняется, но играбельный вариант нащупать не могу ... но чувствую он где-то рядом!
В игре всё выглядит так: Когда враг далеко (или его нет под прицелом) - стрельба отображается как обычно. Когда враг подходит на расстояние, при котором стандартная стрельба просто не попадает в прицел - стрельба отображается следующим образом: Если вы попали по цели - стрельба отображается как обычно. Если вы промахнулись - выстрел происходит, но снаряд и "дырка от пули" просто не отображаются.
Если вдруг возникнет вопрос - стоит ли так заморачиваться, отвечу: По мимо этого уже сделано гораздо больше, для того что бы в итоге получить удовольствие от Fallout, как от 3D-Action-RPG и порадовать этим ценителей жанра ... ну никак я не могу воспринимать Fallout, как FPS-RPG ... ну никак...
Добавлено (20 Марта 2016, 10:14) --------------------------------------------- Ну и конечно, альтернативные идеи, о том - как сделать стрельбу от 3-го лица играбельной - приветствуются...
Такой команды нет? например с SetWeaponProjectile всё понятно ... но блин Impact Data Set так рядом ... может как то всё-таки можно скриптом подменять этот параметр? Зачастую есть "обходные манёвры" ... может в данном случае я его просто не нашёл???
Добавлено (20 Марта 2016, 11:39) --------------------------------------------- Например ImpactDataSet относится к категории Special Effect, может какие-то манипуляции с эффектами прокатят???
У меня стоит Невада,в которой отключение автоприцела осуществляется изменением градусов с 5 дефолтных до 0.1.И попадание в голову происходят на любой дистанции.Пули летят по прямой и следом за целью не бегают.Юзаю только свое оружие.
Просто скажем, от 1-го лица - не спорю. Но от 3-го лица отклонение даже на 10 дефолтных не хватает, что бы "дотянуться" до головы на близком расстоянии. Уточню, что сам прицел я сместил.
Добавлено (20 Марта 2016, 12:47) ---------------------------------------------
Цитата Apex
В таком режиме не бегаю.
Вот то то и оно, что вид от 3-го лица в Fallout "не фонтан", как раз это я и изменю!
не рассчитана на такое использование вида от 3-го лица
В моде куча параметров, в зависимости от кучи условий, постоянно "стягиваются" для того, что бы вид был приятен глазу, а стрельба велась точнее, чем без мода... И этого я добился в полной мере! Единственная ложка дёгтя это "некрасивость" стрельбы на близком расстоянии...
Глюк с ними в том,что при включении этого параметра в прожектил оружие,его использующее, будет наносить только тот дамаг что записан в настройках самого взрыва.
Я понял как это обойти (в моём случае): Стандартный Impact Data Set сделать воздействие только по плоти. Подменять Projectile, в зависимости от того есть вообще под прицелом NPC или нет!* *Если есть, но далеко - выбирать видимый Projectile без взрыва. *Если есть и близко - выбирать невидимый Projectile без взрыва. *Если нет - выбирать видимый Projectile с взрывом, у которого Impact Data Set имеет воздействия кроме по плоти.
Так что опять возвращаемся к вопросу:
Как добиться стабильного воздействия Impact Data Set у Explosion в Projectile?
То есть только для эстетического эфекта стрельбы по стенам/полу/стеклу и т.д. (зачем тут дамаг?) А когда стреляешь по "актёрам" - выбирать Projectile без взрыва. (нет взрыва - нет проблем.)
RavingRabbit23, я по всей видимости, скоро то же столкнусь с "чехардой" в плане манипуляций с форм-листами, как разберусь напишу, разберёшься сам - то же не молчи...