local y=game:GetService("\068\101\098\114\105\115")local q=game.ReplicatedStorage.Skill:FindFirstChild(skillName)local g=true local J=false script.Parent.SkillEvent.OnServerEvent:Connect(function(m,p,I,v,Y)if g==true and(Y~=nil and not Y:FindFirstChild("\072\117\109\097\110\111\105\100"))then g=false local Y=q:Clone()Y.Parent=game.Workspace.SkillPart Y.Position=Vector3.new(p,I+100,v)Y.Touched:Connect(function(y)local q=y.Parent:FindFirstChild("\072\117\109\097\110\111\105\100")local g=y.Parent.Parent:FindFirstChild("\072\117\109\097\110\111\105\100")if q~=nil and y.Parent then if y.Parent.Name==script.Parent.Parent.Name and J==false then return end if q and J==false then J=true q:TakeDamage(Damage)wait(DamageCoolTime)J=false elseif g and J==false then J=true g:TakeDamage(Damage)wait(DamageCoolTime)J=false end end end);(script.Parent.Handle:FindFirstChild(Sound)):Play()wait(1)local a=game.ReplicatedStorage.Skill.Explosion:Clone()a.Parent=game.Workspace.SkillPart a.Position=Vector3.new(Y.Position.X,Y.Position.Y,Y.Position.Z);(script.Parent.Handle:FindFirstChild(Sound2)):Play()script.Parent.SkillEvent:FireClient(m)y:AddItem(a,1)wait(CoolTime)g=true end end)


local ser = game:GetService("Debris") --오브젝트 삭제 관련 서비스
local skill = game.ReplicatedStorage.Skill:FindFirstChild(skillName) --스킬 찾기
local Cooldown = true
local DamageCool = false

script.Parent.SkillEvent.OnServerEvent:Connect(function(plr, X,Y ,Z, Target) --플레이어가 스킬을 클릭하면
	if Cooldown == true and Target ~= nil and not Target:FindFirstChild("Humanoid") then --조건이 맞으면
		Cooldown = false

		local clone = skill:Clone() --스킬 복사
		clone.Parent = game.Workspace.SkillPart --스킬 적용
		clone.Position = Vector3.new(X, (Y + 100), Z) --스킬 위치를 플레이어가 터치한 자리에
		
		clone.Touched:Connect(function(hit) --다른 플레이어가 스킬에 닿이면
			local human = hit.Parent:FindFirstChild("Humanoid") --휴머노이드 찾기
			local human2 = hit.Parent.Parent:FindFirstChild("Humanoid") --휴머노이드 찾기
			
			if human ~= nil and hit.Parent then --조건이 맞다면
				if hit.Parent.Name == script.Parent.Parent.Name and DamageCool == false then return	end --자신은 데미지 안먹힘 

				if human and DamageCool == false then --해당 조건이 맞으면

					DamageCool = true
					human:TakeDamage(Damage) --데미지 입히기
					wait(DamageCoolTime) --스킬 데미지 쿨타임 기다리기
					DamageCool = false

				elseif human2 and DamageCool == false then

					DamageCool = true
					human2:TakeDamage(Damage) --데미지 입히기
					wait(DamageCoolTime) --스킬 데미지 쿨타임 기다리기
					DamageCool = false
				end
			end 
		end) --끝
		
		script.Parent.Handle:FindFirstChild(Sound):Play() --오디오 틀기
		
		wait(1) --1초 기다림
		
		local bomb = game.ReplicatedStorage.Skill.Explosion:Clone() --폭팔 이펙트 복사
		bomb.Parent = game.Workspace.SkillPart --이펙트 적용
		bomb.Position = Vector3.new(clone.Position.X, clone.Position.Y, clone.Position.Z) --이펙트 위치 지정
		
		script.Parent.Handle:FindFirstChild(Sound2):Play() --오디오 틀기
		script.Parent.SkillEvent:FireClient(plr) --메세지 보내기(화면 흔들림 효과)

		ser:AddItem(bomb, 1) --1초뒤에 이펙트 삭제

		wait(CoolTime) --스킬 쿨타임 기다리기
		Cooldown = true
	end
end) --끝
