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