Run it
Copy the script and paste it into your executor.
Rayfield = (:())()
Players = :()
ReplicatedStorage = :()
RunService = :()
UserInputService = :()
HttpService = :()
localPlayer = Players.LocalPlayer
playerGui = localPlayer:()
ProjectileEvent = ReplicatedStorage:()
SpecialSkillEvent = ReplicatedStorage:()
CharacterTransform = ReplicatedStorage:()
(key, value)
(() playerGui:(..key, HttpService:(value)) )
(key, default)
raw = playerGui:(..key)
raw default
ok, res = (() HttpService:(raw) )
ok res default
DEFAULTS = {
defaultPreset = ,
projectileSpeed = ,
projectileGravity = {,-,},
selectedVIP = ,
vipList = {,,},
charaSpamEnabled = ,
charaSpamInterval = ,
charaAimAtSelected = ,
autofireEnabled = ,
autofireRange = ,
autofireGlobalRate = ,
autofirePerTargetCooldown = ,
autofireMode = ,
autofireIgnoreForceField = ,
selfAttack = ,
healEnabled = ,
healDelay = ,
healCount = ,
healTargetMode = ,
auraEnabled = ,
auraDur = ,
auraVal = ,
}
SETTINGS = (, DEFAULTS)
k,v (DEFAULTS) SETTINGS[k] == SETTINGS[k] = v
VIP_CHARACTERS = {}
i,v (SETTINGS.vipList DEFAULTS.vipList) VIP_CHARACTERS[i] = v
PROJECTILE_PRESETS = {
[] = {DAMAGE=, PROJECTILE_SPEED=, GRAVITY=.(,,), HIT_TYPE=, PROJECTILE_MODEL=, BLAST_RADIUS=, EXPLODE_FX=, AURA=, DESC=},
[] = {DAMAGE=, PROJECTILE_SPEED=, GRAVITY=.(,-,), HIT_TYPE=, PROJECTILE_MODEL=, BLAST_RADIUS=, AURA=, DESC=},
[] = {DAMAGE=, PROJECTILE_SPEED=, GRAVITY=.(,-,), HIT_TYPE=, PROJECTILE_MODEL=, BLAST_RADIUS=, STICK_PROJECTILE=, AURA=, DESC=},
[] = {DAMAGE=, PROJECTILE_SPEED=, GRAVITY=.(,,), HIT_TYPE=, PROJECTILE_MODEL=, BLAST_RADIUS=, AURA=, DESC=},
}
(s)
s .(,-,)
p = {}
n .(s,) .(p,(n))
#p >= .(p[],p[],p[])
.(,-,)
()
c = localPlayer.Character
hrp = c (c.PrimaryPart c:())
hrp
hrp.Position + hrp.CFrame.LookVector * + .(,,), hrp.CFrame.LookVector
.(,,), .(,,)
currentPreset = SETTINGS.defaultPreset
currentStick =
selectedTarget =
editor = {
damage = ,
speed = (SETTINGS.projectileSpeed),
blast = ,
gravity = .(SETTINGS.projectileGravity {,-,}, ),
hitType = ,
model = ,
}
(name)
t = PROJECTILE_PRESETS[name]
t
editor.damage = (t.DAMAGE )
editor.speed = (t.PROJECTILE_SPEED )
editor.blast = (t.BLAST_RADIUS )
editor.gravity = t.GRAVITY ():(t.GRAVITY.X,t.GRAVITY.Y,t.GRAVITY.Z)
editor.hitType = t.HIT_TYPE
editor.model = t.PROJECTILE_MODEL
currentStick = t.STICK_PROJECTILE
(currentPreset)
()
p = PROJECTILE_PRESETS[currentPreset] {}
auraData =
SETTINGS.auraEnabled p.AURA
auraData = {
NAME = p.AURA,
DURATION = SETTINGS.auraDur ,
VALUE = SETTINGS.auraVal ,
}
{
DAMAGE = (editor.damage) p.DAMAGE ,
PROJECTILE_SPEED = (editor.speed) p.PROJECTILE_SPEED ,
GRAVITY = (editor.gravity) p.GRAVITY .(,-,),
HIT_TYPE = editor.hitType ~= editor.hitType p.HIT_TYPE ,
PROJECTILE_MODEL = editor.model ~= editor.model p.PROJECTILE_MODEL ,
BLAST_RADIUS = (editor.blast) p.BLAST_RADIUS ,
EXPLODE_FX = p.EXPLODE_FX ,
AURA = auraData,
STICK_PROJECTILE = currentStick p.STICK_PROJECTILE ,
}
(targetPlayer)
ProjectileEvent
origin, dir = ()
targetPlayer targetPlayer ~= localPlayer targetPlayer.Character
hrp = targetPlayer.Character:()
hrp dir = (hrp.Position - origin).Unit
(() ProjectileEvent:(origin, dir, ()) )
Window = Rayfield:({
Name = ,
LoadingTitle = ,
LoadingSubtitle = ,
Theme = ,
DisableRayfieldPrompts = ,
DisableBuildWarnings = ,
ConfigurationSaving = {Enabled = },
KeySystem = ,
})
Tab1 = Window:(, )
Tab1:()
()
names = {}
_,p (Players:())
p ~= localPlayer .(names, p.Name)
#names > names {}
PlayerDropdown = Tab1:({
Name = ,
Options = (),
CurrentOption = {},
Flag = ,
Callback = (option)
name = (option) == option[] option
_,p (Players:())
p.Name == name selectedTarget = p;
,
})
Tab1:({
Name = ,
Callback = ()
names = ()
PlayerDropdown:(names[])
Rayfield:({Title=, Content=..#names.., Duration=})
,
})
Tab1:({
Name = ,
Callback = ()
selectedTarget selectedTarget.Character
Rayfield:({Title=, Content=, Duration=});
hrp = selectedTarget.Character:()
me = localPlayer.Character
hrp me me:()
(() me.HumanoidRootPart.CFrame = hrp.CFrame * .(,,-) )
,
})
Tab1:({
Name = ,
CurrentValue = SETTINGS.selfAttack,
Flag = ,
Callback = (v) SETTINGS.selfAttack = v; (, SETTINGS) ,
})
Tab1:()
presetNames = {}
name (PROJECTILE_PRESETS) .(presetNames, name)
.(presetNames, (a,b) a:() < b:() )
Tab1:({
Name = ,
Options = presetNames,
CurrentOption = {currentPreset},
Flag = ,
Callback = (option)
currentPreset = (option) == option[] option
SETTINGS.defaultPreset = currentPreset
(currentPreset)
(, SETTINGS)
t = PROJECTILE_PRESETS[currentPreset]
auraInfo = t t.AURA (..t.AURA)
Rayfield:({Title=, Content=(t t.DESC currentPreset)..auraInfo, Duration=, Image=})
,
})
Tab1:()
Tab1:({Name=, CurrentValue=editor.damage, PlaceholderText=, RemoveTextAfterFocusLost=, Flag=, Callback=(v) editor.damage = v })
Tab1:({Name=, CurrentValue=editor.speed, PlaceholderText=, RemoveTextAfterFocusLost=, Flag=, Callback=(v) editor.speed = v })
Tab1:({Name=, CurrentValue=editor.blast, PlaceholderText=, RemoveTextAfterFocusLost=, Flag=, Callback=(v) editor.blast = v })
Tab1:({Name=, CurrentValue=editor.gravity, PlaceholderText=, RemoveTextAfterFocusLost=, Flag=, Callback=(v) editor.gravity = v })
Tab1:({Name=, CurrentValue=editor.hitType, PlaceholderText=, RemoveTextAfterFocusLost=, Flag=, Callback=(v) editor.hitType = v })
Tab1:({Name=, CurrentValue=editor.model, PlaceholderText=, RemoveTextAfterFocusLost=, Flag=, Callback=(v) editor.model = v })
Tab1:({
Name = ,
CurrentValue = currentStick,
Flag = ,
Callback = (v) currentStick = v ,
})
Tab1:({
Name = ,
Callback = ()
tbl = PROJECTILE_PRESETS[currentPreset] {}
tbl.DAMAGE = (editor.damage) tbl.DAMAGE
tbl.PROJECTILE_SPEED = (editor.speed) tbl.PROJECTILE_SPEED
tbl.GRAVITY = (editor.gravity)
tbl.BLAST_RADIUS = (editor.blast) tbl.BLAST_RADIUS
tbl.PROJECTILE_MODEL = editor.model ~= editor.model tbl.PROJECTILE_MODEL
tbl.HIT_TYPE = editor.hitType ~= editor.hitType tbl.HIT_TYPE
tbl.STICK_PROJECTILE = currentStick
PROJECTILE_PRESETS[currentPreset] = tbl
Rayfield:({Title=, Content=..currentPreset, Duration=, Image=})
,
})
Tab1:()
Tab1:()
Tab1:({
Name = ,
CurrentValue = SETTINGS.auraEnabled,
Flag = ,
Callback = (v)
SETTINGS.auraEnabled = v
(, SETTINGS)
p = PROJECTILE_PRESETS[currentPreset]
auraName = p p.AURA
Rayfield:({
Title = .. (v ),
Content = v (..auraName) ,
Duration= ,
Image = ,
})
,
})
Tab1:({
Name = ,
CurrentValue = (SETTINGS.auraDur),
PlaceholderText = ,
RemoveTextAfterFocusLost= ,
Flag = ,
Callback = (v)
n = (v)
n n > SETTINGS.auraDur = n; (, SETTINGS)
,
})
Tab1:({
Name = ,
CurrentValue = (SETTINGS.auraVal),
PlaceholderText = ,
RemoveTextAfterFocusLost= ,
Flag = ,
Callback = (v)
n = (v)
n n > SETTINGS.auraVal = n; (, SETTINGS)
,
})
Tab1:()
Tab1:({
Name = ,
Callback = ()
target = SETTINGS.selfAttack localPlayer selectedTarget
(target)
Rayfield:({Title=, Content=..currentPreset, Duration=, Image=})
,
})
Tab1:()
Tab1:({
Name = ,
CurrentValue = SETTINGS.charaAimAtSelected,
Flag = ,
Callback = (v) SETTINGS.charaAimAtSelected = v; (, SETTINGS) ,
})
Tab1:({
Name = ,
CurrentValue = (SETTINGS.charaSpamInterval),
PlaceholderText = ,
RemoveTextAfterFocusLost= ,
Flag = ,
Callback = (v)
n = (v)
n n > SETTINGS.charaSpamInterval = n; (, SETTINGS)
,
})
charaOrigin =
Tab1:({
Name = ,
CurrentValue = charaOrigin,
PlaceholderText = ,
RemoveTextAfterFocusLost= ,
Flag = ,
Callback = (v) charaOrigin = v ,
})
()
ProjectileEvent
coords = {}
n .(charaOrigin,) .(coords,(n))
pos = #coords >= .(coords[],coords[],coords[]) ()
dir = .(,-,-)
SETTINGS.charaAimAtSelected selectedTarget selectedTarget.Character
hrp = selectedTarget.Character:()
hrp dir = (hrp.Position - pos).Unit
payload = {
DAMAGE=, PROJECTILE_SPEED=, GRAVITY=.(,,),
HIT_TYPE=, PROJECTILE_MODEL=,
BLAST_RADIUS=, EXPLODE_FX=,
AURA = SETTINGS.auraEnabled {NAME=, DURATION=SETTINGS.auraDur , VALUE=SETTINGS.auraVal } ,
}
(() ProjectileEvent:(pos, dir, payload) )
charaSpamConn =
Tab1:({
Name = ,
CurrentValue = SETTINGS.charaSpamEnabled,
Flag = ,
Callback = (v)
SETTINGS.charaSpamEnabled = v; (, SETTINGS)
v
charaSpamConn charaSpamConn:()
acc =
charaSpamConn = RunService.Heartbeat:((dt)
acc = acc + dt
acc >= (SETTINGS.charaSpamInterval )
acc = acc - SETTINGS.charaSpamInterval
(fireCharaOnce)
)
charaSpamConn charaSpamConn:(); charaSpamConn =
,
})
Tab1:({
Name = ,
Callback = () (fireCharaOnce) ,
})
Tab1:()
Tab1:({
Name = ,
CurrentValue = SETTINGS.autofireEnabled,
Flag = ,
Callback = (v) SETTINGS.autofireEnabled = v; (, SETTINGS) ,
})
Tab1:({
Name = ,
CurrentValue = (SETTINGS.autofireRange),
PlaceholderText = ,
RemoveTextAfterFocusLost= ,
Flag = ,
Callback = (v)
n = (v)
n n > SETTINGS.autofireRange = n; (, SETTINGS)
,
})
Tab1:({
Name = ,
CurrentValue = (SETTINGS.autofireGlobalRate),
PlaceholderText = ,
RemoveTextAfterFocusLost= ,
Flag = ,
Callback = (v)
n = (v)
n n >= SETTINGS.autofireGlobalRate = n; (, SETTINGS)
,
})
Tab1:({
Name = ,
CurrentValue = (SETTINGS.autofirePerTargetCooldown),
PlaceholderText = ,
RemoveTextAfterFocusLost= ,
Flag = ,
Callback = (v)
n = (v)
n n >= SETTINGS.autofirePerTargetCooldown = n; (, SETTINGS)
,
})
Tab1:({
Name = ,
Options = {,},
CurrentOption = {SETTINGS.autofireMode },
Flag = ,
Callback = (option)
SETTINGS.autofireMode = (option)== option[] option
(, SETTINGS)
,
})
perTargetCooldowns = {}
lastGlobalFire =
(plr)
plr plr.Character
hrp = plr.Character:()
hum = plr.Character:()
hrp hum hum.Health >
RunService.Heartbeat:(()
SETTINGS.autofireEnabled
now = ()
now - lastGlobalFire < (SETTINGS.autofireGlobalRate )
me = localPlayer.Character
me me:()
myPos = me.HumanoidRootPart.Position
candidates = {}
_,plr (Players:())
plr ~= localPlayer (plr)
hrp = plr.Character:()
hrp
d = (hrp.Position - myPos).Magnitude
d <= (SETTINGS.autofireRange )
.(candidates,{plr=plr,dist=d})
#candidates ==
SETTINGS.autofireMode ==
.(candidates, (a,b) a.dist < b.dist )
chosen = candidates[].plr
now >= (perTargetCooldowns[chosen] )
(chosen)
perTargetCooldowns[chosen] = now + (SETTINGS.autofirePerTargetCooldown )
lastGlobalFire = now
_,entry (candidates)
pl = entry.plr
now >= (perTargetCooldowns[pl] ) now - lastGlobalFire >= (SETTINGS.autofireGlobalRate )
(pl)
perTargetCooldowns[pl] = now + (SETTINGS.autofirePerTargetCooldown )
lastGlobalFire = now
)
Tab2 = Window:(, )
Tab2:()
summonName =
summonAmount =
summonDuration =
statH, statD, statSp, statAg = , , ,
Tab2:({Name=, CurrentValue=summonName, PlaceholderText=, RemoveTextAfterFocusLost=, Flag=, Callback=(v) summonName = v })
Tab2:({Name=, CurrentValue=(summonAmount), PlaceholderText=, RemoveTextAfterFocusLost=, Flag=, Callback=(v) summonAmount = (v) })
Tab2:({Name=,CurrentValue=(summonDuration),PlaceholderText=, RemoveTextAfterFocusLost=, Flag=, Callback=(v) summonDuration = (v) })
Tab2:()
Tab2:({Name=, CurrentValue=, PlaceholderText=, RemoveTextAfterFocusLost=, Flag=, Callback=(v) statH = (v) })
Tab2:({Name=, CurrentValue=, PlaceholderText=, RemoveTextAfterFocusLost=, Flag=, Callback=(v) statD = (v) })
Tab2:({Name=, CurrentValue=, PlaceholderText=, RemoveTextAfterFocusLost=, Flag=, Callback=(v) statSp = (v) })
Tab2:({Name=, CurrentValue=, PlaceholderText=, RemoveTextAfterFocusLost=, Flag=, Callback=(v) statAg = (v) })
(name, amount, duration)
SpecialSkillEvent
Rayfield:({Title=, Content=, Duration=});
stats = {}
statH stats.HEALTH = statH
statD stats.DAMAGE = statD
statSp stats.SPEED = statSp
statAg stats.AGGRO_RANGE = statAg
payload = {, {DURATION=duration, HOW_MANY=amount, NPC_NAME=name, STATS=(stats) stats }}
(() SpecialSkillEvent:((payload)) )
Rayfield:({Title=, Content=():(amount, name, duration), Duration=, Image=})
Tab2:({Name=, Callback=() (summonName, summonAmount, summonDuration) })
Tab2:()
Tab2:({Name=, Callback=() (, , ) })
Tab2:({Name=, Callback=() (, , ) })
Tab2:({Name=, Callback=() (, , ) })
Tab2:({Name=, Callback=() (, , ) })
Tab3 = Window:(, )
Tab3:()
Tab3:({
Name = ,
Options = VIP_CHARACTERS,
CurrentOption = {SETTINGS.selectedVIP VIP_CHARACTERS[]},
Flag = ,
Callback = (option)
SETTINGS.selectedVIP = (option)== option[] option
(, SETTINGS)
,
})
Tab3:({
Name = ,
Callback = ()
CharacterTransform
Rayfield:({Title=, Content=, Duration=});
name = SETTINGS.selectedVIP VIP_CHARACTERS[]
(() CharacterTransform:(name) )
Rayfield:({Title=, Content=..name, Duration=, Image=})
,
})
Tab4 = Window:(, )
Tab4:()
Tab4:({
Name = ,
Options = {,},
CurrentOption = {SETTINGS.healTargetMode },
Flag = ,
Callback = (option)
SETTINGS.healTargetMode = (option)== option[] option
(, SETTINGS)
,
})
Tab4:({
Name=, CurrentValue=(SETTINGS.healDelay), PlaceholderText=,
RemoveTextAfterFocusLost=, Flag=,
Callback=(v) n=(v); n n> SETTINGS.healDelay=n; (,SETTINGS) ,
})
Tab4:({
Name=, CurrentValue=(SETTINGS.healCount), PlaceholderText=,
RemoveTextAfterFocusLost=, Flag=,
Callback=(v) n=(v); n n> SETTINGS.healCount=n; (,SETTINGS) ,
})
()
SpecialSkillEvent
(() SpecialSkillEvent:() )
Tab4:({
Name = ,
Callback = ()
()
Rayfield:({Title=, Content=, Duration=, Image=})
,
})
healConn =
Tab4:({
Name = ,
CurrentValue = SETTINGS.healEnabled,
Flag = ,
Callback = (v)
SETTINGS.healEnabled = v; (, SETTINGS)
v
healConn healConn:(); healConn =
acc, remaining = , SETTINGS.healCount
healConn = RunService.Heartbeat:((dt)
acc = acc + dt
acc >= (SETTINGS.healDelay )
acc = acc - SETTINGS.healDelay
()
remaining = remaining -
remaining <=
SETTINGS.healEnabled = ; (, SETTINGS)
healConn healConn:(); healConn =
Rayfield:({Title=, Content=, Duration=})
)
Rayfield:({Title=, Content=():(SETTINGS.healCount, SETTINGS.healDelay), Duration=, Image=})
healConn healConn:(); healConn =
Rayfield:({Title=, Content=, Duration=})
,
})
UserInputService.InputBegan:((input, processed)
processed
input.KeyCode == .KeyCode.F
(SETTINGS.selfAttack localPlayer selectedTarget)
input.KeyCode == .KeyCode.T CharacterTransform
(() CharacterTransform:(SETTINGS.selectedVIP VIP_CHARACTERS[]) )
)
(, SETTINGS)
Rayfield:({
Title = ,
Content = ,
Duration= ,
Image = ,
})Loads code from the internet. It downloads more code when it runs (loadstring + HttpGet), which can change after it was posted. From: sirius.menu.
able to ruin the game with the projectiles and summons and free gamepass characters(have to get a character first to leave menu) and loop heal that also gives walkspeed.