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

Паха007

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

    2 324
  • Пожертвование

    100 000.00 руб 
  • Зарегистрирован

  • Посещение

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

    67

Паха007 стал победителем дня 27 декабря 2018

Паха007 имел наиболее популярный контент!

Репутация

533 Очень добрый

12 Подписчиков

Информация о Паха007

  • Звание
    Конструктор
  • День рождения 17.07.1991

Информация

  • Пол
    Мужчина
  • Город
    Красноярск

Посетители профиля

7 040 просмотров профиля
  1. Володя написал выше. Добавить строчку set bAwaitingInput to 1 выше строчки активации мессадж-бокса.
  2. Видимо не работает твой блок MenuMode в скрипте. Скорее всего потому, что у тебя стоит условие If ( bAwaitingInput == 1 ), а сама переменная стоит на 0, вот блок и не срабатывает. Я не вижу, чтобы она где-то в скрипте начислялась. Она где-то начисляется вне скрипта? И какая у нее задача вообще? Зачем она нужна? А само окно активируется. Его активация прописана в блоке OnActivate, и этот блок работает.
  3. Скриншот мессадж-бокса с менюшкой в студию. Что происходит при нажатии второй кнопки менюшки?
  4. Сотри строчку целиком, сохрани скрипт и закрой его. Затем открой скрипт, впиши ее снова и попробуй сохранить. Почему скрипт ругается на "to" не понятно, единственное, что приходит на ум - o прописана по-русски. Если кто-то помнит, похожая проблема была у Allnart,ы когда-то давно, скрипт ругался на абсолютно правильную строчку. Как тогда решили это, я уже не помню.
  5. Просто сменил ссылку... Да уж. Точнее сказать просто отодрал от скрипта маленький кусок... Так а в чем сейчас-то проблема? Вот это не компилируется или не работает так как ты задумал? Или что?
  6. В блоке BEGIN MenuMode присутствуют как минимум две переменные - nButton, которая отвечает за строки в меню и bAwaitingInput. Но почему-то в скрипте они не прописаны. scn BioReactorScript short nButton short bAwaitingInput Begin OnActivate if IsActionRef player == 1 If NVDLC03DialogueHQBuddies.bBuddiesTalk == 1 setTalkingActivatorActor BioReactorNPC activate else ShowMessage BioReactorNoTalk endif endif End. BEGIN MenuMode 1001 If ( bAwaitingInput == 1 ) Set nButton to GetButtonPressed; If ( nButton > -1 ) Set bAwaitingInput to 0; ; ------------------------------------------------------------------- BUTTON 0 ---------------------------------------------- \/ ; "Go away" If ( nButton == 0 ) Set nButton to -1; Return; ; ------------------------------------------------------------------- BUTTON 1 ---------------------------------------------- \/ ; "Charge" Elseif ( nButton == 2 ) Set nButton to -1; Player.ShowRecipeMenu BioReactor Endif Endif Else Return; Endif END; menumode 1001 А вообще, скинул бы ты исходник скрипта, с которого ты это скопировал, чтобы знать, что ты там поменял.
  7. В этом куске скрипта нет никаких рефID, я могу конечно написать что примерно означает каждая строчка скрипта, но надо ли оно?
  8. Самое сложное, пожалуй - это сами картинки сделать. А внедрить в игру не трудно, они там в качестве текстур находятся, в формате dds. По сути тут даже редактор не нужен, достаточно поменять ресурсы. Делайте красивые картинки, сделать из этого мод поможем.
  9. Смотря что из себя будет представлять этот реплейсер, перерисовка слайдов, замена озвучки?
  10. Я не понимаю, что такое личностный модуль, так как не знаком с модом про биреактор. Переменная bBuddiesTalk - это, видимо, какая-то переменная, которую ввел автор мода для чего-то. Что касается message box-а с кнопками - все действия, которые он выполняет прописываются в скрипте, есть такая внутриигровая переменная - Button, она как раз и завязана с вариантами выбора и их последствиями при выборе вариантов из message box-а.
  11. Галочку надо поставить Persisdent Reference (постоянная ссылка) в окне креста. И вообще это галочка должна стоять на всех объектах, которым ты даешь референс ID. Далее, надо нажать "окей" в окне, тем самым сохранить результат.
  12. И не будет. С этой аброкадаброй, которую ты у кого-то списал на ютубе колесо работать не будет. Колесо спутника завязано с переменными, которые имеют определенные ID и прописаны в скриптах напарников, названия у них идентичны в каждом скрипте компаньона, можно посмотреть на примере ванильных спутников. А еще помимо этих переменных колесо связано с ванильными компаньонскими топиками, названия которых тоже можно посмотреть в ванильном квесте спутников. Система колеса очень проста и практически не требует скриптов, кроме добавления переменных в скрипт NPC, все остальное там реализовано через диалоги. Так что, если хочешь колесо, удаляй всю эту штуку с тем скриптом и своими топиками, которую ты написал, и смотри, детально разбирай реализацию ванильных напарников. Правильно, ты же ничего не прописал, чтобы он был дружелюбен по отношению к игроку. При найме и увольнении в результ-окне следует прописать ряд функций. При найме: Set IDREF.Waiting to 0 на всякий случай отменяет ожидание, если оно активировано IgnoreCrime 1 игнорирует атаки игрока NPCREF.AddPerk CompanionSuite какой-то игровой перк для компаньонов, не помню точно какой, однако это и есть колесо спутника. Player.AddPerk NPCFollowerPerk (ID перка) добавляет игроку уникальный перк напарника, если таковой имеется Set NPCREF.IsFollowingDefault to 1 активирует стандартную дистанцию следования (через пакет) Set NPCREF.CombatStyleRanged to 1 активирует дальний стиль боя по умолчанию SetPlayerTeammate 1 функция "товарищ по команде" SetIgnoreFriendlyHits 1 действие перка "дружеские подколки" Set NPCREF.RaggalHired to 1 начисляет переменную, значение 1 - персонаж нанят, нужна для настройки пакетов Set NPCREF.RaggalFired to 0 начисляет переменную, значение 0 - персонаж не уволен NPCREF.AddToFaction FollowerFaction 1 добавляет персонажа во фракцию игрока NPCREF.SetFactionRank TeammateFaction 1 фракционная функция NPCREF.ResetAI перезагружает AI напарника ShowMessage IDMsg (ID сообщения "Message") выводит на экран сообщение о присоединение персонажа к игроку ShowMessage IDMsg (ID сообщения "Message") выводит сообщение о добавлении игроку уникального перка напарника, если таковой имеется При увольнении прописываются функции, обратные этим, кроме некоторых. Set NPCREF.Waiting to 0 на всякий случай отменяет ожидание, если оно активировано IgnoreCrime 0 Отменяет игнорирование атак игрока Set NPCREF.RaggalHired to 0 начисляет переменную, значение 1 - персонаж не нанят нужна для настройки пакетов Set NPCREF.RaggalFired to 1 начисляет переменную, значение 1 - персонаж уволен, нужна для настройки пакетов Set NPCREF.RaggalL38 to 0 начисляет переменную, значение 1 - персонаж уволен, 1 - направлен в Лаки 38, 0 - отправлен туда, где обитал ранее, нужна для настройки пакетов NPCREF.SetPlayerTeammate 0 NPCREF.RemovePerk CompanionSuite забирает у напарника вышеупомянутый перк Player.RemovePerk NPCFollowerPerk (ID перка) забирает у игрока перк напарника NPCREF.RemoveFromFaction FollowerFaction исключает персонажа из фракции игрока ShowMessage IDMsg выводит на экран сообщение о увольнении напарника ShowMessage IDMsg выводит сообщение о потери игроком уникального перка напарника, если таковой имеется NPCREF.ResetAI Извиняюсь, если разочаровал, но прежде чем смотреть какие-то ролики в интернете, нужно было посмотреть реализации спутников в оригинальной игре, или скачать базовый туториал по созданию супермутанта-компаньона "Малыш Джимми". Там подробно все описано, как раз под колесо. В принципе, вариантов реализации напарников много, в ванильном Fallout 3, например, они вообще по другому созданы в сравнении с NV. Так что, твой вариант с колесом не подружится.
  13. Нет, потому, что ты переместил скрипт с квеста на NPC, и теперь условие GetQuestVariable надо сменить на GetScriptVariable, в нем найдешь своего NPC и его переменные. Условие GetQuestVariable используется для переменных скриптов, которые привязаны к квестам. Условие GetScriptVariable используется для переменных скриптов, которые привязаны к NPC и прочим объектам.
  14. И ты сам это сочинил? Или списал где-то? scn RGLfollowerScript2 short RGLFollow ; 0=NO 1=YES short RGLWeap ; 0=range 1=melee short RGLDist ; 0=long 1=close short RGLWait ; 0=NO 1=Yes short RGLAgression ; 0=default 1=agressive 2=passive Begin OnLoad If RGLWeap == 0 Перед 0 пропустил пробел RGLfollowerREF.SetRGLWeap FollowersCombatStyleRanged Неправильно, вообще бессмыслица RGLfollowerREF.SetCombatStyle FollowersCombatStyleRanged Надо так Else If RGLWeap == 1 Опять пропустил пробел RGLfollowerREF.SetRGLWeap FollowersCombatStyleMelee Опять бессмыслица RGLfollowerREF.SetCombatStyle FollowersCombatStyleMelee Надо так EndIf END Вот так должно сохраниться. Но будет-ли написанное тобой работать корректно в связки с какими-то твоими диалогами, которые я не знаю как реализованы, я не знаю. Какая-то это странная реализация.

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