просто бывает, берешь чью то наработку. Переписываешь с jass на lua. Перестает работать. Тысячу раз проверишь, и думаешь: "Че не так то?".
решил инициировать переменные, перестал работать код.
так работало, пока не заметил, что базу не инициирует
Color = { {},{} }                        
Setting = { {},{} }
решил добавить бд
Color = {{}} --{ {},{} }
Setting = {{}} --{ {},{} }  
                        
 --Gold Bounty
   Color[0][0] = 255
   Color[0][1] = 220
   Color[0][2] = 0
   Color[0][3] = 255
   Setting[0][0] = 0.0 -- Velocity 1
   Setting[0][1] = 0.03 -- Velocity 2
   Setting[0][2] = 2.0 -- Fadepoint
   Setting[0][3] = 3.0 -- Lifespan
   Setting[0][4] = -16.0 -- OffsetX
--Lumber Bounty
   Color[1][0] = 0
   Color[1][1] = 200
   Color[1][2] = 80
   Color[1][3] = 255
   Setting[1][0] = 0.0 -- Velocity 1
   Setting[1][1] = 0.03 -- Velocity 2
   Setting[1][2] = 2.0 -- Fadepoint
   Setting[1][3] = 3.0 -- Lifespan
   Setting[1][4] = -16.0 -- OffsetX
Короче, двумерные массивы не работает триггер, не исполняется код и пр =( без них все работает.

Далее. Общеизвестно, что нумерация индексов в Lua начинается с 1. А потому
Color = { {},{} }                        
Setting = { {},{} }
Color содержит таблицы в индексах 1 и 2, как и таблица Setting.
Более того, вопросы о массивах уже были. Первый и второй.
`
ОЖИДАНИЕ РЕКЛАМЫ...

Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
28
Вроде все происходит без упаковки в таблицу в первом случае.
+
27
цикл while ... do используется в варкрафте?
while .. do

end
сначала я думал дело в конкретном коде. В итоге убрал все. принты не запускались, так и не запускаются. Пока не додумался об этой мысли.

короче я понял. внутрь while ... do условие выхода не прописывается. пишут while true do. типа условие запуска цикла? нужно break прописывать. в учебнике lua все не так.

Фарион: что то не так
Загруженные файлы
28
Ну так цикл всё верно делает. Пока we > 5 делать то-то. Но так как we = 0 < 5, то цикл не выполняется.
13
МрачныйВорон,
цикл с предусловием, тело цикла выполняется до тех пор пока условие == true
например можно переделать обычных for в цикл while
local a = {}
for i = 1, 10 do
	a[i] = i
end

-- Равнозначно
local a = {}
local i = 1
while (i <= 10) do
	a[i] = i
	i = i + 1
end
28
Правильный вариант треш.
local we = 0
while we < 5 do
    print('points' .. we)
    we = we + 1
end
А вообще, тут for нужен.
for we = 0, 4 do
    print('points' .. we)
end
27
PT153, Nelloy, благодаря вашим подсказкам я понял. выполняется, пока условие истинно. А не наоборот.

А вообще, тут for нужен.
for не подходил потому, что у меня было другое условие. я просто это так вставил, чтобы посмотреть что оно делает. Проверить из за чего не работает
типа такого. как всегда не читаю, методом тыка
while ((RAbsBJ(x - Bx) < 0.001)and(RAbsBJ(y - By) < 0.001)and (CountVertexRegion[ns] > 1)) or exit do
понятно, что для простого было так правильно. Но у меня по логике цикл выполняется до сих пор пока соблюдается условие
28
выполняется, пока условие истинно
Имя цикла подсказывает.
Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.