Lua-экспорт в LockOn - Для уменьшения сетевого трафика...

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

 

 

Для уменьшения сетевого трафика вам может понадобиться получать данные не после каждого кадра, а в некоторые моменты модельного времени. Вы можете использовать функцию LuaExportActivityNextEvent для программирования момента модельного времени tNext для вашего следующего экспортного события. Параметр t данной функции содержит текущее модельное время. Если tNext не увеличивает его значения, то функция LuaExportActivityNextEvent в текущей имитации больше не вызывается. Например, давайте получать данные об объектах с интервалом в секунду модельного времени и выводить их в наш файл:

local tNext = t
local o = LoGetWorldObjects()
for k,v in pairs(o) do
io.write(string.format("t = %.2f, ID = %d, name = %s, country = %s(%s), LatLongAlt = (%f, %f, %f), heading = %fn", t, k, v.Name, v.Country, v.Coalition, v.LatLongAlt.Lat, v.LatLongAlt.Long, v.LatLongAlt.Alt, v.Heading))
end
tNext = tNext + 1.0
return tNext

или в сетевое соединение:

local tNext = t
local o = LoGetWorldObjects()
for k,v in pairs(o) do
socket.try(c:send(string.format("t = %.2f, ID = %d, name = %s, country = %s(%s), LatLongAlt = (%f, %f, %f), heading = %fn", t, k, v.Name, v.Country, v.Coalition, v.LatLongAlt.x, v.LatLongAlt.Long, v.LatLongAlt.Alt, v.Heading)))
end
tNext = tNext + 1.0
return tNext

Вы можете зарегистрированные в ЛокОне внутренние экспортные функции в данном скрипте и в ваших скриптах, вызываемых из данного скрипта. Все возвращаемые значения являются числами Lua, если не оговорен другой тип.
Вывод:

LoGetModelTime() -- returns current model time (args - 0, results - 1 (sec))
LoGetMissionStartTime() -- returns mission start time (args - 0, results - 1 (sec))
LoGetPilotName() -- (args - 0, results - 1 (text string))
LoGetIndicatedAirSpeed() -- (args - 0, results - 1 (knots))
LoGetTrueAirSpeed() -- (args - 0, results - 1 (knots))
LoGetAltitudeAboveSeaLevel() -- (args - 0, results - 1 (feet))
LoGetAltitudeAboveGroundLevel() -- (args - 0, results - 1 (feet))
LoGetAngleOfAttack() -- (args - 0, results - 1 (degrees))
LoGetAccelerationUnits() -- (args - 0, results - 1 (G))
LoGetVerticalVelocity() -- (args - 0, results - 1(feet per sec))
LoGetADIPitchBankYaw() -- (args - 0, results - 3 (degrees))
LoGetMCPState() -- (args - 0, results - 1 (table of key(string).value(boolean))
returned table keys for LoGetMCPState():
"LeftEngineFailure"
"RightEngineFailure"
"HydraulicsFailure"
"ACSFailure"
"AutopilotFailure"
"AutopilotOn"
"MasterWarning"
"LeftTailPlaneFailure"
"RightTailPlaneFailure"
"LeftAileronFailure"
"RightAileronFailure"
"CanopyOpen"
"CannonFailure"
"StallSignalization"
"LeftMainPumpFailure"
"RightMainPumpFailure"
"LeftWingPumpFailure"
"RightWingPumpFailure"
"RadarFailure"
"EOSFailure"
"MLWSFailure"
"RWSFailure"
"ECMFailure"
"GearFailure"
"MFDFailure"
"HUDFailure"
"HelmetFailure"
"FuelTankDamage"
LoGetWorldObjects() -- (args - 0, results - 1 (table of object tables))

Ввод:

LoSetCommand(command, value) -- (args - 2, results - 0)
-1.0 <= value <= 1.0

 

 

Комментарии   

 
#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 -
Цитировать
 

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

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

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

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

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