Home Random Page


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: 679


<== previous page | next page ==>
Short AllowWerewolfForceGreeting 4 page | Short AllowWerewolfForceGreeting
doclecture.net - lectures - 2014-2024 year. Copyright infringement or personal data (0.017 sec.)