Manage numbers with tables
Based on the ESKEES Studio alpha (October 2026). May change without notice. The app is currently in Japanese; labels are quoted with translations.
Numbers that come in rows — enemy stats, the experience needed for each level, item prices — are easier to tune when you keep them in a table instead of the script.
Tables look and work like a spreadsheet, and you can paste straight from Excel or Google Sheets.
1. Create a table
- Press 「+ 表」 (+ Table) in the library.
- Pick a template: 「敵の強さ」 (enemy stats), 「レベルアップ」 (level-up), 「アイテム」 (items) or 「空の表」 (empty). Each starts with sample rows.
- Click a cell to change it, then press 「保存」 (Save). Tables are listed under 「表」 in the library; click a name to reopen it.
2. Edit
| To… | Do this |
|---|---|
| Add rows / columns | Press 「+ 行」 / 「+ 列」. Delete with the × at the end of a row or next to a column name |
| Rename a column | Edit the top cell. This is the name you use in scripts |
| Change a column's type | Under the column name, choose 「数」 (number), 「文字」 (text), 「選ぶ(決まった中から)」 (pick from a list), 「いくつか」 (several values), 「パーツ」 (part) or 「→ table name」 (another table). See the table below |
| Reorder rows / columns | Press ↑ ↓ next to a row number, or ← → next to a column name. The first column (row names) stays first |
| Paste from a spreadsheet | Copy a range and paste into a cell; rows and columns are added as needed. Paste into a column-name cell to use the first line as column names and replace the whole table (number vs. text is detected from the values) |
| Fill with a formula | Press 「ƒ」 on a number column, type a formula and press 「埋める」 (Fill). n is the row number (e.g. 10*n*n, 5*n^2) |
| Edit with pictures | Switch to 「タイル(絵)」 (tiles) at the top (see below) |
| Write the logic for a column | Press {} next to the column name. The table is saved and closed, and only the logic that reads that column opens in the inspector |
| Column type | What you type | What scripts get |
|---|---|---|
| Number | A number | A number (blank is 0) |
| Text | Text | Text |
| Pick from a list | One of the values listed under the column name, comma-separated (弾, 灯, 刃), chosen from a drop-down | Text — branch on it with if w.動き == "弾" then … end |
| Several values | Comma-separated values (1, 3, 5) | A list (e.出る面[2], #e.出る面). Values that look like numbers are numbers |
| Part | A part name (pick from the drop-down) | Text. spawn (e.絵) at x, y places that part (a different picture per enemy type, for example) |
| → table name | A row name of that table (drop-down) | That row (next section) |
The first column is the row name — scripts pick rows by it (data.敵.スライム). Table and column names can't contain spaces or symbols.
Tile view
For tables where each row has a picture (weapons, items), 「タイル(絵)」 shows one card per row with the picture large and the columns editable below. The picture is the row's part column, or the part named like the row. If that part has timeline motion, a ▶ on the card plays it, and 「キャンバスで見る」 (view on canvas) lets you check it on the canvas — Esc brings you back to the table in tile view.
3. Link tables
- Create an items table first.
- In the enemy table, add a column named e.g. 「落とす物」 (drop) and set its type to 「→ アイテム(別の表)」 (another table).
- The cells become drop-downs of the item table's rows.
Scripts can then follow the link: data.敵.スライム.落とす物.値段. Renaming the linked table keeps the link.
4. Read from scripts
hp = data.敵.スライム.HP -- pick a row by name
need = data.レベル[lv + 1].必要な経験値 -- or by row number (in a level table, row number = level)
cost = data.敵.スライム.落とす物.値段 -- a linked column leads to the other table's row
for i, e in ipairs(data.敵) do -- every row
print(e.名前, e.HP)
end
stage1 = data.敵.スライム.出る面[1] -- a "several values" column is a list
spawn (data.敵[i].絵) at 100, 50 -- place the part named in a "part" column
- Tables are read-only. Copy values into variables or actor values before changing them during play.
- Misspelled table, row or column names are flagged as you write, with suggestions.
- Rows whose name is only a number (e.g. "1") can't be picked by name — use the row number.
See the script language page for details.
Where tables are stored
- Tables are saved inside the
.eskx. Exporting as.emgleaves them out (other tools don't use them). - If you rename or delete a part chosen in a "part" column, the table editor shows "パーツ … がありません" (part not found). Pick it again.