4.デバッグ/Mod開発系
table型の中身を見るときのTIPS
# tableの中身を表示
for k, v in pairs(table01) do print(k) print(v) end
# table長(レコード数)を表示
table.maxn(table01)
車両ID系の情報
# ユーザの車両
tbl1 = core_vehicle_manager.getPlayerVehicleData()
# それ以外の車両
tbl1 = core_vehicle_manager.getVehicleData(vid)
# Trafficの車両のID一覧
tbl1 = extensions.gameplay_traffic.getTrafficList()
車両の構成情報
# 車両の基本情報(コンフィグ毎の情報ではない)
tbl1 = core_vehicles.getVehicleList()
# 例えばValueは以下のように取得可能
for k, v in pairs(tbl1['vehicles'][42]['model']['aggregates']['Value']) do print(k) print(v) end
ダメージ情報
for vid, veh in activeVehiclesIterator() do veh:queueLuaCommand("damage_table = beamstate.getPartDamageData(); dump(damage_table)") end
追跡情報
extensions.gameplay_traffic.getPursuitData()
車両の位置情報取得
for vid, veh in activeVehiclesIterator() do print(veh:getPosition()) end
luaのextension一覧表示
print(extensions.printExtensions())
車両間の距離
playerPos = be:getPlayerVehicle(0):getPosition()
for vid, veh in activeVehiclesIterator() do print(veh:getPosition():squaredDistance(playerPos)) end
車両の速度(絶対値mile/h)
be:getPlayerVehicle(0):getVelocity():length()
level一覧(各levelの情報のtable)
for k, v in pairs(core_levels.getList()) do for k2, v2 in pairs(v) do print(k2) end end
参考
・BeamNGのAPIについて
C:\Program Files (x86)\Steam\steamapps\common\BeamNG.drive\lua
※インストール方法によっては場所が違うかも。
・その他
c – How to inspect userdata in lua – Stack Overflow
https://noriok.hatenablog.com/entry/2012/03/27/002111
https://staff.aist.go.jp/yutaka.ueno/lua/tebiki3jp.html
コメント / COMMENT