-- [[ Rscripts Risk Notice ]] -- This script is not verified by rscripts.net. Deal with caution. -- -- Stay safe: -- • Never log in on unofficial Roblox sites or lookalike domains. -- • Real Roblox links use roblox.com (check the .com ending). -- • Treat fake Roblox login / "claim reward" pages as phishing. -- [[ End Rscripts Risk Notice ]] -- ============================================================ -- EXTENDED PACK v4 — MEGA EDITION (MONOLITHIC) -- English UI, Single Menu Key, Language Tab -- ============================================================ local SoundService = game:GetService("SoundService") local TeleportService = game:GetService("TeleportService") local RunService = game:GetService("RunService") local UserInputService = game:GetService("UserInputService") local HttpService = game:GetService("HttpService") local VirtualUser = game:GetService("VirtualUser") local VirtualInputManager = game:GetService("VirtualInputManager") local TweenService = game:GetService("TweenService") local Lighting = game:GetService("Lighting") local ReplicatedStorage = game:GetService("ReplicatedStorage") local Players = game:GetService("Players") local CoreGui = game:GetService("CoreGui") local LocalPlayer = Players.LocalPlayer local Mouse = LocalPlayer:GetMouse() local Camera = workspace.CurrentCamera local DrawingAvailable = pcall(function() return Drawing.new("Line") end) local gethui = gethui or function() return CoreGui end local CONFIG_DIR = "ExtendedPack" local DEFAULT_SETTINGS = DEFAULT_SETTINGS or {} local Settings = Settings or {} -- ------------------------------------------------------------ -- MODULE 1: FULL SETTINGS -- ------------------------------------------------------------ local FULL_DEFAULTS = { guiKey="RightShift", guiVisible=true, theme="Midnight", language="English", guiRounded=true, notificationsEnabled=true, notificationsPosition="TopRight", notificationsDuration=3, notificationsSound=true, soundsEnabled=true, hitSoundEnabled=true, killSoundEnabled=true, hitSoundId="rbxassetid://131886985", killSoundId="rbxassetid://131886394", hitSoundVolume=0.4, killSoundVolume=0.6, hitmarkerSoundId="rbxassetid://160432334", buttonSoundId="rbxassetid://1786821492", aimEnabled=false, aimFOV=100, aimFOVShow=true, aimFOVColor=Color3.fromRGB(255,255,255), aimSmoothness=0.2, aimSmoothType="Linear", aimPrediction=false, aimBulletSpeed=1500, aimPriority="FOV", aimTeamCheck=true, aimWallCheck=false, aimPart="Head", silentAimEnabled=false, triggerbotEnabled=false, triggerbotDelay=0.05, triggerbotWallCheck=true, autoFireEnabled=false, autoFireFovOnly=true, autoReloadEnabled=false, killAuraEnabled=false, killAuraRange=20, killAuraRate=0.1, killAuraTeamCheck=true, killAuraWallCheck=true, espEnabled=true, espShowPlayers=true, espMaxDistance=500, cornerEnabled=true, cornerSize=10, cornerThickness=2, cornerColor=Color3.fromRGB(0,200,255), cornerRainbow=false, fullBoxEnabled=false, healthBarEnabled=true, skeletonEnabled=false, skeletonColor=Color3.fromRGB(255,255,255), nameTagEnabled=true, displayNameTag=true, displayHealthTag=true, displayDistanceTag=true, displayWeaponTag=false, topTracerEnabled=false, bottomTracerEnabled=false, centerTracerEnabled=false, mouseTracerEnabled=false, arrowEnabled=false, radarEnabled=false, radarSize=150, radarPosition="BottomLeft", radarColor=Color3.fromRGB(0,255,0), useTeamColorBox=false, teamColorIndicator=false, chamsEnabled=false, chamsWallhack=true, chamsFillColor=Color3.fromRGB(255,0,0), chamsOutlineColor=Color3.fromRGB(255,255,255), chamsTransparency=0.4, chamsRainbow=false, crosshairEnabled=true, crosshairColor=Color3.fromRGB(255,255,255), crosshairSize=5, crosshairGap=3, crosshairDynamic=true, crosshairRainbow=false, hitmarkersEnabled=true, hitmarkerSound=true, damageNumbersEnabled=false, worldEspEnabled=false, worldEspItems={"Gun","Ammo","Armor","Weapon","Item","Loot"}, worldEspMaxDist=200, worldEspColor=Color3.fromRGB(255,255,0), noRecoilEnabled=false, noRecoilPercent=100, noSwayEnabled=false, infiniteAmmo=false, rapidFireEnabled=false, fireRateMultiplier=1, hitboxExpander=false, hitboxSize=5, speedHackEnabled=false, speedHackValue=20, jumpPowerEnabled=false, jumpPowerValue=50, flyEnabled=false, flySpeed=100, noclipEnabled=false, bunnyHopEnabled=false, infiniteJumpEnabled=false, blinkEnabled=false, blinkDistance=10, dashEnabled=false, dashDistance=20, dashCooldown=1, longJumpEnabled=false, freecamEnabled=false, freecamSpeed=1, freecamSens=0.2, godModeEnabled=false, invisibilityEnabled=false, antiVoidEnabled=false, autoFarmEnabled=false, autoCollectEnabled=false, fullbrightEnabled=false, noFogEnabled=false, lowGravityWorld=false, xrayMode=false, chatSpyEnabled=false, antiAfkEnabled=false, watermarkEnabled=true, fpsDisplayEnabled=false, pingDisplayEnabled=false, currentProfile="Default", autoSaveEnabled=true, autoSaveInterval=60, } for k, v in pairs(FULL_DEFAULTS) do if DEFAULT_SETTINGS[k] == nil then DEFAULT_SETTINGS[k] = v end; if Settings[k] == nil then Settings[k] = v end end -- ------------------------------------------------------------ -- MODULE 2: LOCALIZATION SYSTEM -- ------------------------------------------------------------ local LANG_RU = { ["EXTENDED PACK v4 MEGA"] = "РАСШИРЕННЫЙ ПАКЕТ v4 МЕГА", ["scriptLoaded"] = "Extended Pack v4 загружен!", ["menuToggleHint"] = "Клавиша меню:", ["languageUpdated"] = "Язык обновлён", ["Aimbot"] = "Аимбот", ["Visuals"] = "Визуал", ["Weapon"] = "Оружие", ["Movement"] = "Движение", ["Player"] = "Игрок", ["World"] = "Мир", ["Utility"] = "Утилиты", ["Configs"] = "Конфиги", ["Language"] = "Язык", ["AIMBOT CORE"] = "ОСНОВА АИМБОТА", ["Enable Aimbot"] = "Включить аимбот", ["Team Check"] = "Проверка команды", ["Wall Check"] = "Проверка стен", ["Show FOV Circle"] = "Показывать FOV круг", ["FOV Color"] = "Цвет FOV", ["FOV Radius"] = "Радиус FOV", ["Smoothness"] = "Плавность", ["Smooth Type"] = "Тип плавности", ["Aim Part"] = "Часть тела", ["Target Priority"] = "Приоритет цели", ["PREDICTION"] = "ПРЕДСКАЗАНИЕ", ["Velocity Prediction"] = "Предсказание движения", ["Bullet Speed"] = "Скорость пули", ["TRIGGERBOT"] = "ТРИГГЕРБОТ", ["Enable Triggerbot"] = "Включить триггербот", ["Delay"] = "Задержка", ["ESP CORE"] = "ОСНОВА ESP", ["Enable ESP"] = "Включить ESP", ["Show Players"] = "Показывать игроков", ["Max Distance"] = "Максимальная дистанция", ["BOX"] = "БОКС", ["Enable Corners"] = "Углы", ["Enable Full Box"] = "Полный бокс", ["Corner Color"] = "Цвет углов", ["Corner Size"] = "Размер углов", ["Corner Thick"] = "Толщина углов", ["Rainbow Mode"] = "Радужный режим", ["HEALTH"] = "ЗДОРОВЬЕ", ["Health Bar"] = "Полоска здоровья", ["Bar Width"] = "Ширина полоски", ["SKELETON"] = "СКЕЛЕТ", ["Enable Skeleton"] = "Включить скелет", ["Color"] = "Цвет", ["Rainbow"] = "Радуга", ["CHAMS"] = "ЧАМСЫ", ["Enable Chams"] = "Включить чамсы", ["Always On Top"] = "Всегда поверх", ["Fill Color"] = "Цвет заливки", ["Outline Color"] = "Цвет обводки", ["Fill Transparency"] = "Прозрачность заливки", ["TAGS"] = "ТЕГИ", ["Name Tag"] = "Имя", ["Display Name"] = "Отображаемое имя", ["Distance Tag"] = "Дистанция", ["Weapon Tag"] = "Оружие", ["Name Color"] = "Цвет имени", ["Text Size"] = "Размер текста", ["TRACERS"] = "ТРАССЕРЫ", ["Top Tracer"] = "Верхний трассер", ["Bottom Tracer"] = "Нижний трассер", ["Center Tracer"] = "Центральный трассер", ["Mouse Tracer"] = "Трассер от мыши", ["Tracer Color"] = "Цвет трассера", ["CROSSHAIR"] = "ПРИЦЕЛ", ["Enable Crosshair"] = "Включить прицел", ["Dynamic"] = "Динамический", ["Dot"] = "Точка", ["Size"] = "Размер", ["Gap"] = "Зазор", ["Thickness"] = "Толщина", ["HITMARKERS"] = "ХИТМАРКЕРЫ", ["Enable"] = "Включить", ["Sound"] = "Звук", ["Style"] = "Стиль", ["Kill Color"] = "Цвет убийства", ["RADAR"] = "РАДАР", ["Enable Radar"] = "Включить радар", ["Position"] = "Позиция", ["WEAPON MODS"] = "МОДЫ ОРУЖИЯ", ["No Recoil"] = "Без отдачи", ["Recoil %"] = "Отдача %", ["No Sway"] = "Без раскачивания", ["Infinite Ammo"] = "Бесконечные патроны", ["Rapid Fire"] = "Быстрый огонь", ["Auto Fire"] = "Авто-огонь", ["Auto Reload"] = "Авто-перезарядка", ["Hitbox Expander"] = "Расширение хитбокса", ["Hitbox Size"] = "Размер хитбокса", ["MOVEMENT"] = "ДВИЖЕНИЕ", ["Speed Hack"] = "Скорость", ["Walk Speed"] = "Скорость ходьбы", ["Jump Power"] = "Сила прыжка", ["Infinite Jump"] = "Бесконечный прыжок", ["Bunny Hop"] = "Бани-хоп", ["FLY & NOCLIP"] = "ПОЛЁТ И НОКЛИП", ["Fly"] = "Полёт", ["Fly Speed"] = "Скорость полёта", ["Noclip"] = "Ноклип", ["SPECIAL"] = "СПЕЦИАЛЬНОЕ", ["Blink"] = "Блинк", ["Blink Distance"] = "Дистанция блинка", ["Dash"] = "Рывок", ["Dash Distance"] = "Дистанция рывка", ["Long Jump"] = "Длинный прыжок", ["Teleport to Cursor"] = "Телепорт к курсору", ["CAMERA"] = "КАМЕРА", ["Freecam"] = "Свободная камера", ["Freecam Speed"] = "Скорость камеры", ["Freecam Sens"] = "Чувствительность камеры", ["PLAYER MODS"] = "МОДЫ ИГРОКА", ["God Mode"] = "Бессмертие", ["Invisibility"] = "Невидимость", ["Anti-Void"] = "Анти-войд", ["AUTO"] = "АВТО", ["Auto Farm"] = "Авто-фарм", ["Auto Collect"] = "Авто-сбор", ["KILL AURA"] = "КИЛЛ АУРА", ["Enable Kill Aura"] = "Включить килл ауру", ["Range"] = "Радиус", ["Rate"] = "Частота", ["LIGHTING"] = "ОСВЕЩЕНИЕ", ["Fullbright"] = "Полная яркость", ["Brightness"] = "Яркость", ["No Fog"] = "Без тумана", ["WORLD"] = "МИР", ["Low Gravity"] = "Низкая гравитация", ["X-Ray Mode"] = "X-Ray режим", ["WORLD ESP"] = "ESP МИРА", ["Enable World ESP"] = "Включить ESP мира", ["GENERAL"] = "ОБЩЕЕ", ["Anti-AFK"] = "Анти-АФК", ["Chat Spy"] = "Чат-шпион", ["Watermark"] = "Водяной знак", ["NOTIFICATIONS"] = "УВЕДОМЛЕНИЯ", ["Duration"] = "Длительность", ["SOUNDS"] = "ЗВУКИ", ["Master Sounds"] = "Все звуки", ["Hit Sound"] = "Звук попадания", ["Kill Sound"] = "Звук убийства", ["Hit Volume"] = "Громкость попадания", ["Kill Volume"] = "Громкость убийства", ["GUI"] = "МЕНЮ", ["Theme"] = "Тема", ["Apply Theme"] = "Применить тему", ["Rounded Corners"] = "Скруглённые углы", ["GUI Toggle Key"] = "Клавиша открытия меню", ["SERVER"] = "СЕРВЕР", ["Rejoin Server"] = "Перезайти на сервер", ["Server Hop"] = "Сменить сервер", ["CONFIG MANAGEMENT"] = "УПРАВЛЕНИЕ КОНФИГАМИ", ["Save Config"] = "Сохранить конфиг", ["Load Config"] = "Загрузить конфиг", ["Reset to Defaults"] = "Сбросить по умолчанию", ["Auto-Save"] = "Автосохранение", ["PROFILES"] = "ПРОФИЛИ", ["STATISTICS"] = "СТАТИСТИКА", ["LANGUAGE"] = "ЯЗЫК", ["English"] = "English", ["Russian"] = "Русский", ["Current language"] = "Текущий язык", ["languageInfo"] = "Язык меняется мгновенно. Недостающие переводы остаются на английском.", } local function L(key) return (Settings.language == "Russian" and LANG_RU[key]) or key end -- ------------------------------------------------------------ -- MODULE 3: UTILITIES -- ------------------------------------------------------------ local Util = {} function Util:Round(n, d) local m=10^(d or 0); return math.floor(n*m+0.5)/m end function Util:Clamp(v, min, max) return math.max(min, math.min(max, v)) end function Util:Lerp(a,b,t) return a+(b-a)*t end function Util:LerpColor(c1,c2,t) return Color3.new(Util:Lerp(c1.R,c2.R,t),Util:Lerp(c1.G,c2.G,t),Util:Lerp(c1.B,c2.B,t)) end function Util:Rainbow(s) return Color3.fromHSV((tick()*(s or 1)%5)/5,1,1) end function Util:FormatTime(s) return string.format("%02d:%02d:%02d",math.floor(s/3600),math.floor((s%3600)/60),math.floor(s%60)) end function Util:IsVisible(part) if not part then return false end; local rp=RaycastParams.new(); rp.FilterType=Enum.RaycastFilterType.Exclude; rp.FilterDescendantsInstances={LocalPlayer.Character,Camera}; local r=workspace:Raycast(Camera.CFrame.Position,(part.Position-Camera.CFrame.Position).Unit*1000,rp); return r and r.Instance and (r.Instance==part or r.Instance:IsDescendantOf(part.Parent)) end function Util:TeamColorFor(p) return p and p.Team and p.Team.TeamColor.Color or Color3.fromRGB(200,200,200) end function Util:IsEnemy(p) if not Settings.aimTeamCheck then return true end; return (not LocalPlayer.Team) or (p and p.Team~=LocalPlayer.Team) end function Util:GetPlayerFromPart(part) if not part then return nil end; local m=part:FindFirstAncestorOfClass("Model"); return m and Players:GetPlayerFromCharacter(m) or nil end function Util:GetPlayerWeapon(p) if not p or not p.Character then return "None" end; local t=p.Character:FindFirstChildOfClass("Tool"); return t and t.Name or "None" end -- ------------------------------------------------------------ -- MODULE 4: CONFIG SYSTEM -- ------------------------------------------------------------ local ConfigSystem = {} function ConfigSystem:Save(name) if not writefile or not isfolder then return end if not isfolder(CONFIG_DIR) then makefolder(CONFIG_DIR) end local data={} for k,v in pairs(Settings) do if type(v)=="Color3" then data[k]={__c=1,r=v.R,g=v.G,b=v.B} else data[k]=v end end pcall(writefile, CONFIG_DIR.."/"..name..".json", HttpService:JSONEncode(data)) end function ConfigSystem:Load(name) if not readfile or not isfile or not isfile(CONFIG_DIR.."/"..name..".json") then return end local ok,data=pcall(HttpService.JSONDecode, HttpService, readfile(CONFIG_DIR.."/"..name..".json")) if ok then for k,v in pairs(data) do if type(v)=="table" and v.__c then Settings[k]=Color3.new(v.r,v.g,v.b) else Settings[k]=v end end end end task.spawn(function() while true do task.wait(Settings.autoSaveInterval or 60); if Settings.autoSaveEnabled then ConfigSystem:Save(Settings.currentProfile) end end end) -- ------------------------------------------------------------ -- MODULE 5: THEME SYSTEM -- ------------------------------------------------------------ local Themes = { Midnight={bg=Color3.fromRGB(20,20,30),bg2=Color3.fromRGB(30,30,45),bg3=Color3.fromRGB(45,45,65),accent=Color3.fromRGB(138,43,226),text=Color3.fromRGB(255,255,255),stroke=Color3.fromRGB(60,60,80),success=Color3.fromRGB(80,200,120),warning=Color3.fromRGB(255,180,0),error=Color3.fromRGB(255,80,80)}, Ocean={bg=Color3.fromRGB(15,25,40),bg2=Color3.fromRGB(25,40,60),bg3=Color3.fromRGB(40,60,90),accent=Color3.fromRGB(0,150,255),text=Color3.fromRGB(230,240,255),stroke=Color3.fromRGB(60,90,130),success=Color3.fromRGB(80,200,120),warning=Color3.fromRGB(255,180,0),error=Color3.fromRGB(255,80,80)}, Matrix={bg=Color3.fromRGB(0,0,0),bg2=Color3.fromRGB(5,15,5),bg3=Color3.fromRGB(10,30,10),accent=Color3.fromRGB(0,255,0),text=Color3.fromRGB(200,255,200),stroke=Color3.fromRGB(0,100,0),success=Color3.fromRGB(0,255,0),warning=Color3.fromRGB(255,255,0),error=Color3.fromRGB(255,0,0)}, } local function getTheme() return Themes[Settings.theme] or Themes.Midnight end local T = getTheme() -- ------------------------------------------------------------ -- MODULE 6: NOTIFICATION SYSTEM -- ------------------------------------------------------------ local NotifySystem = {container=nil} function NotifySystem:Init() if self.container then return end local g=Instance.new("ScreenGui"); g.Name="EP4_N"; g.ResetOnSpawn=false; g.IgnoreGuiInset=true; g.Parent=gethui() local f=Instance.new("Frame"); f.Size=UDim2.fromOffset(300,600); f.BackgroundTransparency=1; f.AnchorPoint=Vector2.new(Settings.notificationsPosition:find("Right") and 1 or 0, Settings.notificationsPosition:find("Bottom") and 1 or 0); f.Position=UDim2.fromScale(f.AnchorPoint.X, f.AnchorPoint.Y); f.Parent=g local l=Instance.new("UIListLayout"); l.Padding=UDim.new(0,5); l.VerticalAlignment=f.AnchorPoint.Y==1 and Enum.VerticalAlignment.Bottom or Enum.VerticalAlignment.Top; l.Parent=f self.container=f end local function notify(msg, type, dur) if not Settings.notificationsEnabled then return end; NotifySystem:Init(); type=type or "info"; dur=dur or 3 local n=Instance.new("Frame"); n.Size=UDim2.new(1,0,0,40); n.BackgroundColor3=T.bg2; n.BorderSizePixel=0; n.Parent=NotifySystem.container Instance.new("UICorner",n).CornerRadius=UDim.new(0,6) local s=Instance.new("UIStroke",n); s.Color=(type=="success" and T.success) or (type=="error" and T.error) or T.accent; s.Thickness=1 local t=Instance.new("TextLabel",n); t.Size=UDim2.new(1,-10,1,0); t.Position=UDim2.fromOffset(10,0); t.BackgroundTransparency=1; t.Text=msg; t.TextColor3=T.text; t.TextSize=12; t.Font=Enum.Font.Gotham; t.TextXAlignment=Enum.TextXAlignment.Left; t.TextWrapped=true task.delay(dur, function() TweenService:Create(n,TweenInfo.new(0.3),{BackgroundTransparency=1,Size=UDim2.new(1,0,0,0)}):Play(); task.delay(0.3,function() n:Destroy() end) end) end -- ------------------------------------------------------------ -- MODULE 7: SOUNDS & HITMARKERS & STATS -- ------------------------------------------------------------ local AudioSystem = {hmLines={}} function AudioSystem:Play(id, vol) if Settings.soundsEnabled and id then pcall(function() local s=Instance.new("Sound"); s.SoundId=id; s.Volume=vol or 0.5; s.Parent=SoundService; s:Play(); task.delay(3,function() s:Destroy() end) end) end end function AudioSystem:Hitmarker(kill) if not DrawingAvailable or not Settings.hitmarkersEnabled then return end; if Settings.hitmarkerSound then self:Play(Settings.hitmarkerSoundId,0.5) end local c=Camera.ViewportSize/2; local sz=10; local col=kill and Color3.fromRGB(255,0,0) or Color3.fromRGB(255,255,255) for _,o in ipairs({{Vector2.new(-sz,-sz),Vector2.new(sz,sz)},{Vector2.new(sz,-sz),Vector2.new(-sz,sz)}}) do local l=Drawing.new("Line"); l.From=c+o[1]; l.To=c+o[2]; l.Color=col; l.Thickness=2; l.Visible=true; table.insert(self.hmLines,{obj=l,alpha=1}) end end task.spawn(function() while true do task.wait(0.02); for i=#AudioSystem.hmLines,1,-1 do local h=AudioSystem.hmLines[i]; h.alpha-=0.05; if h.alpha<=0 then h.obj:Remove(); table.remove(AudioSystem.hmLines,i) else h.obj.Transparency=1-h.alpha end end end end) local DamageNumbers = {nums={}} function DamageNumbers:Show(dmg, char) if not DrawingAvailable or not Settings.damageNumbersEnabled or not char then return end local head=char:FindFirstChild("Head"); if not head then return end local pos,vis=Camera:WorldToViewportPoint(head.Position+Vector3.new(0,2,0)); if not vis then return end local t=Drawing.new("Text"); t.Text="-"..tostring(Util:Round(dmg,0)); t.Size=14; t.Color=Color3.fromRGB(255,255,0); t.Center=true; t.Outline=true; t.Position=Vector2.new(pos.X,pos.Y); t.Visible=true table.insert(self.nums,{obj=t,start=tick(),pos=Vector2.new(pos.X,pos.Y)}) end task.spawn(function() while true do task.wait(0.02); local now=tick(); for i=#DamageNumbers.nums,1,-1 do local d=DamageNumbers.nums[i]; local el=now-d.start; if el>=1.5 then d.obj:Remove(); table.remove(DamageNumbers.nums,i) else d.obj.Position=d.pos-Vector2.new(0,el*30); d.obj.Transparency=el/1.5 end end end end) local Stats = {kills=0,deaths=0,start=os.time()} local soundTracker = {} local function trackSoundPlayer(plr) if plr==LocalPlayer or soundTracker[plr] then return end; soundTracker[plr]=true local function hook(char) local hum=char:WaitForChild("Humanoid",5); if not hum then return end; local prev=hum.Health hum.HealthChanged:Connect(function(newH) if newH0 and plr~=LocalPlayer then AudioSystem:Play(Settings.hitSoundId,Settings.hitSoundVolume); AudioSystem:Hitmarker(false); DamageNumbers:Show(prev-newH,char) elseif newH<=0 and prev>0 and plr~=LocalPlayer then AudioSystem:Play(Settings.killSoundId,Settings.killSoundVolume); AudioSystem:Hitmarker(true); Stats.kills+=1 end prev=newH