-
Публикаций
1 223 -
Пожертвование
0,00 ₽ -
Зарегистрирован
-
Посещение
-
Победитель дней
51
Сообщения, опубликованные RaggaL
-
-
Нашел на нексусе мод, позволяющий вылечить свои руки после замеса с Марко. Но не понравилось,что там сделано через скрипт, что приводит к несовместимости с другими модами, которые затрагивают Автодок из OWB. Сляпал свою версию, все делается через реплику. Но присобачить чужую иконку не удалось, ни в какую она в игре появляться не хочет. Извините, я правда пытался.
Все равно как для мода изменений мало и ставить его никто не будет. А вот если будет обновление модуля работ someguy2000, то может и пригодилось бы.
Прилагаю свой плагин и иконку.
Автор плагина, который подал идею: https://www.nexusmods.com/newvegas/mods/69057?tab=description
Мод,откуда взята иконка: https://www.nexusmods.com/newvegas/mods/65046- 1
-
-
В 22.05.2021 в 00:14, MagnuMspec сказал:В черный экран:
IMod FadeToBlackISFX
Обратно, точно не знаю, но можно попробовать:
IMod FadeInFromBlack2sISFX1)Вот так работает, но я не могу сообразить, как сделать правильно. Вписал обе команды в result script одного топика, поднявшись,что экран сначала станет черным, а потом обратно. Но получилось такое, как на скриншоте. Экран светлеет после выбора реплики.
То есть дополнительно нужно прерывать диалог, вешать черный экран, потом его снимать и начинать диалог снова. А как? Делать топик goodbye, а дальше? Нужен пакет AI?
Поясню, что это вообще такое и зачем нужно: ГГ говорит с неписем, не имеющим озвучки. ГГ задаст вопрос и будет должен получить ответ, но ввиду вышеуказанных причин это нужно оставить за кадром. То есть поле черного экрана, как бы выслушав ответ, ГГ ответит "ааа, понятно", а потом то,что на скриншоте. Я придумал так, но может, есть варианты получше?
2)Попытался воспользоваться моддерским ресурсом Gallows and Nooses , но там нет инструкции. Действовал по аналогии с крестом. Эдитом скопировал виселицу в свой плагин, разместил виселицу в мире. Рядом поставил непися и сделал ему Вот такой пакет AI:
СпойлерНо он не хочет вешаться на виселицу, а торчит из нее.
Также мне не понятно, как сделать из этой виселицы активатор, чтобы при использовании появлялся message box. Это надо размещать триггер, и к нему цеплять activator? Или можно как-то к самому объекту?
3) Как придать неписю имя, аналогичное имени ГГ? -
И снова я с вопросами.
1.Как сделать так,чтобы при входе в определенную локацию вывелся message box (С задержкой на несколько секунд), а при его закрытии стартовал квест?2. Как сделать,чтобы посреди диалога вывелся черный экран, а потом снова начался диалог? Типа как с Джоаной или Блестящей. Их я изучал, но не нашел ничего.
-
5 часов назад, Rexschwert сказал:Помочиться? Dude, на него cumming и в конце на нём a lot of semen других dudes. Если переводить, то что-то вроде "Спеченье", как что-то близкое к печенью или процессу выпекания (что в общем-то является процессом готовки, ведь в этой игре его готовят) и в то же время отдалённое напоминание о сперме или процессу "спускания". "Спученье" или "Спусченье", что практически тоже самое, но в большую сторону к глаголу "спускать". Можно так же попробовать и "Спусель", что напоминает о карусели, потому что в оригинальной игре там спускают по кругу, или уж совсем странное слово "Спусельченье" или "Спусеченье", что является химерой предыдущих вариантов но с некой отсылкой на то, что это "развлеченье". К тому же, в зависимости от контекста, это может быть музыкальная группа (что мало вероятно) или "вялый пенис", что можно обозвать как "вялый". Но я хочу посмотреть, как это переведёт 65 летний дед.
Это нужно высечь в граните.
-
19 часов назад, Паха007 сказал:А само окно активируется. Его активация прописана в блоке OnActivate, и этот блок работает.
Это хорошо, что работает. Потому что я не понимаю,как это работает. В чужом скрипте-работает. А здесь-нет.
Так а что же мне делать? пробовал переписывать скрипт вручную (Ранее копировал-вставлял), раз в прошлый раз помогло. Но результата нет.
-
-
Есть, стер-вписал и все сохранилось. Менюшечка появляется, но кнопка 1 не работает. Должно появляться мое recipe menu, в скрипте прописано по аналогии с оригиналом.
-
6 часов назад, MagnuMspec сказал:Поставь https://www.nexusmods.com/newvegas/mods/64888
Будет хотя бы писаться, почему.
С ним дело пошло бодрее, пару ошибок выкорчевал. Застопорился на этом:
"to" присутствует, но почему-то редактор продолжает его требовать. И без него тоже не работает,проверил на всякий случай.
Новый скрипт выглядит вот так:
Спойлер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 If ( nButton == 0 ) Set nButton to -1; Return; Elseif ( nButton == 2 ) Set nButton to -1; Player.ShowRecipeMenu BioReactor Endif Endif Else Return; Endif END; menumode 1001
-
-
52 минуты назад, Паха007 сказал:А вообще, скинул бы ты исходник скрипта, с которого ты это скопировал, чтобы знать, что ты там поменял.
Исходник скрипта:
СпойлерSCN NVDLC03SinkBioResearchStationSCRIPT ; Talking Activator script for Bio-Research Station ; tls 01/19/2011 ; SPW 02/24/11 - Adding vars for HQ Buddy quest ; SPW 03/01/11 - Removing line that kicked off the samples quest ; ETB 03/24/11 - Added gamemode start conversation routine (to get conversation to start directly after a message box pop-up). Short bBiologyUnlocked ; 1 = Player has turned in the unlock holodisk: "NVDLC03HQBuddyBiologyNOTE". Short bAwaitingInput ; Message box variable (menumode). Short bCallBiologyUI ; Message box variable (gamemode). Short nButton ; Which message box option the player has pressed. Short bTalkAfterMessage Short nSetAnyTimer ; ------------------------------------------ Short bSetBananaYuccaTimer Float fBananaYuccaCurrentDay Float fBananaYuccaLastDay ; ------------------------------------------ Short bSetBarrelCactusTimer Float fBarrelCactusCurrentDay Float fBarrelCactusLastDay ; ------------------------------------------ Short bSetBrocFlowerTimer Float fBrocFlowerCurrentDay Float fBrocFlowerLastDay ; ------------------------------------------ Short bSetHoneyMesquiteTimer Float fHoneyMesquiteCurrentDay Float fHoneyMesquiteLastDay ; ------------------------------------------ Short bSetJalapenoTimer Float fJalapenoCurrentDay Float fJalapenoLastDay ; ------------------------------------------ Short bSetMaizeTimer Float fMaizeCurrentDay Float fMaizeLastDay ; ------------------------------------------ Short bSetNevadaAgaveTimer Float fNevadaAgaveCurrentDay Float fNevadaAgaveLastDay ; ------------------------------------------ Short bSetPintoBeanPodTimer Float fPintoBeanPodCurrentDay Float fPintoBeanPodLastDay ; ------------------------------------------ Short bSetPricklyPearTimer Float fPricklyPearCurrentDay Float fPricklyPearLastDay ; ------------------------------------------ Short bSetXanderRootTimer Float fXanderRootCurrentDay Float fXanderRootLastDay ; ------------------------------------------ Short bSetWhiteHorseNettleTimer Float fWhiteHorseNettleCurrentDay Float fWhiteHorseNettleLastDay BEGIN OnLoad SetTalkingActivatorActor NVDLC03SinkBioResearchLabTalkerREF; END BEGIN OnActivate If (IsActionRef Player == 1) If ( bBiologyUnlocked == 1 ) If ( NVDLC03DialogueHQBuddies.bBuddiesTalk == 0 ) ShowMessage NVDLC03HQBuddiesNoTalkMSG; Set bAwaitingInput to 1; ShowMessage NVDLC03HQBioResearchStationMSG; Elseif ( NVDLC03DialogueHQBuddies.bBuddiesTalk == 1 ) Set bTalkAfterMessage to 1; Endif Else If ( Player.GetHasNote NVDLC03HQBuddyBiologyNOTE == 0 ) ShowMessage NVDLC03HQBuddyLockedMSG; Elseif ( Player.GetHasNote NVDLC03HQBuddyBiologyNOTE == 1 ) Player.RemoveNote NVDLC03HQBuddyBiologyNOTE; Set bBiologyUnlocked to 1; Set NVDLC03HQBuddy.iBio to 1; ;SPW ;SetObjectiveDisplayed NVDLC03HQBuddySamples 20 1; ;SPW - Gives the objective to find the seeds. 3/11 This quest now starts after everything has been upgraded. Set NVDLC03DialogueHQBuddies.bBiologyUnlocked to 1; ShowMessage NVDLC03HQBuddyUnlockMSG; IncrementScriptedChallenge NVDLC03AchievementMakingFriends; Set bTalkAfterMessage to 1; Endif Endif Endif END; onactivate BEGIN GameMode If ( bCallBiologyUI == 1 ) Set bAwaitingInput to 1; ShowMessage NVDLC03HQBioResearchStationMSG; Set bCallBiologyUI to 0; Endif If ( bTalkAfterMessage == 1 ) Set bTalkAfterMessage to 0; ;SetTalkingActivatorActor NVDLC03SinkBioResearchLabTalkerREF; Activate; Endif ; ------------ Biological Research Center Day-Timer ----------- \/ If ( bBiologyUnlocked == 1 && nSetAnyTimer > 0 && nSetAnyTimer <= 11 ) ; ---------------- Banana Yucca Timer --------------- \/ If ( bSetBananaYuccaTimer == 1 ) Set fBananaYuccaCurrentDay to GameDaysPassed; If ( ( fBananaYuccaCurrentDay - fBananaYuccaLastDay ) >= 1 ) NVDLC03SinkBananaYucca01REF.Enable; NVDLC03SinkBananaYucca02REF.Enable; Set bSetBananaYuccaTimer to 0; Endif Endif ; ---------------- Barrel Cactus Timer ----------------- \/ If ( bSetBarrelCactusTimer == 1 ) Set fBarrelCactusCurrentDay to GameDaysPassed; If ( ( fBarrelCactusCurrentDay - fBarrelCactusLastDay ) >= 1 ) NVDLC03SinkBarrelCactus01REF.Enable; Set bSetBarrelCactusTimer to 0; Endif Endif ; ---------------- Broc Flower Timer -------------------- \/ If ( bSetBrocFlowerTimer == 1 ) Set fBrocFlowerCurrentDay to GameDaysPassed; If ( ( fBrocFlowerCurrentDay - fBrocFlowerLastDay ) >= 1 ) NVDLC03SinkBrocFlower01REF.Enable; NVDLC03SinkBrocFlower02REF.Enable; Set bSetBrocFlowerTimer to 0; Endif Endif ; ---------------- Honey Mesquite Timer ------------- \/ If ( bSetHoneyMesquiteTimer == 1 ) Set fHoneyMesquiteCurrentDay to GameDaysPassed; If ( ( fHoneyMesquiteCurrentDay - fHoneyMesquiteLastDay ) >= 1 ) NVDLC03SinkHoneyMesquite01REF.Enable; Set bSetHoneyMesquiteTimer to 0; Endif Endif ; --------------------- Jalapeno Timer ------------------- \/ If ( bSetJalapenoTimer == 1 ) Set fJalapenoCurrentDay to GameDaysPassed; If ( ( fJalapenoCurrentDay - fJalapenoLastDay ) >= 1 ) NVDLC03SinkJalapeno01REF.Enable; NVDLC03SinkJalapeno02REF.Enable; NVDLC03SinkJalapeno03REF.Enable; Set bSetJalapenoTimer to 0; Endif Endif ; --------------------- Maize Timer ------------------------ \/ If ( bSetMaizeTimer == 1 ) Set fMaizeCurrentDay to GameDaysPassed; If ( ( fMaizeCurrentDay - fMaizeLastDay ) >= 1 ) NVDLC03SinkMaize01REF.Enable; NVDLC03SinkMaize02REF.Enable; NVDLC03SinkMaize03REF.Enable; Set bSetMaizeTimer to 0; Endif Endif ; --------------------- Nevada Agave Timer ----------- \/ If ( bSetNevadaAgaveTimer == 1 ) Set fNevadaAgaveCurrentDay to GameDaysPassed; If ( ( fNevadaAgaveCurrentDay - fNevadaAgaveLastDay ) >= 1 ) NVDLC03SinkNevadaAgave01REF.Enable; NVDLC03SinkNevadaAgave02REF.Enable; NVDLC03SinkNevadaAgave03REF.Enable; Set bSetNevadaAgaveTimer to 0; Endif Endif ; --------------------- Pinto Bean Pod Timer --------- \/ If ( bSetPintoBeanPodTimer == 1 ) Set fPintoBeanPodCurrentDay to GameDaysPassed; If ( ( fPintoBeanPodCurrentDay - fPintoBeanPodLastDay ) >= 1 ) NVDLC03SinkPintoBean01REF.Enable; NVDLC03SinkPintoBean02REF.Enable; NVDLC03SinkPintoBean03REF.Enable; Set bSetPintoBeanPodTimer to 0; Endif Endif ; --------------------- Prickly Pear Timer --------------- \/ If ( bSetPricklyPearTimer == 1 ) Set fPricklyPearCurrentDay to GameDaysPassed; If ( ( fPricklyPearCurrentDay - fPricklyPearLastDay ) >= 1 ) NVDLC03SinkPricklyPear01REF.Enable; NVDLC03SinkPricklyPear02REF.Enable; NVDLC03SinkPricklyPear03REF.Enable; Set bSetPricklyPearTimer to 0; Endif Endif ; --------------------- Xander Root Timer--------------- \/ If ( bSetXanderRootTimer == 1 ) Set fXanderRootCurrentDay to GameDaysPassed; If ( ( fXanderRootCurrentDay - fXanderRootLastDay ) >= 1 ) NVDLC03SinkXanderRoot01REF.Enable; NVDLC03SinkXanderRoot02REF.Enable; Set bSetXanderRootTimer to 0; Endif Endif ; ---------------- White Horse Nettle Timer -------- \/ If ( bSetWhiteHorseNettleTimer == 1 ) Set fWhiteHorseNettleCurrentDay to GameDaysPassed; If ( ( fWhiteHorseNettleCurrentDay - fWhiteHorseNettleLastDay ) >= 1 ) NVDLC03SinkWhiteHorseNettle01REF.Enable; NVDLC03SinkWhiteHorseNettle02REF.Enable; Set bSetWhiteHorseNettleTimer to 0; Endif Endif Endif END; gamemode BEGIN MenuMode 1001 If ( bAwaitingInput == 1 ) Set nButton to GetButtonPressed; If ( nButton > -1 ) Set bAwaitingInput to 0; ; ------------------------------------------------------------------- BUTTON 0 ---------------------------------------------- \/ ; "Do Nothing" If ( nButton == 0 ) Set nButton to -1; Return; ; ------------------------------------------------------------------- BUTTON 1 ---------------------------------------------- \/ ; "Process Seed into planter" Elseif ( nButton == 1 ) Set nButton to -1; If ( Player.GetItemCount NVDLC03DriedBananaYuccaMISC == 1 ) Player.RemoveItem NVDLC03DriedBananaYuccaMISC 1; Set NVDLC03HQBuddy.bYucca to 1; ; SPW Set fBananaYuccaLastDay to GameDaysPassed; Set bSetBananaYuccaTimer to 1; If ( nSetAnyTimer < 11 ) Set nSetAnyTimer to ( nSetAnyTimer + 1 ); Endif Endif If ( Player.GetItemCount NVDLC03DriedBarrelCactusMISC == 1 ) Player.RemoveItem NVDLC03DriedBarrelCactusMISC 1; Set NVDLC03HQBuddy.bCactus to 1; ; SPW Set fBarrelCactusLastDay to GameDaysPassed; Set bSetBarrelCactusTimer to 1; If ( nSetAnyTimer < 11 ) Set nSetAnyTimer to ( nSetAnyTimer + 1 ); Endif Endif If ( Player.GetItemCount NVDLC03DriedBrocFlowerMISC == 1 ) Player.RemoveItem NVDLC03DriedBrocFlowerMISC 1; Set NVDLC03HQBuddy.bBroc to 1; ; SPW Set fBrocFlowerLastDay to GameDaysPassed; Set bSetBrocFlowerTimer to 1; If ( nSetAnyTimer < 11 ) Set nSetAnyTimer to ( nSetAnyTimer + 1 ); Endif Endif If ( Player.GetItemCount NVDLC03DriedHoneyMesquiteMISC == 1 ) Player.RemoveItem NVDLC03DriedHoneyMesquiteMISC 1; Set NVDLC03HQBuddy.bMesquite to 1; ; SPW Set fHoneyMesquiteLastDay to GameDaysPassed; Set bSetHoneyMesquiteTimer to 1; If ( nSetAnyTimer < 11 ) Set nSetAnyTimer to ( nSetAnyTimer + 1 ); Endif Endif If ( Player.GetItemCount NVDLC03DriedJalapenoMISC == 1 ) Player.RemoveItem NVDLC03DriedJalapenoMISC 1; Set NVDLC03HQBuddy.bJalapeno to 1; ; SPW Set fJalapenoLastDay to GameDaysPassed; Set bSetJalapenoTimer to 1; If ( nSetAnyTimer < 11 ) Set nSetAnyTimer to ( nSetAnyTimer + 1 ); Endif Endif If ( Player.GetItemCount NVDLC03DriedMaizeMISC == 1 ) Player.RemoveItem NVDLC03DriedMaizeMISC 1; Set NVDLC03HQBuddy.bMaize to 1; ; SPW Set fMaizeLastDay to GameDaysPassed; Set bSetMaizeTimer to 1; If ( nSetAnyTimer < 11 ) Set nSetAnyTimer to ( nSetAnyTimer + 1 ); Endif Endif If ( Player.GetItemCount NVDLC03DriedNevadaAgaveMISC == 1 ) Player.RemoveItem NVDLC03DriedNevadaAgaveMISC 1; Set NVDLC03HQBuddy.bAgave to 1; ; SPW Set fNevadaAgaveLastDay to GameDaysPassed; Set bSetNevadaAgaveTimer to 1; If ( nSetAnyTimer < 11 ) Set nSetAnyTimer to ( nSetAnyTimer + 1 ); Endif Endif If ( Player.GetItemCount NVDLC03DriedPintoBeanPodMISC == 1 ) Player.RemoveItem NVDLC03DriedPintoBeanPodMISC 1; Set NVDLC03HQBuddy.bPinto to 1; ; SPW Set fPintoBeanPodLastDay to GameDaysPassed; Set bSetPintoBeanPodTimer to 1; If ( nSetAnyTimer < 11 ) Set nSetAnyTimer to ( nSetAnyTimer + 1 ); Endif Endif If ( Player.GetItemCount NVDLC03DriedPricklyPearMISC == 1 ) Player.RemoveItem NVDLC03DriedPricklyPearMISC 1; Set NVDLC03HQBuddy.bPear to 1; ; SPW Set fPricklyPearLastDay to GameDaysPassed; Set bSetPricklyPearTimer to 1; If ( nSetAnyTimer < 11 ) Set nSetAnyTimer to ( nSetAnyTimer + 1 ); Endif Endif If ( Player.GetItemCount NVDLC03DriedXanderRootMISC == 1 ) Player.RemoveItem NVDLC03DriedXanderRootMISC 1; Set NVDLC03HQBuddy.bXander to 1; ; SPW Set fXanderRootLastDay to GameDaysPassed; Set bSetXanderRootTimer to 1; If ( nSetAnyTimer < 11 ) Set nSetAnyTimer to ( nSetAnyTimer + 1 ); Endif Endif If ( Player.GetItemCount NVDLC03DriedWhiteHorseNettleMISC == 1 ) Player.RemoveItem NVDLC03DriedWhiteHorseNettleMISC 1; Set NVDLC03HQBuddy.bNettle to 1; ; SPW Set fWhiteHorseNettleLastDay to GameDaysPassed; Set bSetWhiteHorseNettleTimer to 1; If ( nSetAnyTimer < 11 ) Set nSetAnyTimer to ( nSetAnyTimer + 1 ); Endif Endif ; ------------------------------------------------------------------- BUTTON 2 ---------------------------------------------- \/ ; "Convert organic matter into Salient" Elseif ( nButton == 2 ) Set nButton to -1; Player.showRecipeMenu p20RecipeCategorySinkBioStation Endif Endif Else Return; Endif END; menumode 1001
Стоит отметить, что этот скрипт не полностью ванильный. Я брал за основу чужой мод и тамошний автор мог внести свои изменения.
Также, наверное к делу относится топик, который должен включать такое же меню, что и кнопка в message box. В result script этого топика написана такая команда: SinkBioResearchStationREF.bCallBiologyUI to 1; При ее срабатывании открывается меню, как у верстака, но там только следующая recipe category: p20RecipeCategorySinkBioStation -
5 часов назад, Вис691 сказал:Один Endif забыл:
scn BioReactorScript Begin OnActivate if IsActionRef player == 1 If NVDLC03DialogueHQBuddies.bBuddiesTalk == 1 setTalkingActivatorActor BioReactorNPC activate else ShowMessage NVDLC03HQBuddiesNoTalkMSG endif endif End
Спасибо, эта часть работает как надо.
я попытался изобразить message box с кнопками, но со скриптом снова беда. Извините, если утомил,я скоро уймусь.
За основу брал скрипт от биологической исследовательской станции, просто сменил открываемое меню и ссылку на мой message box.
Спойлерscn BioReactorScript 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
-
3 часа назад, Паха007 сказал:В этом куске скрипта нет никаких рефID, я могу конечно написать что примерно означает каждая строчка скрипта, но надо ли оно?
Да наверное, я постараюсь понять.
Просто я хотел сделать так: в зависимости от ванильной переменной bBuddiesTalk при активации одного и того же talking activator либо запускался бы диалог с неписем, либо message box.
А в диалогах и в кнопке в message box-е одинаковая команда на открытие меню верстака Player.ShowRecipeMenu BioReactor
Сейчас на непися, с которым ГГ говорит через talking activator (интерком) повешен нижеприложенный скрипт. Я догадываюсь, что туда просто нужно вписать условие, проверяющее значение bBuddiesTalk и дающее команду открытия меню верстака, но свои потуги писать теперь стесняюсь, они все равно не работают.
Скрипт на неписе:Спойлерscn BioReactorScript Begin OnActivate if IsActionRef player == 1 setTalkingActivatorActor BioReactorNPC activate endif End
-
18 часов назад, Паха007 сказал:Я не понимаю, что такое личностный модуль, так как не знаком с модом про биреактор. Переменная bBuddiesTalk - это, видимо, какая-то переменная, которую ввел автор мода для чего-то. Что касается message box-а с кнопками - все действия, которые он выполняет прописываются в скрипте, есть такая внутриигровая переменная - Button, она как раз и завязана с вариантами выбора и их последствиями при выборе вариантов из message box-а.
Личностный модуль- это я про ванильных "персонажей" из OWB, тостер, автодок и прочие обитатели Стока. В оригинале сделано так, что с ними либо есть диалоги, либо по переключению переменной вместо диалогов при активации вышеперечисленных talking activator появляется message box с кнопками, ведущими в определенные меню.
Например, можно попросить у автодока провести пластическую операцию через диалог. А если личностные модули (bBuddiesTalk=0) отключены, то это делается через message box.
Вроде бы все просто, надо переиначить кусок ванильного скрипта под свои REF ID. Но что там и за что отвечает-не понимаю. Интуитивно выделил вот такое:СпойлерBEGIN OnActivate If (IsActionRef Player == 1) If ( bBiologyUnlocked == 1 ) If ( NVDLC03DialogueHQBuddies.bBuddiesTalk == 0 ) ShowMessage NVDLC03HQBuddiesNoTalkMSG; Set bAwaitingInput to 1; ShowMessage NVDLC03HQBioResearchStationMSG; Elseif ( NVDLC03DialogueHQBuddies.bBuddiesTalk == 1 ) Set bTalkAfterMessage to 1; Endif Else If ( Player.GetHasNote NVDLC03HQBuddyBiologyNOTE == 0 ) ShowMessage NVDLC03HQBuddyLockedMSG; Elseif ( Player.GetHasNote NVDLC03HQBuddyBiologyNOTE == 1 ) Player.RemoveNote NVDLC03HQBuddyBiologyNOTE; Set bBiologyUnlocked to 1; Set NVDLC03HQBuddy.iBio to 1; ;SPW ;SetObjectiveDisplayed NVDLC03HQBuddySamples 20 1; ;SPW - Gives the objective to find the seeds. 3/11 This quest now starts after everything has been upgraded. Set NVDLC03DialogueHQBuddies.bBiologyUnlocked to 1; ShowMessage NVDLC03HQBuddyUnlockMSG; IncrementScriptedChallenge NVDLC03AchievementMakingFriends; Set bTalkAfterMessage to 1; Endif Endif Endif END; onactivate
-
Вспомнил, что в моде про биореактор не сделал отключение личностного модуля, как у всех ванильных обитателей Стока. Потыкался в их реплики, но не до конца понял,как это работает.
Есть квест NVDLC03DialogueHQBuddies, есть переменная bBuddiesTalk. Есть message box-ы с кнопками, открывающие меню рецептов био-станции или Магги. А дальше как? Куда смотреть? -
8 часов назад, Паха007 сказал:Галочку надо поставить Persisdent Reference (постоянная ссылка) в окне креста. И вообще это галочка должна стоять на всех объектах, которым ты даешь референс ID. Далее, надо нажать "окей" в окне, тем самым сохранить результат.
Заработало, спасибо. С переключением появления непися тоже разобрался.
- 1
-
Скажите пожалуйста, что я делаю не так?
НПС не вешается на крест. Я подглядел, что у ванильных все делает пакет ИИ. Скопировал и себе такой, разместил в мире объект мебели, но вот указать его как цель путешествия не могу, его нет в выпадающем списке. Пробовал делать через linked reference и у креста, и у непися, и у обоих сразу.Прилагаю скриншот, наверное неинформативный.
Забегая вперед, спрошу. Если удастся его подвесить, возможно ли будет переключать enable/disable этого непися через GetScriptVariable? -
12 часов назад, Паха007 сказал:Set RGLfollowerREF.RGLWeap to 0
RGLfollowerREF.EVP
Скрипты и диалоги сделаны, настал черед пакетов AI. Моррисон нанимается в отряд, появляется колесо компаньона. Но следовать за ГГ или менять оружие по команде не хочет. А еще нападает сразу после первой же атаки на него,чего у компаньона быть не должно. куда копать теперь?
-
38 минут назад, Паха007 сказал:Нет, потому, что ты переместил скрипт с квеста на NPC, и теперь условие GetQuestVariable надо сменить на GetScriptVariable, в нем найдешь своего NPC и его переменные.
Условие GetQuestVariable используется для переменных скриптов, которые привязаны к квестам. Условие GetScriptVariable используется для переменных скриптов, которые привязаны к NPC и прочим объектам.
Я вроде бы понял, условия переделал. Естественно, это не работает. Выскакивает ошибка о невозможности сохранения result script. Ну я же понятливый, сменил квест на скрипт, как это видно в окне result script. Но где же очередной косяк?
-
2 часа назад, Паха007 сказал:Вот так должно сохраниться. Но будет-ли написанное тобой работать корректно в связки с какими-то твоими диалогами, которые я не знаю как реализованы, я не знаю. Какая-то это странная реализация.
Хе, не думал,что так быстро вернусь.
После внесения правок скрипт не захотел сохраняться. Оказалось, что его нужно цеплять не к квесту (Я так сделал), а к NPC. Сменил тип квеста с quest на object, сохранил и повесил на НПС. И это сломало все-все условия в диалогах, а новые создать не удается, так как в списке GetQuestVariable нет моего квеста.
Немного бомбит. -
1 час назад, Паха007 сказал:Вот так должно сохраниться. Но будет-ли написанное тобой работать корректно в связки с какими-то твоими диалогами, которые я не знаю как реализованы, я не знаю. Какая-то это странная реализация.
Да куда мне самому сочинить...Пока не научился.
Подрезал здесь: ВИДЕО, в описании оригинал скрипта. Там все было сделано как надо, это я в процессе внедрения своих переменных увлекся.
Спасибо за разъяснения, очень скоро вернусь с новыми вопросами. -
46 минут назад, Паха007 сказал:Во-первых, на что наложен этот скрипт? На NPC или квест? И что он должен делать по твоей задумке?
Во-вторых, что это за бред сивой кобылы? Что ты хочешь сделать этими строчками?
На квест.
Хочу топиками диалога переключать оружие npc с дальнего на ближний и обратно.
-
В 13.04.2021 в 03:23, Паха007 сказал:Главное не забывать компилировать все вписанные скриптовые строчки, кнопка находится рядом с окном. Если скриптовые строчки прописаны правильно, они сохраняться без проблем. Вот тут как раз, во время начисления нужного значения переменной (если это значение для запуска пакета), и нужно запускать процедуру пересмотра пакетов NPC. Тогда NPC начнет исполнять пакет незамедлительно. Например:
Set RaggalQuest.RaggalValue to 1
RaggalREF.evp
В данном тексте - RaggalQuest - это твой квест, RaggalValue - это прописанная в скрипте квеста переменная, 1 - это значение, которое мы начисляем. А RaggalREF - это рееренс ID NPC, который выполняет пакет.
Итак, я сделал нечто такое:
Спойлер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 RGLfollowerREF.SetRGLWeap FollowersCombatStyleRanged Else If RGLWeap ==1 RGLfollowerREF.SetRGLWeap FollowersCombatStyleMelee EndIf END
Конечно же, скрипт не хочет сохраняться. Но почему?
Если я правильно понимаю, то выше BeginOnLoad у меня мои личные переменные, которые я сам задаю и переключаю как хочу. Это даже работает, если писать в консоль sqv <Мой квест>, то я вижу смену этих переменных. Персонаж начинает следовать за ГГ вполне исправно, но вот ждать или увольняться не хочет, хотя пакеты AI с условиями есть. Ой, отвлекся.А ниже BeginOnLoad у меня пересекаются мои переменные и переменные самой игры, FollowersCombatStyleRanged я видел и переключал в окне создания NPC. Верно?
-
5 часов назад, Паха007 сказал:Тебе, похоже, вообще непонятен принцип работы скриптовых переменных. Значение всех переменных по умолчанию - 0. А ты уже сам начисляешь им значения. Начислять значения переменных можно где угодно и какие угодно. Приставка short говорит о том, что значения могут быть только целочисленные, не дробные.
А вот в условиях пакетов (в диалогах тоже можно это использовать) ты уже прописываешь, какое должно быть значение переменной для запуска пакета.
Хуже, он мне был понятен неправильно. Я думал,что заранее должен прописать, какие у меня значения могут быть.
Разъяснения в картинках хороши, помогло доделать скрипт, прописать переключения переменных через диалоги.
Отпишусь, как только разберусь с работой диалогов и смогу проверить скрипт в деле.
Страшно подумать,что будет дальше...Еще будет колесо компаньона, уникальный перк, который еще стоит придумать.
RA-Creatures: Существа из STALKER
в SFW: Ruined America (RA)
Опубликовано
Нейтрально, люблю разнообразие. Все равно буду ставить все доступное для скачивания.
Но раз сборка предполагает модульность, то,наверное, лучше бы их и правда вынести в какой-нибудь SLF аддон.