Advertisement
InTesting

Anti kick gun vers one

Jul 16th, 2019
419
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 2.63 KB | None | 0 0
  1. -- Why publish this?
  2. -- Kick gun's a bitch
  3.  
  4. -- thanks for coming to my ted talk
  5.  
  6. local function Compare_Value_To_Table(val,tab)
  7.     for _,v in pairs(tab)do
  8.         if v==val then
  9.             return v
  10.         end
  11.     end
  12. end
  13. local function Find_Sub_String_In_Whole_String(whole_string,sub_strings_table)
  14.     for _,v in pairs(sub_strings_table)do
  15.         if string.find(whole_string:lower()
  16.             ,tostring(v):lower()
  17.         )then
  18.             return v
  19.         end
  20.     end
  21. end
  22. local function obj_check_one(ob)
  23.     if ob~=nil then
  24.         if typeof(ob)~='userdata'then
  25.             if ob.Parent~=nil then
  26.                 return ob
  27.             end
  28.         end
  29.     end
  30. end
  31. local function Get_Player_From_Character_Descendant(ob)
  32.     local full_1 = ob:GetFullName()
  33.     local sep1 = string.find(full_1:lower(),
  34.         '%.'
  35.     )
  36.     if sep1 then
  37.         local sep2 = string.find(full_1:lower(),
  38.             '%.',
  39.             sep1 + 1
  40.         )
  41.         if sep2 then
  42.             local char_name = full_1:sub(sep1 + 1,sep2 - 1)
  43.             if char_name then
  44.                 local player = game:service'Players':FindFirstChild(char_name)
  45.                 if player then
  46.                     return player
  47.                 end
  48.             end
  49.         end
  50.     end
  51. end
  52. local function Check_Name_Property_From_Table(ob,table_of_classnames,table_to_check)
  53.     for _,z in pairs(table_of_classnames)do
  54.         if pcall(ob:IsA(z))then
  55.             if Find_Sub_String_In_Whole_String(ob.Name,table_to_check)then
  56.                 local plr = Get_Player_From_Character_Descendant(ob)
  57.                 if plr then
  58.                     plr:LoadCharacter()
  59.                     return true
  60.                 else
  61.                     ob:Destroy()
  62.                     return true
  63.                 end
  64.             end
  65.         end
  66.     end
  67. end
  68.  
  69. local function check_Kickisher(ob) -- workspace:GetDescendants()
  70.     local players =  game:GetService'Players'
  71.    
  72.     local tab = {'god mode',143884682,'kick',156292343}
  73.    
  74.     if players.Name=='Players'then
  75.         players.Name = 'Players_Replacement_Name'
  76.     end
  77.     if obj_check_one(ob)then
  78.         if Check_Name_Property_From_Table(ob,
  79.             {'Humanoid'}
  80.             ,tab
  81.         )then
  82.             return
  83.         elseif ob:IsA'Sound'then
  84.             if Find_Sub_String_In_Whole_String(ob.SoundId,tab)then
  85.                 local plr = Get_Player_From_Character_Descendant(ob)
  86.                 if plr then
  87.                     plr:LoadCharacter()
  88.                 else
  89.                     ob:Destroy()
  90.                 end
  91.             end
  92.         elseif ob:IsA'TextLabel'then
  93.             if Find_Sub_String_In_Whole_String(ob.Text,tab)then
  94.                 local plr = Get_Player_From_Character_Descendant(ob)
  95.                 if plr then
  96.                     plr:LoadCharacter()
  97.                 else
  98.                     ob:Destroy()
  99.                 end
  100.             end
  101.         elseif ob:IsA'SpecialMesh'then
  102.             if Find_Sub_String_In_Whole_String(ob.MeshId,tab)then
  103.                 local plr = Get_Player_From_Character_Descendant(ob)
  104.                 if plr then
  105.                     plr:LoadCharacter()
  106.                 else
  107.                     ob:Destroy()
  108.                 end
  109.             end
  110.         end
  111.     end
  112. end
  113.  
  114. for _,v in pairs(workspace:GetDescendants())do
  115.     check_Kickisher(v)
  116. end
  117. workspace.DescendantAdded:Connect(check_Kickisher)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement