Advertisement
HackerVipers

Untitled

Oct 16th, 2018
266
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 8.09 KB | None | 0 0
  1. --By Eds--
  2. local Rawr = {}
  3. local Api = {}
  4. local Log = {}
  5.  
  6. local function Service(name)
  7. return game:GetService(name)
  8. end
  9. --Status Loaded--
  10. local function SecondsToClock(seconds)
  11. -- https://gist.github.com/jesseadams/791673
  12. local seconds = tonumber(seconds)
  13. if seconds <= 0 then
  14. return "00:00:00";
  15. else
  16. local hours = string.format("%02.f", math.floor(seconds/3600));
  17. local mins = string.format("%02.f", math.floor(seconds/60 - (hours*60)));
  18. local secs = string.format("%02.f", math.floor(seconds - hours*3600 - mins *60));
  19. return hours..":"..mins..":"..secs
  20. end
  21. end
  22. --Formating--
  23.  
  24. function Log:Init()
  25. local Profile = game:GetService("ReplicatedStorage").Profiles[Api.GetPlayer().Name]
  26. local Vel = Profile.Stats.Vel
  27. local LastVel = Vel.Value
  28. Log.Earned = {
  29. Vel = 0,
  30. Items = {},
  31. }
  32. Profile.Inventory.ChildAdded:Connect(function(item)
  33. table.insert(Log.Earned.Items, item.Name)
  34. if(Api.GetSetting("auto_dismantle") == true)then
  35. Api.Dismantle(item.Name)
  36. end
  37. end)
  38. Vel.Changed:Connect(function()
  39. local earn = Vel.Value - LastVel
  40. LastVel = Vel.Value
  41. Log.Earned.Vel = Log.Earned.Vel + earn
  42. end)
  43. end
  44.  
  45. function Log.Save()
  46. Log.Earned.RunTime = SecondsToClock(tick()-Api.Start)
  47. Synapse:WriteFile(tick() .. "_log.dat", game:GetService("HttpService"):JSONEncode(Log.Earned))
  48. end
  49.  
  50. function Rawr:Check(...) --secret sauce
  51. local player = Api.GetPlayer()
  52. local character = Api.GetCharacter()
  53. local args = {...}
  54.  
  55. if(character and character.PrimaryPart and args[1]:lower()=="cframe")then
  56. --player.Character = Api.FakeCharacter
  57. player.Character.RobloxLocked = true
  58. wait(Api.GetSetting("rawr_bypass_speed"))
  59. character:SetPrimaryPartCFrame(args[2])
  60. wait(Api.GetSetting("rawr_bypass_speed"))
  61. --player.Character = character
  62. player.Character.RobloxLocked = false
  63. end
  64. end
  65.  
  66. function Api.GetPlayer()
  67. return game:GetService("Players").LocalPlayer
  68. end
  69.  
  70. function Api.Dismantle(name)
  71. game.ReplicatedStorage.Event:FireServer("Equipment", {
  72. "Dismantle",
  73. game:GetService("ReplicatedStorage").Profiles[Api.GetPlayer().Name].Inventory[name]
  74. })
  75. end
  76.  
  77. function Api.Replicate(object)
  78. local Model = Instance.new("Model")
  79. Model.Name = object.Name
  80. for index, child in pairs(object:GetChildren()) do
  81. local c = child:Clone()
  82. c.Parent = Model
  83. end
  84. if(object.PrimaryPart)then
  85. Model.PrimaryPart = Model[object.PrimaryPart.Name]
  86. end
  87. return Model
  88. end
  89.  
  90. function Api.GetCharacter()
  91. return Api.Character or Api.GetPlayer().Character
  92. end
  93.  
  94. function Api.GetEntity(model)
  95. return model:FindFirstChild("Entity")
  96. end
  97.  
  98. function Api.Settings(...)
  99. Api.Settings = {}
  100. for name, value in pairs(...) do
  101. Api.Settings[name] = value
  102. end
  103. end
  104.  
  105. function Api.GetSetting(name)
  106. return Api.Settings[name]
  107. end
  108.  
  109. function Api.IsValid(model)
  110. if(model.PrimaryPart and model:FindFirstChild("Entity") and model.Entity:FindFirstChild("Health") and model.Parent~=nil and model:FindFirstChild("Nameplate"))then
  111. return true
  112. end
  113. end
  114.  
  115. function Api.GetPlayerDistances(model)
  116. local localPlayer = Api.GetPlayer()
  117. local distances = {}
  118. for index, player in pairs(Service("Players"):GetChildren()) do
  119. if(player~=localPlayer and player.Character and player.Character:FindFirstChild("HumanoidRootPart") and model:FindFirstChild("HumanoidRootPart"))then
  120. distances[player.Name] = (model.HumanoidRootPart.Position - player.Character.HumanoidRootPart.Position).magnitude
  121. end
  122. end
  123. return distances
  124. end
  125.  
  126. function Api.CheckNear(monster)
  127. if(Api.GetSetting("avoid_players_nearby")["Enabled"] == true)then
  128. local max_distance = Api.GetSetting("avoid_players_nearby")["Distance"]
  129. local distances = Api.GetPlayerDistances(monster)
  130. for player, distance in pairs(distances)do
  131. if(distance <= max_distance)then
  132. return false
  133. end
  134. end
  135. end
  136. return true
  137. end
  138.  
  139. function Api.CheckBlacklist(monster)
  140. for index, blacklist in pairs(Api.Blacklist) do
  141. if(monster == blacklist)then
  142. return false
  143. end
  144. end
  145. return true
  146. end
  147.  
  148. function Api.GetMonsters()
  149. local targets = {}
  150. for index, monster in pairs(Service("Workspace").Mobs:GetChildren()) do
  151. local entity = monster:FindFirstChildOfClass("Folder")
  152. local filterApplied = false
  153. local distanceCheck = Api.CheckNear(monster)
  154. if(monster.PrimaryPart and Api.IsValid(monster) and distanceCheck and Api.CheckBlacklist(monster))then
  155. if(Api.GetSetting("monster_filter")["Enabled"] == true)then
  156. if(entity.Health.Value >= Api.GetSetting("monster_filter")["max_monster_health"] and entity.Exp.Value >= Api.GetSetting("monster_filter")["min_exp_earned"])then
  157. table.insert(targets, monster)
  158. end
  159. filterApplied = true
  160. elseif(Api.GetSetting("target_specific_enemy").Enabled == true)then
  161. if(Api.GetSetting("target_specific_enemy").Names[monster.Nameplate.SurfaceGui.TextLabel.Text] == true)then
  162. table.insert(targets, monster)
  163. end
  164. filterApplied = true
  165. end
  166. if(filterApplied == false)then
  167. table.insert(targets, monster)
  168. end
  169. end
  170. end
  171. return targets
  172. end
  173.  
  174. function Api:Connect()
  175. local player = Api.GetPlayer()
  176. local character = Api.GetCharacter()
  177. local setupCharacter = function(character)
  178. Api.FakeCharacter = Api.Replicate(character)
  179. end
  180.  
  181. setupCharacter(character)
  182. player.CharacterAdded:Connect(setupCharacter)
  183. end
  184.  
  185. function Api:SetKeys()
  186. game:GetService("UserInputService").InputBegan:connect(function(Key)
  187. if(Key.KeyCode == Api.GetSetting("stop_key"))then
  188. Api.Enabled = false
  189. elseif(Key.KeyCode == Api.GetSetting("pause_key"))then
  190. Api.Paused = true
  191. elseif(Key.KeyCode == Api.GetSetting("unpause_key"))then
  192. Api.Paused = false
  193. end
  194. end)
  195. end
  196.  
  197. function Api:Init()
  198. Api.Blacklist = {}
  199. Api.Start = tick()
  200. Api.Paused = false
  201. Api.CanClick = false
  202. Api.Enabled = true
  203. wait(Api.GetSetting("StartDelay"))
  204. spawn(function()
  205. while wait(Api.GetSetting("click_break_speed")) and Api.Enabled do
  206. if(Api.Paused == false and Api.CanClick == true)then
  207. if(mouse1click)then
  208. mouse1click()
  209. end
  210. else
  211. wait()
  212. end
  213. end
  214. end)
  215. while wait() and Api.Enabled do
  216. if(Api.Paused == false)then
  217. for index, monster in pairs(Api.GetMonsters()) do
  218. local distanceCheck = Api.CheckNear(monster)
  219. if(distanceCheck and Api.IsValid(monster) and Api.Enabled)then -- recheck
  220. Rawr:Check("CFrame", monster:GetPrimaryPartCFrame() * CFrame.new(0, 0, 3)) -- bypass
  221. wait(Api.GetSetting("swap_monster_speed"))
  222. local entity = Api.GetEntity(monster)
  223. local base = entity.Health.Value
  224. entity.Health.Changed:Connect(function()
  225. if(entity.Health.Value == base)then
  226. dontBreak = false
  227. end
  228. end)
  229. dontBreak = true
  230. local timer = 0
  231. while dontBreak and Api.Enabled do
  232. if(Api.Paused == false)then
  233. local thisTime = wait()
  234. wait(thisTime)
  235. timer = timer + thisTime
  236. if(timer >= Api.GetSetting("timeout")["time"])then
  237. warn('Timeout exceeded!')
  238. if(Api.GetSetting("timeout")["blacklist_monster_after_timeout"] == true)then
  239. table.insert(Api.Blacklist, monster)
  240. end
  241. break
  242. end
  243. if(Api.IsValid(monster) and entity.Health.Value > 0)then
  244. local character = Api.GetCharacter()
  245. if(character)then
  246. Api.CanClick = true
  247. character:SetPrimaryPartCFrame(monster:GetPrimaryPartCFrame() * CFrame.new(0, 0, 3))
  248. else
  249. character = Api.GetCharacter()
  250. if(character)then
  251. Rawr:Check("CFrame", monster:GetPrimaryPartCFrame() * CFrame.new(0, 0, 3)) -- bypass
  252. wait(Api.GetSetting("swap_monster_speed"))
  253. end
  254. end
  255. else
  256. Api.CanClick = false
  257. break
  258. end
  259. else
  260. wait()
  261. end
  262. end
  263. wait(Api.GetSetting("swap_monster_speed"))
  264. end
  265. end
  266. end
  267. end
  268. Log.Save()
  269. end
  270.  
  271. Api.Settings({
  272. ["start_delay"] = 2,
  273. ["stop_key"] = Enum.KeyCode.Escape,
  274. ["pause_key"] = Enum.KeyCode.LeftControl,
  275. ["unpause_key"] = Enum.KeyCode.RightControl,
  276. ["rawr_bypass_speed"] = 0.5, -- 0.65
  277. ["swap_monster_speed"] = 0.2, -- 0.7,
  278. ["click_break_speed"] = .01,
  279. ["auto_dismantle"] = false,
  280. ["timeout"] = {
  281. ["time"] = 15,
  282. ["blacklist_monster_after_timeout"] = true
  283. },
  284. ["monster_filter"] = {
  285. ["Enabled"] = false,
  286. ["max_monster_health"] = 0,
  287. ["min_exp_earned"] = 0,
  288. },
  289. ["avoid_players_nearby"] = {
  290. ["Enabled"] = true,
  291. ["Distance"] = 200
  292. },
  293. ["target_specific_enemy"] = {
  294. ["Enabled"] = false,
  295. ["Names"] = {
  296. ["Giant Ruins Hornet"] = false,
  297. ["Enraged Lingerer"] = true,
  298. ["Undead Berserker"] = true,
  299. ["Undead Warrior"] = true,
  300. ["Gargoyle Reaper"] = false,
  301. ["Mortis the Flaming Sear"] = false,
  302. }
  303. }
  304. })
  305.  
  306. Api:SetKeys()
  307. Api:Connect()
  308. Log:Init()
  309. Api:Init()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement