![]() CATEGORIES: BiologyChemistryConstructionCultureEcologyEconomyElectronicsFinanceGeographyHistoryInformaticsLawMathematicsMechanicsMedicineOtherPedagogyPhilosophyPhysicsPolicyPsychologySociologySportTourism |
Short AllowWerewolfForceGreeting 5 page
Раса, Фракция и Ранг Определение расы GetRace, RaceID (returns Boolean/short) Player->GetRace "Dark Elf"
Возвращает 1, если раса объекта соответствует RaceID
Пример: Это глобальный скрипт, используемый Bethesda для установки переменной, чтобы определять расу игрока в диалоге: begin RaceCheck
; глобальный скрипт, который запускается 1 раз, чтобы проверить расу игрока, так, чтобы это можно было использовать в диалоге.
if ( Player->GetRace "Argonian" == 1 ) set PCRace to 1 elseif ( Player->GetRace "Breton" == 1 ) set PCRace to 2 elseif ( Player->GetRace "Dark Elf" == 1 ) set PCRace to 3 elseif ( Player->GetRace "High Elf" == 1 ) set PCRace to 4 elseif ( Player->GetRace "Imperial" == 1 ) set PCRace to 5 elseif ( Player->GetRace "Khajiit" == 1 ) set PCRace to 6 elseif ( Player->GetRace "Nord" == 1 ) set PCRace to 7 elseif ( Player->GetRace "Orc" == 1 ) set PCRace to 8 elseif ( Player->GetRace "Redguard" == 1 ) set PCRace to 9 elseif ( Player->GetRace "Wood Elf" == 1 ) set PCRace to 10 endif
StopScript RaceCheck
end
Определение статуса игрока во фракции [no fix] GetPCRank, FactionID_enum (returns short)
if ( GetPCRank "Telvanni" == 9 )
Возвращает ранг игрока во фракции. По умолчанию, это фракция говорящего актера, если FactionID не определен. Возвращает 0-9 и 1, если не игрок не член фракции.
Пример: Актер/объект со следующим скриптом доступны, только если игрок не член дома Редоран: Begin bandenIndarysScript if ( CellChanged == 0 ) Return endif
if ( GetPCRank "Redoran" == -1 ) Enable else Disable endif End
[no fix?] GetPCFacRep, [FactionID] (returns short?)
Возможно, возвращает репутацию во фракции. Не тестировалось, Беседкой не использовалось.
SameFaction (returns Boolean/short)
Возвращает 1, если игрок состоит во фракции вызывающего объекта (NPC).
PCExpelled["factionID"] (returns Boolean/short)
Возвращает 1, если игрок однажды был исключен из фракции вызывающего объекта (NPC), или фракция может задаваться особо. Для примера смотри скрипт далее для функции PCClearExpelled.
Изменение реакции и положения во фракции
[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
Определение и изменение реакции Get/Mod/SetReputation Get/Mod/SetDisposition возможно, все это относится к базовой реакции (которая задается в CS, неизмененной никакими модификаторами) Функции для оборотней Установка атрибутов оборотня SetWerewolfAcrobatics
Actor -> SetWerewolfAcrobatics
Эта функция устанавливает атрибуты объекта, как у оборотня. Она устанавливает скиллы и атрибуты в значение fWerewolfxxxx установок геймплея. В большинстве случаев, это означает высокую силу, ловкость, акробатику и 0 для всего остального. Player -> AddSpell "werewolf vision" Player -> AddSpell "werewolf regeneration" Player -> SetWereWolfAcrobatics Изменение цвета Секунды [no fix] TurnMoonWhite [no fix] TurnMoonRed
Эти две функции очень просты они изменяют цвет Секунды (маленькой, белой луны) с белого на красный и наоборот. Это не влияет на игру, но небо сразу выглядит другим. Используется в главном квесте Бладмуна. if ( doOnce == 0 ) TurnMoonRed set doOnce to 1 endif
Определение, скольких убил оборотень [no fix] GetWerewolfKills (returns short ?)
Это счетчик, сколько NPC было убито оборотнем. Каждый раз, когда убивается NPC, в то время как игрок оборотень, к этому счетчику добавляется 1. Он сбрасывается, когда игрок превращается в человека. if ( GetWerewolfKills > 0 ) ; код, чтобы игрок не страдал от голода. endif
Проверка, находится ли существо в форме оборотня IsWerewolf
If (Actor -> IsWerewolf ]
Эта функция позволяет определить, является оборотнем цель или нет. Она может использоваться на игроке или других Актерах. if ( Player->IsWerewolf != 1 ) ;НЕ ВЫПОЛНЯТЬ ЕСЛИ ИГРОК НЕ ОБОРОТЕНЬ return endif
Превращение в оборотня BecomeWerewolf UndoWerewolf
Actor->BecomeWerewolf Actor->UndoWerewolf
Эти функции превращают объект в оборотня и назад в человека. ВАЖНО: Использование Becomewerewolf и Undowerewolf МОЖЕТ запороть вам игру. Некоторые квесты и переменные целиком зависят от их использования, так что если вы решили использовать их, чтобы поразвлечься (От WormGod).
if ( OnPCEquip == 1 ) Player->BecomeWereWolf Set OnPCEquip to 0 Endif
Set timer to ( timer + GetSecondsPassed )
If ( timer > 10 ) Player->UndoWereWolf Endif Специальные глобальные переменные для оборотней [no fix] PCknownWerewolf (is short global)
Глобальная переменная, которая указывает, известен ли игрок как оборотень.
[no fix] PCWerewolf (is short global)
Установлена в 1, если игрок оборотень. Используется для контроля многих скриптов для оборотней.
[no fix] WerewolfClawMult (is float global)
Усилитель удара когтями. Точная формула неизвестна, см скрипты оборотней.
Текст и Диалог Краткая инструкция по диалогам Date: 2015-12-17; view: 779
|