хотел чтоб при застревании персонажа происходило движение мыши по окружности с зажатыми кнопками чтоб он нашел выход и вылез из тупика и чтоб не писать десятки мувов решил попробовать через уравнение окружности, но столкнулся с проблемой - когда X достигает значения 1260 или Y значения 520 дискриминант становится отрицательным и скрипт останавливается с ошибкой, таким образом у меня мышь проходит только половину круга начиная слева на 660, 520 идет вниз и заканчивая справа на 1260, 520.
--lua
local r = 300
local x = 660
--local a = 960 --координата центра х
--local b = 520 -- координата центра у
-- центр примерно посередине экрана
repeat
x = x + 1
c = x^2 - 1920*x - r^2 + 520^2 + 960^2
D = 1040^2 - 4*c
y = math.modf((1040 + math.sqrt(D))/2)
move (x, y)
wait (10)
until y == 220
--lua
local r = 300 -- радиус окружности
local startX, startY = 960, 520 -- центр круга
for i = 1, 360 do
local x = startX + math.floor(math.sin(math.rad(i)) * r)
local y = startY + math.floor(math.cos(math.rad(i)) * r)
move (x, y)
wait (5)
end
end_script ()
--lua
local r = 300 -- радиус окружности
local startX, startY = 960, 520 -- центр круга
for i = 1, 360 do
local x = startX + math.floor(math.sin(math.rad(i)) * r)
local y = startY + math.floor(math.cos(math.rad(i)) * r)
move (x, y) -- движение мыши против часовой стрелки
wait (5)
end
end_script ()
--lua
local r = 150 -- радиус окружности
local startX, startY = 425, 307 -- центр круга
for i = 180, 540 do
local x = startX + math.floor(math.cos(math.rad(i)) * r)
local y = startY + math.floor(math.sin(math.rad(i)) * r)
move (x, y) -- движение мыши по часовой стрелке
wait (5)
end
end_script ()
Русская версия Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)