С помощью глобальной переменной GameDaysPassed (сколько дней прошло с начала игры). В простейшем виде:
Код
scn zzQuestScript
short DayX
Begin GameMode
if DayX==0 set DayX to GameDaysPassed+X; где Х - нужное число дней elseif DayX>GameDaysPassed ;ничего не делать else set DayX to 10000000 ShowMessage zzMessage endif
End
где zzMessage - ID сообщения
Скрипт вешается на квест. Если скрипт больше ничего не делает, то можно даже затормозить его Script Processing Delay до 15-20 секунд (10 игровых минут). Также если под это дело выделен специальный квест и он больше ни для чего не используется, нужно после вывода сообщения остановить его, то есть под ShowMessage вписать
В официальном беседкином туторе есть целый раздел про оптимизацию интерьеров. Пересказывать долго, да и смысла нет. Также есть средства для оптимизации внешних локаций, но с ними, вроде, никто из мододелов пока толком не совладал. По крайней мере не совладал настолько, чтобы получить от этих средств какой-то эффект.
Ладно, подумал, что может быть я совсем квалификацию потерял, что скрипт из трёх строк в уме составить не могу... Запустил ГЭКК, скопипастил туда этот квестовый скрипт - нет, работает. Именно этот. Если он "вживлялся" в другой, видоизменялся или дополнялся каким-то образом, то прошу предъявить код. Эффект не проверял, но что там может не сработать, даже не представляю.
Изменение репутации для пользователя JupiterJour
JupiterJourOffline
Сообщение №426
| Тема: Скрипты
написано: 20 сентября 2013, 20:45
| Отредактировано: Joopeeter - 20 сентября 2013, 20:50
Да, ещё. Можно (и даже лучше, наверное) заменить тип переменной с short на float. Тогда скрипт будет отсчитывать именно по 24 часа, а не просто отслеживать, что наступил новый день.
Тогда как мне запустить этот осчет именно после нужной сталии квеста?
Добавить это условие в соответствующую проверку, то есть
Код
if (GetStage a03HellRobotPitti >= 65) && DayX==0 set DayX to GameDaysPassed+1 elseif DayX > GameDaysPassed ;ничего не делать elsif GetStage a03HellRobotPitti >= 65 && DayX<GameDaysPassed set DayX to 10000000 ShowMessage a10HellThreeDaysPastMessage a10TroopersEnableRef.enable a10DeleteCorpseSupermutansXMarker.disable a10DisableMiscItemXMarker.enable a01PostNCRDisableRef.disable a09PostNCRXMarker.enable Setstage a01HellOfficeBuildingII 5 StopQuest a03HellRobotPitti
endi
Там со стадиями такая особенность - если квест уже побывал на стадии, допустим, 65 или больше, то даже если он потом перешёл на стадию с меньшим номером, то GetStage всё равно будет возвращать 65 или больше. Тут, по идее, это не должно влиять, но можно запускать таймер из результ-скрипта самой стадии. То есть как-то так:
Код
if (GetStage a03HellRobotPitti >= 65) && DayX== -1 set DayX to GameDaysPassed+1 elseif DayX > GameDaysPassed ;ничего не делать elsif GetStage a03HellRobotPitti >= 65 && DayX<GameDaysPassed set DayX to 10000000 ShowMessage a10HellThreeDaysPastMessage a10TroopersEnableRef.enable a10DeleteCorpseSupermutansXMarker.disable a10DisableMiscItemXMarker.enable a01PostNCRDisableRef.disable a09PostNCRXMarker.enable Setstage a01HellOfficeBuildingII 5 StopQuest a03HellRobotPitti
Как владелец дохлого калькулятора со всей ответственностью заявляю: оптимизация влияет, и на компьютерах, не слишком намного превышающих минимальные требования, эффект заметен даже невооружённым глазом. На своём опыте. Сделал интерьер средних размеров, любовно разложил там уйму мусора, построил баррикады из отдельных досочек, налил водички в подвал, набросал газет на пол. Пока без неписей. Бегаю, смотрю - красота! Расставил свет (ни одного фиолетового пятна при проверке, так, пара-тройка синих) - что за... Лаги начались просто жуть, двинешь мышкой, а отклик только через секунду. Расставил рум-маркеры - ну, не сказать, что совсем летать стала, но заметно, заметно быстрее. Это, правда всё в третьем Фоллауте было, но интерьеры вроде и в Вегасе оптимизируют. Неписи с пакетами - да, по субъективным ощушениям в Вегасе как будто затормаживают сильнее, чем в третьем. Есть, правда, и на них управа типа SetSceneIsComplex и ещё пары функций для обсчитывания поведения по упрощённым алгоритмам, но я ими ни разу не пользовался ещё, ничего про эффект для слабых машин сказать не могу.
Я в играх делаю просто ужасные вещи, про какие в жизни даже подумать страшно: стреляю в людей, поджигаю их, взрываю, потом съедаю, устраиваю дтп с жертвами (намеренно!), ворую, обманываю, выселяю людей из домов, развязываю войны, ем химию горстями и ещё много всего. Что со мной, доктор?!
Ничего. Скорее всего, ты не делаешь в играх это. Ты стреляешь в подвижные мишени, ты меняешь равновесие абстрактных процессов... Ты не играешь именно "за бандитов", "за плохих парней", твоя игра не имеет эмоциональной окраски - потому диагноз навскиду: всё с тобой в порядке
Зачем кому-то игра без эмоциональной окраски, если в окраске вся соль? Без неё это будет компьютерный тренажёр, а не игра. Сушествует куча игр, геймплей которых не содержит ничего кроме жесточайшего насилия, и лучшие из них, чёрт возьми, имеют сильную эмоциональную окраску. Сразу вспомнились Blood И Carmageddon. Я думаю, никто из игравших не станет отрицать, что в этих играх есть харизма и если уж кто не бросил играть сразу, тот как раз именно получает удовольствие от происходящего безобразия, а не практикуется принимать решения или там оценивать ситуации.
Насчёт игр, где игрок может выбрать поступить ему так или этак даже не знаю... Я в таких играх следую придуманной самому себе роли, а она каждый раз разная. Мне нравится играть роль - я имею ввиду не геймплейные аспекты типа "мой персонаж предпочитает магию, а не оружие" или наоборот (хотя и это тоже), а именно характер, поступки. А раз так, то и всё, что я вытворяю в шкуре хоть святого, хоть злодея, мне нравится тоже.
Ну и не будем забывать, что злодейство всегда (то есть Голливуд ни при чём) прождало вокруг себя некий такой ореол, что каждый (ну, ладно, каждый кроме Galko и ещё может быть, нескольких человек на Земле) нет-нет, да и захочет мысленно примерить на себя эту роль. А творческая публика тут как тут: сначала поэты-писатели, потом киношники, потом музыканты, потом игроделы. И роли для примерки на любой вкус - хошь романтический пират, хошь трагический злой гений, хошь бесшабашный ограбитель банков. Ну и трэш про кровь-кишки, куда ж без него.
По моему мнению, тут важно не то, кем там у себя в мозгах на досуге представляет себя человек, а то, насколько твёрдо он понимает разницу между игрой (фильмом, музыкальным шоу, книгой) и жизнью. А то начитаются-насмотрятся-наслушаются-наиграются всякие и принимают за чистую монету, балбесы...
Хех, раз уж так совпало, что я сегодня что-то пишу в "Бункер", вспоминаю старые игры и одновременно тут говорят про саундтреки, то вот вступительные титры, после которых я просто не смог не пройти эту игру, хоть квесты мне и не очень... http://www.youtube.com/watch?v=7jx3Vz6cpXY
Главгерой - кто угодно, но не законопослушный гражданин, насилие применяет очень даже охотно (ну кроме тех, случаев, когда у "неё же гаечный ключ!") - романтизация преступности в полный рост.
Изменение репутации для пользователя JupiterJour
JupiterJourOffline
Сообщение №431
| Тема: Бункер модмейкеров
написано: 22 сентября 2013, 19:59
| Отредактировано: Joopeeter - 22 сентября 2013, 20:12
мне кажется что рассуждение о том на кого и как влияют игры и зависимость и схожесть поведения виртуального и реального - это тема доклада психологов но никак не кухонных посиделок тут в бункере - в виду нашей некомпетентности в этом вопросе.
Боюсь, психологи меня слушать не станут - засмеют не дослушав ибо да, некомпетентен. С другой стороны, если сюда зайдёт компетентный в разработке Фоллаутов сотрудник Бетесды, то и ему наши обсуждения как сделать то-то и то-то наверняка покажутся детским садом. А если каждый начнёт говорить только о своей узкой профессиональной области компетенции, то останутся ли здесь хоть у кого-то с кем-то точки соприкосновения?
Добавлено (23.09.2013, 11:09) --------------------------------------------- про Анклав. Не удежался, но пытался, честно! Проблема с Анклавом - часть одной серьёзной проблемы третьего Фоллаута. А его серьёзная проблема в том, что он хоть и обрёл сам статус канона, но вообще-то хорошо заметно, что при его создании на канон плевали. Я не верю, что разработчики не потрудились изучить предыдущие части серии, скорее всего, просто те, на чьё бабло всё делалось, решили, что целевой, блин, аудитории на связанность с предыдущими частями наплевать, что она, аудитория, вся родилась уже сильно после первых частей и ей, аудитории, надо не логичность-обоснованность продолжения, а чтоб были зелёные мутанты, зомби и доспехи с лампочками - и всё, аудитория описается от счастья и побежит покупать.
Есть статики, имитирующие небо. Точных названий не помню, можно попробовать отфильтровать по *sky, *dome и *plane. Им надо будет назначить в Emittence какое-нибудь из "небесных" или "погодных" свечений (что-то типа WastelandWeather или WastelandSky, точно опять не помню) - чтобы темнело ночью. Не все свечения (или дело в статиках?) срабатывают как надо, некоторые всегда тёмные, но можно подобрать чтобы нормально работало. Пример - выходы из метро (вид изнутри), разрушенный автомобильный тоннель, пусковые шахты Рэйвен-Рока вроде тоже накрыты небом.
Про сильнее данных нет, но ведь и эквивалентного противодействующего влияния нет. К насилию нас потихонечку толкают, а вот рефлекторные миролюбивые компромиссы никто не прививает, и капля камень точит.
По идее, жизнь в обществе - это и есть противодействие. Тут ведь постоянно приходится по разным причинам давить в себе агрессию, применять совсем другие, нежели в играх, модели поведения. Да и отсутствие кнопки Load даёт о себе знать.
Меня не пугает этот конкурент, мне нужно, чтобы он не успел подать заявку на тендер. И поскольку к силовым приёмам я привычен, моя цель оправдывает очень широкий ассортимент средств, которыми конкурента можно притормозить. Многие из которых не закалённому играми (или чем-то подобным - но и играми в том числе) "интуитивно вежливому" бизнесмену просто не придут в голову как возможные.
Соперничество за место в иерархии - ещё даже более всеобщий инстинкт, чем оскал при испуге. Этим даже английские джентльмены занимаются и ничуть этого не стесняются. А вот выбор неджентльменского способа - целиком на твоей совести, потому что времени обдумать было больше, чем полсекунды, и на игры не свалишь. Или это было к тому, что вежливому бизнесмену надо закаляться, отрабатывая подлые приёмы в играх или чём-то подобном, при этом ни в коем случае не получая удовольствия, а то привыкнет?
Изменение репутации для пользователя JupiterJour
JupiterJourOffline
Сообщение №436
| Тема: ВОПРОСЫ по моддингу
написано: 25 сентября 2013, 16:56
| Отредактировано: Joopeeter - 25 сентября 2013, 16:58
А у меня вопрос чисто "навскидку", чтоб зря не терять времени на проверку в ГЕКК: - чтобы сделать так, чтобы при диалоге к ГГ обращались по-очереди два стоящих рядом непися - это можно обойтись указанием нужного GetIsId в условиях топика или же нужно "лепить" более сложную конструкцию?
Чтобы дело дошло до GetIsId, надо чтобы диалог с этим ID как минимум начался. На то это условие и нужно вообще-то. То есть если я правильно понял задумку (два непися, перебивая друг друга, рассказывают что-то Герой Героичу, только один замолк - камера переходит на второго), то на мой взгляд, надо в результ-скрипте последней фразы (которая с флагом Goodbye) либо выдать следующему оратору пакет диалога с помощью AddScriptPackage, либо, если пакет уже у него в списке, сделать истинными условия пакета и приказать оратору обновить пакеты EVP. Это всё тоже навскидку.
Как заставить разговаривать игрока с лежащим неписем?
Я б подсунул игроку в качестве собеседника маленький (SetScale 0) говорящий активатор, а непись пусть себе лежит. Но то я - мне на закрытые глаза и неподвижные губы начхать... С другой стороны, если без озвучки и лип-файлов, то губы и так не шевеляться, а если непись спит носом в стенку или по сюжету глаза продирать и не должен, то и закрытые глаза не влияют.
Изменение репутации для пользователя JupiterJour
JupiterJourOffline
Сообщение №442
| Тема: Скрипты
написано: 30 сентября 2013, 16:03
Ёмаё, кто ж пишет в скрипте всё в одну строчку? Не разобрать же ничего! Надеюсь, хоть в ГЭКК ты его не в таком виде копируешь?
А позу искать в скриптах, висящих на тех манекенах. ГЭКК же не знает, что ты только ещё собираешься создать все те объекты и переменные, которые упоминаешь в своём скрипте, вот и намекает тебе на это: "неизвестная функция или переменная". То есть перед тем, как сохранять этот скрипт, надо повесить на манекены их собственные скрипты, в которых должна быть объявлена эта переменная Pose, разместить в мире реф-копии манекенов и дать им всем такие RefID, под которыми они фигурируют в приведённом скрипте. И разбить скрипт на строки! Или это уже говорил?..
Чем хорош монгольфьер? Тем, что в изготовлении проще паровоза, не говоря уж о вертолёте, не требует никакой инфраструктуры, а улететь может, как нам подсказывает Жюль Верн, не то что в Вашингтон, а аж на Таинственный остров. Это такое ИМХО, как выражаюсь неграмотный я.
Добавлено (30.09.2013, 20:58) --------------------------------------------- Но пешком для здоровья полезней, конечно.
Нет, ну надо различать халтуру с криворукостью и ограничения, которые либо невозможно обойти, либо результат не стоит усилий. По мне, так хоть в виде конверсейшн с субтитрами сделай этот разговор, хоть в виде месседж-боксов - суть не пострадает.
Моё личное мнение - если можно обойтись ванильным, то им и надо обходиться. Городить ради двух фраз папку Data или .bsa в дополнение к эспешнику, по-моему, не стоит.
А переселение душ, переселение душ-то забыли! Вот хренак, убивают Курьера в Мохаве какие-нибудь Черти. Музака ту-дуу, чёрный экран... и опа! "Ну-ка, кто тут у нас?"