×
Меню
Индекс

MSFD Изменение реакции и положения во фракции

[no fix] PCJoinFaction ["FactionID"]
 
Делает игрока членом заданной фракции.
FactionID опционально, если оно не добавлено, то используется фракция вызывающего NPC.
 

 
LowerRank              
RaiseRank
 
Повышает и понижает ранг объекта в текущей фракции. В оригинальной игре это используется только в диалогах.
 
[no fix] PCLowerRank
[no fix] PCRaiseRank    
 
Повышает и понижает ранг игрока на 1 во фракции NPC.
Если игрок не принадлежит фракции, это установит его ранг в 1.
 
Пример:
 
Begin treboniusScript
;если вы на Арене
;квет гильдмастера активен...
;обновляет журнал и повышает игрока
;когда требониус умрет.
short doOnce
short nolore
 
if ( doOnce == 1 )
     Return
endif
if ( GetJournalIndex MG_Guildmaster < 50 )
     Return
endif
if ( GetPCCell "Vivec, Arena" == 0 )
     Return
endif
if ( duelActive == 0 )
     Return
endif
if ( OnDeath == 1 )
     Set DuelActive to 0
     Set doOnce to 1
     PCRaiseRank "Mages Guild"
     PCRaiseRank "Mages Guild"
     Journal MG_Guildmaster 100
endif
End
 

 
[no fix] PCExpell ["FactionID"]              
 
Исключает игрока из фракции NPC.
 

 
[no fix] PCClearExpelled ["FactionID"]        
 
Сбрасывает флаг об исключении.
 
Пример:
Скрипт от Bethesda, который сбрасывает статус изгнания игрока через некоторое время:
 
Begin expelledMG
 
; это просто модель
;должно быть на предмете в каждой Гильдии Магов.
 
short myDay
short temp
 
if ( PCExpelled "Mages Guild" == 0 )
     return
endif
 
if ( ExpMagesGuild == 0 )
     Set ExpMagesGuild to 1
endif
 
if ( myDay == 0 )
     Set myDay to Day
endif
 
if ( myDay == Day )
     return
endif
 
if ( Day > myDay )
     Set temp to ( Day - myDay )
else
     Set temp to ( myDay - Day )
endif
 
Set myDay to Day
 
Set temp to ( temp + 2 )
 
Set ExpMagesGuild to ( ExpMagesGuild + temp )
 
if ( ExpMagesGuild > 30 )
     Set ExpMagesGuild to 0
     PCClearExpelled "Mages Guild"
     return
endif
 
End
 

 
[no fix] ModPCFacRep, var_enum, ["FactionID"]
[no fix] SetPCFacRep, var_enum, ["FactionID"]
 
          ModPCFacRep, 5, "Imperial Legion"
          ModPCFacRep, 5, "Temple"
 
Модифицирует или устанавливает модификатор реакции для членов определенной фракции (по отношению к игроку).
 

 
ModFactionReaction, "factionID1", "factionID2", var_enum
SetFactionReaction, "factionID1", "factionID2", var_enum
 
Модифицирует и устанавливает реакцию членов одной фракции по отношению к членам другой.
 
Пример: Это часть скрипта MoonAndStar.
Эта часть сначала делает игрока членом фракции "Nerevarine", а затем устанавливает реакцию на это двум фракциям:
 
          ;реакция фракций и журнал
          Journal "A2_6_Incarnate" 50
          player->modReputation 5
          PCJoinFaction, Nerevarine
    
          if ( GetPCRank, Redoran >= 0 )
               modFactionReaction, "Redoran", "Nerevarine", 4
          endif
    
          if ( GetPCRank, Temple >= 0 )
               modFactionReaction, "Temple", "Nerevarine", 4
          endif