表で数値を管理する
ESKEES Studio アルファ版(2026 年 9 月時点)の内容です。予告なく変更される場合があります。
敵の強さ、レベルアップに必要な経験値、アイテムの値段のように行が並ぶ数値は、スクリプトに書かずに「表」にまとめておくと、あとから調整しやすくなります。
表は表計算ソフトと同じ見た目で編集できます。Excel や Google スプレッドシートからの貼り付けにも対応しています。
1. 表を作る
- ライブラリの「+ 表」を押します。
- ひな形を選びます。「敵の強さ」「レベルアップ」「アイテム」「空の表」の 4 つがあり、どれも中身が入った状態で始まります。
- セルを押して値を書き換え、「保存」を押します。作った表はライブラリの「表」に並び、名前を押すと開き直せます。
2. 編集する
| やりたいこと | 操作 |
|---|---|
| 行・列を増やす | 「+ 行」「+ 列」を押します。消すときは、行の右端・列の名前の横の × を押します |
| 列の名前を変える | いちばん上のセル(列の名前)を書き換えます。スクリプトから読むときの名前になります |
| 列の種類を変える | 列の名前の下で「数」「文字」「→ 表の名前(別の表)」から選びます |
| スプレッドシートから貼り付ける | 範囲をコピーし、セルに貼り付けます。足りない行と列は自動で増えます。列の名前のセルに貼ると、1 行目が列の名前になり、表の中身がそっくり入れ替わります(数か文字かは、中身を見て自動で決まります) |
| 式で埋める | 数の列の「ƒ」を押し、式を書いて「埋める」を押します。n は行の番号です(例: 10*n*n・5*n^2・100+20*n) |
1 列目は「行の名前」です。スクリプトでは、この名前で行を選びます(data.敵.スライム)。表・列の名前には、空白と記号は使えません。
3. 別の表とつなげる
例えば、敵が落とすアイテムを、アイテムの表の行で指定できます。
- 先に「アイテム」の表を作ります。
- 「敵」の表で列を足し、名前を「落とす物」にして、種類を「→ アイテム(別の表)」にします。
- 「落とす物」のセルが、アイテムの表の行を選ぶプルダウンになります。
スクリプトからは、つながった行の値をそのまま読めます(data.敵.スライム.落とす物.値段)。アイテムの表の名前を変えても、つながりは自動で付け替わります。
4. スクリプトから読む
表の画面の下に、その表の読み方が表示されます。
hp = data.敵.スライム.HP -- 名前で行を選ぶ
need = data.レベル[lv + 1].必要な経験値 -- 何行目かで選ぶ(レベルの表は、行の番号がそのままレベル)
cost = data.敵.スライム.落とす物.値段 -- 別の表の列は、相手の行につながっている
for i, e in ipairs(data.敵) do -- 全部の行を順に
print(e.名前, e.HP)
end
- 表は読み取り専用です。ゲーム中に変わる値(今の HP など)は、読んだ値を変数やアクターの値に入れてから変えてください。
- 表・行・列の名前を間違えると、書いた時点で「問題」として候補つきで表示されます。
- 行の名前が数だけ(「1」など)の行は、名前では選べません。行の番号で選んでください。
詳しくは スクリプト言語リファレンス を参照してください。
例: 経験値でレベルアップする
var lv = 1
var exp = 0
-- 敵を倒したときに呼ぶ(名前は「敵」の表の 1 列目)
function 倒した(名前)
exp += data.敵[名前].経験値
-- 次のレベルに必要な経験値に届いたら、レベルを上げる
while lv < #data.レベル and exp >= data.レベル[lv + 1].必要な経験値 do
lv += 1
end
end
呼び出す側では 倒した("スライム") のように書きます。
保存先と注意
- 表は
.eskxの中に保存されます。.emgとしてエクスポートすると、表は含まれません(ほかのツールは表を使わないため)。 - 1 つのセルに複数の値は入れられません。「落とす物 1」「落とす物 2」のように列を分けてください。
- 行・列の並べ替えは、まだできません。並べ替えたいときは、スプレッドシートで並べ替えてから貼り付け直してください。