FtDのLuaのindexの扱い
3537 ワード
- この記事は「From The Depths」というゲーム(以下FtD)で使用できるLuaに関する記事です。
- Luaに関心のあるFtDプレイヤーを対象としています。
Luaを触り始めた頃にはまった事
indexのオリジン
FtDはC#製なので、I:GetTargetInfo(mainframeIndex, targetIndex)
などで指定する〇〇Indexは0オリジン(0以上の整数)です。
function Update(I)
I:ClearLogs()
local mainframe_count = I:GetNumberOfMainframes()
for mainframeIndex = 0, mainframe_count - 1 do
local target_count = I:GetNumberOfTargets(mainframeIndex)
for targetIndex = 0, target_count - 1 do
local info = I:GetTargetInfo(mainframeIndex, targetIndex)
end
end
end
が、Luaのテーブルは1オリジンです。
function Update(I)
I:ClearLogs()
local id_table = I:GetAllSubConstructs() -- IDのテーブルを返す
for i = 1, #id_table do -- #の後ろにテーブル名で、要素数を得る
local id = id_table[i]
local info = I:GetSubConstructInfo(id)
end
end
これに気付かずエラーを連発しては頭を捻るということを繰り返しておりました。
以上。
Author And Source
この問題について(FtDのLuaのindexの扱い), 我々は、より多くの情報をここで見つけました https://qiita.com/tvagames/items/42c0a5811950e2afef1d著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .