Модератор форума: КсюXa, ApeX  
Форум » Fallout 3 » Мастерская » Помощь по моддингу (Помощь в нелегком модмейкерском деле)

Помощь по моддингу
КсюXa  Offline  Сообщение №1 написано: 9 июля 2010, 18:51


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




Тема для общих вопросов по моддингу игры.
Возможно, что ответ на ваш вопрос уже есть в Картотеке.

Ой, всё...
JupiterJour  Offline  Сообщение №1951 написано: 1 августа 2017, 20:23


_


Пакет Follow? Вроде проблемы такого типа бывают, когда напарник непись выполняет Wander или Sandbox с центром на ГГ unsure
Вообще традиционный совет в таких случаях - взять что-то работающее как надо, ванильное например, и посмотреть, чем оно отличается от твоего.

Ipatow  Offline  Сообщение №1952 написано: 2 августа 2017, 04:30



Цитата Joopeeter

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

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

tundruck73  Offline  Сообщение №1953 написано: 2 августа 2017, 04:59 | Отредактировано: tundruck73 - 2 августа 2017, 05:04



Чтобы напарник не терялся, я делал так: создавал технический квест, запускаемый после вербовки компаньона, на него вешал примерно такой скрипт:

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

Мосье, же не манж па сис жур...
Умер 23.04.2019
Shtuka  Сообщение №1954 написано: 2 августа 2017, 06:35

tundruck73, спасибо, переписал. А разве можно два Begin GameMode в одном скрипте запускать, не знал, почемуто думал что повторять нельзя unsure ? Ладно пойду попробую интегрировать эту надстроику к своим наёмникам :) .

tundruck73  Offline  Сообщение №1955 написано: 2 августа 2017, 06:58



Да не за что. А что касается двух и более блоков gamemode, то если условия разные, то почему бы и нет?

Мосье, же не манж па сис жур...
Умер 23.04.2019
Shtuka  Сообщение №1956 написано: 2 августа 2017, 09:22 | Отредактировано: shtuka - 2 августа 2017, 09:30

tundruck73, а что если мой наёмник не имеет отдельного REF? Дело в том, что мои наемники раскиданы по барам пустоши и все основываются на одном неписе, а он на списке в котором их 12 штук(разные статы и т.д.), значит мне не судьба :) ?

Добавлено (02 Августа 2017, 12:22)
---------------------------------------------
Нанимать их можно в любом количестве, просто увеличивается количество контрактов. Квест наемников идентифицирует "свободен" или уже "нанят" по измененной фракции.

JupiterJour  Offline  Сообщение №1957 написано: 2 августа 2017, 13:41


_


Цитата shtuka

а что если мой наёмник не имеет отдельного REF? Дело в том, что мои наемники раскиданы по барам пустоши и все основываются на одном неписе, а он на списке в котором их 12 штук(разные статы и т.д.)


Он имеет отдельное RefID. Это RefID буквы М со стрелкой. Не важно, какой именно вид эта буква М приобрела в игре - Пети, Маши или радтаракана.

Shtuka  Сообщение №1958 написано: 2 августа 2017, 14:01 | Отредактировано: shtuka - 2 августа 2017, 14:23

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

Ipatow  Offline  Сообщение №1959 написано: 2 августа 2017, 14:32



Цитата Joopeeter

Говорят, что компилятор будто бы всё равно склеивает одинаковые блоки в один, но я встречлся с ситуациями, когда второй одинаковый блок не выполнялся.

Там есть некоторые эзотерические моменты... вроде того, что диалоговые срипты, скрипты пакетов и подобные на самом деле исполняются в контексте скрипта соответствующего объекта (моба/актора), с пересечением по переменным и другими приключениями... вроде того, что RETURN обрубает хвост по самые ушки всем секциям скрипта после той, в которой встретился... последнее может быть одной из причин, почему из двух однотипных блоков первый отрабатывает, а второй куда-то пропадает... и всё это ни капельки не документировано

Shtuka  Сообщение №1960 написано: 2 августа 2017, 18:12

Итак, повозился тут со скриптом, tundruck73, похоже ваш скрипт не может вытянуть пропавшего наемника, видимо он пропадает в "нигде" и от туда нет дороги :) . Вообще наемников делал по технологии как в моде Sharing and Caring Companions. Зато нашел и исправил другие косяки smile2 . А часовое ожидание напарника спишем на мелкое жульничество со стороны наемника, ради лишнего часа контракта :D , паразит!

Добавлено (02 Августа 2017, 21:12)
---------------------------------------------
Я так прикинул, ситуация ровнехонько как отметил Ipatow ранее: 

ситуация получается довольно тупиковая

tundruck73  Offline  Сообщение №1961 написано: 3 августа 2017, 05:09



Странно, однако, у меня эта конструкция всегда безотказно работала unsure 
А какой вы все же REFid применили, если не секрет?

Мосье, же не манж па сис жур...
Умер 23.04.2019
JupiterJour  Offline  Сообщение №1962 написано: 3 августа 2017, 12:58 | Отредактировано: Joopeeter - 3 августа 2017, 13:04


_


Цитата shtuka

скрипт не может вытянуть пропавшего наемника, видимо он пропадает в "нигде" и от туда нет дороги


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

Ipatow  Offline  Сообщение №1963 написано: 3 августа 2017, 14:55



Цитата Joopeeter

Во вспомогательном квесте объяви сколько-то реф-переменных.

Я использовал формлисты, но это в третьем фоле нет массивов, а NVSE нехватку типов данных хорошо восполнил... Tutorial: Array Variables

Shtuka  Сообщение №1964 написано: 4 августа 2017, 08:33 | Отредактировано: shtuka - 4 августа 2017, 08:33

Наконец освободился, вчера работали до поздна, все из-за проклятых дождей.
Joopeetertundruck73, я извеняюсь blush  , как бы несколько по другому испытал скрпт, просто в квесте когда происходит найм, подкидываю в карман наемника "безделушку" с таким скриптом:

Begin GameMode
if GetDistance Player >= 2000
MoveTo Player
endif
end
Такая вот инициатива была, но походу без реф ссылок не обойтись closedeyes  . Думал сделаю проще...

Меня в применении реф сылки по прежнему смущает то что она:
1. имеет в базовом объекте Непись основанную на списке с разным народом(рандом: доктора, обит.пустошей, рейдеры, своб.сталкеры и др. и они не нанимаемые)
2. Много сылок по пустоши, около 50(но теперь Joopeeter, получается решил этот вопрос)

Вообще у меня появилась такая идея, сделать как бы свисток/поводок в виде кнопки в пип бое, будет подкидываться в карман гг при найме. Нажимаем и где бы наемник не был и чтобы не делал, "прибегает" к гг. Собираюсь использовать MoveTo Player, но есть еще PlaceAtMe? Надо что-нибудь разрезать, пойду ка я скачаю Брису или Эми там вроде помнится такая кнопка была(никогда их не использовал, но где то читал) :D .

Начну разбираться, в свете новой информации от Joopeeter да еще и от Ipatow,  разбираться мне долго, но вопрос наболевший и если есть вариант его решить, то оно того стоит :) .

tundruck73  Offline  Сообщение №1965 написано: 4 августа 2017, 08:59



Цитата shtuka

Вообще у меня появилась такая идея, сделать как бы свисток/поводок в виде кнопки в пип бое, будет подкидываться в карман гг при найме

Не совсем так, но похоже сделан праздничный колпак-телепорт в модах, портирующих в "Вегас" напарниц Джесси и Келси. При найме напарника ГГ получает этот колпак и в случае его (напарника) исчезновения надевает. Срабатывает этот скрипт:

scn JessiTeleporterSCRIPT

;Port Jessi to player on Equip
begin OnEquip
set JessiREF.JessiHome to 0
set JessiREF.Waiting to 0
    JessiREF.moveto player
end

Мосье, же не манж па сис жур...
Умер 23.04.2019
JupiterJour  Offline  Сообщение №1966 написано: 4 августа 2017, 11:53


_


Цитата shtuka

Собираюсь использовать MoveTo Player, но есть еще PlaceAtMe


MoveTo двигает имеющуюся ссылку, PlaceAtMe создаёт новую.

Добавлено (04 Августа 2017, 14:53)
---------------------------------------------
Но вообще мне непонятно, как можно сломать пакет Follow. Наоборот, он всегда был надеждой и опорой в поиске пропавших спутников: прошёл через дверь или фэсттревел - и вот они все тут как тут.


Ipatow  Offline  Сообщение №1967 написано: 4 августа 2017, 13:58



Цитата Joopeeter

вообще мне непонятно, как можно сломать пакет Follow. Наоборот, он всегда был надеждой и опорой в поиске пропавших спутников: прошёл через дверь или фэсттревел - и вот они все тут как тут.

Да, пакет Follow работает безотказно - но беда в том, что это работает как запрет делать что-то ещё. Вообще спутник спутничает, на то он и спутник, но в частности - когда ГГ всё равно стоит пнём и о чём-то задумался - могли бы быть вариации. И когда ГГ внезапно очнулся и сунулся в дверь - возможно, спутник сидел на лавочке у двери, или свежие трупы обыскивал... Хотелось бы, чтобы спутник не был обязан стоять столбом только потому, что ГГ в любой момент может телепортироваться, и надо изо всех сил держать Follow 24/7. Но шаг влево шаг вправо для игры - "сломал"!

Shtuka  Сообщение №1968 написано: 5 августа 2017, 10:21 | Отредактировано: shtuka - 5 августа 2017, 10:22


Но вообще мне непонятно, как можно сломать пакет Follow. Наоборот, он всегда был надеждой и опорой в поиске пропавших спутников: прошёл через дверь или фэсттревел - и вот они все тут как тут.
Эврика! Joopeeter все время говорил: это странно... мне непонятно... проверь ванильное... и был прав! Короче беру в напарники Джерико и что? Блин, тоже самое, один в один...
Ведь и наемники по началу нормально ходили, без пропаданий... А потом вдруг перестали, давно это было, много изменений в моде назад unsure  , я тогда решил что проблема в наемниках и искал решение, потом бросил...
Вот же фигня, ребята, что можно было изменить в Гекке, что привело к таким последствиям? Я понимаю, это очень сложно, но хоть теорию предложите? Любую, я вообще не знаю что теперь делать russianroulette

Добавлено (05 Августа 2017, 08:59)
---------------------------------------------
Вот еще думаю, может вот это создало эти проблемы: https://yadi.sk/i/tsk5saaD3LjD3Q   еще   https://yadi.sk/i/IYP__rtZ3LjD6X

или это: https://yadi.sk/i/2IxD8Dd53LjD5x

Добавлено (05 Августа 2017, 09:45)
---------------------------------------------
Что еще странно: беру в напарники наемника или ванильного Джерико идем в ворота из Мегатонны, выхожу, конечно один, эти "пропали"(кстати, если зайти обратно в Мегатонну, "пропавшие" не обнаруживаются), дальше двигаю в Спрингвейл и захожу к бывшей путане, и вот они "проапавшие", передо мной! Дальше уже не "пропадая" следуют за мной до Мегатонны и пройдя через ворота я опять один, захожу в свой сарай и вот "пропавшие" передо мной mellow  . Дальше все можно повторить russianroulette  .

JupiterJour  Offline  Сообщение №1969 написано: 5 августа 2017, 11:51 | Отредактировано: Joopeeter - 5 августа 2017, 11:53


_


Навмеш попорчен? unsure  Финализируй заново внутри и снаружи.

Добавлено (05 Августа 2017, 14:51)
---------------------------------------------
Цитата shtuka

может вот это ...
...или это


Можно вырезать то и это FO3Edit'ом да поглядеть, поможет или нет.

Shtuka  Сообщение №1970 написано: 5 августа 2017, 12:16


Навмеш попорчен?   Финализируй заново внутри и снаружи.
Финализация оказалась без результата :( . В Цитадели тож самое, феномен "пропадания", а вот Ривет-сити все нормально, явно связь с ворлдспейсами. Что-же бажит-то???

JupiterJour  Offline  Сообщение №1971 написано: 5 августа 2017, 13:11


_


Цитата shtuka

Буду искать в Details


Это мазохизм. К тому же вовсе незачем открывать плагин в ГЭККе. Главное, чтобы он в игру грузился, чтобы можно было взять кого-нибудь и ходить с ним в Мегатонну и из неё.

Shtuka  Сообщение №1972 написано: 6 августа 2017, 11:17


К тому же вовсе незачем открывать плагин в ГЭККе. Главное, чтобы он в игру грузился, чтобы можно было взять кого-нибудь и ходить с ним в Мегатонну и из неё.
Голова увас Joopeeter, как у шахматиста, наперед ходы делаете good . А мне не повезло :D . В любом случае результата опять нет :( . Неужели такая баговщина только у меня? Понять бы "природу" этого феномена, хотя думаю что мои действия тут не причем, скорее всего баг Гека или движка, ладно, точка, надо прекращать... closedeyes

Добавлено (06 Августа 2017, 14:17)
---------------------------------------------
Идея! Вечером попробую вернуть до дефолтного состояния(броню, статы, пакеты, диалоги, короче все), например Джерико, снова прогнать в ворота, тогда и посмотрим :) ...


JupiterJour  Offline  Сообщение №1973 написано: 6 августа 2017, 19:55


_


Возможно, стоит удалить из плагина MegatonWorld и ячейку перед воротами на пустоши - MegatonMainGate (если заторнута).

Shtuka  Сообщение №1974 написано: 24 августа 2017, 13:20 | Отредактировано: shtuka - 24 августа 2017, 13:25

Пришел из Бункера чтобы там не сорить...

Копирую короче все у себе в плагин(по скриншотам) по совету КсюХи, и тут как вылезет при компиляции скрипта: https://yadi.sk/i/cwDzqs-M3MHwdf , и не дает сохранить :( , все остальное из плага Юпитера перексерилось без проблем, но тут этот скрипт.
Юпитер ведь как-то скомпилировал, и от того есть такая дума, а мог ли Юпитер создать плаг в Fo3Edite или еще где, а не в Гекке? Подозреваю что слияние потому и бажило. Я сам Fo3Edit не пользую так как после него плагины в Геке не открыть, потому мало что про его возможности знаю.

Как же быть? Как скомпилироваться? И что это за ошибка компиляции?

Скрипт целиком: https://yadi.sk/i/LXVAuwCV3MHzkg

КсюXa  Offline  Сообщение №1975 написано: 24 августа 2017, 16:30 | Отредактировано: КсюXa - 24 августа 2017, 17:42


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


Цитата shtuka

Fo3Edit не пользую так как после него плагины в Геке не открыть


Дануна. Это вообще из разряда "даст ист фантастиш". ГЕКК и ЭДИТ - это просто два основных инструмента, дополняющих друг друга в работе над ОДНИМ плагином.

Ой, всё...
Ipatow  Offline  Сообщение №1976 написано: 24 августа 2017, 17:33



Цитата КсюXa

"даст ист фантастиш"

Можно такого в xEdit натворить, что GECK потом взорвётся! Но нечаянно это сделать - большая удача нужна...

КсюXa  Offline  Сообщение №1977 написано: 24 августа 2017, 17:41 | Отредактировано: КсюXa - 24 августа 2017, 17:47


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


Цитата Ipatow

Можно такого в xEdit натворить


Конечно можно, еще как. Но это из области экспериментов: а что будет, если я... (сделаю то, чего ГЕКК не может)

Ой, всё...
ApeX  Offline  Сообщение №1978 написано: 24 августа 2017, 18:59



Ну если "Реквием по Столичной Пустоши" был всего лишь экспериментом, а не полноценным модом...

JupiterJour  Offline  Сообщение №1979 написано: 24 августа 2017, 19:36


_


Цитата shtuka

делать общее среднее XP, типа "Player.Revard XP" после "placeAtme взрыв-каюк", как-то так, жаль нету способа проверить сколькоУровневый юнит был уничтожен


Ну, логичнее делать это в алярм-эффекте. Придать ему длительность 1 секунда (потому что взрыв-каюк происходит после стоп-взрыва), отметить No death dispell в базовом эффекте. В скрипт дописать блок OnScriptEffectFinish. В нём, если GetDead == 1, долго и нудно выясняем, насколько силён был вражина: GetCreatureType, GetBaseAV, ещё что-нибудь такое, GetArmorRating например... Складываем, вычитаем, умножаем, делим, начисляем опыт. Или не выясняем, не складываем, не умножаем, а просто начисляем чисто символическую единичку, чтобы счётчик звякнул.

КсюXa  Offline  Сообщение №1980 написано: 25 августа 2017, 02:10 | Отредактировано: КсюXa - 25 августа 2017, 02:45


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


Цитата Apex

Ну если "Реквием по Столичной Пустоши" был всего лишь экспериментом, а не полноценным модом...


А разве нет? Конечно, эксперимент. Кувалдой вбили друг в друга две разные игры и долго-долго обрабатывали напильником получившуюся болванку. Но, как и положено, вместо самолета получился паровоз.

   Кстати, а не пробовал вместо русского ГЕККа взять оригинальный английский? Я не первый раз слышу, что в русском ГЕКК для Ф3 есть какие-то баги, возникшие во время перевода. Его же не переводили с нуля, а просто перенесли переведеные блоки из Вегасовского ГЕККа. Что-то где-то и перехлестнулось-багнулось.
   PS. И да, на всякий случай скажу (а вдруг?) - для работы над модами для Ф3 нужен фоловский же ГЕКК. А то многие пользуются Вегасовским...

Ой, всё...
Форум » Fallout 3 » Мастерская » Помощь по моддингу (Помощь в нелегком модмейкерском деле)
Поиск:





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