User:Outofspace/Gus-Bot
From Roblox Wiki
This is a script I'm working on. Feel free to use it and modify it.
Contents |
Features
- Follows you around.
- Heals others on touch.
- Heals itself.
- Sparkle commands ("sparkles/on" or "sparkles/off")
Future Plans
- Improving Healing itself
- Ability to shoot rockets (via command).
- More customability.
Script
--[[
By outofspace
Revision 3.3
--]]
----
----
local BotName = "Gus" --Put your pets name here.
local UserName = "outofspace" --Replace with your username!
cc = true --Can gus collide with other objects?
----
----
----Gus controls.
----
----
local has = Instance.new("Hint")
has.Parent = game.Workspace
has.Text = "Creating gus..."
c = game.Workspace:GetChildren()
for i=1,#c do
if c[i].Name == BotName and c[i].className == "Model" then
c[i]:Remove()
end
end
script.Name = "GusScript"
local m = Instance.new("Model")
m.Name = BotName
m.Parent = game.Workspace
local ma = Instance.new("Model")
ma.Parent = m
ma.Name = "SETTINGS"
local sva = Instance.new("StringValue")
sva.Name = "NameBot"
sva.Parent = m.SETTINGS
sva.Value = BotName
local svb = Instance.new("StringValue")
svb.Name = "NameUser"
svb.Parent = m.SETTINGS
svb.Value = UserName
local b = Instance.new("Part")
b.Parent = m
b.Locked = true
b.Name = "Head"
b.Position = Vector3.new(-14.5, 103, -10)
b.CanCollide = cc
local rp = Instance.new("RocketPropulsion")
rp.Parent = m.Head
rp.Name = "RP"
local h = Instance.new("Humanoid")
h.Parent = m
local bav = Instance.new("BodyAngularVelocity")
bav.Parent = m.Head
bav.angularvelocity = Vector3.new(0, 0, 3)
--[[
Self heal script
--]]
local sa = Instance.new("Script")
sa.Parent = m
sa.Source =[[
function waitForChild(parent, childName)
local child = parent:findFirstChild(childName)
if child then return child end
while true do
child = parent.ChildAdded:wait()
if child.Name==childName then return child end
end
end
-- declarations
local Figure = script.Parent
local Head = waitForChild(Figure, "Head")
local Humanoid = waitForChild(Figure, "Humanoid")
-- regeneration
while true do
local s = wait(1)
local health = Humanoid.Health
if health > -1 and health < Humanoid.MaxHealth then
health = health + 0.05 * s * Humanoid.MaxHealth
if health * 1.05 < Humanoid.MaxHealth then
Humanoid.Health = health
else
Humanoid.Health = Humanoid.MaxHealth
end
end
end
]]
sad = sa:clone()
sa:Remove() --Removes the old script
sad.Parent = game.Workspace.Gus --Replaces the old script
sad.Name = "HealingScript"
local sb = Instance.new("Script") --Touch to heal script.
sb.Parent = m.Head
sb.Source =[[
function onTouched(part)
local h = part.Parent:findFirstChild("Humanoid") -- Find Humanoids in whatever touched this
if (h ~=nil) then -- If there is a Humanoid then
h.Health = h.MaxHealth -- Set the health to maximum (full healing)
end
end
script.Parent.Touched:connect(onTouched) -- Make it call onTouched when touched
]]
sbd = sb:clone()
sb:Remove()
sbd.Parent = m.Head
sbd.Name = "Touch-to-Heal"
--game.Workspace.Gus.Name = game.Workspace.Gus.SETTINGS.NameBot.Value --Sets name
ty = game.Workspace:findFirstChild(""..UserName.."")
if (ty ~= nil) then
m.Head.RP.Target = ty.Head
else
m:Remove()
end
has.Text = "Done!"
wait(2)
has:Remove()
local sd = Instance.new("Script")
sd.Parent = m.Head
sd.Source = [[
script.Name = "FollowScript"
while true do
--script.Parent.RP.Target = script.Parent.Parent.SETTINGS.NameUser.Value
script.Parent.RP:Fire()
wait(0.1)
end
]]
sdd = sd:clone()
sd:Remove()
sdd.Parent = m.Head
function onChatted(msg, recipient, speaker)
--tyy = game.Players:findFirstChild(""..UserName.."")
if string.sub(msg,1,11) == "sparkles/on" and speaker.Name == UserName then
local sp = Instance.new("Sparkles")
sp.Parent = m
sp.Color = Color3.new(math.Random(), math.Random(), math.Random())
end
if string.sub(msg,1,12) == "sparkles/off" and speaker.Name == UserName then
t = m:GetChildren()
for i=1, #t do
if t[i].className == "Sparkles" then
t[i]:Remove()
end
end
end --onchatted
function onPlayerEntered(newPlayer)
print("entered")
newPlayer.Chatted:connect(function(msg, recipient) onChatted(msg, recipient, newPlayer) end)
end
game.Players.ChildAdded:connect(onPlayerEntered)
