Lua-экспорт в LockOn - LockOn активизирует скрипт...

Автор: admin от 20 Август 2010.

 

LockOn активизирует скрипт Config\Export\Export.lua при каждом старте миссии. Вы должны раскомментировать функцию LuaExportStart для ее активизации и для активизации всех остальных экспортных функций. Для этого добавьте один минус "-" непосредственно перед открывающей скобкой мульти-строчного комментария "--[[", чтобы преобразовать его в однострочный комментарий "---[[". Таким образом, закрывающая скобка мульти-строчного комментария без открывающей скобки также становится однострочным комментарием. Если вы захотите снова отключить экспортные функции, то удалите дополнительный третий минус, чтобы комментарий снова стал мульти-строчным.

Если ЛокОн не находит функцию LuaExportStart, то он выдает сообщение в файл TempError.log:

LuaExport::Lua data export disabled.

ЛокОн также выдает в файл Error.log все другие сообщения об ошибках в скрипте Export.lua.

ЛокОн вызывает функции скрипта для каждой имитации миссии. Он вызывает функцию LuaExportStart непосредственно перед стартом миссии для выполнения пользовательских инициализаций. Например, для открытия выходного файла:

local file = io.open("./Temp/Export.log", "w")
if file then
io.output(file)
end

или для установки сетевого соединения:

dofile "lua.lua"
socket = require("socket")
host = host or "localhost"
port = port or 8080
c = socket.try(socket.connect(host, port)) -- connect to the listener socket
c:setoption("tcp-nodelay",true) -- set immediate transmission mode

ЛокОн вызывает функцию LuaExportStop непосредственно после выхода из миссии для выполнения завершающих действий пользователя. Например, для закрытия выходного файла:

io.close()

или для разрыва сетевого соединения

socket.try(c:send("quit")) -- to close the listener socket
c:close()

ЛокОн вызывает функцию LuaExportBeforeNextFrame непосредственно перед каждым кадром имитации. Поэтому, если вам нужно выдавать ЛокОну некоторые входные команды управления, то вы должны делать это здесь. Например:

LoSetCommand(3, 0.25) -- rudder 0.25 right
LoSetCommand(64) -- increase thrust

Имеются дискретные и аналоговые входные управляющие команды. У дискретных команд имеется только код:

LoSetCommand(64) -- increase thrust

У аналоговых команд имеются код и значение:

LoSetCommand(3, 0.25) -- rudder 0.25 right

ЛокОн вызывает функцию LuaExportAfterNextFrame каждый раз когда кадр имитации завершается. Поэтому здесь вы должны кодировать ваши действия по получению результатов имитации в кадре. Например:

local t = LoGetModelTime()
local name = LoGetPilotName()
local altBar = LoGetAltitudeAboveSeaLevel()
local altRad = LoGetAltitudeAboveGroundLevel()
local pitch, bank, yaw = LoGetADIPitchBankYaw()

Затем вы можете переслать данные в ваш файл:

io.write(string.format("t = %.2f, name = %s, altBar = %.2f, altRad = %.2f, pitch = %.2f, bank = %.2f, yaw = %.2fn", t, name, altBar, altRad, pitch, bank, yaw))

или в вашу принимающую сетевую программу:

socket.try(c:send(string.format("t = %.2f, name = %s, altBar = %.2f, alrRad = %.2f, pitch = %.2f, bank = %.2f, yaw = %.2fn", t, name, altRad, altBar, pitch, bank, yaw)))

 

 

Комментарии   

 
#1 Guest 22.12.2012 02:11
почему пропали сервера в сетевом режиме.
Цитировать
 
 
#2 Guest 21.03.2014 04:54
I’m not that much of a internet reader to be honest but your sites really nice,
keep it up! I'll go ahead and bookmark your website to come
back later. All the best

My weblog http://drugstorepdfsearch.com/: http://drugstorepdfsearch.com/
Цитировать
 
 
#3 Guest 28.03.2014 15:11
Nice blog here! Also your web site loads up
very fast! What web host are you using? Can I get your affiliate link to your host?
I wish my site loaded up as quickly as yours lol

Look at my weblog :: http://drugstorepdfsearch.com/: http://drugstorepdfsearch.com/
Цитировать
 
 
#4 Guest 02.06.2014 19:21
This is the right web site for everyone who wishes to find out about this topic.
You understand so much its almost hard to argue with you (not that I really
would want to…HaHa). You certainly put a new spin on a topic that has been written about for
many years. Great stuff, just excellent!

my weblog ... affordable hosting - Adriene: http://giganetwebhosting.com -
Цитировать
 

Добавить комментарий

Защитный код
Обновить

Крайние комментарии

Новое на форуме

  • Нет сообщений для показа