-
Публикаций
1 220 -
Зарегистрирован
-
Посещение
-
Победитель дней
51
Тип контента
Профили
Новости
База знаний
Форумы
Файлы
Галерея
Блоги
Весь контент Old Vault Boy
-
Броня Тесла задействована в плагине. Пип-бой с силовой броней работает, но так же дерьмово, как и в ванили - т.е. заменяет предплечье и кисть. Тут ничего нового нет. В ванили тоже силовая броня не чувствуется, как в F4. Проблема с выкручивающимися наплечниками есть и в ванили, на Нексусе несколько лет фикс висит. Ставьте и проблема решена. Это просто хороший реплейсер силовой брони и не более, если хотите большего - перейдите на страничку автора, задонатьте ему кругленькую сумму и возможно он учтёт все ваши пожелания в следующих версиях мода.
-
Та не. Модельки из F4 всё равно большим количеством полигонов обладают и лучшей фактурой.
-
Треня
Old Vault Boy прокомментировал никита19845 изображение в галерее в Скриншоты Fallout 3, NV, SFW
-
Теперь всё понятно. Я же делаю моды и багфиксы прежде всего для себя, дабы не попадать в те ситуации, когда кто-то релизит мод, а он никому не нужен и начинается: "Ко-ко-ко, мой мод никому не нужен, жизнь ужасна и несправедлива, кругом одни уроды и т.д.". Поэтому моя совесть после релиза будет чиста, а чувство собственной важности не будет раздувать моё эго. Хотите - качайте, хотите - нет. Хозяин - барин, у меня мод работает и приносит удовольствие от геймплея с ним, а до остального мне дела нет. P.S. Это самый рациональный подход, я считаю.
-
Окей, а если перенести iFlag в самый конец кода? Таким образом iFlag будет запирать блок после выполнения всех условий. scn SFWCraftingRewardXPScript Int iFlag Int iPreviousValue Int iCurrentValue Int iCraftXP Begin MenuMode 1077 Let iFlag := 1 End Begin GameMode If iFlag Let iPreviousValue := iCurrentValue Let iCurrentValue := (GetPCMiscStat "Items Crafted") Let iCraftXP:= (iCurrentValue - iPreviousValue) If iCurrentValue > iPreviousValue Player.RewardXP iCraftXP Endif Endif Let iFlag := 0 End
-
Так, стоп. Не совсем понимаю эти "проходы". Если флаг в положении 1, блок GameMode выполняется и закрывается флагом в положении 0. Если я всё правильно понимаю, то блок GameMode отдыхает до следующего переключения флага в положение 1. Так ведь?
-
Хорошо, а если так? scn SFWCraftingRewardXPScript Int iFlag Int iPreviousValue Int iCurrentValue Int iCraftXP Begin MenuMode 1077 Let iFlag := 1 End Begin GameMode If iFlag Let iPreviousValue := iCurrentValue Let iCurrentValue := (GetPCMiscStat "Items Crafted") Let iCraftXP:= (iCurrentValue - iPreviousValue) If iCurrentValue > iPreviousValue && iFlag == 1; расширил условие выполнения Player.RewardXP iCraftXP Let iFlag := 0 Endif Endif
-
Почему? Формулу 1XP за 1 скрафченный предмет я взял из F4. Там вполне себе можно прокачивать перса строительством, крафтом и т.д. Чем же Вегас хуже? Тут навык ремонта почти бесполезен, а теперь он не хуже боевых навыков и вполне может использоваться для заработка опыта и прокачки персонажа. Особенно если билд строится на принципе no kill (например я убиваю только для пропитания во время охоты, а по квестам достаю оружие лишь в том случае, когда нельзя решить конфликт любым другим мирным путём). Сделал так. scn SFWCraftingRewardXPScript Int iFlag Int iPreviousValue Int iCurrentValue Int iCraftXP Begin MenuMode 1077 Let iFlag := 1 End Begin GameMode If iFlag == 1; сделал уточнение Let iPreviousValue := iCurrentValue Let iCurrentValue := (GetPCMiscStat "Items Crafted") Let iCraftXP:= (iCurrentValue - iPreviousValue) If iCurrentValue > iPreviousValue Player.RewardXP iCraftXP Let iFlag := 0 Endif Endif End
-
Проверил доработанный скриптец в игре - всё работает. Опыт за крафт начисляется исправно. Владимиру - моя безмерная благодарность за помощь и терпение.
-
Подредактировал код. scn CraftingRewardXP Int iFlag; переменная флаг Int iPreviousValue; предыдущее значение Int iCurrentValue; текущее значение Int iCraftXP Begin MenuMode 1077 Let iFlag := 1 End Begin GameMode If iFlag Let iPreviousValue := iCurrentValue; предыдущее значение равно текущему Let iCurrentValue := (GetPCMiscStat "Items Crafted"); текущее значение берётся из функции Let iCraftXP:= (iCurrentValue - iPreviousValue) If iCurrentValue > iPreviousValue Player.RewardXP iCraftXP Let iFlag := 0 Endif Endif End
-
scn CraftingRewardXP Int iFlag; переменная флаг Int iPreviousValue; предыдущее значение Int iCurrentValue; текущее значение Int iCraftXP Begin MenuMode 1077 Let iFlag := 1 End Begin GameMode If iFlag Let iCurrentValue := (GetPCMiscStat "Items Crafted") Let iPreviousValue := ? Let iCraftXP:= (iCurrentValue - iPreviousValue) If iCurrentValue > iPreviousValue Player.RewardXP iCraftXP Let iFlag := 0 Endif Endif End Тут я вообще ничего не понял.
-
scn CraftingRewardXP Int iFlag; переменная флаг Int iPreviousValue; предыдущее значение Int iCurrentValue; текущее значение Int iCraftXP Begin MenuMode 1077 Let iFlag := 1 End Begin GameMode If iFlag Let iPreviousValue := ? Let iCurrentValue := ? Let iCraftXP:= (iCurrentValue - iPreviousValue) If iCurrentValue > iPreviousValue Player.RewardXP iCraftXP Let iFlag := 0 Endif Endif End А как отследить значения изготовленных предметов? Понятно, что за это отвечает функция GetPCMiscStat "Items Crafted". Если функция показывает предыдущее значение, то как выставить текущее?
-
Вопросы по моддингу Fallout 3 и New Vegas
Old Vault Boy ответил в теме Fallout 3 / NV - Мастерская по созданию модов
Есть такая софтина, подчищает сейв, но по мелочи: открытые двери, подобранные предметы и т.д. А есть софтина по хадркору - вычищает всё, вплоть до пройденный квестов и игрового процесса. Недаром она и называется, New Game Plus. -
А переменную к функции привязывать? scn CraftingRewardXP Int iFlag; переменная флаг Int iPreviousValue; предыдущее значение Int iCurrentValue; текущее значение Begin GameMode Set iFlag to (MenuMode 1077) Set iPreviousValue to (GetPCMiscStat "Items Crafted") Let iCurrentValue := 1
-
Это из той оперы, где я смотрю в книгу и вижу фигу.
-
А как реализовать переменную флаг? Как это выглядит технически? Скрипт начинается с формы Begin GameMode, а как это увязать с MenuMode?
-
Опа. А я и не знал, что так можно переключаться между MenuMode и GameMode. Теперь ситуация прояснилась. В блоке MenuMode скрипт будет заниматься подсчётом числа изготовленных предметов, а в блоке GameMode преобразованием числа в опыт. Если я всё правильно понимаю.
-
Так и не разобрался, к сожалению.
-
Наверно создать переменную, которая учитывала бы число предметов до активации игроком верстака.
-
Смутно себе представляю механику подсчёта чисел игрой, а как из этого числа выудить число предметов, скрафченных в последний раз - вообще без понятия. Думаю, что во время крафта, т.е. когда игрок использует верстак, или ещё что-либо.
-
Думаю, что нужно будет использовать переменную Long, поскольку она позволяет использовать более широкий диапазон значений, так как есть моды расширяющие крафт и снимающие всякое ограничение на количество одновременно изготовляемых предметов (по умолчанию максимальное значение 100). Так же нужно разработать формулу, которая позволит преобразовывать числовое значение количества изготовленных предметов в опыт, начисляемый игроку. Иными словами, нужно получить число, которое будет отражать количество изготовленных предметов. А затем уже использовать это число для начисления опыта. Как-то так.
-
Не уверен. Но возможно GetPlayerGrabbedRef?
-
Действительно, я не обратил внимания на формулу внимания, а в игре воровал только по мелочи: крышки и патроны. Отсюда и по одному XP за каждый украденный предмет. Но нет худа без добра - благодаря этому пришла мысль про крафт. Я готов попробовать разобраться и составить код самостоятельно, хотя уже показал свою полную бездарность в этом вопросе. Но за спрос ведь не бьют в нос, верно? Так что попробовать можно.
-
Лады тады.
-
Есть такой замечательный мод Pickpocket Overhaul. Вся его суть в том, что за карманные кражи игроку начисляется опыт, по 1XP за каждый украденный предмет (например за 5 украденных крышек начислят 5 опыта, за 6 - 6 и т.д.). Идея очень хорошая и я подумал, что неплохо бы было реанимировать таким же способом крафт в SFW. Сейчас за крафт опыт не начисляется, только ачивку можно получить за 200 изготовленных предметов, а было бы здорово получать по 1XP, как в F4. Это неплохо отразилось бы на навыке ремонта, который сейчас полезен канешн, но не в такой степени, как ежели бы с помощью него можно было опыт зарабатывать. Интересно можно ли это реализовать и найдутся ли специалисты? Приложу код на всякий случай. Может как базовая наработка пригодится. scn PickpocketChallengeSCRIPT begin ScriptEffectStart player.RewardXP PickpocketRewardXP end scn PickPocketQuestScript Begin GameMode If GetGameRestarted SetOnMouseoverChangeEventHandler PickPocketUDF 1 1008 EndIf END scn PickPocketUDF int iMenuID ref rItemRef ref rOwnerRef float fValue float fPerception float fHealth begin Function {iMenuID} set rOwnerRef to GetMenuTargetRef 1008 If player.IsSneaking == 0 || rOwnerRef.IsActor == 0 || rOwnerRef.GetDead == 1 Return Else set rItemRef to GetSelectedItemRef set fValue to -(rItemRef.GetWeight * 1) set fPerception to -(rOwnerRef.GetAV Perception * 8) setnumericgamesetting fPickPocketAmountBase fvalue setnumericgamesetting fPickPocketTargetSkillBase fPerception If rItemRef.GetType == 24 || rItemRef.GetType == 40 set fHealth to (rItemRef.GetItemRefCurrentHealth / rItemRef.GetHealth) Let fHealth ^= 1.5 Else set fHealth to 1 EndIf set PickPocketRewardXP to ((rItemRef.Getweight) + (fHealth * rItemRef.GetValueAlt / 100) + (rOwnerRef.GetAV Perception)) EndIf end