Garden of Eden Creation Kit - 2 ч. - один из самых важных отделов нашей Мастерской. Перечень вопросов огромен, проще написать о чём здесь спрашивать нежелательно. Не нужно спрашивать про скрипты, про NifSkope, работу в 3D и графических редакторах.
Смотри свою проблему в Картотеке, Пред тем, как в теме свой вопрос задать, Возможно, там уже и есть ответы, Которые тебе хотелось знать.
Если вместо ГЕККа запускается белый экран - это из-за ENBшного d3d9.dll в папке игры. Если после одного из обновлений винды при попытке редактирования лица перса или попытке открыть любое оружие стала выскакивать вот такая надпись Assert File: C:\projects\fallout3PC\BSShader\BSShaderManager.cpp(пути могут различаться) Line: 1996 После чего ГЕКК сворачивается. Вопрос решатся запуском ГЕКК через основную игровую видюху. Установленная по умолчанию в настройках интегрированная выдаёт такую ошибку.
Здравствуйте. Подскажите, пожалуйста, как сделать так, чтобы то или иное оружие можно было проносить в казино (Оружие скрытого ношения). Где параметр или скрипт, который за это отвечает. Искал, но не нашел.
Ориентироваться можно по такому принципу - в окне Cell View есть два маленьких окна ввода X и Y а рядом кнопка GO Если ввести в окнах 0 и 0 и нажать GO - откроется часть мира вокруг центра Если 0 и положительное число (например 12) - откроется часть мира выше центра - вверх 0 и отрицательное число (например - 12) - вниз. 0 и -1 -на одну ниже центра, 0 и -10 на 10 ниже центра Отрицательное число (например -12) и 0 - влево на 12 от центра Положительное число (например 12) и 0 - вправо на 12 от центра Например -32 и -32 - нижний левый угол, а -32 и 32 - верхний левый угол, а 32 и 32 верхний правый угол и тп. Если мир 32 на 32 ячейки. Ещё как вариант можно разложить в некоторых ячейках объекты с ID именами AAAAцентр, AAAAверх, AAAAниз, и тп. в нужных (ключевых) местах мира. А потом через правый клик в списке окна Object Window перескакивать в нужные ячейки - Use Info Пока.
KAIN48, хм, а можно ли как-нибудь изменить координату построеной локации? Есть лока с координатой -3;2 а я хочу чтобы она была скажем 16;3. И для чего нужны координаты в настройке мира? Я правильно понимаю, что благодаря им центр сместится?
Изменение репутации для пользователя FuriousFighter
ITU, на мой взгляд проблема со скриптом. Там явно чего-то не хватает, на мой взгляд. Никогда не делал собственную систему крафтинга, но попробуй прописать сам активатор в скрипт. Рецепты правильны.
Изменение репутации для пользователя ITU
ITUOffline
Сообщение №1035
написано: 7 июля 2012, 19:53
| Отредактировано: ITU - 8 июля 2012, 10:12
"Навыков всех NPC сразу" не существует, так как у многих стоит PC Level Mult. Для остальных в окне объектов это есть в виде класса и уровня. Только оффсетов нет, но они редко используются.
Добавлено (18.07.2012, 13:57) --------------------------------------------- Вновь имеются вопросы: 1) Какую команду нужно вставить в result script диалога, чтобы потемнел экран? 2) Возможно ли сделать квест (не маркированный), чтобы он завершался после того как ГГ покалечит, например, 10 задних лап когтям смерти?
Изменение репутации для пользователя tundruck73
tundruck73Offline
Сообщение №1039
написано: 18 июля 2012, 11:06
| Отредактировано: tundruck73 - 18 июля 2012, 13:49
Вис, что касается первого вопроса, то можно так: ApplyImageSpaceModifier FadeToBlackAndBackISFX Но он темнеет ненадолго, если хочешь "растянуть удовольствие", лучше создать на базе этой "затемнялки" свою с более длительной продолжительностью. А вот насчет второго вопроса не знаю
Мосье, же не манж па сис жур... Умер 23.04.2019
Изменение репутации для пользователя JupiterJour
JupiterJourOffline
Сообщение №1040
написано: 18 июля 2012, 12:55
| Отредактировано: Joopeeter - 18 июля 2012, 13:03
Возможно ли сделать квест (не маркированный), чтобы он завершался после того как ГГ покалечит, например, 10 задних лап когтям смерти?
Ну, первым делом надо завести в этом квесте переменную типа short для подсчёта отдавленных лап. А вот дальше... В третьем фолле я бы раздал несчастным обладателям лап скрипт с блоком OnHit, в котором увеличивал бы счётчик на единицу при повреждении лапы именно игроком. В NV OnHit как-то переиначили, так что неясно, как определять факт попадания одного актёра в другого. Можно ещё через эффект. Делается базовый эффект со скриптом:
Begin ScriptEffectStart if [счётчик лап]<10 set [счётчик лап] to [счётчик лап]+1 elseif [счётчик лап]==10 set [счётчик лап] to [счётчик лап]+1 StopQuest [членовредительский квест] ;Здесь раздаются плюшки и делается всё, что должно быть сделано при завершении этого квеста End
На его основе делается актор-эффект с условием LeftMobilityCondition==0 OR RightMobilityCondition==0. Или отдельные эффекты на правую и левую лапу. Эффекты раздаются при запуске членовредительского квеста и отбираются при его остановке. При этом нельзя отследить, кто именно нанёс удар, повредивший конечность. Можно попробовать использовать player.GetCombatTarget, но там какие-то ограничения по расстоянию. Ещё в NV, если мне не изменяет память, есть всякие способности, выдаваемые типа за "1000 раз поковырять в носу". Можно покопаться, может, есть что-то похожее.
В третьем фолле я бы раздал несчастным обладателям лап скрипт с блоком OnHit, в котором увеличивал бы счётчик на единицу при повреждении лапы именно игроком.
Мне на 3 фолл тоже нужно.
Изменение репутации для пользователя JupiterJour
JupiterJourOffline
Сообщение №1042
написано: 18 июля 2012, 15:37
| Отредактировано: Joopeeter - 18 июля 2012, 16:54
[Счётчик лап] - это та переменная short в квестовом скрипте, в которой хранится количество повреждённых конечностей. Как объявлять переменные - см. учебник по скриптам OSFM или ГЕКК-вики.
Цитата Вис
Можно поподробнее?
Эффект выдаётся актёру функцией AddSpell. Тут есть нюанс: функция применяется на копии актёра, а эффект добавляется базовому объекту и, следовательно, всем его копиям. Отбирается эффект RemoveSpell или Dispell, впрочем, можно и не отбирать. Версия скрипта с GetCombatTarget:
Code
scn zzScript
ref Target ref Self
Begin ScriptEffectStart
set Self to GetSelf set Target to player.GetCombatTarget
if Self==Target if zzQ.LegsCount<10 set zzQ.LegsCount to zzQ.LegsCount+1 elseif zzQ.LegsCount==10 set zzQ.LegsCount to zzQ.LegsCount+1 StopQuest zzQ ;Здесь раздаются плюшки и делается всё, что должно быть сделано при завершении этого квеста endif endif End
где zzQ - квест, а LegsCount - счётчик лап в нём. Но тут может случиться так, что на больших расстояниях не сработает.
Для Ф3:
Code
scn zzScript2
short DoOnceL short DoOnceR
Begin OnLoad if GetAV LeftMobilityCondition==0 && DoOnceL==0 set DoOnceL to 1 endif if GetAV RightMobilityCondition==0 && DoOnceR==0 set DoOnceR to 1 endif End
Begin OnHit player if GetAV LeftMobilityCondition==0 && DoOnceL==0 set DoOnceL to 1 set zzQ.LegsCount to zzQ.LegsCount+1 endif if GetAV RightMobilityCondition==0 && DoOnceR==0 set DoOnceR to 1 set zzQ.LegsCount to zzQ.LegsCount+1 endif End
Begin OnHit if GetAV LeftMobilityCondition==0 && DoOnceL==0 set DoOnceL to 1 endif if GetAV RightMobilityCondition==0 && DoOnceR==0 set DoOnceR to 1 endif End
Тут может насторожить использование одновременно OnHit и OnHit player, но я проверил - работает. Остановку квеста и раздачу плюшек можно вписать в блок OnHit player с проверкой сколько уже настреляли (if zzQ.LegsCount==10 и т.д.) или вынести в квестовый скрипт (в NV тоже можно вынести в квест).
Помогите пожалуйста с скриптом света. Только не через Ref MyLink.
Code
scn HHLightMainRoomScript
short RunIt Short RunSet Float timer
Begin OnActivate
if HHMainRoomLightREF1.GetDisabled == 1 Set RunSet to 1 Set RunIt to 1 Set Timer to 0 SetOpenState 1 else Playsound3D OBJDLC04LighthouseStop HHMainRoomLightREF1.Disable HHMainRoomLightREF2.Disable HHMainRoomLightREF3.Disable HHMainRoomLightREF4.Disable HHMainRoomLightREF5.Disable HHMainRoomLightREF6.Disable HHMainRoomLightREF7.Disable HHMainRoomLightREF8.Disable HHMainRoomLightREF9.Disable HHMainRoomLightREF10.Disable HHMainRoomLightREF11.Disable HHMainRoomLightREF12.Disable HHMainRoomLightREF13.Disable HHMainRoomLightREF14.Disable HHMainRoomLightREF15.Disable SetOpenState 0 endif end
Begin GameMode
If RunIt == 1
If RunSet == 1 Playsound3D OBJSwitchLights2D HHMainRoomLightREF1.Enable HHMainRoomLightREF3.Enable HHMainRoomLightREF4.Enable Set RunSet to 2
elseif RunSet == 2 && Timer >= .6 Playsound3D OBJSwitchLights2D HHMainRoomLightREF5.Enable HHMainRoomLightREF6.Enable HHMainRoomLightREF7.Enable Set RunSet to 3
elseif RunSet == 3 && Timer >= .5 Playsound3D OBJSwitchLights2D HHMainRoomLightREF12.Enable HHMainRoomLightREF13.Enable Set RunSet to 4
elseif RunSet == 4 && Timer >= .4 Playsound3D OBJSwitchLights2D HHMainRoomLightREF11.Enable HHMainRoomLightREF8.Enable Set RunSet to 5
elseif RunSet == 5 && Timer >= .3 Playsound3D OBJSwitchLights2D HHMainRoomLightREF9.Enable HHMainRoomLightREF10.Enable Set RunSet to 6
elseif RunSet == 6 && Timer >= .2 Playsound3D OBJSwitchLights2D HHMainRoomLightREF2.Enable HHMainRoomLightREF14.Enable HHMainRoomLightREF15.Enable Set RunIt to 0
else
Set Timer to Timer + GetSecondsPassed
endif
endif
END
Вот он. Только мне нужно, чтобы каждый светоблок включался через определенную задержку по времени. Саму идею и образ спер из другого мода. Только вот беда: задержка идет только на два первых светоблока - остальные включаются разом, одновременно. Т.е. ошибка с таймером, я думаю.
Изменение репутации для пользователя JupiterJour
JupiterJourOffline
Сообщение №1044
написано: 20 июля 2012, 10:23
| Отредактировано: Joopeeter - 20 июля 2012, 10:27
Ясен пень ошибка. Смотри, в гейммоде в первом elseif проверяется прошло ли 0,6 сек. с момента включения, во втором - прошло ли 0,5 сек. , в третьем - 0,4 сек. и т.д., то есть после включения второй группы лампочек остальные включатся с задержкой в один фрейм. Короче, проверяемое значение таймера в каждом следующем elseif должно увеличиваться.
Изменение репутации для пользователя Рыба
РыбаOffline
Сообщение №1045
написано: 20 июля 2012, 12:29
| Отредактировано: Sazans_Theme - 20 июля 2012, 12:38
Нужна помощь в создании скрипта. Суть такова. Игрок выкидывает из инвентаря какую нибудь вещь. Затем он покидает локацию. Так вот. Когда игрок покинул эту локация вещь должна исчезнуть, перестать существовать. Иными словами нужно как то определить что игрок выкинул вещь и после выхода из локации применить на ней disable и markfordelete. Также предлагайте любые альтернативы. Буду очень благодарен за помощь. Я уже запарился.
Прилепить скрипт к тысячам итемов? Надеюсь вы шутите. Нужно как то заставить исчезнуть итемы именно в этой локации но не прилеплять к ним скрипты а воздействовать на них одним единственным скриптом.
Добавлено (20.07.2012, 21:30) --------------------------------------------- Через эфекты я могу воздеййствовать на НПЦ чтоб они исчезли но на предметах такой номер не проходит. Может быть нужен какой то особый эффект.