Подскажите пожалуйста, какой скрипт в DLC: Dawnguard отвечает за смену стадий вампиризма? Изменения в скрипте "PlayerVampireQuestScript.psc", лежащем в "Data\Scripts\Source\Dawnguard", результатов не дали. Задумка следующая - сытый вампир это четвертая стадия, голодный это первая, питание повышает уровень вампира с 1 до 4, голод постепенно снижает уровень (4-3-2-1).
Изменение репутации для пользователя mOOnlyn
mOOnlynOffline
Сообщение №2
| Тема: Вопросы по скриптам Papyrus
написано: 9 февраля 2013, 02:29
| Отредактировано: mOOnlyn - 9 февраля 2013, 02:47
Модов не мало, но я делаю под себя, ни один из них мне не нравится. Разница между уровнями вампира - да, в спеллах, для разных стадий разные спеллы, но переключение между стадиями явно прописано в этом скрипте в виде квеста, так же там указано на каких стадиях какие спеллы активируются, а какие деактивируются, когда какие сообщения о стадиях выводятся на экран и какой эффект пробегает по экрану при переключении стадий и при нахождении на солнце, механизм излечения, смена рас, но никакие изменения в игре не отражаются, а спеллы измененные и сохраненные в .esp да, работают на нужных стадиях, однако порядок стадий не тот что мне нужен. Спелловым путем не реализовать таймеры, условия и переменные, это в любом случае делается скриптом. Я бы может просто поменял бы вверх ногами силу спеллов усиливающихся или ослабевающих со стадиями, перекроил бы меседжи, но ведь есть спеллы которые появляются и исчезают в зависимости от стадии, а их появление и исчезновение как раз в этом скрипте и прописано, а он не работает. Да, для проверки начинал новую игру после каждого внесенного изменения.
Изменение репутации для пользователя mOOnlyn
mOOnlynOffline
Сообщение №3
| Тема: Вопросы по скриптам Papyrus
написано: 9 февраля 2013, 09:39
| Отредактировано: mOOnlyn - 9 февраля 2013, 09:45
;Variable to track if the player is a vampire ;0 = Not a Vampire ;1 = Vampire ;2 = Vampire Stage 2 ;3 = Vampire Stage 3 ;4 = Vampire Stage 4 Int Property VampireStatus Auto Conditional
Message Property VampireFeedMessage Auto Message Property VampireStageProgressionMessage Auto Race Property ArgonianRace Auto Race Property ArgonianRaceVampire Auto Race Property BretonRace Auto Race Property BretonRaceVampire Auto Race Property DarkElfRace Auto Race Property DarkElfRaceVampire Auto Race Property HighElfRace Auto Race Property HighElfRaceVampire Auto Race Property ImperialRace Auto Race Property ImperialRaceVampire Auto Race Property KhajiitRace Auto Race Property KhajiitRaceVampire Auto Race Property NordRace Auto Race Property NordRaceVampire Auto Race Property OrcRace Auto Race Property OrcRaceVampire Auto Race Property RedguardRace Auto Race Property RedguardRaceVampire Auto Race Property WoodElfRace Auto Race Property WoodElfRaceVampire Auto Race Property CureRace Auto Static Property XMarker Auto
Faction Property VampirePCFaction Auto
Float Property LastFeedTime Auto Float Property FeedTimer Auto GlobalVariable Property GameDaysPassed Auto
Idle Property VampireFeedingBedRight Auto Idle Property VampireFeedingBedrollRight Auto GlobalVariable Property VampireFeedReady Auto imageSpaceModifier Property VampireTransformIncreaseISMD Auto imageSpaceModifier Property VampireTransformDecreaseISMD Auto effectShader property VampireChangeFX auto
;Vampire progression should not happen if player is in combat or controls are locked or the player can't fast travel ; DLC01 - also skip progression if player is currently vampire lord actor player = Game.GetPlayer() If Game.IsMovementControlsEnabled() && Game.IsFightingControlsEnabled() && player.GetCombatState() == 0 && player.HasMagicEffect(DLC1VampireChangeEffect) == false && player.HasMagicEffect(DLC1VampireChangeFXEffect) == false ;If player hasn't fed, progress Vampirism If (FeedTimer >= 3) && (VampireStatus == 3) ;add Stage 4 Vampire buffs and spells VampireFeedReady.SetValue(3) ;VampireStageProgressionMessage.Show() VampireStage4Message.Show() VampireStatus = 4 VampireProgression(Game.GetPlayer(), 4) ;/ REMOVING HATE ON LEVEL 4 VAMPIRE ;All NPCs hate the evil Vampire Game.GetPlayer().AddtoFaction(VampirePCFaction) Game.GetPlayer().SetAttackActorOnSight()
int cfIndex = 0 Debug.Trace("VAMPIRE update: DLC1CrimeFactions = " + DLC1CrimeFactions) Debug.Trace("VAMPIRE update: CrimeFactions before = " + CrimeFactions) CrimeFactions = DLC1CrimeFactions Debug.Trace("VAMPIRE update: CrimeFactions after = " + CrimeFactions) while (cfIndex < CrimeFactions.GetSize()) Debug.Trace("VAMPIRE update: Setting enemy flag on " + CrimeFactions.GetAt(cfIndex)) (CrimeFactions.GetAt(cfIndex) as Faction).SetPlayerEnemy() cfIndex += 1 endwhile /; ;stop checking GameTime until the player feeds again UnregisterforUpdateGameTime() ElseIf FeedTimer >= 2 && (VampireStatus == 2) ;add Stage 3 Vampire buffs and spells VampireFeedReady.SetValue(2) VampireStageProgressionMessage.Show() VampireStatus = 3 VampireProgression(Game.GetPlayer(), 3) ElseIf FeedTimer >= 1 && (VampireStatus == 1) ;add Stage 2 Vampire buffs and spells VampireFeedReady.SetValue(1) VampireStageProgressionMessage.Show() VampireStatus = 2 VampireProgression(Game.GetPlayer(), 2) EndIf Endif
;Make player Vampire Stage 1 VampireStatus = 1 VampireProgression(Game.GetPlayer(), 1)
;Setup the Feed Timers RegisterForUpdateGameTime(12) LastFeedTime = GameDaysPassed.Value
;Set the Global for stat tracking PlayerIsVampire.SetValue(1)
Utility.Wait(1) Game.EnablePlayerControls()
;If the player has been cured before, restart the cure quest If VC01.GetStageDone(200) == 1 VC01.SetStage(25) EndIf
EndFunction
Function VampireFeed() ;Effects for hiding the change ;VampireChangeFX.play(game.getPlayer()) VampireTransformDecreaseISMD.applyCrossFade(2.0) utility.wait(2.0) imageSpaceModifier.removeCrossFade() ;VampireChangeFX.stop(game.getPlayer())
Game.IncrementStat( "Necks Bitten" ) VampireFeedMessage.Show() VampireFeedReady.SetValue(0) ;Game.ForceThirdPerson() ;Game.GetPlayer().PlayIdle(VampireFeedingBedRight) ;Player has fed, regress to Stage 1 Vampirisim ;Remove Stage 2, 3, and 4 buffs and spells LastFeedTime = GameDaysPassed.Value VampireStatus = 1 VampireProgression(Game.GetPlayer(), 1)
;Player is no longer hated. Only used for players that load DLC as a vampire Game.GetPlayer().RemoveFromFaction(VampirePCFaction) Game.GetPlayer().SetAttackActorOnSight(False)
int cfIndex = 0 Debug.Trace("VAMPIRE feed: DLC1CrimeFactions = " + DLC1CrimeFactions) Debug.Trace("VAMPIRE feed: CrimeFactions before = " + CrimeFactions) CrimeFactions = DLC1CrimeFactions Debug.Trace("VAMPIRE feed: CrimeFactions after = " + CrimeFactions) while (cfIndex < CrimeFactions.GetSize()) Debug.Trace("VAMPIRE: Removing enemy flag from " + CrimeFactions.GetAt(cfIndex)) (CrimeFactions.GetAt(cfIndex) as Faction).SetPlayerEnemy(false) cfIndex += 1 endwhile
;Start checking GameTime again if we weren't already UnregisterforUpdateGameTime() RegisterForUpdateGameTime(12)
EndFunction
Function VampireProgression(Actor Player, int VampireStage) ;Swap out abilities depending on stage of Vampirism If VampireStage == 2 VampireTransformIncreaseISMD.applyCrossFade(2.0) utility.wait(2.0) imageSpaceModifier.removeCrossFade() Player.RemoveSpell(AbVampire01) Player.RemoveSpell(AbVampire01b) Player.AddSpell(AbVampire02b, abVerbose = False) Player.AddSpell(AbVampire02, abVerbose = False) ;Player.RemoveSpell(VampireStrength01) ;Player.AddSpell(VampireStrength02, abVerbose = False) Player.RemoveSpell(VampireSunDamage01) Player.AddSpell(VampireSunDamage02, abVerbose = False)
Player.AddSpell(VampireDrain02, abVerbose = False) ;check to see if player has power equipped and switch them out If Player.GetEquippedSpell(0) == VampireDrain01 Player.EquipSpell(VampireDrain02, 0) EndIf
If Player.GetEquippedSpell(1) == VampireDrain01 Player.EquipSpell(VampireDrain02, 1) EndIf Player.RemoveSpell(VampireDrain01)
Player.AddSpell(VampireDrain03, abVerbose = False) ;check to see if player has power equipped and switch them out If Player.GetEquippedSpell(0) == VampireDrain02 || Player.GetEquippedSpell(0) == VampireDrain01 Player.EquipSpell(VampireDrain03, 0) EndIf
Player.AddSpell(VampireDrain04, abVerbose = False) ;check to see if player has power equipped and switch them out If Player.GetEquippedSpell(0) == VampireDrain03 || Player.GetEquippedSpell(0) == VampireDrain02 || Player.GetEquippedSpell(0) == VampireDrain01 Player.EquipSpell(VampireDrain04, 0) EndIf
Player.AddSpell(VampireDrain01, abVerbose = False) ;check to see if player has power equipped and switch them out If Player.GetEquippedSpell(0) == VampireDrain03 || Player.GetEquippedSpell(0) == VampireDrain04 || Player.GetEquippedSpell(0) == VampireDrain02 Player.EquipSpell(VampireDrain01, 0) EndIf
;Set the Global for stat tracking PlayerIsVampire.SetValue(0)
;make sure Hunter's Sight is gone Player.RemoveSpell(VampireHuntersSight)
EndFunction
Spell Property AbVampire01 Auto Spell Property AbVampire02 Auto Spell Property AbVampire03 Auto Spell Property AbVampire04 Auto Spell Property AbVampire01b Auto Spell Property AbVampire02b Auto Spell Property AbVampire03b Auto Spell Property AbVampire04b Auto
Spell Property VampireDrain01 Auto Spell Property VampireDrain02 Auto Spell Property VampireDrain03 Auto Spell Property VampireDrain04 Auto
Spell Property VampireRaiseThrall01 Auto Spell Property VampireRaiseThrall02 Auto Spell Property VampireRaiseThrall03 Auto Spell Property VampireRaiseThrall04 Auto
Spell Property VampireStrength01 Auto Spell Property VampireStrength02 Auto Spell Property VampireStrength03 Auto Spell Property VampireStrength04 Auto
Spell Property VampireSunDamage01 Auto Spell Property VampireSunDamage02 Auto Spell Property VampireSunDamage03 Auto Spell Property VampireSunDamage04 Auto
Spell Property VampireHuntersSight Auto Spell Property VampireCharm Auto Spell Property VampireCloak Auto Spell Property VampireInvisibilityPC Auto
Spell Property VampireCureDisease Auto
Spell Property ABVampireSkills Auto Spell Property ABVampireSkills02 Auto
Spell Property DiseasePorphyricHemophelia Auto
GlobalVariable Property PlayerIsVampire Auto
Sound Property MagVampireTransform01 Auto
Spell Property DiseaseAtaxia auto Spell Property DiseaseBoneBreakFever Auto Spell Property DiseaseBrainRot Auto Spell Property DiseaseRattles Auto Spell Property DiseaseRockjoint auto Spell Property DiseaseWitbane Auto ;Trap Diseases that also need to be removed Spell Property TrapDiseaseAtaxia auto Spell Property TrapDiseaseBoneBreakFever Auto Spell Property TrapDiseaseBrainRot Auto Spell Property TrapDiseaseRattles Auto Spell Property TrapDiseaseRockjoint auto Spell Property TrapDiseaseWitbane Auto Spell Property TrapDiseasePorphyricHemophelia Auto
Message Property VampireStage4Message Auto
Quest Property VC01 Auto FormList Property CrimeFactions Auto
SPELL Property DLC1VampireChange Auto
FormList Property DLC1CrimeFactions Auto
; used to check for player in vampire lord form MagicEffect Property DLC1VampireChangeEffect Auto MagicEffect Property DLC1VampireChangeFXEffect Auto
Уж наверное не зря в ванильной игре он существует... Если лично Вы не создавали мод, влияющий именно на стадии вампиризма, а не на спеллы в стадиях, не пишите пожалуйста, я хотел бы услышать ответ на вопрос, даже если это делается не скриптом (в чем Вы совершенно уверены по непонятной причине) - ткните, пожалуйста, носом.
Изменение репутации для пользователя mOOnlyn
mOOnlynOffline
Сообщение №4
| Тема: Вопросы по скриптам Papyrus
написано: 9 февраля 2013, 15:45
| Отредактировано: mOOnlyn - 9 февраля 2013, 17:22
Подскажите, пожалуйста, кто в курсе... Перки навыка "Блокирование" работают при блокировке оружием, а не щитом? Если да, но не все - перечислите какие.
Players can block with two-handed weapons and daggers, but they will be significantly less effective than using a shield or one-handed weapon. Additionally, the perks Deflect Arrows and Elemental Protection do not seem to work without a shield. All other perks will apply to weapon blocking.
Судя по этому работать будут все перки за исключением Deflect Arrows и Elemental Protection, что логично. Однако в этой же статье ниже есть раздел перков, где таблица с графой, обозначающей работу перков при блокировке оружием, последний перк в ветке (Shield Charge) там указан как нерабочий при блоке с оружием, что в принципе тоже логично, но с толку сбивает несоответствие написанного в цитате и в таблице, потому и спрашиваю.
Safarel, а Вы сами себе не противоречите? сначала:
Цитата Safarel
Все остальные завязаны на щите.
Этим Вы соглашаетесь что некоторые перки все же работают без щита. Про отражение стрел и сопротивление магии я и сам написал, в основном волнует перк Shield Charge (Живой молот в русском переводе). Проблема заключается в том, что на англовики противоречивая информация на счет него, читайте мое сообщение выше. И да, мой вопрос касается не логики, а механики, зашитой в игре.
Провел собственный тест, действительно, на блок оружием действуют все перки ветки за исключением Deflect Arrows, Elemental Protection и Shield Charge, однако персонажам играющим с двуручным оружием чтобы получить перк Block Runner придется вкачать 2 бесполезных для них перка Deflect Arrows и Elemental Protection.
Не знаю куда задать вопрос, потому задам сюда... Можно ли при превращении в лорда-вампира каким-то образом оставить внешность моего ГГ, а не это чучело с отростками непонятными?
Скрипты давнгварда он и у меня не загружает, но их же можно самому в папке посмотреть... Я рылся, но там такая свалка - фиг что найдешь. Мой скрипт на изменение порядка смены стадий вампиризма сделан как раз из давнгвардовского, где вылечена агрессия окружающих на 4 стадии.
Перекопал все скрипты даунгварда, в названии которых присутствует "vamp" или "vampire", так и не нашел скрипта в ктором прописано перевоплощение в лорда, скорее всего проглядел, скриптов пруд пруди, если кто наткнется - сообщите пожалуйста.
Первоначально задавал свой вопрос в тему "Вопросы по Creation Kit" так как не знал точно куда обратиться, переадресовываю сюда.
Цитата mOOnlyn
Перекопал все скрипты даунгварда, в названии которых присутствует "vamp" или "vampire", так и не нашел скрипта в ктором прописано перевоплощение в лорда, скорее всего проглядел, скриптов пруд пруди, если кто наткнется - сообщите пожалуйста.
Во время повторного более подробного изучения папки скриптов Даунгварда обнаружил скрипт "DLC1PlayerVampireChangeScript". Кто хорошо в скриптах разбирается - подскажите, пожалуйста, можно ли добиться желаемого, внеся изменения в него, и не вылезут ли какие-то конфликты с другими вампирскими скриптами при внесении этих изменений?
Добавлено (12.02.2013, 02:36) --------------------------------------------- Покопался в этом и связанным с ним скриптах, что-то мне больше не улыбается туда лезть, слишком много взаимозависимостей, трудно мне за всем этим уследить, от идеи отказываюсь, пусть будет чучело, однако если кто сделает на досуге - буду очень благодарен.
Изменение репутации для пользователя mOOnlyn
mOOnlynOffline
Сообщение №13
| Тема: Вопросы по скриптам Papyrus
написано: 12 февраля 2013, 02:42
| Отредактировано: mOOnlyn - 12 февраля 2013, 02:49
В этом же скрипте чуть ниже так же пишется что персонажа раздевают и одевают в одежду лорда-вампира, это раз, в некоторых соседних скриптах встречаются условия - "если игрок расы вампира-лорда, то 1, 2 и 3", следовательно эти условия не сработают, это два. Найти все подобные взаимозависимости трудно при большом количестве и объеме прочесываемых скриптов. И в данном случае мало пролистать скрипты по ключевым словам, надо еще понять каждую строку скрипта, в котором они встретились, чтобы отследить второстепенные эффекты им (скриптом) оказываемые дабы избежать несоответствий. Думаю, мне проще не пользоваться формой лорда-вампира.
Понравилась мне анимация силовой атаки стоя с левой руки одноручным оружием, есть ли возможность заменить анимацию силовой атаки одноручным оружием с правой руки при движении вперед и назад на нее?
можно и без СК справится, но надо найти файлы анимации (которые тебе понравились), и заменить их на те которые хочешь поменять.
Теоретически это не сработает. Вот каков будет эффект - персонаж при силовой атаке с правой руки будет вставать в стойку, отводить оружие в правой руке назад, а противника колоть свободной рукой или тем что в ней будет на тот момент. Это я к чему - анимация нарисована для левой руки, ее как-то надо зеркально отразить чтобы корректно работала со скелетом при использовании оружия в правой руке.
Изменение репутации для пользователя mOOnlyn
mOOnlynOffline
Сообщение №16
| Тема: Идеи для модификаций
написано: 14 февраля 2013, 21:17
| Отредактировано: mOOnlyn - 14 февраля 2013, 21:21
1) Анимация 2) Замена анимации силовой атаки при движении вперед и назад одноручным оружием с правой руки на анимацию силовой атаки стоя одноручным оружием с левой руки (сама анимация в игре уже есть, идея заключается в зеркальном ее отражении с левой руки на правую и смене условий проигрывания). 3) 4) 5) Фехтование в игре отсутствует как явление и было бы не лишним восполнить этот пробел хотя бы появлением анимации колющего удара.
Нашел баг в собственном моде. Помогите разобраться. Ранее его не замечал т.к. тестировал мод без причесок от апачи, баг появился после их установки, хотя мой плагин стоит ниже в списке загрузки. Мой плагин подразумевает, что при становлении вампиром текстуры (но не форма) лица не будут изменяться, а останутся ванильными, однако это не работает. Точнее работает частично: когда загружаю сохранение текстуры лица - вампирские (уродские), перевоплощаюсь в лорда и обратно - такие как задумано (ванильные). Не могу разобраться с чем это связано, грешил на свой плагин, даже немного его исправил, но не помогло.