Прежде чем задавать вопрос - посмотрите в >> КАРТОТЕКЕ << Возможно, там уже есть готовый ответ.
Тема предназначена для общих вопросов. Прежде, чем тут что-то написать, посмотрите другие темы этого раздела. Вполне возможно, что они больше соответствуют тематике вашего вопроса.
1. Думаешь - где хранятся эти файлы.2. Понимаешь - в папке с игрой -> в папке Data -> в файлах с подходящими названиями. 3. Видишь - файлы в названиях которых есть то, что тебя интересует, имеют формат bsa. 4. Ищешь в интернете - "как открыть файлы bsa" -> скачиваешь, устанавливаешь, пробуешь... 5. Думаешь - как найти интересующий файл. 6. Понимаешь - в игре, интересующий файл чем-то используется, значит это что-то ссылается на этот файл. 7. Находишь в GECK то, что использует интересующий файл - ищешь где оно на этот файл ссылается. 8. Видишь - путь к интересующему файлу. 9. Переходишь в bsa по пути к интересующему файлу - извлекаешь его. 10. Смотришь - какой формат у извлечённого файла. 11. Ищешь в интернете - как работать с файлами данного формата. 12. "И пошло..." 13. "И поехало..."
P.S. По моему опыту/мнению, если тебя интересует что-то конкретное - спрашивай конкретно об этом, а не издалека и пусть сами додумывают, что ты хотел. P.P.S. Может я "врубаю умника" ... но сложно найти решение задачи, которая невнятно поставлена. А в то же время - "правильно поставленный вопрос = половина ответа".
я бы хотел сейчас узнать в общем структуру в плане(я догадываюсь, но лишь приблизительно, и может что-то упустил или есть что-то еще) 1. 3-д модели, анимация и все остальное для каждого типа хранятся в одном файле и так же и импортируются из 3-д max в один файл?(кроме звуков...) то есть скажем "снайперская винтовка" - 1 файл, "коготь смерти" -1 файл, прочее.. 2. я не нашел формат bsa - нашел только .nif.dds.kf.sdp ?.. 4. пока более конкретного сказать не могу, не знаю всех необходимых "сил и средств" для осуществления - спрошу позже..
параметры брони таким образом не изменишь, нужно что-то еще.
Что-то еще - это значит, что (повторяю в третий раз) нужно менять не значение введенной в скрипт переменной, а менять именно параметр брони. Чтобы было понятней - поясню еще раз. Переменную ты назначаешь сам и даешь ей своё, придуманное тобой имя. Просто хорошим тоном считается давать такие имена, чтобы стороннему человеку было понятно, что задумывалось автором скрипта. Поэтому Максвелл и предложил имя переменной как ArmorDT. Чтобы при просматривании скрипта другим человеком, ему бы стало ясно, что эта переменная планировалась как-то участвовать в "извращениях" над ПУ брони. Если бы в твоем скрипте переменная называлась не ArmorDT , а, скажем, MyPeremennaya - то скрипт бы выглядел так: ------------------------ scn ArmorDTscript int MyPeremennaya begin GameMode set MyPeremennaya to GetArmorDT ArmorLeather * 5 end ------------------------ Теперь понятно? Скрипт как раз и меняет эту, нафиг никуда не упирающуюся, переменную, но не саму броню. Он просто увеличивает значение переменной с нуля до пятикратного значения ПУ кожанки. И всё. Я же тебе в своем ответе дала ссылку на микро-модик, который правильно скриптово меняет ПУ кожаной брони. Открой мод в редакторе (лучше в FNVEdite - там наглядней) и посмотри, как там сделано. Там ничего сложного, мод самый простейший, чисто для наглядности.
Еще раз - ЗЫ. Прежде чем делать мод, повышающий ПУ какой-либо брони, - надо продумать механику мода, каким образом это будет реализовано. То есть - в какой момент игры должно происходить это повышение ПУ, и как это сделать: путем разговора с некиим визардом или путем подбора волшебного чемоданчика или же при входе в какую-то таинственную Зону51 или с наступлением темноты или... (далее по вкусу). Исходя из этого - написать скрипт, используя нужные и правильные блок-типы (GameMode или OnAdd или OnTrigger или же другие - это зависит от выбранного способа запуска скрипта), прицепить скрипт к нужному "активатору" который этот скрипт запустит. Ну и другие нюансы. Хочу лишь добавить, что скрипт с блоком GameMode, прикрученный хоть к чему-либо, сразу же при входе в игру поднимет параметры ПУ и в игре мы не увидим старых значений, а сразу новые. В таком случае теряется смысл "заморочек" со скриптом, если это повышение ПУ можно сразу назначить в редакторе (как ты и делал)
Я бы сделала так: сначала прикинула, почему вдруг броня в игре стала иметь повышеный ПУ и попыталась дать этому логическое (в рамках вселенной Фолаут) объяснение. Допустим ГГ нашел некий довоенный девайс, ну скажем - кольцо Саурона энергетический медальон, при ношении которого ПУ брони повышается. Дальше: в ГЕКК создала бы новый армор с отмеченным второстепенным слотом, дала бы армору модельку от кулона\медальона (их в Сети до хрена уже готовых) и навесила скрипт, срабатывающий при экипировке\снятии игроком этого медальона. В скрипте бы поименно перечислила всю имеющуюся в игре броню, которой экстендеровской функцией setArmorDT меняла бы ПУ для каждой (это конечно тот еще вариант, но зато самый простой). Надел медальон - скрипт повысил ПУ перечисленной в нем брони до 50ед, снял - понизил до 5 (можно для каждой брони выставить свои, отдельные, значения). Ну и запихала бы этот медальон в какую-нибудь комнату в каком-нибудь убежище или еще куда. PROFIT! Недостаток этого простого способа: 1. имел на теле изношенную броню с низким ПУ около 2, надел медальон - ПУ взлетело до 50. Снял медальон - ан нет, ПУ не вернулось к старому состоянию, к двоечке, а стало таким, как указано в скрипте. т.е. - 5. Халявный ремонт... 2. Скрипт меняет туда-сюда ВСЮ броню в игре, а не только надетую на игрока. 3. Да мало ли еще нюансов... 4. ... 5. ... ... и удаляем этот мод из-за его ненужности в принципе
francisc, если твоя задача поднять ПУ конкретной брони в тот момент когда она одета конкретно на игрока, то я бы предложил несколько другой способ: приделать к нужной тебе броне объектовый эффект увеличивающий ПУ (или любой другой нужный параметр). В условиях эффекта прописать срабатывание только при надевании данной брони конкретно на ГГ, ну и опционально только при наличии у ГГ некоего артефакта, поскольку КсюХа истину глаголит - нужно же как-то объяснить внезапный рост параметра. В итоге все будет надежно, при снятии брони ПУ гарантированно вернется к изначальным значениям и при этом ни какого Экстендера и вообще ни каких скриптов...
Изменение репутации для пользователя КсюXa
КсюXaOffline
Сообщение №5315
написано: 28 апреля 2016, 06:45
| Отредактировано: КсюXa - 28 апреля 2016, 07:43
прописать срабатывание только при надевании данной брони конкретно на ГГ
А вот такой вопрос: в этот момент ПУ поднимется только у того экземпляра брони, который надел ГГ (или у самого ГГ) или же у всех таких же "броней", но надетых на кого-либо другого или неписей в такой броне? Я просто не помню - действует ли эффект только на игрока или на всех тоже. К тому же автор не совсем это хотел. В данном случае повышается ПУ непися, а в пожеланиях высказывалось чтобы в описании показывалось повышение ПУ самой брони, типа - была броня с 10 ПУ, а стала с 50 ПУ. Ну вот: по-быренькому: вешаем на кожаную броню объект-эффект "Повышение ПУ", в условиях пишем, чтобы срабатывал, когда на ГГ надет праздничный колпак и смотрим в игре.
Меняется общее ПУ, а у брони как была шестерка, так и осталась. PS. а может имелось в виду и ПУ непися, чёрт его знает. Как правильно было замечено - был задан слишком расплывчатый вопрос. Я его (вопрос) поняла именно так, тем более, что автор это самое ПУ брони пытался менять (и менял) напрямую внося изменения в параметры брони.
Решил создать предмет, который добавлял бы игроку перк, в результате долгого копания понял что нужно писать скрипт для этого, однако Я в скрипты не могу. Так вопрос: как должен выглядеть этот скрипт и есть ли другой способ по созданию такого предмета?
Изменение репутации для пользователя JupiterJour
JupiterJourOffline
Сообщение №5317
написано: 1 мая 2016, 08:14
| Отредактировано: Joopeeter - 1 мая 2016, 08:19
А вот такой вопрос: в этот момент ПУ поднимется только у того экземпляра брони, который надел ГГ (или у самого ГГ) или же у всех таких же "броней", но надетых на кого-либо другого или неписей в такой броне?
Объектовый эффект брони срабатывает только на носителе данной брони. Если в условиях эффекта прописать GetIsID Player == 1 то работать эффект будет только применительно к ГГ и ни к кому больше, в смысле всякие торгаши-рейдеры-когти надев "супер кожанку" даже с "супер девайсом" крепкими и здоровыми не станут. Да эффект будет менять ПУ/СУ носителя брони, а не параметры самой брони, тупо добавляя определенное значение ПУ/СУ носителю брони и не учитывая (автоматически) состояние этой брони, но это как говорится неизбежное и в принципе не самое великое зло... Функция SetArmorDT / SetArmorAR меняет именно ПУ/СУ самой брони (то которое в GECK) при этом при расчете текущего ПУ/СУ состояние брони учитывается самой игрой, без всяких дополнительных танцев с бубном. Эта функция меняет параметры всех экземпляров указанной брони в игре, так что Маклаудами станут все носители данной брони, а по сему скриптовый способ по определению подходит только для уникальной "одноэкземплярной" брони.
Дорогие товарЫщи) Я уже который день ищу ответ и не могу найти , а он очень прост: как уменьшить скорострельность оружия в гекк?. Просто при назначении других параметров в характеристиках оружия ничего не меняется. В TTW винчестер из Point Lookout стреляет как скорострельный читерный карабин зараза))
У меня глупый блиц-вопрос: какой командой запустить один скрипт из другого?Ответ настолько очевидный наверное, что я никак его не найду. StartScript не подходит)))
Изменение репутации для пользователя JupiterJour
JupiterJourOffline
Сообщение №5328
написано: 21 июня 2016, 22:33
| Отредактировано: Joopeeter - 21 июня 2016, 22:28
Только для того, кто не методом тыка ищет, а сначала читает что-нибудь по основам скриптинга Фоллаута. Тогда он знает, что просто скриптов "висящих в воздухе" тут нет. Есть только привязанные к объектам, квестам и эффектам. Соответственно, для запуска скрипта надо либо запустить квест (StartQuest), либо запустить эффект (CastImmediateOnSelf или AddSpell), либо создать в игре копию объекта (PlaceAtMe), либо сделать что-то такое с копией объекта, что прописано в его скрипте в блоке Begin. Некоторые запускающие скрипт действия с объектами можно производить и из другого скрипта (Activate, EnterTrigger и т.п.), но не все.
Добавлено (22 Июня 2016, 01:33) --------------------------------------------- Ну, ещё результ-скрипты, конечно. Из другого скрипта никого лишний раз не трогая можно запустить результ-скрипт стадии квеста (SetStage).
Все непонятные слова можно посмотреть на ГЭКК-вики.
Что считается более оптимизированным и предпочтительным?
Можно конечно нагородить конструкцию, которая вариативно будет включать/выключать отдельные квесты со своими скриптами. Но всегда ли нужен такой подход? Моё мнение - конечно же нет! Если речь идёт о каких-то гигантских конструкциях - то допустим, есть смысл. Если нужно просто связать разные скрипты (и прочее) - можно использовать глобальные переменные. А если всё умещается в один скрипт - смысл городить огород?
Есть ли принципиальная разница между этим способом и прописыванием всего то же в один скрипт? Что считается более оптимизированным и предпочтительным?
Предпочтительно то, что лучше подходит к ситуации. Я ж не знаю какой замысел. Если скрипт должен включаться для мало мальски продолжительной работы, то это обычно квестовый или объектный скрипт, если на один оборот - эффектный, объектный или результ-скрипт стадии квеста (с учётом особенностей этих скриптов).
Если скрипт должен включаться для мало мальски продолжительной работы, то это обычно квестовый или объектный скрипт, если на один оборот - эффектный, объектный или результ-скрипт стадии квеста (с учётом особенностей этих скриптов).
Там сейчас один скрипт, стартует он как квест, просто в нем есть часть, довольно большая, которая выполняется при определенном условии, с броском костей так сказать и последующими результатами, и чтобы ее удобнее было редактировать при надобности я и решил ее вынести как-то отдельно вообще. Имхо она выглядит устрашающе. Кстати - в переменные можно только числовые значения записывать? Нельзя как-то записать в переменную, например, ID объекта?
Изменение репутации для пользователя JupiterJour
JupiterJourOffline
Сообщение №5333
написано: 22 июня 2016, 22:59
| Отредактировано: Joopeeter - 22 июня 2016, 23:00
Может, всё-таки стоит почитать какой-нибудь тутор?
Похоже да) Даже выносить ничего никуда не придется) Я читал пару лет назад материалы от Игоря Лютого, довольно много, но применить не пришлось и все повылетало из башки)
Кстати - с камерой в диалогах нереально что-то сделать, кроме как зум выключить? Давно вопрос этот интересовал. Все-таки когда персонаж визуализируется при диалогах то это весьма доставляет. Хоть бы спину свою видеть и то прикольно было бы)
Кстати - с камерой в диалогах нереально что-то сделать, кроме как зум выключить? Давно вопрос этот интересовал. Все-таки когда персонаж визуализируется при диалогах то это весьма доставляет. Хоть бы спину свою видеть и то прикольно было бы)
Во время диалогов, камера переходит в режим от первого лица - спину не увидишь.
Не исключено, что это даже скомпилируется, особенно если дописать после AddItem обязательные параметры. Не исключено, что это даже как-то будет работать. Но что оно будет делать то, что задумывалось (кстати, а что задумывалось-то?) - это вряд ли.
А если это была не консоль, а честный скрипт? Не помню, правильно ли MenuMode отслеживает консоль Если правильно, то можно Begin OnAdd if MenuMode 3 player.RemoveAllItems endif End Если нет... Предметы из твоего мода? Можно отслеживать сопутствующие приобретению обстоятельства. Например, если предметы подбираются с локации, навесить на них скрипт OnActivate, разрешающий существование предмета в инвентаре и скрипт OnAdd, отслеживающий, было ли существование разрешено. Если разрешено не было, следует страшная кара.
Просто защита от читеров некоторых уников.Если охота их заиметь-честно топай и ищи/воюй/бери.Так что без честных скриптов. Для того,чтобы оставалась возможность только честного приобретения.В ином случае всеобъемлющее наказание. Вечером проверю все варианты.