×
Меню
Индекс

MSFD Запрет возможности надеть предмет

[no fix] PCSkipEquip          (локальная переменная типа short)
 
     Short PCSkipEquip
     Set PcSkipEquip to 1
 
Задайте значение 1, чтобы пропустить надевание предмета.
Подходит для всплывающих сообщений об опечатанной книге и прочего.
Для расширенного примера смотрите скрипт SealedTreasuryReport в редакторе.
Также может быть использовано на одежде как триггер скриптов связанных с OnPCEquip.
 
Примечание: Надевание книги в инвентаре устанавливает эту переменную в 1 (вместо установки OnPCEquip, как надо).
Есть баг, связанный с удвоением предметов, имеющий функцию SkipEquip.
Я его видел и, используя горячие клавиши, и, надевая предмет через инвентарь, когда используется OnPCEquip.
Чтобы избежать этого, добавляйте и удаляйте пробный предмет (из той секции скрипта, где проверяется OnPCEquip).
Не удаляйте сам предмет со скриптом, игра вылетит (см RemoveItem).
 
Если у вас много предметов со SkipEquip, используйте отдельный скрипт, вызывая его через StartScript:
 
Begin doubling_fix
 
Player -> Additem "Item ID", 1
Player -> RemoveItem "Item ID", 1
 
StopScript doubling_fix
 
End
 
Пример: Вот короткий скрипт, который я сделал для мода с оборотнями, он делает предмет не надеваемым при определенных условиях:
 
Begin non_equippable
 
; не позволяет игроку-оборотню надевать предметы охотника на оборотней по причине баланса
; если игрок надел их до того, как стал оборотнем, он будет носить их, пока не снимет сам.
; но после не сможет надеть их. Так что после первой трансформации он не сможет надеть их снова
 
 
short PCSkipEquip
short OnPCEquip
 
if ( PCWerewolf != 1); если игрок не оборотень, он может использовать эту броню
     set PCSkipEquip to 0
     return
else
     set PCSkipEquip to 1
endif
 
 
if ( OnPCEquip == 1 )
     MessageBox " Этот предмет зачарован заклинанием, отгоняющим оборотня. Ты не можешь надеть его!"
     set OnPCEquip to 0
endif
 
End