Модератор форума: КсюXa, ApeX  
Форум » Fallout: New Vegas » Мастерская » ВОПРОСЫ по моддингу (Спрашиваем и отвечаем на тему как сделать то или это...)

ВОПРОСЫ по моддингу
Defox  Offline  Сообщение №1 написано: 3 ноября 2010, 11:46 | Отредактировано: ApeX - 3 ноября 2018, 10:41


Project Fallout: Wild Wasteland


463
Прежде чем задавать вопрос - посмотрите в
>> КАРТОТЕКЕ <<

Возможно, там уже есть готовый ответ.

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

Spalny_Vagon  Offline  Сообщение №3661 написано: 26 декабря 2013, 20:12


Мастер


Цитата spok2

Как ты и написал я вставил gamedayspassed.


gamedayspassed - это не функция, а глобальная переменная, отсчитывающая время в сутках с момента начала игры (float, одни сутки - единица, один час примерно равен 0,0417). Для того, чтобы использовать ее в таймерах, нужно засекать это время и потом сравнивать с текущим. Если ее просто вставить в тот скрипт вместо getsecondspassed, получится все, что угодно, кроме того, что Вам нужно.

======================
Мод "Нью-Йорк" на русском: 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
Hellraiser  Offline  Сообщение №3662 написано: 26 декабря 2013, 21:07 | Отредактировано: Hellraiser - 26 декабря 2013, 20:21


Dr. Moreau


Spalny_Vagon,

С учетом того, что это должен быть не базовый объект, а его Ref копия.
 О этом было написано сразу же.  :)

Добавлено (27 Декабря 2013, 00:19)
---------------------------------------------
А вообще я себе оживление делал вот таким образом:

IDRef.resurrect 1
IDRef.setActorValue Health 600

вместо 600 ставим сколько хотим в пределах разумного.

Добавлено (27 Декабря 2013, 01:07)
---------------------------------------------
Ща накропаю ликбез.  :D


Death is the old debt, which sooner or later will have to pay.
This is as good a day to die as any, but at your funeral nobody will come.
Your way in hell you'll have to do yourself... Happy journey!
Alright, guys, all will be there, but you before...
Spalny_Vagon  Offline  Сообщение №3663 написано: 26 декабря 2013, 21:11


Мастер


Цитата Hellraiser

О этом было написано сразу же.


У Вас - да, просто мне показалось, что автор вопроса не понимает, что это такое и с чем его едят.

======================
Мод "Нью-Йорк" на русском: 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
Hellraiser  Offline  Сообщение №3664 написано: 26 декабря 2013, 21:21 | Отредактировано: Hellraiser - 26 декабря 2013, 23:09


Dr. Moreau


spok2,


UPD


Death is the old debt, which sooner or later will have to pay.
This is as good a day to die as any, but at your funeral nobody will come.
Your way in hell you'll have to do yourself... Happy journey!
Alright, guys, all will be there, but you before...
Spalny_Vagon  Offline  Сообщение №3665 написано: 27 декабря 2013, 07:54


Мастер


В дополнение к Hellraiser.
Специально для таких случаев, когда нет желания ждать дефолтные трое суток, имеется функция GetTimeDead, которая отмеряет время после смерти актера в часах. Применение этой функции делает скрипт немного короче:
Код
if getdead && GetTimeDead > 24
ResurrectActor
ResetHealth
endif

======================
Мод "Нью-Йорк" на русском: 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
Graf  Offline  Сообщение №3666 написано: 27 декабря 2013, 08:44



179
Цитата Spalny_Vagon

begin OnReset
ressurect
ResetHealth
End


...-Вот такой вот парадокс. Мы делаем моды для игр, в которые уже давно не играем...
spok2  Offline  Сообщение №3667 написано: 27 декабря 2013, 12:56



54
Hellraiser, К сожалению ваш способ не подойдет, т.к. неписей уже более 1000 разбросано по пустошам и каждому приписывать свой ID, проще говоря, задолбаешься.
У меня масштабный мод, с уже выставленными спавнточками, вот только по непонятной мне причине они не респавнятся или респавнятся не в должном количестве, я с таким никогда раньше не сталкивался, скрипты не писал, увы но для меня, то что для вас является очевидным, темный лес.
Прошу вас, пожалуйста, объясните, что и как (на ин.яз. сайтах нужной инфы не нашел, все не то). Что можно сделать в моем случае: на пустошах уже имеется к примеру 150 спавнточек моих аааLvlSuperMutan, как их заставить возрождаться каждые 12ч, т.е. глобально, не прикручивая к каждой точке свой рефАйДи, а повешать скрипт именно на аааLvlSuperMutan?
И да, спасибо вам всем что вызвались помочь, я уже третий день ковыряю Вегас и все безрезультатно, сегодня заметил, что и с ванильными спавнточками такая же беда, на трассе которая проходит от Примма до Карьера с Когтями смерти, подрывники не респавнятся или респавнятся частично, но есть один подрывник возле труппов караванщиков, который респавнится всегда, но почему-то полудохлый. Изучил его, обычный подрывник без скриптов и каких-либо ссылок/связей/ и прочей лабуды, почему он работает, а другие исчезают или глючат не пойму.

JupiterJour  Offline  Сообщение №3668 написано: 27 декабря 2013, 15:45


_


Цитата spok2

не прикручивая к каждой точке свой рефАйДи, а повешать скрипт именно на аааLvlSuperMutan


Для неприкручивания ко всему подряд своих рефайди служит Linked Ref, а для навешивания одного и того же скрипта на многих - чек-бокс Use Script при назначенном шаблоне (Template).

spok2  Offline  Сообщение №3669 написано: 27 декабря 2013, 16:05 | Отредактировано: Hellraiser - 27 декабря 2013, 21:57



54
Цитата Joopeeter

а для навешивания одного и того же скрипта на многих - чек-бокс Use Script при назначенном шаблоне (Template).


?????????????? Ладно, я так понял, что я не получу нормального ответа. Шут с ними с этими скриптами (похду это не для меня) и Вегасом тоже, надо оно мне, ***** такое. Блин в Скайриме все намного удобнее и проще (хотя тоже проблем хватает, но такого маразма я еще нигде не видел). Спасибо хоть на этом.

                                                                                                                                                            давайте в следующий раз без выражений

JupiterJour  Offline  Сообщение №3670 написано: 27 декабря 2013, 16:35


_


Цитата spok2

Ладно, я так понял, что я не получу нормального ответа.


Здесь что, кто-то виноват в том, что у тебя ни свои, ни ванильные не респавнятся?
Не хочешь чек-бокс, выбирай один и тот же скрипт из списка прокрутки - это то же самое. Просто вешаешь на своего супермутанта скрипт без упоминания всяких рефов - по умолчанию все функции применяются к носителю скрипта. NPCRef.GetDead - это если только ты хочешь проверить какого-то другого непися, не того, на котором скрипт. Если проверяешь носителя - достаточно просто GetDead. И так далее.
Если актёры там у тебя как-то привязаны к каким-то точкам спавна, которым ты не хочешь всем давать свои RefID, то привязываешь их к этим точкам linked ref'ом, а в скрипте используешь конструкцию с реф-переменной. Типа такого:
Код
ref MyLink

Begin OnDeath ; (OnReset, On ещё что-нибудь)

set MyLink to GetLinkedRef
; дальше используешь эту переменную так, как будто это обычное RefID

End

Добавлено (27 Декабря 2013, 20:35)
---------------------------------------------
И поверь, неизвестно у кого больше поводов для раздражения - у тех ли, кому не разжевали, а просто указали нужное напрвление, или у тех, кто разъясняет чуть ли не кажые две недели одни и те же простые базовые вещи, которые есть во всех туторах и учебниках.


Hellraiser  Offline  Сообщение №3671 написано: 27 декабря 2013, 18:16 | Отредактировано: Hellraiser - 27 декабря 2013, 18:44


Dr. Moreau


spok2,

аааLvlSuperMutan, как их заставить возрождаться каждые 12ч
Если у тебя всего один базовый объект на всех неписей - аааLvlSuperMutan, то это проще пареной репы.   :)
Сейчас скрипт переделаю, попробую в игре и отпишусь.

Death is the old debt, which sooner or later will have to pay.
This is as good a day to die as any, but at your funeral nobody will come.
Your way in hell you'll have to do yourself... Happy journey!
Alright, guys, all will be there, but you before...
spok2  Offline  Сообщение №3672 написано: 27 декабря 2013, 18:41



54
Цитата Joopeeter

Здесь что, кто-то виноват в том, что у тебя ни свои, ни ванильные не респавнятся?


Да я ж разве вас в чем-то обвинил или упрекнул? Я сам ничего не могу понять, ну не врубаюсь я в скрипты, отсюда и раздражение, но оно ни к вам ни к кому-либо еще отношения не имеет. Разжевать это именно то что мне и нужно, увы я ничего не понимаю в скриптах, а разбираться просто нет времени, если вам сложно, то можете мне ничего не объяснять вы имеете на то полное право и я вас ни в коем-случае не буду ни к чему принуждать. Вы даете ссылки, но для меня они почти бесполезны, я редактор изучал без всяких уроков, как говорится методом тыка, и к примеру термин чек-бокс для меня пустой звук, эти уроки помогут лишь так скажем первооткрывателям редактора ценной информации, лично для меня, в них почти нет, потому я различными терминами не совсем владею, но это конечно же моя проблема никак не ваша, просто я уже писал, то что для вас может быть очевидно, для меня лес дремучий. Можете оъяснить - буду признателен, не можете или не хотите - ваше право, никаких обид и претензий с моей стороны не будет.

Hellraiser  Offline  Сообщение №3673 написано: 27 декабря 2013, 18:43 | Отредактировано: Hellraiser - 27 декабря 2013, 19:15


Dr. Moreau


spok2,


Death is the old debt, which sooner or later will have to pay.
This is as good a day to die as any, but at your funeral nobody will come.
Your way in hell you'll have to do yourself... Happy journey!
Alright, guys, all will be there, but you before...
spok2  Offline  Сообщение №3674 написано: 27 декабря 2013, 18:44



54
Цитата Hellraiser

Всё. Теперь все копии этого объекта в мире, будучи убитыми, будут возрождаться через 12 часов.


Спасибо большое, сейчас все опробую и отпишусь ok

Hellraiser  Offline  Сообщение №3675 написано: 27 декабря 2013, 18:50 | Отредактировано: Hellraiser - 27 декабря 2013, 18:50


Dr. Moreau


spok2,

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

Death is the old debt, which sooner or later will have to pay.
This is as good a day to die as any, but at your funeral nobody will come.
Your way in hell you'll have to do yourself... Happy journey!
Alright, guys, all will be there, but you before...
spok2  Offline  Сообщение №3676 написано: 27 декабря 2013, 19:11



54
Цитата Hellraiser

Зачем тыкать во что-то, если это "что-то" уже разжевано и разложено по полочкам кучу лет назад?



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

Проверил, все сделал как на картинках, не появляются, я в шоке, что за напасть такая. Попробую начну новую игру, либо создам лвлНПС с нуля, но завтра, на сегодня с меня хватит facepalm

Hellraiser  Offline  Сообщение №3677 написано: 27 декабря 2013, 19:21 | Отредактировано: Hellraiser - 27 декабря 2013, 21:36


Dr. Moreau


spok2,
но действительно полезной информации очень мало
А здесь вы очень не правы. Даже в Картотеке немеряно полезной информации для думающих людей.  :)
А вы, видимо, думать просто не хотите.
Я сделал последний скрипт для вас (cм. ниже), собрав и оптимизировав его как мозаику из ответов уважаемых Spalny_Vagon, Graf и Joopeeter, данных вам же. Теперь он до смешного прост.
UPD
Хочу внести некоторые поправки в свой скрипт. Нужно написать так:

Почему именно так?
Если при смерти актер был расчленён, то при его возрождении с помощью старого скрипта, он мог остаться без головы или чего он там потерял во время смерти (руки, ноги, яйца :)). Я исправил свою оплошность. С этим скриптом таких проблем нет - все как новенькие  :) . Если в скрипте переставить строки ResetInventory и ResurrectActor местами, то наши парни возрождаются целыми, но голыми. Вот такая фича, оказывается. Век живи - век учись.  :)
Ну и ещё одна мелочь - при старом скрипте актер возрождался не через 12, а через 13 часов. Теперь всё четко - именно 12.
Правленный espшник тут

Death is the old debt, which sooner or later will have to pay.
This is as good a day to die as any, but at your funeral nobody will come.
Your way in hell you'll have to do yourself... Happy journey!
Alright, guys, all will be there, but you before...
JupiterJour  Offline  Сообщение №3678 написано: 27 декабря 2013, 22:17


_


Цитата spok2

ценной информации, лично для меня, в них почти нет, потому я различными терминами не совсем владею


Мне кажется, или в этом предложении действительно есть противоречие?

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

Ладно, это всё лирика. А физика в том, что скриптовый респаун, который ещё может худо-бедно служить костылём для возрождения нескольких неписей, для массового применения непригоден. Лишняя тысяча неписей - это и так неслабая дополнительная нагрузка, даже если у них отмечен No Low Level Processing. А лишняя тысяча неписей со скриптами GameMode - это вообще ни в какие ворота. Те, кто читал туторы, знают, что скрипты на неписях выполняются всегда, даже когда те не находятся в загруженной области. Пусть у "незагруженных" они выполняются и не в каждом фрейме, а пореже, но всё равно достаточно часто. Не нужна и без того не слишком стабильной игре тысяча GameMode'ов.

Hellraiser  Offline  Сообщение №3679 написано: 27 декабря 2013, 22:57 | Отредактировано: Hellraiser - 28 декабря 2013, 06:49


Dr. Moreau


Joopeeter,
 
А лишняя тысяча неписей со скриптами GameMode
Скрипт-то у нас один единственный, если что. Так как базовый объект один.
UPD
C утречка поразвлекался - довёл кол-во неписей в одной точке от не х... делать до 152 - полёт нормальный. Дальше уже точно лень стало. См. спойлер.


Death is the old debt, which sooner or later will have to pay.
This is as good a day to die as any, but at your funeral nobody will come.
Your way in hell you'll have to do yourself... Happy journey!
Alright, guys, all will be there, but you before...
JupiterJour  Offline  Сообщение №3680 написано: 28 декабря 2013, 06:44


_


Цитата Hellraiser

Как видим, всегда можно найти решение.


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

И да, ещё. Сам таких модов, населяющих пустошь до плотности Москвы, не ставил и не собираюсь, но неоднократно встречал отзывы, что от них начинаются тормоза. И в Вегасе, и в третьем Фоллауте, хотя тот сам по себе технически лучше отлажен. Это, надо полагать, даже без скриптов (хотя кто их знает). Сейчас уж тех сообщений не найду, конечно.

Hellraiser  Offline  Сообщение №3681 написано: 28 декабря 2013, 06:47 | Отредактировано: Hellraiser - 28 декабря 2013, 06:48


Dr. Moreau


Joopeeter,

А у других всё работает как надо и без скриптовых костылей.
 Да это понятно, у меня тоже с респавном никогда проблем не было.
Просто я решил немного поразвлекаться, да и проверить заодно кое-какие догадки в игре. Опять таки тот скрипт, который я написал первым (оживление НПС по Ref) может кому-нибудь и пригодится. Вполне возможно, я сам его использую.  :)

Death is the old debt, which sooner or later will have to pay.
This is as good a day to die as any, but at your funeral nobody will come.
Your way in hell you'll have to do yourself... Happy journey!
Alright, guys, all will be there, but you before...
spok2  Offline  Сообщение №3682 написано: 28 декабря 2013, 08:25



54
Цитата Hellraiser

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


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

Hellraiser  Offline  Сообщение №3683 написано: 28 декабря 2013, 08:30 | Отредактировано: Hellraiser - 28 декабря 2013, 08:47


Dr. Moreau


spok2,

таких чудес я еще не видел
Я тоже. Но факт остаётся фактом. Возможно, это прикол именно скриптового механизма. Я специально проверял несколько раз: если пишешь resurrect 1, то частей тела, которые были отстреляны, не хватает. Ходящий непись без головы выглядел круто.  :D
А если пишешь resurrectactor или просто resurrect - всё нормально.

Теперь в Фолыче можно реальных зомби настроить.  lol

Death is the old debt, which sooner or later will have to pay.
This is as good a day to die as any, but at your funeral nobody will come.
Your way in hell you'll have to do yourself... Happy journey!
Alright, guys, all will be there, but you before...
YikxX  Offline  Сообщение №3684 написано: 28 декабря 2013, 08:54


Местный Дон Кихот Ламанчский


Hellraiser, эту картинку надо Меркуцио на аватару. lol

Все люди - курьеры. Просто некоторые не понимают, какие сообщения они несут...
JupiterJour  Offline  Сообщение №3685 написано: 28 декабря 2013, 09:11


_


Цитата spok2

мало чем помогает - присутствует все та же проблема частичного респауна


Чудеса всё чудесатее... Даже теряюсь в догадках, что же это такое может быть. Скрипт же простой как табуретка, в нём просто нечему ломаться.
Так, на всякий случай: а проверяется-то на чистой игре? А то мало ли, может, какой-нибудь продвинутый ребаланс имеет свой взгляд на демографию пустошей и экстендером удаляет любое лишнее население? unsure

Добавлено (28 Декабря 2013, 13:11)
---------------------------------------------
Если вернуть общеигровой срок респавна к дефолтным 72-м или вообще выставить на 1000 тоже не работает? Это я к тому, что игровой уборщик трупов может подсуетиться раньше, чем сработает скрипт.


spok2  Offline  Сообщение №3686 написано: 28 декабря 2013, 09:13



54
Цитата Hellraiser

Ходящий непись без головы выглядел круто.



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

JupiterJour  Offline  Сообщение №3687 написано: 28 декабря 2013, 09:14


_


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

spok2  Offline  Сообщение №3688 написано: 28 декабря 2013, 09:20



54
Цитата Joopeeter

Если вернуть общеигровой срок респавна к дефолтным 72-м или вообще выставить на 1000 тоже не работает? Это я к тому, что игровой уборщик трупов может подсуетиться раньше, чем сработает скрипт.



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

Hellraiser  Offline  Сообщение №3689 написано: 28 декабря 2013, 09:37


Dr. Moreau


spok2
так, так, косячник.  :D
Колись, чего там поломал?

Death is the old debt, which sooner or later will have to pay.
This is as good a day to die as any, but at your funeral nobody will come.
Your way in hell you'll have to do yourself... Happy journey!
Alright, guys, all will be there, but you before...
spok2  Offline  Сообщение №3690 написано: 28 декабря 2013, 09:40



54
Цитата spok2

Скрипт то оживляет труп, а если его нет похоже ничего и не оживляет.



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

Форум » Fallout: New Vegas » Мастерская » ВОПРОСЫ по моддингу (Спрашиваем и отвечаем на тему как сделать то или это...)
Поиск:





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