Roblox Studio игнорирует мою строку «If Statement» - PullRequest
0 голосов
/ 11 июля 2019

Итак, у меня есть скрипт, который повторяется, постоянно проверяя значение. Однако, даже если значение равно true, функция вообще не будет работать.

Я пытался добавить «wait ()» для решения проблемы, но это не сработало вообще.

useless = 0
wait(1)
repeat
    print("watno")
    wait()
    if script.Parent.Parent.Parent.windowsopen.Value == true then
        wait()
        for i = 5.5,0,0.1 do
            print("wat")
            wait()
            useless = useless + i
            script.Parent.Size = Vector3.new(script.Parent.Size.X, script.Parent.Y - 0.1, script.Parent.Size.Z )

        end
    elseif script.Parent.Parent.Parent.windowsopen.Value == false then

        wait()
    end
until false

Значение "windowsopen" всегда истинно, но оно никогда не запускается.

1 Ответ

0 голосов
/ 12 июля 2019

проблема, которую вы, скорее всего, вызвали своим циклом for, вам следует изменить его на

      for i = 55, 0, -1 do
            print("wait")
            wait()
            useless = useless + 0.1*i
            script.Parent.Size = Vector3.new(script.Parent.Size.X, script.Parent.Y - 0.1, script.Parent.Size.Z )
        end

, потому что (a) если вы хотите уменьшить i в цикле, третий параметр должен быть отрицательным,(б) вы действительно не должны использовать float или double в цикле for из-за точности \ представления: 0,1 может в конечном итоге быть представлен как 0,1000000000000001 (или что-то в этом роде) и в конечном итоге я никогда не будет равен нулюв цикле.Для получения дополнительной информации проверьте, какой формат использует lua для представления double (я думаю, что это IEEE 754, но я могу ошибаться), также вы можете посмотреть на https://floating -point-gui.de /

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...