-- -- ForceUltimateBypass.lua -- Inazuma.lua’yu değiştirmeden, hikâye gereksinimlerini tamamen pas geçer. -- -- 1) Silverhorn.Inazuma tablosunu alın local SI = Silverhorn.Inazuma -- 2) CheckSilverhorns’i override et -> her zaman true SI.CheckSilverhorns = function(player) return true end -- 3) CanTurnUltimate’i override et -> her zaman true SI.CanTurnUltimate = function(player) return true end -- 4) CUSTOM1 tuşu ile Ultimate flag’ini ve efekti tanımla addHook("PlayerThink", function(player) local mo = player.mo if not mo then return end if mo.skin ~= "inazuma" then return end local btns = player.cmd.buttons -- ALT-FIRE basıldıysa if (btns & BT_CUSTOM1) ~= 0 then -- 4a) Ultimate flag’ini ver local ina = player.inazuma if ina then ina.flags = ina.flags | SI.FLAGS.ULTIMATE player.powers[pw_invulnerability] = 2 -- kalıcı zararsızlık -- 4b) pw_super ver (50 tics = ~0.8 sn). Dilersen artırt. player.powers[pw_super] = 50 -- 4c) animasyon başlatmak için state’e geç (Super Sonic transform animasyonu) if mo.valid then mo.state = S_PLAY_SUPERTRANS1 end -- 4d) efekt sesi S_StartSound(mo, sfx_getpow) end end end) -- 5) MapLoad veya PlayerSpawn’da temizle addHook("MapLoad", function(map) for p in players.iterate do if p.valid and p.inazuma then p.inazuma.flags = p.inazuma.flags & ~SI.FLAGS.ULTIMATE p.powers[pw_super] = 0 end end end) -- force_save_silverhorn.lua -- Oyuna başladığında kontrol et addHook("ThinkFrame", function() for player in players.iterate do if player and player.valid and player.inazuma then if CV_LoadString("inazuma_silverhorn") == "true" then -- Hakkı otomatik ver Silverhorn.Inazuma.CheckSilverhorns = function(player) return true end end end end end) -- Oyuncu Silverhorn hakkını aldığında bunu sakla -- Bu kısmı kendi modunun içinden veya patch’ten çağırman gerekir. -- Örneğin bir harita bitince veya bir cutscene sonrası şunu çalıştır: -- CV_SaveString("inazuma_silverhorn", "true")