В гранатах он нужного не увидит, в гранатном эффекте просто стоит условие GetIsCreatureType, что пациент является роботом. С силовой бронёй надо по-другому. Скрипт на эффект типа такого (требуется FOSE, тип скрипта - Effect):
ref Armor
Begin ScriptEffectStart
set Armor to GetEquippedObject 2
if IsPowerArmor Armor
DamageAV health 50
endif
End
Это в простейшем виде. По желанию можно проверить, надета ли силовая шапка, сделать расчёт урона похитрее или ещё что-нибудь придумать.
Скрипт - в базовый эффект. Включить галку Touch. На всякий случай ещё включить Self, Target, Hostile (чтоб пациент агрился) и Detrimental (чтоб вскрикивал). Базовый эффект - в эффект гранаты безо всяких условий. Эффект гранаты искать не в гранате: он прикреплён ко взрыву, который прикреплён к прожектилю, который прикреплён к гранате. Ну или сделать свой такой же эффект, если не требуется заменить эффекты всех гранат в игре.
Изменение репутации для пользователя AnotherJupiter
Можно, но только частично или для личного использования. Просто наделать условий GetEquipped и тупо перечислить в них все-все силовые брони из ванили, DLC и модов, с которыми играешь (там будет отдельный затык со ссылками на esp-файлы, если эти моды в виде esp, а не esm). В результате, понятное дело, работать будет только на перечисленными в условиях бронях, плюс мод будет требовать те DLC и моды, на которые он ссылается.
Изменение репутации для пользователя AnotherJupiter
AnotherJupiterOffline
Сообщение №3
| Тема: Скрипты
написано: 23 декабря 2023, 13:20
Уж сколько раз твердили миру: не объявляй переменных в результ-скрипте, не объявляй переменных в результ-скрипте... Тем более DoOnce. Эт'ж результ-скрипт, обернулся один раз - и всё. Конечно, она не работает. Есть же столько хороших мест, чтоб объявить переменные: квесты, реф-копии, раздел глобальных переменных (глобально для DoOnce, конечно, жирно). Объявил где следует - и обращайся к ней из любого другого места сколько влезет.
Изменение репутации для пользователя AnotherJupiter
Ну, вообще иногда такие переменные работают. А иногда они не работают. Там какая-то сложная фигня, связанная с тем, что неименованные скрипты в игре на самом деле как-то привязаны к именованным, и могут их поломать и сами поломаться. Это надо в сообщениях Ипатова искать, он, кажется, объяснял. А я потом, как щас вспомнил, пытался коряво в меру разумения пересказать в "Картотеке".
А так же, скажите пожалуйста, как сделать, что бы жффект применялся только когда герой бер>т в руки конкретный ствол...
через гетисайди пробовал, и не работает, но может я не так сделал
Имеется ввиду придать оружейный эффект конкретному экземпляру ствола, в смысле конкретной реф-копии? Никак. Только сделать другой базовый объект для уника, который был бы во всём такой же, как массовое оружие, но только с эффектом. Поместить в игру одну единственную копию этого объекта (или всучить её игроку каким-то иным способом). Будет как бы улучшенный экземпляр обычного оружия, но с точки зрения игровой механики это другое оружие.
Изменение репутации для пользователя AnotherJupiter
Добавлю, что если под "конкретной единицей" понимается конкретный экземпляр из многих, то надо его подменить экземпляром другого объекта с другим BaseID.