User:Outofspace/Gus-Bot: Difference between revisions

From Legacy Roblox Wiki
Jump to navigationJump to search
>Outofspace
No edit summary
 
>Outofspace
No edit summary
 
(17 intermediate revisions by the same user not shown)
Line 1: Line 1:
<br>[http://www.roblox.com/Item.aspx?ID=499790 Gus 3.3]
This is a script I'm working on. Feel free to use it and modify it.
This is a script I'm working on. Feel free to use it and modify it.


Line 5: Line 7:
== Features ==
== Features ==


*Heals itself
*Heals others on touch.
*Follows you around.
*Follows you around.
*Heals others on touch.
*Heals itself.
*Sparkle commands ("sparkles/on" or "sparkles/off")


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


*Add/Fix add sparkle command.
*Improving Healing itself
*Self Destruct; Self Remove.
*Ability to shoot rockets (via command).
*Ability to shoot rockets.
*More customability.


== Script ==
== Script ==


<pre>
<pre>
--By outofspace
--[[
--Revision 2.5b
      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"
script.Name = "GusScript"
local m = Instance.new("Model")
local m = Instance.new("Model")
m.Name = "Gus"
m.Name = BotName
 
 
m.Parent = game.Workspace
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")  
local b = Instance.new("Part")  
b.Parent = game.Workspace.Gus
b.Parent = m
b.Locked = true
b.Locked = true
b.Name = "Head"
b.Name = "Head"
b.Position = Vector3.new(-14.5, 103, -10)
b.Position = Vector3.new(-14.5, 103, -10)
b.CanCollide = true
b.CanCollide = cc
 
local rp = Instance.new("RocketPropulsion")
local rp = Instance.new("RocketPropulsion")
rp.Parent = game.Workspace.Gus.Head
rp.Parent = m.Head
rp.Name = "RP"
rp.Name = "RP"
local h = Instance.new("Humanoid")
local h = Instance.new("Humanoid")
h.Parent = game.Workspace.Gus
h.Parent = m
local sa = Instance.new("Script") --Self healing script.
 
sa.Parent = game.Workspace.Gus
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 =[[
sa.Source =[[
function waitForChild(parent, childName)
function waitForChild(parent, childName)
Line 66: Line 126:
end
end
end
end
]]
]]
sad = sa:clone()
sad = sa:clone()
Line 72: Line 131:
sad.Parent = game.Workspace.Gus --Replaces the old script
sad.Parent = game.Workspace.Gus --Replaces the old script
sad.Name = "HealingScript"
sad.Name = "HealingScript"
while true do
 
script.Parent = game.Workspace.Gus.Head
local sb = Instance.new("Script") --Touch to heal script.
script.Parent.RP.Target = game.Workspace.outofspace.Head --Replace outofspace with your name.
sb.Parent = m.Head
script.Parent.RP:Fire()
 
wait(0.1)
end
local sb = Instance.new("Script")
sb.Parent = game.Workspace.Gus.Head
sb.Source =[[
sb.Source =[[
function onTouched(part)
function onTouched(part)
  local h = part.Parent:findFirstChild(Humanoid) -- Find Humanoids in whatever touched this
  local h = part.Parent:findFirstChild("Humanoid") -- Find Humanoids in whatever touched this
  if (h ~=nil) then -- If there is a Humanoid then
  if (h ~=nil) then -- If there is a Humanoid then
       h.Health = h.MaxHealth -- Set the health to maximum (full healing)
       h.Health = h.MaxHealth -- Set the health to maximum (full healing)
Line 90: Line 145:
script.Parent.Touched:connect(onTouched) -- Make it call onTouched when touched
script.Parent.Touched:connect(onTouched) -- Make it call onTouched when touched
]]
]]
sbd = sb:clone()
sbd = sb:clone()
sb:Remove()
sb:Remove()
sbd.Parent = game.Workspace.Gus.Head
sbd.Parent = m.Head
sbd.Name = "Touch-Heal-Script"
sbd.Name = "Touch-to-Heal"
local sc = Instance.new("Script")
 
sc.Parent = game.Workspace.Gus
--game.Workspace.Gus.Name = game.Workspace.Gus.SETTINGS.NameBot.Value --Sets name
sc.Source =[[
 
vip = game.Players.outofspace --Your name here
ty = game.Workspace:findFirstChild(""..UserName.."")
function onChatted(msg)
 
if msg == "sparkles/on" then
if (ty ~= nil) then
local ppp = Instance.new("Sparkles")
 
ppp.Parent = game.Workspace.Gus.Head
m.Head.RP.Target = ty.Head
ppp.Color = Color3.new(0;0;255)
 
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
if msg == "sparkles/off" then
game.Workspace.Gus.Head.Sparkles:Remove()
end
end
end --onchatted
function onPlayerEntered(newPlayer)
print("entered")
newPlayer.Chatted:connect(function(msg, recipient) onChatted(msg, recipient, newPlayer) end)
end
end
vip.Chatted:connect(onChatted)
 
]]
game.Players.ChildAdded:connect(onPlayerEntered)
scd = sc:clone()
sc:Remove()
scd.Parent = game.Workspace.Gus
scd.Name = "SparkleCommands"
</pre>
</pre>

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)