Oblivion remastered

Мод на додж одной кнопкой и бонус

Oblivion remastered

Я потихоньку спамлю модами с нексуса и прошлый раз писал про этот мод.

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

Качаем оригинальный мод и говорим автору спасибо, открываем блокнотом скрипт по этому пути ue4ss\Mods\OneButtonDodge\Scripts и заменяем его тем что я кинул ниже.

-- Settings. local keys = { W = 0x57, -- W A = 0x41, -- A S = 0x53, -- S D = 0x44 -- D } local doubleTapTime = 0.3 -- max delay between taps (in seconds) local dodgeBufferTime = 0.2 -- Stato dei tap per ciascun tasto local lastTapTimes = { [keys.W] = 0, [keys.A] = 0, [keys.S] = 0, [keys.D] = 0 } -- Code local UEHelpers = require("UEHelpers") local dodge = { TagName = FName("Input.Action.Combat.Dodge") } ---@type FGameplayTag -- Funzione per registrare doppio tap su un tasto specifico local function registerDoubleTap(keyCode) RegisterKeyBind(keyCode, function() local currentTime = os.clock() if currentTime - lastTapTimes[keyCode] <= doubleTapTime then -- Doppio tap rilevato ExecuteInGameThread(function() local playerController = UEHelpers.GetPlayerController() ---@cast playerController AVEnhancedAltarPlayerController

if not playerController or not playerController:IsValid() or not playerController:IsInGameConfiguration() then return end local pawn = UEHelpers.GetPlayer() ---@cast pawn AVPairedPawn if not pawn or not pawn:IsValid() then return end pawn:AddBufferedInputTagWithCustomTime(dodge, dodgeBufferTime) end) if player:IsAttacking() then player:CancelAnimatedAction() end lastTapTimes[keyCode] = 0 -- reset else lastTapTimes[keyCode] = currentTime end end) end -- Registra i tasti W, A, S, D for _, keyCode in pairs(keys) do registerDoubleTap(keyCode) end

2
1
5 комментариев