Documentation for ALPACA's Lua functions

void pass()
pass is a function that does nothing.
You can use it for testing or for unnecessary callbacks.
void LoadScene(LuaScene scene)
Loads a new scene.

This door example expects a Spine point object near the door:

GoToPoint("cockpit", function ()
LoadScene("cockpit")
end)

void InterruptibleOff()
Prevent the player from skipping an interaction or walking somewere else
void InterruptibleOn()
Enable interruption again
void PlayAnimation(Number trackIndex, LuaSpineAnimation newAnimation, bool loop, std::optional<sol::function> callback)
Play an animation on the calling Spine object
int trackIndex: Spine animation track.
string newAnimation: Name of the animation to play.
bool loop: Whether to loop the animation at the end.
function callback: Function to be called at the end of the animation, also for looped animations.
void AddAnimation(Number trackIndex, LuaSpineAnimation newAnimation, bool loop, Number delay, std::optional<sol::function> callback)
Adds an animation to the calling Spine object that will be played after the current animation ends.
int trackIndex: Spine animation track.
string newAnimation: Name of the animation to play.
bool loop: Whether to loop the animation at the end.
function callback: Function to be called at the end of the animation, also for looped animations.
void PlayAnimationOn(LuaSpineObject object, Number trackIndex, LuaSpineAnimation newAnimation, bool loop, std::optional<sol::function> callback)
See PlayAnimation
SpineObject object: ID of the object to affect
int trackIndex: Spine animation track.
string newAnimation: Name of the animation to play.
bool loop: Whether to loop the animation at the end.
function callback: Function to be called at the end of the animation, also for looped animations.
void AddAnimationOn(LuaSpineObject object, Number trackIndex, LuaSpineAnimation newAnimation, bool loop, Number delay, std::optional<sol::function> callback)
See AddAnimation
SpineObject object: ID of the object to affect
int trackIndex: Spine animation track.
string newAnimation: Name of the animation to play.
bool loop: Whether to loop the animation at the end.
function callback: Function to be called at the end of the animation, also for looped animations.
void SetSkin(LuaSpineSkin skin)
Set a skin on a Spine object
string skin: The name of the Spine skin
void SetSkinOn(LuaSpineObject object, LuaSpineSkin skin)
See SetSkin
SpineObject object: ID of the object to affect
string skin: The name of the Spine skin
void PlayDialog(LuaDialog dialogName, std::optional<sol::function> callback)
Play a dialog by name
string dialogName: The dialog to play.
void AddToInventory()
Add the current item to the inventory.
Sets the skin of the item of the item to inventory_default_skin
Move the item from the scene to inventory_items.
void AddToInventoryWithSkin(LuaSpineSkin skin)
See AddToInventory
string skin: The name of the Spine skin
void AddToInventoryOn(LuaSpineObject object)
See AddToInventory
SpineObject object: ID of the object to affect
Note: The object must be in the scene, this function does not create new objects. The object can be placed outside the scene view.
void AddToInventoryWithSkinOn(LuaSpineObject object, LuaSpineSkin skin)
See AddToInventory
SpineObject object: ID of the object to affect
string skin: The name of the Spine skin
Note: See the AddToInventoryOn note.
void RemoveFromInventory()
DEPRECATED use SetDeleted
void RemoveFromInventoryOn(LuaSpineObject object)
DEPRECATED use SetDeleted
void SetDeleted()
Set deleted in the current object.
Objects are only deleted at the end of the frame.
void SetDeletedOn(LuaSpineObject object)
See SetDeleted
SpineObject object: ID of the object to affect
Note: SetDeleted cannot be called on the last frame of an animation via a Spine event.
returns: a list of points GetPointNames()
Get all Spine points from this Spine object
returns: a list of positions GetPointNamesOn(LuaSpineObject object)
See GetPointNames
Lua Example:

local points = GetPointNamesOn("inventory_object")
for i = 1, #points do
print(i, points[i])
end
SpineObject object: ID of the object to affect
void GoToPoint(LuaSpinePoNumber point_name, std::optional<sol::function> callback)
Send the player to the position of a point of this Spine object.
string point_name: Name of the Spine point the player should go to
function callback: Function to be called when the layer reaches the position
void GoToPointOn(LuaSpineObject object, LuaSpinePoNumber point_name, std::optional<sol::function> callback)
See GoToPoint
SpineObject object: ID of the object to affect
string point_name: Name of the Spine point the player should go to
function callback: Function to be called when the layer reaches the position
void StopWalking()
Stop the player at this position.
returns: Tupe(x, y) GetPointPosition(LuaSpinePoNumber point_name)
Debug function to get the position of a Spine point.
string point_name: Name of the Spine point
void SetPositionToPoint(LuaSpinePoNumber point_name)
Set the position of an object to a Spine point.
string point_name: Name of the Spine point
void SetPositionToPointOn(LuaSpineObject object, LuaSpinePoNumber point_name)
See SetPositionToPoint
SpineObject object: ID of the object to affect
string point_name: Name of the Spine point
void SetOnToPointFrom(LuaSpineObject object, LuaSpineObject from, LuaSpinePoNumber point_name)
SpineObject object: ID of the object to affect
string from: Objects ID that provides the point
string point_name: Name of the Spine point
void SetHidden()
Hide a Spine object.
void SetHiddenOn(LuaSpineObject object)
See SetHidden
SpineObject object: ID of the object to affect
void SetVisible()
Make a Spine object visible.
void SetVisibleOn(LuaSpineObject object)
See SetVisible
SpineObject object: ID of the object to affect
void SetLayer(Number layer)
Set the render layer of an Object.
It's also possible to make objects non-interactive below a certain layer.
int layer: Number of the layer
void SetLayerOn(LuaSpineObject object, Number layer)
See SetLayer
SpineObject object: ID of the object to affect
void SetInactivLayerBorder(Number layer)
Make all objects with a layer below this value non-interactive. Useful for a menu, inventory or intro that plays over a scene.
int layer: The layer number [default: 0].
void AttachToPointer()
Attach the Spine object to the mouse pointer.
void AttachToPointerOn(LuaSpineObject object)
See AttachToPointer
SpineObject object: ID of the object to affect
void DeattachAllFromPointer()
Deatatch all Spine object from the pointer
void DeattachFromPointer()
Deatatch the Spine object from the pointer
void DeattachFromPointerOn(LuaSpineObject object)
See DeattachFromPointer
SpineObject object: ID of the object to affect
returns: bool IsAttachedToPointer()
Is the Spine object attached to the mouse pointer
returns: bool IsAttachedToPointerOn(LuaSpineObject object)
See IsAttachedToPointer
SpineObject object: ID of the object to affect
returns: bool IsSomethingAttachedToPointer()
Is something attached to the mouse pointer
void SetRotation(Number rotation)
Rote a Spine object
float rotation: A number between 0.0 and 365.0
void SetRotationOn(LuaSpineObject object, Number rotation)
See SetRotation
SpineObject object: ID of the object to affect
float rotation: A number between 0.0 and 365.0
void SetScale(Number scale)
Scale a Spine object
float: The scale
void SetScaleOn(LuaSpineObject object, Number scale)
See SetScale
SpineObject object: ID of the object to affect
float: The scale
returns: Number GetTime()
Returns the time in seconds since the game started.
void SetPlayerMaxSpeed(Number max_speed)
Set the maximum speed of the player.
Can be set to 0 if the player should not be able to walk.
float speed: value of the maximum speed
void CreateObject(String spine_file, String id, Number scale)
Create a game object from a Spine file
string spine_file
string id
float scale
void PlayAudio(LuaAudio file)
Playing an audio file.
It's much better to use Spine events to trigger the sound to keep it in sync with the animation
string file: The audio file
void StopAudio(LuaAudio file)
Stop an audio file.
string file: The audio file
returns:a bool indication if the audio is playing isAudioPlaying(LuaAudio file)
Checks if an audio file is playing.
string file: The audio file
returns: the name as string GetID()
Get the objects ID
void SetPlayerScaleX(Number scale)
Set the player's x-scale
float: The scale
void SetLanguage(LuaLanguage language)
Set the language
string: Example 'de' or 'en'
void Exit()
Exit the game
Not supported on iOS
void SaveGame()
Write a savegame
void LoadGame()
Load the savegame
void DeleteSaveGame()
Delete the savegame file
void SetzBufferMap(String file)
Set the zBufferMap to a file
void RemovezBufferMap()
Remove the zBufferMap