Перейти к содержанию

Рекомендуемые сообщения

Опубликовано
25.01.2017 07:52:53, katkat74 сказал(-а):
Нормально он генерирует

Поясню немного, почему у меня такие опасения. Как известно, в игре часто встречаются летающие объекты (камни, деревья). Соответственно, чтобы это вылечить, нужно их опускать вручную до нужной глубины. Глубина для каждого объекта своя. Поэтому я и думаю, что ожидать от генерации хорошего результата не стоит и много придется править самому. Я, конечно, проверю это все. По крайней мере попытаюсь.

Опубликовано
25.01.2017 08:45:08, Ed101 сказал(-а):

Поясню немного, почему у меня такие опасения. Как известно, в игре часто встречаются летающие объекты (камни, деревья). Соответственно, чтобы это вылечить, нужно их опускать вручную до нужной глубины. Глубина для каждого объекта своя. Поэтому я и думаю, что ожидать от генерации хорошего результата не стоит и много придется править самому. Я, конечно, проверю это все. По крайней мере попытаюсь.

Много ли таких объектов? Я за все время своей дружбы с обливионом только один камень видела. В этих регионах настроено, какой объект на сколько может быть погружён в землю, насколько наклонен в сторону и на каком уклоне может расти, а также варианты его размера,  промежуток высоты на котором он встречается и т.д. Под крупными объектами этот генератор рисует особые текстуры земли и накладывает затемнение на ландшафт имитируя тени. Да вы замаетесь даже на маленьком участке все это воссоздать в ручную. Очень много параметров, если создавать регион с нуля то это очень сложно. А уже готовый бери и генерируй, ничего сложного и результат отличный ни чем от лесов и полей ванильной игры не отличается.  Конечно если вам нужно будет расставить там домики и провести дороги то все эти сгенерированные объекты с нужных мест нужно будет удалить и текстуры земли изменить.. но ломать - не строить :) Сейчас озадачилась созданием региона из собственных моделей, вот это уже мозголомка.. ниче не понимаю, туториалов нет :)

Опубликовано (изменено)
25.01.2017 09:31:31, katkat74 сказал(-а):
Да вы замаетесь даже на маленьком участке все это воссоздать в ручную

Вот и я задолбался слегка, поэтому стал искать пути упрощения. Но, боюсь, генератор не сделает мне такой лес:

aARos.jpg

Еще вот мне подсказали использовать Object palette, но вот беда, не работает в ней функция Sink, которая отвечает за высоту размещения объектов. А так бы с ней вообще было бы идеально. Может кто сталкивался с такой бедой?

Изменено пользователем Ed101
Опубликовано
25.01.2017 15:35:31, Ed101 сказал(-а):
Object palette

Не пользовалась, интересно стало. А у вас есть какая нибудь информация по этой функции? Ну кроме того что я могу сохранять свои наборы и видеть объект :)

Опубликовано (изменено)
25.01.2017 16:51:26, katkat74 сказал(-а):
А у вас есть какая нибудь информация по этой функции?

Вот для Creation Kit видео, но в CS все аналогично работает. Проверьте, работает ли у вас функция Sink, очень мне интересно.

Изменено пользователем Ed101
  • Нравится 1
Опубликовано
26.01.2017 02:59:35, Ed101 сказал(-а):

Вот для Creation Kit видео, но в CS все аналогично работает. Проверьте, работает ли у вас функция Sink, очень мне интересно.

Спасибо огромное! А я уже все кнопки перепробовала! Вечером протестирую sink

Опубликовано
24.01.2017 20:07:43, Takirell сказал(-а):
Не в курсе - есть ли где-то видео урок на эту тему?

 

http://tesall.ru/videos/view-379-construction-set-9-redaktirovanie-landshafta/   Это не то?

 

22.01.2017 15:58:12, Takirell сказал(-а):
Palette Object

 

Это где? я что-то не нашла..  :olen:


25.01.2017 16:51:26, katkat74 сказал(-а):
Не пользовалась, интересно стало.

+1

0e36bc18048d9fcc300f326cc927b20a.gif

Опубликовано

у меня тоже вопрос есть. :blush2:

 

Созданной копии игрока можно добавить диалоги? Я присвоила ref-переменной копию, скриптом добавляю ей топик - не реагирует.  Сделала "костыль" в виде добавляемого в инвентарь копии предмета и проверки его наличия в инвентаре в топике - «молчит, зараза...» (c). Вернее, не совсем молчит, слухи-то генерирует, но не больше. Ни приветствие, ни топик не желает говорить.

0e36bc18048d9fcc300f326cc927b20a.gif

Опубликовано (изменено)
26.01.2017 09:27:32, Laion сказал(-а):

у меня тоже вопрос есть. :blush2:

 

Созданной копии игрока можно добавить диалоги? Я присвоила ref-переменной копию, скриптом добавляю ей топик - не реагирует.  Сделала "костыль" в виде добавляемого в инвентарь копии предмета и проверки его наличия в инвентаре в топике - «молчит, зараза...» (c). Вернее, не совсем молчит, слухи-то генерирует, но не больше. Ни приветствие, ни топик не желает говорить.

Вы все верно сделали, положив специальный итем(Токен) в инвентарь к клону. Однако, необходимо создать доп. квест, а в нем и топики с проверкой на предмет. Квест должен работать всегда и\или включаться после того, как будет создан клон.
Кстати в этот же квест стоит добавить GREETING, в который необходимо внести проверки на наличие итема. Ах да! Приоритет квеста обязательно выставить 100, в противном случае игра будет скипать подобные изменения.
Примерно так это выглядит:

Спойлер
GKfE8-8wP7w.jpg
Изменено пользователем Takirell
  • Нравится 1

Ничто не истинно, все потрачено

Опубликовано
26.01.2017 10:03:18, Takirell сказал(-а):

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

 

О, спасибо! Что-то про доп.квест я не подумала :)

 

И еще один вопрос, можно? :girl_blush2:

 

Имеется два  триггера. Один  при активации переносит во вновь созданную локацию, второй -  "выносит" обратно.

Первый  работает без проблем.

Второй - при вхождении в зону триггера начинается "дрожжание", зависание, и в итоге - выносит из игры совсем.

 

Сначала у меня был один скрипт на оба тргиггера, с использованием переменной из скрипта переменных, то есть, после срабатывания триггера в первый раз скриптовой переменной присваивалась 1 и срабатывал перенос к маркеру, назовем его Ref1, далее был return и проверка с начала. Если значение скриптовой переменной == 1, то перенос происходит уже к маркеру Ref2, а переменной присваивается значение 2.  

Первый триггер срабатывал, - второй - нет.

Изменила скрипт, разделила на два отдельных.  Каждому триггеру присвоила свой, который при активации должен переносить к определенному маркеру. Все осталось так же - первый срабатывает, второй - нет. 

Убрала второй триггер, поставила скрипт на дверь. ПРи активации двери скрипт срабатывает,  перенося к требуемому маркеру. Почему не работает триггер?

0e36bc18048d9fcc300f326cc927b20a.gif

Опубликовано (изменено)
26.01.2017 10:17:20, Laion сказал(-а):

О, спасибо! Что-то про доп.квест я не подумала :)

 

И еще один вопрос, можно? :girl_blush2:

 

Имеется два  триггера. Один  при активации переносит во вновь созданную локацию, второй -  "выносит" обратно.

Первый  работает без проблем.

Второй - при вхождении в зону триггера начинается "дрожжание", зависание, и в итоге - выносит из игры совсем.

 

Сначала у меня был один скрипт на оба тргиггера, с использованием переменной из скрипта переменных, то есть, после срабатывания триггера в первый раз скриптовой переменной присваивалась 1 и срабатывал перенос к маркеру, назовем его Ref1, далее был return и проверка с начала. Если значение скриптовой переменной == 1, то перенос происходит уже к маркеру Ref2, а переменной присваивается значение 2.  

Первый триггер срабатывал, - второй - нет.

Изменила скрипт, разделила на два отдельных.  Каждому триггеру присвоила свой, который при активации должен переносить к определенному маркеру. Все осталось так же - первый срабатывает, второй - нет. 

Убрала второй триггер, поставила скрипт на дверь. ПРи активации двери скрипт срабатывает,  перенося к требуемому маркеру. Почему не работает триггер?

Блок OnTrigger срабатывает не единожды, как написано в OSFM, а каждый фрейм. От того Вас так и колбасит. Необходимы доп. условия + проверки на расстояние между триггером и игроком, дабы сбрасывать переменные на первоначальные значения.
Если переносите игрока через MoveTo - помните, что данная функция работает точно также, как и Return. Это действует только на игроке.
На сколько я понимаю, Вы хотите сделать вход-выход, как в пещерах Скайрима? Без дверей?

Изменено пользователем Takirell

Ничто не истинно, все потрачено

Опубликовано

Return  я добавила уже после того, как просто с MoveTo  было то же самое - пыталась найти причину зависания.

 

 

26.01.2017 10:19:32, Takirell сказал(-а):
вход-выход, как в пещерах Скайрима? Без дверей?

 

Примерно так, да.

0e36bc18048d9fcc300f326cc927b20a.gif

Опубликовано
26.01.2017 10:23:30, Laion сказал(-а):

Return  я добавила уже после того, как просто с MoveTo  было то же самое - пыталась найти причину зависания.

Примерно так, да.

Пожалуйста, потерпите до вечера, у меня есть готовый скрипт-триггер на этот случай. Скину потом сюда, как освобожусь. Заодно и поясню некоторые моменты, если, конечно, они Вам будут нужны.

  • Нравится 1

Ничто не истинно, все потрачено

Опубликовано
26.01.2017 10:19:32, Takirell сказал(-а):
Блок OnTrigger срабатывает не единожды, как написано в OSFM, а каждый фрейм.

 

я не знала этого.  :shok:    А сами переводчики учебника знают, интересно? 

0e36bc18048d9fcc300f326cc927b20a.gif

Опубликовано
26.01.2017 10:37:36, Laion сказал(-а):

я не знала этого.  :shok:    А сами переводчики учебника знают, интересно? 

Ну, если говорить точнее, он срабатывает каждый фрейм ровно до тех пор, пока персонаж находиться в триггере.
Вряд ли знают, да и им уже все равно, ибо последняя дата правок была в далеком 2008 году.
Итак, я вернулся. Пока бродил по городу, в голову пришло "копье" в виде мысли относительно Вашей задумки, и заключается она в следующем.
Можно, конечно, изощряться с триггерами и т.д, а можно сделать иначе.
1). Создаем дверь (можно даже невидимую, выбрав меш null.nif. Вешаем на неё скрипт с проверкой на дистанцию (где-то 256 юнитов - достаточно). После чего размещаем в мире (куда-нибудь под текстуры, если дверь "видимая"), даем RefID и ставим Persistent Reference.
Далее в скрипте будет что-то типа того:

Short GetIn

Begin GameMode
if GetInSameCell PlayerRef != 1
Return
Endif

if GetDistance PlayerRef <= 256 && GetIn == 0
Let GetIt := 1
Elseif GetDistance PlayerRef <= 256 && GetIn != 0
Activate PlayerRef, 1
Let GetIn := 0
Endif
End

В этом методе работоспособность не проверял.
Маркера дверей (желтые такие), расставлять чуть дальше от самих дверей (дабы не покрывать радиус действия скрипта).
2). Как я и говорил, присылаю образцы скриптов:
Скрипт на вход:

Short SUS
Short Button
Short Index
Ref OutMarker
Ref InMarker

Begin OnTrigger PlayerRef
if SUS < 1
  Let OutMarker := xmoutref
  Let InMarker := xminref
  Let SUS := 1
  MessageBox "Вы видите перед собой небольшую расщелину в камнях. Вероятнее всего, она куда-то вас приведет. Вы хотите пролезть между камнями?" "Да", "Нет"
Endif 
End

Begin GameMode
if GetDistance PlayerRef > 500 && SUS == 1
  Let SUS := 0
Endifif SUS == 1
  Let Index := 1
Endifif Index == 1
  Let Button := GetButtonPressed
  Let Index := 2
Endifif Button == 0 && Index == 2 && SUS == 1
  PlayerRef.MoveToMarker InMarker
  Let Index := 3
  return
Elseif Button == 1 && Index == 2 && SUS == 1
  PlayerRef.MoveToMarker OutMarker 
  Let Index := 3
  return
Endif
End

Скрипт на выход:

Short SUS
Short Button
Short Index
Ref OutMarker
Ref InMarker

Begin OnTrigger PlayerRef
if SUS < 1
  Let OutMarker := xmoutref
  Let InMarker := xminref
  Let SUS := 1
  MessageBox "Выйти из пещеры?" "Да", "Нет"
Endif 
End

Begin GameMode
if GetDistance PlayerRef > 500 && SUS == 1
  Let SUS := 0
Endifif SUS == 1
  Let Index := 1
Endifif Index == 1
  Let Button := GetButtonPressed
  Let Index := 2
Endifif Button == 0 && Index == 2 && SUS == 1
  PlayerRef.MoveToMarker OutMarker
  Let Index := 3
  Return
Elseif Button == 1 && Index == 2 && SUS == 1
  PlayerRef.MoveToMarker InMarker 
  Let Index := 3
  Return
Endif
End

Скрипт принадлежит юзеру под ником "Sobakapppoe", а я его лишь немного доработал.

  • Нравится 1

Ничто не истинно, все потрачено

Опубликовано
26.01.2017 14:56:10, Laion сказал(-а):

Интересно.. :good2:   Но тогда ведь появится значок двери?

Вы можете поставить флажок "Hidden" в опциях самой двери, все равно придется создавать новую.

  • Нравится 1

Ничто не истинно, все потрачено

Опубликовано
26.01.2017 14:59:08, Laion сказал(-а):

спасибо, попробую :)

Всегда рад помочь. Перечитайте пожалуйста мой первый пост на эту тему (где я привел пример нового скрипта с дверью), я отредактировал его и добавил скрипты по Вашей просьбе, на триггеры.

  • Нравится 1

Ничто не истинно, все потрачено

Опубликовано
26.01.2017 14:49:45, Takirell сказал(-а):
Скрипт принадлежит юзеру под ником "Sobakapppoe" не мой, я его лишь немного доработал.

 

Спасибо)) и Гарику тоже))

  • Нравится 1

0e36bc18048d9fcc300f326cc927b20a.gif

Опубликовано
28.01.2017 04:40:05, Ed101 сказал(-а):

Ну как, удалось протестировать функцию?

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

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйте новый аккаунт в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
×
×
  • Создать...