Advertisement
Guest User

Phantom

a guest
Dec 26th, 2018
23,306
1
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.04 KB | None | 1 0
  1. --[[
  2.  
  3. .------..------..------..------..------..------..------.
  4. |P.--. ||H.--. ||A.--. ||N.--. ||T.--. ||O.--. ||M.--. |
  5. | :/\: || :/\: || (\/) || :(): || :/\: || :/\: || (\/) |
  6. | (__) || (__) || :\/: || ()() || (__) || :\/: || :\/: |
  7. | '--'P|| '--'H|| '--'A|| '--'N|| '--'T|| '--'O|| '--'M|
  8. `------'`------'`------'`------'`------'`------'`------'
  9.  
  10. ~~Phantom by sniper9143~~
  11.  
  12. --]]
  13.  
  14. initial_Class = "class_1"
  15.  
  16. initial_Weapon = "sample_1"
  17.  
  18. toggleNoRecoil_gKey = 2
  19.  
  20. switchWeapon_gKey = 3
  21.  
  22. switchClass_gKey= 4
  23.  
  24. --~~Gun presets~~ -> x,y,delay
  25.  
  26. local presets = {
  27.  
  28. ["sample_1"] = {0,1,45},
  29. ["sample_2"] = {0,10,40},
  30. ["sample_3"] = {0,122,45},
  31. ["sample_4"] = {0,1022,40},
  32.  
  33. }
  34.  
  35. -- ~~Classes~~ -> Change the attribute name to match the gun preset you made in the preset table
  36.  
  37. local classes = {
  38.  
  39. ["class_1"] = {["sample_1"] = presets.sample_1,["sample_2"] = presets.sample_2},
  40. ["class_2"] = {["sample_3"] = presets.sample_3,["sample_4"] = presets.sample_4},
  41.  
  42. }
  43.  
  44. -- <=================~~NoRecoil class~~======================>
  45.  
  46. local NoRecoil = {}
  47. NoRecoil .__index = NoRecoil
  48.  
  49. setmetatable( NoRecoil, {
  50. __call = function (cls, ...)
  51. return cls.new(...)
  52. end,
  53. })
  54.  
  55. -- <~~constructor~~>
  56.  
  57. function NoRecoil.new(selectedClass,selectedGun, presets, classes)
  58. local self = setmetatable({}, NoRecoil)
  59. self.Presets = presets
  60. self.Classes = classes
  61. self.selectedClassIndex = selectedClass
  62. self.selectedGunIndex = selectedGun
  63. self.selectedGun = self.Classes[self.selectedClassIndex][self.selectedGunIndex]
  64. self.noRecoilBool = false
  65. return self
  66. end
  67.  
  68. -- <~~member functions~~>
  69. function NoRecoil:compensateRecoil()
  70. MoveMouseRelative(self.selectedGun[1], self.selectedGun[2])
  71. Sleep(self.selectedGun[3] )
  72. end
  73.  
  74. --~~getters~~
  75.  
  76. function NoRecoil:currentWeapon()
  77. return self.selectedGunIndex
  78. end
  79.  
  80. function NoRecoil:currentClass()
  81. return self.selectedClassIndex
  82. end
  83.  
  84. function NoRecoil:scriptState()
  85. return self.noRecoilBool
  86. end
  87.  
  88. --~~setters~~
  89.  
  90. function NoRecoil:setScriptState()
  91. self.noRecoilBool =not self.noRecoilBool
  92. end
  93.  
  94. function NoRecoil:setGun()
  95. repeat
  96. gun_Id ,gun_Attributes = next(self.Classes[self.selectedClassIndex],self.selectedGunIndex)
  97. self.selectedGunIndex = gun_Id,gun_Attributes
  98. until(self.selectedGunIndex ~=nil)
  99. self.selectedGun= self.Classes[self.selectedClassIndex][self.selectedGunIndex]
  100. end
  101.  
  102. function NoRecoil:setClass()
  103. repeat
  104. class_Id,class_Attributes =next( self.Classes,self.selectedClassIndex)
  105. self.selectedClassIndex = class_Id ,class_Attributes
  106. until(self.selectedClassIndex ~= nil)
  107. self.selectedGunIndex= self.Classes[self.selectedClassIndex][1]
  108. self.selectedGun = self.Classes[self.selectedClassIndex][self.selectedGunIndex]
  109. end
  110.  
  111. -- ~~start of main program~~
  112.  
  113. EnablePrimaryMouseButtonEvents(true)
  114.  
  115. local NoRecoilObject = NoRecoil(initial_Class,initial_Weapon, presets, classes)
  116.  
  117. OutputLogMessage("<====+ Welcome to Phantom Sploit by Sniper9143 +====>\n\n")
  118.  
  119. OutputLogMessage("[+] You are currently using the preset '%s' in '%s'\n\n",NoRecoilObject:currentWeapon(),NoRecoilObject:currentClass())
  120.  
  121. function OnEvent(event, arg)
  122. --~~switch weapon~~
  123. if (event == "G_PRESSED" and arg == switchWeapon_gKey) then
  124. NoRecoilObject:setGun()
  125.  
  126. OutputLogMessage("[+] You have switched weapons: %s\n", NoRecoilObject:currentWeapon())
  127. end
  128. --~~switch class~~
  129. if (event== "G_PRESSED" and arg == switchClass_gKey ) then
  130. NoRecoilObject:setClass()
  131.  
  132. OutputLogMessage("[+] You have switched Classes: %s\n",NoRecoilObject:currentClass())
  133. end
  134. --~~toggle script~~
  135. if (event== "G_PRESSED" and arg == toggleNoRecoil_gKey) then
  136. NoRecoilObject:setScriptState ()
  137. if (NoRecoilObject:scriptState() == true) then
  138. OutputLogMessage ("[+] No Recoil is On\n")
  139. else
  140. OutputLogMessage ("[-] No Recoil is Off\n")
  141. end
  142. end
  143. --~~execute script~~
  144. if (event== "MOUSE_BUTTON_PRESSED" and arg == 1 and NoRecoilObject:scriptState() == true) then
  145. repeat
  146. NoRecoilObject:compensateRecoil()
  147. until not IsMouseButtonPressed(1)
  148. end
  149. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement