Добавлен
все еще перевожу на lua, какая-то непонятная ошибка в lua
хотел код скинуть, но точно не могу сказать. Мб карту скинуть. ссылка

Я не разбирался в коде, но у тебя на 997-ой строке:
Bi = CountFreePointsInArea(Bx1,By1 )
Хотя функция принимает 4 аргумента:
function CountFreePointsInArea(rt,x,y,n)
В итоге у тебя функция запускается со следующими параметрами:
CountFreePointsInArea(Bx1,By1,nil,nil)
А на 610-ой строке у тебя:
-- Здесь ты складываешь (y + r), но игрек ты не передал для этой функции. Из-за чего в данном месте обрывается поток.
if IsPointInArea_3(rt,x-r,y+r,n) then
`
ОЖИДАНИЕ РЕКЛАМЫ...

Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
27
ScopteRectuS, в циклах? так она и должна. Проверяют может ли точка образовать еше диагонали с другими точками, если может, то оставляем. Если диагоналей нет, удаляем из структуры-2 и все. Проверяют с каждым тактом, взял точку-подобрал пару, диагоналей стало меньше. Диагоналей станет меньше. Взял еще пару нашел, -1 диагонелей. И так чекаем, пока совсем не убудет.
21
function CountFreePointsInArea(rt,x,y,n)
            local a = 0
            local r = 4.00
            local angle
            --local px = {}
            --local py = {}

            --1) берем 4 точки от точки x,y и считаем кол-во свободных точек
           --****************
            -- А Здесь ты складываешь y + r, но игрик у тебя равен нил, потому что ты его не передал!!!
           --****************
            if IsPointInArea_3(rt,x-r,y+r,n) then
                px[a] = x-r
                py[a] = y+r
                a = a + 1
            end
27
ScopteRectuS, так дебаг показывает перед как использовать функцию. Что с переменные норм, координаты есть, а потом бац.. И почему то эта функция перестает работать.
Я понял, но че делать?
print("проверка: "..Ax1..","..Ay1 )
Ai = CountFreePointsInArea(rt,Ax1,Ay1,ns )
21
Я не разбирался в коде, но у тебя на 997-ой строке:
Bi = CountFreePointsInArea(Bx1,By1 )
Хотя функция принимает 4 аргумента:
function CountFreePointsInArea(rt,x,y,n)
В итоге у тебя функция запускается со следующими параметрами:
CountFreePointsInArea(Bx1,By1,nil,nil)
А на 610-ой строке у тебя:
-- Здесь ты складываешь (y + r), но игрек ты не передал для этой функции. Из-за чего в данном месте обрывается поток.
if IsPointInArea_3(rt,x-r,y+r,n) then
Принятый ответ
27
ScopteRectuS, ты прав, пошел исправлять. просто я не все дописал. просто там было 2 аргумента на jass, с переходом на lua стало 4. и забываю где ставить. 2-3 назад искал полчаса где end не дописал, а оказывается там наоборот - лишнюю end написал
27
ScopteRectuS, спасибо за ответ. благодарю. пойду дальше переносить
33
ScopteRectuS, Тут всё хорошо, наконец-то МрачныйВорон, приобщается работать с луа, тут главное понять принцип, недостающие аргументы, неверные типы. Как только это поймёт, то сразу дело пойдёт, не будет ни ошибок ни вопросов

Работая с ЛУА придётся прокачать внимательность до 999
Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.