Напомни мне, пожалуйста, как (и можно ли) добавить на Пустошь НПЦ скриптом? Допустим, у нас есть Х-маркер - как поставить на него НПЦ? Надо ли сперва его где-то размещать, чтобы потом перенести - или можно сделать какой-то аналог АддИтем: не было, не было НПЦ в игре, а потом р-р-раз - и появился? Есть такая болезнь - склероз, прекрасная Америка...
ЗЫ. НПЦ, конечно, существующий в редакторе, это вопрос не о том, можно ли создать НПЦ "с нуля". Просто, вроде бы, добавлять скриптом - это более понтовый путь, чем менять в редакторе ванильную локацию, добавляя на нее disable-НПЦ, а потом делать ему enable.
MarkerRef.PlaceAtMe NPCBaseID NPC будет создан из воздуха как "чистая" копия базового непися, как если бы он был перетащен из окна объектов. Только респауниться, как предупреждает нас вики, не будет.
Если копия NPC создана и где-то стоит и мы с ней уже как-то провзаимодействовали (поговорили, навесили эффекты, изменили переменные или инвентарь), то надо тащить именно эту копию. NPCRef.MoveTo MarkerRef
Добавлено (23 Февраля 2015, 12:34) ---------------------------------------------
Цитата refusepit
это более понтовый путь, чем менять в редакторе ванильную локацию
Ну, ради понтов, конечно, чего только не сделаешь, но добавление в локацию NPC не ведёт к конфликтам с другими модами добавляющими что-то в локацию. Разве что в добавленную статику его воткнёшь...
Потому что добавленная копия, к счастью, не перезаписывает всю локацию и другие добавленные копии не стирает. Можно нечаянно поставить что-то на занятое место, это да, хоть и маловероятно. Здесь функция PlaceAtMe имеет небольшое преимущество - она, если вдруг что, не разместит непися в статике, а сдвинет на пустое место. Более вероятны не "конфликты перезаписи", а "конфликты поведения". То есть если кто-то населил бар "У руля" дикими гулями, а ты поставил туда девицу лёгкого поведения, то гули этого не оценят и разорвут её, даже пикнуть не успеет. Или если пакеты AI приказывают неписям сидеть на одном и том же стуле, то они запросто могут сесть один на другого. И т.п. От такого маркер не поможет.
Еще один вопрос: почему после использования некоторых модов и их последующем удалении сэйвы перестают загружаться (вылетает)? Моды самые простецкие - добавленная в какой-нить ящик броня и тп. При этом другие подобные моды сейвы не портят.
У кэпа я уже спрашивал, в итоге оказалось проще начать заново.
Вопрос еще: как можно перетащить плагин-интерьер из вегаса? Точнее даже - можно ли как-то автоматически извлечь нужные текстуры и меши из архивов вегаса и поместить их в папку плагина (а то вручную для каждого объекта это слишком сурово выходит)
Есть проблема с уроном оружия. Добавил в мод множество пушек, но в игре появился странный баг, урон оружия завышен в несколько раз. Например в редакторе он на уровне 25 единиц, а в игре 175 и такое оружие сносит все живое. Это касается всего огнестрела в игре, кроме энергопушек. Никаких усиливающих эффектов и перков не стоит и не одето никаких вещей с такими эффектами. Стоит мод отключить и урон возвращается к нормальному. Как поправить этот баг?
Есть проблема с уроном оружия. Добавил в мод множество пушек
Я правильно понимаю, что в переводе на русский это означает "подключил в игру мод с множеством пушек"? До возвращения из отпуска телепата, который сможет прочитать в твоих мыслях, какой именно мод ты подключил, посоветую только проверить, какие Game Settings в этом моде вписаны. Некоторые из них умеют умножать урон...
Как сделать вместо трусов и майки комбинезон убежища 101, но только у выходца?
Создать расу, у которой "голым телом" работает комбинезон, а не трусы, и назначить выходцу эту расу. Процесс описан много где в разных интерпретациях - "как сделать ГГ уникальную татуировку", "как сделать, чтобы только у ГГ была железная рука" и т.п.; нестандартная раса ГГ вызовет ряд проблем в игре, но решения этих проблем уже известны и обычно описаны там же, гда описывается назначение ГГ собственной расы.
Только вместо показа (или вместе с показом) сообщения Showmessage использовать команду Lock И в блоке гейммод изменить в конце установку переменной sFlag не в 2, а вернуть 0. Чтобы эту дверь можно было повторно использовать (с тем же успехом - на пару сек). Т.е. - запускаем процедуру открывания заново.
--------------- Begin GameMode if (fTimer > 0) && (sFlag == 1) Set fTimer to (fTimer - GetSecondsPassed) elseif (sFlag == 1) ShowMessage "ТвоеСобщениеID" ; сообщение "Дверь заперта" "ТвояДверьRef".Look xxx ;уровень запирания Set sFlag to 0 endif End ---------------
Чтобы запиралась на ключ - нужно у реф-копии двери выбрать во вкладке Look уровень взлома "Нужен ключ" и указать нужный ключ. Ключ, естественно, заранее должен быть создан. А в скрипте двери выставить уровень запирания в 255
ЗЫ. Примерно такая же фишка использовалась в моде "Проект Генезис". Там выключателем открывалась дверь на 3 сек и за это время нужно было добежать до двери, пока она не захлопнулась. Скрипт там немножко другой, поскольку вешался на выключатель, а не на саму дверь.
Ой, всё...
Изменение репутации для пользователя LonelyTraveler
LonelyTravelerOffline
Сообщение №1461
написано: 22 марта 2015, 12:29
| Отредактировано: LonelyTraveler - 22 марта 2015, 12:29
Я к тому, что она не проигрывает анимацию закрывания, как все приличные двери, а моментально становится закрытой и запертой. Вот если б немножко GetOpenState и Activate в этот гейммод...
А, вот о чем. Каюсь - не обратила внимания, что дверка в игре слишком быстро схлопнулась. Действительно - чота сплю сегодня. Чуть ранее написала, что скрипт можно вешать на любую дверь, а сейчас спохватилась - там же, в скрипте, прописан конкретный референс
Ой, всё...
Изменение репутации для пользователя LonelyTraveler
LonelyTravelerOffline
Сообщение №1466
написано: 22 марта 2015, 19:10
| Отредактировано: LonelyTraveler - 22 марта 2015, 19:13
Тут меня на днях Юпитер ругал: - ох, мол, скриптеры-теоретики, всё за вас проверять надо... Вот я и взялась... проверять.
Цитата LonelyTraveler
И у меня тоже дверь моментально закрывается.
Опять же - Юпитер писал: - Вот если б немножко GetOpenState и Activate в этот гейммод... И опять я проверила. Правда, если вставлять обе эти команды - вылезает такой нюанс: все работает просто замечательно, если у ГГ уже есть ключ от двери в кармане. Открывается, как положено, закрывается с анимацией через n секунд, как положено. Но вот если в ПЕРВЫЙ раз попытаться активировать дверь, не имея ключа в кармане - то она потом не хочет открываться даже с ключом Куда-то я не туда вставляю GetOpenState == 1 в гейм-моде. Пробовала несколько вариантов. Поэтому остановилась на этом, пока без GetOpenState:
scn aaaaTimerSCRIPT
short sFlag float fTimer
Begin OnActivate
if (sFlag == 0) Set sFlag to 1 Set fTimer to 5 Activate endif
End
Begin GameMode
if (fTimer > 0) && (sFlag == 1) Set fTimer to (fTimer - GetSecondsPassed) elseif (sFlag == 1) activate Lock 255 ShowMessage aaaaMessage Set sFlag to 0 endif
End
Почти идеально. Почти - это потому что при попытке активации двери без ключа почему-то дважды всплывает стандартное сообщение "Эта дверь активируется не здесь" и следом мое сообщение "Дверь заперта". Где-то что-то там включается... Это из-за установки sFlag. А потом, когда ключ в кармане - всё чики-чики. Дверь открывается, закрывается как и планировалось. Буду разбираться завтра, а то уже ночь на дворе, спать охота.
Добавлено (23 Марта 2015, 00:17) --------------------------------------------- Кстати, а зачем ключ? Смысл в нем? Если ГГ пришел с мечом ключом - он откроет дверь. Она потом закроется, но ключик-то - вот он... Можно снова открыть. Логичней было бы, чтоб открывалось без ключа, а вот когда зашел - хлоп! Дверь закрылась. И ищи ключ.
Ой, всё...
Изменение репутации для пользователя JupiterJour
JupiterJourOffline
Сообщение №1468
написано: 22 марта 2015, 22:50
| Отредактировано: Joopeeter - 22 марта 2015, 22:32
Логичней было бы, чтоб открывалось без ключа, а вот когда зашел - хлоп! Дверь закрылась. И ищи ключ.
Тогда надо немного по-другому. Одну и ту же реф-копию не получится одновременно назначить незапертой и назначить ей ключ. То есть заперев её скриптом, отпереть потом можно будет только опять скриптом. Получается, надо ставить две двери - первая открывается, закрывается и заменяется на вторую, запертую.
Добавлено (23 Марта 2015, 01:50) --------------------------------------------- Хотя дверь можно в ГЭКК запереть в открытом состоянии, поставив одновременно галки Locked и Open by default. Тогда при наведении курсора на открытую настежь дверь будет надпись, мол, заперто, нужен ключ.
Изменение репутации для пользователя КсюXa
КсюXaOffline
Сообщение №1469
написано: 23 марта 2015, 04:06
| Отредактировано: КсюXa - 23 марта 2015, 08:00
первая открывается, закрывается и заменяется на вторую, запертую.
А визуально сам момент подмены будет виден?
Из соображений практичности и целесообразности... Честно говоря - вообще не понимаю смысл этих манипуляций с изначально запертой дверью и ключом. Ведь если так важна анимация откр\закр , то значит эти двери - это не телепорт между двумя ячейками, а просто разделяют две комнаты в одном интерьере. И вот тут надо учитывать психологию игроков. Потому что, когда мы в первый раз подходим к этой двери, не зная, что для неё нужен ключ, а потом оказывается, что для поиска ключа для прохода "на ту сторону" потребуется ходить-бродить по скучным, а главное, бессмысленным по планировке коридорам, сделанным по принципу: лишь бы побольше переходов, лестниц, поворотов и за каждым из них поджидает надоевший уже после пятой встречи зомбик - то зуб даю - 95% игроков не станут заморачиваться и просто пройдут сквозь дверь tcl-ом. Нет, конечно, каждый мододел декларирует: - вот, мол, у меня будет ого-го как, всё круто-прекруто, получите наслаждение... Но, опять же, положа руку на левую грудь, честно скажите - много мы видели модов, в которых блуждание по коридорам действительно вызывает интерес? А чтоб подстраховаться от "несанкционированного" прохода дверей - это надо лепить еще одну конструкцию, всякие там проверки на открывалась ли дверь ранее и есть ключ в кармане и т.д. Сизифов труд... ради оставшихся 5% самых упёртых "халф-лайферов". Про ситуацию, когда ключ есть у игрока уже до нахождения двери я писала в предыдущем посте - тут вообще теряется смысл запирания дверей. Если же дверь - это таки телепорт между разными ячейками, то все эти танцы с бубном тоже странны. Анимацию все равно мы не увидим, а проблему "ниппельного" прохода можно решить без скриптов, на уровне расстановки дор-маркеров, используя две пары дверей и ключ. В направлении "туда" - пара обычных незапертых дверей, в направлении "оттуда" - пара запертых на ключ. Без всяких скриптовых enable\disable. Просто "приемные" двери в каждой паре размещать в недоступном месте. А чтоб запертую дверь не взломали чит-кодом - повесить на неё простой скрипт, проверяющий наличие ключа в кармане игрока.
Нет, если правильно поставить флаги постепенного/мгновенного исчезновения/появления (я без шпаргалки их всё время путаю).
Насчет целесообразности. Я авторской задумки не знаю. Может, ключ и не должен попасть к игроку (дверь пропускает только неписей с ключом). Может, дверь, должна отсекать неписей без ключа.