Всем доброго времени суток. В общем, все же знают, что если не взорвать Мегатонну, то и люкса в Тенпенни-Тауер не видать. Решил я сделать мод, позволяющий найти копию ключа и разрешения на проживание в свободном люксе, но возникли некоторые проблемы. Дальше будет много букв, поэтому спойлер
Порывшись в стандартных квестах, я нашёл квест HD02, запускающий скрипт HD02Quest. Этот квест добавляет на продажу тем интерьеров и полезных предметов. В общем я сделал сейф, в который кинул ключ и записку с разрешением. Для записки пришлось делать квест, потому что можно было только квест присвоить. Ну и скрипт собственно: scn TenpennyTowerLuxeKeyScript Begin GameMode If Player.GetHasNote HouseDeedTenpennyLuxe StartQuest HD02 endif end С этого проблемы то и начались. Когда я взял записку с сейфа, то в люксе появилась вся мебель, что я покупал, т.е. всё кроме мини-лаборатории и изменилась тема номера на стиль убежища, как у меня было в доме в Мегатонне. Решил я, что это фигня какая-то и решил это исправлять. Сначала я в разделе Misc нашёл все голодиски апгрейдов люкса и изменил им RefID, просто дописав в конце каждого "Tenpenny", чтобы их отличать от других и сохранял все как новые предметы. Потом нашёл контейнер HD00TenpennyMerchantContainer и добавил туда новые, но голодисков с темами там не было, т.к. они добавляются туда скриптом HD02QuestScript. Потом в окне ячеек интерьера перешел на ячейку Tenpenny03Player и изменил RefID всех маркеров из раздела Static, начинающихся на HD02, дописав в конце Tenpenny и сохранив их вместо старых. Дальше я отредактировал скрипт HD02QuestScript и теперь вместо
scn HD02QuestScript
short MerchSetup short Doonce short Doonce1 short Doonce2 short Doonce3 short Doonce4 short Doonce5 short Doonce6 short Doonce7 short Doonce8 short Doonce9 short Doonce10 short DoOnce11 short ThemeClean short RoomClear
begin gamemode
;Merch Container Stuff
if ( MerchSetup == 0 ) if ( GetQuestRunning HD02 == 1 ) MD02MerchThemeRef.Enable MD02MerchRef.Enable LydiaMontenegroRef.SetFactionRank HD00TenpennyHouseVendor 0 MichaelMastersRef.SetFactionRank HD00TenpennyHouseVendor 0 MD02MerchThemeRef.SetOwnership HD00TenpennyHouseVendor MD02MerchRef.SetOwnership HD00TenpennyHouseVendor set MerchSetup to 1 endif endif
end
begin menumode
;These are the variable triggers that are set when a voucher is acquired
if ( Player.GetItemCount HD00BoSTheme == 1 ) && ( Doonce == 0 ) HD02VaultTheme.Enable SetCellImageSpace Tenpenny03Player VaultImageSpace01 MD02MerchThemeRef.Disable set RoomClear to 1 set Doonce to 1 endif
if ( Player.GetItemCount HD00ExplorerTheme == 1 ) && ( Doonce2 == 0 ) HD02ExplorerTheme.Enable SetCellImageSpace Tenpenny03Player LamplightInterior MD02MerchThemeRef.Disable set RoomClear to 1 set Doonce2 to 1 endif
if ( Player.GetItemCount HD00PreWarTheme == 1 ) && ( Doonce3 == 0 ) HD02PreWarTheme.Enable SetCellImageSpace Tenpenny03Player TenpennyImageSpace MD02MerchThemeRef.Disable set RoomClear to 1 set Doonce3 to 1 endif
if ( Player.GetItemCount HD00RaiderTheme == 1 ) && ( Doonce4 == 0 ) HD02RaiderTheme.Enable SetCellImageSpace Tenpenny03Player UrbanImageSpace01 MD02MerchThemeRef.Disable set RoomClear to 1 set Doonce4 to 1 endif
if ( Player.GetItemCount HD00ScienceTheme == 1 ) && ( Doonce5 == 0 ) HD02ScienceTheme.Enable SetCellImageSpace Tenpenny03Player NeoClassDefaultImageSpace MD02MerchThemeRef.Disable set RoomClear to 1 set Doonce5 to 1 endif
if ( Player.GetItemCount HD00Infirmary == 1 ) && ( Doonce6 == 0 ) HD02Infirmary.Enable set HDHealth to 1 ;Global for Butler's dialogue set Doonce6 to 1 endif
if ( Player.GetItemCount HD00Jukebox == 1 ) && ( Doonce7 == 0 ) HD02Jukebox.Enable set Doonce7 to 1 endif
if ( Player.GetItemCount HD00Lab == 1 ) && ( Doonce8 == 0 ) HD02Lab.Enable set HDLab to 1 set Doonce8 to 1 endif
if ( Player.GetItemCount HD00NukaCola == 1 ) && ( Doonce9 == 0 ) HD02NukaCola.Enable set HDNuka to 1 set Doonce9 to 1 endif
if ( Player.GetItemCount HD00Workbench == 1 ) && ( Doonce10 == 0 ) HD02Workbench.Enable set HDWorkbench to 1 set Doonce10 to 1 endif
if ( Player.GetItemCount HD00LoveTheme == 1 ) && ( Doonce11 == 0 ) HD02LoveTheme.Enable SetCellImageSpace Tenpenny03Player LoveHouseTheme MD02MerchThemeRef.Disable set RoomClear to 1 set Doonce11 to 1 endif
if ( ThemeClean == 1 ) SetCellImageSpace Tenpenny03Player TenpennyImageSpace HD02VaultTheme.Disable HD02ExplorerTheme.Disable HD02PreWarTheme.Disable HD02RaiderTheme.Disable HD02ScienceTheme.Disable HD02LoveTheme.Disable set DoOnce to 0 set DoOnce2 to 0 set DoOnce3 to 0 set DoOnce4 to 0 set DoOnce5 to 0 set DoOnce11 to 0 set RoomClear to 0 MD02MerchThemeRef.Enable set ThemeClean to 0 endif
end
стало вот так
scn HD02QuestScript
short MerchSetup short Doonce short Doonce1 short Doonce2 short Doonce3 short Doonce4 short Doonce5 short Doonce6 short Doonce7 short Doonce8 short Doonce9 short Doonce10 short DoOnce11 short ThemeClean short RoomClear
begin gamemode
;Merch Container Stuff
if ( MerchSetup == 0 ) if ( GetQuestRunning HD02 == 1 ) MD02MerchThemeRef.Enable MD02MerchRef.Enable LydiaMontenegroRef.SetFactionRank HD00TenpennyHouseVendor 0 MichaelMastersRef.SetFactionRank HD00TenpennyHouseVendor 0 MD02MerchThemeRef.SetOwnership HD00TenpennyHouseVendor MD02MerchRef.SetOwnership HD00TenpennyHouseVendor set MerchSetup to 1 endif endif
end
begin menumode
;These are the variable triggers that are set when a voucher is acquired
if ( Player.GetItemCount HD00BoSThemeTenpenny == 1 ) && ( Doonce == 0 ) HD02VaultThemeTenpenny.Enable SetCellImageSpace Tenpenny03Player VaultImageSpace01 MD02MerchThemeRef.Disable set RoomClear to 1 set Doonce to 1 endif
if ( Player.GetItemCount HD00ExplorerThemeTenpenny == 1 ) && ( Doonce2 == 0 ) HD02ExplorerThemeTenpenny.Enable SetCellImageSpace Tenpenny03Player LamplightInterior MD02MerchThemeRef.Disable set RoomClear to 1 set Doonce2 to 1 endif
if ( Player.GetItemCount HD00PreWarThemeTenpenny == 1 ) && ( Doonce3 == 0 ) HD02PreWarThemeTenpenny.Enable SetCellImageSpace Tenpenny03Player TenpennyImageSpace MD02MerchThemeRef.Disable set RoomClear to 1 set Doonce3 to 1 endif
if ( Player.GetItemCount HD00RaiderThemeTenpenny == 1 ) && ( Doonce4 == 0 ) HD02RaiderThemeTenpenny.Enable SetCellImageSpace Tenpenny03Player UrbanImageSpace01 MD02MerchThemeRef.Disable set RoomClear to 1 set Doonce4 to 1 endif
if ( Player.GetItemCount HD00ScienceThemeTenpenny == 1 ) && ( Doonce5 == 0 ) HD02ScienceThemeTenpenny.Enable SetCellImageSpace Tenpenny03Player NeoClassDefaultImageSpace MD02MerchThemeRef.Disable set RoomClear to 1 set Doonce5 to 1 endif
if ( Player.GetItemCount HD00InfirmaryTenpenny == 1 ) && ( Doonce6 == 0 ) HD02InfirmaryTenpenny.Enable set HDHealth to 1 ;Global for Butler's dialogue set Doonce6 to 1 endif
if ( Player.GetItemCount HD00JukeboxTenpenny == 1 ) && ( Doonce7 == 0 ) HD02JukeboxTenpenny.Enable set Doonce7 to 1 endif
if ( Player.GetItemCount HD00LabTenpenny == 1 ) && ( Doonce8 == 0 ) HD02LabTenpenny.Enable set HDLab to 1 set Doonce8 to 1 endif
if ( Player.GetItemCount HD00NukaColaTenpenny == 1 ) && ( Doonce9 == 0 ) HD02NukaColaTenpenny.Enable set HDNuka to 1 set Doonce9 to 1 endif
if ( Player.GetItemCount HD00WorkbenchTenpenny == 1 ) && ( Doonce10 == 0 ) HD02WorkbenchTenpenny.Enable set HDWorkbench to 1 set Doonce10 to 1 endif
if ( Player.GetItemCount HD00LoveThemeTenpenny == 1 ) && ( Doonce11 == 0 ) HD02LoveThemeTenpenny.Enable SetCellImageSpace Tenpenny03Player LoveHouseTheme MD02MerchThemeRef.Disable set RoomClear to 1 set Doonce11 to 1 endif
if ( ThemeClean == 1 ) SetCellImageSpace Tenpenny03Player TenpennyImageSpace HD02VaultThemeTenpenny.Disable HD02ExplorerThemeTenpenny.Disable HD02PreWarThemeTenpenny.Disable HD02RaiderThemeTenpenny.Disable HD02ScienceThemeTenpenny.Disable HD02LoveThemeTenpenny.Disable set DoOnce to 0 set DoOnce2 to 0 set DoOnce3 to 0 set DoOnce4 to 0 set DoOnce5 to 0 set DoOnce11 to 0 set RoomClear to 0 MD02MerchThemeRef.Enable set ThemeClean to 0 endif
end
В итоге темы интерьера почему-то ставятся в Мегатонне, а не в люксе, но при этом прекрасно устанавливается мебель: автомат ядер-кола, муз. автомат, мини-больничка и т.д., и при этом в мегатонне не появляются. А конкретно можно купить мини-лабораторию, и её нет в доме в Мегатонне, если её не купил у Мойры раньше.
В общем вопрос ко всем, кто осилил эту писанину и вник в суть проблемы. Может ли кто-то доделать этот мод, чтобы темы интерьеров в люксе и в доме в мегатонне устанавливались независимо. Если сделаете, то можете сами его выложить на modgames даже не указывая мой ник. Просто обидно, мод готов уже практически на две трети, а у меня мозгов не хватает, чтоб нормально доделать и играть уже наконец-то. Мод в архиве. В папке 01 .esp файл только с сейфом в локации Туннели и генераторная с ключом и запиской, на которую повешен квест со скриптом. В папке 02 .esp файл со всем безобразием, описанным выше.
Конечно не две трети, как теперь оказалось, чуть меньше половины. В общем, я уже доделал мод, и теперь наконец то можно в люксе тенпенни-тауер поставить довоенный стиль, а в мегатонне останется стиль убежища без изменений. Аналогично и с автоматом ядер-кола, музыкальным автоматом и т.д. А проблема была в том, что оказалось недостаточно заменить RefID стилей в основном скрипте квеста HD02, нужно было ещё их поменять в самом квесте, открыв его для редактирования и потом перейти на вкладку Topic. Там было несколько реплик при покупке и смене стилей интерьера, а снизу было мааленькое окошко Result Script (Begin). В нём-то и нужно было заменить RefID стилей и голодисков, которые даёт торговец при покупке стиля. В общем беседка по идиотизму превзошла сама себя: чтобы главный скрипт квеста имел меньший приоритет перед его же обрубком, написанным отдельно через окошко периметром меньше спичечного коробка и которое нельзя растянуть для хотя бы минимального удобства. Но всё равно методом научного тыка я решил проблему и мод теперь готов. Снизу будет ссылка на новый мод, если вам захочется его испытать. Ссылка на мод.