Grundlage ist der Visionaire Studio Guide von Chris Tikkos (Dionous Games), hier mit seiner Erlaubnis veröffentlicht.

Dieses Skript zeigt eine einfache Liste offener Aufgaben oder Ziele auf dem Bildschirm. Lege es als Definitionsskript an. Aufgaben fügst du mit dem Aktionsteil „Execute a script“ hinzu oder entfernst sie:

add_task("pick up paycheck")
remove_task("pick up paycheck")

Bei den Aufgabennamen zählt die Groß- und Kleinschreibung. Die Liste nutzt die Schrift example; ersetze den Namen durch eine deiner Schriften. Größe, Farbe, Rand und Schatten der Schrift werden übernommen.

task_list = {} -- offene Aufgaben

function draw_tasks()
  if #task_list == 0 then return end
  graphics.font = Fonts["example"]
  -- x-Position, y-Position, Deckkraft
  graphics.drawFont(table.concat(task_list, "\n"), 100, 100, 1)
end

-- -1 = unter der Szene, 0 = über der Szene, 1 = über den Interfaces
graphics.addDrawFunc("draw_tasks()", 1)

function add_task(str)
  for i = 1, #task_list do
    if task_list[i] == str then return end -- schon in der Liste
  end
  table.insert(task_list, str)
end

function remove_task(str)
  for i = #task_list, 1, -1 do
    if task_list[i] == str then table.remove(task_list, i) end
  end
end

Die Zeichenfunktionen sind in der Grafik- und Medien-API beschrieben. Prüfe in deinem Spiel, ob die Liste Speichern und Laden übersteht; falls nicht, speichere die Aufgaben zusätzlich in Werten oder Bedingungen.