Run it
Copy the script and paste it into your executor.
Players = :()
RunService = :()
UserInputService = :()
CoreGui = :()
player = Players.LocalPlayer
CONFIG = {
AttractRadius = ,
StealGameProps = ,
PropSnapping = ,
SpawnFakeProps = ,
PropColor = .(, , ),
PropMaterial = .Material.Neon,
PropSize = .(, , ),
PropsPerWing = ,
WingSpan = ,
WingDrop = ,
FanAngle = ,
FlapSpeed = ,
FlapWidth = ,
}
IsActive =
.WingProps = { Left = {}, Right = {} }
stolenProps = {}
.WingConnection .WingConnection:()
.PropScanner .(.PropScanner)
.WingProps
_, prop (.WingProps.Left) prop prop:()
_, prop (.WingProps.Right) prop prop:()
UI_PARENT = (() CoreGui.Name ) CoreGui player:()
UI_PARENT:()
UI_PARENT.PropWingGUI:()
ScreenGui = .()
ScreenGui.Name =
ScreenGui.ResetOnSpawn =
ScreenGui.Parent = UI_PARENT
MainFrame = .()
MainFrame.Size = .(, , , )
MainFrame.Position = .(, -, , -)
MainFrame.BackgroundColor3 = .(, , )
MainFrame.BorderSizePixel =
MainFrame.Parent = ScreenGui
UICorner = .()
UICorner.CornerRadius = .(, )
UICorner.Parent = MainFrame
Title = .()
Title.Size = .(, , , )
Title.BackgroundTransparency =
Title.Text =
Title.TextColor3 = .(, , )
Title.Font = .Font.GothamBold
Title.TextSize =
Title.Parent = MainFrame
ToggleBtn = .()
ToggleBtn.Size = .(, , , )
ToggleBtn.Position = .(, , , )
ToggleBtn.BackgroundColor3 = .(, , )
ToggleBtn.Text =
ToggleBtn.TextColor3 = .(, , )
ToggleBtn.Font = .Font.GothamBold
ToggleBtn.TextSize =
ToggleBtn.Parent = MainFrame
BtnCorner = .()
BtnCorner.CornerRadius = .(, )
BtnCorner.Parent = ToggleBtn
RadiusLabel = .()
RadiusLabel.Size = .(, , , )
RadiusLabel.Position = .(, , , )
RadiusLabel.BackgroundTransparency =
RadiusLabel.Text =
RadiusLabel.TextColor3 = .(, , )
RadiusLabel.Font = .Font.Gotham
RadiusLabel.TextSize =
RadiusLabel.TextXAlignment = .TextXAlignment.Left
RadiusLabel.Parent = MainFrame
RadiusBox = .()
RadiusBox.Size = .(, , , )
RadiusBox.Position = .(, , , )
RadiusBox.BackgroundColor3 = .(, , )
RadiusBox.Text = (CONFIG.AttractRadius)
RadiusBox.TextColor3 = .(, , )
RadiusBox.Font = .Font.GothamBold
RadiusBox.TextSize =
RadiusBox.Parent = MainFrame
BoxCorner = .()
BoxCorner.CornerRadius = .(, )
BoxCorner.Parent = RadiusBox
dragging, dragInput, dragStart, startPos
MainFrame.InputBegan:((input)
input.UserInputType == .UserInputType.MouseButton1 input.UserInputType == .UserInputType.Touch
dragging =
dragStart = input.Position
startPos = MainFrame.Position
input.Changed:(()
input.UserInputState == .UserInputState.End dragging =
)
)
MainFrame.InputChanged:((input)
input.UserInputType == .UserInputType.MouseMovement input.UserInputType == .UserInputType.Touch dragInput = input
)
UserInputService.InputChanged:((input)
input == dragInput dragging
delta = input.Position - dragStart
MainFrame.Position = .(startPos.X.Scale, startPos.X.Offset + delta.X, startPos.Y.Scale, startPos.Y.Offset + delta.Y)
)
()
()
part = .()
part.Size = CONFIG.PropSize
part.Anchored =
part.CanCollide =
part.Locked =
part.Massless =
part.Color = CONFIG.PropColor
part.Material = CONFIG.PropMaterial
part.Parent =
part
.WingProps = { Left = {}, Right = {} }
CONFIG.SpawnFakeProps
i = , CONFIG.PropsPerWing
.(.WingProps.Left, ())
.(.WingProps.Right, ())
()
_, prop (.WingProps.Left) prop prop:()
_, prop (.WingProps.Right) prop prop:()
.WingProps = { Left = {}, Right = {} }
_, prop (stolenProps)
prop prop.Parent
(() prop.CanCollide = )
stolenProps = {}
ToggleBtn.MouseButton1Click:(()
IsActive = IsActive
IsActive
ToggleBtn.Text =
ToggleBtn.BackgroundColor3 = .(, , )
()
ToggleBtn.Text =
ToggleBtn.BackgroundColor3 = .(, , )
()
)
RadiusBox.FocusLost:(()
newRadius = (RadiusBox.Text)
newRadius
CONFIG.AttractRadius = .(newRadius, , )
RadiusBox.Text = (CONFIG.AttractRadius)
RadiusBox.Text = (CONFIG.AttractRadius)
)
.PropScanner = .(()
.()
IsActive
char = player.Character
char char:()
hrp = char.HumanoidRootPart
_, part (:())
part:() part.Anchored part:(char)
(part.Position - hrp.Position).Magnitude <= CONFIG.AttractRadius
.(stolenProps, part)
.(stolenProps, part)
(() part.CanCollide = )
i = #stolenProps, , -
stolenProps[i] stolenProps[i].Parent
.(stolenProps, i)
)
tickCount =
.WingConnection = RunService.Heartbeat:((deltaTime)
IsActive
character = player.Character
character character:()
hrp = character.HumanoidRootPart
tickCount = tickCount + (deltaTime * CONFIG.FlapSpeed)
currentFlap = .(tickCount) * .(CONFIG.FlapWidth)
leftSlots, rightSlots = {}, {}
(isLeft, slotTable)
sideMult = isLeft -
backHingeCFrame = hrp.CFrame * .(sideMult * , , )
animatedHinge = backHingeCFrame * .(, sideMult * currentFlap, )
i = , CONFIG.PropsPerWing
progress = (i - ) / (CONFIG.PropsPerWing - )
progress ~= progress progress =
targetCFrame = animatedHinge
* .(sideMult * (progress * CONFIG.WingSpan), -(progress * CONFIG.WingDrop), )
* .(.(), , sideMult * .(CONFIG.FanAngle) * progress)
.(slotTable, targetCFrame)
(, leftSlots)
(, rightSlots)
CONFIG.SpawnFakeProps
i, prop (.WingProps.Left) prop.CFrame = leftSlots[i]
i, prop (.WingProps.Right) prop.CFrame = rightSlots[i]
CONFIG.StealGameProps #stolenProps >
totalSlots = CONFIG.PropsPerWing
i, gamePart (stolenProps)
slotArray = (i % == ) leftSlots rightSlots
slotIndex = (.(i / ) % totalSlots) +
targetCFrame = slotArray[slotIndex]
(()
CONFIG.PropSnapping
targetCFrame = targetCFrame * .(.(.(-, )), .(.(-, )), )
gamePart.CFrame = targetCFrame
gamePart.Velocity = .(,,)
gamePart.RotVelocity = .(,,)
)
)Rubo troll aura wings for you yess you.

Universal