MSFD Отслеживание, был ли надет предмет
[no fix] OnPCEquip (локальная переменная типа short)
Short OnPCEquip
If ( OnPCEquip == 1 )
Игрок надел объект (остается истиной (то есть 1), пока объект одет)
Это игровая переменная (должна быть объявлена) принимает значение 1, если игрок надевает вызывающий объект.
Она остается “истиной”, пока объект надет и сбрасывается в 0, если объект снят.
Так что, в некоторых случаях, Вы, возможно, захотите сами сбросить ееТолько при этом сам объект не снимется, а останется надетым. (Прим. Gwathlobal):
if ( OnPCEquip == 1 ) ; когда предмет надет
[делать что-то]
set OnPCEquip to 0 ; делать это один раз за каждое надевание…
endif
В следующий раз, когда предмет будет снят и надет снова, функции в [делать что-то] снова выполнятся.
Также можно использовать другую переменную для отслеживания однократного выполнения функций.
Также это можно выполнять, находясь в режиме меню:
If (MenuMode ==1)
if ( OnPCEquip == 1 ) ; когда предмет надет
[делать что-то]
set OnPCEquip to 0 ; делать это один раз за каждое надевание…
endif
endif
Этот скрипт будет выполнен, когда вы находитесь в меню, как только предмет будет надет, тогда как следующий только когда вы выйдете из меню:
If (MenuMode ==1)
Return
Endif
if ( OnPCEquip == 1 ) ; когда предмет надет
[делать что-то]
set OnPCEquip to 0 ; делать это один раз за каждое надевание…
endif
Примечания: OnPCEquip тестировалось со следующими типами предметов:
Clothing (Одежда)
Armor (Броня)
Weapons (Оружие)
Books/Scrolls (Книги/Свитки)
Miscellaneous items (Разное)
Usable lights (Источники света)
Probes (Щупы для ловушек)
Зелья и ингредиенты могут устанавливать OnPCEquip, только если вы используете SkipEquip, иначе предмет «уничтожится» прежде, чем функция будет установлена!
Предметы починки также страдают от этого, а алхимические реторты работают наоборот.
Это единственные предметы, которые работают, если PCSkipEquip не установлена (Информация с форумов / ManaUser).
Вообще книги (а может и другие типы предметов, которые ведут себя странно?) устанавливают SkipEquip, а не OnPCEquip!