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

  • 0
pz_4

Ra-More-Quests, "Потерянный Храм"

Вопрос

Один из вариантов(типа злой) прохождения "храма" позволяет игроку получить "портативный водоочиститель", простейшая штуковина, скрипт SRHWaterCleanerScript [SCPT: XX38D3C1] раз в 12 часов смотрит наш инвентарь ищет там грязную воду, удаляет её, спавнит чистую воду и уходит на перезарядку. Если отредактировать его в нижеприведенный формат - этот переносной очиститель сможет работать с дополнительной грязной водой которую добавляет какой то из модов в МСМе обозванный "Вода и еда".
Но тут нюанс, эта дополнительная грязная вода живет в RA-Items.esm а значит или в море квестов подключать его как мастер, или отдельным патчем-плагином подрубать. 

Спойлер

    scn SRHWaterCleanerScript

    ;=======Скрипт портативного водоочистителя

    short iIsInInventory    ;ну понятно
    short iWaitModeCounter    ;short-так надо
    float fLastAction    ;когда сработал последний раз
    float fOstatok    ;для точности (в режиме сна скрипт не исполняется)
    float fDelta    ;пауза между срабатываниями (1 = 1 день)

    Begin OnAdd Player
        set fDelta to 0.5
        set iIsInInventory to 1
        set fLastAction to GameDaysPassed ;начальное "обнуление"
    end


    Begin OnDrop Player
        set iIsInInventory to 0
    end


    Begin GameMode

        if iIsInInventory
                if (GameDaysPassed - fLastAction) > fDelta    ;прошло ли достаточно времени
                    set iWaitModeCounter to ((GameDaysPassed - fLastAction)/fDelta)    ;если игрок спал(и если не спал - тоже)
                    set fOstatok to ((GameDaysPassed - fLastAction) - (iWaitModeCounter*fDelta))    ;остаток времени, который не должен потеряться    
            if Player.GetItemCount WaterUnpurified > 0
                    Player.RemoveItem WaterUnpurified iWaitModeCounter 1
                    Player.AddItem WaterPurified iWaitModeCounter 1
                    set fLastAction to (GameDaysPassed - fOstatok)    ;компенсируем остаток времени
            else
            if Player.GetItemCount WOxWaterBad > 0    
                    Player.RemoveItem WOxWaterBad iWaitModeCounter 1
                    Player.AddItem WaterPurified iWaitModeCounter 1
                    set fLastAction to (GameDaysPassed - fOstatok)    ;компенсируем остаток времени
            else     
            if Player.GetItemCount WOxWaterTerrible > 0    
                    Player.RemoveItem WOxWaterTerrible iWaitModeCounter 1
                    Player.AddItem WaterPurified iWaitModeCounter 1
                    set fLastAction to (GameDaysPassed - fOstatok)    ;компенсируем остаток времени
            else
                 set fLastAction to GameDaysPassed    ;"обнуление", если нечего конвертировать
            endif
                endif
                    endif
                        endif                
        endif
    end

Немного поиграл уже с правкой - полет нормальный. По сути она просто добавляет на авторском же коде дополнительные проверки на дополнительную воду, а если не находит и её - уводит очиститель в перезарядку.
Вполне осознанно не подключал облученную воду, только грязную.

  • Нравится 4

Поделиться сообщением


Ссылка на сообщение

13 ответов на этот вопрос

Рекомендуемые сообщения

  • 0
В 25.04.2023 в 12:23, pz_4 сказал:

Добавляя "под себя" сообщения(банальное ShowMessage)

Хорошая мысль, взял ее на вооружение.

 

Реализовал тот же функцонал, только через квест. Сверху снизил вес бутылки необлученной воды до 0.75, как и у остальных бутылок

SRHWaterCleanerFix.esp

  • Спасибо! 1

Поделиться сообщением


Ссылка на сообщение
  • 0
11 часов назад, pz_4 сказал:

 

  Скрыть контент


      if Player.GetItemCount WOxWaterUncleanDummy > 0    

 

Это не вода, а эффект)

 

11 часов назад, pz_4 сказал:

Вполне осознанно не подключал облученную воду, только грязную.

Ты, наоборот, подключил всю облученную воду, а необлученную (но грязную) - не подключил) WOxWaterClear "Вода (необлученная)" [ALCH:0D01DC8B]

 

Вообще, чтобы задумка автора работала, нужно добавить всю эту воду в список, и за 1 раз очищать одну воду из этого списка, а не каждый тип воды отдельно за раз.

 

Лучше этот скрипт сделать квестовым, чтобы он не грузил игру.

 

@MagnuMspec, похоже нужно и воду из RA-Items закинуть в SFW-Master) Либо List с водой создать в SFW-Master и изменять его. Но лучше воду, чтобы в будущем было легче конфликты решать

Поделиться сообщением


Ссылка на сообщение
  • 0
1 час назад, FNVFUN сказал:

Это не вода

image.png.3a89bfc69bd8f6b51df70c1445e6a2fa.png
Это эдитор ай ди с которым скрипт и работает.
Мб в обновлениях что то поменяли, я не сильно слежу.
 

1 час назад, FNVFUN сказал:

Вообще, чтобы задумка автора работала, нужно добавить всю эту воду в список, и за 1 раз очищать одну воду из этого списка, а не каждый тип воды отдельно за раз.

Задумка автора - одна бутылка раз в 12 часов. Примерно так и работает, по очереди перебирает грязную воду по одной бутылке, чистить всю воду в инвентаре за раз - сомнительно, и без того вся типа "хардкорность" по воде в мире тройки(да и еде, если честно) намертво сломана в СФВ обилием домов с очистителями и повторным набором в пустые бутылки. Но это другой вопрос уже.

1 час назад, FNVFUN сказал:

Лучше этот скрипт сделать квестовым, чтобы он не грузил игру.

Конечно, лучше его написать по нормальному с одной проверкой по таймеру(например), чем мониторингом прошло ли достаточно времени. Но лично мне лень этим заниматься, не так уж часто я гоняю фалоч чтобы за чужие скрипты садиться.

Поделиться сообщением


Ссылка на сообщение
  • 0
33 минуты назад, pz_4 сказал:

Мб в обновлениях что то поменяли, я не сильно слежу.

Да, поменяли)

 

34 минуты назад, pz_4 сказал:


Задумка автора - одна бутылка раз в 12 часов.

Я это и имел ввиду) Но твой скрипт так и работает, это я ошибся и посчитал, что он отдельно обрабатывает каждую бутылку (т.е. на выходе получается несколько очищенных бутылок) и очищает ее раз в 12 час. Мое предложение - сделать список всех бутылок, и если какая-то из них есть в инвентаре игрока, то ее очищать (1 бутылку) и ставить таймер на 12 часов.

37 минут назад, pz_4 сказал:

Конечно, лучше его написать по нормальному с одной проверкой по таймеру(например), чем мониторингом прошло ли достаточно времени. Но лично мне лень этим заниматься, не так уж часто я гоняю фалоч чтобы за чужие скрипты садиться.

Ждем, что Магнум скажет)

Поделиться сообщением


Ссылка на сообщение
  • 0

Добавляя "под себя" сообщения(банальное ShowMessage) при очистке воды заодно чутка поправил код(отредактировал в первом сообщении темы), чтобы вызывать его по человечески. Сперва делаем провреку на время, потом уже смотреть инвентарь а не наоборот. Всё еще не оптимальный подход, но повторюсь, на большее нет мотивации, да и я не профильный скриптер все таки.

Поделиться сообщением


Ссылка на сообщение
  • 0
В 24.04.2023 в 12:19, FNVFUN сказал:

Ждем, что Магнум скажет)

Если есть желание, можешь доработать. :)

 

Цитата

Это эдитор ай ди с которым скрипт и работает.
Мб в обновлениях что то поменяли, я не сильно слежу.

WOxWaterUncleanDummy нужно убрать из скрипта, т.к. это дамми, который не является водой.

Поделиться сообщением


Ссылка на сообщение
  • 0
1 час назад, MagnuMspec сказал:

WOxWaterUncleanDummy

Таки да, ты прав. Сейчас на свежую голову посмотрел, анклиан дамми это костыль для типа болезней. Получается в скрипт надо было вбивать.
WOxWaterBad "Вода (плохая)" [ALCH:0C003052]
WOxWaterTerrible "Вода (ужасная)" [ALCH:0C003053]
WaterUnpurified "Вода (грязная)" [ALCH:000151A4]

Поделиться сообщением


Ссылка на сообщение
  • 0
2 часа назад, MagnuMspec сказал:

Если есть желание, можешь доработать. :)

Могу доработать, но что с водой из RA-Items делать? Вшивать надо либо ее в SFW-Master (лучший вариант), либо создавать List в SFW-Master

Поделиться сообщением


Ссылка на сообщение
  • 0
2 часа назад, pz_4 сказал:

Таки да, ты прав. Сейчас на свежую голову посмотрел, анклиан дамми это костыль для типа болезней. Получается в скрипт надо было вбивать.
WOxWaterBad "Вода (плохая)" [ALCH:0C003052]
WOxWaterTerrible "Вода (ужасная)" [ALCH:0C003053]
WaterUnpurified "Вода (грязная)" [ALCH:000151A4]

Так нужно WOxWaterClear "Вода (необлученная)" [ALCH:0D01DC8B] добавлять еще или не катит?) А то странно, что ты дважды обошел ее стороной

Поделиться сообщением


Ссылка на сообщение
  • 0
12 часов назад, FNVFUN сказал:

А то странно, что ты дважды обошел ее стороной

image.png.f938729f48cc955765bc747f5f475af7.png
У меня нет такой, потому и обошел. И сил на то, чтобы обновить хотя бы мастера не наблюдаю, хотя сборку я в начале года таки переустанавливал. Так что это вопрос не ко мне. Я чисто так, сделал под себя и предложил, нужно - можно адаптировать. Не нужно - ну и бог с ним.
Но вообще сама по себе "  WOxWaterClear "Вода (необлученная)" "  выглядит туповато типа чем она хуже/лучше чем обычная очищенная вода из оригинала игры?
Типа та вода была грязной но очистилась, а эта WaterClear вообще никогда не заражалась?
Если так, то зачем её заливать в очиститель?

Поделиться сообщением


Ссылка на сообщение
  • 0
5 часов назад, pz_4 сказал:

У меня нет такой, потому и обошел. И сил на то, чтобы обновить хотя бы мастера не наблюдаю, хотя сборку я в начале года таки переустанавливал.

А, понятно, просто мастер не обновлен.

5 часов назад, pz_4 сказал:

Я чисто так, сделал под себя и предложил

Правильно сделал)

 

5 часов назад, pz_4 сказал:

Но вообще сама по себе "  WOxWaterClear "Вода (необлученная)" "  выглядит туповато типа чем она хуже/лучше чем обычная очищенная вода из оригинала игры?

Она необлученная (не имеет рад. заражения в эффектах), но грязная.

Поделиться сообщением


Ссылка на сообщение
  • 0
В 25.04.2023 в 14:39, FNVFUN сказал:

Могу доработать, но что с водой из RA-Items делать? Вшивать надо либо ее в SFW-Master (лучший вариант), либо создавать List в SFW-Master

Давай, и как сделаешь, перенесу воду в мастер при вшитии фикса.

  • Нравится 1

Поделиться сообщением


Ссылка на сообщение
  • 0
В 08.05.2023 в 10:40, FNVFUN сказал:

Хорошая мысль, взял ее на вооружение.

 

Реализовал тот же функцонал, только через квест. Сверху снизил вес бутылки необлученной воды до 0.75, как и у остальных бутылок

SRHWaterCleanerFix.esp

@pz_4 и @FNVFUN, Спасибо! Подшил. :)

  • Нравится 1

Поделиться сообщением


Ссылка на сообщение

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти


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