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

Фотография

TES V CreationKit


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

#861 Dogma

Dogma

    СПЕЦИАЛИСТ

  • Модератор
  • 1 533 сообщений

Отправлено 22 Ноябрь 2017 - 16:04


MyQuest. Start() не подхватывает.

Если не запускается, значит проблемы с самим квестом. Start() стандартная функция запуска квеста. Еще можно включить стадию квеста, что его автоматически запустит, но результат будет тот что и с Start(), потому как у тебя видимо проблемы в самом квесте.

Вот на вскидку, что у тебя может быть.

- Один из алиасов не заполнен. Если алиасы заполняются по ходу квеста, надо ставить флаг optional.

- Может стоять способ запуска квеста через sm event node(change location, script и тд.) , что не даст запустить его другими способами.


  • DER2 это нравится

#862 EFA2

EFA2

    Мимо проходил

  • Прохожие
  • 3 сообщений

Отправлено 14 Декабрь 2017 - 14:40

Приветствую всех! Подскажите чайнику) 

В СК не удается скомпилировать моды с SexLab.  Пробовал несколько сборок и оригинал игры. 

Смысл примерно такой:

 
D:\Games\The Elder Scrolls V Skyrim Special Edition\Data\Scripts\Source\Actor.psc(2,5): required (...)+ loop did not match anything at input '['
D:\Games\The Elder Scrolls V Skyrim Special Edition\Data\Scripts\Source\Actor.psc(5,27): no viable alternative at input 'new'
D:\Games\The Elder Scrolls V Skyrim Special Edition\Data\Scripts\Source\Actor.psc(5,47): required (...)+ loop did not match anything at input '['
D:\Games\The Elder Scrolls V Skyrim Special Edition\Data\Scripts\Source\Actor.psc(5,19): Unknown user flag sslBaseAnimation

или такой:

D:\Games\SkySex 4\Data\Scripts\Source\atest.psc(18,19): unknown type sslbaseanimation[]
D:\Games\SkySex 4\Data\Scripts\Source\sslSystemLibrary.psc(7,25): unknown type sslactorlibrary
D:\Games\SkySex 4\Data\Scripts\Source\sslSystemLibrary.psc(8,26): unknown type sslthreadlibrary
D:\Games\SkySex 4\Data\Scripts\Source\sslSystemLibrary.psc(9,23): unknown type sslactorstats
D:\Games\SkySex 4\Data\Scripts\Source\sslSystemLibrary.psc(12,24): unknown type sslthreadslots
D:\Games\SkySex 4\Data\Scripts\Source\sslSystemLibrary.psc(13,27): unknown type sslanimationslots
D:\Games\SkySex 4\Data\Scripts\Source\sslSystemLibrary.psc(14,35): unknown type sslcreatureanimationslots
D:\Games\SkySex 4\Data\Scripts\Source\sslSystemLibrary.psc(15,23): unknown type sslvoiceslots
D:\Games\SkySex 4\Data\Scripts\Source\sslExpressionSlots.psc(11,30): unknown type sslbaseexpression[]

Сам код (взят с этой сайта в топике про обучение)

 
actor[] sexActors = new actor[2]; создаем массив с двумя актерами
sexActors[0] = Game.GetPlayer(); 1 актер
sexActors[1] = akSpeaker; 2 актер
sslBaseAnimation[] anims = new sslBaseAnimation[1]; делаем массив с 1-м элементом
sslBaseAnimation[0] = SexLab.GetAnimationByName("LeitoMissionary"); заполняем его нужной анимацией
SexLab.StartSex(sexActors, anims)

Что пробовал:

1.Разделитель поменял на точку.

2.SL framework, SKSE, FNIS, SkIU установлены. Пробовал вручную и предустановленные в сборке игры - разницы по результату нет.

3.Пробовал компилировать 100% рабочие коды из установленных модов - тоже самое.

4.Пробовал несколько версий СК.

 

Подскажите, что я делаю не так?  :)



#863 tseug

tseug

    MASTER

  • Специалист
  • 388 сообщений

Отправлено 14 Декабрь 2017 - 15:21

С scse скрипты видимо забыл подцепить.

#864 Майк

Майк

    Хранитель Тайных Знаний

  • Специалист
  • 960 сообщений

Отправлено 14 Декабрь 2017 - 17:46

Когда я компилил какие-нибудь вещи, то удачно было только когда исходники лежали в самом скайриме, из-под ModOrganizer никакие шаманства не запускали. Еще полезно компилить из блокнота++, есть в сети туторы по его настройке, получается быстрее чем в СК. И всегда лучше передавать не какой-то смысл, а реальную ошибку, так гадать проще.



#865 fedim

fedim

    Мастер

  • Специалист
  • 381 сообщений

Отправлено 14 Декабрь 2017 - 18:26

Судя по  путям - это SSE.

Тот ли SexLab используется?

В SexLab_Light_SE__0_1_1 пути прописаны по-другому.



#866 EFA2

EFA2

    Мимо проходил

  • Прохожие
  • 3 сообщений

Отправлено 14 Декабрь 2017 - 21:15

Судя по  путям - это SSE.

Тот ли SexLab используется?

В SexLab_Light_SE__0_1_1 пути прописаны по-другому.

Я использую SexLab Framework 1.62



#867 EFA2

EFA2

    Мимо проходил

  • Прохожие
  • 3 сообщений

Отправлено 14 Декабрь 2017 - 21:16

Пожалуйста Войдите или Зарегистрируйтесь чтобы увидеть скрытый текст

,

Спасибо за информацию. Сейчас проверю.  



#868 fedim

fedim

    Мастер

  • Специалист
  • 381 сообщений

Отправлено 14 Декабрь 2017 - 23:25

Я использую SexLab Framework 1.62

 

А работает ли она на SSE?



#869 DER2

DER2

    Исследователь

  • Постояльцы
  • 104 сообщений

Отправлено 30 Декабрь 2017 - 13:10

Нужен скрипт, который бы запускал событие или активацию, когда запущено уже 5 событий. Стреляешь по 6 мишеням и включаешь событие. Но после каждого выстрела запускается минисобытие, а после 6 большое.



#870 Dogma

Dogma

    СПЕЦИАЛИСТ

  • Модератор
  • 1 533 сообщений

Отправлено 30 Декабрь 2017 - 14:29

Слишком мало информации даешь. Трудно понять что ты конкретно хочешь, многие вещи можно сделать разными способами, смотря какая ситуация.
Прежде всего, тебе нужна глобальная переменная которая будет счетчиком попаданий, glovalvariable или в квесте создать проперти. Лучше всего второе, если цели у тебя в алиасах, чтобы не добавлять property в скрипт.
Я табе напишу на примере обычной проперти. Допустим есть квест myquest, вешаешь на него скрипт myscript(если нет), если есть просто добавь туда проперти. Не стандартный квестовый скрипт, который автоматом создается, а отдельный.
Int Property myproperty auto
Передположу, что у тебя цели в алиасах заполнены. Надо написать скрипт и поверить его на все эти алиасы.

Event OnHit(ObjectReference akAggressor, Form akSource, Projectile akProjectile, bool abPowerAttack, bool abSneakAttack, bool abBashAttack, bool abHitBlocked)
if akAggressor == ?;тот кто должен стрелять
if ?;тут можно написать все условия, которые должны быть соблюдены
(GetOwningQuest() as myscript).myproperty += 1;с каждым выстрелом увеличиваем наш счетчик попаданий
if (GetOwningQuest() as myscript).myproperty == 1
;event 1
ElseIf (GetOwningQuest() as myscript).myproperty == 2
;event 2
ElseIf (GetOwningQuest() as myscript).myproperty == 3
;event 3
ElseIf (GetOwningQuest() as myscript).myproperty == 4
;event 4
ElseIf (GetOwningQuest() as myscript).myproperty == 5
;event 5
ElseIf (GetOwningQuest() as myscript).myproperty == 6
;event 6
EndIf
EndIf
endif
endevent

Например, если у тебя событие это сцена, и ты хочешь чтобы оно следующее событие не запустилось, пока не проигралось персое, то надо добавить дополнительный блок.
Можно каждую сцену проверять, но проще проверить участвует ли игрок в сцене.
if !game.GetPlayer().GetCurrentScene()
;Если игрок учавствует в сцене этот блок не запустится
EndIf
Если в событии учавствует не игрок, а кто-то другой, ставь его реф вместо игрока. Если это не сцена а что-то другое, просто добавь дополнительную переменную
Bool Property myproperty2 auto
И ставь ее в True в начале события, и False в конце. А в скрипте првоеряй

if myproperty2
;блок не запустится
EndIf

Если что-то не понятно, спрашивай.
  • DER2 это нравится

#871 DER2

DER2

    Исследователь

  • Постояльцы
  • 104 сообщений

Отправлено 30 Декабрь 2017 - 15:36

Благодарен за скрипт :).

События маленькие, а именно появляется через Enable() эффект от попадания. Но их можно повесить на Ref отдельно. В остальном скрипт подходит как под данную задачу, так и под следующую со сценой.

 

Можно ли повесить эффект незначительной тряски земли вне сцены? При смене стадии квеста, например.


Сообщение отредактировал DER2: 30 Декабрь 2017 - 15:42


#872 Dogma

Dogma

    СПЕЦИАЛИСТ

  • Модератор
  • 1 533 сообщений

Отправлено 30 Декабрь 2017 - 16:05

Тебе нужно именно земли, чтобы персонажи подкашивались? Или встряска экрана? Если второе
game.ShakeCamera(ObjectReference akSource = None , float afStrength = 0.5 , float afDuration = 0.0)
akSource - цент встряски
afStrength - сила, от 0.0 до 1.0
afDuration - длительность эффекта
Если тебе надо чтобы персонажи подкашивались
KnockAreaEffect(float afMagnitude, float afRadius)
afMagnitude - сила, от 0.0 до 1.0
afRadius - радиус в котором работает эффект
например пишем
game.getplayer().KnockAreaEffect(1.0, 1000.0)
будет означать, что вокруг персонажа все в радиусе 1000.0(приблизительно 10-15 метров), будут подвергнуты эффекту. На самого персонажа, так как он является источником эффекта, сам эффект распространяться не будет.
  • DER2 это нравится

#873 DER2

DER2

    Исследователь

  • Постояльцы
  • 104 сообщений

Отправлено 30 Декабрь 2017 - 16:24

Земли, от движения лифта. Спасибо   :)


Сообщение отредактировал DER2: 30 Декабрь 2017 - 16:26