Danke für die Unterstützung 

Ich habe das Script wie folgt angepasst. Ich habe es einfach nicht hinbekommen, die Values eines Objectes auszugeben. Vielleicht hat da noch jemand einen Tipp?
Momentan nutze ich einfach weitere "Sprachen", auf die ich dann zugreife um den Text am Cursor anzuzeigen. Einmal für die linke Taste und einmal für die rechte Taste. Der Code ist sicherlich ordentlich kauderwelsch, führt jedoch auch irgendwie ans Ziel 

 Für Optimierungen bin ich sehr dankbar.
Jetzt würde ich gerne folgendes noch machen:
1. Anstatt auf Sprachen zuzugreifen, würde ich gerne die Values eines Objektes nutzen
2. Ein Bild bzw jeweils einen anderen Cursor vor die beiden Aktionstexte unter dem regulären Cursor darstellen
3. Weiß jemand, warum oben links am Bildschirmrand der Text angezeigt wird? Irgendwo muss ich wohl einen Haken gesetzt haben, den ich nicht mehr finde, um es zu deaktivieren 

function right(obj) 
  local t = obj:getId().tableId -- store table ID belonging to the linked visOBJ
  
  local txt = game.CurrentObject.ObjectName.TextTextLanguages
  
  for i = 1, #txt do
    if txt.language == Languages["right_en"]:getId().id then
      return(txt.text )
    end
  end
end
function left(obj) 
  local t = obj:getId().tableId -- store table ID belonging to the linked visOBJ
  
  local txt = game.CurrentObject.ObjectName.TextTextLanguages
  
  for i = 1, #txt do
    if txt.language == Languages["left_en"]:getId().id then
      return(txt.text )
    end
  end
end
function draw()
local txt = ""
local activeCommand = left(game.ActiveCommand)
local currentObject = right(game.CurrentObject)
local currentObjectLines = graphics.performLinebreaks(currentObject)
if activeCommand ~= "" then
txt = activeCommand
end
local font_used = Fonts["font_main"] -- set font
graphics.font = font_used
local lines = graphics.performLinebreaks(txt)
local dim = {x=0, y=0}
local pos = getCursorPos()
local padding = 50
pos.y = pos.y + padding -- set y position for activeCommand text
-- draw the text line by line
for k,v in ipairs(lines) do
local tempdim = graphics.fontDimension(v)
local text_pos = {x = pos.x, y = pos.y}
text_pos.x = pos.x -- set x position for activeCommand text, left-aligned
text_pos.y = pos.y + (k-1) * (font_used.Size + font_used.VerticalLetterSpacing)
if #txt > 0 then graphics.drawFont(v, math.floor(text_pos.x) , math.floor(text_pos.y), 1) end
if k == 1 then 
  dim.x = tempdim.x -- get the dimension of the longest line
  dim.y = dim.y + tempdim.y
else
  dim.y = dim.y + tempdim.y + font_used.VerticalLetterSpacing
end
end
pos.y = pos.y + dim.y + 50 -- set y position for currentObject text, 30 pixels below activeCommand text
if not game.CurrentObject:isEmpty() then
  for k, v in ipairs(currentObjectLines) do
    local text_pos = {x = pos.x, y = pos.y}
    if k > 1 then
      text_pos.y = pos.y + (k - 1) * (font_used.Size + font_used.VerticalLetterSpacing)
    else
      text_pos.x = pos.x + (dim.x - graphics.fontDimension(v).x) / 2 -- set x position for currentObject text, centered below activeCommand text
    end
    graphics.drawFont(v, math.floor(text_pos.x), math.floor(text_pos.y), 1)
  end
end
end
graphics.addDrawFunc("draw()", 1)