Добавлен
решил переписать на lua свои системы. в чем ошибка этого кода? Когда срабатывает код, у меня зависает вар и все. Просто на jass все норм. Методом исключения, я обнаружил что из-за него не работает, без него все норм.
				--занята ли точка регионами
                    --@param real x
                    --@param real y
                    ---@return boolean
                    function IsPointInRegionVillage(x, y)
                        return (IsPointInRegion(PopulatedArea, x, y))
                    end           
					--@param re rect
                    ---@return boolean
                    function Check_busy_area(re)
                        local minx,miny,maxx,maxy = GetRectMinX(re),GetRectMinY(re),GetRectMaxX(re),GetRectMaxY(re)
                        local x,y= minx,miny

                        while y >= maxy do
                            x=minx
                            while y >= maxy do
                                if IsPointInRegionVillage(x, y) then
                                    return true
                                end
                                x=x+block
                            end
                            y=y+block
                        end
                        return false 
                    end

вижу цикл вложеный на икс и игрек, а в условиях обоих циклов только игрек
while y >= maxy do
   x=minx
      while y >= maxy do
`
ОЖИДАНИЕ РЕКЛАМЫ...
23
Похожие вопросы:

ответ
Extremator:
А что мешает отслеживать изменение содержимого инвентаря? Т.е. получение предмета, который подходит для манипуляций, после чего поочерёдно проверять только те списки, в которых этот предмет участвует... ну и делать что надо
Так ведь я так и делаю. Юнит получает предмет, содержимое его инвентаря записывается в таблицу. И вот, я не могу придумать по какой схеме мне сравнить эту таблицу со списками рецептов. Вот есть TransfigurationData.List[ID] в нём списки TransfigurationData.List[ID][ID1,2,3,4,5....]
Нужно как-то сделать проверку есть ли в списке TransfigurationData.List[0][1](как пример) то что в инвентаре героя, если да то убрать их и выдать TransfigurationData.Result[Тот же ID что и у List] :)

О ес, оно заработало я сам всё решил. Спасибо за внимание :)

33
Не вижу print'ов скорее всего цикл никогда не заканчивается у обоих while поставь ограничетели итераций
22
вижу цикл вложеный на икс и игрек, а в условиях обоих циклов только игрек
while y >= maxy do
   x=minx
      while y >= maxy do
Принятый ответ
27
biridius, спасибо) бывает невнимательнвм
Bergi_Bear, воспользовался вашим советом
я еще нашел ошибку в самом ректе, у него размеры не те. Короче мб дело в инициализации.
надо
do -- создаём область видимости, чтоб не конфликтовать с другим кодом
    local InitGlobalsOrigin = InitGlobals -- хукаем функцию InitGlobals

<а я инициализацию глобалок сюда запихал и ниче не работает поэтому. ректы неправильно инициируются>

	function InitGlobals()
		InitGlobalsOrigin()
		-- в этом моменте прошла инициализация карты и можно смело работать
		
		<надо сюда писать весь код>
		
	end
end
Чтобы оставить комментарий, пожалуйста, войдите на сайт.