OR4NG3-FRU1T

FULL SCRIPTS

Mar 21st, 2026
32
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.39 KB | None | 0 0
  1. local OrionLib = loadstring(game:HttpGet("https://raw.githubusercontent.com/shlexware/Orion/main/source"))()
  2.  
  3. local svc = {
  4. RS = game:GetService("ReplicatedStorage"),
  5. RunService = game:GetService("RunService")
  6. }
  7.  
  8. local cfg = {
  9. flowOn = false,
  10. flowNodeDelay = 0.04,
  11. flowLineDelay = 0.60
  12. }
  13.  
  14. local Window = OrionLib:MakeWindow({
  15. Name = "NVCat'S_scripts",
  16. HidePremium = false,
  17. SaveConfig = true,
  18. ConfigFolder = "NVCat_Config"
  19. })
  20.  
  21. local Tab = Window:MakeTab({
  22. Name = "Generator",
  23. Icon = "rbxassetid://4483362458",
  24. PremiumOnly = false
  25. })
  26.  
  27. local function flowKey(n) return n.row.."-"..n.col end
  28.  
  29. local function flowDirFlip(d)
  30. return ({up="down",down="up",left="right",right="left"})[d]
  31. end
  32.  
  33. local function flowDir(r1,c1,r2,c2)
  34. if r2<r1 then return"up" elseif r2>r1 then return"down" elseif c2<c1 then return"left" elseif c2>c1 then return"right" end
  35. end
  36.  
  37. local function flowNeighbour(r1,c1,r2,c2)
  38. if r2==r1-1 and c2==c1 then return"up" end
  39. if r2==r1+1 and c2==c1 then return"down" end
  40. if r2==r1 and c2==c1-1 then return"left" end
  41. if r2==r1 and c2==c1+1 then return"right" end
  42. return false
  43. end
  44.  
  45. local function flowConnections(prev,curr,nxt)
  46. local t={}
  47. if prev and curr then
  48. local d=flowDir(curr.row,curr.col,prev.row,prev.col)
  49. if d then t[flowDirFlip(d)]=true end
  50. end
  51. if nxt and curr then
  52. local d=flowDir(curr.row,curr.col,nxt.row,nxt.col)
  53. if d then t[d]=true end
  54. end
  55. return t
  56. end
  57.  
  58. local function flowOrder(path,endpoints)
  59. if not path or #path==0 then return path end
  60. local lookup={}
  61. for _,n in ipairs(path) do lookup[flowKey(n)]=n end
  62. local start
  63. for _,ep in ipairs(endpoints or{}) do
  64. for _,n in ipairs(path) do
  65. if n.row==ep.row and n.col==ep.col then start={row=ep.row,col=ep.col};break end
  66. end
  67. if start then break end
  68. end
  69. if not start then
  70. for _,n in ipairs(path) do
  71. local nb=0
  72. for _,d in ipairs({{-1,0},{1,0},{0,-1},{0,1}}) do
  73. if lookup[(n.row+d[1]).."-"..(n.col+d[2])] then nb+=1 end
  74. end
  75. if nb==1 then start={row=n.row,col=n.col};break end
  76. end
  77. end
  78. if not start then start={row=path[1].row,col=path[1].col} end
  79. local pool={}
  80. local ordered={}
  81. for _,n in ipairs(path) do pool[flowKey(n)]={row=n.row,col=n.col} end
  82. local cur=start
  83. table.insert(ordered,{row=cur.row,col=cur.col})
  84. pool[flowKey(cur)]=nil
  85. while next(pool) do
  86. local moved=false
  87. for k,node in pairs(pool) do
  88. if flowNeighbour(cur.row,cur.col,node.row,node.col) then
  89. table.insert(ordered,{row=node.row,col=node.col})
  90. pool[k]=nil
  91. cur=node
  92. moved=true
  93. break
  94. end
  95. end
  96. if not moved then break end
  97. end
  98. return ordered
  99. end
  100.  
  101. local function flowSolve(puzzle)
  102. if not puzzle or not puzzle.Solution then return end
  103. local indices={}
  104. for i=1,#puzzle.Solution do indices[i]=i end
  105. for i=#indices,2,-1 do
  106. local j=math.random(1,i)
  107. indices[i],indices[j]=indices[j],indices[i]
  108. end
  109. for _,ci in ipairs(indices) do
  110. local ordered=flowOrder(puzzle.Solution[ci],puzzle.targetPairs[ci])
  111. puzzle.paths[ci]={}
  112. for i,node in ipairs(ordered) do
  113. table.insert(puzzle.paths[ci],{row=node.row,col=node.col})
  114. puzzle.gridConnections=puzzle.gridConnections or{}
  115. puzzle.gridConnections[flowKey(node)]=flowConnections(ordered[i-1],node,ordered[i+1])
  116. puzzle:updateGui()
  117. task.wait(cfg.flowNodeDelay)
  118. end
  119. task.wait(cfg.flowLineDelay)
  120. puzzle:checkForWin()
  121. end
  122. end
  123.  
  124. task.spawn(function()
  125. local mod = svc.RS:FindFirstChild("Modules") and svc.RS.Modules:FindFirstChild("Misc") and svc.RS.Modules.Misc:FindFirstChild("FlowGameManager") and svc.RS.Modules.Misc.FlowGameManager:FindFirstChild("FlowGame")
  126. if mod then
  127. local FG=require(mod)
  128. local orig=FG.new
  129. FG.new=function(...)
  130. local p=orig(...)
  131. if cfg.flowOn then
  132. task.spawn(function() task.wait(0.3); flowSolve(p) end)
  133. end
  134. return p
  135. end
  136. end
  137. end)
  138.  
  139. Tab:AddToggle({
  140. Name = "Auto Solve Enabled",
  141. Default = cfg.flowOn,
  142. Save = true,
  143. Callback = function(Value)
  144. cfg.flowOn = Value
  145. end
  146. })
  147.  
  148. Tab:AddSlider({
  149. Name = "Node Speed",
  150. Min = 0.01,
  151. Max = 0.5,
  152. Default = cfg.flowNodeDelay,
  153. Increment = 0.01,
  154. ValueName = "s",
  155. Callback = function(Value)
  156. cfg.flowNodeDelay = Value
  157. end
  158. })
  159.  
  160. Tab:AddSlider({
  161. Name = "Line Pause",
  162. Min = 0,
  163. Max = 1,
  164. Default = cfg.flowLineDelay,
  165. Increment = 0.1,
  166. ValueName = "s",
  167. Callback = function(Value)
  168. cfg.flowLineDelay = Value
  169. end
  170. })
  171.  
  172. Tab:AddButton({
  173. Name = "Copy Discord",
  174. Callback = function()
  175. if setclipboard then
  176. setclipboard("https://discord.gg/Ud9vJzuCV")
  177. OrionLib:MakeNotification({
  178. Name = "Copied",
  179. Content = "Discord copied!",
  180. Time = 3
  181. })
  182. end
  183. end
  184. })
  185.  
  186. OrionLib:Init()
Tags: generator
Advertisement
Add Comment
Please, Sign In to add comment