Scripting Helpers is winding down operations and is now read-only. More info→
Ad
Log in to vote
-1

Sword giver arena and sword disappear when exiting?

Asked by 9 years ago

How can I make an arena where upon entrance, the player receives a sword to battle with, but when they exit the arena, the swords disappear. It's ok if it deletes everything in their inventory, too.

The one in MicBlang's ROBLOX doation center is something that I'm looking for.

Thanks in advance,

FredMango

2 answers

Log in to vote
0
Answered by 9 years ago

You keep the tool in server storage. Then when the players enter the arena you cycle through them using a for loop and give them swords, at the end you cycle through them again, removing all the tools. Please at least attempt to script something it helps us out and it will personally help you get better with scripting, overall though a good question and explanation.

--When players are teleported to the arena
-------Variables
players{} = game.Players:GetPlayers()
SWORDNAME = "" --Put your sword name here

-------Main Script
for i = 1, #players do
    newsword = game.ServerStorage:WaitForChild(SWORDNAME):Clone()
    newsword.Parent = players[i].Backpack
end

--When Players leave the arena
for i = 1, #players do
    players[i].Backpack:WaitForChild(SWORDNAME):Destroy()
end

Let me know if this doesn't work or you need more help.

0
Do I put the sword in lighting or how do I use the regular sword for the script? FredMango 0 — 9y
0
Put the sword in ServerStorage dragonkeeper467 453 — 9y
Ad
Log in to vote
0
Answered by 9 years ago

I used a free model teleport blocks for the teleporting, and this is the script I did for the one block that takes the players into the arena. What did I do wrong? (I also put "Sword" in lighting.)

modelname="teleporter1d"
------------------------------------

players{} = game.Players:GetPlayers()
SWORDNAME = "Sword" 

for i = 1, #players do
    newsword = game.ServerStorage:WaitForChild(SWORDNAME):Clone()
    newsword.Parent = players[i].Backpack
end



function onTouched(part)
    if part.Parent ~= nil then
    local h = part.Parent:findFirstChild("Humanoid")
        if h~=nil then
            local teleportfrom=script.Parent.Enabled.Value
            if teleportfrom~=0 then
                if h==humanoid then
                return
                end
                local teleportto=script.Parent.Parent:findFirstChild(modelname)
                if teleportto~=nil then
                    local torso = h.Parent.Torso
                    local location = {teleportto.Position}
                    local i = 1

                    local x = location[i].x
                    local y = location[i].y
                    local z = location[i].z

                    x = x + math.random(-1, 1)
                    z = z + math.random(-1, 1)
                    y = y + math.random(2, 3)

                    local cf = torso.CFrame
                    local lx = 0
                    local ly = y
                    local lz = 0

                    script.Parent.Enabled.Value=0
                    teleportto.Enabled.Value=0
                    torso.CFrame = CFrame.new(Vector3.new(x,y,z), Vector3.new(lx,ly,lz))
                    wait(3)
                    script.Parent.Enabled.Value=1
                    teleportto.Enabled.Value=1
                else
                    print("Could not find teleporter!")
                end
            end
        end
    end
end

script.Parent.Touched:connect(onTouched)

0
Don't use free models, also, this won't work, ill get back to you on this later and help you develop a new script which teleports all players instead of having players touch a brick to teleport in, if that is what you want dragonkeeper467 453 — 9y
0
I did want a brick to teleport in, I wanted this to be a lobby game, so people won't get bored with waiting around. FredMango 0 — 9y
0
Please edit your question instead of posting answers on your question. Redbullusa 1580 — 9y
0
Ok sorry. New to this website. Thanks for the tip though. FredMango 0 — 9y
View all comments (2 more)
0
By the way dragon, If it's possible, it would be even better if you could just enter the arena, (pass through some non collided walls) and receive the sword that way. Then when you leave through the invisible walls, they disappear. FredMango 0 — 9y
0
In that case you would want to just add a touched event to the brick so that it gives the player the sword when they touch the brick, looks like you need lots of help, please be sure to pm me and check on community chat(you need to answer some ques to get two rep) for help. dragonkeeper467 453 — 9y

Answer this question