Dialogs
ALPACA uses the node-based dialog editor Schnack. It supports multiple languages, lua scripting and simple voice-overs. ALPACA expects dialogs in the dialog folder like data-src/dialog/dialogs.schnack. Voice files must be stored in data-src/audio/voice and follow the naming convention <language>_<dialog_id>.ogg. Example: de_001.ogg for the German dialog with id 1.
Examples for start dialogs:
-- Dialog without callback
PlayDialog("armchair")
-- Dialog with callback.
-- The second function is called after the dialog has been played.
function takeBananaDialog()
PlayDialog("banana", function ()
PlayAudio("pick-up-item.ogg")
AddToInventory()
SetSkin("inventory")
SetHidden()
end)
end
Lua integration
Global Variables
Schnack can define Global Variables. These variables are stored in the global namespace.

-- Check global variable
if lookedAtCabinDoor then
print("I'm looking at the cabin door.")
end
Character Properties
Each character can have Properties which are stored in characters.character_name.property.

-- Check character property
if characters.miles.alreadyTalked then
print("Miles has already talked to.")
end