Advertisement
hihi357674345feSW

da hood admin cmds

Aug 26th, 2024
2,999
-1
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 39.04 KB | None | 0 1
  1. -- Gui to Lua
  2. -- Version: 3.2
  3.  
  4. -- Instances:
  5.  
  6.  
  7.  
  8. --Properties:
  9.  
  10.  
  11.  
  12. -- Module Scripts:
  13.  
  14. local fake_module_scripts = {}
  15.  
  16. do -- nil.Setting
  17. local script = Instance.new('ModuleScript', nil)
  18. script.Name = "Setting"
  19. local function module_script()
  20. -- Admin Commands Script for Da Hood
  21. local AdminCommands = {}
  22.  
  23. -- List of commands
  24. local Commands = {
  25. ["!kick"] = function(player, targetName)
  26. local target = game.Players:FindFirstChild(targetName)
  27. if target then
  28. target:Kick("You have been kicked by an admin.")
  29. player:SendNotification("Kicked " .. targetName)
  30. else
  31. player:SendNotification("Player not found.")
  32. end
  33. end,
  34.  
  35. ["!ban"] = function(player, targetName)
  36. local target = game.Players:FindFirstChild(targetName)
  37. if target then
  38. -- Example banning logic
  39. -- You would need to implement a real ban system here
  40. target:Kick("You have been banned by an admin.")
  41. player:SendNotification("Banned " .. targetName)
  42. else
  43. player:SendNotification("Player not found.")
  44. end
  45. end,
  46.  
  47. ["!tp"] = function(player, targetName)
  48. local target = game.Players:FindFirstChild(targetName)
  49. if target then
  50. player.Character.HumanoidRootPart.CFrame = target.Character.HumanoidRootPart.CFrame
  51. player:SendNotification("Teleported to " .. targetName)
  52. else
  53. player:SendNotification("Player not found.")
  54. end
  55. end,
  56.  
  57. ["!heal"] = function(player)
  58. if player.Character and player.Character:FindFirstChild("Humanoid") then
  59. player.Character.Humanoid.Health = player.Character.Humanoid.MaxHealth
  60. player:SendNotification("You have been healed.")
  61. end
  62. end
  63. }
  64.  
  65. -- Function to handle chat commands
  66. local function onChatMessage(player, message)
  67. local command = message:match("^(%S+)")
  68. local args = message:match("^%S+ (.+)")
  69.  
  70. if Commands[command] then
  71. if args then
  72. Commands[command](player, args)
  73. else
  74. Commands[command](player)
  75. end
  76. end
  77. end
  78.  
  79. -- Connect the chat event
  80. game.Players.PlayerAdded:Connect(function(player)
  81. player.Chatted:Connect(function(message)
  82. onChatMessage(player, message)
  83. end)
  84. end)
  85.  
  86. -- Helper function to send notifications
  87. function Player:SendNotification(message)
  88. local notification = Instance.new("Message", player.PlayerGui)
  89. notification.Text = message
  90. wait(5)
  91. notification:Destroy()
  92. end
  93.  
  94. end
  95. fake_module_scripts[script] = module_script
  96. end
  97. do -- nil.1
  98. local script = Instance.new('ModuleScript', nil)
  99. script.Name = "1"
  100. local function module_script()
  101. local Module = {
  102. -- ====================
  103. -- BASIC
  104. -- A basic settings for the gun
  105. -- ====================
  106.  
  107. ModuleName = script.Name; --For security purpose
  108.  
  109. --Table to define the names of handles that exist inside the gun in order (from top to bottom). Useful for dual (or multiple) fire. You can add duplicated name into it
  110. --Also check "FireAnimations", "AimFireAnimations" and "ShotgunPumpinAnimations" tables. You can also unsynchronize by making their index counts fluctuated
  111. Handles = {
  112. "Handle";
  113. };
  114.  
  115. Auto = false;
  116. BaseDamage = 20;
  117. FireRate = 0.125; --In second
  118. ReloadTime = 2.9; --In second
  119. AmmoPerMag = 9; --Set to "math.huge" to make this gun have infinite ammo and never reload
  120. AmmoCost = 1; --Amount of ammo should be costed upon firing
  121. Spread = 5; --In degree
  122. DamageMultipliers = { --You can add more body parts to modify damage
  123. ["Head"] = 2,
  124. };
  125. EquipTime = 0;
  126. EquippedAnimationID = nil;
  127. EquippedAnimationSpeed = 1;
  128. IdleAnimationID = nil; --Set to "nil" if you don't want to animate, INSERT THE CORRECT ANIMATION ID
  129. IdleAnimationSpeed = 1;
  130. ReloadAnimationID = nil; --Set to "nil" if you don't want to animate, INSERT THE CORRECT ANIMATION ID
  131. ReloadAnimationSpeed = 1.6;
  132. FireAnimations = {
  133. {
  134. FireAnimationID = nil; --Set to "nil" if you don't want to animate, INSERT THE CORRECT ANIMATION ID
  135. FireAnimationSpeed = 1;
  136. };
  137. };
  138.  
  139. --Enable the user to play aim animations
  140. AimAnimationsEnabled = false;
  141. AimIdleAnimationID = nil; --Set to "nil" if you don't want to animate
  142. AimIdleAnimationSpeed = 1;
  143. AimFireAnimations = {
  144. {
  145. AimFireAnimationID = nil; --Set to "nil" if you don't want to animate
  146. AimFireAnimationSpeed = 1;
  147. };
  148. };
  149.  
  150. --Must enable "AltFire" first
  151. AltAnimationID = nil;
  152. AltAnimationSpeed = 1;
  153. AltTime = 1;
  154.  
  155. -- ====================
  156. -- MELEE ATTACK
  157. -- Gain an ability to perform melee attack
  158. -- ====================
  159.  
  160. MeleeAttackEnabled = false;
  161.  
  162. MeleeAttackAnimationID = nil;
  163. MeleeAttackAnimationSpeed = 1;
  164.  
  165. MeleeDamage = 20;
  166. MeleeDamageMultipliers = { --You can add more body parts to modify damage
  167. ["Head"] = 2,
  168. };
  169. MeleeHeadshotHitmarker = true;
  170. MeleeAttackRange = 4;
  171.  
  172. --Marker effect
  173. MarkerEffectEnabled = true;
  174. MarkerEffectSize = 0.5;
  175. MarkerEffectTexture = {2078626}; --You can insert more IDs
  176. MarkerEffectVisibleTime = 3; --In second
  177. MarkerEffectFadeTime = 1; --In second
  178. MarkerPartColor = true; --Set to hit object color
  179.  
  180. --Hit effect
  181. MeleeHitEffectEnabled = true;
  182. MeleeHitSoundIDs = {6000828622};
  183. MeleeHitSoundPitchMin = 1; --Minimum pitch factor you will acquire
  184. MeleeHitSoundPitchMax = 1.5; --Maximum pitch factor you will acquire
  185. MeleeHitSoundVolume = 1;
  186. CustomMeleeHitEffect = false; --Emits your custom hit effect. NOTE: If you this setting disabled, hit effect will set to default(material tracker included)
  187.  
  188. --Blood effect
  189. MeleeBloodEnabled = true;
  190. MeleeHitCharSndIDs = {6398015798, 6398016125, 6398016391, 6398016618};
  191. MeleeHitCharSndPitchMin = 1; --Minimum pitch factor you will acquire
  192. MeleeHitCharSndPitchMax = 1; --Maximum pitch factor you will acquire
  193. MeleeHitCharSndVolume = 1;
  194.  
  195. --Blood wound
  196. MeleeBloodWoundEnabled = true;
  197. MeleeBloodWoundSize = 0.5;
  198. MeleeBloodWoundTexture = {2078626}; --You can insert more IDs
  199. MeleeBloodWoundTextureColor = Color3.fromRGB(255, 0, 0);
  200. MeleeBloodWoundVisibleTime = 3; --In second
  201. MeleeBloodWoundFadeTime = 1; --In second
  202. MeleeBloodWoundPartColor = true; --Set to hit object color
  203.  
  204. --Miscs
  205. MeleeKnockback = 0; --Setting above 0 will enabling the gun to push enemy back.
  206. MeleeLifesteal = 0; --In percent - Setting above 0 will allow user to steal enemy's health by dealing a damage to them.
  207. MeleeDebuff = false; --Enable the melee to give enemy a debuff. Source of debuff can be found inside "ReplicatedStorage" -> "Miscs" -> "Debuffs"
  208. MeleeDebuffName = "";
  209. MeleeDebuffChance = 100;
  210. ApplyMeleeDebuffOnCritical = false; --Enable "MeleeCriticalDamageEnabled" first
  211. MeleeCanBreakGlass = true;
  212.  
  213. --Critical
  214. MeleeCriticalDamageEnabled = false;
  215. MeleeCriticalBaseChance = 5; --In percent
  216. MeleeCriticalDamageMultiplier = 3;
  217.  
  218. OnMeleeHitEventName = "None";
  219.  
  220. -- To make this feature functional, the animation must be included with "KeyFrameMarker" named "MeleeDamageSequence". Learn more about it here:
  221. -- https://developer.roblox.com/en-us/api-reference/function/AnimationTrack/GetMarkerReachedSignal
  222. -- https://developer.roblox.com/en-us/api-reference/class/KeyframeMarker
  223. -- https://developer.roblox.com/en-us/articles/using-animation-editor (Animation Events part)
  224.  
  225. -- ====================
  226. -- LASER TRAIL
  227. -- Create a trail of laser when travelling
  228. -- ====================
  229.  
  230. LaserTrailEnabled = false;
  231. LaserTrailWidth = 0.5;
  232. LaserTrailHeight = 0.5;
  233. LaserTrailColor = Color3.fromRGB(0, 170, 255);
  234. RandomizeLaserColorIn = "None"; --"Whole" or "Segment"? Set to "None" to not use this
  235. LaserColorCycleTime = 5; --Duration of time to go through rainbow (not random colors). NOTE: This setting only works when "LaserBeam" and "RandomizeLaserColorIn" are enabled
  236. LaserTrailMaterial = Enum.Material.Neon;
  237. LaserTrailShape = "Block"; --"Block", "Cylinder" or... "Cone"?
  238. LaserTrailReflectance = 0;
  239. LaserTrailTransparency = 0;
  240. LaserTrailVisibleTime = 1; --In second
  241. LaserTrailFadeTime = 0.5; --In second
  242. ScaleLaserTrail = false; --Scale time is influenced by "LaserTrailFadeTime"
  243. LaserTrailScaleMultiplier = 1.5;
  244.  
  245. DamageableLaserTrail = false; --Make laser trail become deadly
  246. LaserTrailDamage = 20;
  247. LaserTrailConstantDamage = true; --Make laser damage humanoids overtime
  248. LaserTrailDamageRate = 0.1; --In second
  249.  
  250. --Miscs
  251. LaserTrailKnockback = 0; --Setting above 0 will enabling the gun to push enemy back.
  252. LaserTrailLifesteal = 0; --In percent - Setting above 0 will allow user to steal enemy's health by dealing a damage to them.
  253. LaserTrailDebuff = false; --Enable the laser to give enemy a debuff. Source of debuff can be found inside "ReplicatedStorage" -> "Miscs" -> "Debuffs"
  254. LaserTrailDebuffName = "";
  255. LaserTrailDebuffChance = 100;
  256. ApplyLaserTrailDebuffOnCritical = false; --Enable "LaserTrailCriticalDamageEnabled" first
  257.  
  258. --Critical
  259. LaserTrailCriticalDamageEnabled = false;
  260. LaserTrailCriticalBaseChance = 5; --In percent
  261. LaserTrailCriticalDamageMultiplier = 3;
  262.  
  263. OnLaserHitEventName = "None";
  264.  
  265. -- ====================
  266. -- LIGHTNING BOLT
  267. -- Create a trail of lightning when travelling
  268. -- ====================
  269.  
  270. LightningBoltEnabled = false;
  271. BoltCount = 1;
  272. BoltRadius = 5;
  273. BoltWideness = 5;
  274. BoltWidth = 0.5;
  275. BoltHeight = 0.5;
  276. BoltColor = Color3.fromRGB(0, 170, 255);
  277. RandomizeBoltColorIn = "None"; --"Whole" or "Segment"? Set to "None" to not use this
  278. BoltMaterial = Enum.Material.Neon;
  279. BoltShape = "Block"; --"Block", "Cylinder" or... "Cone"?
  280. BoltReflectance = 0;
  281. BoltTransparency = 0;
  282. BoltVisibleTime = 1; --In second
  283. BoltFadeTime = 0.5; --In second
  284. ScaleBolt = false; --Scale time is influenced by "BoltFadeTime"
  285. BoltScaleMultiplier = 1.5;
  286.  
  287. -- ====================
  288. -- LASER BEAM
  289. -- Enable the gun to fire focus beam. NOTE: This setting will enter automatic mode, and disable most of settings by default
  290. -- ====================
  291.  
  292. LaserBeam = false;
  293. LaserBeamRange = 100;
  294. LaserBeamStartupDelay = 1;
  295. LaserBeamStopDelay = 1;
  296. IgnoreHumanoids = false;
  297. LookAtInput = false; --Make both muzzle and hit points look at input's position
  298.  
  299. LaserBeamStartupAnimationID = nil;
  300. LaserBeamStartupAnimationSpeed = 1;
  301. LaserBeamLoopAnimationID = nil;
  302. LaserBeamLoopAnimationSpeed = 1;
  303. LaserBeamStopAnimationID = nil;
  304. LaserBeamStopAnimationSpeed = 1;
  305.  
  306. -- To configure damage for laser beam, see "LaserTrail" settings. NOTE: You don't have to set "LaserTrailEnabled", "DamageableLaserTrail" and "LaserTrailConstantDamage" to true
  307.  
  308. -- When this setting is enabled, the system won't visualize muzzle flash from visual effect folder (see ReplicatedStorage -> Miscs -> GunVisualEffects), but instead will visualize it from muzzle point of gun handle. So you have to put your effect inside muzzle point (Example effect is in it). NOTEL This is optional and is not affected by "MuzzleFlashEnabled"
  309.  
  310. -- If you want muzzle flash to be bursted, you can add "EmitCount" int value into it, just like the rest of visual effects. Otherwise, muzzle flash will be (in)visible (depends on whether you are firing or not)
  311.  
  312. -- ====================
  313. -- LIMITED AMMO
  314. -- Make a gun has a limit ammo
  315. -- ====================
  316.  
  317. LimitedAmmoEnabled = false;
  318. Ammo = 60;
  319. MaxAmmo = math.huge; --Set to "math.huge" to allow user to carry unlimited ammo
  320.  
  321. -- ====================
  322. -- CROSSHAIR
  323. -- A gun cursor
  324. -- ====================
  325.  
  326. CrossSize = 7;
  327. CrossExpansion = 100;
  328. CrossSpeed = 15;
  329. CrossDamper = 0.8;
  330.  
  331. -- ====================
  332. -- HITMARKER
  333. -- Mark on somewhere when a bullet hit character
  334. -- ====================
  335.  
  336. HitmarkerEnabled = true;
  337. HitmarkerSoundIDs = {3748776946, 3748777642, 3748780065};
  338. --Normal
  339. HitmarkerColor = Color3.fromRGB(255, 255, 255);
  340. HitmarkerFadeTime = 0.4;
  341. HitmarkerSoundPitch = 1;
  342. --Headshot
  343. HeadshotHitmarker = true;
  344. HitmarkerColorHS = Color3.fromRGB(255, 0, 0);
  345. HitmarkerFadeTimeHS = 0.4;
  346. HitmarkerSoundPitchHS = 1;
  347.  
  348. -- ====================
  349. -- CAMERA RECOILING
  350. -- Make user's camera recoiling when shooting
  351. -- ====================
  352.  
  353. CameraRecoilingEnabled = true;
  354. Recoil = 25;
  355. AngleX_Min = 1; --In degree
  356. AngleX_Max = 1; --In degree
  357. AngleY_Min = 0; --In degree
  358. AngleY_Max = 0; --In degree
  359. AngleZ_Min = -1; --In degree
  360. AngleZ_Max = 1; --In degree
  361. Accuracy = 0.1; --In percent. For example: 0.5 is 50%
  362. RecoilSpeed = 15;
  363. RecoilDamper = 0.65;
  364. RecoilRedution = 0.5; --In percent.
  365.  
  366. -- ====================
  367. -- TWEEN SETTING
  368. -- Part of ironsight and sniper aim
  369. -- ====================
  370.  
  371. TweenLength = 0.8; --In second
  372. EasingStyle = Enum.EasingStyle.Quint; --Linear, Sine, Back, Quad, Quart, Quint, Bounce or Elastic?
  373. EasingDirection = Enum.EasingDirection.Out; --In, Out or InOut?
  374.  
  375. -- ====================
  376. -- TWEEN SETTING(NO AIM DOWN)
  377. -- Part of ironsight and sniper aim
  378. -- ====================
  379.  
  380. TweenLengthNAD = 0.8; --In second
  381. EasingStyleNAD = Enum.EasingStyle.Quint; --Linear, Sine, Back, Quad, Quart, Quint, Bounce or Elastic?
  382. EasingDirectionNAD = Enum.EasingDirection.Out; --In, Out or InOut?
  383.  
  384. -- ====================
  385. -- IRONSIGHT
  386. -- Allow user to ironsighting
  387. -- ====================
  388.  
  389. IronsightEnabled = true; --NOTE: If "SniperEnabled" is enabled, this setting is not work
  390. FieldOfViewIS = 50;
  391. MouseSensitiveIS = 0.2; --In percent
  392. SpreadRedutionIS = 0.6; --In percent. NOTE: Must be the same value as "SpreadRedutionS"
  393. CrossScaleIS = 0.6;
  394.  
  395. -- ====================
  396. -- SNIPER
  397. -- Enable user to use scope
  398. -- ====================
  399.  
  400. SniperEnabled = false; --NOTE: If "IronsightEnabled" is enabled, this setting is not work
  401. FieldOfViewS = 12.5;
  402. MouseSensitiveS = 0.2; --In percent
  403. SpreadRedutionS = 0.6; --In percent. NOTE: Must be the same value as "SpreadRedutionOS"
  404. CrossScaleS = 0;
  405. ScopeSensitive = 0.25;
  406. ScopeDelay = 0;
  407. ScopeKnockbackMultiplier = 5;
  408. ScopeKnockbackSpeed = 15;
  409. ScopeKnockbackDamper = 0.65;
  410. ScopeSwaySpeed = 15;
  411. ScopeSwayDamper = 0.65;
  412.  
  413. -- ====================
  414. -- SMOKE TRAIL
  415. -- Emit smoke trail while firing. NOTE: This setting is only for client
  416. -- ====================
  417.  
  418. SmokeTrailEnabled = false;
  419. SmokeTrailRateIncrement = 1;
  420. MaximumRate = 4; --Beyond this will return "CurrentRate" to 0 and emit smoke trail. NOTE: Last smoke trail will be terminated after this
  421. MaximumTime = 1; --Maximum time that smoke trail won't be emitted
  422.  
  423. -- ====================
  424. -- FIRE SOUND EFFECTS
  425. -- Special effects for fire sound
  426. -- ====================
  427.  
  428. SilenceEffect = false; --Lower volume
  429. EchoEffect = true; --Create echo effect from distance
  430. LowAmmo = true; --Play sound when low ammo
  431. RaisePitch = false; --"LowAmmo" only. The lower ammo is, the higher pitch will play
  432.  
  433. --Settings for "EchoEffect"
  434. DistantSoundIds = {177174605};
  435. DistantSoundVolume = 1.5;
  436.  
  437. -- ====================
  438. -- GORE VISUALIZER
  439. -- Create gore effect when humanoid died
  440. -- ====================
  441.  
  442. GoreEffectEnabled = false;
  443. GoreSoundIDs = {1930359546};
  444. GoreSoundPitchMin = 1; --Minimum pitch factor you will acquire
  445. GoreSoundPitchMax = 1.5; --Maximum pitch factor you will acquire
  446. GoreSoundVolume = 1;
  447. FullyGibbedLimbChance = 50; --In percent
  448.  
  449. -- ====================
  450. -- INSPECT ANIMATION
  451. -- Inspect the gun just to see how it looks
  452. -- ====================
  453.  
  454. InspectAnimationEnabled = false;
  455. InspectAnimationID = nil; --Set to "nil" if you don't want to animate
  456. InspectAnimationSpeed = 1;
  457.  
  458. -- ====================
  459. -- TACTICAL RELOAD ANIMATION
  460. -- Reload the gun that has only fired a few rounds out of its magazine
  461. -- ====================
  462.  
  463. TacticalReloadAnimationEnabled = false;
  464. TacticalReloadAnimationID = nil; --Set to "nil" if you don't want to animate
  465. TacticalReloadAnimationSpeed = 1;
  466. TacticalReloadTime = 3;
  467.  
  468. -- ====================
  469. -- HOLD DOWN ANIMATION
  470. -- Character won't fire if hold down the gun
  471. -- ====================
  472.  
  473. HoldDownEnabled = false;
  474. HoldDownAnimationID = nil;
  475. HoldDownAnimationSpeed = 0.5;
  476.  
  477. -- ====================
  478. -- DAMAGE DROPOFF
  479. -- Calculate how the damage of a single shot decreases when the target hit is at a distance away from the gun shot. NOTE: This setting won't apply with "ExplosiveEnabled"
  480. -- ====================
  481.  
  482. DamageDropOffEnabled = false;
  483. ZeroDamageDistance = 10000; --Anything hit at or beyond this distance will receive no damage; default is 10000
  484. FullDamageDistance = 1000; --Maximum distance that shots will do full damage. Default is 1000 and anything hit beyond this distance will receive less and less damage as the distance nears "ZeroDamageDistance"
  485.  
  486. -- ====================
  487. -- CRITICAL DAMAGE
  488. -- Damage critically within its chance
  489. -- ====================
  490.  
  491. CriticalDamageEnabled = false;
  492. CriticalBaseChance = 5; --In percent
  493. CriticalDamageMultiplier = 3;
  494.  
  495. -- ====================
  496. -- HIT VISUALIZER
  497. -- Create hit effect when a bullet hit something but not character(And hit sound, too)
  498. -- ====================
  499.  
  500. HitEffectEnabled = true;
  501. HitSoundIDs = {186809061, 186809249, 186809250, 186809252};
  502. HitSoundPitchMin = 1; --Minimum pitch factor you will acquire
  503. HitSoundPitchMax = 1.5; --Maximum pitch factor you will acquire
  504. HitSoundVolume = 1;
  505. CustomHitEffect = false; --Emits your custom hit effect. NOTE: If you this setting disabled, hit effect will set to default(material tracker included)
  506.  
  507. BulletHoleEnabled = true;
  508. BulletHoleSize = 0.5;
  509. BulletHoleTexture = {2078626}; --You can insert more IDs
  510. BulletHoleVisibleTime = 3; --In second
  511. BulletHoleFadeTime = 1; --In second
  512. PartColor = true; --Set to hit object color
  513.  
  514. -- How to add custom sounds for any material
  515.  
  516. -- Go to ReplicatedStorage -> Miscs -> GunVisualEffects -> Common (Folder with specific tool name if you don't use common effects)
  517. -- >>>
  518. -- Open "HitEffect" folder and choose one of material folders
  519. -- >>>
  520. -- Add a "MaterialSounds" folder into it and insert any sound you desire
  521. -- >>>
  522. -- To play sound with different volume and pitch, add a folder named "Volume" or "Pitch" into specific sound object. Then insert two "Min" and "Max" number values into that folder, and adjust them whatever you like
  523.  
  524. -- How to add custom decals for bullet hole
  525.  
  526. -- Do the same thing as first two steps of the way adding custom sound
  527. -- >>>
  528. -- Add a "MaterialDecals" folder into it and insert int value which defines id of decal. Don't forget to add "PartColor" bool value into value object, and keep it disabled if you don't want decal's color to be blended into hit part's
  529.  
  530. -- ====================
  531. -- BLOOD VISUALIZER
  532. -- Create blood when a bullet hit character(And hit character sound, too)
  533. -- ====================
  534.  
  535. BloodEnabled = true;
  536. HitCharSndIDs = {3802437008, 3802437361, 3802437696, 3802440043, 3802440388, 3802442962};
  537. HitCharSndPitchMin = 1; --Minimum pitch factor you will acquire
  538. HitCharSndPitchMax = 1; --Maximum pitch factor you will acquire
  539. HitCharSndVolume = 1;
  540.  
  541. BloodWoundEnabled = true;
  542. BloodWoundSize = 0.5;
  543. BloodWoundTexture = {2078626}; --You can insert more IDs
  544. BloodWoundTextureColor = Color3.fromRGB(255, 0, 0);
  545. BloodWoundVisibleTime = 3; --In second
  546. BloodWoundFadeTime = 1; --In second
  547. BloodWoundPartColor = true; --Set to hit object color
  548.  
  549. -- ====================
  550. -- BULLET WHIZZING SOUND
  551. -- Create a sound when a bullet travelling through character
  552. -- ====================
  553.  
  554. WhizSoundEnabled = true;
  555. WhizSoundIDs = {3809084884, 3809085250, 3809085650, 3809085996, 3809086455};
  556. WhizSoundVolume = 1;
  557. WhizSoundPitchMin = 1; --Minimum pitch factor you will acquire
  558. WhizSoundPitchMax = 1; --Maximum pitch factor you will acquire
  559. WhizDistance = 25;
  560.  
  561. -- Make sure "CanMovePart" is enabled. Otherwise, it won't work
  562.  
  563. -- ====================
  564. -- MUZZLE
  565. -- Create a muzzle flash when firing
  566. -- ====================
  567.  
  568. MuzzleFlashEnabled = true;
  569. MuzzleLightEnabled = true;
  570. LightBrightness = 4;
  571. LightColor = Color3.new(255/255, 283/255, 0/255);
  572. LightRange = 15;
  573. LightShadows = true;
  574. VisibleTime = 0.01; --In second
  575.  
  576. -- ====================
  577. -- BULLET SHELL EJECTION
  578. -- Eject bullet shells when firing
  579. -- ====================
  580.  
  581. BulletShellEnabled = true;
  582. BulletShellType = "Normal";
  583. BulletShellDelay = 0;
  584. BulletShellVelocity = 17;
  585. BulletShellRotVelocity = 40;
  586. RadomizeRotVelocity = true;
  587. AllowCollide = false; --If false, a bullet shell will go through any parts
  588. DisappearTime = 5; --In second
  589. BulletShellParticles = false;
  590.  
  591. BulletShellHitSoundEnabled = true;
  592. BulletShellHitSoundIDs = {3909012115};
  593. BulletShellHitSoundVolume = 1;
  594. BulletShellHitSoundPitchMin = 1; --Minimum pitch factor you will acquire
  595. BulletShellHitSoundPitchMax = 1; --Maximum pitch factor you will acquire
  596.  
  597. -- ====================
  598. -- SHOTGUN
  599. -- Enable the gun to fire multiple bullet in one shot
  600. -- ====================
  601.  
  602. ShotgunEnabled = false;
  603. BulletPerShot = 8;
  604.  
  605. ShotgunPump = false; --Make user pumping like Shotgun after firing
  606. ShotgunPumpinSpeed = 0.5; --In second
  607. ShotgunPumpinAnimations = {
  608. {
  609. ShotgunPumpinAnimationID = nil; --Set to "nil" if you don't want to animate
  610. ShotgunPumpinAnimationSpeed = 1;
  611. };
  612. };
  613.  
  614. ShotgunReload = false; --Make user reloading like Shotgun, which user clipin shell one by one
  615. ShotgunClipinAnimationID = nil; --Set to "nil" if you don't want to animate
  616. ShotgunClipinAnimationSpeed = 1;
  617. ShellClipinSpeed = 0.5; --In second
  618. PreShotgunReload = false; --Make user pre-reloading before consecutive reload. NOTE: "ShotgunReload" must be enabled
  619. PreShotgunReloadAnimationID = nil; --Set to "nil" if you don't want to animate
  620. PreShotgunReloadAnimationSpeed = 1;
  621. PreShotgunReloadSpeed = 0.5; --In second
  622.  
  623. ShotgunPattern = false;
  624. SpreadPattern = { --{x, y}. The number of tables inside it should be the same as "BulletPerShot"
  625. -- inner 3
  626. {0, -0.4};
  627. {-0.35, 0.2};
  628. {0.35, 0.2};
  629.  
  630. -- outer five
  631. {0, 1};
  632. {0.95, 0.31};
  633. {0.59, -0.81};
  634. {-0.59, -0.81};
  635. {-0.95, 0.31};
  636. };
  637.  
  638. -- How "ShotgunPump" works [Example 1]:
  639.  
  640. -- Fire a (shot)gun
  641. -- >>>
  642. -- After "FireRate", user will pump it, creates pumpin delay + "PumpSound"
  643.  
  644. -- How "ShotgunReload" works [Example 2]:
  645.  
  646. -- Play "ShotgunClipinAnimation" + Play "ShotgunClipin" Audio
  647. -- >>>
  648. -- Wait "ShellClipinSpeed" second(s)
  649. -- >>>
  650. -- Repeat "AmmoPerClip" - "Current Ammo" times
  651. -- >>>
  652. -- Play "ReloadAnimation" + Play "ReloadSound"
  653. -- >>>
  654. -- Wait "ReloadTime"
  655.  
  656. -- ====================
  657. -- BURST FIRE
  658. -- Enable the gun to do burst firing like Assault Rifle
  659. -- ====================
  660.  
  661. BurstFireEnabled = false;
  662. BulletPerBurst = 3;
  663. BurstRate = 0.075; --In second
  664. CycleHandles = false; --Change handle every time you fire in burst state. This also affects "FireAnimations", "AimFireAnimations", "ShotgunPumpinAnimations", "LockOnScan" and "SelectiveFire"
  665.  
  666. -- ====================
  667. -- SELECTIVE FIRE
  668. -- Enable the user to switch firemode. NOTE: The following settings: "Auto", "FireRate", "BurstFireEnabled", "BulletPerBurst", "BurstRate" and "ChargedShotAdvanceEnabled" will be disabled if "SelectiveFireEnabled" is enabled
  669. -- ====================
  670.  
  671. SelectiveFireEnabled = false;
  672. FireModes = {1, 2, 3, true}; --"true" is a boolean which uses for autofire, while integer is being used for burst counts
  673. FireRates = {0.125, 0.5, 0.5, 0.1};
  674. BurstRates = {0, 0.075, 0.075, 0};
  675. FireModeTexts = {"SEMI-AUTO", "2-ROUND-BURST", "3-ROUND-BURST", "AUTO"};
  676. SwitchTime = 0.25; --In second
  677.  
  678. SwitchAnimationID = nil; --Set to "nil" if you don't want to animate
  679. SwitchAnimationSpeed = 1;
  680.  
  681. -- The priority of firemode is from left to right
  682.  
  683. -- ====================
  684. -- EXPLOSIVE
  685. -- Make a bullet explosive so user can deal a damage to multiple enemy in single shot. NOTE: Explosion won't break joints
  686. -- ====================
  687.  
  688. ExplosiveEnabled = false;
  689. ExplosionSoundEnabled = true;
  690. ExplosionSoundIDs = {163064102};
  691. ExplosionSoundVolume = 1;
  692. ExplosionSoundPitchMin = 1; --Minimum pitch factor you will acquire
  693. ExplosionSoundPitchMax = 1.5; --Maximum pitch factor you will acquire
  694. ExplosionRadius = 8;
  695.  
  696. DamageBasedOnDistance = false;
  697.  
  698. SelfDamage = false;
  699. SelfDamageRedution = 0.5; --In percent
  700. ReduceSelfDamageOnAirOnly = false;
  701.  
  702. CustomExplosion = false;
  703.  
  704. ExplosionKnockback = false; --Enable the explosion to knockback player. Useful for rocket jumping
  705. ExplosionKnockbackPower = 50;
  706. ExplosionKnockbackMultiplierOnPlayer = 2;
  707. ExplosionKnockbackMultiplierOnTarget = 2;
  708.  
  709. ExplosionCraterEnabled = true;
  710. ExplosionCraterSize = 3;
  711. ExplosionCraterTexture = {53875997}; --You can insert more IDs
  712. ExplosionCraterVisibleTime = 3; --In second
  713. ExplosionCraterFadeTime = 1; --In second
  714. ExplosionCraterPartColor = false; --Set to hit object color
  715.  
  716. -- ====================
  717. -- PROJECTILE VISUALIZER
  718. -- Display a travelling projectile
  719. -- ====================
  720.  
  721. ProjectileType = "NewBullet"; --Set to "None" to not to visualize projectile
  722. BulletSpeed = 2000;
  723. TravelType = "Distance"; --Switch to either "Distance" or "Lifetime" to change how the bullet travels
  724. Range = 5000; --The furthest distance the bullet can travel
  725. Lifetime = 5; --The longest time the bullet can travel
  726. Acceleration = Vector3.new(0, 0, 0);
  727.  
  728. BulletParticle = false;
  729. BulletType = "Normal";
  730. MotionBlur = true;
  731. BulletSize = 0.4;
  732. BulletBloom = 0.005;
  733. BulletBrightness = 400;
  734.  
  735. CanSpinPart = false;
  736. SpinX = 3;
  737. SpinY = 0;
  738. SpinZ = 0;
  739.  
  740. DebrisProjectile = false; --Enable the projectile to become debris after hit
  741. AnchorDebris = false;
  742. CollideDebris = true;
  743. NormalizeDebris = false;
  744. BounceDebris = true; --Disable "AnchorDebris" first
  745. BounceVelocity = 30;
  746.  
  747. DecayProjectile = false; --Enable the projectile to become debris when it stops travelling
  748. AnchorDecay = false;
  749. CollideDecay = true;
  750. DecayVelocity = 30;
  751. VelocityInfluence = true; --Apply previous velocity of travelling projectile to decaying one's, instead of "DecayVelocity"
  752.  
  753. DisableDebrisContents = { --Disable projectile's contents when it becomes debris
  754. Light = false;
  755. Particle = false;
  756. Trail = false;
  757. Beam = false;
  758. Sound = false;
  759. };
  760.  
  761. Homing = false; --Allow projectile to move towards target
  762. HomingDistance = 250;
  763. TurnRatePerSecond = 1;
  764. HomeThroughWall = false;
  765. LockOnOnHovering = false;
  766. LockOnRadius = 10;
  767. LockOnDistance = 100;
  768.  
  769. RaycastHitbox = false; --Expand raycast. Useful for a projectile with bigger size and unique shape. NOTE: Experimental and very expensive, use it wisely
  770. RaycastHitboxData = { --Ray point data for raycast hitbox. Use CFrame only as it does same thing as Vector3, but also respects object space
  771. CFrame.new(-1, 1, -1);
  772. CFrame.new(1, 1, -1);
  773. CFrame.new(-1, -1, -1);
  774. CFrame.new(1, -1, -1);
  775. CFrame.new(1, -1, 1);
  776. CFrame.new(-1, -1, 1);
  777. CFrame.new(-1, 1, 1);
  778. CFrame.new(1, 1, 1);
  779. };
  780. RaycastHitboxAnchorPoint = CFrame.new(0, 0, 0); --Specific point to align with ray point. NOTE: This only works when "RicochetAmount" value is above 0 or "SuperRicochet" is enabled
  781. BounceDelay = 1; --Duration of ignoring last hit object. Useful for avoiding unexpected behaviour when projectile's hitbox point overlaps object that was hit previously
  782.  
  783. -- To make raycast hitbox data easily, add an attachment to projectile (create a new part if projectile doesn't exist), position it and then copy and paste its position to "RaycastHitboxData" table (CFrame.new(AttachmentPosition)). And repeat
  784.  
  785. UpdateRayInExtra = false; --Additional update for your custom raycast behavior, such as sine wave projectile
  786. ExtraRayUpdater = "Template"; --Name of updater, see ReplicatedStorage -> Modules -> RayUpdateFolder
  787.  
  788. ShootType = "Projectile"; --See below for available types
  789. CustomShotName = "Template"; --For "Custom" shoot type only
  790.  
  791. -- Projectile: Shoot bullet with physic-based arc
  792. -- Hitscan: Shoot bullet with light-speed
  793. -- Custom: Shoot fully customizable bullet that doesn't rely on gun settings. NOTE: For server only
  794.  
  795. -- NOTE: Setting "ShootType" "Hitscan" will restrict the following physic-based settings:
  796. -- "Acceleration"
  797. -- "Homing"
  798. -- "RaycastHitbox"
  799. -- Ricochet effect ("BounceElasticity", "FrictionConstant", "IgnoreSlope", "SuperRicochet", "HitEventOnTermination") [Ricochet effect still works for hitscan however. But only physic-based settings are disabled]
  800.  
  801. -- ====================
  802. -- CHARGED SHOT
  803. -- Make a gun charging before firing. Useful for a gun like "Railgun" or "Laser Cannon"
  804. -- ====================
  805.  
  806. ChargedShotEnabled = false;
  807. ChargingTime = 1;
  808.  
  809. -- ====================
  810. -- MINIGUN
  811. -- Make a gun delay before/after firing
  812. -- ====================
  813.  
  814. MinigunEnabled = false;
  815. DelayBeforeFiring = 1;
  816. DelayAfterFiring = 1;
  817. MinigunRevUpAnimationID = nil;
  818. MinigunRevUpAnimationSpeed = 1;
  819. MinigunRevDownAnimationID = nil;
  820. MinigunRevDownAnimationSpeed = 1;
  821.  
  822. -- ====================
  823. -- BATTERY
  824. -- Make a gun overheat when overcharge
  825. -- ====================
  826.  
  827. BatteryEnabled = false;
  828. MaxHeat = 100;
  829. TimeBeforeCooldown = 3;
  830. CooldownTime = 0.05;
  831. CooldownRate = 1;
  832. OverheatTime = 2.5;
  833. HeatPerFireMin = 7;
  834. HeatPerFireMax = 8;
  835. MinDepletion = 2;
  836. MaxDepletion = 4;
  837. ShotsForDepletion = 12;
  838. OverheatAnimationID = nil;
  839. OverheatAnimationSpeed = 1;
  840.  
  841. -- ====================
  842. -- MISCELLANEOUS
  843. -- Etc. settings for the gun
  844. -- ====================
  845.  
  846. Knockback = 0; --Setting above 0 will enabling the gun to push enemy back
  847. Lifesteal = 0; --In percent - Setting above 0 will allow user to steal enemy's health by dealing a damage to them
  848.  
  849. Debuff = false; --Enable the bullet to give enemy a debuff. Source of debuff can be found inside "ReplicatedStorage" -> "Miscs" -> "Debuffs"
  850. DebuffName = "";
  851. DebuffChance = 100;
  852. ApplyDebuffOnCritical = false; --Enable "CriticalDamageEnabled" first
  853.  
  854. PenetrationType = "HumanoidPenetration"; --2 types: "WallPenetration" and "HumanoidPenetration"
  855. PenetrationDepth = 0; --"WallPenetration" only. This is how many studs a bullet can penetrate into a wall. So if penetration is 0.5 and the wall is 1 studs thick, the bullet won't come out the other side. NOTE: "ExplosiveEnabled" doesn't apply to this, and having "RaycastHitbox" enabled can take more studs at a time when penetrating solid objects
  856. PenetrationAmount = 0; --"HumanoidPenetration" only. Setting above 0 will enabling the gun to penetrate up to XX victim(s). Cannot penetrate wall. NOTE: "ExplosiveEnabled" doesn't apply to this
  857. PenetrationIgnoreDelay = math.huge; --Time before removing penetrated objects from ignore list. Useful for when you have "Homing" enabled. Set to "math.huge" to prevent from removing
  858.  
  859. RicochetAmount = 0; --Setting above 0 will enabling the bullet to bounce objects in amount of bounces. NOTE: This will disable "PenetrationDepth" setting but "PenetrationAmount", and having "RaycastHitbox" enabled will sometimes make the bullet bounce weirdly
  860. BounceElasticity = 1;
  861. FrictionConstant = 0;
  862. IgnoreSlope = false; -- Enable the bullet to keep bouncing forwards on slope. Useful for a Metal Slug's Drop Shot styled projectile. NOTE: This only works when "Acceleration" is not a zero vector, and its Y axis is lower than 0
  863. SlopeAngle = 90; -- Angle of slope to stop bouncing forwards
  864. BounceHeight = 50;
  865. NoExplosionWhileBouncing = false; --Enable the bullet to be prevented from exploding on bounce. NOTE: "NoExplosionWhileBouncing" will be disabled after reaching 0 bounce
  866. StopBouncingOn = "None"; --Enable the bullet to be forced to stop bouncing after hitting "Humanoid" or "Object". Set to "None" to disable this
  867. SuperRicochet = false; --Enable the bullet to bounce indefinitely. NOTE: This doesn't affect "RicochetAmount" but won't remove bullet regardless of its limited amount of bounces
  868. BounceBetweenHumanoids = false; --Enable the bullet to reflect on other humanoids. NOTE: This has shared settings with "Homing" like "HomingDistance" and "HomeThroughWall" (No need to enable "Homing" however)
  869. PredictDirection = false; --Predict humanoid's movement to bounce at. NOTE: This does not apply to "HitscanMode"
  870.  
  871. HitEventOnTermination = true; --Yield "FinalHit" event after exceeding maximum lifetime or travel distance. Useful for a TF2 styled grenade launcher
  872.  
  873. SelfKnockback = false; --Enable the gun to knockback player. Useful for shotgun jumping
  874. SelfKnockbackPower = 50;
  875. SelfKnockbackMultiplier = 2;
  876. SelfKnockbackRedution = 0.8;
  877.  
  878. ProjectileMotion = false; --Enable the gun to visible trajectory. Useful for projectile arc weapon
  879.  
  880. FriendlyFire = false; --Enable the user to inflict damage on teammates (works with custom "TEAM" as well)
  881.  
  882. BlacklistParts = {["Part Name Here"] = true}; --Put any part name you want here to blacklist
  883. IgnoreBlacklistedParts = true; --Enable the bullet to go through blacklisted parts. Set to false to make bullet hit at them (won't detect humanoid at that moment)
  884.  
  885. CanBreakGlass = true;
  886.  
  887. OnHitEventName = "None";
  888.  
  889. -- ====================
  890. -- CHARGED SHOT ADVANCE
  891. -- Unlike "ChargedShot", this advanced version will allow gun to charge by holding down input. NOTE: This setting will disable some features such as "Auto", "ChargedShot", "MinigunEnabled"
  892. -- ====================
  893.  
  894. ChargedShotAdvanceEnabled = false;
  895. AdvancedChargingTime = 5; --Known as Level3ChargingTime
  896. Level1ChargingTime = 1;
  897. Level2ChargingTime = 2;
  898. ChargingSoundIncreasePitch = true;
  899. ChargingSoundPitchRange = {1, 1.5};
  900.  
  901. ChargingAnimationEnabled = false; --You need an animation ID in order to enable it
  902. ChargingAnimationID = nil; --Set to "nil" if you don't want to animate
  903. ChargingAnimationSpeed = 1;
  904.  
  905. AimChargingAnimationID = nil; --Set to "nil" if you don't want to animate
  906. AimChargingAnimationSpeed = 1;
  907.  
  908. ChargeAlterTable = {
  909. };
  910.  
  911. -- ====================
  912. -- HOLD AND RELEASE
  913. -- Similar to "ChargedShotAdvance", but this is just hold-the-trigger-and-release-to-fire feature
  914. -- ====================
  915.  
  916. HoldAndReleaseEnabled = false;
  917. HoldingTime = 1; --Time before being able to fire
  918.  
  919. LockOnScan = false; --Enable the gun to track targets that are within frame when holding down input, and fire at them when holding up. NOTE: This will overwrite "BurstFire" and "HoldingTime" settings
  920. TimeBeforeScan = 0.5;
  921. ScanRate = 0.5;
  922. MaximumTargets = 3; --Amount of targets to track
  923. LockOnScanBurstRate = 0.1; --In second
  924. ScanFrameWidth = 0.5; --Width size of frame to track targets
  925. ScanFrameHeight = 0.5; --Height size of frame to track targets
  926.  
  927. -- Charging animation and charging sound are shared from "ChargedShotAdvance" to this feature
  928.  
  929. -- You can adjust scan distance by changing "LockOnDistance" value. NOTE: No need to enable "Homing" and "LockOnOnHovering" settings
  930.  
  931. -- ====================
  932. -- ANIMATION KEYFRAMES
  933. -- List of keyframes that can be customized for existing animations
  934. -- ====================
  935.  
  936. AnimationKeyframes = {
  937. };
  938.  
  939. -- Template:
  940.  
  941. --[[
  942. ["AnimationName"] = {
  943. ["KeyframeName"] = function(keyframeName, tool)
  944. print(keyframeName)
  945. end;
  946. };
  947. ]]
  948.  
  949. -- How to use:
  950.  
  951. -- Copy and paste template table above into "AnimationKeyframes" table and uncomment it
  952. -- >>>
  953. -- Change "AnimationName" to specific string that is listed below
  954. -- >>>
  955. -- Change "KeyframeName" to existing keyframe name from your existing animation
  956. -- >>>
  957. -- Now write something you want inside its callback function
  958.  
  959. -- NOTE: To make this work, open animation editor and import your animation. Next, add animation event (edit if it exists), and then move (event) keyframe names to "Parameter" side whilst everything in "Event Name" side is renamed to "AnimationEvents"
  960. -- NOTE 2: You can add more than one table. For an example:
  961.  
  962. --[[
  963. AnimationKeyframes = {
  964. ["EquippedAnim"] = {
  965. ["1"] = function(keyframeName, tool)
  966. print(keyframeName)
  967. end;
  968. ["2"] = function(keyframeName, tool)
  969. print(keyframeName)
  970. end;
  971. };
  972. ["ReloadAnim"] = {
  973. ["1"] = function(keyframeName, tool)
  974. print(keyframeName)
  975. end;
  976. ["2"] = function(keyframeName, tool)
  977. print(keyframeName)
  978. end;
  979. ["3"] = function(keyframeName, tool)
  980. print(keyframeName)
  981. end;
  982. };
  983. };
  984. ]]
  985.  
  986. -- List of supported animations:
  987. -- IdleAnim
  988. -- FireAnim_[index]
  989. -- ReloadAnim
  990. -- TacticalReloadAnim
  991. -- ShotgunClipinAnim
  992. -- ShotgunPumpinAnim_[index]
  993. -- HoldDownAnim
  994. -- EquippedAnim
  995. -- AimIdleAnim
  996. -- AimFireAnim
  997. -- AimFireAnim_[index]
  998. -- AimChargingAnim
  999. -- InspectAnim
  1000. -- PreShotgunReloadAnim
  1001. -- MinigunRevUpAnim
  1002. -- MinigunRevDownAnim
  1003. -- ChargingAnim
  1004. -- SwitchAnim
  1005. -- OverheatAnim
  1006. -- MeleeAttackAnim
  1007. -- AltAnim
  1008. -- LaserBeamStartupAnim
  1009. -- LaserBeamLoopAnim
  1010. -- LaserBeamStopAnim
  1011.  
  1012. -- ====================
  1013. -- END OF SETTING
  1014. -- ====================
  1015. }
  1016.  
  1017. return Module
  1018. end
  1019. fake_module_scripts[script] = module_script
  1020. end
  1021.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement