×
Меню
Индекс

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