Как переделать например такой скрипт на луа?
:aaa
sendex {f11}
wait 25 + random (23)
if нажата F1
goto bbb
end_if
goto aaa
:bbb
sendex {f12}
wait 25 + random (23)
--lua
require("Kbd")
while 1 do -- бесконечный цикл
while not(Kbd.IsKeyPress(Kbd.F1)) do -- пока не нажата f1
sendex ("f11")
wait (25 + math.random (23))
log ("f11")
end
sendex ("f12")
wait (25 + math.random (23))
log (" f12")
end
--lua
require("Kbd")
while 1 do -- бесконечный цикл
while not(Kbd.IsKeyPress(Kbd.F1)) do -- пока не нажата f1
sendex ("f11")
wait (25 + math.random (23))
log ("f11")
end
sendex ("f12")
wait (25 + math.random (23))
log (" f12")
end
--lua
require("Kbd")
while 1 do -- бесконечный цикл
while not(Kbd.IsKeyPress(Kbd.F1)) do -- пока не нажата f1
sendex ("f11")
wait (15 + math.random (15))
log ("f11")
end
wait (200)
while not(Kbd.IsKeyPress(Kbd.F1)) do -- пока не нажата f1
sendex ("f12")
wait (15 + math.random (15))
log (" f12")
end
wait (2000)
end
--lua
require("Kbd")
while 1 do -- бесконечный цикл
while not(Kbd.IsKeyPress(Kbd.F1)) do -- пока не нажата f1
wait (250 + math.random (350))
hint ("СПИМ")
end
while not(Kbd.IsKeyPress(Kbd.F2)) do -- пока не нажата f2
sendex ("{F12}")
wait (25 + math.random (23))
if Kbd.IsKeyPress(Kbd.LMB) then -- если нажата клавиша ЛКМ
sendex ("J")
wait (25 + math.random (23))
end
if Kbd.IsKeyPress(Kbd.3) then -- если нажата клавиша 3
sendex ("6")
wait (25 + math.random (23))
end
if Kbd.IsKeyPress(Kbd.Q) then -- если нажата клавиша Q
sendex ("8")
wait (25 + math.random (23))
end
end
end
Kbd.IsKeyPress(Kbd.Key3)
Ошибка понял в чём - key3
Но теперь надо чтобы при зажатой ЛКМ, спамилось нажатие J
Именно если зажать
--lua
require("Kbd")
while 1 do
time = os.clock() + 1 -- 1 секунда и считается что кнопка зажата
while Kbd.IsKeyPress(Kbd.LMB) do -- если нажата клавиша ЛКМ
if time < os.clock() then
sendex ("J")
wait (25 + math.random (23))
end
wait (10)
end
wait (10)
end
--lua
require("Kbd")
while 1 do
time = os.clock() + 1 -- 1 секунда и считается что кнопка зажата
while Kbd.IsKeyPress(Kbd.LMB) do -- если нажата клавиша ЛКМ
if time < os.clock() then
sendex ("J")
wait (25 + math.random (23))
end
wait (10)
end
wait (10)
end
--lua
require("Kbd")
while 1 do -- бесконечный цикл
while not(Kbd.IsKeyPress(Kbd.F1)) do -- пока не нажата f1
wait (50)
log ("блок1")
end
while not(Kbd.IsKeyPress(Kbd.F1)) do -- пока не нажата f1
wait (50)
log ("блок2")
end
end
--lua
require("Kbd")
while 1 do -- бесконечный цикл
while not(Kbd.IsKeyPress(Kbd.F1)) do -- пока не нажата f1
wait (50)
log ("блок1")
end
wait (200)
while not(Kbd.IsKeyPress(Kbd.F1)) do -- пока не нажата f1
wait (50)
log ("блок2")
end
wait (200)
end
Все таки goto работает лучше) В маленьких кодах)
Нет (доказано британскими учеными).
Правильнее так будет:
--lua
require("Kbd")
while 1 do -- бесконечный цикл
while not(Kbd.IsKeyPress(Kbd.F1)) do -- пока не нажата f1
wait (20)
log ("блок1")
end
while Kbd.IsKeyPress(Kbd.F1) do wait (20) end -- пока не отпустили f1
while not(Kbd.IsKeyPress(Kbd.F1)) do -- пока не нажата f1
wait (20)
log ("блок2")
end
while Kbd.IsKeyPress(Kbd.F1) do wait (20) end -- пока не отпустили f1
end
--lua
require("Kbd")
while 1 do -- бесконечный цикл
while not(Kbd.IsKeyPress(Kbd.F1)) do -- пока не нажата f1
wait (20)
log ("блок1")
end
while Kbd.IsKeyPress(Kbd.F1) do wait (20) end -- пока не отпустили f1
while not(Kbd.IsKeyPress(Kbd.F1)) do -- пока не нажата f1
wait (20)
log ("блок2")
end
while Kbd.IsKeyPress(Kbd.F1) do wait (20) end -- пока не отпустили f1
end
Луа - это обработчик, набор синтаксиса. Все функции пилотовские. Ну разве что кое-что по математике имеется и строкам дополнительно.
а вместо set timer, на луа как?
--lua
log "clear" log "mode compact"
time_out1 = 0 time_out2 = 0
while 1 do
if time_out1 < os.clock() then -- выполнять блок каждую секунду
log ("+++")
time_out1 = 1 + os.clock() -- прибавляем 1 секунду
end
if time_out2 < os.clock() then -- выполнять блок каждые 3.5 секунды
log ("!!!!!!")
time_out2 = 3.5 + os.clock() -- прибавляем 3.5 секунды
end
wait (1)
end
а как посчитать за какое время выполнился скрипт?
я что то не очень пойму про os.clock() - возвращает время в секундах с точностью до миллисекунд с момента запуска пилота.
Тобеж в момент запуска время равно нулю, и значит os.clock() всегда равен нулю?
как его в логе отобразить?
--lua
time1 = os.clock ()
wait (1300) -- скрипт
time2 = os.clock () - time1; log (time2); hint (time2)
--lua
function float (number, accuracy) return string.format("%." .. accuracy .. "f", number) end -- в начало скрипта
time1 = os.clock ()
wait (1300) -- скрипт
time2 = os.clock () - time1
log "clear" log "mode compact"
-- передаём в функцию float: число, которое нужно округлить, и число, означающее до скольки знаков после точки округлить.
log (float (time2, 1)) -- окгруглить до 1 знака после точки
log (float (time2, 4)) -- до 4
log (float (time2, 2)) -- до 2
log (float (time2, 5)) -- до 5
--lua
function ms (number) return math.floor(number * 1000) end -- в начало скрипта
time1 = os.clock ()
wait (1300) -- скрипт
time2 = os.clock () - time1
log "clear" log "mode compact"
log (ms (time2))
--lua
a = findimage (0, 0, 1920, 1080, "(C:\\pilot\\111.bmp)", "%arr", 2, 80, -1, 5) -- возвращает тип данных string
hint (a)
if tonumber(a) > 0 then -- поэтому для сравнения с числом переводим строку в число
move (arr[1][1], arr [1][2]) -- навести курсор на картинку
end
--lua
require("Kbd")
while 1 do -- бесконечный цикл
while Kbd.IsKeyPress(Kbd.Q) do -- если нажата клавиша Q
log ("Нажата q")
wait (25 + math.random (23))
end
while Kbd.IsKeyPress(Kbd.key2) do -- если нажата клавиша 2
log ("Нажата 2")
wait (25 + math.random (23))
end
while Kbd.IsKeyPress(Kbd.key3) do -- если нажата клавиша 3
log ("Нажата 3")
wait (35 + math.random (27))
end
while Kbd.IsKeyPress(Kbd.LMB) do -- если нажата клавиша ЛКМ
log ("Нажата ЛКМ")
wait (25 + math.random (23))
end
end
--lua
require("Kbd")
test = 2;
while 1 do
while (Kbd.IsKeyPress(Kbd.F2)) or test = 2 do
log ("работает")
end
end
Для операций сравнения используются знаки операций: >, <, ==(равно), <=, >=, ~=(не равно).
while (Kbd.IsKeyPress(Kbd.F2)) or test == 2 do
while (Kbd.IsKeyPress(Kbd.F2)) or test == 2 do
--lua
require("Kbd")
ff = nil
while 1 do -- бесконечный цикл
hint (".") -- выполняется сразу
-------------------------------------------------------------------------------- выполняется сразу
--============================================================
if (Kbd.IsKeyPress(Kbd.F1)) or ff == 1 then
while Kbd.IsKeyPress(Kbd.F1) do wait (20) end
while 1 do
hint ("f1")
-------------------------------------------------------------------------------- если нажата f1
if (Kbd.IsKeyPress(Kbd.F1)) then
while Kbd.IsKeyPress(Kbd.F1) do wait (20) end
ff = nil
break
end
if (Kbd.IsKeyPress(Kbd.F2)) then
while Kbd.IsKeyPress(Kbd.F2) do wait (20) end
ff = 2
break
end
if (Kbd.IsKeyPress(Kbd.F3)) then
while Kbd.IsKeyPress(Kbd.F3) do wait (20) end
ff = 3
break
end
if (Kbd.IsKeyPress(Kbd.F4)) then
while Kbd.IsKeyPress(Kbd.F4) do wait (20) end
ff = 4
break
end
if (Kbd.IsKeyPress(Kbd.F5)) then
while Kbd.IsKeyPress(Kbd.F5) do wait (20) end
ff = 5
break
end
if (Kbd.IsKeyPress(Kbd.F6)) then
while Kbd.IsKeyPress(Kbd.F6) do wait (20) end
ff = 6
break
end
if (Kbd.IsKeyPress(Kbd.F7)) then
while Kbd.IsKeyPress(Kbd.F7) do wait (20) end
ff = 7
break
end
if (Kbd.IsKeyPress(Kbd.F8)) then
while Kbd.IsKeyPress(Kbd.F8) do wait (20) end
ff = 8
break
end
if (Kbd.IsKeyPress(Kbd.F9)) then
while Kbd.IsKeyPress(Kbd.F9) do wait (20) end
ff = 9
break
end
if (Kbd.IsKeyPress(Kbd.F10)) then
while Kbd.IsKeyPress(Kbd.F10) do wait (20) end
ff = 10
break
end
if (Kbd.IsKeyPress(Kbd.F11)) then
while Kbd.IsKeyPress(Kbd.F11) do wait (20) end
ff = 11
break
end
if (Kbd.IsKeyPress(Kbd.F12)) then
while Kbd.IsKeyPress(Kbd.F12) do wait (20) end
ff = 12
break
end
end
end
--==============================================================
if (Kbd.IsKeyPress(Kbd.F2)) or ff == 2 then
while Kbd.IsKeyPress(Kbd.F2) do wait (20) end
while 1 do
hint ("f2")
-------------------------------------------------------------------------------- если нажата f2
if (Kbd.IsKeyPress(Kbd.F1)) then
while Kbd.IsKeyPress(Kbd.F1) do wait (20) end
ff = 1
break
end
if (Kbd.IsKeyPress(Kbd.F2)) then
while Kbd.IsKeyPress(Kbd.F2) do wait (20) end
ff = nil
break
end
if (Kbd.IsKeyPress(Kbd.F3)) then
while Kbd.IsKeyPress(Kbd.F3) do wait (20) end
ff = 3
break
end
if (Kbd.IsKeyPress(Kbd.F4)) then
while Kbd.IsKeyPress(Kbd.F4) do wait (20) end
ff = 4
break
end
if (Kbd.IsKeyPress(Kbd.F5)) then
while Kbd.IsKeyPress(Kbd.F5) do wait (20) end
ff = 5
break
end
if (Kbd.IsKeyPress(Kbd.F6)) then
while Kbd.IsKeyPress(Kbd.F6) do wait (20) end
ff = 6
break
end
if (Kbd.IsKeyPress(Kbd.F7)) then
while Kbd.IsKeyPress(Kbd.F7) do wait (20) end
ff = 7
break
end
if (Kbd.IsKeyPress(Kbd.F8)) then
while Kbd.IsKeyPress(Kbd.F8) do wait (20) end
ff = 8
break
end
if (Kbd.IsKeyPress(Kbd.F9)) then
while Kbd.IsKeyPress(Kbd.F9) do wait (20) end
ff = 9
break
end
if (Kbd.IsKeyPress(Kbd.F10)) then
while Kbd.IsKeyPress(Kbd.F10) do wait (20) end
ff = 10
break
end
if (Kbd.IsKeyPress(Kbd.F11)) then
while Kbd.IsKeyPress(Kbd.F11) do wait (20) end
ff = 11
break
end
if (Kbd.IsKeyPress(Kbd.F12)) then
while Kbd.IsKeyPress(Kbd.F12) do wait (20) end
ff = 12
break
end
end
end
--================================================================
if (Kbd.IsKeyPress(Kbd.F3)) or ff == 3 then
while Kbd.IsKeyPress(Kbd.F3) do wait (20) end
while 1 do
hint ("f3")
-------------------------------------------------------------------------------- если нажата f3
if (Kbd.IsKeyPress(Kbd.F1)) then
while Kbd.IsKeyPress(Kbd.F1) do wait (20) end
ff = 1
break
end
if (Kbd.IsKeyPress(Kbd.F2)) then
while Kbd.IsKeyPress(Kbd.F2) do wait (20) end
ff = 2
break
end
if (Kbd.IsKeyPress(Kbd.F3)) then
while Kbd.IsKeyPress(Kbd.F3) do wait (20) end
ff = nil
break
end
if (Kbd.IsKeyPress(Kbd.F4)) then
while Kbd.IsKeyPress(Kbd.F4) do wait (20) end
ff = 4
break
end
if (Kbd.IsKeyPress(Kbd.F5)) then
while Kbd.IsKeyPress(Kbd.F5) do wait (20) end
ff = 5
break
end
if (Kbd.IsKeyPress(Kbd.F6)) then
while Kbd.IsKeyPress(Kbd.F6) do wait (20) end
ff = 6
break
end
if (Kbd.IsKeyPress(Kbd.F7)) then
while Kbd.IsKeyPress(Kbd.F7) do wait (20) end
ff = 7
break
end
if (Kbd.IsKeyPress(Kbd.F8)) then
while Kbd.IsKeyPress(Kbd.F8) do wait (20) end
ff = 8
break
end
if (Kbd.IsKeyPress(Kbd.F9)) then
while Kbd.IsKeyPress(Kbd.F9) do wait (20) end
ff = 9
break
end
if (Kbd.IsKeyPress(Kbd.F10)) then
while Kbd.IsKeyPress(Kbd.F10) do wait (20) end
ff = 10
break
end
if (Kbd.IsKeyPress(Kbd.F11)) then
while Kbd.IsKeyPress(Kbd.F11) do wait (20) end
ff = 11
break
end
if (Kbd.IsKeyPress(Kbd.F12)) then
while Kbd.IsKeyPress(Kbd.F12) do wait (20) end
ff = 12
break
end
end
end
--==============================================================
if (Kbd.IsKeyPress(Kbd.F4)) or ff == 4 then
while Kbd.IsKeyPress(Kbd.F4) do wait (20) end
while 1 do
hint ("f4")
-------------------------------------------------------------------------------- если нажата f4
if (Kbd.IsKeyPress(Kbd.F1)) then
while Kbd.IsKeyPress(Kbd.F1) do wait (20) end
ff = 1
break
end
if (Kbd.IsKeyPress(Kbd.F2)) then
while Kbd.IsKeyPress(Kbd.F2) do wait (20) end
ff = 2
break
end
if (Kbd.IsKeyPress(Kbd.F3)) then
while Kbd.IsKeyPress(Kbd.F3) do wait (20) end
ff = 3
break
end
if (Kbd.IsKeyPress(Kbd.F4)) then
while Kbd.IsKeyPress(Kbd.F4) do wait (20) end
ff = nil
break
end
if (Kbd.IsKeyPress(Kbd.F5)) then
while Kbd.IsKeyPress(Kbd.F5) do wait (20) end
ff = 5
break
end
if (Kbd.IsKeyPress(Kbd.F6)) then
while Kbd.IsKeyPress(Kbd.F6) do wait (20) end
ff = 6
break
end
if (Kbd.IsKeyPress(Kbd.F7)) then
while Kbd.IsKeyPress(Kbd.F7) do wait (20) end
ff = 7
break
end
if (Kbd.IsKeyPress(Kbd.F8)) then
while Kbd.IsKeyPress(Kbd.F8) do wait (20) end
ff = 8
break
end
if (Kbd.IsKeyPress(Kbd.F9)) then
while Kbd.IsKeyPress(Kbd.F9) do wait (20) end
ff = 9
break
end
if (Kbd.IsKeyPress(Kbd.F10)) then
while Kbd.IsKeyPress(Kbd.F10) do wait (20) end
ff = 10
break
end
if (Kbd.IsKeyPress(Kbd.F11)) then
while Kbd.IsKeyPress(Kbd.F11) do wait (20) end
ff = 11
break
end
if (Kbd.IsKeyPress(Kbd.F12)) then
while Kbd.IsKeyPress(Kbd.F12) do wait (20) end
ff = 12
break
end
end
end
--=============================================================
if (Kbd.IsKeyPress(Kbd.F5)) or ff == 5 then
while Kbd.IsKeyPress(Kbd.F5) do wait (20) end
while 1 do
hint ("f5")
-------------------------------------------------------------------------------- если нажата f5
if (Kbd.IsKeyPress(Kbd.F1)) then
while Kbd.IsKeyPress(Kbd.F1) do wait (20) end
ff = 1
break
end
if (Kbd.IsKeyPress(Kbd.F2)) then
while Kbd.IsKeyPress(Kbd.F2) do wait (20) end
ff = 2
break
end
if (Kbd.IsKeyPress(Kbd.F3)) then
while Kbd.IsKeyPress(Kbd.F3) do wait (20) end
ff = 3
break
end
if (Kbd.IsKeyPress(Kbd.F4)) then
while Kbd.IsKeyPress(Kbd.F4) do wait (20) end
ff = 4
break
end
if (Kbd.IsKeyPress(Kbd.F5)) then
while Kbd.IsKeyPress(Kbd.F5) do wait (20) end
ff = nil
break
end
if (Kbd.IsKeyPress(Kbd.F6)) then
while Kbd.IsKeyPress(Kbd.F6) do wait (20) end
ff = 6
break
end
if (Kbd.IsKeyPress(Kbd.F7)) then
while Kbd.IsKeyPress(Kbd.F7) do wait (20) end
ff = 7
break
end
if (Kbd.IsKeyPress(Kbd.F8)) then
while Kbd.IsKeyPress(Kbd.F8) do wait (20) end
ff = 8
break
end
if (Kbd.IsKeyPress(Kbd.F9)) then
while Kbd.IsKeyPress(Kbd.F9) do wait (20) end
ff = 9
break
end
if (Kbd.IsKeyPress(Kbd.F10)) then
while Kbd.IsKeyPress(Kbd.F10) do wait (20) end
ff = 10
break
end
if (Kbd.IsKeyPress(Kbd.F11)) then
while Kbd.IsKeyPress(Kbd.F11) do wait (20) end
ff = 11
break
end
if (Kbd.IsKeyPress(Kbd.F12)) then
while Kbd.IsKeyPress(Kbd.F12) do wait (20) end
ff = 12
break
end
end
end
--==============================================================
if (Kbd.IsKeyPress(Kbd.F6)) or ff == 6 then
while Kbd.IsKeyPress(Kbd.F6) do wait (20) end
while 1 do
hint ("f6")
-------------------------------------------------------------------------------- если нажата f6
if (Kbd.IsKeyPress(Kbd.F1)) then
while Kbd.IsKeyPress(Kbd.F1) do wait (20) end
ff = 1
break
end
if (Kbd.IsKeyPress(Kbd.F2)) then
while Kbd.IsKeyPress(Kbd.F2) do wait (20) end
ff = 2
break
end
if (Kbd.IsKeyPress(Kbd.F3)) then
while Kbd.IsKeyPress(Kbd.F3) do wait (20) end
ff = 3
break
end
if (Kbd.IsKeyPress(Kbd.F4)) then
while Kbd.IsKeyPress(Kbd.F4) do wait (20) end
ff = 4
break
end
if (Kbd.IsKeyPress(Kbd.F5)) then
while Kbd.IsKeyPress(Kbd.F5) do wait (20) end
ff = 5
break
end
if (Kbd.IsKeyPress(Kbd.F6)) then
while Kbd.IsKeyPress(Kbd.F6) do wait (20) end
ff = nil
break
end
if (Kbd.IsKeyPress(Kbd.F7)) then
while Kbd.IsKeyPress(Kbd.F7) do wait (20) end
ff = 7
break
end
if (Kbd.IsKeyPress(Kbd.F8)) then
while Kbd.IsKeyPress(Kbd.F8) do wait (20) end
ff = 8
break
end
if (Kbd.IsKeyPress(Kbd.F9)) then
while Kbd.IsKeyPress(Kbd.F9) do wait (20) end
ff = 9
break
end
if (Kbd.IsKeyPress(Kbd.F10)) then
while Kbd.IsKeyPress(Kbd.F10) do wait (20) end
ff = 10
break
end
if (Kbd.IsKeyPress(Kbd.F11)) then
while Kbd.IsKeyPress(Kbd.F11) do wait (20) end
ff = 11
break
end
if (Kbd.IsKeyPress(Kbd.F12)) then
while Kbd.IsKeyPress(Kbd.F12) do wait (20) end
ff = 12
break
end
end
end
--==============================================================
if (Kbd.IsKeyPress(Kbd.F7)) or ff == 7 then
while Kbd.IsKeyPress(Kbd.F7) do wait (20) end
while 1 do
hint ("f7")
-------------------------------------------------------------------------------- если нажата f7
if (Kbd.IsKeyPress(Kbd.F1)) then
while Kbd.IsKeyPress(Kbd.F1) do wait (20) end
ff = 1
break
end
if (Kbd.IsKeyPress(Kbd.F2)) then
while Kbd.IsKeyPress(Kbd.F2) do wait (20) end
ff = 2
break
end
if (Kbd.IsKeyPress(Kbd.F3)) then
while Kbd.IsKeyPress(Kbd.F3) do wait (20) end
ff = 3
break
end
if (Kbd.IsKeyPress(Kbd.F4)) then
while Kbd.IsKeyPress(Kbd.F4) do wait (20) end
ff = 4
break
end
if (Kbd.IsKeyPress(Kbd.F5)) then
while Kbd.IsKeyPress(Kbd.F5) do wait (20) end
ff = 5
break
end
if (Kbd.IsKeyPress(Kbd.F6)) then
while Kbd.IsKeyPress(Kbd.F6) do wait (20) end
ff = 6
break
end
if (Kbd.IsKeyPress(Kbd.F7)) then
while Kbd.IsKeyPress(Kbd.F7) do wait (20) end
ff = nil
break
end
if (Kbd.IsKeyPress(Kbd.F8)) then
while Kbd.IsKeyPress(Kbd.F8) do wait (20) end
ff = 8
break
end
if (Kbd.IsKeyPress(Kbd.F9)) then
while Kbd.IsKeyPress(Kbd.F9) do wait (20) end
ff = 9
break
end
if (Kbd.IsKeyPress(Kbd.F10)) then
while Kbd.IsKeyPress(Kbd.F10) do wait (20) end
ff = 10
break
end
if (Kbd.IsKeyPress(Kbd.F11)) then
while Kbd.IsKeyPress(Kbd.F11) do wait (20) end
ff = 11
break
end
if (Kbd.IsKeyPress(Kbd.F12)) then
while Kbd.IsKeyPress(Kbd.F12) do wait (20) end
ff = 12
break
end
end
end
--============================================================
if (Kbd.IsKeyPress(Kbd.F8)) or ff == 8 then
while Kbd.IsKeyPress(Kbd.F8) do wait (20) end
while 1 do
hint ("f8")
-------------------------------------------------------------------------------- если нажата f8
if (Kbd.IsKeyPress(Kbd.F1)) then
while Kbd.IsKeyPress(Kbd.F1) do wait (20) end
ff = 1
break
end
if (Kbd.IsKeyPress(Kbd.F2)) then
while Kbd.IsKeyPress(Kbd.F2) do wait (20) end
ff = 2
break
end
if (Kbd.IsKeyPress(Kbd.F3)) then
while Kbd.IsKeyPress(Kbd.F3) do wait (20) end
ff = 3
break
end
if (Kbd.IsKeyPress(Kbd.F4)) then
while Kbd.IsKeyPress(Kbd.F4) do wait (20) end
ff = 4
break
end
if (Kbd.IsKeyPress(Kbd.F5)) then
while Kbd.IsKeyPress(Kbd.F5) do wait (20) end
ff = 5
break
end
if (Kbd.IsKeyPress(Kbd.F6)) then
while Kbd.IsKeyPress(Kbd.F6) do wait (20) end
ff = 6
break
end
if (Kbd.IsKeyPress(Kbd.F7)) then
while Kbd.IsKeyPress(Kbd.F7) do wait (20) end
ff = 7
break
end
if (Kbd.IsKeyPress(Kbd.F8)) then
while Kbd.IsKeyPress(Kbd.F8) do wait (20) end
ff = nil
break
end
if (Kbd.IsKeyPress(Kbd.F9)) then
while Kbd.IsKeyPress(Kbd.F9) do wait (20) end
ff = 9
break
end
if (Kbd.IsKeyPress(Kbd.F10)) then
while Kbd.IsKeyPress(Kbd.F10) do wait (20) end
ff = 10
break
end
if (Kbd.IsKeyPress(Kbd.F11)) then
while Kbd.IsKeyPress(Kbd.F11) do wait (20) end
ff = 11
break
end
if (Kbd.IsKeyPress(Kbd.F12)) then
while Kbd.IsKeyPress(Kbd.F12) do wait (20) end
ff = 12
break
end
end
end
--===============================================================
if (Kbd.IsKeyPress(Kbd.F9)) or ff == 9 then
while Kbd.IsKeyPress(Kbd.F9) do wait (20) end
while 1 do
hint ("f9")
-------------------------------------------------------------------------------- если нажата f9
if (Kbd.IsKeyPress(Kbd.F1)) then
while Kbd.IsKeyPress(Kbd.F1) do wait (20) end
ff = 1
break
end
if (Kbd.IsKeyPress(Kbd.F2)) then
while Kbd.IsKeyPress(Kbd.F2) do wait (20) end
ff = 2
break
end
if (Kbd.IsKeyPress(Kbd.F3)) then
while Kbd.IsKeyPress(Kbd.F3) do wait (20) end
ff = 3
break
end
if (Kbd.IsKeyPress(Kbd.F4)) then
while Kbd.IsKeyPress(Kbd.F4) do wait (20) end
ff = 4
break
end
if (Kbd.IsKeyPress(Kbd.F5)) then
while Kbd.IsKeyPress(Kbd.F5) do wait (20) end
ff = 5
break
end
if (Kbd.IsKeyPress(Kbd.F6)) then
while Kbd.IsKeyPress(Kbd.F6) do wait (20) end
ff = 6
break
end
if (Kbd.IsKeyPress(Kbd.F7)) then
while Kbd.IsKeyPress(Kbd.F7) do wait (20) end
ff = 7
break
end
if (Kbd.IsKeyPress(Kbd.F8)) then
while Kbd.IsKeyPress(Kbd.F8) do wait (20) end
ff = 8
break
end
if (Kbd.IsKeyPress(Kbd.F9)) then
while Kbd.IsKeyPress(Kbd.F9) do wait (20) end
ff = nil
break
end
if (Kbd.IsKeyPress(Kbd.F10)) then
while Kbd.IsKeyPress(Kbd.F10) do wait (20) end
ff = 10
break
end
if (Kbd.IsKeyPress(Kbd.F11)) then
while Kbd.IsKeyPress(Kbd.F11) do wait (20) end
ff = 11
break
end
if (Kbd.IsKeyPress(Kbd.F12)) then
while Kbd.IsKeyPress(Kbd.F12) do wait (20) end
ff = 12
break
end
end
end
--==============================================================
if (Kbd.IsKeyPress(Kbd.F10)) or ff == 10 then
while Kbd.IsKeyPress(Kbd.F10) do wait (20) end
while 1 do
hint ("f10")
-------------------------------------------------------------------------------- если нажата f10
if (Kbd.IsKeyPress(Kbd.F1)) then
while Kbd.IsKeyPress(Kbd.F1) do wait (20) end
ff = 1
break
end
if (Kbd.IsKeyPress(Kbd.F2)) then
while Kbd.IsKeyPress(Kbd.F2) do wait (20) end
ff = 2
break
end
if (Kbd.IsKeyPress(Kbd.F3)) then
while Kbd.IsKeyPress(Kbd.F3) do wait (20) end
ff = 3
break
end
if (Kbd.IsKeyPress(Kbd.F4)) then
while Kbd.IsKeyPress(Kbd.F4) do wait (20) end
ff = 4
break
end
if (Kbd.IsKeyPress(Kbd.F5)) then
while Kbd.IsKeyPress(Kbd.F5) do wait (20) end
ff = 5
break
end
if (Kbd.IsKeyPress(Kbd.F6)) then
while Kbd.IsKeyPress(Kbd.F6) do wait (20) end
ff = 6
break
end
if (Kbd.IsKeyPress(Kbd.F7)) then
while Kbd.IsKeyPress(Kbd.F7) do wait (20) end
ff = 7
break
end
if (Kbd.IsKeyPress(Kbd.F8)) then
while Kbd.IsKeyPress(Kbd.F8) do wait (20) end
ff = 8
break
end
if (Kbd.IsKeyPress(Kbd.F9)) then
while Kbd.IsKeyPress(Kbd.F9) do wait (20) end
ff = 9
break
end
if (Kbd.IsKeyPress(Kbd.F10)) then
while Kbd.IsKeyPress(Kbd.F10) do wait (20) end
ff = nil
break
end
if (Kbd.IsKeyPress(Kbd.F11)) then
while Kbd.IsKeyPress(Kbd.F11) do wait (20) end
ff = 11
break
end
if (Kbd.IsKeyPress(Kbd.F12)) then
while Kbd.IsKeyPress(Kbd.F12) do wait (20) end
ff = 12
break
end
end
end
--===========================================================
if (Kbd.IsKeyPress(Kbd.F11)) or ff == 11 then
while Kbd.IsKeyPress(Kbd.F11) do wait (20) end
while 1 do
hint ("f11")
-------------------------------------------------------------------------------- если нажата f11
if (Kbd.IsKeyPress(Kbd.F1)) then
while Kbd.IsKeyPress(Kbd.F1) do wait (20) end
ff = 1
break
end
if (Kbd.IsKeyPress(Kbd.F2)) then
while Kbd.IsKeyPress(Kbd.F2) do wait (20) end
ff = 2
break
end
if (Kbd.IsKeyPress(Kbd.F3)) then
while Kbd.IsKeyPress(Kbd.F3) do wait (20) end
ff = 3
break
end
if (Kbd.IsKeyPress(Kbd.F4)) then
while Kbd.IsKeyPress(Kbd.F4) do wait (20) end
ff = 4
break
end
if (Kbd.IsKeyPress(Kbd.F5)) then
while Kbd.IsKeyPress(Kbd.F5) do wait (20) end
ff = 5
break
end
if (Kbd.IsKeyPress(Kbd.F6)) then
while Kbd.IsKeyPress(Kbd.F6) do wait (20) end
ff = 6
break
end
if (Kbd.IsKeyPress(Kbd.F7)) then
while Kbd.IsKeyPress(Kbd.F7) do wait (20) end
ff = 7
break
end
if (Kbd.IsKeyPress(Kbd.F8)) then
while Kbd.IsKeyPress(Kbd.F8) do wait (20) end
ff = 8
break
end
if (Kbd.IsKeyPress(Kbd.F9)) then
while Kbd.IsKeyPress(Kbd.F9) do wait (20) end
ff = 9
break
end
if (Kbd.IsKeyPress(Kbd.F10)) then
while Kbd.IsKeyPress(Kbd.F10) do wait (20) end
ff = 10
break
end
if (Kbd.IsKeyPress(Kbd.F11)) then
while Kbd.IsKeyPress(Kbd.F11) do wait (20) end
ff = nil
break
end
if (Kbd.IsKeyPress(Kbd.F12)) then
while Kbd.IsKeyPress(Kbd.F12) do wait (20) end
ff = 12
break
end
end
end
--====================================================================
if (Kbd.IsKeyPress(Kbd.F12)) or ff == 12 then
while Kbd.IsKeyPress(Kbd.F12) do wait (20) end
while 1 do
hint ("f12")
-------------------------------------------------------------------------------- если нажата f12
if (Kbd.IsKeyPress(Kbd.F1)) then
while Kbd.IsKeyPress(Kbd.F1) do wait (20) end
ff = 1
break
end
if (Kbd.IsKeyPress(Kbd.F2)) then
while Kbd.IsKeyPress(Kbd.F2) do wait (20) end
ff = 2
break
end
if (Kbd.IsKeyPress(Kbd.F3)) then
while Kbd.IsKeyPress(Kbd.F3) do wait (20) end
ff = 3
break
end
if (Kbd.IsKeyPress(Kbd.F4)) then
while Kbd.IsKeyPress(Kbd.F4) do wait (20) end
ff = 4
break
end
if (Kbd.IsKeyPress(Kbd.F5)) then
while Kbd.IsKeyPress(Kbd.F5) do wait (20) end
ff = 5
break
end
if (Kbd.IsKeyPress(Kbd.F6)) then
while Kbd.IsKeyPress(Kbd.F6) do wait (20) end
ff = 6
break
end
if (Kbd.IsKeyPress(Kbd.F7)) then
while Kbd.IsKeyPress(Kbd.F7) do wait (20) end
ff = 7
break
end
if (Kbd.IsKeyPress(Kbd.F8)) then
while Kbd.IsKeyPress(Kbd.F8) do wait (20) end
ff = 8
break
end
if (Kbd.IsKeyPress(Kbd.F9)) then
while Kbd.IsKeyPress(Kbd.F9) do wait (20) end
ff = 9
break
end
if (Kbd.IsKeyPress(Kbd.F10)) then
while Kbd.IsKeyPress(Kbd.F10) do wait (20) end
ff = 10
break
end
if (Kbd.IsKeyPress(Kbd.F11)) then
while Kbd.IsKeyPress(Kbd.F11) do wait (20) end
ff = 11
break
end
if (Kbd.IsKeyPress(Kbd.F12)) then
while Kbd.IsKeyPress(Kbd.F12) do wait (20) end
ff = nil
break
end
end
end
end
Что должен делать скрипт?
Как минимум использовать циклы:
--lua
require("Kbd")
arr={"F1", "F2", "F3", "F4", "F5", "F6", "F7", "F8", "F9", "F10", "F11", "F12"}
while 1 do
for i = 112, 123 do
if Kbd.IsKeyPress(i) then
hint ("Нажата " .. arr[i-111])
wait (100)
end
wait (1)
end
end
--lua
require("Kbd")
arr={"F1", "F2", "F3", "F4", "F5", "F6", "F7", "F8", "F9", "F10", "F11", "F12"}
while 1 do
for i = 112, 123 do
if Kbd.IsKeyPress(i) then
hint ("Нажата " .. arr[i-111])
wait (100)
end
wait (1)
end
end
--lua
require("Kbd")
ff = nil
while 1 do
hint (".") -------------------------------------------------- выполняется сразу
--=============================================================
if (Kbd.IsKeyPress(Kbd.F1)) or ff == 1 then
while Kbd.IsKeyPress(Kbd.F1) do wait (20) end while 1 do
hint ("Нажата f1") -------------------------------------------- если нажата f1
if (Kbd.IsKeyPress(Kbd.F1)) then
while Kbd.IsKeyPress(Kbd.F1) do wait (20) end ff = nil break end
if (Kbd.IsKeyPress(Kbd.F2)) then
while Kbd.IsKeyPress(Kbd.F2) do wait (20) end ff = 2 break end
if (Kbd.IsKeyPress(Kbd.F3)) then
while Kbd.IsKeyPress(Kbd.F3) do wait (20) end ff = 3 break end
if (Kbd.IsKeyPress(Kbd.F4)) then
while Kbd.IsKeyPress(Kbd.F4) do wait (20) end ff = 4 break end
if (Kbd.IsKeyPress(Kbd.F5)) then
while Kbd.IsKeyPress(Kbd.F5) do wait (20) end ff = 5 break end
if (Kbd.IsKeyPress(Kbd.F6)) then
while Kbd.IsKeyPress(Kbd.F6) do wait (20) end ff = 6 break end
if (Kbd.IsKeyPress(Kbd.F7)) then
while Kbd.IsKeyPress(Kbd.F7) do wait (20) end ff = 7 break end
if (Kbd.IsKeyPress(Kbd.F8)) then
while Kbd.IsKeyPress(Kbd.F8) do wait (20) end ff = 8 break end
if (Kbd.IsKeyPress(Kbd.F9)) then
while Kbd.IsKeyPress(Kbd.F9) do wait (20) end ff = 9 break end
if (Kbd.IsKeyPress(Kbd.F10)) then
while Kbd.IsKeyPress(Kbd.F10) do wait (20) end ff = 10 break end
if (Kbd.IsKeyPress(Kbd.F11)) then
while Kbd.IsKeyPress(Kbd.F11) do wait (20) end ff = 11 break end
if (Kbd.IsKeyPress(Kbd.F12)) then
while Kbd.IsKeyPress(Kbd.F12) do wait (20) end ff = 12 break end end end
--==============================================================
if (Kbd.IsKeyPress(Kbd.F2)) or ff == 2 then
while Kbd.IsKeyPress(Kbd.F2) do wait (20) end while 1 do
hint ("Нажата f2") --------------------------------------------- если нажата f2
if (Kbd.IsKeyPress(Kbd.F1)) then
while Kbd.IsKeyPress(Kbd.F1) do wait (20) end ff = 1 break end
if (Kbd.IsKeyPress(Kbd.F2)) then
while Kbd.IsKeyPress(Kbd.F2) do wait (20) end ff = nil break end
if (Kbd.IsKeyPress(Kbd.F3)) then
while Kbd.IsKeyPress(Kbd.F3) do wait (20) end ff = 3 break end
if (Kbd.IsKeyPress(Kbd.F4)) then
while Kbd.IsKeyPress(Kbd.F4) do wait (20) end ff = 4 break end
if (Kbd.IsKeyPress(Kbd.F5)) then
while Kbd.IsKeyPress(Kbd.F5) do wait (20) end ff = 5 break end
if (Kbd.IsKeyPress(Kbd.F6)) then
while Kbd.IsKeyPress(Kbd.F6) do wait (20) end ff = 6 break end
if (Kbd.IsKeyPress(Kbd.F7)) then
while Kbd.IsKeyPress(Kbd.F7) do wait (20) end ff = 7 break end
if (Kbd.IsKeyPress(Kbd.F8)) then
while Kbd.IsKeyPress(Kbd.F8) do wait (20) end ff = 8 break end
if (Kbd.IsKeyPress(Kbd.F9)) then
while Kbd.IsKeyPress(Kbd.F9) do wait (20) end ff = 9 break end
if (Kbd.IsKeyPress(Kbd.F10)) then
while Kbd.IsKeyPress(Kbd.F10) do wait (20) end ff = 10 break end
if (Kbd.IsKeyPress(Kbd.F11)) then
while Kbd.IsKeyPress(Kbd.F11) do wait (20) end ff = 11 break end
if (Kbd.IsKeyPress(Kbd.F12)) then
while Kbd.IsKeyPress(Kbd.F12) do wait (20) end ff = 12 break end end end
--==============================================================
if (Kbd.IsKeyPress(Kbd.F3)) or ff == 3 then
while Kbd.IsKeyPress(Kbd.F3) do wait (20) end while 1 do
hint ("Нажата f3") --------------------------------------------- если нажата f3
if (Kbd.IsKeyPress(Kbd.F1)) then
while Kbd.IsKeyPress(Kbd.F1) do wait (20) end ff = 1 break end
if (Kbd.IsKeyPress(Kbd.F2)) then
while Kbd.IsKeyPress(Kbd.F2) do wait (20) end ff = 2 break end
if (Kbd.IsKeyPress(Kbd.F3)) then
while Kbd.IsKeyPress(Kbd.F3) do wait (20) end ff = nil break end
if (Kbd.IsKeyPress(Kbd.F4)) then
while Kbd.IsKeyPress(Kbd.F4) do wait (20) end ff = 4 break end
if (Kbd.IsKeyPress(Kbd.F5)) then
while Kbd.IsKeyPress(Kbd.F5) do wait (20) end ff = 5 break end
if (Kbd.IsKeyPress(Kbd.F6)) then
while Kbd.IsKeyPress(Kbd.F6) do wait (20) end ff = 6 break end
if (Kbd.IsKeyPress(Kbd.F7)) then
while Kbd.IsKeyPress(Kbd.F7) do wait (20) end ff = 7 break end
if (Kbd.IsKeyPress(Kbd.F8)) then
while Kbd.IsKeyPress(Kbd.F8) do wait (20) end ff = 8 break end
if (Kbd.IsKeyPress(Kbd.F9)) then
while Kbd.IsKeyPress(Kbd.F9) do wait (20) end ff = 9 break end
if (Kbd.IsKeyPress(Kbd.F10)) then
while Kbd.IsKeyPress(Kbd.F10) do wait (20) end ff = 10 break end
if (Kbd.IsKeyPress(Kbd.F11)) then
while Kbd.IsKeyPress(Kbd.F11) do wait (20) end ff = 11 break end
if (Kbd.IsKeyPress(Kbd.F12)) then
while Kbd.IsKeyPress(Kbd.F12) do wait (20) end ff = 12 break end end end
--==============================================================
if (Kbd.IsKeyPress(Kbd.F4)) or ff == 4 then
while Kbd.IsKeyPress(Kbd.F4) do wait (20) end while 1 do
hint ("Нажата f4") --------------------------------------------- если нажата f4
if (Kbd.IsKeyPress(Kbd.F1)) then
while Kbd.IsKeyPress(Kbd.F1) do wait (20) end ff = 1 break end
if (Kbd.IsKeyPress(Kbd.F2)) then
while Kbd.IsKeyPress(Kbd.F2) do wait (20) end ff = 2 break end
if (Kbd.IsKeyPress(Kbd.F3)) then
while Kbd.IsKeyPress(Kbd.F3) do wait (20) end ff = 3 break end
if (Kbd.IsKeyPress(Kbd.F4)) then
while Kbd.IsKeyPress(Kbd.F4) do wait (20) end ff = nil break end
if (Kbd.IsKeyPress(Kbd.F5)) then
while Kbd.IsKeyPress(Kbd.F5) do wait (20) end ff = 5 break end
if (Kbd.IsKeyPress(Kbd.F6)) then
while Kbd.IsKeyPress(Kbd.F6) do wait (20) end ff = 6 break end
if (Kbd.IsKeyPress(Kbd.F7)) then
while Kbd.IsKeyPress(Kbd.F7) do wait (20) end ff = 7 break end
if (Kbd.IsKeyPress(Kbd.F8)) then
while Kbd.IsKeyPress(Kbd.F8) do wait (20) end ff = 8 break end
if (Kbd.IsKeyPress(Kbd.F9)) then
while Kbd.IsKeyPress(Kbd.F9) do wait (20) end ff = 9 break end
if (Kbd.IsKeyPress(Kbd.F10)) then
while Kbd.IsKeyPress(Kbd.F10) do wait (20) end ff = 10 break end
if (Kbd.IsKeyPress(Kbd.F11)) then
while Kbd.IsKeyPress(Kbd.F11) do wait (20) end ff = 11 break end
if (Kbd.IsKeyPress(Kbd.F12)) then
while Kbd.IsKeyPress(Kbd.F12) do wait (20) end ff = 12 break end end end
--==============================================================
if (Kbd.IsKeyPress(Kbd.F5)) or ff == 5 then
while Kbd.IsKeyPress(Kbd.F5) do wait (20) end while 1 do
hint ("Нажата f5") --------------------------------------------- если нажата f5
if (Kbd.IsKeyPress(Kbd.F1)) then
while Kbd.IsKeyPress(Kbd.F1) do wait (20) end ff = 1 break end
if (Kbd.IsKeyPress(Kbd.F2)) then
while Kbd.IsKeyPress(Kbd.F2) do wait (20) end ff = 2 break end
if (Kbd.IsKeyPress(Kbd.F3)) then
while Kbd.IsKeyPress(Kbd.F3) do wait (20) end ff = 3 break end
if (Kbd.IsKeyPress(Kbd.F4)) then
while Kbd.IsKeyPress(Kbd.F4) do wait (20) end ff = 4 break end
if (Kbd.IsKeyPress(Kbd.F5)) then
while Kbd.IsKeyPress(Kbd.F5) do wait (20) end ff = nil break end
if (Kbd.IsKeyPress(Kbd.F6)) then
while Kbd.IsKeyPress(Kbd.F6) do wait (20) end ff = 6 break end
if (Kbd.IsKeyPress(Kbd.F7)) then
while Kbd.IsKeyPress(Kbd.F7) do wait (20) end ff = 7 break end
if (Kbd.IsKeyPress(Kbd.F8)) then
while Kbd.IsKeyPress(Kbd.F8) do wait (20) end ff = 8 break end
if (Kbd.IsKeyPress(Kbd.F9)) then
while Kbd.IsKeyPress(Kbd.F9) do wait (20) end ff = 9 break end
if (Kbd.IsKeyPress(Kbd.F10)) then
while Kbd.IsKeyPress(Kbd.F10) do wait (20) end ff = 10 break end
if (Kbd.IsKeyPress(Kbd.F11)) then
while Kbd.IsKeyPress(Kbd.F11) do wait (20) end ff = 11 break end
if (Kbd.IsKeyPress(Kbd.F12)) then
while Kbd.IsKeyPress(Kbd.F12) do wait (20) end ff = 12 break end end end
--===============================================================
if (Kbd.IsKeyPress(Kbd.F6)) or ff == 6 then
while Kbd.IsKeyPress(Kbd.F6) do wait (20) end while 1 do
hint ("Нажата f6") ---------------------------------------------- если нажата f6
if (Kbd.IsKeyPress(Kbd.F1)) then
while Kbd.IsKeyPress(Kbd.F1) do wait (20) end ff = 1 break end
if (Kbd.IsKeyPress(Kbd.F2)) then
while Kbd.IsKeyPress(Kbd.F2) do wait (20) end ff = 2 break end
if (Kbd.IsKeyPress(Kbd.F3)) then
while Kbd.IsKeyPress(Kbd.F3) do wait (20) end ff = 3 break end
if (Kbd.IsKeyPress(Kbd.F4)) then
while Kbd.IsKeyPress(Kbd.F4) do wait (20) end ff = 4 break end
if (Kbd.IsKeyPress(Kbd.F5)) then
while Kbd.IsKeyPress(Kbd.F5) do wait (20) end ff = 5 break end
if (Kbd.IsKeyPress(Kbd.F6)) then
while Kbd.IsKeyPress(Kbd.F6) do wait (20) end ff = nil break end
if (Kbd.IsKeyPress(Kbd.F7)) then
while Kbd.IsKeyPress(Kbd.F7) do wait (20) end ff = 7 break end
if (Kbd.IsKeyPress(Kbd.F8)) then
while Kbd.IsKeyPress(Kbd.F8) do wait (20) end ff = 8 break end
if (Kbd.IsKeyPress(Kbd.F9)) then
while Kbd.IsKeyPress(Kbd.F9) do wait (20) end ff = 9 break end
if (Kbd.IsKeyPress(Kbd.F10)) then
while Kbd.IsKeyPress(Kbd.F10) do wait (20) end ff = 10 break end
if (Kbd.IsKeyPress(Kbd.F11)) then
while Kbd.IsKeyPress(Kbd.F11) do wait (20) end ff = 11 break end
if (Kbd.IsKeyPress(Kbd.F12)) then
while Kbd.IsKeyPress(Kbd.F12) do wait (20) end ff = 12 break end end end
--==============================================================
if (Kbd.IsKeyPress(Kbd.F7)) or ff == 7 then
while Kbd.IsKeyPress(Kbd.F7) do wait (20) end while 1 do
hint ("Нажата f7") --------------------------------------------- если нажата f7
if (Kbd.IsKeyPress(Kbd.F1)) then
while Kbd.IsKeyPress(Kbd.F1) do wait (20) end ff = 1 break end
if (Kbd.IsKeyPress(Kbd.F2)) then
while Kbd.IsKeyPress(Kbd.F2) do wait (20) end ff = 2 break end
if (Kbd.IsKeyPress(Kbd.F3)) then
while Kbd.IsKeyPress(Kbd.F3) do wait (20) end ff = 3 break end
if (Kbd.IsKeyPress(Kbd.F4)) then
while Kbd.IsKeyPress(Kbd.F4) do wait (20) end ff = 4 break end
if (Kbd.IsKeyPress(Kbd.F5)) then
while Kbd.IsKeyPress(Kbd.F5) do wait (20) end ff = 5 break end
if (Kbd.IsKeyPress(Kbd.F6)) then
while Kbd.IsKeyPress(Kbd.F6) do wait (20) end ff = 6 break end
if (Kbd.IsKeyPress(Kbd.F7)) then
while Kbd.IsKeyPress(Kbd.F7) do wait (20) end ff = nil break end
if (Kbd.IsKeyPress(Kbd.F8)) then
while Kbd.IsKeyPress(Kbd.F8) do wait (20) end ff = 8 break end
if (Kbd.IsKeyPress(Kbd.F9)) then
while Kbd.IsKeyPress(Kbd.F9) do wait (20) end ff = 9 break end
if (Kbd.IsKeyPress(Kbd.F10)) then
while Kbd.IsKeyPress(Kbd.F10) do wait (20) end ff = 10 break end
if (Kbd.IsKeyPress(Kbd.F11)) then
while Kbd.IsKeyPress(Kbd.F11) do wait (20) end ff = 11 break end
if (Kbd.IsKeyPress(Kbd.F12)) then
while Kbd.IsKeyPress(Kbd.F12) do wait (20) end ff = 12 break end end end
--==============================================================
if (Kbd.IsKeyPress(Kbd.F8)) or ff == 8 then
while Kbd.IsKeyPress(Kbd.F8) do wait (20) end while 1 do
hint ("Нажата f8") --------------------------------------------- если нажата f8
if (Kbd.IsKeyPress(Kbd.F1)) then
while Kbd.IsKeyPress(Kbd.F1) do wait (20) end ff = 1 break end
if (Kbd.IsKeyPress(Kbd.F2)) then
while Kbd.IsKeyPress(Kbd.F2) do wait (20) end ff = 2 break end
if (Kbd.IsKeyPress(Kbd.F3)) then
while Kbd.IsKeyPress(Kbd.F3) do wait (20) end ff = 3 break end
if (Kbd.IsKeyPress(Kbd.F4)) then
while Kbd.IsKeyPress(Kbd.F4) do wait (20) end ff = 4 break end
if (Kbd.IsKeyPress(Kbd.F5)) then
while Kbd.IsKeyPress(Kbd.F5) do wait (20) end ff = 5 break end
if (Kbd.IsKeyPress(Kbd.F6)) then
while Kbd.IsKeyPress(Kbd.F6) do wait (20) end ff = 6 break end
if (Kbd.IsKeyPress(Kbd.F7)) then
while Kbd.IsKeyPress(Kbd.F7) do wait (20) end ff = 7 break end
if (Kbd.IsKeyPress(Kbd.F8)) then
while Kbd.IsKeyPress(Kbd.F8) do wait (20) end ff = nil break end
if (Kbd.IsKeyPress(Kbd.F9)) then
while Kbd.IsKeyPress(Kbd.F9) do wait (20) end ff = 9 break end
if (Kbd.IsKeyPress(Kbd.F10)) then
while Kbd.IsKeyPress(Kbd.F10) do wait (20) end ff = 10 break end
if (Kbd.IsKeyPress(Kbd.F11)) then
while Kbd.IsKeyPress(Kbd.F11) do wait (20) end ff = 11 break end
if (Kbd.IsKeyPress(Kbd.F12)) then
while Kbd.IsKeyPress(Kbd.F12) do wait (20) end ff = 12 break end end end
--==============================================================
if (Kbd.IsKeyPress(Kbd.F9)) or ff == 9 then
while Kbd.IsKeyPress(Kbd.F9) do wait (20) end while 1 do
hint ("Нажата f9") --------------------------------------------- если нажата f9
if (Kbd.IsKeyPress(Kbd.F1)) then
while Kbd.IsKeyPress(Kbd.F1) do wait (20) end ff = 1 break end
if (Kbd.IsKeyPress(Kbd.F2)) then
while Kbd.IsKeyPress(Kbd.F2) do wait (20) end ff = 2 break end
if (Kbd.IsKeyPress(Kbd.F3)) then
while Kbd.IsKeyPress(Kbd.F3) do wait (20) end ff = 3 break end
if (Kbd.IsKeyPress(Kbd.F4)) then
while Kbd.IsKeyPress(Kbd.F4) do wait (20) end ff = 4 break end
if (Kbd.IsKeyPress(Kbd.F5)) then
while Kbd.IsKeyPress(Kbd.F5) do wait (20) end ff = 5 break end
if (Kbd.IsKeyPress(Kbd.F6)) then
while Kbd.IsKeyPress(Kbd.F6) do wait (20) end ff = 6 break end
if (Kbd.IsKeyPress(Kbd.F7)) then
while Kbd.IsKeyPress(Kbd.F7) do wait (20) end ff = 7 break end
if (Kbd.IsKeyPress(Kbd.F8)) then
while Kbd.IsKeyPress(Kbd.F8) do wait (20) end ff = 8 break end
if (Kbd.IsKeyPress(Kbd.F9)) then
while Kbd.IsKeyPress(Kbd.F9) do wait (20) end ff = nil break end
if (Kbd.IsKeyPress(Kbd.F10)) then
while Kbd.IsKeyPress(Kbd.F10) do wait (20) end ff = 10 break end
if (Kbd.IsKeyPress(Kbd.F11)) then
while Kbd.IsKeyPress(Kbd.F11) do wait (20) end ff = 11 break end
if (Kbd.IsKeyPress(Kbd.F12)) then
while Kbd.IsKeyPress(Kbd.F12) do wait (20) end ff = 12 break end end end
--==============================================================
if (Kbd.IsKeyPress(Kbd.F10)) or ff == 10 then
while Kbd.IsKeyPress(Kbd.F10) do wait (20) end while 1 do
hint ("Нажата f10") -------------------------------------------- если нажата f10
if (Kbd.IsKeyPress(Kbd.F1)) then
while Kbd.IsKeyPress(Kbd.F1) do wait (20) end ff = 1 break end
if (Kbd.IsKeyPress(Kbd.F2)) then
while Kbd.IsKeyPress(Kbd.F2) do wait (20) end ff = 2 break end
if (Kbd.IsKeyPress(Kbd.F3)) then
while Kbd.IsKeyPress(Kbd.F3) do wait (20) end ff = 3 break end
if (Kbd.IsKeyPress(Kbd.F4)) then
while Kbd.IsKeyPress(Kbd.F4) do wait (20) end ff = 4 break end
if (Kbd.IsKeyPress(Kbd.F5)) then
while Kbd.IsKeyPress(Kbd.F5) do wait (20) end ff = 5 break end
if (Kbd.IsKeyPress(Kbd.F6)) then
while Kbd.IsKeyPress(Kbd.F6) do wait (20) end ff = 6 break end
if (Kbd.IsKeyPress(Kbd.F7)) then
while Kbd.IsKeyPress(Kbd.F7) do wait (20) end ff = 7 break end
if (Kbd.IsKeyPress(Kbd.F8)) then
while Kbd.IsKeyPress(Kbd.F8) do wait (20) end ff = 8 break end
if (Kbd.IsKeyPress(Kbd.F9)) then
while Kbd.IsKeyPress(Kbd.F9) do wait (20) end ff = 9 break end
if (Kbd.IsKeyPress(Kbd.F10)) then
while Kbd.IsKeyPress(Kbd.F10) do wait (20) end ff = nil break end
if (Kbd.IsKeyPress(Kbd.F11)) then
while Kbd.IsKeyPress(Kbd.F11) do wait (20) end ff = 11 break end
if (Kbd.IsKeyPress(Kbd.F12)) then
while Kbd.IsKeyPress(Kbd.F12) do wait (20) end ff = 12 break end end end
--==============================================================
if (Kbd.IsKeyPress(Kbd.F11)) or ff == 11 then
while Kbd.IsKeyPress(Kbd.F11) do wait (20) end while 1 do
hint ("Нажата f11")--------------------------------------------- если нажата f11
if (Kbd.IsKeyPress(Kbd.F1)) then
while Kbd.IsKeyPress(Kbd.F1) do wait (20) end ff = 1 break end
if (Kbd.IsKeyPress(Kbd.F2)) then
while Kbd.IsKeyPress(Kbd.F2) do wait (20) end ff = 2 break end
if (Kbd.IsKeyPress(Kbd.F3)) then
while Kbd.IsKeyPress(Kbd.F3) do wait (20) end ff = 3 break end
if (Kbd.IsKeyPress(Kbd.F4)) then
while Kbd.IsKeyPress(Kbd.F4) do wait (20) end ff = 4 break end
if (Kbd.IsKeyPress(Kbd.F5)) then
while Kbd.IsKeyPress(Kbd.F5) do wait (20) end ff = 5 break end
if (Kbd.IsKeyPress(Kbd.F6)) then
while Kbd.IsKeyPress(Kbd.F6) do wait (20) end ff = 6 break end
if (Kbd.IsKeyPress(Kbd.F7)) then
while Kbd.IsKeyPress(Kbd.F7) do wait (20) end ff = 7 break end
if (Kbd.IsKeyPress(Kbd.F8)) then
while Kbd.IsKeyPress(Kbd.F8) do wait (20) end ff = 8 break end
if (Kbd.IsKeyPress(Kbd.F9)) then
while Kbd.IsKeyPress(Kbd.F9) do wait (20) end ff = 9 break end
if (Kbd.IsKeyPress(Kbd.F10)) then
while Kbd.IsKeyPress(Kbd.F10) do wait (20) end ff = 10 break end
if (Kbd.IsKeyPress(Kbd.F11)) then
while Kbd.IsKeyPress(Kbd.F11) do wait (20) end ff = nil break end
if (Kbd.IsKeyPress(Kbd.F12)) then
while Kbd.IsKeyPress(Kbd.F12) do wait (20) end ff = 12 break end end end
--==============================================================
if (Kbd.IsKeyPress(Kbd.F12)) or ff == 12 then
while Kbd.IsKeyPress(Kbd.F12) do wait (20) end while 1 do
hint ("Нажата f12") -------------------------------------------- если нажата f12
if (Kbd.IsKeyPress(Kbd.F1)) then
while Kbd.IsKeyPress(Kbd.F1) do wait (20) end ff = 1 break end
if (Kbd.IsKeyPress(Kbd.F2)) then
while Kbd.IsKeyPress(Kbd.F2) do wait (20) end ff = 2 break end
if (Kbd.IsKeyPress(Kbd.F3)) then
while Kbd.IsKeyPress(Kbd.F3) do wait (20) end ff = 3 break end
if (Kbd.IsKeyPress(Kbd.F4)) then
while Kbd.IsKeyPress(Kbd.F4) do wait (20) end ff = 4 break end
if (Kbd.IsKeyPress(Kbd.F5)) then
while Kbd.IsKeyPress(Kbd.F5) do wait (20) end ff = 5 break end
if (Kbd.IsKeyPress(Kbd.F6)) then
while Kbd.IsKeyPress(Kbd.F6) do wait (20) end ff = 6 break end
if (Kbd.IsKeyPress(Kbd.F7)) then
while Kbd.IsKeyPress(Kbd.F7) do wait (20) end ff = 7 break end
if (Kbd.IsKeyPress(Kbd.F8)) then
while Kbd.IsKeyPress(Kbd.F8) do wait (20) end ff = 8 break end
if (Kbd.IsKeyPress(Kbd.F9)) then
while Kbd.IsKeyPress(Kbd.F9) do wait (20) end ff = 9 break end
if (Kbd.IsKeyPress(Kbd.F10)) then
while Kbd.IsKeyPress(Kbd.F10) do wait (20) end ff = 10 break end
if (Kbd.IsKeyPress(Kbd.F11)) then
while Kbd.IsKeyPress(Kbd.F11) do wait (20) end ff = 11 break end
if (Kbd.IsKeyPress(Kbd.F12)) then
while Kbd.IsKeyPress(Kbd.F12) do wait (20) end ff = nil break end end end
end
Начни писать вменяемо форматированный код. Проблемы сразу уйдут - сам все увидишь.
А как пилот научится ?
--lua
require("Kbd")
arr={"F1", "F2", "F3", "F4", "F5", "F6", "F7", "F8", "F9", "F10", "F11", "F12"}
iq = nil
while 1 do
while 1 do
for i = 112, 123 do
hint ("жду нажатия")
if Kbd.IsKeyPress(i) then
--hint ("Нажата " .. arr[i-111])
iq = i
end
while Kbd.IsKeyPress(i) do wait (20) end
wait (1)
end
if iq ~= 0 then
wait (100)
break
end
end
while iq == 112 do
hint ("выполняю скрипт ф1")-------------тут скрипт1
wait (10)
for i = 112, 123 do
if Kbd.IsKeyPress(i) then
iq = i
if iq == 112 then
iq = nil
end
while Kbd.IsKeyPress(i) do wait (20) end
end
end
end
while iq == 113 do
hint ("выполняю скрипт ф2")-------------тут скрипт2
wait (10)
for i = 112, 123 do
if Kbd.IsKeyPress(i) then
iq = i
if iq == 113 then
iq = nil
end
while Kbd.IsKeyPress(i) do wait (20) end
end
end
end
while iq == 114 do
hint ("выполняю скрипт ф3")-------------тут скрипт3
wait (10)
for i = 112, 123 do
if Kbd.IsKeyPress(i) then
iq = i
if iq == 114 then
iq = nil
end
while Kbd.IsKeyPress(i) do wait (20) end
end
end
end
while iq == 115 do
hint ("выполняю скрипт ф4")--------------тут скрипт4
wait (10)
for i = 112, 123 do
if Kbd.IsKeyPress(i) then
iq = i
if iq == 115 then
iq = nil
end
while Kbd.IsKeyPress(i) do wait (20) end
end
end
end
end
--lua
require("Kbd")
iq = 0 arr = {112, 113, 114, 123} --Коды использующих клавиш f1-f3, f12
while 1 do while 1 do
for i = 1, #arr do i = arr[i] ----перебор клавиш f1-f3, f12
hint (".")
if Kbd.IsKeyPress(i) then iq = i end
while Kbd.IsKeyPress(i) do wait (20) end end
if iq ~= 0 then wait (20) break end
end
--========================
while iq == 112 do
hint ("Нажата F1")-------------------тут скрипт если нажата F1
for i = 1, #arr do i = arr[i]
if Kbd.IsKeyPress(i) then iq = i
if iq == 112 then iq = 0 end
while Kbd.IsKeyPress(i) do wait (20) end end end end
while iq == 113 do
hint ("Нажата F2")-------------------тут скрипт если нажата F2
for i = 1, #arr do i = arr[i]
if Kbd.IsKeyPress(i) then iq = i
if iq == 113 then iq = 0 end
while Kbd.IsKeyPress(i) do wait (20) end end end end
while iq == 114 do
hint ("Нажата F3")-------------------тут скрипт если нажата F3
for i = 1, #arr do i = arr[i]
if Kbd.IsKeyPress(i) then iq = i
if iq == 114 then iq = 0 end
while Kbd.IsKeyPress(i) do wait (20) end end end end
while iq == 123 do
hint ("Нажата F12")------------------тут скрипт если нажата F12
for i = 1, #arr do i = arr[i]
if Kbd.IsKeyPress(i) then iq = i
if iq == 123 then iq = 0 end
while Kbd.IsKeyPress(i) do wait (20) end end end end
end
--lua
require("Kbd")
--===== все функции можно загружать через require ====
function F1(button_current)
while Key_Press(button_current) == 0 do -- пока не нажата другая кнопка
log (1) wait (50) -- этот код выполняется при нажатии F1, до тех пор пока не нажата другая клавиша
end
end
function F2(button_current)
while Key_Press(button_current) == 0 do -- пока не нажата другая кнопка
log (2) wait (50) -- этот код выполняется при нажатии F2, до тех пор пока не нажата другая клавиша
end
end
function F3(button_current)
while Key_Press(button_current) == 0 do -- пока не нажата другая кнопка
log (3) wait (50) -- этот код выполняется при нажатии F3, до тех пор пока не нажата другая клавиша
end
end
function Key_Press(button) -- функция для отслеживания нажатий, чтобы выйти из текущей функции
for i = 1, #arr do
if Kbd.IsKeyPress(arr[i]) and arr[i] ~= button then
return 1
end
wait (1)
end
return 0
end
--===========
arr={112, 113, 114} -- какие клавиши отслеживать, 112(F1), 113(F2) и т. д.
t={F1, F2, F3} -- таблица с функциями
while 1 do
for i = 1, #arr do
if Kbd.IsKeyPress(arr[i]) then -- если нажата клавиша из массива arr
t[i](arr[i]) -- вызываем нужную функцию t[1] - при нажатии F1, t[2] - при нажатии F2
-- и передаём код клавиши, которая была нажата
end
wait (1)
end
end
--lua
require("Kbd")
--===== все функции можно загружать через require ====
function F1(button_current)
while Key_Press(button_current) == 0 do -- пока не нажата другая кнопка
log (1) wait (50) -- этот код выполняется при нажатии F1, до тех пор пока не нажата другая клавиша
end
end
function F2(button_current)
while Key_Press(button_current) == 0 do -- пока не нажата другая кнопка
log (2) wait (50) -- этот код выполняется при нажатии F2, до тех пор пока не нажата другая клавиша
end
end
function F3(button_current)
while Key_Press(button_current) == 0 do -- пока не нажата другая кнопка
log (3) wait (50) -- этот код выполняется при нажатии F3, до тех пор пока не нажата другая клавиша
end
end
function Key_Press(button) -- функция для отслеживания нажатий, чтобы выйти из текущей функции
for i = 1, #arr do
if Kbd.IsKeyPress(arr[i]) and arr[i] ~= button then
return 1
end
wait (1)
end
return 0
end
--===========
arr={112, 113, 114} -- какие клавиши отслеживать, 112(F1), 113(F2) и т. д.
t={F1, F2, F3} -- таблица с функциями
while 1 do
for i = 1, #arr do
if Kbd.IsKeyPress(arr[i]) then -- если нажата клавиша из массива arr
t[i](arr[i]) -- вызываем нужную функцию t[1] - при нажатии F1, t[2] - при нажатии F2
-- и передаём код клавиши, которая была нажата
end
wait (1)
end
end
--lua
require("Kbd")
--===== все функции можно загружать через require ====
function F1()
while Key_Press() == 0 do -- пока не нажата кнопка, если F1 выйдет из функции
log (1) wait (30) -- этот код выполняется при нажатии F1
end
end
function F2()
while Key_Press() == 0 do -- пока не нажата другая кнопка, если F2 выйдет из функции
log (2) wait (30) -- этот код выполняется при нажатии F2
end
end
function F3()
while Key_Press() == 0 do -- пока не нажата другая кнопка, если F3 выйдет из функции
log (3) wait (30) -- этот код выполняется при нажатии F3
end
end
function Key_Press() -- функция для отслеживания нажатий, чтобы выйти из текущей функции
for i = 1, #arr do
if Kbd.IsKeyPress(arr[i]) then
return 1
end
wait (1)
end
return 0
end
--===========
arr={112, 113, 114} -- какие клавиши отслеживать, 112(F1), 113(F2) и т. д.
t={F1, F2, F3} -- таблица с функциями
while 1 do
for i = 1, #arr do
if Kbd.IsKeyPress(arr[i]) then -- если нажата клавиша
time = os.clock () + 0.5 -- если кнопка зажата на 0.5 секунды, то функция тоже выполнится
while Kbd.IsKeyPress(arr[i]) and os.clock() < time do wait (10) end -- ждём когда кнопка будет отпущена или зажата на 0.5 секунды
t[i]() -- вызываем нужную функцию t[1] - при нажатии F1, t[2] - при нажатии F2
while Kbd.IsKeyPress(arr[i]) do wait (10) end -- ждём когда кнопка будет отпущена
end
wait (1)
end
end
--lua
require("Kbd")
--===== все функции можно загружать через require ====
function F1()
while Key_Press() == 0 do -- пока не нажата кнопка, если F1 выйдет из функции
log (1) wait (30) -- этот код выполняется при нажатии F1
end
end
function F2()
while Key_Press() == 0 do -- пока не нажата другая кнопка, если F2 выйдет из функции
log (2) wait (30) -- этот код выполняется при нажатии F2
end
end
function F3()
while Key_Press() == 0 do -- пока не нажата другая кнопка, если F3 выйдет из функции
log (3) wait (30) -- этот код выполняется при нажатии F3
end
end
function Key_Press() -- функция для отслеживания нажатий, чтобы выйти из текущей функции
for i = 1, #arr do
if Kbd.IsKeyPress(arr[i]) then
return 1
end
wait (1)
end
return 0
end
--===========
arr={112, 113, 114} -- какие клавиши отслеживать, 112(F1), 113(F2) и т. д.
t={F1, F2, F3} -- таблица с функциями
while 1 do
for i = 1, #arr do
if Kbd.IsKeyPress(arr[i]) then -- если нажата клавиша
time = os.clock () + 0.5 -- если кнопка зажата на 0.5 секунды, то функция тоже выполнится
while Kbd.IsKeyPress(arr[i]) and os.clock() < time do wait (10) end -- ждём когда кнопка будет отпущена или зажата на 0.5 секунды
t[i]() -- вызываем нужную функцию t[1] - при нажатии F1, t[2] - при нажатии F2
while Kbd.IsKeyPress(arr[i]) do wait (10) end -- ждём когда кнопка будет отпущена
end
wait (1)
end
end
--lua
a = findimage (0, 0, 1920, 1080, "(C:\\pilot\\111.bmp)", "%arr", 2, 80, -1, 5) -- возвращает тип данных string
hint (a)
if tonumber(a) > 0 then -- поэтому для сравнения с числом переводим строку в число
move (arr[1][1], arr [1][2]) -- навести курсор на картинку
end
как навести курсор на картинку не в (0 0) коодинаты, а со смещением?
прибавить их)
move (arr[1][1] + offset_x, arr [1][2] + offset_y)
Это луа, тут можно все достаточно нативно и без доп переменных/строк.
В чем отличие math.random и просто random? Оба случая работают
--lua
log "clear" log "mode compact"
while 1 do
time1 = os.clock (); log("ждем")
wait(1000+math.random(5000))
time2 = os.clock () - time1; log (time2)
end
--lua
log "clear" log "mode compact"
while 1 do
time1 = os.clock (); log("ждем")
wait(1000+random(5000))
time2 = os.clock () - time1; log (time2)
end
random - функция пилота, math.random - функция lua
--lua
time=os.clock()
for i=0, 100000 do
a=random(5000)
end
log(os.clock()-time)
--lua
time=os.clock()
for i=0, 100000 do
a=math.random(5000)
end
log(os.clock()-time)
--lua
a = math.random (-10, 6) -- от -10 до 6
log (a)
--lua
arr = {01,"02",03}
log "clear" log "mode compact"
log ("Позвонить в полицию" arr[2])
--lua
arr = {01,"02",03}
log "clear" log "mode compact"
log ("Позвонить в полицию " .. arr[2])
--lua
arr = {01,"02",03}
log "clear" log "mode compact"
log ("Позвонить в полицию " .. arr[2])
--lua
arr = {"01","02","03"}
a=666
log "clear" log "mode compact"
string = arr[1] .. arr[2] .. arr [3] .. a
log (string)
--lua
arr = {" 1 "," 2 "," 3 "," 4 "}
a=666
log "clear" log "mode compact"
if a==666 then
arr[math.random (1, 4)]="A"
end
string = arr[1] .. arr[2] .. arr[3] .. arr[4]
log (string)
--lua
arr = {" 1 "," 2 "," 3 "," 4 "}
a=666
log "clear" log "mode compact"
if a==666 then
arr[1 or 3]="A"
end
string = arr[1] .. arr[2] .. arr[3] .. arr[4]
log (string)
--lua
arr = {" 1 "," 2 "," 3 "," 4 "}
a=666
log "clear" log "mode compact"
arr2 = {1,3} -- выбранные
if a==666 then
arr[arr2[math.random (1,2)]]="A"
end
string = arr[1] .. arr[2] .. arr[3] .. arr[4]
log (string)
А вдруг захочу шоб было ? В луа можно передавать и принимать различное и неограниченное кол-во аргументов.
А чему в пилоте равна переменная wait?
В других интерпретаторах луа выскакивает ошибка, если там wait использовать.
--lua
function _log (...)
local s
if arg[1] then
s = arg[1]
else
s = "nil"
end
for i = 2, arg.n do
if arg[i] then
s = s .. " " .. arg[i]
else
s = s .. " " .. "nil"
end
end
log(s)
end
_log(1,2,3,4,5,6,7,8,9,0,"Y","W","F","P","V","r","s","t","d","e",1,2,3,4,5,6,7,8,9,0,"Y","W","F","P","V","r","s","t","d","e")
Посмотри пример плагина который я выкладывал. Там нет фич, зависящих от языка. Вся работа на стеке и только на нем. Нет, это не актуально, по крайней мере для меня. Просто я пытаюсь донести мысль, что нельзя оставлять пилот-код в таком же состоянии, каким он был до луа и пытаться стянуть две технологии для совместимости. Вот смотри :
log "clear" log "mode compact"
log(clear)
log(mode.compact)
log(clear)
log.mode.compact = true
settings.log.mode = compact
settings.log.size = 0
settings.log.autoopen = true
etc
Ну так справочка есть. А то так можно от всего открещиваться.
Да ладно, в чем они тормознутые ? Медленней того же workwindow() что-ли ?
Я что-то не вижу проблемы. Если это особенность луа.
set %adres[1] "C:\Users\Andrey\Desktop"
set #a findimage(0 0 1920 1080 (%adres[1]\b.bmp) %arr 2 80 1 10)
--lua
adres = [[C:\Users\Andrey\Desktop]] -- квадратные скобки для того чтобы не писать \ по 2 раза
image = [[\b.bmp]]
a = findimage(0, 0, 1920, 1080, "(", adres .. image, ")", "%arr", 2, 80, 1, 10)
hint (a)
--lua
adres = [[C:\Users\Andrey\Desktop]] -- квадратные скобки для того чтобы не писать \ по 2 раза
image = [[\b.bmp]]
a = findimage(0, 0, 1920, 1080, "(", adres .. image, ")", "%arr", 2, 80, 1, 10)
hint (a)
--lua
adres = [[C:\Users\Andrey\Desktop\]] -- квадратные скобки для того чтобы не писать \ по 2 раза
--image = [[\b.bmp]]
a = findimage(0, 0, 1920, 1080, "(", adres .."\b.bmp", ")", "%arr", 2, 100, 1, 0)
hint (a)
--lua
adres = [[C:\Users\Andrey\Desktop\]] -- квадратные скобки для того чтобы не писать \ по 2 раза
a = findimage(0, 0, 1920, 1080, "(", adres .."b.bmp", ")", "%arr", 2, 100, 1, 0)
hint (a)
--lua
adres = [[C:\Users\Andrey\Desktop\]] -- квадратные скобки для того чтобы не писать \ по 2 раза
a = findimage(0, 0, 1920, 1080, "(", adres .."b.bmp", ")", "%arr", 2, 100, 1, 0)
hint (a)
--lua
adres = [[C:\Users\Andrey\Desktop\]] -- квадратные скобки для того чтобы не писать \ по 2 раза
image = [[b.bmp]]
a = findimage(0, 0, 1920, 1080, "("..adres..image,")", "%arr", 2, 100, 1, 0)
hint (a)
--lua
adres = [[C:\Users\Andrey\Desktop\]] -- квадратные скобки для того чтобы не писать \ по 2 раза
a = findimage(0, 0, 1920, 1080, "("..adres.."b.bmp", ")", "%arr", 2, 100, 1, 0)
hint (a)
Можно ли задать переменной какое то действие?
Например:
--lua
bb = "wait(1000+math.random(1000))"
log (bb)
--bb
function bb (var)
wait(var + math.random(var))
return
end
-- вызываем:
bb(1000)
bb = function(var)
function bb (var)
function bb (var)
wait(var + math.random(var))
return
end
-- вызываем:
bb(1000)
(var) - это чего означает?)
ааа понял) var это то что вызываем в скобках)
--lua
function bb (var1, var2)
return var1 * 3, var2 / 4 -- возвращаем 2 значения
end
a, b = bb(10, 20)
log (a, b)
из функции можно выскочить как-то типа break?
Или функция должна обязательно вернутся к месту вызова?
Я не помню, была ли проблема определения выполнения текущей строки, он же ход скрипта ?
все функции можно загружать через require. Это как?
Это способ хранить все не в одном файле.
https://forum.uokit.com/index.php?showtopic=30000
Тут, например, мой скрипт подключается через require.
Хочу обратить ваше внимание, что из-за кривого crystal lua который используется в качестве прокладки между луа и делфи, вызов подобных функци производится фактически, как:
arr:func
вместо
arr.func
Т.е. вы пишете arr.func, а на самом деле из-за бага будет вызван arr:func. И это самая страшная проблема в пилоте на данный момент. Ибо это фактически убивает подключение сторонних либ, либо их нужно переписывать.
я тут намедни вычитал, что на луа можно проигрывать звуки без остановки скрипта. Как такое делать?
function f(a, b)
return a+b
end
--lua
require("func") -- загружаем функцию из файла
result=f(2, 3) -- вызываем её
log (result)
мне показалось или невозможно функцию загрузить через require? если в функции присутствуют такие параметры как Kbd.IsKeyPress из подгруженной длл-ки.
Пример из скрипта выше:
--lua
require("Kbd")
--===== все функции можно загружать через require ====
function F1()
while Key_Press() == 0 do -- пока не нажата кнопка, если F1 выйдет из функции
log (1) wait (30) -- этот код выполняется при нажатии F1
end
end
function F2()
while Key_Press() == 0 do -- пока не нажата другая кнопка, если F2 выйдет из функции
log (2) wait (30) -- этот код выполняется при нажатии F2
end
end
function F3()
while Key_Press() == 0 do -- пока не нажата другая кнопка, если F3 выйдет из функции
log (3) wait (30) -- этот код выполняется при нажатии F3
end
end
function Key_Press() -- функция для отслеживания нажатий, чтобы выйти из текущей функции
for i = 1, #arr do
if Kbd.IsKeyPress(arr[i]) then
return 1
end
wait (1)
end
return 0
end
--===========
arr={112, 113, 114} -- какие клавиши отслеживать, 112(F1), 113(F2) и т. д.
t={F1, F2, F3} -- таблица с функциями
while 1 do
for i = 1, #arr do
if Kbd.IsKeyPress(arr[i]) then -- если нажата клавиша
time = os.clock () + 0.5 -- если кнопка зажата на 0.5 секунды, то функция тоже выполнится
while Kbd.IsKeyPress(arr[i]) and os.clock() < time do wait (10) end -- ждём когда кнопка будет отпущена или зажата на 0.5 секунды
t[i]() -- вызываем нужную функцию t[1] - при нажатии F1, t[2] - при нажатии F2
while Kbd.IsKeyPress(arr[i]) do wait (10) end -- ждём когда кнопка будет отпущена
end
wait (1)
end
end
function Key_Press() -- функция для отслеживания нажатий, чтобы выйти из текущей функции
for i = 1, #arr do
if Kbd.IsKeyPress(arr[i]) then
return 1
end
wait (1)
end
return 0
end
https://forum.uokit.com/index.php?s=&showtopic=68521&view=findpost&p=424403
--lua
require("Kbd") -- загрузка функции
while 1 do -- бесконечный цикл
if Kbd.IsKeyPress(Kbd.Q) then -- если нажата клавиша Q
log("Нажата Q")
wait (300)
end
wait (20)
end
Да и когда и в чем он криво работал ?
Некоторый плагин:
function uoext.test_param (var1, var2, var3)
return var1, var2, var3
end
local var1, var2, var3 = 1,"2","!@ywfVRS"
var10, var20, var30 = uoext.test_param(var1, var2, var3)
if var1 == var10 and var2 == var20 and var3 == var30 then
log("Передача и возврат параметров: ОК.")
else
log("Передача и возврат параметров: ERROR.")
log("Параметр1: " .. (var10 or "nil") .. " ожидалось: " .. (var1 or "nil"))
log("Параметр2: " .. (var20 or "nil") .. " ожидалось: " .. (var2 or "nil"))
log("Параметр3: " .. (var30 or "nil") .. " ожидалось: " .. (var3 or "nil"))
error = error + 1
end
Плагин это просто луа скрипт ? Если длл, то
Плагин всмысле через require. Сама функция должна быть в другом файле.
Так плагин(dll) или include ?
require... Вообще "плагин" оно условно. Ибо просто другой файл.
файл luaPlugins\extended.lua
--lua
function uoext.test_param (var1, var2, var3)
return var1, var2, var3
end
--lua
log"clear"
log"mode noscript"
log"Начало теста."
-- Для отладки в консоли луа.
if not log then log = print print("log объявлен, как print") end
-- Подгружаем либу.
require("luaPlugins\\extended")
local error = 0
local var1, var2, var3 = 1,"2","!@ywfVRS"
var10, var20, var30 = uoext.test_param(var1, var2, var3)
if var1 == var10 and var2 == var20 and var3 == var30 then
log("Передача и возврат параметров: ОК.")
else
log("Передача и возврат параметров: ERROR.")
log("Параметр1: " .. (var10 or "nil") .. " ожидалось: " .. (var1 or "nil"))
log("Параметр2: " .. (var20 or "nil") .. " ожидалось: " .. (var2 or "nil"))
log("Параметр3: " .. (var30 or "nil") .. " ожидалось: " .. (var3 or "nil"))
error = error + 1
end
log("Обнаружено ошибок: " .. error .. ".")
log"Тест окончен."
Вопрос снят в общем.
hint еще не научился передвигаться по экрану?)
нет. Ты хочешь на хинте построить движок для 2д игры?)
Видимо имелось ввиду неработающий хинт с параметрами.
terminate ("блокнот")
если в названии приложения есть цифры, то не работает терминат.
Поправить бы)
--lua
a = "number"
b = "25"
hint (a,"-",b)
--lua
a = "number"
b = '"25"' -- в одинарных кавычках можно использовать двойные
c = "'25'" -- в двойных кавычках можно использовать одинарные
d = [["25"]] -- или так, при этом игнорируются и escape последовательности, текст передаётся как есть
hint (a,"-", b, c, d)
--lua
a = "number"
b = '"25"' -- в одинарных кавычках можно использовать двойные
c = "'25'" -- в двойных кавычках можно использовать одинарные
d = [["25"]] -- или так, при этом игнорируются и escape последовательности, текст передаётся как есть
hint (a,"-", b, c, d)
а что с буфером?
set clipboard
get clipboard
как на луа вызываются?
в терминат оказывается надо название окна вписывать) А я название процесса вписывал)
Русская версия Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)