MSFD Доля в экипировке и функция профита компаньонов
[no fix] companion (is local short)
short companion
Set companion to 1
В Трибунале есть опция для дележа вещей с NPC и монстрами.
Что ее включить, объявите локальную переменную типа short с именем companion и установит ее в 1.
Установка в 0 отключит возможность дележа.
[no fix] minimumprofit (is local float)
Float minimumprofit
If ( minimumprofit < 0 )
Похоже, еще одна переменная, устанавливаемая игрой, видимо, разница между текущей ценой все вещей и золота минус начальное значение.
Если она отрицательна, то наемник может быть заскриптован на уход от игрока.
Пример: Вот важная часть скрипта Калвуса (наемник в Морнхолде).
Эта секция оперирует изменением состояния, когда Калвус разрывает контракт, или потому что срок контракта истек, или потому что игрок взял вещи Калвуса.
Дележ запускается в диалоге (установкой companion в 1), не в самом скрипте.
if ( GetJournalIndex Merc_Calvus_Quit < 1 ) ;если Калвус уже ушел, не делать этого
if ( Contract_Calvus == 1 ) ;если Калвус не заключил контракт, не делать этого
if ( minimumProfit < 0 ) ;Калвус уходит, так как игрок взял его вещи
AiWander 128 6 0 40 30 20 0 0 0 0 0 0
Set Companion to 0; прекаратить дележ
StopScript Contract_Calvus
Set Contract_Calvus to 0
ForceGreeting
return
else
if ( Contract_Calvus == 0 ) ;управляет Калвусом после истечения срока
AiWander 128 6 0 40 30 20 0 0 0 0 0 0
Set Companion to 0; прекратить дележ
if ( GetJournalIndex Merc_Calvus < 10 )
Journal Merc_Calvus 10 ;первый контракт истек
else
Journal Merc_Calvus 20 ; самый недавний контракт истек
endif
endif
endif
endif
endif