Ad
Log in to vote
1

How can I put Coordinates for a Vector3 in a list for a function?

Asked by 1 year ago
function generateMedKit(name,chords)
    local MedKits = game.ServerStorage.MedKits:FindFirstChild(name)                     
    local Cords = chords
    local randNum = math.random(1,#Cords)
    local chosenValue = Cords[randNum]
            print(chosenValue)
            MedKits.Parent = game.Workspace
            MedKits.Position = Vector3.new(chosenValue)
        end 
generateMedKit("Med1",{"5, 5, 5","10, 10, 10","20, 20, 20"})
generateMedKit("Med2",{"40, 40, 40","80, 80, 80","160, 180, 180"})
generateMedKit("Med3",{"360, 360, 360","720, 720, 720","1000,1000,1000"})

I'm trying to randomly generate spawns for a medkit, but i think the coordinates in the argument are being read as strings so it doesn't work in the vector3.(). Or maybe I'm missing something else? How can I fix this?

0
Use tostring. LikeToScript 104 — 1y
0
Wdym tostring because it converts a number to a string and a vector3 returns a number not a string therefore it will yeild an error. JesseSong 3400 — 1y

1 answer

Log in to vote
0
Answered by 1 year ago

You should use the tonumber() function. It converts a string into a number. Try this:

local function generateMedKit(name, chords)
    local MedKits = game:GetService("ServerStorage").MedKits:FindFirstChild(name)                     
    local Cords = chords
    local randNum = math.random(1, #Cords)
    local chosenValue = Cords[randNum]

    print(chosenValue)
    MedKits.Parent = game.Workspace
    MedKits.Position = Vector3.new(chosenValue)
end 
generateMedKit("Med1",{tonumber("5, 5, 5"), tonumber("10, 10, 10"), tonumber("20, 20, 20")})
generateMedKit("Med2",{tonumber("40, 40, 40"), tonumber("80, 80, 80"), tonumber("160, 180, 180")})
generateMedKit("Med3",{tonumber("360, 360, 360"), tonumber("720, 720, 720"), tonumber("1000,1000,1000")})
0
When I use that code I get the error, "ServerScriptService.Script:4: bad argument #2 (interval is empty)" ElectricZooo 55 — 1y
Ad

Answer this question