User:Outofspace/Gus-Bot: Difference between revisions

From Legacy Roblox Wiki
Jump to navigationJump to search
>Outofspace
3.3
>Outofspace
No edit summary
 
Line 10: Line 10:
*Heals others on touch.
*Heals others on touch.
*Heals itself.
*Heals itself.
*Sparkle commands ("sparkle/on" or "sparkle/off")
*Sparkle commands ("sparkles/on" or "sparkles/off")


== Future Plans ==
== Future Plans ==

Latest revision as of 01:17, 23 November 2008


Gus 3.3

This is a script I'm working on. Feel free to use it and modify it.

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)