В файле SkyrimEditor.ini ниже [General] впишите строчку sLanguage=RUSSIAN, чтобы этот СК по-русски понимал.
Для того чтобы ошибки не выдавались, и не мешали в работе
Можно сделать следующее:
Открыть любым текстовым редактором файл SkyrimEditor.ini (находится в папке \Steam\steamapps\common\skyrim)
Находим секцию [MESSAGES]
В каждой строке в данной секции меняем значение с 0 на 1. После всех изменений данная секция должна выглядеть так:
[MESSAGES]
bSkipInitializationFlows=1
bSkipProgramFlows=1
bAllowYesToAll=1
bBlockMessageBoxes=1
iFileLogging=1
Вопросы по модостроению и Creation Kit
#401
Отправлено
- Morrgus27, Wererewolf, Bolgarec75 и 2 другим это нравится
#403
Отправлено
Иммунитет от этого заклинания будет иметь нежить (вампиры, драугры, двемеры и т.д.) и дети. Все же остальные будут уязвимы. (т.е. мое заклинание будет резонно использовать вампиру) Да и вопрос был не в этом.
Один очень хороший человек подсказал, что косяк не в заклинании, а во взрыве. + выдвинул теорию, которая вскоре подтвердилась: "Думаю причина серого экрана в том, что пока тело игрока не остановится, игра не завершится. Примерно такой же эффект наблюдается, когда ГГ падает со скалы (пока труп не остановился, игра не завершится), а тут мы умираем и превращаемся в горсть пепла, значит оболочки у него физической уже нету, поэтому и камеру игровую привязать некуда". + корень проблемы лежал в скрипте заклинания. (для теста мы убрали эффект превращения ГГ в желе).
Так же в скрипте были маленькие подводные камни в виде ссылок на взрывы, которые в свою очередь ссылались на старые заклинания. (тоже подправили)
В итоге сейчас заклинание имеет следующий функционал:
1) кастуем заклинание чумы
2) заражаются NPC
3) Когда NPC погибает, рядом с ним размещается объект взрыва
4) Объект взрыва содержит зачарование/чары
5) Зачарование/чары содержат заклинание чумы и далее по кругу
Единственное, теперь если на ГГ "налаживается" объект взрыва, то он НЕ превращается в жижу (останки призрака), а просто умирает, как в дефолте.
Теперь вопрос в следующем: (Представим, что все, что я писал выше - не было) Возможно ли, при смерти ГГ привязать камеру к жиже, с нормальным функционалом (т.е. что бы после смерти ГГ появляется загрузочный экран, а не "баганый" серый)
Сообщение отредактировал GOLDEN KINDER: 12 апреля 2016 - 09:48
#406
Отправлено
Без проблем)
начать стоит с того, что в скрипте у тебя игрок никак не фигурирует, так что че ты от него ждешь? Красное надо добавить. Не проверял в игре.
[spoiler]
Scriptname DLC1nVampireBloodPlagueSCRIPT extends ActiveMagicEffect
EXPLOSION PROPERTY corpseExplosion AUTO
; //////////
; //ASH PILE VARIABLES
; //////////
float property fDelay = 0.75 auto
{time to wait before Spawning Ash Pile}
float property fDelayEnd = 1.65 auto
{time to wait before Removing Base Actor}
float property ShaderDuration = 0.00 auto
{Duration of Effect Shader.}
Activator property pDefaultAshPileGhost auto
{The object we use as a pile.}
Bool property bSetAlphaZero = True auto
{The Effect Shader we want.}
FormList Property pDisintegrationMainImmunityList auto
{If the target is in this list, they will not be disintegrated.}
EFFECTSHADER PROPERTY pGhostDeathFXShader AUTO
{the shader to play while dying}
race VictimRace
ACTOR victim
bool TargetIsImmune = True
EVENT onEffectStart(Actor akTarget, Actor akCaster)
victim = akTarget
endEVENT
EVENT onDying(ACTOR akKiller)
victim.placeAtMe(corpseExplosion)
createAshPile()
endEVENT
FUNCTION createAshPile()
IF ( victim != game.getPlayer() )
; //check to see if the target is in the immunity list
IF(pDisintegrationMainImmunityList == none)
TargetIsImmune = False
ELSE
ActorBase VictimBase = victim.GetBaseObject() as ActorBase
VictimRace = VictimBase.GetRace()
IF(pDisintegrationMainImmunityList.hasform(VictimRace) || pDisintegrationMainImmunityList.hasform(VictimBase))
TargetIsImmune = True
ELSE
TargetIsImmune = False
ENDIF
ENDIF
; //if the target is not immune, disintegrate them
IF(TargetIsImmune == False)
; debug.trace("victim just died")
victim.kill(game.getPlayer())
victim.SetCriticalStage(victim.CritStage_DisintegrateStart)
IF(pGhostDeathFXShader != none)
pGhostDeathFXShader.play(victim,ShaderDuration)
ENDIF
victim.SetAlpha (0.0,True)
; //attach the ash pile
victim.AttachAshPile(pDefaultAshPileGhost)
utility.wait(fDelayEnd)
IF(pGhostDeathFXShader != none)
pGhostDeathFXShader.stop(victim)
ENDIF
IF(bSetAlphaZero == True)
victim.SetAlpha (0.0,True)
ENDIF
victim.SetCriticalStage(victim.CritStage_DisintegrateEnd)
ENDIF
ENDIF;==================================
if victim == game.getplayer()
game.getPlayer().setactorvalue("Health", 0.0)
game.getPlayer().SetCriticalStage(game.getPlayer().CritStage_DisintegrateStart)
IF(pGhostDeathFXShader != none)
pGhostDeathFXShader.play(game.getPlayer(),ShaderDuration)
ENDIF
game.getPlayer().SetAlpha (0.0,True)
; //attach the ash pile
game.getPlayer().AttachAshPile(pDefaultAshPileGhost)
utility.wait(fDelayEnd)
IF(pGhostDeathFXShader != none)
pGhostDeathFXShader.stop(game.getPlayer())
ENDIF
IF(bSetAlphaZero == True)
victim.SetAlpha (0.0,True)
ENDIF
game.getPlayer().SetCriticalStage(game.getPlayer().CritStage_DisintegrateEnd)
endif
;=================================
endFUNCTION
- ferretcha это нравится
#407
Отправлено
начать стоит с того, что в скрипте у тебя игрок никак не фигурирует, так что че ты от него ждешь? Красное надо добавить. Не проверял в игре.
Внес изменения в скрипт (внесение изменения в скрипт прошли без ошибок), далее опробовал в игре и увидел две проблемы:
1) Внесения изменения в скрипт возвращают проблему с "серым экраном" (думаю не нужно писать, как это происходит)
2) Внесения изменения в скрипт добавляют всем NPC при смерти визуальный эффект из заклинания, который просаживает фпс.
Немного о внесенных правках:
Я показал внесенные изменения человеку, который до этого правил этот скрипт.
Цитирую: "ну для NPC работает, а он вроде продублировал тот же код, что для npc, только вписал игрока... интересно какой смысл, если переменная victim применима как npc, так и к игроку - т.е. к любому, кто попал под действие заклинания."
Сообщение отредактировал GOLDEN KINDER: 12 апреля 2016 - 14:56
#409
Отправлено
Внес изменения в скрипт (внесение изменения в скрипт прошли без ошибок), далее опробовал в игре и увидел две проблемы:
1) Внесения изменения в скрипт возвращают проблему с "серым экраном" (думаю не нужно писать, как это происходит)
2) Внесения изменения в скрипт добавляют всем NPC при смерти визуальный эффект из заклинания, который просаживает фпс.
Немного о внесенных правках:
Я показал внесенные изменения человеку, который до этого правил этот скрипт.
Цитирую: "ну для NPC работает, а он вроде продублировал тот же код, что для npc, только вписал игрока... интересно какой смысл, если переменная victim применима как npc, так и к игроку - т.е. к любому, кто попал под действие заклинания."
Ну касательно игрока... Твой скрипт и ванильный скрипт различаются. В твоем скрипте с IF и ENDIF накосячено переделано, и получилось, что игрок не упоминается совсем. Т.е. когда происходит ивент умирания, к victim-у, если это не игрок применяются команды, а если victim имеет значегие игрок, то ничего не происходит. В ванильном скрипте такого нет.
Я потыкал ванильный скрипт, в общем, было довольно сложно себя убить этим заклинанием, ибо окружающие умирают быстрее и, притом, неистово хилят игрока. Но один раз все-таки получилось себя убить и у меня тоже был серый экран. пока что хз что это, и почему игра не прекращается.
- ferretcha это нравится
#411
Отправлено
Тогда лучше обходными путями не давать игроку помереть. Просто же все.
Дело в том, что мне нужно, что бы ГГ мог заразиться от NPC, а в последствии умереть, если у него было мало хп. (напомню, ГГ будет иметь иммунитет, если он является вампиром. Опять же повторяюсь, что это заклинание будет резонно использовать именно вампиру)
Сообщение отредактировал GOLDEN KINDER: 13 апреля 2016 - 13:24
#412
Отправлено
Я потыкал ванильный скрипт, в общем, было довольно сложно себя убить этим заклинанием, ибо окружающие умирают быстрее и, притом, неистово хилят игрока.
Угу, есть такая проблема в дефолтном заклинании. Я это исправил. Вот скрины моего заклинания:
А по поводу серого экрана... Попробую описать ситуацию, как вижу её я: Наш ГГ умирает (от заражения NPC), тело падает и одновременно исчезает. Вместо тела появляется черная жижа (останки призрака) и тут же после этого, моментально появляется серый экран. Возможно причина серого экрана в исчезновении физической оболочки (тела), из-за которой некуда привязать игровую камеру. Опять же, если вместо дефолтного скрипта использовать тот, который выложил я (в этом скрипте ГГ не превращается в черную жижу), то в этом случае происходит обычная смерть без серого экрана, но я хочу добиться того, что бы ГГ ничем не отличался от NPC в плане смерти (т.е. падал, превращался в прах, и т.д. без серого экрана).
Вообще, дефолтное заклинание использует несколько файлов: (вдруг кому пригодиться)
Сообщение отредактировал GOLDEN KINDER: 13 апреля 2016 - 13:35
#414
Отправлено
А шейдер срабатывает на игроке?
Ибо ты выставил альфу 0.0. А это делает шейдеры бесполезными.Они не отображаются тупо. А вотесли 0.1. к примеру. То шейдер работает в полной мере. Не ручаюсь правда за порядок альфа-> шейдер или шейдер->альфа.
Если ты о кейворде "ActorTypeUndead", то да. Все работает. Если ГГ является вампиром, то он не восприимчив на эффект заклинания.
Сообщение отредактировал GOLDEN KINDER: 13 апреля 2016 - 13:55
#415
Отправлено
Если ты о кейворде "ActorTypeUndead", то да. Все работает. Если ГГ является вампиром, то он не восприимчив на эффект заклинания.
Нет, я не о кейворде-_-
Но у разрабов именно такая конструкция, хотя и странновато.
В таком случае попробуй банально накинуть альфу на игрока и под ноги ему кинуть кучку пепла
#416
Отправлено
В таком случае попробуй банально накинуть альфу на игрока и под ноги ему кинуть кучку пепла
Можно чуть-чуть поподробнее?) Как именно это сделать? (Я в некотором роде чайник. CK познавал из видео-уроков и различных статей)
Сообщение отредактировал GOLDEN KINDER: 13 апреля 2016 - 13:53
#417
Отправлено
Можно чуть-чуть поподробнее?) Как именно это сделать? (я в некотором роде чайник. CK познавал из видео уроков и различных статей)
В общем вместо того чтобы присоеденять игроку пепел. """game.getPlayer().AttachAshPile(pDefaultAshPileGhost)"""
Можно просто поместить модель этого "пепла" в точку где там невидимое тело игрока плюхнется.
Вверху скрипта сделай:
Activator property YourAshPile auto
Далее вместо game.getPlayer().AttachAshPile(pDefaultAshPileGhost)
Game.GetPlayer().PlaceAtMe(YourAshPile)
Проверил, анимация появления кучки сработает вместе с ее появлением, и специально их запускать не потребуется
Это должно убрать серый экран поскольку технически тело игрока осталось телом игрока, а ты лишь сделал его невидимым.
#418
Отправлено
Далее вместо game.getPlayer().AttachAshPile(pDefaultAshPileGhost)
Game.GetPlayer().PlaceAtMe(YourAshPile)
Немного не понял с заменой. В скрипте нет строчки game.getPlayer().AttachAshPile(pDefaultAshPileGhost) (Для теста взял текст дефолтного скрипта).
Сообщение отредактировал GOLDEN KINDER: 13 апреля 2016 - 14:33
Темы с аналогичным тегами help, modding, creation kit, скайрим, редактор, помощь, вопросы
|
Моддинг →
Моддинг Skyrim →
Установка патчей совместимостиАвтор stlstyle, 08 ноя 2024 mod, мод, patch, патч, ae и 5 еще... |
|
||
Вольный град →
Литература →
Фанфикшен →
Произведения по мотивам TES →
«I am Khajiit / Я каджит» песняАвтор brl20281, 29 окт 2024 песня, каджит и 1 еще... |
|
|||
The Elder Scrolls →
Skyrim →
Обсуждение Skyrim →
Технические вопросы →
Баг с силовыми атаками НПСАвтор Dog2014, 08 янв 2024 баг, нпс, npc, bug, skyrim и 2 еще... |
|
|||
Моддинг →
Моддинг Skyrim →
Восстановление на основе Зала ДозораАвтор Alex_andra, 11 дек 2023 mod, help |
|
|||
Моддинг →
Моддинг Skyrim →
Проекты в разработке →
Immersive SimАвтор tesallmc, 17 ноя 2023 immersive, sim, rpg и 1 еще... |
|
Количество пользователей, читающих эту тему: 1
0 пользователей, 1 гостей, 0 скрытых