Бывает текст вставляешь, и из за чего то подсветка портится.. мб заносит что то.. или какие невидимые символы
Should

MpW, сколько я себе голову сломал. У тебя в примере InterLineLine в самом конце грубая синтаксическая ошибка, конец строки заново открывается, он переставал считать это Lua
Остальное починил и обновил
`
ОЖИДАНИЕ РЕКЛАМЫ...

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

Берги, была кривая, в какой-то итерации я поменял на нормальную

Но не джасс
function f takes nothing returns nothing
  BJDebugMsg("123")
endfunction
Возможно думает что это bash или bat
27
Странное форматирование тут. print не всегда выделяется желтеньким цветом
Загруженные файлы
27
ScorpioT1000, это не везде поправили. в той ссылке каждый скрипт смотрели?
38
Тогда давай конкретные примеры, желательно сюда прямо в комменты
27
--Угол между 2 векторами, угол между направлениями этих векторов (наименьший угол).
--По определению, угол между двумя векторами находится в промежутке [0°; 180°].
--Косинус угла между ними равен
--@param real dx1,dy1,dx2,dy2
---@return real
function AngleBetweenTwoVectors(dx1,dy1,dx2,dy2) --в радианах (для превращения в градусы заверните в Acos)
    return math.acos((dx1*dx2+dy1*dy2)/((dx1^2+dy1^2)^0.5  * (dx2^2+dy2^2)^0.5))
end

--Угол между двумя отрезками
function BlzAngleBetweenSegments(Ax1,Ay1,Ax2,Ay2,Bx1,By1,Bx2,By2)
    local dx1,dx2,dy1,dy2=Ax2-Ax1,Bx2-Bx1,Ay2-Ay1,By2-By1
    return AngleBetweenTwoVectors(dx1,dy1,dx2,dy2)

end
--угол между диагоналями четырехугольника/сторонами треугольника и пр
--cx,cy - точка пересечения диагоналей A и B
--Ax,Ay,Bx,By - одна из крайних точек диагоналей
function BlzAngleBetweenDiagonals(cx,cy,Ax,Ay,Bx,By)
    local dx1,dx2,dy1,dy2=Ax-cx,Bx-cx,Ay-cy,By-cy --4 опер
    return AngleBetweenTwoVectors(dx1,dy1,dx2,dy2)
end

Что то весь текст монотонной подсветкой изукрашен, почти весь код белым штрифтом. Почему комменты не закрашиваются зеленьким или сереньким? Можно было ключевые слова local return и др подсвечивать, не белым

--угол лежит между двумя углами
function IsAngleBetweenAngles(angle,angle1,angle2)
	N = angle%360 --normalize angles to be 1-360 degrees
	a = angle1%360
	b = angle2%360

	if (a < b)then
		return a <= N and N <= b;
	else
		return a <= N or N <= b;
	end
end

print(IsAngleBetweenAngles(150, 80, 320)) --=> true
print(IsAngleBetweenAngles(30, 80, 320)) --=> false
print(IsAngleBetweenAngles(340, 80, 320)) --=> false
print(IsAngleBetweenAngles(140, 0, 160)) --=> true
print(IsAngleBetweenAngles(180, 0, 160)) --=> false
print(IsAngleBetweenAngles(1, 0, 360)) --=> true
Пример где значок процента %, в луа это модуль, это странный стиль. Заметил, что ключевые слова, цифры и пр при слтином писании кода очень не красиво получается, какая то часть строчки резко выделяется на фоне остального
Или тут
function ascii2decimal(str)
    str = string.reverse(str)
    local result = 0
    local pw = 1
    for i=1, #str do
        local c = str:sub(i,i)
        result = result + string.byte(c)*pw
        pw = pw*256
    end
    return result
end

function area(x1,y1,x2,y2,x3,y3)
	return (x2-x1) * (y3-y1) - (y2-y1) * (x3-x1);
end
 
function intersect_1 (a,b,c,d)
	if (a > b)then a,b=b,a end
	if (c > d)then c,d=d,c end
	return math.max(a,c) <= math.min(b,d);
end
 
function intersect(x1,y1,x2,y2,x3,y3,x4,y4)
	return intersect_1 (x1, x2, x3, x4)
		and intersect_1 (y1, y2, y3, y4)
		and area(x1,y1,x2,y2,x3,y3) * area(x1,y1,x2,y2,x4,y4) <= 0
		and area(x3,y3,x4,y4,x1,y1) * area(x3,y3,x4,y4,x2,y2) <= 0;
end

Ниже я заметил странность, что ключевые слова как if then почему то голубым светом отсвечивается. Ошибка или нет это
function InterLineLine(x1,y1,x2,y2,a1,b1,a2,b2)
    local p = (x2-x1)*(b2-b1)-(y2-y1)*(a2-a1)
    local x,y

    if ( p == 0 ) then --отрезки параллельны
        return false
    end

    x =  ((x2-x1)*(a2-a1)*(y1-b1)+(x2-x1)*(b2-b1)*a1-(y2-y1)*(a2-a1)*x1)/p
    y = -((y2-y1)*(b2-b1)*(x1-a1)+(y2-y1)*(a2-a1)*b1-(x2-x1)*(b2-b1)*y1)/p
    return x,y
end
function IsPointOnBeam2(x,y,x1,y1,x2,y2)
	return ((x-x1)*(y2-y1) == (x2-x1)*(y-y1)) and ((x-x1) * (x2-x1) >= 0) and ((y-y1)*(y2-y1) >= 0)
end

function IsPointInSegment(x,y,x1,y1,x2,y2)
	return((x1-x)^2+(y1-y)^2)^0.5 + ((x2-x)^2+(y2-y)^2)^0.5 == ((x2-x1)^2+(y2-y1)^2)^0.5 
end

function RayIntersectSegment(rayx,rayy,dirx,diry,x1,y1,x2,y2)
	--находим точку пересечения прямых
	local x,y=InterLineLine(rayx,rayy,dirx,diry,x1,y1,x2,y2)
	
	if x then
		--проверка, что точка пересечения на отрезке, и принадлежит лучу
		return IsPointInSegment(x,y,x1,y1,x2,y2)and IsPointOnBeam2(x,y,rayx,rayy,dirx,diry)
	else
		--иначе, если прямые не пересекаются, то точки пересечения нет.
		--если луч и отрезок лежат на одной линии
		return IsPointOnBeam2(x1,y1,rayx,rayy,dirx,diry) and IsPointOnBeam2(x2,y2,rayx,rayy,dirx,diry)
	end
	
	return false
end
print('p1=1: '..tostring(RayIntersectSegment(0,0,0,1,100,0,-100,0))..' луч направлен вверх, луч пересекает горизонтальный отрезок') 
print('p1=0: '..tostring(RayIntersectSegment(0,0,0,1,100,-1,-100,-1))..' луч направлен вверх, луч не пересекает горизонтальный отрезок, расположенный ниже'')

function LinesIntersect(a1,b1,c1, a2,b2,c2)
	local x = (b1 * c2 - b2 * c1) / (a1 * b2 - a2 * b1);
	local y = (a2 * c1 - a1 * c2) / (a1 * b2 - a2 * b1);
	return x,y
end
print(LinesIntersect(1, 1, -1, 1, -1, 0))

function kramer(a1,b1,c1,a2,b2,c2)
  local d = a1 * b2 - a2 * b1;
  local dx = c1 * b2 - c2 * b1;
  local dy = a1 * c2 - a2 * c1;
  local x,y = dx / d, dy / d;
  return x,y
end

Кстати, я заметил, что вы убрали вездел внутри спойлеров внутренние спойлеров. Раскрыв их. Но это не везде такое. Кое где это осталось без изменении, и внутри спойлеров можно сохранить спойлеры. Как это получилось))

call BlzFrameSetVisible(BlzFrameGetParent(BlzGetOriginFrame(ORIGIN_FRAME_COMMAND_BUTTON, 0)), FALSE)
call BlzFrameSetVisible(BlzFrameGetParent(BlzGetOriginFrame(ORIGIN_FRAME_COMMAND_BUTTON, 1)), FALSE)
call BlzFrameSetVisible(BlzFrameGetParent(BlzGetOriginFrame(ORIGIN_FRAME_COMMAND_BUTTON, 2)), FALSE)
call BlzFrameSetVisible(BlzFrameGetParent(BlzGetOriginFrame(ORIGIN_FRAME_COMMAND_BUTTON,3)), FALSE)
call BlzFrameSetVisible(BlzFrameGetParent(BlzGetOriginFrame(ORIGIN_FRAME_COMMAND_BUTTON, 4)), FALSE)
call BlzFrameSetVisible(BlzFrameGetParent(BlzGetOriginFrame(ORIGIN_FRAME_COMMAND_BUTTON, 5)), FALSE)
call BlzFrameSetVisible(BlzFrameGetParent(BlzGetOriginFrame(ORIGIN_FRAME_COMMAND_BUTTON, 6)), FALSE)
call BlzFrameSetVisible(BlzFrameGetParent(BlzGetOriginFrame(ORIGIN_FRAME_COMMAND_BUTTON, 7)), FALSE)
call BlzFrameSetVisible(BlzFrameGetParent(BlzGetOriginFrame(ORIGIN_FRAME_COMMAND_BUTTON, 8)), FALSE)
call BlzFrameSetVisible(BlzFrameGetParent(BlzGetOriginFrame(ORIGIN_FRAME_COMMAND_BUTTON, 9)), FALSE)
call BlzFrameSetVisible(BlzFrameGetParent(BlzGetOriginFrame(ORIGIN_FRAME_COMMAND_BUTTON, 10)), FALSE)
call BlzFrameSetVisible(BlzFrameGetParent(BlzGetOriginFrame(ORIGIN_FRAME_COMMAND_BUTTON, 11)), FALSE)
38
Да, он все ещё дельфи видит. Так то все ключевые там есть, даже метатейблы. Надо детектор дальше чинить
27
Я еще c++ скидывал. Но там наверн отдельная история, мб вы не предусматривали на этом языке. Программа что может анализировать на ком языке пишут?

ScorpioT1000, можно было библиотеку оуа подсвечивать. Типа math.cos или math.sin. Тут получается math.cos
38
Я понял, там не предусмотрены точка с запятой. Вообще, в луа редко это юзают
27
Я понял, там не предусмотрены точка с запятой. Вообще, в луа редко это юзают
Ну юзается, не юзается, просто смотрится не красиво. Нельхя ли спереть стиль у какого нибудь редактора, типа vs code
Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.