I was checking out the files of Guest Quest Online sense BuildIntoGames uncopylocked the place for everyone to take, but the mob AI's won't work properly, some help would be nice.

local humanoid = script.Parent:WaitForChild("Humanoid")
local torso = script.Parent:WaitForChild("Torso")
local head = script.Parent:WaitForChild("Head2")
local real_head = script.Parent:WaitForChild("Head")
local linked_sword = script.Parent:WaitForChild("Linked_Sword")
local settings = script.Parent:WaitForChild("Settings")
local events = {}
local damage_sounds = {181268610,181268607,181268605}
local hats = {}


--- animations storage ---

local animation_walk = Instance.new("Animation")
animation_walk.AnimationId = "http://www.roblox.com/asset/?id=180426354"
local running_animation_walk = nil

local animation_attack = Instance.new("Animation")
animation_attack.AnimationId = "http://www.roblox.com/asset/?id=94161088"
local running_animation_attack = nil

--------------------------




function load_hat(id)
local new_hat = game:GetService("InsertService"):LoadAsset(id)
	for i,v in ipairs(new_hat:GetChildren()) do
		if(v.ClassName == "Hat") then
		v.Parent = script.Parent
		end
	end
new_hat:Destroy()
end


Instance.new("ForceField",script.Parent)
--load_hat(hats[math.random(1,#hats)])
	for i = 1,2 do
	wait(0.5)
	humanoid.MaxHealth = settings.Health.Value
	humanoid.Health = settings.Health.Value
	end
script.Parent.ForceField:Destroy()
humanoid.MaxHealth = settings.Health.Value
humanoid.Health = settings.Health.Value




function sound(id,parent,pitch,volume,remove_time)
local sounde = Instance.new("Sound",parent)
game.Debris:AddItem(sounde,remove_time)
sounde.SoundId = "http://www.roblox.com/asset/?id=" .. id
sounde.Pitch = pitch
sounde.Volume = volume
sounde:Play()
return (sounde)
end





function hurt(human)
	if(human) then
		human.Health = human.Health - settings.Damage.Value
		local random_sound_effect = damage_sounds[math.random(1,#damage_sounds)]
		sound(random_sound_effect,human.Parent.Torso,math.random(70,100)/100,1,2)
	end
end




function attack(human)
sound(181268614,linked_sword.Handle,math.random(90,110)/100,1,2)
	if(human.Health ~= 0) then
	local event_keyframe_reached
	running_animation_attack = humanoid:LoadAnimation(animation_attack)
	running_animation_attack:Play()
		event_keyframe_reached = running_animation_attack.KeyframeReached:connect(function(keyframeName) -- Bind function to KeyframeReached event
			if (keyframeName == "Hit") then
			hurt(human)
			
			elseif(keyframeName == "End") then
			running_animation_attack:Stop()
			event_keyframe_reached:disconnect()
			end
		end)
	end
end




function walk(operation)
	if(operation == true) then
	running_animation_walk = humanoid:LoadAnimation(animation_walk)
	running_animation_walk:Play()
	
	
	elseif(operation == false) then
	running_animation_walk:Stop()
	humanoid:MoveTo(torso.Position,torso)
	end
end











function follow(plr,char,dist)
	if(plr and char) then
		if(dist <= settings.Attack_Distance.Value and char:FindFirstChild("Humanoid")) then
		walk(false)
		attack(char.Humanoid)
		
		
		elseif(char:FindFirstChild("Humanoid") and dist > settings.Attack_Distance.Value) then
		walk(true)
		script.Parent.Humanoid:MoveTo(char.HumanoidRootPart.Position,char.HumanoidRootPart)
		end
	
	else
	walk(false)
	end
end














while wait() do
local dist = 45
local target = nil
local target_char = nil
	for i,v in ipairs(game.Players:GetChildren()) do
	wait()
		if(v.ClassName == "Player") then
			if(v.Character) then
				if(v.Character:FindFirstChild("HumanoidRootPart")) then
					if((v.Character.HumanoidRootPart.Position - script.Parent.HumanoidRootPart.Position).Magnitude < dist) then
					dist = (v.Character.HumanoidRootPart.Position - script.Parent.HumanoidRootPart.Position).Magnitude
					target = v
					target_char = v.Character
					end
				end
			end
		end
	end
follow(target,target_char,dist)
wait(settings.Fire_Speed.Value)
end








2 comments

0

Forgot to say, got the animations working but it's not attacking.

0

So you want us to fix his broken scripts for your own pleasure? No, thank you.