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

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


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




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

Ой, всё...
Shtuka  Сообщение №1711 написано: 10 февраля 2016, 16:29 | Отредактировано: shtuka - 10 февраля 2016, 19:25

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

JupiterJour  Offline  Сообщение №1712 написано: 10 февраля 2016, 17:23


_


В скрипте нет функций ФОСЕ, зато есть посторонние патроны facepalm

Shtuka  Сообщение №1713 написано: 10 февраля 2016, 19:24 | Отредактировано: shtuka - 10 февраля 2016, 19:28

2Joopeeter, патроны моего мода и товарищей модмейкеров,они все боеспособны(проверенно). Может меня не так поняли про FOSE, суть такова: GECK не согласен сохранить мои изменения в этом скрипте из известного мода(вот исходник скрипта:
), такое может быть, что не секрет по причине отсутствия редактора FOSE.

P.S. простые без расширителя сохраняет, причина все-таки в FOSE.

Может поможете с моей просьбой?

JupiterJour  Offline  Сообщение №1714 написано: 10 февраля 2016, 21:18 | Отредактировано: Joopeeter - 10 февраля 2016, 21:18


_


Цитата shtuka

простые без расширителя сохраняет, причина все-таки в FOSE.


Причина, подозреваю, в том, что скрипт ты в свой мод скопипастил, а патроны нет. И пытаешься скомпилировать, не загрузив в ГЭКК нужные мастера - это я сужу по тому, что ты предлагаешь кому-то сделать именно так.

КсюXa  Offline  Сообщение №1715 написано: 11 февраля 2016, 05:06 | Отредактировано: КсюXa - 11 февраля 2016, 07:14


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


скрипт ты в свой мод скопипастил, а патроны нет. И пытаешься скомпилировать, не загрузив в ГЭКК нужные мастера

Важно - почему именно мастера. А потому что если ты грузил в ГЕКК несколько плагинов-еспешников от своих друзей-мододелов, а затем в скрипте своего мода указал патрон из одного из этих еспешников, то скрипт В ПЕРВЫЙ РАЗ сохранится. Но зато в следующий раз, когда ты загрузишь в ГЕКК только свой еспешник, но забудешь загрузить еспешник-донор, то скрипт не найдет указанный патрон из донора и не сохранится. Потому что ГЕКК не умеет привязывать есп к есп и не сохраняет связи между ними. Именно поэтому донор должен быть мастером-файлом ESM, чтобы ГЕКК привязал его к твоему плагину и они всегда грузились в редактор и в игру вместе.

PS. И да, тебе пытались втолковать, что текст скрипта (ни твоего самопального, ни оригинального исходного) не содержит FOSE-команд и, соответственно, расширитель тут не нужен и значит он тут не при чем.

Ой, всё...
Shtuka  Сообщение №1716 написано: 20 февраля 2016, 17:51 | Отредактировано: shtuka - 20 февраля 2016, 17:47

Привет всем, КсюXa(вам отдельное за инфу), Joopeeter, спасибо вам. Благодаря вам нашел причину: ошибку на скрипт читал не внимательно, просто глаз уже замылило "Unknaw kommand" из-за FOSE, а было вот что: DLCAmmoAlien вместо DLC05AmmoAlien  :dr:  facepalm . Все остальное работает и правильно.

P.S. может быть Ipatow(загадочная личность) как раз на это намекал...
А зету не надо? Там же DLC05AmmoAlien

Добавлено (20 Февраля 2016, 20:51)
---------------------------------------------
Привет. Мастера и гуру модмейка, пожалуйста, очень нужен ваш БОЛЬШОЙ опытный глаз на мой маленький скрипт. Скрипт маааааааленький и опыт в скриптах маааааленький, а мод нужен неглючьненький. 
Вообщем скрипт повесил на LvlFeralGhoul2(моя мод.копия базы LvlFeralGhoul).
Далее множу LvlFeralGhoul2 по всей пустоши(перетаскивая ручками онного).
И получаю (теоритически) по ночам зомбопокалипсис.
Получится? Неглючненько?


Spalny_Vagon  Offline  Сообщение №1717 написано: 20 февраля 2016, 19:53


Мастер


Цитата shtuka

GameHour

Это будет не ночной апокалипсис. Это исход всех гулей после восьми часов игры. Навсегда.
Для проверки времени суток используется функция getcurrenttime.

======================
Мод "Нью-Йорк" на русском: https://modgames.net/load/fallout3/addon/new-york-bolshoe-yabloko/34-1-0-1294
Мод "Нью-Йорк" на английском: https://modgames.net/load/fallout3/kvesty/the-big-apple/23-1-0-19771
КсюXa  Offline  Сообщение №1718 написано: 21 февраля 2016, 05:50


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


Цитата shtuka

нужен ваш БОЛЬШОЙ опытный глаз на мой маленький скрипт

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

Ой, всё...
JupiterJour  Offline  Сообщение №1719 написано: 21 февраля 2016, 10:57 | Отредактировано: Joopeeter - 21 февраля 2016, 10:59


_


Цитата Spalny_Vagon

Это исход всех гулей после восьми часов игры. Навсегда.


При всём к Вам уважении, нет. По наблюдениям, GameHour вполне исправно возвращает время, ровно такое же, как GetCurrentTime. На вики, правда, упоминается, что в районе полуночи часы немного сбоят, на какие-то минуты, не критично.

КсюXa, принципиальная ошибка в другом. В скрипте дизэйблится и энэйблится реф-переменная, которой не задали никакого значения. То есть [пустое место].Enable, [пустое место].Disable. Скрипт на самом актёре, переменная там вообще не нужна.
А непринципиальная ошибка в том, что вместо того чтобы включать и выключать зомби-откопалисис Enable Parent'ом, не спеша отслеживая время и расположение игрока в квестовом скрипте, автор наплодил по всей пустоши скриптованых актёров с гейммодами.

Spalny_Vagon  Offline  Сообщение №1720 написано: 21 февраля 2016, 12:31


Мастер


Цитата Joopeeter

При всём к Вам уважении, нет. По наблюдениям, GameHour вполне исправно возвращает время, ровно такое же, как GetCurrentTime. На вики, правда, упоминается, что в районе полуночи часы немного сбоят, на какие-то минуты, не критично.

Да, конечно. Это я с GameDaysPassed спутал. Что касается полночи, если в момент перехода через 0 часов игрок спит или ждет, то результат  может быть просто непредсказуем. Это уже по моим наблюдениям. Хотя, к поднятому вопросу это и не относится.

======================
Мод "Нью-Йорк" на русском: https://modgames.net/load/fallout3/addon/new-york-bolshoe-yabloko/34-1-0-1294
Мод "Нью-Йорк" на английском: https://modgames.net/load/fallout3/kvesty/the-big-apple/23-1-0-19771
Shtuka  Сообщение №1721 написано: 21 февраля 2016, 17:27 | Отредактировано: shtuka - 21 февраля 2016, 17:59

Привет Мастерам. Спасибо за помощь, правда малость запутался :( . Не понятно теперь что грамотней:
1)Ваш совет КсюXa, использовать тот скрипт вместо теперь исправленного моего:
2)Ваши рекомендации Joopeeter, использовать квест со скриптом:
автор наплодил по всей пустоши скриптованых актёров с гейммодами


P.S.Респавн существа заключенного в изначальный скрипт с GameHour, не происходил(не совсем абсолютно), а с GetCurrentTime осечек почти небыло.

JupiterJour  Offline  Сообщение №1722 написано: 22 февраля 2016, 09:45 | Отредактировано: Joopeeter - 22 февраля 2016, 09:47


_


Цитата shtuka

признателен буду за чуть более подробную информацию


Подвешиваешь где-нибудь в лёгком для поиска месте (например, в специально для этого созданной пустой ячейке) маркер. Даёшь ему RefID, например, zzMarkerRef. Расставляешь по пустоши обычных ванильных незаскриптованных гулей, привязываешь их всех к этому маркеру как к Enable Parent'у. Создаёшь квест, не забывашь отметить Start Game Enable, вешаешь на него скрипт наподобие такого:

Begin GameMode
if GetCurrentTime < 8
if zzMarkerRef.GetDisabled
zzMarkerRef.Enable
endif
else
if zzMarkerRef.GetDisabled != 1
zzMarkerRef.Disable
endif
endif
End

Недостатки: гули могут появляться и исчезать прямо перед носом; тела тоже появляются и исчезают.
Достоинства: можно приделать к исчезающим гулям звук "чпок", будет смешно.

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

КсюXa  Offline  Сообщение №1723 написано: 22 февраля 2016, 15:17 | Отредактировано: КсюXa - 22 февраля 2016, 15:24


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


Цитата Joopeeter

Накидать в укромных уголках маркеров

В моде "Зомби Апокалипсис" (кажется в нём, но может и в аналогичном) автор не поленился раскидать маркеров респауна, если не изменяет память, что-то около 8000 штук. Вот это терпение!!!

Ой, всё...
Shtuka  Сообщение №1724 написано: 22 февраля 2016, 19:27

что-то около 8000 штук. Вот это терпение!!!

Считаю это перебор и не лорно, но терпение и в правду как у камня :) . У меня около 2000 вместе с тараканами. У гулей(разнообразил левельный список со всех DLC, и не стал их уродовать как в З.А.) спавн только возле бывших городов и в зонах с пов. рад. заражением. Тараканы вылазиют по всей остальной территории и они по фракции враги с гулями. И все это только ночью, темной ночью... вот он хороший геймплейный реализм.
Но это лирика, а вот по существу: с утра начал переделывать как научил Joopeeter(СПАСИБО), пальцы уже сворачиваются от Enable Parent :) . Но терзает меня вопрос, а поможет ли переделка снизить нагрузку на железо??? Потому-что по ночам игра начинала заметно подзаикивать, грешу на наличие скрипта в каждом таракане и гуле...

КсюXa  Offline  Сообщение №1725 написано: 23 февраля 2016, 03:07


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


Цитата Joopeeter

Создаёшь квест,....... вешаешь на него скрипт

Зачем на каждого таракана-то?

Ой, всё...
JupiterJour  Offline  Сообщение №1726 написано: 23 февраля 2016, 09:29 | Отредактировано: Joopeeter - 23 февраля 2016, 09:32


_


Цитата shtuka

по ночам игра начинала заметно подзаикивать, грешу на наличие скрипта в каждом таракане и гуле...

Так смысл Enable Parent'а и состоит в том, что не нужен каждому гулю ни скрипт, ни постоянная ссылка с RefID. Включаешь родителя - автоматом включаются привязанные ссылки, выключаешь - выключаются.
А подзаикивает скорее всего от самого количества актёров. Каждый требует ресурс, правда, если стоит галка No Low Level Processing, то требует только когда находится в загруженной области. А в бою он вообще жрёт ресурс в три горла. Поэтому масштабные битвы, пусть даже это гули, давящие тараканов, нуждаются в специальной оптимизации - каждая индивидуально.

КсюXa  Offline  Сообщение №1727 написано: 23 февраля 2016, 14:28


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


Цитата shtuka

хороший геймплейный реализм


РеализЬм. 200 лет прошло, радиация давно пошла на убыль, природа самоочищается, а бесплодные гули и мутанты всё множатся и множатся...
shtuka, если не совсем ясно про групповую обработку ссылок - то вот для наглядности скриншот :)

Ой, всё...
Shtuka  Сообщение №1728 написано: 23 февраля 2016, 16:32 | Отредактировано: shtuka - 23 февраля 2016, 18:52

Бойцы, поздравляю всех с празднмком! Желаю лихих побед, трофеев побогаче и верных женщин!

Цитата КсюXa

РеализЬм. 200 лет прошло, радиация давно пошла на убыль, природа самоочищается, а бесплодные гули и мутанты всё множатся и множатся...

Радиация в игре завышена, пусть, интересней игра, глобольную катастрофу надо чувствовать кожей. Из этого следует- пока живы люди будут и пополнения у гулей. А мутация не равно бесплодие, бесплодие один из вариантов мутации как и новыи вид существ, если приживутся! И зачем нужен "глухой" реализм. ЖИЗНЬ есть для этого. Его нодо добавлять для атмосферности, но аккуратно... Баланс компонентов геймплея- есть хорошая игра. Отдельное спасибо за скриншот.

JupiterJour  Offline  Сообщение №1729 написано: 24 февраля 2016, 17:59


_


Цитата shtuka

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


А пожалуй, соглашусь. Реализм. Убедил.
Гули по ночам давят враждебных тараканов на кухне :D

ncrrainjer  Offline  Сообщение №1730 написано: 29 февраля 2016, 18:20



199
Ребят,помогите пожалуйста сделать квест с событиями.Много раз объясняли как работать со временем,но не получается у меня,рукожоп я!Дайте квест в котором каждые 3 или более дней случается какое-то событие,желательно,что бы этот квест начинался по завершении предыдущего.Всю голову уже сломал готов об стену убиться.Помогите пожалуйста,очень нужен этот квест:(((

JupiterJour  Offline  Сообщение №1731 написано: 29 февраля 2016, 19:45


_


Квест, а точнее скрипт, сто лет уж как даден. Только вместо сообщения ставишь туда своё событие, а переменную в конце ставишь не на сто тыщ мильонов, а прибавляешь к ней свои три дня, или случайное число, или сколько там надо.
Чтобы квест начинался после предыдущего, надо, как подсказывает КО, запустить его в конце предыдущего. Скажем, в результ-скрипте завершающей стадии.
Там в стадиях, если отметить чек-бокс Complete Quest, появляется выпадающий список Next Quest, но я ни разу не видел, чтобы он использовался - все пишут StartQuest в результ-скрипте. Не знаю даже, работает ли эта фича или нет.

ncrrainjer  Offline  Сообщение №1732 написано: 1 марта 2016, 13:36



199
Joopeeter, В таком случае я рукожоп в плане оформления:)Я пробовал этот скрипт и ничего не вышло,по любому что-то не так сделал,это даже к бабке не ходи:)Распишите пожалуйста по пунктам куда его пихать что бы он работал???

КсюXa  Offline  Сообщение №1733 написано: 1 марта 2016, 16:34


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


Цитата ncrrainjer

по любому что-то не так сделал

А показать скрипт, который ты палюбому не так сделал - это религия не позволяет? Чтобы тебе в нём указали и разъяснили ТВОИ ошибки, дабы в дальнейшем их не совершать...

Ой, всё...
ncrrainjer  Offline  Сообщение №1734 написано: 1 марта 2016, 18:11



199
КсюXa, Вот такой скрипт:

scn AAATestQuestScript

float DayX 

Begin GameMode 

   if DayX==0 
    set DayX to GameDaysPassed+1; Х нужное число дней 
   elseif DayX>GameDaysPassed 
    ;ничего не делать 
   else 
    set DayX to 1
    ShowMessage AAATestQuestMessage
    TestQuestXmarker.enable
   endif 

End

Вроде заработал,проверил Х-маркером
Теперь другой вопрос :Как правильно сделать несколько событий?
так?

scn AAATestQuestScript

float DayX 

Begin GameMode 

   if DayX==0 
    set DayX to GameDaysPassed+1; Х нужное число дней 
   elseif DayX>GameDaysPassed 
    ;ничего не делать 
   else 
    set DayX to 1
    ShowMessage Событие 1
    TestQuestXmarker.enable
else 
    if DayX==1 
    set DayX to GameDaysPassed+1; Х нужное число дней 
   elseif DayX>GameDaysPassed 
    ;ничего не делать 
   else 
    set DayX to 2
    ShowMessage Событие 2
    TestQuestXmarker.enable
endif 
endif 
End

И Сколько событий можно вписать в 1 скрипт?

JupiterJour  Offline  Сообщение №1735 написано: 1 марта 2016, 19:27 | Отредактировано: Joopeeter - 1 марта 2016, 20:15


_


Цитата ncrrainjer

Теперь другой вопрос :Как правильно сделать несколько событий?

У меня тоже вопрос: как нам понять, что именно ты хочешь? Чтобы события 1 и 2 произошли с интервалом в день и больше не повторялись? Чтобы событие 1 произошло через день, а событие 2 - через два дня после первого? Чтобы они чередовались раз-два-раз-два? Как я телепатию ни напрягаю, из твоего скрипта ни шиша не ясно.

ncrrainjer  Offline  Сообщение №1736 написано: 2 марта 2016, 03:20



199
Joopeeter, Так,по порядку!Вот скрипт который работает:

scn AAATestQuestScript

float DayX 

Begin GameMode 

   if DayX==0 
    set DayX to GameDaysPassed+1; Х нужное число дней 
   elseif DayX>GameDaysPassed 
    ;ничего не делать 
   else 
    set DayX to 1
    ShowMessage AAATestQuestMessage
    StopQuest AAATestWastelandStoriesQuest
   endif 

End

Теперь:Я хочу сделать,что бы события происходили не повторяясь и последовательно 1;2;3....!
1-е событие через 1 день от начала квеста,2-е событие через 2 дня от начала квеста и т.д.

Вообще этот скрипт хочу использовать для того,что бы независимо от ГГ на пустошах появлялись постепенно новые жители!(Прошел день включили Х-маркер с привязанным к нему домом и тремя НПС и т.д.)

Теперь нужно сделать как-то так,что бы события не повторялись (не появлялось по 200 раз одно и тоже сообщение и т.д.)
Как это сделать?

Вот вроде подробнее расписал,надеюсь теперь будет понятно.

JupiterJour  Offline  Сообщение №1737 написано: 2 марта 2016, 12:16 | Отредактировано: Joopeeter - 2 марта 2016, 12:29


_


Цитата ncrrainjer

Я хочу сделать,что бы события происходили не повторяясь и последовательно 1;2;3....!
1-е событие через 1 день от начала квеста,2-е событие через 2 дня от начала квеста и т.д.
...
Теперь нужно сделать как-то так,что бы события не повторялись (не появлялось по 200 раз одно и тоже сообщение и т.д.)
Как это сделать?


Можно как обычно. Завести в квесте переменную, пусть каждому событию соответствует своё значение переменной. Ну и дальше
if переменная == номер такой-то
происходит событие номер такой-то
set переменная to номер другой
elseif переменная == номер другой
происходит событие номер другой
set переменная to номер следующий
elseif...
endif
Но я предлагаю такую схему. Делаешь квест, в стадиях которого будут происходить твои события. Пусть будет zzEventsQuest. На нём скрипт:
Код
float DayX
float EventInterval
short EventNumber

Begin GameMode

    if DayX == 0
  set EventInterval to 1 ;допустим, первое событие случится через сутки, потом можно поменять периодичность
  set DayX to GameDaysPassed + EventInterval
    elseif DayX > GameDaysPassed
    ; ждём, ничего не делаем
    else
  SetStage zzEventsQuest EventNumber
; при установке стадии квеста её результ-скрипт срабатывает прямо здесь, посередине другого скрипта
  set DayX to GameDaysPassed + EventInterval
    endif

End

Для каждого события делаешь в квесте отдельную стадию с интервалом 5. То есть придумал первое событие - создал нулевую стадию, придумал второе - создал пятую и т.д. Это чтобы можно было потом воткнуть между готовыми событиями новое, не перенумеровывая все последующие. Стадии создаёшь по мере придумки событий, про запас забивать номера не надо.
В результ-скрипте стадии первым делом пишешь
Код
set zzEventsQuest.EventNumber to  zzEventsQuest.EventNumber + 5

и дальше делаешь всё, что душа пожелает. В том числе можно поменять время до следующего события - переменную EventInterval. Можно и прямо прописать номер следующего события, но тогда копипастить результ-скрипты из стадии в стадию будет не так удобно. :) Если возникла нужда вставить событие в середину между имеющимися, то, естественно, придётся включить ненадолго голову и прописать номер прямо. И в результ-скрипте предыдущей стадии тоже не забыть подправить.
Схема, как мне кажется, будет удобна тем, что можно добавлять события, не переписывая каждый раз квестовый скрипт и не раздувая его на десятки экранов.
Стадий всего 255, что даёт нам 51 событие в квесте. Если не хватило, то в результ-скрипте 255-ой стадии останавливаешь квест и запускаешь следующий, сделанный по той же схеме.

ncrrainjer  Offline  Сообщение №1738 написано: 2 марта 2016, 17:18



199
Joopeeter, Большое спасибо за развернутый ответ,именно то что и было нужно:)

Ovsyaniy  Offline  Сообщение №1739 написано: 4 марта 2016, 07:13



3
Всем привет , сижу вот пытаюсь сделать лифт как в дополнении Anchorage ( когда спускаешься на аванпост изгоев ) , и там оказался скрипт , в общем я в этом скрипте заменил что надо и все вроде бы работает , он отправляет меня в интерьер , проигрывается анимация спуска , в общем все как в дополнении , потом он с таким же успехом поднимает на верх , но в конце анимации почему то не отправляет обратно в интерьер из которого я пришел :( . В общем если кто понимает в скриптах , посмотрите пожалуйста в чем проблема ?
Вот сам скрипт собсна .

(моя версия) 
(Вот исходный скрипт)


За ранее спасибо :)

JupiterJour  Offline  Сообщение №1740 написано: 4 марта 2016, 07:41 | Отредактировано: Joopeeter - 4 марта 2016, 07:42


_


Цитата Ovsyaniy

в чем проблема ?


Дверь не телепортит, судя по всему. Телепотрт правильно настроен?

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





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