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

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

Опубликовано
09.05.2016 21:12:52, kep сказал(-а):

У меня есть опасения, что при включенном моде возможны баги присущие другим подобным модам. Как то: исчезновение вещей из контейнера, сброс улучшений силовой брони и тд. Как это взаимосвязано - ума не приложу, но таковые факты имеются, суда по комментариям к модам. Да и Бог с ним, сделаю иначе.

В данный момент у меня другой вопрос - как добавить новый скрипт? Делаю как в Скайриме - выбираю объект-скриптоноситель, нажимаю Добавить скрипт, выбираю Новый,  присваиваю ему имя, расширение, говорю ОК, а он мне в ответ - The parent script doesn't exist, please choose one that does. Какого лешего ему надо?

Для начала... Ты исходники распаковывал? Должны лежать так:

 

Fallout 4\Data\Scripts\Source\Base

Fallout 4\Data\Scripts\Source\User

 

в \Base должны быть исходники голого Фоллаута (без ДЛС), архив с ними, Base.zip, разработчики любезно захреначили в папку Source. Правильное итоговое расположение.

в User будут храниться твои исходники в будущем.

 

Олсо, что значит "присваивал ему расширение". если это не просто для словца вставлено, а ты руками крутил что-то, то что и наху..зачем?)

 

Р.S. Цитата некоего smkviper-a, который разработал Papyrus:

GZUo04v.png.png

Так что не парься, на тему того, что после отключения модов что-то не будет работать. Шли их на форум беседки.

  • Нравится 1
Опубликовано

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

 

09.05.2016 21:36:55, werr сказал(-а):

Олсо, что значит "присваивал ему расширение". если это не просто для словца вставлено, а ты руками крутил что-то, то что и наху..зачем?)

 

Э-э-э... в смысле наху..зачем? Скрипт должен иметь расширение: ObjectReference, Quest, ReferenceAlias и тд.

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

Э-э-э... в смысле наху..зачем? Скрипт должен иметь расширение: ObjectReference, Quest, ReferenceAlias и тд.


Ну это же автоматом происходит, когда скрипт добавляешь. На что его вешаешь, то он и расширяет. Дополнительно самому ничего трогать не нужно.
  • Нравится 1
Опубликовано

И тем не менее возможность выбора есть и ничто не мешает изменить предложенное по-умолчанию расширение.

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

Врёте какашки , нет такой строки sLanguage, хоть ты перевернись 3 раза такой строки нет, поэтому удаляйте свою фигню что в ini файле нужно изменить эту en на ru, или хотя бы раз такие умные пишите так "если у вас нет этой строчки это ваши проблемы..." или " не устанавливайте тогда CKit 2 раз у вас такая проблема" а то как в попу клюнутые, думают что у всех всё прям идёт так хорошо как показано в трейлеры CKit

  • Нравится 1
Опубликовано
11.05.2016 16:05:49, milleer сказал(-а):

Врёте какашки , нет такой строки sLanguage, хоть ты перевернись 3 раза такой строки нет, поэтому удаляйте свою фигню что в ini файле нужно изменить эту en на ru, или хотя бы раз такие умные пишите так "если у вас нет этой строчки это ваши проблемы..." или " не устанавливайте тогда CKit 2 раз у вас такая проблема" а то как в попу клюнутые, думают что у всех всё прям идёт так хорошо как показано в трейлеры CKit

Я бы не мог сказать лучше!


11.05.2016 16:13:03, Dimonoider сказал(-а):

 

Хоббиты...

Маглы

  • Нравится 2
Опубликовано

Я скачала Бетезда Лаунчер, открыла. Он мне показал черный экран и всё, хотя определенно вслепую на что-то там можно было им тыкать. Оказывается, что надо было этому самому лаунчеру в свойствах нарисовать совместимость с вин ХР сп2 (???), а потом запускать от имени администратора. 

В инструкции вы написали:

 

УСТАНОВКА РЕДАКТОРА:
Создать аккаунт на bethesda.net
Скачать лаунчер, используя логин с сайта, зайти в клиент.
Установить через лаунчер Creation Kit.

 

а то, что между СКАЧАТЬ и ЗАЙТИ надо еще провести небольшой шаманский ритуал, не написали. ну, может, это только я не знала таких элементарных вещей. 

я думаю, к коллекционному изданию игры, кроме пупса и пип-боя, будет еще прилагаться бубен. с логотипом Бетезда. 

  • Нравится 2

Ночью за старой уборной,

Алюминиевой ложкой звеня, 

Девочка в платьице черном,

Чавкая, ела коня.

Опубликовано
15.05.2016 08:37:01, Norna сказал(-а):

а то, что между СКАЧАТЬ и ЗАЙТИ надо еще провести небольшой шаманский ритуал, не написали. ну, может, это только я не знала таких элементарных вещей.

Лично у меня такой проблемы не наблюдалось, а написать о том, чего я не знаю, я как-то и не могу. К тому же не стоит забывать, что лаунчер находится на стадии альфа. Не удивительно, что там могут быть проблемы.
Опубликовано
15.05.2016 09:43:04, GKalian сказал(-а):
написать о том, чего я не знаю, я как-то и не могу

да это не лично к вам претензия )) просто у самой получилось запустить этот лаунчер только посредством каких-то богомерзких манипуляций, и то, обнаружила решение чисто случайно. потом уже я почитала мнения разных людей и увидела, что черный экран при запуске лаунчера - проблема очень частая. и решается именно совместимостью с вин ХР сп2 и запуском от имени администратора. 

может кому еще пригодится.

Ночью за старой уборной,

Алюминиевой ложкой звеня, 

Девочка в платьице черном,

Чавкая, ела коня.

Опубликовано (изменено)

Сделал полочку (контейнер) для моделей роботов, прилепив на обычную полку узлы (Node) для установки моделей. Повесил на нее скрипт, не мудрствуя лукаво взяв за основу скрипт стенда для пупсов. Но модельки на полке не появляются, хотя в нее, естественно, кладутся. Три часа ковыряюсь и не могу понять в чем дело.

 

Скрипт

import Utility
Keyword Property BlockWorkshopInteractionKeyword Const Auto
Form[] Property ModelsInContainer Auto Hidden
ObjectReference[] Property ModelsRef Auto Hidden
bool AlreadyLoaded
;-------------------------------------------
Event OnLoad()
If !AlreadyLoaded
  AlreadyLoaded = TRUE
      ModelsInContainer = New Form[0]
EndIf
EndEvent

 

auto STATE AllowActivate
Event OnActivate(ObjectReference akActionRef)
  GoToState("Busy")
  BlockActivation(TRUE)
  If akActionRef == Game.GetPlayer()
   DeleteModels()
       Utility.Wait(0.1)
       DisplayModels()
  EndIf
  GoToState("AllowActivate")
  BlockActivation(FALSE)

EndEvent
EndSTATE

 

STATE Busy
;Do Nothing
EndSTATE

 

Event OnItemAdded(Form akBaseItem, int aiItemCount, ObjectReference akItemReference, ObjectReference akSourceContainer)
   ModelsInContainer.Add(akBaseItem)
EndEvent

 

Event OnItemRemoved(Form akBaseItem, int aiItemCount, ObjectReference akItemReference, ObjectReference akDestContainer)
    int ItemIndex = ModelsInContainer.Find(akBaseItem)
If ItemIndex >= 0
  ModelsInContainer.Remove(ItemIndex)
EndIf
EndEvent

 

;-- Functions ---------------------------------------
Function DisplayModels()
int MaxCount = ModelsInContainer.Length
If MaxCount > 0
  int Count = 0
  While (Count < MaxCount)
   string CountS = Count as string
   string Pos = ("Position0" + CountS) as string
   ModelsRef[Count] = Self.PlaceAtNode(Pos, ModelsInContainer[Count], 1, FALSE, FALSE, FALSE, TRUE)
   ModelsRef[Count].BlockActivation(TRUE,FALSE)
   ModelsRef[Count].SetMotionType(Motion_Keyframed, FALSE)
   ModelsRef[Count].AddKeyword(BlockWorkshopInteractionKeyword)
   ModelsRef[Count].SetNoFavorAllowed()
   ModelsRef[Count].SetPlayerHasTaken()
   RegisterForRemoteEvent(ModelsRef[Count], "OnActivate")
   Count += 1
  EndWhile
Endif
EndFunction

 

Function DeleteModels()
int MaxCount = ModelsRef.Length
int Count = 0
While (Count < MaxCount)
  If ModelsRef[Count]
   ModelsRef[Count].DisableNoWait()
   ModelsRef[Count].Delete()
   ModelsRef[Count] = NONE
  Else
   ;Do Nothing
  EndIf
  Count += 1
endwhile
EndFunction

Изменено пользователем kep
Опубликовано

Возник небольшой вопросик. При засовывании предмета в контейнер создаю в миру его референс-копию. И все хорошо и замечательно, кроме одной не критичной, но не очень приятной мелочи. Поскольку использую событие OnItemAdded, которое оперирует базовыми объектами (Form akBaseItem) , то референс-копия, созданная на его основе, теряет все индивидуальные особенности исходного предмета (например, название конкретной железяки, присвоенное игроком в муках творчества). Можно, конечно, использовать событие OnContainerChanged, оперирующее референс-объектами, но как создать копию конкретного референс-объекта, оставив в контейнере оригинал? Мож кто чего умного подскажет?

Опубликовано
25.05.2016 05:37:44, kep сказал(-а):

Возник небольшой вопросик. При засовывании предмета в контейнер создаю в миру его референс-копию. И все хорошо и замечательно, кроме одной не критичной, но не очень приятной мелочи. Поскольку использую событие OnItemAdded, которое оперирует базовыми объектами (Form akBaseItem) , то референс-копия, созданная на его основе, теряет все индивидуальные особенности исходного предмета (например, название конкретной железяки, присвоенное игроком в муках творчества). Можно, конечно, использовать событие OnContainerChanged, оперирующее референс-объектами, но как создать копию конкретного референс-объекта, оставив в контейнере оригинал? Мож кто чего умного подскажет?

Это очень хороший и правильный вопрос. Я тоже столкнулся с этим, когда делал стенды под оружие. Пришлось нехило так поломать голову как всунуть в витрину конкретное оружие игрока, в то время как везде нужен либо базовый объект (что может совпадать с кучей другого оружия), либо Form, что вообще не катит. И все эти типы не приводимы к ObjectReference. Я свою проблему решил, но мне так кажется, что в каждом конкретном случае решение будет уникальным. А поэтому лучше полную задумку обрисуй - что нужно в итоге? Тот вопрос, что ты задавал про стенд для журналов - там все несколько проще, все журналы, имеющие одинаковый базовы объект выглядят одинаково и запариваться не приходится, а тут вероятно придется думать.

  • Нравится 1
Опубликовано
25.05.2016 17:25:06, werr сказал(-а):
А поэтому лучше полную задумку обрисуй - что нужно в итоге?

Чтобы референс-копия оружия (или иного предмета) ничем не отличалась от брата-близнеца в инвентаре (контейнере). Включая имя. Потом с ней можно что хош делать. Я буду на стенд вешать. Или на стену. Или на стол. Или еще куда. Универсальность - наше всё.  :)

А про стенды для журналов я ничего не спрашивал. Меня и в винильных все устраивает... пока.  :)

Опубликовано
25.05.2016 22:26:49, kep сказал(-а):

Чтобы референс-копия оружия (или иного предмета) ничем не отличалась от брата-близнеца в инвентаре (контейнере). Включая имя. Потом с ней можно что хош делать. Я буду на стенд вешать. Или на стену. Или на стол. Или еще куда. Универсальность - наше всё.  :)

А про стенды для журналов я ничего не спрашивал. Меня и в винильных все устраивает... пока.  :)

Ох.... ну типо я сделал такое. Но поскольку на нексусе еще никто не "изобрел" способа сделать подобный стенд, то орать об этом направо и налево не хочу. до поры. Все же хочется быть первым :) . Но могу свой скрипт с пояснениями в личку отправить.

  • Нравится 1
Опубликовано

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

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

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

 

Про контейнеры и копии тоже думал, но нет, ничего не придумал. Да и кажется, это невозможно тут: сам видишь, скриптовые команды оперируют Form-ами и базами объектов, что с обжект рефом не состыкуется.

 

Может быть пробовать разбирать винтовку на косточки, создавать голого болванчика и обвешивать его прицепами в соответствии с тем ,какие модификации у исходного оружия? Ну это как-то совсем потно. Хотя вот если составить массив и заполнить его имеющимися улучшениями с "оригинала", а после прошерстить, поэлементно добавляя каждую модификацию из массива на голую заготовку, то может будет попроще. Уж точно будет структурировано хотя б. Но все это так... домыслы, я не пробовал.    

  • Нравится 1
Опубликовано (изменено)

Да, придется, однако, опять развешивать оружие по этому принципу и отдавать его на откуп шляющимся по дому неписям. Даже закрытые двери мало помогают. Иногда переместишься в поселение, а в твоем доме какой-нибудь придурок, вместо того чтобы в огороде копаться, у запертых дверей стоит, выйти не может. Не знаю как с оружием, но если пустую силовую броню оставить с батарейкой, то с момент нападения на поселение юзают ее с огромным удовольствием - только успевай отлавливай по полям и весям. Хотя... пока писал появилась мысль присваивать предмету в момент развешивания право собственности себя любимого через SetActorOwner. Может хоть чужое воровать не будут. По-крайней мере в случае с кроватью помогает.

Изменено пользователем kep
Опубликовано

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

PlayersDroppedWeapon = Game.GetPlayer().DropObject(PlayersEquippedWeapon, 1)
if (PlayersDroppedweapon)
    int Count = 0
    While(!PlayersDroppedweapon.Is3DLoaded()) && (Count < 10)
      ; Have to wait to make sure the item is dropped before setting it's motion type, or else I get a "Object has no 3D" error.
       Utility.Wait(0.1)
       Count += 1
    EndWhile
endif

 

Рекомендую вставить. У меня проблем с дропленными объектами не было ни разу.

Опубликовано
Хм, да, спасибо, интересное замечание. Но у меня телепортация оружия сначала к маркеру идет, а моушн тайп потом устанавливается. Таким образом, модель к тому моменту уже прогружена, телепорт moveto вынуждает ждать прогрузки.

Они в Скайрима вообще много где просто паузы делали на срабатывание игры. Обычно по 0.3 секунды.
  • Нравится 1
Опубликовано

Как заставить NPC не шевелиться? Т.е. как сделать из него манекен? В скайримских манекенах, как понимаю, просто запрещали AI. Здесь такая фишка не срабатывает.

  • 2 недели спустя...
Опубликовано
&nbsp;
27.04.2016 10:56:06, YourBunnyWrote сказал(-а):

Вероятно, это должно помочь.

&nbsp;

похоже что мне это всетаки помогло....
НО.... дело в том что это как гласят настройки для програм не поддерживающих юникод... те creation kit не поддерживает юникод... а фол4?????

что-то я ожидаю дикие проблемы с этим ....
  • Нравится 1

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

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

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

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

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

Войти

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

Войти
  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...