Нет ошибки, но взрыв не работает? — Roblox

#lua #roblox

#lua #roblox

Вопрос:

В roblox studio я хотел создать кнопку, которая вызывала бы взрыв на определенной башне для своего рода мини-игры в игровом шоу, поэтому я создал этот код, но по какой-то причине этот код не работает. Был бы признателен, если бы я тоже смог получить исчерпывающий ответ!

Скрипт:

 local ClickDetector = script.Parent
ClickDetector.MaxActivationDistance = 10

ClickDetector.MouseClick:Connect(function()
    local Towers = workspace.Towers
    local BT = math.random(1,8)
    local BT2 = BT
    wait(0.2)
    if BT2 == "1" then
        local boom = Instance.new("Explosion")
        boom.Position = Towers.Black.boompart.Position
        boom.Parent = workspace
        
    elseif
        
        BT2 == "2" then
        local boom = Instance.new("Explosion")
        boom.Position = Towers.White.boompart.Position
        boom.Parent = workspace
        
    elseif
        
        BT2 == "3" then
        local boom = Instance.new("Explosion")
        boom.Position = Towers.Blue.boompart.Position
        boom.Parent = workspace
        
    elseif
        
        BT2 == "4" then
        local boom = Instance.new("Explosion")
        boom.Position = Towers.Brown.boompart.Position
        boom.Parent = workspace
        
    elseif
        
        BT2 == "5" then
        local boom = Instance.new("Explosion")
        boom.Position = Towers.Green.boompart.Position
        boom.Parent = workspace
        
    elseif
        
        BT2 == "6" then
        local boom = Instance.new("Explosion")
        boom.Position = Towers.Red.boompart.Position
        boom.Parent = workspace
        
    elseif
        
        BT2 == "7" then
        local boom = Instance.new("Explosion")
        boom.Position = Towers.Pink.boompart.Position
        boom.Parent = workspace
        
    elseif
        
        BT2 == "8" then
        local boom = Instance.new("Explosion")
        boom.Position = Towers.Yellow.boompart.Position
        boom.Parent = workspace
        
    end
    print(BT2)
end)
  

Ответ №1:

Я бы, вероятно, изменил эту строку

 if BT2 == "1" then
  

Для

 if BT2 == 1 then
  

«1» здесь строка, потому что она заключена в кавычки. BT2, в данном случае, является числом. Они хранятся как два разных типа данных. Как таковые, они не равны.

Обратите внимание, если вы попытаетесь:

печать («1» == 1)

Вывод: false

Смотрите последнее предложение в документации:https://www.lua.org/pil/3.2.html