LordVadim, безумный вариант: делаешь тестовый мод, копируешь в него свой ЗЭ, остальные удаляешь (!), сохраняешься и проверяешь. Поскольку твой там один (и оставь экран майн-меню), то и срабатывать он будет постоянно. Потом ESP удалишь.
Так уже пробовал, почему то не сработало. Сейчас в тестовом моде хочу попробовать в остальные экраны добавить невыполнимое условие. Может так получится.
Поменял - всё равно не работает, коллизия осталась на месте
anton, я вместо Static использовал MiscObject с подправленым, по совету Алекса, нифом. Все работает, коллизия перемещается, ГГ свободно ходит по объекту во время перемещения, единственно если объект перемещать слишком быстро (особенно вверх) ГГ может в него провалиться. MovableStatic не использовал, так как объект у меня создается в скрипте.
Изменение репутации для пользователя LordVadim
LordVadimOffline
Сообщение №124
| Тема: Вопросы по скриптам Papyrus
написано: 9 апреля 2014, 11:23
| Отредактировано: LordVadim - 9 апреля 2014, 11:29
Почему то скрипт не компилируется с функциями disable и enable. Компилятор выдает ошибку Enable is not a function or does not exist. Ванильные скрипты с этими функциями сохраняются нормально. В чем тут может быть проблема?
Ошибку выдает потому, что скрипт Alias не содержит функций Disable и Enable. Если целью является управление объектами через алиасы, необходимо использовать ReferenceAlias.
ReferenceAlias Property MGEffect Auto ReferenceAlias Property SGDoor Auto
AleksTirex, приветствую! Можно как то сделать, чтобы дистанционное заклинание срабатывало на НПС у которого установлено свойство Ghost? Или как то отслеживать его попадание в НПС?
Подскажите пожалуйста, как регистрировать время, секунда или даже меньше, если это возможно? RegisterForSingleUpdateGameTime - получается только игровой час. Заранее благодарен.
RegisterForSingleUpdateGameTime(0.00027) ;- Одна игровая секунда. RegisterForSingleUpdate(0.1) ;- Одна десятая реальной секунды.
При касте заклинания на цель Projecticle сработает/врежится в НПС, даже если тот Ghost.
AleksTirex, Projecticle пролетает призрака насквозь и летит далее не срабатывая. Может надо какие то опции в Projecticle или в Explosion отметить? Если направить на землю возле ног НПС - срабатывает и OnHit() отрабатывается.
LordVadim, а как должно действовать заклинание? У меня есть идея... некая.
Суть в следующем: ГГ выпускает по НПС заклинание на цель. У НПС включено свойство Ghost и заклинание пролетает мимо. А мне нужно получить референс этого НПС. Как это сделать не отключая свойство Ghost?
LordVadim, может, вместо Aim попробовать Target Actor? Тогда надо указывать Explosion, а не Projectile. Правда, неизвестно, будет ли призрак считаться целевым актером, если, согласно описанию флага Is Ghost, "не действуют эффекты попадания и события попадания". Хм... а ты не пробовал с L_COLLISIONBOX? В описании слоя говорится, что задает слои столкновения для фантомов.
Не срабатывает.
Изменение репутации для пользователя LordVadim
LordVadimOffline
Сообщение №131
| Тема: Вопросы по скриптам Papyrus
написано: 18 апреля 2014, 19:43
| Отредактировано: LordVadim - 18 апреля 2014, 19:46
если снаряд никак не заставить попасть в НПС, значит, вся идея с айм-заклинанием гибнет на корню.
Заставить то можно, сняв свойство Ghost, но когда поблизости от ГГ сотня НПС у которых надо снять свойство, то даже на моём, не слабом, компьютере эта процедура занимает 4 - 5 секунд. Я надеялся найти другой способ. Может AleksTirex что нибудь подскажет?
LordVadim, если задать каст на себя, но взрывом искать актера со свойством Is Ghost, я это имел в виду...
Это сработало бы если бы НПС-призрак был бы один, а если их несколько и они стоят рядом друг с другом, а определить надо того, в которого целится ГГ...
Изменение репутации для пользователя LordVadim
LordVadimOffline
Сообщение №133
| Тема: Вопросы по скриптам Papyrus
написано: 18 апреля 2014, 20:08
| Отредактировано: LordVadim - 18 апреля 2014, 20:12
Удобнее всего это всё делать с SKSE, но можно и без него. Если принцип понятен и подходит, то пробуй, возникнут сложности - распишу подробнее, и сами скрипты тоже.
AleksTirex, спасибо! После выходных попробую разобраться. НПС - мои. Без SKSE пока удавалось обходиться и не хотел бы его подключать без крайней необходимости.
AleksTirex, ещё раз спасибо!!! С OnHit() все получилось. Кстати, OnHit() срабатывает только на первом призраке, остальных Projectile пролетает насквозь не вызывая события OnHit(), что мне, в принципе, и было нужно.
Можно ли как нибудь при повторении одного и того же события MGEF как то ограничить появление маркеров?
nepewka, Есть такая вещь, как глобальные переменные (GlobalVariable). Значения присвоенные им сохраняются вне зависимости от скриптов.
Установить значение можно через функцию .SetValueInt()
Получить значение - .GetValueInt()
Сделай переменную в СК и присвой ей значение 0. В скрипте проверяй значение, если оно равно 0 - делай маркеры и присвой значение 1. Пока опять не изменишь значение на 0 - маркеры появляться не будут.