Модератор форума: КсюXa, ApeX  
Форум » Fallout 3 » Мастерская » Помощь по G.E.C.K. (Помощь по редактору)

Помощь по G.E.C.K.
КсюXa  Offline  Сообщение №1 написано: 25 сентября 2010, 10:57


Гид по Мастерской


Внимание!


Эта тема предназначена только для помощи, связанной с редактором G.E.C.K..
Все вопросы, касательно модмейкерского дела, прошу сюда - "Помощь по моддингу."

Тема по GECK раздела New Vegas



Galko  Offline  Сообщение №1381 написано: 20 января 2013, 06:27 | Отредактировано: Galko - 20 января 2013, 15:26


GALAктическая мартышка


Цитата VIPerMX

Увы текстура кожы у НПЦ белая, а лицо нормальное.


Прошу прощения, но это тоже тыщу раз обсуждалось. И в ответе на этот ответ (привет А. Уральскому) вопрос в КАРТОТЕКЕ написано ;) 1. Вам надо прописать в Fallout.ini строчку bLoadFaceGenHeadEGTFiles=1, а сам плагин, после окончания работ сделать мастер-файлом
Пока плагин имеет статус плагина, т.е. остается файлом ESP - всегда будет расхождение между цветом лица и тела у темнокожих рас (африканцы, испанцы)

Поэтому, когда ПОЛНОСТЬЮ закончишь свой мод - сделай его мастер-файлом.

Ваше счастье, что я не ваше счастье
VIPerMX  Offline  Сообщение №1382 написано: 20 января 2013, 08:02



173
Galko, Спасибо. я вот теперь думаю, стоит ли ради двух нпц идти на такие жертвы?! =)

Galko  Offline  Сообщение №1383 написано: 20 января 2013, 13:14 | Отредактировано: Galko - 20 января 2013, 13:17


GALAктическая мартышка


VIPerMX, Да какие там жертвы... Поставить в Эдите галочку и сменить расширение. ;)
ЗЫ. Ну или тогда сменить у этих двух НПЦ расу :D Сделать их европейцами. Хотя, если для непися, даже для европейца, создавалось "собственное" лицо со своим оттенком кожи - оно все равно будет отличаться от цвета и оттенка кожи тела. Так что...

Ваше счастье, что я не ваше счастье
Graf  Offline  Сообщение №1384 написано: 20 января 2013, 16:16



179
Цитата Galko

и сменить расширение


Когда плагин ставиться есм, тогда почему-то начинаются вылеты у игры. Я не знаю с чем это связано, но вылеты заметно прибавляются.

...-Вот такой вот парадокс. Мы делаем моды для игр, в которые уже давно не играем...
VIPerMX  Offline  Сообщение №1385 написано: 20 января 2013, 20:52



173
Цитата Graf

Когда плагин ставиться есм, тогда почему-то начинаются вылеты у игры. Я не знаю с чем это связано, но вылеты заметно прибавляются.



Вот и я о том!

Galko  Offline  Сообщение №1386 написано: 21 января 2013, 04:00


GALAктическая мартышка


Цитата VIPerMX

Когда плагин ставится есм, тогда почему-то начинаются вылеты у игры


Я лично никаких дополнительных вылетов не замечала. Не знаю, с чем это связано, но, что есп, что есм - у меня работают одинаково.

Ваше счастье, что я не ваше счастье
rizys-mod  Offline  Сообщение №1387 написано: 21 января 2013, 05:27


Команда "Rizys-Mod"


250
Galko, есп более стабильный.

Команда "Rizys-mod" - разработка плагинов на Fallout.
tundruck73  Offline  Сообщение №1388 написано: 21 января 2013, 05:29



Один раз после преобразования esp в esm у меня перестали открываться двери в моде. Вообще. Так, как будто они под функцией Set Destroyed 1.

Мосье, же не манж па сис жур...
Умер 23.04.2019
VIPerMX  Offline  Сообщение №1389 написано: 21 января 2013, 12:54



173
Кто знает, как можно запретить определенному нпц находиться на определенном навмеше, или наоборот чтоб только один нпц мог пройти по заданному навмешу?!

JupiterJour  Offline  Сообщение №1390 написано: 21 января 2013, 14:15 | Отредактировано: Joopeeter - 21 января 2013, 14:25


_


Перегородить тот навмеш триггером, который выдавал бы (AddScriptPackage) всем вошедшим, кроме игрока и избранного NPC (в случае "всем нельзя, кроме..."), пакет путешествия к какому-нибудь маркеру немного в сторонке. В конце путешествия лучше для надёжности пакет отобрать (RemoveScriptPackage), а то у скриптовых пакетов я наблюдал проблемы с их переоценкой "естественным путём".
Игроку скриптовых пакетов, по-моему, лучше не давать. При необходимости можно просто грубо развернуть его носом в другую сторону и всё.
Ещё можно попробовать при входе-выходе из триггера убирать и возвращать сам навмеш (DisableNavmesh и EnableNavMesh). Сам я этими функциями, правда ни разу не пользовался, помню только из тутуора, что для них надо сделать спецучасток навмеша, что, если рассудить, и так ясно.

VIPerMX  Offline  Сообщение №1391 написано: 21 января 2013, 14:58



173
Цитата Joopeeter

Перегородить тот навмеш триггером, который выдавал бы (AddScriptPackage)



Все это здорово, но у меня проблема в том - я создал аквариум с болотником, чтоб он двигался нужен нав меш. так вот, когда загружаешь ячейку, Мр Помощник появляется на аквариуме и не может с него слезть. Причем он туда лезит как будто там медом намазано! Вот как его отучить?! Я даже ставил блок коллизии а ему по барабану, сидит в коллизии и все тут!
Мб можно сделать так чтоб болотник без навмеша двигался?!

tundruck73  Offline  Сообщение №1392 написано: 22 января 2013, 03:20 | Отредактировано: tundruck73 - 22 января 2013, 03:21



Вопрос тут назрел у меня. Можно ли в процессе игры переименовать непися (именно непися, не ГГ)? Скажем, до определенного момента он был "Вася", но что-то произошло, и он становится "Петей". Или проще его подменить дубликатом с новым именем?

Мосье, же не манж па сис жур...
Умер 23.04.2019
refusepit  Offline  Сообщение №1393 написано: 22 января 2013, 05:31 | Отредактировано: refusepit - 22 января 2013, 05:35



650
VIPerMX, ты знаешь, когда у меня кто-то лезет туда, куда не просили, это практически в 100% случаев означает, что он сам попал на участок без навмеша, в дырку, так сказать, вот и пытается, как честный нпц, вернуться на положенный ему навмеш. Проверь место, где у тебя появляется мистер Помощник, на предмет безнавмешных "ловушек".

Добавлено (22.01.2013, 09:31)
---------------------------------------------
tundruck73, вот здесь: http://rumor.ru/wiki....ть_2.3) сказано, что да:

Код
Функция SetActorFullName

Функция SetActorFullName меняет имя актера (показываемое имя) на имя (не текст), указанное в Сообщении. Отметьте, что в то время, как функцию вызывают на ссылке, она фактически меняет имя базового объекта, таким образом, все NPC/creature, которые базируются на этом объекте, будут иметь новое имя.

Синтаксис:

         SetActorFullName MessageID      

Пример:

         SetActorFullName NamedActorHarold      

Примечание:

         SetActorFullName может также использоваться на активаторе разговора (talking activator).      

Таким образом, можно, в принципе, переименовать любой объект.


PS. Чавой-то не получается ссылку сделать с русскими буквами. Пришлось так, текстом, оставить. :)

tundruck73  Offline  Сообщение №1394 написано: 22 января 2013, 05:35 | Отредактировано: tundruck73 - 22 января 2013, 05:38



refusepit, вот я дятел-то, аднака :D Проглядел эту функцию... Спасибо большое. Все верно, в OSFM сказано:

"Функция SetActorFullName изменяет отображаемое в игре имя актера (ActorID) на приведенный в качестве параметра "New Name" текст. Обратите внимание, что хотя эта функция и вызывается как указатель на конкретного актера (ActorID - копия базового экземпляра, размещенная в игровом мире), будет изменено имя базового экземпляра, поэтому и все остальные копии этого NPC/существа также получат новое имя. "

Мосье, же не манж па сис жур...
Умер 23.04.2019
JupiterJour  Offline  Сообщение №1395 написано: 22 января 2013, 08:27


_


Цитата VIPerMX

когда загружаешь ячейку, Мр Помощник появляется на аквариуме и не может с него слезть. Причем он туда лезит как будто там медом намазано! Вот как его отучить?! Я даже ставил блок коллизии а ему по барабану, сидит в коллизии и все тут!
Мб можно сделать так чтоб болотник без навмеша двигался?!


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

tundruck73  Offline  Сообщение №1396 написано: 22 января 2013, 10:48 | Отредактировано: tundruck73 - 22 января 2013, 10:53



Сталкивался с аналогичным явлением - сделал продуктово-алкогольный киоск (из киоска "Оружейников" для "Вегаса"), посадил туда продавца, а рядом отправил гулять нескольких покупателей. Навмеш в киоске изолированный, помимо этого он со всех сторон ограничен стенками (нет там дверей). Однако иногда(не всегда, но случалось все же такое) при загрузке ячейки я обнаруживал покупателей внутри, а продавца снаружи. Или всех их внутри (или всех снаружи). Как избавиться от этого явления, я так и не придумал.

Мосье, же не манж па сис жур...
Умер 23.04.2019
VIPerMX  Offline  Сообщение №1397 написано: 22 января 2013, 12:46



173
Цитата tundruck73

Сталкивался с аналогичным явлением



А у меня такой прикол ещё есть. Стоит бармен за стойкой, и все время пытается удрать со своей точки, а клиенты наоборот все лезут за стойку =))) Мб их местами поменять?

JupiterJour  Offline  Сообщение №1398 написано: 22 января 2013, 14:00


_


Всё ясно, праздник непослушания у них. Кстати, бред про двери я неспроста предложил. Когда навмеши той ячейки с враждующими актёрами были соединены, они перестали перепрыгивать один к другому и начали, учуяв врага, как и положено, бегать кругами каждый по своей запертой комнате.
Хотя, если твоим действительно ничего друг от друга не надо...
А навмеш в аквариуме водный? Вроде актёры, если в пакете не отмечена галка Allow Swimming, не должны лезть в воду по доброй воле, но определяют ли они глубоководье по навмешу или ещё как, не знаю.
Цитата VIPerMX

разоружен полностью заunvulnurableн и заghostен!


А это не влияет. Решение актёра вступать или не вступать в драку основывается на межфракционных отношениях, значениях его злобности и храбрости (Aggression и Confidence) и на том, атакуют ли его самого или тех, кому он обязан помогать.

VIPerMX  Offline  Сообщение №1399 написано: 22 января 2013, 15:43



173
Цитата Joopeeter


А это не влияет. Решение актёра вступать или не вступать в драку основывается на межфракционных отношениях, значениях его злобности и храбрости (Aggression и Confidence) и на том, атакуют ли его самого или тех, кому он обязан помогать.



Хм мысль интересная. Надо будет их в одну дружную фракцию добавить.

Что касается навмеша, то да, он помечен как вода.

refusepit  Offline  Сообщение №1400 написано: 22 января 2013, 17:32



650
Дорогая Америка, а у меня тоже беда!

Решил сделать автоматическую дверь. Вроде бы, ничего сложного... Растянул триггер перед/за дверью, сделал дверь линкед-рефом триггера (а потом и триггер линкед-рефом двери, мало ли). В общем, получается так:

Код
scn AutoDoorScript

ref ddd
short sss

begin onTriggerEnter

  set ddd to getLinkedRef
  set sss to ddd.getOpenState

  showMessage MSG sss
   
end


исправно работает. Вбежал я в триггер - он мне показал: 3, закрыта твоя дверка. Открыл я ее, вбежал в триггер - он мне говорит 1, открыта твоя дверка. Это я к тому, что как дверь он ddd распознает, код getOpenState на ней работает.

Ставлю туда команду ddd.setOpenState 1 - всё, вообще ничего не работает. И сообщения не появляются, и дверь и подавно не открывается. Вроде бы как встретил скрипт непереваримую команду и духовно навеки почил.

Во всех руководствах, которые нашел, авто-дверь так и делается, собственно: setOpenState на линкед-реф триггера. А чаво ж у мене не работает, а? Если поставить refId этой двери, то door1REF.setOpenState 1 прекрасненько срабатывает на триггере.

Спаси меня, дорогая Америка, я слишком стар и немощен, чтобы двери руками, значить, открывать! :)

Graf  Offline  Сообщение №1401 написано: 22 января 2013, 18:53



179
refusepit, я тут писал - https://modgames.net/forum/70-4191-2#357981

Код
scn AutoDoorScript  

ref myLink  

Begin onTriggerEnter  
     set myLink to getLinkedRef  
     myLink.setOpenState 1  
End  

Begin onTriggerLeave  
     set myLink to getLinkedRef  
     myLink.setOpenState 0  
End

...-Вот такой вот парадокс. Мы делаем моды для игр, в которые уже давно не играем...
JupiterJour  Offline  Сообщение №1402 написано: 23 января 2013, 10:09 | Отредактировано: Joopeeter - 23 января 2013, 10:13


_


Цитата refusepit

Спаси меня, дорогая Америка


Есть куча способов сделать что угодно, в том числе автодверь.
Помимо предложенного Graf'ом можно:
Подставить в скрипт RefID двери. Это у тебя работает.
Использовать не SetOpenState, а Activate. Опять же, в двух вариантах: через линк и RefID.
Сделать триггер постоянной ссылкой и назначить его Activate Parent'ом для двери. При входе в триггер будет срабатывать само, а при выходе - скриптово:
Код

Begin OnTriggerLeave
Activate player
End

Сделать два триггера до и после двери и назначить каждый Activate Parent'ом для неё. Тогда вообще скрипты не нужны.
Поставить швейцара. Очень по-президентски будет.
Придумать ещё что-нибудь экзотическое вроде отслеживающей расстояние до игрока двери, но это, конечно, уже извращение.
И т.п.

Mister_Karter  Offline  Сообщение №1403 написано: 23 января 2013, 10:29



560
Такая вот неприятность: неписи наотрез отказываются надевать на себя броню или одежду из сторонних модов. Точнее даже, что эта самая броня или одежда не появляется в их инвертаре по запуску игры. Однако, если дать им обмундирование во время самой игры, то они покорно принимает его и надевают, если оно обеспечивает, к примеру, лучшую защиту. Запрашиваю поддержку, приём? =)


«Если что-то не получается с первого раза – вызывай авиаудар!»
VIPerMX  Offline  Сообщение №1404 написано: 23 января 2013, 10:38 | Отредактировано: VIPerMX - 23 января 2013, 12:39



173
Mister_Karter, А неписи новы или стандартные?! Если первое, то надо два плагина обьединять, ибо один плагин не видит другой. Если стандартные, может они не используют новые вещи так как их нет в list их обмундирования?!

Цитата Joopeeter

А это не влияет. Решение актёра вступать или не вступать в драку основывается на межфракционных отношениях, значениях его злобности и храбрости (Aggression и Confidence) и на том, атакуют ли его самого или тех, кому он обязан помогать.



А вы были правы! =) У болотника и робота стояли фракции по стандарту. Я их убрал и теперь между ними мир жвачка. Видимо Мр Помощник пытался залезть в аквариум и навалять болотнику =Р

Надеюсь впредь отучил их от вражды за территорию!

Ipatow  Offline  Сообщение №1405 написано: 23 января 2013, 10:53



Цитата Mister_Karter

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

У меня тоже неприятность - шерифа Мегатонны нет в Ривет-сити. Если его туда перетащить, он там нормально шевелится и ходит, но по старту игры его там нет! А с чего вдруг эта броня или одежда вдруг появится в их инвентаре? Самозарождение брони игрой не предусмотрено. Ты им эту броню выдал? Если да, то как именно?

Graf  Offline  Сообщение №1406 написано: 23 января 2013, 13:23



179
Цитата Joopeeter

Использовать не SetOpenState, а Activate.


Разница только в том, что SetOpenState активирует анимацию, напиример если дверь открыта, и сделать кнопку без проверки, и нажать ещё раз открыть, то дверь заново использует анимацию открытия из закрытой.

А на счет дистанций, почему-то не работало, попробовал.

...-Вот такой вот парадокс. Мы делаем моды для игр, в которые уже давно не играем...
Galko  Offline  Сообщение №1407 написано: 23 января 2013, 15:00 | Отредактировано: Galko - 23 января 2013, 15:07


GALAктическая мартышка


Цитата refusepit

set ddd to getLinkedRef
set sss to ddd.getOpenState


Чет не понятно - зачем лишние телодвижения с двумя переменными? Сначала одна переменная "сетится" под функцию, затем вторая переменная "сетится" под первую. Лично у меня работает Graf-овский скрипт с маааленьким дополнением, на знаю, правда, насколько оправданным. Вот этак:
scn automaticDoorOpenScript
short doOnce
ref target
Begin onTriggerEnter
if doOnce == 0
set target to getLinkedRef
target.setopenstate 1
set doOnce to 1
endif
End
Begin onTriggerLeave
if doOnce == 1
set target to getLinkedRef
target.setopenstate 0
set doOnce to 0
endif
End

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

Добавлено (23.01.2013, 19:00)
---------------------------------------------
А вообще-то: зачем открывать "дорогую Америку"? Если есть давным-давно написанный скрипт на автооткрывание дверей и упрощать его уже некуда...

Ваше счастье, что я не ваше счастье
JupiterJour  Offline  Сообщение №1408 написано: 23 января 2013, 15:44 | Отредактировано: Joopeeter - 23 января 2013, 15:49


_


Цитата Galko

А вообще-то: зачем открывать "дорогую Америку"? Если есть давным-давно написанный скрипт на автооткрывание дверей и упрощать его уже некуда...


Ну почему же некуда. Можно безболезненно выкинуть DoOnce. Ничего страшного не случится, если открыть уже открытую дверь или закрыть закрытую.
И target можно на выходе не задавать заново, куда оно денется?
А ещё "давным-давно написанный скрипт" не учитывает ситуацию, когода из триггера по очереди выходят больше одного актёра. Так что можно обратно усложнить его, приделав счётчик входящих и выходящих, чтобы случайно перед носом не захлопнулось.

Galko  Offline  Сообщение №1409 написано: 23 января 2013, 15:49


GALAктическая мартышка


Цитата Joopeeter

Можно безболезненно выкинуть DoOnce


Меня это ДоОнсе тоже смущало :) Если его выкинуть - получится полностью скрипт, как у Графа.
А насчет счетчика входящих - зачем? Не проще ли указать Бегин ОнТриггерЕнтер Плеер?

Ваше счастье, что я не ваше счастье
JupiterJour  Offline  Сообщение №1410 написано: 23 января 2013, 15:51


_


Цитата Galko

Не проще ли указать Бегин ОнТриггерЕнтер Плеер?


А остальным шиш, а не авто?

Форум » Fallout 3 » Мастерская » Помощь по G.E.C.K. (Помощь по редактору)
Поиск:





Ответ на жалобу смотрите в разделе жалоб