Я бы допустим проверял всех в определенном радиусе и смотрел кто это, а сам квест запускал только при необходимости если это возможно. Хотя вариант предложенный Joopeeter тоже верный, но можно ради прикола поставить видимый взрыв и тогда смотреться будет прикольно, а если в эффект еще и шейдерный эффект добавить, то можно визуально видеть кто обнаружил ГГ
Смех смехом, но тут вопрос ещё спорный, что сожрёт больше ресурсов: экстендер, постоянно ощупывающий все ссылки в загруженной области, или стандартные средства, делающие то же самое в радиусе 4-5 тысяч единиц. Вообще, конечно, правильней действительно отталкиваться от конкретной задумки. Если всё это должно происходить, например, при прохождении пары-тройки локаций с известным заранее населением, то проще просто всех поимённо проверить и дело с концом.
Не люблю смотреть такое видео..... чувствуешь себя ничтожеством и руки опускаются. Только одно оправдание что автор профессионал в этой области а я любитель, но профи в своей.
Ерунда. Я вовсе не собирался опускать чьи-то руки. Научно доказано, что человек совершенствуется только когда берётся за задачи, превышающие его возможности.
скорее всего оно таки будет отталкиваться от местности пребывания ГГ.
Если местность населена собственноручно тобой расставленными реф-копиями актёров и их не слишком много (десяток-другой), то можно сделать по-простому. Каждому аборигену даётся Ref ID. Делается актор-эффект типа "способность", в нём прописываются все те неприятности, которые должен почувствовать обнаруженный игрок (можно воспользоваться стандартными базовыми эффектами, можно сделать свои). Каждой неприятности задаются условия вида:
(Run on Reference [непись реф 1]) GetDeteted player == 1 OR (Run on Reference [непись реф 2]) GetDeteted player == 1 OR ... (Run on Reference [непись реф N]) GetDeteted player == 1 OR
То есть сколько неписей-обнаружителей, столько и условий, каждое проверяет одну реф-копию. Много, а что сделаешь. Сильно помогают пункты меню Duplicate, Copy All Conditions и Paste All Conditions. В нужном месте игроку выдаётся эта вредная способность, когда становится не нужна - отбирается. Способ может применяться с любыми базовыми неписями: своими или ванильными, индивидуальными или уровневыми - без разницы.
Если локация будет населена неписями, сделанными на основе твоих собственных базовых актёров, то можно сделать по другому. В квестовом скрипте заводим переменную, а неприятностям в актор-эффекте задаём условие
GetQuestVariable [переменная] > 0
Делаем базовый скриптовый эффект на основе такого скрипта:
Код
Begin ScriptEffectStart set [ID квеста].[переменная] to [ID квеста].[переменная]+1 End
Begin ScriptEffectFinish set [ID квеста].[переменная] to [ID квеста].[переменная] - 1 End
Делаем ещё один актор-эффект и прописывам туда этот базовый эффект с условием
(Run on Subject) GetDeteted player == 1
Выдаём этот эффект каждому неписю-потенциальному обнаружителю. Прямо на вкладку эффектов базового непися. Не помню только, срабатыват ли блок ScriptEffectFinish при посмертном снятии эффекта с непися. Возможно, нужно будет принять меры для вычитания ранее прибавленной единички при смерти.
Добавлено (22 Ноября 2013, 19:40) --------------------------------------------- Мда, при посмертном-то снятии эффекта блок срабатывает, но ещё он срабатыват, когда непись даёт дёру. А при первом способе - том, где много условий - эффект почему-то не снимается автоматически при смерти наблюдателя. Так что придётся там дополнить условия таким образом:
(Run on Reference [непись реф 1]) GetDeteted player == 1 OR (Run on Reference [непись реф 2]) GetDeteted player == 1 OR ... (Run on Reference [непись реф N]) GetDeteted player == 1 AND (Run on Reference [непись реф 1]) GetDead == 0 OR (Run on Reference [непись реф 2]) GetDead == 0 OR ... (Run on Reference [непись реф N]) GetDead == 0 OR
мне может хватит GetDetected для проверки обнаружения тех от кого это требуется, и отключить проверку обнаружения с помощью Ref ID тем от кого не требуется
Отключать не требуется. Функция проверяет только того, кого приказано (одного за раз), остальных не трогает.
Это получается, что эффект будет наложен при первом контакте с одним из актеров и до полного уничтожения всех аналогичных персонажей?
Да просто обнаружилась такая штука. Если непись перешёл в состояние "я обнаружил игрока" (GetDetected player == 1) и в этом состоянии скончался, то оно так и сохраняется на мёртвом неписе. Так и следит, понимаешь, с того света. Поэтому в условия пришлось добавить проверку насчёт того, живой наблюдатель или нет (GetDead). Проверять при этом надо попарно, так:
(непись1 видит И непись1 жив) ИЛИ (непись2 видит И непись2 жив) ИЛИ... и т.д.
Фокус в том, что ИЛИ обрабатывается перед И, как умножение перед сложением в арифметике. При этом в списке условий скобки не применяютяся, а раскрывать их даже для двух неписей с непривычки всю голову сломаешь, а для десятка - вообще труба.
А при условиях, заданных в том виде, как я там написал выше в конце сообщения 1537, будет так. При первом контакте эффект наложится. Если не трогать наблюдателя, а спрятаться и дать ему "расконтачиться" естественным путём, эффект пропадёт. Если наблюдатель погибнет в "законтаченном" состоянии, то всё, привет - эффект так и будет висеть, пока не перебьёшь всех или не отберёшь у игрока сам актор-эффект. Ерунда, короче. Неправильно.
У меня скромно под системный диск выделен RAID0 на 600Гиг и я совершенно не парюсь над свободным местом. Скорость инета позволяет качать любые объемы в очень короткие сроки.
Конечно, каждый с полным правом может ориентироваться на свои технические возможности и класть с прибором на возможности тех, кто будет качать и устанавливать. Плохо только, что в описаниях к модам редко указывают, насколько они требовательны к железу. К счастью, объём, в отличие от высокополигональной или HD-текстурной начинки, виден сразу.
заметь выхваченная тобой фраза относиться к тому что я держу ресурсы распакованными именно по причине увеличения быстродействия,
Кстати, быстродействие не обязательно увеличивается. Не знаю почему, но у меня что-то наоборот, с распакованными ресурсами локации грузятся в разы дольше. Хотя лежат эти ресурсы тоже ближе к началу диска, чем bsa и вроде бы более-менее компактно...
можно ли сделать, чтобы напарник (собака) бежал справа/слева/спереди от персонажа (не обязательно ГГ)?
Спереди от ГГ? О_о КАК напарник (даже человек или робот, не то что собака) может знать, куда побежит игрок?! Теоретически можно направить пакет Follow не на игрока или актёра, а на любую постоянную ссылку. Ссылку же эту (и даже актёра) можно подвесить впереди, справа, слева от игрока и вообще двигать как хочешь. Но предвижу тут абсолютно некорректное поведение напарников. Во-первых, тот же вопрос с быстрым путешествием. Во-вторых, прямо вижу такую картину: стоит ГГ, озирается по сторонам, а бедный напарник нарезает вокруг него круги туда-сюда за подвижной целью пакета. В-третьих, как должен поступить напарник, когда цель следования погрузится во что-нибудь твёрдое или просто выйдет за пределы навмеша? В-четвёртых, если цель будет на навмеше, но за преградой, напарник, побежит к ней в обход хоть там крюк будет десять метров или десять километров. Спереди от игрока это четвёртое ещё можно предотвратить с помощью функции GetLOS, а сбоку придётся громоздить всякие извращения типа ощупывания пространства выстреливаемыми прожектилями или ещё чего похуже. С "не обязательно ГГ" чуть попроще. Во-первых, можно просто-напросто понаставить две параллельные цепочки маркеров и запустить актёров их патрулировать. Во-вторых, существует пакет Accompany - сопровождение. Про непися, в отличие от игрока, игра знает куда он сейчас пойдёт и может направить сопровождающего не сзади как хвостик, а в ту же точку каким-нибудь параллельным путём. Сам я, правда, каких-то особых внешних отличий от Follow не наблюдал, но я пакетоми Accompany особо не пользовался и ванильные (их пара десятков всего) тоже не особо разглядывал, может быть, можно их нормально настроить.
Всегда плохо, когда уходит из жизни хороший и талантливый человек. Вдвойне плохо и несправедливо, когда вот так. Друзьям, близким и всем, кто знал АМД, мои соболезнования.
Надеюсь всё же, что не прав. Надеюсь, что читающим просто-напросто нет необходимости задавать по пятидесятому разу те же вопросы, поэтому мы видим только не читающих.
Да, это просто употребляемый предмет, временно поднимающий навыки. Полагаю действие предмета нельзя выставить не пожизненную длительность?
Зависит от действия. Если надо, например, изменить характеристику, то функция ModActorValue в эффектовом скрипте изменит её на всю оставшуюся жизнь не хуже, чем в любом другом скрипте. Да и почти любая другая функция в блоке ScriptEffectStart, не уравновешеная противоположной в блоке ScriptEffectFinish, останется с игроком навсегда. Так скриптово можно добавлять и перманентные актор-эффекты. На крайний случай можно установить длительность Ingestible-эффекта на 9999 игровых дней. Это, конечно, не пожизненно, но 27 игровых лет должно хватить для прохождения любому.
Изменение репутации для пользователя JupiterJour
JupiterJourOffline
Сообщение №553
| Тема: ВОПРОСЫ по моддингу
написано: 2 декабря 2013, 08:13
| Отредактировано: Joopeeter - 2 декабря 2013, 07:47
У меня тоже раньше получалось с двумя. Пока не запомнил, что из двух должно быть постоянной ссылкой, что для чего должно быть Linked Ref'ом и куда должна показывать жёлтая стрелочка. То, на что должен воздействовать другой объект (на дверь, на анимированный активатор и т.п.), должно быть постоянной ссылкой и она, постоянная ссылка, должна быть указана на вкладке Linked Ref воздействующего, не постоянного, объекта (триггер, выключатель, терминал и т.п.). Когда запомнил, стало получаться и с одной ссылкой. Я, конечно, не говорю о более сложных случаях взаимного воздействия или воздействия по цепочке.
Добавлено (02 Декабря 2013, 12:13) --------------------------------------------- И кстати.
Такой вопрос - как сделать воду в интерьере (вода добавляется как статический объект) не радиоактивной (когда герой заходит - радиации нет). Какой тип воды не выбираешь - радиация остается, в настройках объекта воды никаких настроек нет.
Тут рядом было обсуждение. Глянь отсюдадосюда, может пригодится.
теоретически там сам маркер невидим для игры именно как модель и он стал видим при помщи манипуляций в ГЕКК.
Не-а, все модели маркеров видны в игре. Иксы, стрелки и прочие. Полагаю, невидимость именно маркеров зашита в самый движок (если, конечно, Galko не откопает её где-то в ini-файлах ). Косвенно на это намекает фундаментальность маркеров - земля была ещё безвидна и пуста, а маркеры уже были! Это одни из немногих объектов, присутствующих в ГЭКК без загрузки каких-либо файлов. Ещё среди этих столпов мира есть актёр игрок, оружие кулаки и (вот ведь буржуи!) деньги крышки. Ну и ещё там по мелочи.
Tipoksfall, спасибо за внятное развёрнутое дополнение с примерами. Утренние сообщения (я успел прочитать одно) были немного сумбурными. А сейчас, кажется, я начал даже, пока ещё смутно, осознавать что такое инжект.
Каждую надо привязать к маркеру. по одной это долго. можно ли выделить сразу все лампочки, и каким-то образом сразу всех их привязать к маркеру?
Выделить, нажать "-" и привязывать всё выделенное к одной ссылке (Set linked ref). Кроме того, можно там же задать родительскую ссылку для активации или включения/отключения, отражение, преломление, владельца, свечение и мультибаунд.
Тем, кому религия позволяет читать и время от времени перечитывать "туфтовый" беседкин базовый учебник, нет необходимости плясать с бубнами ради таких простых вещей. Если для кого-то это не стало открытием Америки, извините.
Изменение репутации для пользователя JupiterJour
JupiterJourOffline
Сообщение №558
| Тема: ВОПРОСЫ по моддингу
написано: 5 декабря 2013, 17:14
| Отредактировано: Joopeeter - 5 декабря 2013, 17:22
Таких не бывает. Думаете, у меня, в том числе и здесь, никогда не было (и будет) такого: написал, а следующим сообщением идёт правильный ответ. А всё, поздно, сообщение было прочитано, иногда даже репутация повышена. За вредный совет. Одна из причин, почему она теперь отключена.
Нет, я знаю конечно, что в Эдите можно даже размещать новые предметы в локациях, а уж изменять или удалять старые и подавно. Асам Эдита, может быть, так даже проще, легче и привычнее чем в ГЭКК...
как это "только женская" не выдумывай. Анимации женские либо муржские НПЦ будет использовать если ему её поставить.
Ну, какие-никакие условия у анимаций точно есть. У Idle-анимаций они прописаны в ГЭКК, но если эти анимации запустить принудительно, то условия, по-моему, вовсе игнорируются и кто хочешь исполнит какие хочешь анимации (для своего скелета, естественно). Анимационные группы, в частности "походка", тоже определённо имеют какие-то условия - разнополые персонажи виляют задом явно по-разному. Но вот где прописаны эти условия для групп? Причём группы, в отличие от Idle, свои условия соблюдают строго - перезарядку, например, принудительно не запустишь если перезаряжать в руках нечего.
светская вечеринка, моя ГГшка в вечернем платье, а на руке - эта хрень Хочется оставить её в гардеробе.
И это та Galko, которая не устаёт ругать Вегас за непостъядерную атмосферу? Пип-бой - это вообще какая-то тонкая материя. Игра, как выясняется, его отсутствие может воспринимать весьма болезненно. Вот например, если назначить какой-нибудь одёжке слот Pip Boy, то он перестаёт отображаться и в него невозможно заглянуть. Но после нескольких попыток нажать Tab игра зависает. У тебя вот с удалением-возвращением проблемы. В то же время реплейсеры пип-боев как-то работают. То есть такое ощущение, что лучше, чтобы там всё же что-то было. Интересно, если из модели пип-боя удалить видимые части (ты в последнее время подобным, вижу, часто занимаешься ), он будет работать? И будет ли, самое главное, игра работать?
Изменение репутации для пользователя JupiterJour
JupiterJourOffline
Сообщение №565
| Тема: Скрипты
написано: 15 декабря 2013, 05:57
| Отредактировано: Joopeeter - 15 декабря 2013, 06:18
Можно ли сделать так, чтобы эффект действовал при использовании такого оружия любым произвольным персонажем.
Так бегемотья дубина, судя по скрипту, и действует при использовании любым персонажем. Собственно, бегемот - это "произвольный персонаж" и есть. Просто он, персонаж этот, свой гидрант больше никому не даёт. Если точнее, то этот гидрант Эскалибур сам никому другому в руки не даётся.
Изменение репутации для пользователя JupiterJour
JupiterJourOffline
Сообщение №568
| Тема: Скрипты
написано: 15 декабря 2013, 08:36
Script Extender перетряхнул, там тоже нет ничего подходящего
Перетряхни ещё раз. Совершенно точно помню, что тут неоднократно упоминалось обшаривание местности экстендером. И причём даже в связи с раскладыванием чего-то там по контейнерам с одновременной пометкой их токенами.
Изменение репутации для пользователя JupiterJour
JupiterJourOffline
Сообщение №569
| Тема: Помощь по G.E.C.K.
написано: 15 декабря 2013, 13:53
| Отредактировано: Joopeeter - 15 декабря 2013, 14:10
Маленькое уточнение. Предмет должен быть именно добавлен во время игры. Если кто-то родился с гидрантом в кармане (или тот был сгенерирован врождённым левел-листом), то OnAdd не сработает.
Изменение репутации для пользователя JupiterJour
JupiterJourOffline
Сообщение №570
| Тема: ВОПРОСЫ по моддингу
написано: 17 декабря 2013, 10:30
| Отредактировано: Joopeeter - 17 декабря 2013, 10:31
SetEssential ActorBase bool ... Note that it will act as a return statement if ActorBase is a reference variable.
То есть, как я понял, зелёная строчка - всё равно что Return. Также я слышал о том, что SetEssential невозможно применить к "сборным" уровневым неписям, то есть к тем, у которых в качестве шаблона указан Leveled Actor. Хм, есть ли такие среди бессмертных? Ещё эффект по умолчанию работает на том, на кого наложен, поэтому записывать самого себя в реф-переменную имеет смысл только если переменная используется потом как параметр (после функции). А DamageAV можно и без Target.