Перейти к содержимому


Фотография

Вопросы по модостроению и Creation Kit

help modding creation kit скайрим редактор помощь вопросы

  • Авторизуйтесь для ответа в теме

#401 Ссылка на это сообщение gkalian

gkalian
  • smoke on helmet
  • 12 527 сообщений
  •    
Наш автор

Отправлено

В файле 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

 

В связи с реструктуризацией раздела все полезные сообщения вынесены в отдельную тему.
/сентябрь 2015



  • Авторизуйтесь для ответа в теме
Сообщений в теме: 1742

#402 Ссылка на это сообщение Dimonoider

Dimonoider
  • Картошечка


  • 4 332 сообщений
  •    
Наш автор

Отправлено

Да сделай ты игроку тупо резист от этого заклинания и все. Ну или реген хп всунь равный проходящему урону. По моему умирать от собственного заклинания совсем не ок.



#403 Ссылка на это сообщение GOLDEN KINDER

GOLDEN KINDER
  • Скиталец
  • 43 сообщений
  •  

Отправлено

Иммунитет от этого заклинания будет иметь нежить (вампиры, драугры, двемеры и т.д.) и дети. Все же остальные будут уязвимы. (т.е. мое заклинание будет резонно использовать вампиру) Да и вопрос был не в этом.
Один очень хороший человек подсказал, что косяк не в заклинании, а во взрыве. + выдвинул теорию, которая вскоре подтвердилась: "Думаю причина серого экрана в том, что пока тело игрока не остановится, игра не завершится. Примерно такой же эффект наблюдается, когда ГГ падает со скалы (пока труп не остановился, игра не завершится), а тут мы умираем и превращаемся в горсть пепла, значит оболочки у него физической уже нету, поэтому и камеру игровую привязать некуда". + корень проблемы лежал в скрипте заклинания. (для теста мы убрали эффект превращения ГГ в желе).
Так же в скрипте были маленькие подводные камни в виде ссылок на взрывы, которые в свою очередь ссылались на старые заклинания. (тоже подправили)
В итоге сейчас заклинание имеет следующий функционал:
1) кастуем заклинание чумы
2) заражаются NPC
3) Когда NPC погибает, рядом с ним размещается объект взрыва
4) Объект взрыва содержит зачарование/чары
5) Зачарование/чары содержат заклинание чумы и далее по кругу
Единственное, теперь если на ГГ "налаживается" объект взрыва, то он НЕ превращается в жижу (останки призрака), а просто умирает, как в дефолте. 
Теперь вопрос в следующем: (Представим, что все, что я писал выше - не было) Возможно ли, при смерти ГГ привязать камеру к жиже, с нормальным функционалом (т.е. что бы после смерти ГГ появляется загрузочный экран, а не "баганый" серый)


Сообщение отредактировал GOLDEN KINDER: 12 Апрель 2016 - 09:48


#404 Ссылка на это сообщение werr

werr
  • больной на всю голову

  • 1 621 сообщений
  •    
Наш автор

Отправлено

Все возможно. Только вечером.
И код скрипта выложи сюда, если не трудно. Ане на фишинговый сайт)) да, мой МинЮст меня бережёт.

#405 Ссылка на это сообщение GOLDEN KINDER

GOLDEN KINDER
  • Скиталец
  • 43 сообщений
  •  

Отправлено

И код скрипта выложи сюда, если не трудно.

Без проблем)

Скрипт "Кровавой чумы"


Сообщение отредактировал GOLDEN KINDER: 12 Апрель 2016 - 09:47


#406 Ссылка на это сообщение werr

werr
  • больной на всю голову

  • 1 621 сообщений
  •    
Наш автор

Отправлено

Без проблем)

начать стоит с того, что в скрипте у тебя игрок никак не фигурирует, так что че ты от него ждешь? Красное надо добавить. Не проверял в игре.

 

[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



#407 Ссылка на это сообщение GOLDEN KINDER

GOLDEN KINDER
  • Скиталец
  • 43 сообщений
  •  

Отправлено

начать стоит с того, что в скрипте у тебя игрок никак не фигурирует, так что че ты от него ждешь? Красное надо добавить. Не проверял в игре.

Внес изменения в скрипт (внесение изменения в скрипт прошли без ошибок), далее опробовал в игре и увидел две проблемы: 
1) Внесения изменения в скрипт возвращают проблему с "серым экраном" (думаю не нужно писать, как это происходит) 
2) Внесения изменения в скрипт добавляют всем NPC при смерти визуальный эффект из заклинания, который просаживает фпс.
ScreenShot15.jpg - Размер: 491,91К, Загружен: 367
ScreenShot16.jpg - Размер: 390,77К, Загружен: 367

Немного о внесенных правках:
Я показал внесенные изменения человеку, который до этого правил этот скрипт.
Цитирую: "ну для NPC работает, а он вроде продублировал тот же код, что для npc, только вписал игрока... интересно какой смысл, если переменная victim применима как npc, так и к игроку - т.е. к любому, кто попал под действие заклинания."


Сообщение отредактировал GOLDEN KINDER: 12 Апрель 2016 - 14:56


#408 Ссылка на это сообщение Sirin...

Sirin...
  • Следопыт
  • 89 сообщений
  •  

Отправлено

Может кто-нибудь помочь с переносом из одного домика Элианоры в другой ее же домик купели для снятия зачарований?

Ну или хотя бы объяснить, как это сделать. Долго очень уже мучаюсь и никак не получается...



#409 Ссылка на это сообщение werr

werr
  • больной на всю голову

  • 1 621 сообщений
  •    
Наш автор

Отправлено

Внес изменения в скрипт (внесение изменения в скрипт прошли без ошибок), далее опробовал в игре и увидел две проблемы: 
1) Внесения изменения в скрипт возвращают проблему с "серым экраном" (думаю не нужно писать, как это происходит) 
2) Внесения изменения в скрипт добавляют всем NPC при смерти визуальный эффект из заклинания, который просаживает фпс.


Немного о внесенных правках:
Я показал внесенные изменения человеку, который до этого правил этот скрипт.
Цитирую: "ну для NPC работает, а он вроде продублировал тот же код, что для npc, только вписал игрока... интересно какой смысл, если переменная victim применима как npc, так и к игроку - т.е. к любому, кто попал под действие заклинания."

Ну касательно игрока... Твой скрипт и ванильный скрипт различаются. В твоем скрипте с IF и ENDIF накосячено переделано, и получилось, что игрок не упоминается совсем. Т.е. когда происходит ивент умирания, к victim-у, если это не игрок применяются команды, а если victim имеет значегие игрок, то ничего не происходит. В ванильном скрипте такого нет. 

 

Я потыкал ванильный скрипт, в общем, было довольно сложно себя убить этим заклинанием, ибо окружающие умирают быстрее и, притом, неистово хилят игрока. Но один раз все-таки получилось себя убить и у меня тоже был серый экран.  пока что хз что это, и почему игра не прекращается.



#410 Ссылка на это сообщение Dimonoider

Dimonoider
  • Картошечка


  • 4 332 сообщений
  •    
Наш автор

Отправлено

Тогда лучше обходными путями не давать игроку помереть. Просто же все.



#411 Ссылка на это сообщение GOLDEN KINDER

GOLDEN KINDER
  • Скиталец
  • 43 сообщений
  •  

Отправлено

Тогда лучше обходными путями не давать игроку помереть. Просто же все.

Дело в том, что мне нужно, что бы ГГ мог заразиться от NPC, а в последствии умереть, если у него было мало хп. (напомню, ГГ будет иметь иммунитет, если он является вампиром. Опять же повторяюсь, что это заклинание будет резонно использовать именно вампиру)


Сообщение отредактировал GOLDEN KINDER: 13 Апрель 2016 - 13:24


#412 Ссылка на это сообщение GOLDEN KINDER

GOLDEN KINDER
  • Скиталец
  • 43 сообщений
  •  

Отправлено

Я потыкал ванильный скрипт, в общем, было довольно сложно себя убить этим заклинанием, ибо окружающие умирают быстрее и, притом, неистово хилят игрока.

Угу, есть такая проблема в дефолтном заклинании. Я это исправил. Вот скрины моего заклинания:

 

А по поводу серого экрана... Попробую описать ситуацию, как вижу её я: Наш ГГ умирает (от заражения NPC), тело падает и одновременно исчезает. Вместо тела появляется черная жижа (останки призрака) и тут же после этого, моментально появляется серый экран. Возможно причина серого экрана в исчезновении физической оболочки (тела), из-за которой некуда привязать игровую камеру. Опять же, если вместо дефолтного скрипта использовать тот, который выложил я (в этом скрипте ГГ не превращается в черную жижу), то в этом случае происходит обычная смерть без серого экрана, но я хочу добиться того, что бы ГГ ничем не отличался от NPC в плане смерти (т.е. падал, превращался в прах, и т.д. без серого экрана).
 

Вообще, дефолтное заклинание использует несколько файлов: (вдруг кому пригодиться)


 


Сообщение отредактировал GOLDEN KINDER: 13 Апрель 2016 - 13:35


#413 Ссылка на это сообщение Dimonoider

Dimonoider
  • Картошечка


  • 4 332 сообщений
  •    
Наш автор

Отправлено

 

 

А шейдер срабатывает на игроке?

Ибо ты выставил альфу 0.0. А это делает шейдеры бесполезными.Они не отображаются тупо. А вотесли 0.1. к примеру. То шейдер работает в полной мере. Не ручаюсь правда за порядок альфа-> шейдер или шейдер->альфа.



#414 Ссылка на это сообщение GOLDEN KINDER

GOLDEN KINDER
  • Скиталец
  • 43 сообщений
  •  

Отправлено

А шейдер срабатывает на игроке?

Ибо ты выставил альфу 0.0. А это делает шейдеры бесполезными.Они не отображаются тупо. А вотесли 0.1. к примеру. То шейдер работает в полной мере. Не ручаюсь правда за порядок альфа-> шейдер или шейдер->альфа.

Если ты о кейворде "ActorTypeUndead", то да. Все работает. Если ГГ является вампиром, то он не восприимчив на эффект заклинания.


Сообщение отредактировал GOLDEN KINDER: 13 Апрель 2016 - 13:55


#415 Ссылка на это сообщение Dimonoider

Dimonoider
  • Картошечка


  • 4 332 сообщений
  •    
Наш автор

Отправлено

Если ты о кейворде "ActorTypeUndead", то да. Все работает. Если ГГ является вампиром, то он не восприимчив на эффект заклинания.

Нет, я не о кейворде-_-

Но у разрабов именно такая конструкция, хотя и странновато.

В таком случае попробуй банально накинуть альфу на игрока и под ноги ему кинуть кучку пепла



#416 Ссылка на это сообщение GOLDEN KINDER

GOLDEN KINDER
  • Скиталец
  • 43 сообщений
  •  

Отправлено

В таком случае попробуй банально накинуть альфу на игрока и под ноги ему кинуть кучку пепла

Можно чуть-чуть поподробнее?) Как именно это сделать? (Я в некотором роде чайник. CK познавал из видео-уроков и различных статей)


Сообщение отредактировал GOLDEN KINDER: 13 Апрель 2016 - 13:53


#417 Ссылка на это сообщение Dimonoider

Dimonoider
  • Картошечка


  • 4 332 сообщений
  •    
Наш автор

Отправлено

Можно чуть-чуть поподробнее?) Как именно это сделать? (я в некотором роде чайник. CK познавал из видео уроков и различных статей)

В общем вместо того чтобы присоеденять игроку пепел. """game.getPlayer().AttachAshPile(pDefaultAshPileGhost)"""

Можно просто поместить модель этого "пепла" в точку где там невидимое тело игрока плюхнется.

Вверху скрипта сделай:
Activator property YourAshPile auto

 

Далее вместо game.getPlayer().AttachAshPile(pDefaultAshPileGhost)

Game.GetPlayer().PlaceAtMe(YourAshPile)

Проверил, анимация появления кучки сработает вместе с ее появлением, и специально их запускать не потребуется

Это должно убрать серый экран поскольку технически тело игрока осталось телом игрока, а ты лишь сделал его невидимым.



#418 Ссылка на это сообщение GOLDEN KINDER

GOLDEN KINDER
  • Скиталец
  • 43 сообщений
  •  

Отправлено

Далее вместо game.getPlayer().AttachAshPile(pDefaultAshPileGhost)

Game.GetPlayer().PlaceAtMe(YourAshPile)

Немного не понял с заменой. В скрипте нет строчки game.getPlayer().AttachAshPile(pDefaultAshPileGhost) (Для теста взял текст дефолтного скрипта).


Сообщение отредактировал GOLDEN KINDER: 13 Апрель 2016 - 14:33


#419 Ссылка на это сообщение Dimonoider

Dimonoider
  • Картошечка


  • 4 332 сообщений
  •    
Наш автор

Отправлено

Немного не понял с заменой. В скрипте нет строчки game.getPlayer().AttachAshPile(pDefaultAshPileGhost) (Для теста взял текст дефолтного скрипта).

Я говорил про тот скрипт который тебе werr дописал)

Там отдельно вынесено условие если виктим игрок.



#420 Ссылка на это сообщение GOLDEN KINDER

GOLDEN KINDER
  • Скиталец
  • 43 сообщений
  •  

Отправлено

:D:  :D:  :D: 
Понял)) Сейчас все изменю))



#421 Ссылка на это сообщение GOLDEN KINDER

GOLDEN KINDER
  • Скиталец
  • 43 сообщений
  •  

Отправлено

Опробовал. Серый экран не исчез(