Перейти к содержанию

Вис691

Управление проектами
  • Публикаций

    1 539
  • Пожертвование

    0,00 ₽ 
  • Зарегистрирован

  • Посещение

  • Победитель дней

    67

Весь контент Вис691

  1. Версия 1.5

    275 раз скачали

    "... для всех Ваших нужд в создании мира!" GECK обеспечивает Вас инструментами, которые позволяют расширять игру так, как Вам хочется! Вы можете создавать, модифицировать и изменять любые данные, используемые игрой, от пейзажей, городов и локаций до написания диалогов, создания персонажей, оружия, существ и многое другое. Установка: Распаковать содержимое архива в любую папку. Запустить Fallout3_GECK.exe и следовать указаниям Запустить Fallout3_GECK_1.5_Update.exe
  2. Я бы наверно глобальную завёл, если квеста нет и он не нужен. Если какой-то квест уже есть со скриптом, то можно и там переменную завести. Так чтобы он кричал постоянно, а не только при входе в триггер (единожды), по идее, надо поменять на OnTrigger.
  3. Выглядит верно, но переменную RGLvar наверно надо сделать либо глобальной, либо в какой-то квест воткнуть. Ну и я вижу ты поменял на OnTriggerEnter - это будет срабатывать только при входе в триггер. Тебе разве так хочется?
  4. А у тебя между if и endif ничего нет. Команды-то надо внутрь заносить, а не после) if RGLstreetCrier2REF.GetDead == 0 if RGLstreetCrier2REF.IsTalking == 0 if RGLstreetCrier2REF.IsInCombat == 0 if RGLvar == 0 RGLstreetCrier2REF.Say RGLstcr0 set RGLvar to 1 endif if RGLvar == 1 RGLstreetCrier2REF.Say RGLstcr1 set RGLvar to 2 endif ... endif endif endif Но такой вариант тоже неправильный. Смотри, как будет идти скрипт. Считаем, что внешние 3 условия выполняются. Переменная 0? Да, она изначально 0, значит выполняем 2 команды внутри. Одна из команд переводит переменную в 1. Следующее условие - переменная 1? Да, мы её только что на 1 поставили. И вновь код внутри выполнится. И т.д. Т.е. он как бы за 1 проход активирует все реплики, а это неверно. В таком случае надо изучить, что конструкция if-endif может расширяться до if-elseif-endif. Взгляни вот на такой вариант: if RGLvar == 0 RGLstreetCrier2REF.Say RGLstcr0 set RGLvar to 1 elseif RGLvar == 1 RGLstreetCrier2REF.Say RGLstcr1 set RGLvar to 2 ... endif При таком подходе, у нас не много if-endif конструкций, а всего одна. Скрипт при проходе будет искать первое условие, которое выполнится. Как только он его найдёт, он выполнит команды внутри, и выйдет из конструкции (даже если дальнейшие условия тоже выполнялись бы). При такой схеме мы за 1 проход активируем всего одну реплику. P.S. Я обратил внимание, что среди внешних условий есть RGLstreetCrier2REF.IsTalking == 0, поэтому теперь вновь верю, что этот скрипт должен работать)
  5. Так как я с закрытыми глазами помочь смогу?) Ну давай подумаем. Надо решить, когда будет срабатывать блок, правильно? Если у нас Gamemode, то этот блок будет срабатывать всегда, когда мы "в игре" (не в меню или ещё где-то). Получается, что переменная в каждый новый проход скрипта будет 0. Как-то нехорошо. Если у нас OnTrigger, то срабатывание будет происходить всегда, когда мы внутри триггера. Т.е. опять в каждый новый проход (пока мы внутри триггера) переменная будет обнуляться. Наверно, тоже не очень хорошо. Как же быть? А всё очень просто. По умолчанию, когда ты пишешь "short RGLvar" переменная принимает значение 0. И это происходит ровно один раз. После этого ты можешь менять переменную как хочешь, она в 0 автоматически не сбросится. Поэтому всё, что нужно - убрать "set RGLvar to 0". Ничего сложного нет. На каждый if ты в конце ставишь endif. Я думаю, если ты посчитаешь, сколько у тебя if-ов и endif-ов, то заметишь, почему скрипт не сохраняется. Это называется добросовестный автор или нет. Сдвиг строк вправо делается для повышения читаемости кода. На работу скрипта никак не влияет. Когда их двигать? Не знаю даже как это правильно объяснить. Вот есть у тебя смысловые блоки begin-end, if-endif, также бывают циклы различные. В общем, всё, где ты ставишь какое-то условие. Вот для того, чтобы было понятно, что выполняется, когда условие проходит, это сдвигают вправо. Например: if (условие1) команда1 команда2 else команда3 команда4 endif команда5 Если посмотреть, то сразу становится понятно, что команды 1 и 2 выполняются. если условие1 срабатывает. Команды 3 и 4 выполняются, если условие не срабатывает. И команда5 выполняется всегда, т.к. она идёт после if-endif. Если вдруг нужно больше уровней вложенности, то не проблема: if (условие1) if (условие2) команда1 endif команда2 endif Тут команда1 выполняется, только если и условие1, и условие2 выполняются. Команда2 выполняется только если условие1 выполняется, на условие2 ей всё равно, она вне этого блока. Кстати, обрати внимание, что if и endif на одном уровне визуально находятся, если правильно сдвиги делать. Это опять же позволяет проверить, а не забыл ли ты что-то. Тут не "==", а "to". "==" используется для сравнения, а "to" для присвоения нового значения. Я, кстати, только сейчас задумался о потенциальной проблеме. По-хорошему надо подождать. пока НПС закончит свою последнюю реплику. Хмм, возможно подход через скрипт не будет работать. А как устроены другие зазывалы?
  6. Не знаю, как работают Link From/To, поэтому я бы всю логику перенёс в скрипт. Завёл бы переменную-счётчик, которую увеличивал бы после каждой реплики, а после последней сбрасывал бы её в 0.
  7. Если не ошибаюсь, наличие перка у НПС проверяется. Для ГГ вроде с Subject на Target поменять
  8. Боюсь, что проще всего вернуть галку на неповторяемость испытания. Лёгкого способа отличия "игрок скрафтил патроны" от "игрок скрафтил что-то другое" - нет.
  9. По первым 2ум не подскажу, а вот с именем есть несколько вариантов. Сразу предупреждаю. что сам не тестировал. Получить имя любого рефа можно через LNGetName, т.е. имя игрока должно быть player.LNGetName. Дальше уже надо смотреть, что тебе нужно. Если варианты замены имени у рефа и у базового объекта. Для рефа вроде походит LNSetName, для базового объекта SetName и SetActorFullNameAlt. Если надо расписать подробнее - пиши.
  10. Вот по идее она должна быть там, где сообщение вызывается, т.е.: Begin OnActivate if IsActionRef player == 1 If NVDLC03DialogueHQBuddies.bBuddiesTalk == 1 setTalkingActivatorActor BioReactorNPC activate else set bAwaitingInput to 1 ShowMessage BioReactorNoTalk endif endif End. А смысл у неё простой - сказать, мол, вот мы вам менюшку вывели, ждём, что же вы выберете. Это чтобы не крутить целиком блок в MenuMode 1001 постоянно, когда он активен.
  11. Один Endif забыл: scn BioReactorScript Begin OnActivate if IsActionRef player == 1 If NVDLC03DialogueHQBuddies.bBuddiesTalk == 1 setTalkingActivatorActor BioReactorNPC activate else ShowMessage NVDLC03HQBuddiesNoTalkMSG endif endif End
  12. Вис691

    Процесс идёт

    Всем привет! В прошлый раз я говорил, что забот у меня будет немало: работа, написание диплома и т.д. Что же, диплом я написал, защитил, образование получил и вновь поступил. На работе перешёл на полную рабочую неделю. В общем, дел и правда немало было. Но и немного ковырял мод, не без этого. Поэтому сегодня я хотел бы поднять две небольшие темы. Начнём с более интересной. Вы слышали про мод Book Menu Restored? С этой модификацией открывается возможность создавать полноценные книги, постеры и чертежи. И это только шаблоны! Можно придумать что-то своё, например карту. Лично меня этот релиз заинтересовал моментально, да и ребятам понравилось. Поэтому у нас в Каньоне будут книги. Надеюсь, не одна . Я потратил какое-то время на то, чтобы разобраться со шрифтами. Дело в том, что вы можете использовать любой шрифт, который есть в игре. Но! Вы также можете добавлять свои, если постараться... Во-первых, JIP добавляет дополнительные слоты. Но это не лучший вариант, т.к. неизвестно использовался ли этот слот в другом моде или нет. Шанс, конечно, невелик, но всё же. Я пошёл по другому пути. Я написал скрипт, который делает авто подмену шрифта при открытии нужной книги. А потом возвращает исходный. Схема довольно простая, но очень эффективная. И защищает от всевозможных конфликтов, что немаловажно. Кстати, для создания шрифта я использовал Oblivion Font Editor. Очень удобная вещь. К сожалению, не могу показать новый шрифт, ибо спойлеры, но могу показать картинку с ранними тестами, на которой представлены все стандартные шрифты. Жаль что, некоторые из них довольно кривые: Вторая тема связана с написанием диалогов. НЕ ИСПОЛЬЗУЙТЕ такие программы как Word и прочие, в которых встроено автоформатирование. Почему, спросите вы? Да, я соглашусь, что это очень удобно. Особенно когда можно выделить какие-то участки текста цветом или ещё как-то. Или посмотреть на ошибки, подсвечиваемые программой. Но вот уже сколько раз натыкался и всё ещё продолжаю натыкаться на то, что при копировании в GECK всё выглядит отлично, а в игре символы пропадают. Я вам сейчас 2 примера приведу. Сравните: – и -, … и ... И если с дефисом, превратившемся в тире, всё более-менее ясно, то различий во втором примере можно и не разглядеть сходу. А всё очень просто: первый символ - это один знак многоточия, а второй - это 3 точки. И конечно, в игре первый не поддерживается. И вот такие приколы меня, если честно, не радуют. Наверняка есть и другие примеры автозамен, на которые я ещё не наткнулся. В общем, надеюсь, мой посыл ясен - используйте другие редакторы текста или избавляйтесь от автозамен. А у вас были подобные случаи? Может, кто-то знает простое и изящное решение? Пишите комментарии, их я ещё проверяю . Не знаю, когда будет следующий пост и будет ли вообще... Всё-таки для постов нужна какая-то тема. Но посмотрим, я ещё не прощаюсь.
  13. Вис691

    Процесс идёт

    Это не камень, это скорее призыв к тому, чтобы на это обратили внимание. Текст я читаю всегда, ибо иногда встречаются очепятки и пропущенные/лишние знаки препинания. Но вот на глаз определить тире или дефис передо мной (а Word оставляет и то, и то) не всегда получается. Да и про многоточия тоже иногда забывается. Ситуация реально неприятная выходит. Вроде и вычитываешь, и в игре пересматриваешь, но всё равно иногда проскакивают "пропуски". На днях, например, нашёл несколько тире в правилах крэпса, которые в игре уже не первый год лежат... Всё же проще избежать эту проблему изначально, мне кажется.
  14. Попробуйте вот этот фикс. Для проверки достаточно взять сейв, где ещё на стрипе не были (или были, но ещё не заработали карму "Любимец" и выше). StripReputationFix.esp
  15. Вис691

    "Фэншуй" / Feng Shui

    Версия 0.9.3 hotfix

    585 раз скачали

    По многочисленным просьбам я, наконец, выкладываю адаптированную под Вегас и SFW версию известного мода! Фэншуй даёт вам возможность переставлять предметы, а также закреплять их на новых местах. Если вы пытаетесь поставить бутылочку Нюка-Колы при помощи клавиши z... Возможно Фэншуй сможет вам помочь. В дополнение к возможности перемещения предметов в пространстве вы можете закрепить их на новых местах, даже если будет мешать коллизия других предметов или будет отсутствовать опора, на которой должен стоять предмет. Грубо говоря, вы можете повесить что-нибудь на стену, просто в воздухе или разместить предмет очень близко к другому. Также вы можете перемещать закреплённые предметы и откреплять их в любое время! Особенности: - Перемещение предметов в пространстве - Изменение размеров предметов - Закрепление предметов (их невозможно будет сдвинуть) - И-и-и-и... Возможность спавна предметов! Не забудьте просмотреть видео! C управлением вы ознакомитесь в игре. Также хочу заметить, что мод позволяем читерить крышки и предметы, так что следите за этим http://www.youtube.com/watch?v=COF1zv3Usqo Требования: NVSE Установка: Распаковать содержимое архива в папку Data вашей игры, подключить плагин в FOMM. Благодарности: HugePinball - за прекрасную работу, которую он, к сожалению, забросил Reddeq - за перевод мода по моей просьбе А также благодарности от автора:
  16. Вис691

    "Ежедневник" / Writable Logbook

    Версия 4.1

    337 раз скачали

    Ежедневник, в который Вы можете писать, что угодно! Вы получите Вашу первую книгу после завершения квеста "Побег" или "Удар по голове". Найти его можно в разделе "Костюмы". Особенности: - Существует 2 режима: режим Меню и режим Реального времени. Режим Меню: при работе с ежедневником игра будет стоять на паузе. Режим Реального времени: при работе с ежедневником игра будет идти своим чередом. На Вас могут напасть, голод, депривация сна и жажда будут повышаться. Требуется наличие плагина Lutana. - Поддержка MCM меню, в котором Вы может настроить Ваш ежедневник. Все клавиши управления ежедневником (переключение страниц, строк и т.д.) будут видны прямо в игре, поэтому запутаться просто нереально! Изначально мод не поддерживал русский язык, я же это исправил. Теперь мод не поддерживает английскую раскладку В будущем я планирую сделать выбор. Т.к. букв в русском алфавите больше, чем в английском, то на символы (точки, запятые и т.д.) не хватило клавиш. Поэтому мною было принято решение перенести их на NumPad: 0 - запятая , 1 - двоеточие : 2 - апостроф ' 3 - вертикальная черта | 4 - восклицательный знак ! 5 - вопросительный знак ? 6 - открывающая скобка ( 7 - закрывающая скобка ) Точка, плюс, минус, звёздочка и косая черта уже присутствуют на NumPad'e. К сожалению, клавиши придётся запомнить или записать на листок. Поверьте, со временем Вы их легко запомните. При этом осталось 2 свободных слота, поэтому приму Ваши предложения. Также нет буквы "ё", её и в игре нет. Требования: NVSE UIO MCM (необязательно, но очень советую) Lutana (необязательно, но очень советую) Установка: Распаковать содержимое архива в папку Data вашей игры, подключить плагин в FOMM. Благодарности: Fallout2AMHemingway308 hlp Luthienanarion JazzIsParis Prideslayer Doctasax
  17. Ну с тех пор много воды утекло, и некоторые идеи изменились. На текущий момент, хочется небольшую модельку - типа коллекционного предмета (на полку поставить). Гравировка больше не нужна, но идея была в том, что хотелось бы её типа из золота сделать. Без текстурок, конечно, грустно, но лучше, чем ничего)
  18. Вот когда предмет в консоли выделен, пропишите gbo. Вот это и будет верный ID. По первым 2ум цифрам определите модуль (например, через FOMM). А то все ID, начинающиеся с FF, - это временные ID, и никакой информации они не несут .
  19. bbperkquestSCPT, самый конец: if lockxp > 0 set lockxp to lvllock / 25 if lockxp < 1 set lockxp to 1 elseif lockxp > 4 set lockxp to 4 endif if lockxp == 1 rewardXP trapxprewardVeryEasy elseif lockxp == 2 rewardXP trapxprewardEasy elseif lockxp == 3 rewardxp trapxprewardAverage elseif lockxp == 4 rewardxp trapxprewardHard endif set lockxp to 0 endif Вот сюда можно, после set lockxp to 0, например. Это сразу покроет взлом ножом, стрельбой, чем угодно. Единственное, я не совсем уверен, что та команда, что я выше написал, именно +1 к статистике делает, я не проверял. Но, судя по названию, должна.
  20. Если очень хочется, то можно в скрипт ModPCMiscStat "Locks Picked" 1 добавить.
  21. У меня, конечно, версия SFW древнейшая, поэтому может быть неактуально, но! Тут 2 куба коллизии. xx00DF1C (он вроде выключается) и xx00DBD7 (а вот он остаётся). Аналогично на обратной стороне.
  22. Не, такого нет. OnDeath работать должен, но скрипт просто останавливается. Попробуй в обратную сторону: сделать туррели Enable Parent'ом для коллизии. Тогда, по идее, при смерти туррели автоматом и коллизия уйдёт, без всяких скриптов.
  23. Хмм, тут всё грустно. Турельки умирают и их скрипты сразу останавливаются, т.к. от них ничего не остаётся... Надо думать.

×
×
  • Создать...