I've been working on my game which is both a team war and tycoon game. However, as I have gotten a little better at scripting, I have started to experiment with different things. One of them is the tycoons of my game. When the owner of the tycoon dies, not leave the game, but dies, I want the tycoon to regenerate to a freshly new one where someone else has the chance to gain ownership of it.
Here I have provided the script and some more info:
local ting = 0 --debouncer
local owner = script.Parent.Parent.Parent.OwnerName --This is the thing that holds the owners name
local ownerhealth = script.Parent.Parent.Parent.OwnerHealth -- OwnerHealth is in the same model of OwnerName
function onTouched(hit) -- When someone hits this door do the following.
if ting == 0 then --debounce check
ting = 1 --activate debounce
local check = hit.Parent:FindFirstChild("Humanoid") --Find the human that touched the button
if check ~= nil then --If a human is found, then do the following.
local thisplr = game.Players:findFirstChild(hit.Parent.Name) -- Checks humans name.
local thisplrhealth = game.Players:findFirstChild(hit.Parent.Humanoid.Health)
if (thisplr~=nil) then -- If humans name is found, then do the following.
if (thisplrhealth~=nil) then -- If the human's health is found, same thing as above.
local ownstyc = thisplr:findFirstChild("Tycoon") -- Checks player to see if he has the Tycoon value.
if (ownstyc~=nil) then -- If the tycoon value is found on the player, do the following.
if ownstyc.Value == 0 then -- If the tycoon value is 0 then do the following.
ownstyc.Value = 1 -- Make the tycoon value 1.
owner.Value = thisplr.Name -- Player's value is now the Owner's value.
ownerhealth.Value = thisplrhealth.Value -- The health has been recorded by OwnerHealth.
local message = Instance.new("Message") -- Types a message to the player.
message.Text = "You Now own a Tycoon" -- Message...
message.Parent = thisplr -- Makes sure that the message goes to the player.
wait(3) -- Wait 3 seconds.
message:remove() -- Remove message.
script.Parent.Parent:remove() -- Removes door.
elseif ownstyc.Value == 1 then -- If the players Tycoon Value is 1.
local message = Instance.new("Message") -- Types a message to the player.
message.Text = "You Already own a Tycoon" -- Message...
message.Parent = thisplr -- Makes sure the message goes to the player.
wait(3) -- Wait 3 seconds.
message:remove() -- Remove message.
end -- End process.
end -- End process.
end -- End process.
end -- End process.
ting = 0 --remove debounce
end -- End process.
end -- End process.
end
script.Parent.Touched:connect(onTouched) --Start listening for button-touchers.
Basically, I created a value called "ownerhealth" as you can see at the very top of the script. It's supposed to follow through everything just like "owner", except "owner" checks the owner of the tycoon's name. "ownerhealth" of course checks the owner of the tycoon's health. I did find that there is something wrong with the checking of the owner's health. When I went into Play Solo, I touched the tycoon's "Become Owner" part which then turned me into the tycoon's owner. When I checked the Value "OwnerName", it showed my name, but when I checked the Value "OwnerHealth", it was blank. "local owner" effects the Value "OwnerName" while "local ownerhealth" is SUPPOSED to effect "OwnerHealth" which are located together inside of a model called Factory. Factory consists of every model of the tycoon except for the regenerating scripts that normally make the tycoon a fresh start, but ONLY when the player leaves the game. Once again, I want to make the tycoon regenerate into a fresh start when the player dies, not leaves.
