NAV Navbar
Logo
lua

Introduction

Welcome to the reference documentation for Visionaire. This is a documentation for programmers discussing lua features and keeping track of advanced functions. If you’re not to savy on programming you can still use the finished scripts.

Editor - Known Issues

Changelogs

VersionFile VersionDateLink
Beta 180 February 2017 https://www.visionaire-studio.net/forum/thread/visionaire-5-public-beta-test-now-live!/
RC0 181 April 2017 https://www.visionaire-studio.net/forum/thread/visionaire-5-rc0-released!/
RC0 Update 181 April 2017 https://www.visionaire-studio.net/forum/thread/visionaire-rc0-update/
RC1 183 June 2017 https://www.visionaire-studio.net/forum/thread/visionaire-rc1-released!/
RC2 187 August 2017 https://www.visionaire-studio.net/forum/thread/visionaire-rc2-released/1/
RC2 Update 187 September 2017 https://www.visionaire-studio.net/forum/thread/visionaire-rc2-bugfix-update-changelog/1/
Final 190 November 2017 https://www.visionaire-studio.net/forum/thread/visionaire-5-released/1/
Final Bugfix 190 November 2017 https://www.visionaire-studio.net/forum/thread/visionaire-5-released/8/#74
5.0.4 194 March 2018 https://www.visionaire-studio.net/forum/thread/visionaire-5-0-4-update-released/
5.0.5 195 June 2018 https://www.visionaire-studio.net/forum/thread/visionaire-studio-bugfix-update-5-0-5/
5.0.6 195 June 2018 https://www.visionaire-studio.net/forum/thread/visionaire-studio-bugfix-update-5-0-6/
5.0.7 196 Oktober 2018 https://www.visionaire-studio.net/forum/thread/visionaire-update-5-0-7/
5.0.8 196 November 2018

New Features in V5

Drag and Drop

You can drag drop files in the following areas:

Search and Context Menu

The context menu to objects now allow:

The search bar searches in every part of the ved. The lua scope is automatically indexed in the background and can also be searched. You can also search for object references:

Tabs

CTRL+T duplicate current tab into new tab. CTRL+N open new window (only in windows).

Actionparts

Audio System

The audio system has 2 parts, a mixer hierarchy and a container list.

The mixer hierarchy allows you to modify sound properties and add effects. Sounds and speech can be assigned to a bus via the 4 standardbusses or on a per character basis.

The container list allows to play sounds in different ways. Containers can be started with the fade action part or via assigned them to scenes.

Mix Container: The container plays all subcontainers and their properties can be modified via blendtracks and automations. Random Container: Plays sounds under this container randomly or in sequence. Switch Container: Allows to switch between sounds with fades or synced by using a sync container. Sync Container: Allows to set a timeline when sounds are played.

Particle System

Debugger

The debugger and profiler work by TCP. Debugging can be started via F5.

Profiler

Features

Video Encoding

Recommended for mobile/desktop: VP8-VP9 with ogg/opus Recommended for consoles: H264 with ogg

Multilanguage

Lipsync

Curves

Platforms

Desktop

Desktop platforms support all features.

Mobile

Not all features work on mobile although theoretically everything should be supported. You need an OpenGLES compatible phone with armv7 and Android 5 or at least iOS 10.

HTML5

The build can not be started from file, you need to use a webserver.

HTML5 has the least features. There is no support for videos, audio containers/effects, 3d characters.

You need Chrome, Firefox, Safari or Edge. A good guideline is the Audio API support: http://caniuse.com/#feat=audio-api

Platform Export and Portability

Windows

If you export from Mac set the graphics interface to gl because shaders can’t be compiled for DX11 on Mac.

Mac

Linux

iOS

Your ipas need to be signed manually. Use something like https://github.com/xndrs/XReSign

Android

obb Export

For Apps using more than 100MB you need to use expansion packs for the Play Store. Visionaire needs the base64 key from google apis.

HTML5

Consoles

Basics

Lua Basics

If you’re a beginner to programming lua might be one of the easier languages to start with, although most of the basics are the same as in other languages.

https://www.lua.org/start.html
https://www.tutorialspoint.com/lua/index.htm
http://www.phailed.me/2011/02/learn-lua-the-hard-way-1/
http://luatut.com/crash_course.html

If you know programming languages and just want some syntax, look here:

http://tylerneylon.com/a/learn-lua/

Point of Execution

Lua code can be executed in the action part call script / execute script or with a definition script. Scripts that are marked as definition script will run when the engine starts, others can be called with call script action part.

Object Access

game.CurrentCharacter -- gets a field of the game object
Fonts[1] -- gets the first object in the Fonts table
Fonts.__len -- gets the size of the table
Fonts.Name -- access by name, alpha numeric names and the letter _ are allowed, but the first letter must be a letter.
Fonts["0-name"] -- alternate access for complicated names

Fonts[1].Size -- access a field value
Fonts[1].Size = 10 -- write a field value

Visionaire saves all data in tables containing objects. These objects contain fields with different types. All fields can be read and written from lua, but not all fields have event handlers, that will update the value in the engine.

All tables and the game object are exported to lua and can accessed there. Tables can be iterated with numbers and names.

The table names are globals corresponding to their name.

Once you have an object you can read and write fields as members of that object.

Fieldtypes

t_bool

local b = game.FullScreenIntro
game.FullScreenIntro = true

A simple boolean, true or false.

t_int

local b = game.ScrollSpeed
game.ScrollSpeed = 100

A simple 32bit integer.

t_string

local b = game.Description
game.Description = ""

A simple string.

t_path

local b = game.Intro
game.Intro = ""

Paths are essentially strings but are used to distinguish from strings.

t_float

local b = game.CurrentCharacter.Size
game.CurrentCharacter.Size = 0.0

A 32bit float.

t_point

local b = game.ScrollPosition
game.ScrollPosition = {x=0, y=0}

-- just to clarify that this won't work as the table you are given is not a reference
game.ScrollPosition.x=0 -- doesn't work

A point, handled as a table with x and y values as integers.

t_rect

local b = game.CurrentScene.ScrollableArea
game.CurrentScene.ScrollableArea = {x=0, y=0, width=100, height=100}

-- just to clarify that this won't work as the table you are given is not a reference
game.CurrentScene.ScrollableArea.x=0 -- doesn't work

A rect, handled as a table with x, y, width and height values as integers.

t_sprite

A sprite, will be a table with the properties:
path string
position point/table
transparency int
transpcolor int
pause int

game.CurrentCharacter.Size = 0.0 -- CurrentCharacter is a link
game.CurrentCharacter = emptyObject -- link is cleared
game.CurrentCharacter = Characters[1]

A link to an object, the object will be returned on access. The link can be set with an object.

game.CurrentCharacter.Items = {} -- clearing the list
local b = game.CurrentCharacter.Items.Name -- access by name
local b = game.CurrentCharacter.Items[1] -- access by number

A list of links, it can iterated with numbers and names of the objects.

t_text

A text object, which contains one language text. Has the properties:
text: string
sound: string
language: int, id of the language

t_vrect

A list of rects.

t_vsprite

A list of sprites.

t_vpoint

A list of points.

t_vstring

A list of strings.

t_vint

A list of ints.

t_vpath

A list of paths.

t_vfloat

A list of floats.

t_vtext

A list of texts.

Visionaire specific

Eventhandler

animationStarted

animationStopped

textStarted

textStopped

mainLoop

mouseEvent

keyEvent

engineEvent

Name Param2 (string)
ComposedFileMissing path

Consoles:

Name Param2 (string)
SaveSyncFailed file;reason
SaveSyncSuccess file

Xbox1:

Name Param2 (string)
UserRemoved id
UserAdded id
UserDisplayInfoChanged id
OnlineStateChanged state
SignInCompleted id
SignOutCompleted id
SignOutStarted id

Hooks

The engine allows certain parts to be hooked and behaviour changed.

Hooks can be set by registerHookFunction.

vispath

local sprite = graphics.loadFromFile("vispath:test.png")

-- result
local sprite = graphics.loadFromFile("test.png#000#00000#")

If a game is exported, all paths are extended with container numbers:

file.png#containernumber#filenumber#

For these paths to be replaced and exported in your scripts they need to be prepended by “vispath:”.

Shaders

-- using without shader toolkit
local shaderId = shaderCompile(Shaders.ShaderName.Compiled)
Objects.Objekt0.ShaderSet = shaderId
function mLoop()
  graphics.shaderUniform(shaderId,"time",shader_iTime)
end
registerEventHandler("mainLoop", "mLoop") 

-- using with shader toolkit
local name = "ShaderName"
shader_effects[name] = { shader = Shaders.ShaderName.Compiled }
shaderAddEffect(name)
shaderRemoveEffect( name)
game.CurrentScene.Objects.Objekt0.ShaderSet = shader_effects[name].num.num 
shader_effects[ name].num.speed = 0.2 
bind(name, "time", field("shader_iTime"))

-- using as fullscreen effect
local name = "ShaderName"
shader_effects[name] = { shader = Shaders.ShaderName.Compiled }
shaderAddEffect(name)
shader_effects[ name].num.speed = 0.2 
bind(name, "time", field("shader_iTime"))

-- setting uniforms
graphics.shaderUniform(shaderId, "mat4", {0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0})
graphics.shaderUniform(shaderId, "mat3", {0,0,0, 0,0,0, 0,0,0})
graphics.shaderUniform(shaderId, "vec4", {0,0,0,0})
graphics.shaderUniform(shaderId, "vec3", {0,0,0})
graphics.shaderUniform(shaderId, "vec2", {0,0})
graphics.shaderUniform(shaderId, "float", 0)
graphics.shaderUniform(shaderId, "_i_int", 0)
graphics.shaderUniform(shaderId, "_t_texture", "vispath:data.png")

Visionaire Studio offers a simple shader cross compiler that works with OpenGL ES 2.0 syntax. These shaders are compiled to GLSL, HLSL for DX9 and DX11. If you’re on a Mac, these shaders are only compiled for GLSL.

Shaders can be used in conjunction with the shadertoolkit or on its own and applied on to objects, characters or buttons. It’s also possible to assign the same shader to multiple objects.

Not all functions travel well between HLSL and GLSL. If you want to use the shader for objects you need to keep the attribute layout and names (vertex in: vec2 position, vec2 uv). Also the matrix will be set into mat4 mvp_mat and the texture in sampler2D texel.

ShaderUniform is used to set textures and values. You can set integers by prefixing the names with _i_. Textures are set by prefixing _t_. DO NOT prefix your variables in the shader, _t_texture will look for texture.

Tweening

startTween(field, from, to, duration, easing[, repeat, reverse])
startObjectTween(obj, field, from, to, time, easing[, repeat, reverse])
obj:to(time, table, easing[, repeat, reverse])
setDelay(time, function)

startObjectTween(game,VGameScrollPosition,game:getPoint(VGameScrollPosition),{x=100,y=0},3000,easeBackInOut)
startTween("q", q, 3, 3000, easeBackInOut)
game:to(3000, { ScrollPosition = {x = 100, y = 0} }, easeBackInOut)
setDelay(3000, function()
    game:to(3000, { ScrollPosition = {x = 0, y = 0} }, easeBackInOut)
end)

Tweening simplifies simple animations for your game. This can currently only be done with lua. The tween updates the value every frame for the duration of the effect.

Tweens work on lua fields and objects for 3 field types: t_int, t_float, t_point.

Tweens allow different types of easing:

All types can be set to In, Out or InOut. These are exported as constants in lua: Easing.

Tweens can also be set to repeat and to reverse repeat.

Tweens are overwritten if they are set again.

Previews for easing types can found here: http://easings.net/de

Savegames

Settings and config.ini

Multilanguage

Volume

messages.log

–>

Snippets

Tween + Curves

-- Move particle system on a curve and rotate
startCallbackTween(30000, function(x) 
  local pos = game.CurrentScene.Curves[3]:curveAt(x)
  local direction = game.CurrentScene.Curves[3]:curveDirection(x) - 1.57
  local p = graphics.getParticles(game.CurrentScene.Objects.moving)
  p.emissionDirection = {0.0, direction, 0.0, direction}
  p.center = {pos.x,pos.y}
end, easeLinearIn, true, false)

Text Scroll Pane

textPane = graphics.createTextScrollPane()
textPane.padding = 30
textPane.rect = {x=300,y=100,width=1000,height=700}
textPane.bg = "vispath:bg.png"
textPane.bg9R = {x=55,y=53,width=55,height=53}
textPane.scroll = "vispath:scroll.png"
textPane.scrollHover = "vispath:scroll_h.png"
textPane.scroll9R = {x=0,y=9,width=0,height=9}
textPane.scrollUp = "vispath:up.png"
textPane.scrollDown = "vispath:down.png"
textPane.scrollUpHover = "vispath:up_h.png"
textPane.scrollDownHover = "vispath:down_h.png"
textPane.button = Buttons.textpos
textPane.alwaysShowScrollbar = true

textPane:addText(getObject("(8,0)").Link, Fonts[1], 0xffffff, 0, 0, "")
textPane:addText(getObject("(8,0)").Link, Fonts[2], 0xffff00, 40, 10, "bullet:cursor.png")
textPane:addText(getObject("(8,0)").Link, Fonts[3], 0xff0000, 80, 10, "vispath:bullet.png", {x=-5,y=5})
textPane:addText(getObject("(8,1)").Link, Fonts[3], 0x0000ff, 80, 10, "vispath:bullet.png", {x=-5,y=5})
textPane:addText(getObject("(8,0)").Link, Fonts[3], 0x00ff00, 80, 10, "vispath:bullet.png", {x=-5,y=5})
textPane:addText(getObject("(8,0)").Link, Fonts[1], 0x0000ff, 0, 10, "")
textPane:show()

textPane.scrollPosition = textPane.scrollPosition + textPane.lineHeight * 3 -- manual scrolling, will clamp automatically

--textPane2:destroy() -- to hide

Finished Scripts

Shadertoolkit

shaderBrightness(0.0, 1.0)

shaderBrightness()

Rotate Animation

-- Examples:
setRotateAnimation(Objects["tree1"], 1.0, 0.3, 0.2, 3, graphics.noise)
setRotateAnimation(Objects["tree2"], 1.0, 0.0, 0.2, 3, math.sin)
setRotateAnimation(Objects["tree3"], 1.0, 0.0, 0.2, 3, function(a)return math.sin(graphics.noise(a)) end)

setRotateAnimation(object, speed, offset, strength, direction, func)
-- func can be: function(a)return math.sin(graphics.noise( a )) end
setRotateAnimationToStrength(objectnamestring, speed, offset, strengthFrom, strengthTo, direction, function, time) -> smooth Rotation From - To Strength

-- direction/pinned side:
-- 1 - down, 2 - up, 3 - left, 4 - right

This script allow simple animations that look a tree moving with wind, but can also be used for other things.

setRotateAnimation(object, speed, offset, strength, direction, func)

This can used to apply it to an object.

setRotateAnimationForLua(object, speed, offset, strength, direction, func)

This is used for lua sprites.

setRotateAnimationToStrength(objectnamestring, speed, offset, strengthFrom, strengthTo, direction, function, time)

Animates the strength of an effect.

Curlwrapper

downloadMemory("http://url...", function(s,code,param) 
  sprite = graphics.loadMemoryJPG(s)
end)

downloadMemory("http://url...", function(s,code,param) 
  print(s)
end) 

downloadFile("http://url...", localAppDir.."/file.txt", function() 
  print("done")
end) 

Allows simple downloading of images or text files. Don’t download big files with this.

downloadFile(httpurl, file, onFinish, onProgress)

Saves to a file.

downloadMemory(httpurl, onFinish, onProgress)

Will return the result to onFinish.

In-Scene-Videos

addMovie(Objects["Object0"],"vispath:test.mp4")
addMovie(Objects["Object0"],"vispath:test.mp4",false,1)
addMovieScaled(Objects["Objekt0"],"vispath:test.mp4",2,2,false,1)

Allows showing videos for scene objects.

addMovie(object, path, loop, blend)

addMovieScaled(object, path, scaleX, scaleY, loop, blend)

Tables

S stands for a field that is written into savegames. E is a field on which changes are immediately updated into the engine = scriptable. Not all eventhandlers have been added here.

Changes

RC0

IdNameTypeSEDescription
game
818 IconFile t_path
819 BuildOptions t_string
820 ShaderLinks t_links
ParticleContainers
824 PreviewScene t_link
Shaders
821 FS t_string
822 VS t_string
823 Compiled t_string

RC0 Update

IdNameTypeSEDescription

RC1

IdNameTypeSEDescription
game
826 SmoothScrolling t_bool
Dialogs
825 Character t_link

RC2

IdNameTypeSEDescription
game
834 AudioMixLinks t_links
835 AudioContainerLinks t_links
840 OverlayVisibility t_int
841 OverlayColor t_int
843 SaveNameOffsetY t_int
Characters
839 HarmonizeWalkAnimations t_bool
Scenes
838 AudioBusses t_links
Objects
846 Value t_link
847 ValueOperator t_int
848 ValueInt t_int
Animations
849 Pauses t_vint
Conditions
844 Conditions t_links
845 ConditionsNegate
Values
805 Float t_float
AudioBusses
830 Links t_links
829 Type t_int
831 Settings t_string
836 Values t_links
837 Events t_links
850 OutputBus t_link

RC2 Update

IdNameTypeSEDescription

Final

IdNameTypeSEDescription
game
851 DefaultSpeechBus t_link
852 DefaultSoundBus t_link
853 WalksoundBus t_link
854 DefaultMusicBus t_link
856 Cursor t_link
857 CustomActionParts t_vstring
863 Plugins t_links
Characters
855 AudioBus t_link
Outfits
867 ModelTurnSpeed t_int
Events
864 Action t_link
865 StartBus t_link
866 StopBus t_link
Plugins
860 Active t_bool
861 Directory t_string
862 Data t_string

Final Bugfix

IdNameTypeSEDescription

5.0.4

IdNameTypeSEDescription
game
877 BlockContainers t_links
880 WaitCursor t_link
Buttons
882 Value t_link
883 ValueOperator t_int
884 ValueInt t_int
Scenes
879 TestCharacter t_link
DialogParts
885 Value t_link
886 ValueOperator t_int
887 ValueInt t_int
AudioBusses
881 LinkedObjects t_links
BlockContainers
870 Blocks t_links
Blocks
875 TypeName t_string
874 Config t_string
873 Links t_links
876 Position t_point
878 Active t_bool

5.0.5

IdNameTypeSEDescription
game
890 Behaviours t_links
Buttons
888 Visibility t_int
Blocks
889 Type t_int

5.0.6

IdNameTypeSEDescription

5.0.7

IdNameTypeSEDescription
game
891 LeftClickBehaviour t_int
Curves
895 Points t_vpoint
896 Type t_int

5.0.8

IdNameTypeSEDescription

game -1

IdNameTypeSEDescription
370 Id t_string custom identifier
537 SaveGameName t_string Name of the savegame (only in savegames)
117 SceneLinks t_links All scenes
118 CharacterLinks t_links All characters
662 Interfaces t_links All interfaces
120 FontLinks t_links All fonts
259 Languages t_links All languages
121 FirstScene t_link First scene
349 Items t_links All items
358 Loading t_link Loading screen Loadings
124 Description t_string Description
125 About t_string About
126 WindowResolution t_point Resolution
215 Cursors t_links All cursors
224 Intro t_path Intro movie
244 CommandBehaviour t_int 0 always set standard command 1 never set standard command 2 set standard command on success
234 FadeDelay t_int scene fade duration
246 ScrollSpeed t_int scroll speed
247 FullScreenIntro t_bool unused
303 FirstCharacter t_link first character
305 DraggableItems t_bool are items draggable
306 StandardLanguage t_link current language
318 Actions t_links keyboard/mouse actions
368 StartAction t_link start action
337 RightClickAction t_link right click action
369 Reserved t_string unused
377 HoldTime t_int time until hold event occurs
379 LeftDblClickAction t_link left double click action
381 LeftHoldAction t_link left hold action
386 LeftHoldingAction t_link moving while holding: left holding action
448 ParticleContainerLinks t_links all particlecontainers
547 FadeEffect t_int #transitions
548 MinificationFilter t_int 0 linear 1 nearest neighbour
549 MagnificationFilter t_int 0 linear 1 nearest neighbour
468 CurrentCharacter t_link current character
469 CurrentScene t_link current scene
470 ScrollPosition t_point current scroll position
471 ScrollToPoint t_point scroll to point
472 ScrollTo t_bool true if currently scrolling to point
473 ScrollDirectionHorizontal t_int
474 ScrollDirectionVertical t_int
476 Dialog t_link current dialog
477 CurrentText t_link current activetext
628 AutoHideInterfacesInMenu t_bool hide interfaces if current scene is menu
479 HideInterfaces t_bool interfaces hidden
480 HideCursor t_bool cursor hidden
481 DialogAction t_link temporary action generated by dialog
482 CurrentDialogAction t_link unused
483 DestinationCommand t_link command used at destination
484 DestinationItem t_link item used at destination
485 DestinationItemPicked t_bool is item picked
615 DestinationEvent t_int event id at destination
486 SavedObject t_link saved object
561 ScrollCenterCharacter t_bool should center character
611 ScrollCharacter t_link which character to center
563 LeftClickAction t_link left click action
565 AlwaysAllowSkipText t_bool allow skipping text while in cutscene
578 ExecuteActionsDuringDialog t_bool if no, no event actions are started during dialog
579 HiddenDialog t_link saves dialog if changed to a menu
582 AlignCharacterOnImExecution t_bool
583 TextOutput t_int
616 ComposedFile t_path
617 SceneComposedFiles t_int
618 SceneComposedFile t_path
619 CharacterComposedFiles t_int
620 CharacterComposedFile t_path
621 MovieComposedFiles t_int
622 MovieComposedFile t_path
627 Version t_string
610 ActiveCommand t_link
588 DrawActionText t_int
589 ActionTextFont t_link
590 ActionTextRect t_rect
629 Quake t_bool
630 QuakeForce t_int
631 QuakeSpeed t_int
592 SpeakerTextAlignment t_int
593 TextAlignment t_int
633 CutsceneAction t_link
642 KeepCharacterSpritesDuringMenus t_bool
643 DisableInteractionDuringAnim t_int
646 TextSpeed t_int
651 ScriptLinks t_links
661 InterfaceClasses t_links
667 HorizontalScrollDistance t_int
668 VerticalScrollDistance t_int
669 PictureCacheSize t_int
670 InterfaceComposedFiles t_int
671 InterfaceComposedFile t_path
682 GameComposedFiles t_int
683 GameComposedFile t_path
685 ObjectFont t_link
686 UsedItem t_link
687 CurrentObject t_link
689 CursorHorizontalScrollDistance t_int
690 CursorVerticalScrollDistance t_int
699 VideosEncrypted t_bool
700 CompanyName t_string
701 GameName t_string
702 ObjectTextOutput t_int
730 UsedItemPicked t_bool
731 PreloadPicThreads t_int
732 PreloadedPicBufferSize t_int
733 PicBufferSize t_int
735 VideoSubtitleFont t_link
736 VideoSubtitlePosition t_point
737 VideoSubtitleLanguage t_string
738 VideoAudioLanguage t_string
743 PreallocatedTextures t_int
745 NearestNeighborInterpolation t_bool
755 SpeechLanguage t_link
758 SpeakerSoundPanFactor t_int
759 RegisteredEventHandlers t_string
763 ShowBlackScreenAfterVideo t_bool
764 SavegameScreenshot t_path
766 MiddleClickAction t_link
767 MouseWheelUpAction t_link
768 MouseWheelDownAction t_link
780 LeftHoldBehaviour t_int
781 MiddleClickBehaviour t_int
782 RightClickBehaviour t_int
787 ShaderExclude t_int
788 VideoPauseScreen t_path
790 ExecuteCalledActionImmediately t_bool
803 Containers t_vstring
804 BuildRules t_vstring
818 IconFile t_path
819 BuildOptions t_string
820 ShaderLinks t_links
826 SmoothScrolling t_bool
834 AudioMixLinks t_links
835 AudioContainerLinks t_links
840 OverlayVisibility t_int
841 OverlayColor t_int
843 SaveNameOffsetY t_int
851 DefaultSpeechBus t_link
852 DefaultSoundBus t_link
853 WalksoundBus t_link
854 DefaultMusicBus t_link
856 Cursor t_link
857 CustomActionParts t_vstring
863 Plugins t_links
877 BlockContainers t_links
880 WaitCursor t_link
890 Behaviours t_links
891 LeftClickBehaviour t_int

Characters 0

IdNameTypeSEDescription
271 Name t_link
272 WalkingSound t_path
585 Interfaces t_links
275 Font t_link
276 CurrentOutfit t_link current outfit
277 CurrentCommentSet t_link
283 DialogCursor t_link
278 Dialogs t_links
280 Actions t_links
281 Outfits t_links
282 CommentSets t_links
311 StartObject t_link
334 Values t_links
331 Conditions t_links
456 Scale t_bool
457 ActiveDialogFont t_link
581 InactiveDialogFont t_link
458 DialogArea t_rect
459 DialogActiveScrollUp t_sprite
460 DialogInactiveScrollUp t_sprite
461 DialogActiveScrollDown t_sprite
462 DialogInactiveScrollDown t_sprite
463 DialogSprite t_sprite
464 DialogVerticalSpace t_int
502 Active t_bool
503 Scene t_link
504 FollowCharacter t_link
505 ActionCharacter t_link
506 FollowAction t_link
507 FollowReachDistance t_int
508 AnimState t_int
599 Direction t_int
511 State t_int
512 Position t_point
513 Destination t_point
515 DestinationObject t_link
517 ActiveCommand t_link
564 AnimIndex t_int
566 ScaleFactor t_int
595 Visibility t_int
596 DestVisibility t_int
597 TimeToDestVisibility t_int
663 Items t_links
664 Tint t_int
734 ActionDestPosition t_point
749 Size t_float
793 MatrixId t_int
795 ShaderSet t_int
801 LightmapActive t_bool
839 HarmonizeWalkAnimations t_bool
855 AudioBus t_link

Interfaces 1

IdNameTypeSEDescription
138 ScrollStepSize t_int
238 Sprite t_sprite
140 Buttons t_links
298 StandardCommand t_link
302 Offset t_point
314 Displacement t_int
320 ActionTextFont t_link
319 ActionTextRect t_rect
324 Size t_int
325 Border t_vpoint
388 LeaveAction t_link
452 Conditions t_links
453 Values t_links
609 ItemsScrollPosition t_int
606 Visible t_bool
603 Visibility t_int
604 DestVisibility t_int
605 TimeToDestVisibility t_int
607 ActiveCommand t_link
587 DrawActionText t_bool
659 InterfaceClass t_link
688 Position t_point
789 ShowAlways t_bool
802 MatrixId t_int

Buttons 2

IdNameTypeSEDescription
342 ActiveSprite t_link
343 InactiveSprite t_link
229 Cursor t_link
295 Name t_link
296 Conjunction t_link
297 Type t_int
612 CommandType t_int
336 Use t_int
613 UseOnCurrentCharacter t_bool
454 Polygon t_vpoint
455 Actions t_links
543 Condition t_link
544 ConditionNegate t_bool
545 Animation t_link
546 Animations t_links
567 Draggable t_bool
584 Group t_links
796 Rotation t_float
797 RotationCenter t_point
798 ShaderSet t_int
799 Scale t_float
800 MatrixId t_int
814 ScaleX t_float
815 ScaleY t_float
882 Value t_link
883 ValueOperator t_int
884 ValueInt t_int
888 Visibility t_int

Fonts 3

IdNameTypeSEDescription
248 Sprite t_sprite
143 Letters t_vrect
249 Alphabet t_string
250 LetterSpacing t_int
540 VerticalLetterSpacing t_int
623 SpaceWidth t_int
634 AutoLineBreak t_bool
635 LineWidth t_int
703 Kerning t_string
769 TrueTypeFont t_bool
770 Font t_link
771 TrueTypeFontPath t_path
772 Size t_float
773 Color t_int
774 Border t_bool
775 BorderColor t_int
776 BorderSize t_float
777 Shadow t_bool
778 ShadowOffset t_point

Scenes 4

IdNameTypeSEDescription
236 Sprite t_sprite
364 Name t_link
132 BackgroundMusic t_path
365 ContinueMusic t_bool
133 CDTrack t_int
315 MusicVolume t_int
316 MusicBalance t_int
136 Objects t_links
232 ScrollOnEdges t_bool
292 IsMenu t_bool
293 Cursor t_link
322 SavegameAreas t_vrect
323 SavegameScrollStep t_int
332 Values t_links
330 Conditions t_links
335 Actions t_links
348 SavegameFont t_link
441 ParticleSystem t_link
550 LightMap t_path
568 ScrollableArea t_rect
594 Brightness t_int
640 WaySystems t_links
641 CurrentWaySystem t_link
681 ActionAreas t_links
765 SavegameScreenshot t_path
794 ShaderSet t_int
838 AudioBusses t_links
879 TestCharacter t_link
892 Curves t_links

Points 5

IdNameTypeSEDescription
145 Size t_int
146 Position t_point
147 Relations t_links

Objects 6

IdNameTypeSEDescription
251 Name t_link
341 Polygon t_vpoint
222 Direction t_int
169 Condition t_link
170 Sprite t_link
171 Animation t_link
172 Actions t_links
175 Conditions t_links
176 Animations t_links
329 Center t_int
333 Values t_links
339 Position t_point
350 IsItem t_bool
359 ConditionNegate t_bool
384 IsWalkable t_bool
467 ParticleSystem t_link
538 ScrollFactorX t_int
539 ScrollFactorY t_int
600 Visibility t_int
601 DestVisibility t_int
602 TimeToDestVisibility t_int
665 SnoopAnimation t_link
666 SnoopAnimationPos t_point
779 Offset t_point
783 Rotation t_float
784 RotationCenter t_point
785 ShaderSet t_int
786 Scale t_float
791 Model t_path
792 MatrixId t_int
812 ScaleX t_float
813 ScaleY t_float
846 Value t_link
847 ValueOperator t_int
848 ValueInt t_int

Actions 7

IdNameTypeSEDescription
159 ExecutionType t_int
160 Fixture t_link
161 Command t_link
162 ActionParts t_links

ActionParts 8

IdNameTypeSEDescription
179 Command t_int
180 Link t_link
181 Path t_path
242 Int t_int
290 AltLink t_link
291 AltInt t_int
591 AltInt2 t_int
654 String t_string

Animations 9

IdNameTypeSEDescription
184 LoopRandom t_bool
187 NumberOfLoops t_int
188 Pause t_int
189 Position t_point
190 Action t_link
235 Sprites t_vsprite
284 Mirror t_link
285 Direction t_int
338 Move t_bool
344 UseIndividualPause t_bool
367 Center t_point
576 PropertyFrames t_links
656 Replay t_int
726 ModelAnimIndex t_int
727 ModelAnimSpeed t_int
760 WalkSteps t_vfloat
808 ModelFile t_path
809 ModelName t_string
811 EndDirection t_int
849 Pauses t_vint

Conditions 10

IdNameTypeSEDescription
193 IsVariable t_bool
194 Value t_bool
195 ReturnNegate t_bool
198 Operator t_int
844 Conditions t_links
845 ConditionsNegate

Dialogs 11

IdNameTypeSEDescription
202 DialogParts t_links
825 Character t_link

DialogParts 12

IdNameTypeSEDescription
204 Condition t_link
614 ConditionNegate t_bool
205 Text t_link
206 Action t_link
655 LinkedAction t_link
286 AnswerText t_link
287 Return t_int
288 Remove t_bool
289 NextDialog t_link
465 AltText t_link
466 UseAltText t_bool
317 Available t_bool
885 Value t_link
886 ValueOperator t_int
887 ValueInt t_int

Sprites 13

IdNameTypeSEDescription
237 Sprite t_sprite

Texts 14

IdNameTypeSEDescription
761 TextLanguages t_vtext

Cursors 15

IdNameTypeSEDescription
647 ActiveAnimation t_link
648 InactiveAnimation t_link

CommentSets 16

IdNameTypeSEDescription
557 Entries t_links

Outfits 17

IdNameTypeSEDescription
267 WalkAnimations t_links
268 TalkAnimations t_links
321 RandomAnimations t_links
269 CharacterAnimations t_links
383 StandingAnimations t_links
270 CharacterSpeed t_int
708 Model t_path
710 CameraHeight t_int
711 CameraAngle t_int
712 UseLight t_bool
713 LightPosX t_float
714 LightPosY t_float
715 LightPosZ t_float
716 LightColor t_int
718 ModelScaleFactor t_int
721 ModelUseToonShading t_bool
722 ModelToonNuances t_int
723 ModelShowOutline t_bool
724 ModelOutlineColor t_int
725 ModelOutlineWidth t_int
728 ModelTextures t_vpath
729 AmbientLightColor t_int
750 ModelShadowVisibility t_int
756 RandomMinTime t_int
757 RandomMaxTime t_int
751 ModelShadow t_int
752 ModelAmbientOcclusion t_int
762 SlideWalkAnimation t_bool
807 ModelFiles t_vpath
810 TurnAnimations t_links
867 ModelTurnSpeed t_int

Languages 18

IdNameTypeSEDescription

TextLanguages 19

IdNameTypeSEDescription
256 Text t_string
257 Sound t_path
258 Language t_link

Values 20

IdNameTypeSEDescription
328 Int t_int
345 Random t_bool
346 RandomMin t_int
347 RandomMax t_int
632 String t_string
805 Float t_float

Loadings 21

IdNameTypeSEDescription
357 Music t_path
353 Sprite t_sprite
355 StatusSprite t_sprite
356 StatusCover t_bool

Particles 22

IdNameTypeSEDescription
392 Texture t_path
393 MaterialMode t_int
394 TilesX t_int
395 TilesY t_int
396 Type t_int
399 EmitterType t_int
403 MaxParticles t_int
404 PerTime t_float
405 PhiX t_int
406 PhiY t_int
407 MinSize t_float
408 MaxSize t_float
409 MinVelocity t_float
410 MaxVelocity t_float
411 MinLife t_int
412 MaxLife t_int
413 MinColor t_int
414 MaxColor t_int
415 RotationX t_int
416 RotationZ t_int
417 ActiveStages t_int
418 BlendColor0 t_int
419 BlendColor1 t_int
420 BlendColor2 t_int
421 BlendColor3 t_int
422 BlendColorCurve0 t_vfloat
423 BlendColorCurve1 t_vfloat
424 BlendColorCurve2 t_vfloat
425 BlendColorCurve3 t_vfloat
426 ColorControlPoints0 t_vint
427 ColorControlPoints1 t_vint
428 ColorControlPoints2 t_vint
429 ColorControlPoints3 t_vint
430 ForceType t_int
431 ForceStrength t_float
432 ForceRotationX t_int
433 ForceRotationZ t_int
434 ForceXPos t_float
435 ForceYPos t_float
436 ForceZPos t_float
437 ForceBlend t_float
438 BlendSizeCurve t_vfloat
439 SizeControlPoints t_vint
443 BlendMaxTile t_int
444 BlendTilesCurve t_vfloat
445 BlendTilesControlPoints t_vint
741 PosX t_int
742 PosY t_int
746 EmitterSizeX t_int
747 EmitterSizeY t_int
748 EmitterSizeZ t_int

ParticleContainers 23

IdNameTypeSEDescription
451 Particles t_links
446 CameraZPosition t_float
447 CameraZoom t_float
442 LeadTime t_int
806 Settings t_string
824 PreviewScene t_link

ActiveTexts 24

IdNameTypeSEDescription
624 SavedObject t_link
521 RemainingText t_string
522 CurrentText t_string
523 Position t_point
524 TimeToWait t_int
525 TimeElapsed t_int
526 Font t_link
527 Background t_bool
529 Active t_bool
530 WaitForAudio t_bool
684 Owner t_link
744 Alignment t_int

ActiveActions 25

IdNameTypeSEDescription
625 SavedObject t_link
488 ActionPartStarted t_bool
489 ActionPartIndex t_int
490 ContinueWaitForEndIfElse t_int
491 TimerStarted t_bool
492 PauseTime t_int
842 SavedValue t_int

ActiveAnimations 26

IdNameTypeSEDescription
626 SavedObject t_link
493 Loops t_int
541 PlayOppositeDirection t_bool
494 CurrentSpriteIndex t_int
495 CurrentSpritePos t_point
496 CurrentPosition t_point
497 CalledTime t_int
499 Size t_float
500 Waiting t_bool
501 WaitingTime t_int
542 FrameCount t_int
577 Preloaded t_bool
580 Active t_bool
644 FirstFrame t_int
645 LastFrame t_int
691 StartedByUser t_bool

CommentSetEntries 27

IdNameTypeSEDescription
559 Text t_link
560 Command t_link

AnimationFrames 28

IdNameTypeSEDescription
571 Index t_int
572 Sound t_path
573 SoundVolume t_int
574 SoundBalance t_int
575 Action t_link

WaySystems 29

IdNameTypeSEDescription
638 Border t_vpoint
639 Points t_links

Scripts 30

IdNameTypeSEDescription
652 Script t_string
653 Type t_int

InterfaceClasses 31

IdNameTypeSEDescription
660 Name t_string

ActionAreas 32

IdNameTypeSEDescription
674 Polygon t_vpoint
675 Actions t_links

AreaActions 33

IdNameTypeSEDescription
678 Character t_link
679 ExecuteAlways t_bool
680 Action t_link

ScriptVariables 34

IdNameTypeSEDescription
695 ValueType t_int
694 KeyType t_int
696 Value t_string
697 IsGlobalVar t_bool
698 Items t_links

Models 35

IdNameTypeSEDescription
706 Model t_path
707 Textures t_vpath

Shaders 36

IdNameTypeSEDescription
821 FS t_string
822 VS t_string
823 Compiled t_string

AudioBusses 37

IdNameTypeSEDescription
830 Links t_links
829 Type t_int
831 Settings t_string
836 Values t_links
837 Events t_links
850 OutputBus t_link
881 LinkedObjects t_links

Events 38

IdNameTypeSEDescription
864 Action t_link
865 StartBus t_link
866 StopBus t_link

Plugins 39

IdNameTypeSEDescription
860 Active t_bool
861 Directory t_string
862 Data t_string

BlockContainers 40

IdNameTypeSEDescription
870 Blocks t_links

Blocks 41

IdNameTypeSEDescription
875 TypeName t_string
874 Config t_string
873 Links t_links
876 Position t_point
878 Active t_bool
889 Type t_int

Curves 42

IdNameTypeSEDescription
895 Points t_vpoint
896 Type t_int

Actionparts

IdNameLinkAltLinkIntAltIntAltInt2StringPathDescription
-1Command Link AltLink Int AltInt AltInt2 String Path Descr
5ELSE else
6ENDIF endif
10CHANGE_SCENE object character 1 fade direction change to scene
12CHANGE_CHARACTER character 1 fade change to character
13START_DIALOG dialog start dialog
14STOP_DIALOG stop dialog
16EXIT_ACTION exit current action
19SHOW_HIDE_ANIMATION animation 0 show, 1 hide 1 reverse 1 wait show/hide animation
22WAITON_ANIMATION animation wait animation
23SHOW_TEXT text character 0 normal, 1 background show character text
24PLAY_SOUND bus volume balance wait if 1 sound play sound
30MAKE_PAUSE value pause 0 ms, 1 sec, 2 min pause
31CHARACTER_GOTO character object 1 wait goto object
32WAITON_CHARACTER character wait until character stopped
45SET_COMMAND command 0 set given command, 1 set standard command, 2 set next command set command
46SHOW_SCENE scene 1 fade show scene
47CHARACTER_GOTO_XY character x y 1 wait goto position
48SCROLL_SCENE object scroll to object
49SCROLL_SCENE_XY x y scroll to point (upper-left)
50SET_CHARACTER_TO_OBJECT character or current character object direction or -1 = object direction set character to object
51CHANGE_OUTFIT outfit 1 don’t unload animations change outfit
52CHANGE_COMMENTSET comment set character or current character change comment set
53CHANGE_LANGUAGE language change to language
54SHOW_CHARACTER character 1 fade show scene of character
55QUIT_GAME quit game
56SHOW_HIDE_INTERFACE interface class 0 show, 1 hide, 2 toggle show/hide interface class
58ALIGN_CHARACTER character or current character object direction align character (to object)
59SET_MUSIC scene or current scene volume balance fade time music set scene music / fade
60SET_SCROLLCHARACTER character 0 center character, 1 don’t set scroll character
66PLAY_VIDEO 0 auto pause and continue sounds, 1 pause, 2 continue, 3 stop video play video
69IF_VALUE value compare value 0 ==, 1 !=, 2 <=, 3 <, 4 >=, 5 > or value if value is
70SET_VALUE value set value 0 =, 1 +=, 2 -=, 3 *=, 4 /= or value set value to
71SHOW_TEXT_XY text font x y 0 normal, 1 background show speaker text
72PLAY_LOOPED_SOUND bus volume balance sound play sound and loop
73STOP_SOUND sound stop sound
77CHANGE_SOUND_SETTINGS volume balance sound change sound volume/balance
78GOTO 0 relative, 1 absolute offset jump to action part
79IF_CHARACTER character if character is current character
80REMOVE_ALL_ITEMS_FROM_CHARACTER character or current character remove all items from character
81GIVE_ALL_ITEMS_TO_CHARACTER character character target give all items to
82SET_CHARACTERSPEED character speed set speed of current outfit
83SET_RANDOM_VALUE value min max set random value
84IF_CHARACTER_ON_SCENE character scene or current scene if character is on scene
85FOLLOW_CHARACTER character or current character action 0 character follows current character, 1 current character follows distance follow character
86STOP_FOLLOW character stop following
87STOP_CHARACTER character stop walking
88CHANGE_WALKINGSOUND character or current character sound change walking sound
89CHANGE_FONT character or current character font change character font
90CHANGE_INTERFACE interface show all interfaces with interface class
92IF_LANGUAGE language if language is current
94SET_CURSOR cursor set cursor
95IF_COMMAND command if command is current
96CHARACTER_GOTO_XYP character x y 1 wait goto position
97CHARACTER_GOTO_P character object 1 wait goto object
98HIDE_CHARACTER character or current character 0 show, 1 hide show/hide character
99SAVE_OBJECT save object to VGameSavedObject
100EXEC_SAVEDOBJECT left click onto saved object
103IF_CURRENT_OBJECT 0 exists, 1 not exists, 2 scene object, 3 item, 4 character if current object is
105SET_ACTIVE_SPRITE button 0 inactive, 1 active set active sprite
106CLEAR_SAVEDOBJECT clear saved object
107SKIP_CURRENT_TEXT skip current text
110SET_FADE_EFFECT fade effect #transitions delay set fade effect
111FADE_OBJECT object value visibility time fade object
112FADE_INTERFACE interface class visibility time fade interface
114SET_LIGHTMAP scene fadetime lightmap set lightmap
115SET_BRIGHTNESS scene brightness set scene brightness
116FADE_CHARACTER character value visibility time fade character
117SET_PICKUP_ITEM item 1 dragged set pickup item
119WAITON_CHARACTER_GOTO character object send to object and wait
121DELETE_SAVEGAME 0 savegame, 1 autosave autosave nr delete savegame/autosave
123IF_SAVEGAME_EXISTS 0 selected savegame, 1 below cursor, 2 any, 3 autosave autosave nr if savegame exists
124SET_CHARACTERANIM_INDEX character or current character index set anim index
125WAITON_SOUND sound wait until sound finished
126SET_HORIZONTAL_SCROLLABLE_AREA scene or current scene left right set horizontal scroll area
127SET_VERTICAL_SCROLLABLE_AREA scene or current scene top bottom set vertical scroll area
131SET_TEXT_OUTPUT #text-output set text output
132SET_CHARACTER_TO_POSITION character or current character scene or current scene x y direction set character to position
133CHANGE_WAYSYSTEM waysystem set waysystem
134SET_FIRST_ANIMATION_FRAME animation first frame set first animation frame
135SET_LAST_ANIMATION_FRAME animation last frame set last animation frame
136SET_TEXT_SPEED value or int set text speed
137CALL_SCRIPT script execute script link
138EXECUTE_SCRIPT script execute script text
139SET_CONDITION condition 0 true, 1 false, 2 toggle set condition to
140IF_CONDITION condition 0 is true, 1 is false if condition is
141SHOW_HIDE_CURSOR 0 show, 1 hide show/hide cursor
142SHOW_HIDE_INTERFACES 0 show, 1 hide show/hide all interfaces
143START_STOP_EARTHQUAKE 0 start, 1 stop force speed start/stop earthquake
144BEGIN_END_CUTSCENE 0 begin, 1 end begin/end cutscene
145LOAD_SAVE_BOOKMARK 0 load, 1 save autosave nr load/save autosave
146LOAD_SAVE_GAME 0 load, 1 save 1 save current action 1 save current action load/save game
147SET_VOLUME 0 sound vol, 1 music vol, 2 speech vol, 3 movie vol, 4 global vol 0 =, 1 +=, 2 -= volume set volume
148CALL_EXIT_ACTION action 0 call, 1 exit call/exit action
149PRELOAD_UNLOAD_ANIMATION animation 0 preload, 1 unload preload animation
150ADD_REMOVE_ITEM item character or current character 0 add, 1 remove 1 scroll to item add/remove item
151SCROLL_SAVEGAMES 0 forward, 1 backwards scroll savegames
152SET_ANIMATION_POSITION animation x y 0 =, 1 +=, 2-= set animation position
153SHOW_HIDE_SNOOP_ANIMATIONS 0 show, 1 hide fade delay show/hide snoop animations
154PRELOAD_UNLOAD_CHARACTER character 0 preload, 1 unload preload whole character
155SHOW_OBJECT_TEXT text object x y alignment #text-alignment font show object text
156HIDE_OBJECT_TEXT object hide object text
157WAITON_CHARACTER_TEXT character wait until character stopped talking
158MOVE_OBJECT object moveX moveY duration move object relative
159MOVE_OBJECT_TO object moveToX moveToY duration move object to
160IF_CHARACTER_IS_ALIGNED_TO character or current character alignment rangeType range if character is aligned to
161IF_CHARACTER_HAS_ITEM character item if character has item
162FADE_TO_COLOR time visibility color fade to color
163IF_LUA expression if lua expression is true
164WAITON_VALUE_CHANGED value compare value or value 0 changed, 1 ==, 2 !=, 3 <=, 4 <, 5 >=, 6 > wait until value changed
165WAITON_CONDITION_CHANGED condition 0 changed, 1 true, 2 false wait until condition changed
166FADE_SOUND volume duration sound fade sound
167TWEEN_VALUE value value to to duration tween value to
168SET_OUTPUT_BUS bus character or current character set output bus of character
169FADE_BUS bus 0 fade in, 1 fade out duration 0 linear, 1 square root, 2 pow6, 3 quadratic fade bus

Global Commands

Commands

Methods

startAction(action)
stopAction(action)
startAnimation(animation, reverse)
stopAnimation(animation)
getVolume(type)
setVolume(type, volume)
getCursorPos()
setCursorPos(pos)
createScreenshot(saveTo, flags)
registerEventHandler(eventtype, handler, flags)
unregisterEventHandler(event, handler)
registerHookFunction(hook, hookFunction)
initGameClient(clientID, clientSecret)
getGameClientStat(apiName)
setGameClientStat(apiName, value)
resetGameClientStats(resetAchievements)
getGameClientAchievement(apiName)
setGameClientAchievement(apiName, flags)
startDefaultBrowser(url)
getProperty(name)
startSound(sounditem, values)
stopSound(soundID)
getSoundId(sounditem)
getSoundProperty(soundID, property)
setSoundProperty(soundID, flags)
toggleSoundPause(soundID)
setWindowTitle(WindowTitle)
getWindowBrightness()
setWindowBrightness(Brightness)
replaceGame(vis-file)
startObjectTween(target, targetfield, from, to, duration, easing, repeat, reverse)
startTween(target, from, to, duration, easing, repeat, reverse)
setDelay(time, callback)
shaderCompile(code, fs)
shaderUniform(shader_number, name, value)
shaderSetOptions(value, id)
isPointInsidePolygon(point, polygon)
toggleWindowMode()
getWindowMode()
setWindowSize(size)
startHapticRumble(strength, length)
stopHapticRumble()
startHapticEffect(effectID)
stopHapticEffect(effectID)
createHapticEffectConstant(effectType, length, delay, level, attack_length, attack_level, fade_length, fade_level, effectDirection, dir0, dir1, dir2)
createHapticEffectPeriodic(effectType, length, delay, peroid, magnitude, offset, phase, attack_length, attack_level, fade_length, fade_level, effectDirection, dir0, dir1, dir2)
createHapticEffectCondition(effectType, length, delay, right_sat, left_sat, right_coeff, left_coeff, deadband, center)
createHapticEffectRamp(effectType, length, delay, start, end, attack_length, attack_level, fade_length, fade_level, effectDirection, dir0, dir1, dir2)
createHapticEffectLeftRight(effectType, length, large_magnitude, small_magnitude)
createEvent(event, position, threshold/sym, acceleration/mod)
getTime(reset)
getObject(path, logWarning)
createSprite(path)
sha1(tohash)
debugerror()
debugfunc()

Fields

localAppDir string
localResourcesDir string
game TVisObj
emptyObject TVisObj

DIVIDING_POINT
x -10000 y -10000

startAction(action)

startAction("Scenes[scene_name].SceneObjects[object_name].SceneActions[action_name]")

local act = getObject("Actions[action_name]")
startAction(act)

Starts an action. If the action is already running a new active action for the action data object is started.

Parameter Type Description
action TVisObj
Return Type Description
TVisObj activeAction

stopAction(action)

stopAction("Scenes[scene_name].SceneObjects[object_name].SceneActions[action_name]")

local act = getObject("Actions[action_name]")
stoptAction(act)

Stops a running action. If the action is not found (because it is not running) nothing happens.

Parameter Type Description
action TVisObj

startAnimation(animation, reverse)

startAnimation("Scenes[scene_name].SceneObjects[object_name].ObjectAnimations[animation_name]")

local anim = getObject("Animations[animation_name]")
startAnimation(anim)

Starts an animation. If the animation is already running the existing animation is returned.

Parameter Type Description
animation TVisObj
reverse boolean
Return Type Description
TVisObj activeAnimation

stopAnimation(animation)

stopAnimation("Scenes[scene_name].SceneObjects[object_name].ObjectAnimations[animation_name]")

local anim = getObject("Animations[animation_name]")
stopAnimation(anim)

Stops a running animation. If the animation is preloaded but not active or not active at all then nothing happens.

Parameter Type Description
animation TVisObj

getVolume(type)

-- is music volume over 50%?
if getVolume(eMusicVolume) > 50 then
-- do some action
end

-- is speech volume more than or equal to 80%?
if getVolume(eSpeechVolume) >= 80 then
-- do some action
end

-- is global (master) volume not equal to 50%?
if getVolume(eGlobalVolume) ~= 50 then
-- do some action
end

Returns the general volume for background music, sound or speech output.

Parameter Type Description
type int The type of volume to return: eMusicVolume (0), eSoundVolume (1), eSpeechVolume (2), eMovieVolume (3) or eGlobalVolume (4).

setVolume(type, volume)

setVolume(eSpeechVolume, 50)

Sets the general volume for background music, sound or speech output.

Parameter Type Description
type int The type of volume to set: eMusicVolume (0), eSoundVolume (1), eSpeechVolume (2), eMovieVolume (3) or eGlobalVolume (4).
volume int New value for volume. Must be between 0 and 100.

getCursorPos()

-- let's store the current position into a variable
local curPos = getCursorPos()

-- let's check if the stored cursor position equals another x,y value
if curPos.x == 200 and curPos.y == 400 then
  -- do some action
else
  -- do some other action
end

Returns the current absolute cursor position.

Return Type Description
point position Table with x and y values containing cursor position.

setCursorPos(pos)

setCursorPos({x=240,y=480})

local cPos = {x=240,y=480}
setCursorPos(cPos)

Parameter Type Description
pos point {x=int,y=int} - The position where the cursor will be set to.

createScreenshot(saveTo, flags)

-- save to "screenshots" folder as "filename.png"
createScreenshot("screenshots/filename.png")

-- add this as an execute script action inside of a key input; change filename to whatever you like

-- save to "screenshots" folder as "filename_(date)_(time).png
local time = os.date("%Y-%m-%d_%Hh-%Mm-%Ss")
createScreenshot("screenshots/filename_" .. time .. ".png")

createScreenshot( "", {flags=1, clear = true})

Creates a new screenshot which is either used for a savegame or stored to a file.

Parameter Type Description
saveTo string If specified the screenshot will be saved to the given path. Otherwise the screenshot will be used for the next savegame(s), as long as a new screenshot is created or the current screenshot is cleared. If a screenshot for a savegame was created before it will be overwritten by the new screenshot.
flags table If true the screenshot will be cleared. Default value is false. If the screenshot is cleared it will be generated automatically by the engine again, everytime the scene is changed from a playable scene to a menu.

registerEventHandler(eventtype, handler, flags)

function onMainLoop()
-- do something
end

registerEventHandler("mainLoop", "onMainLoop")

-- mouse event

function onMouseEvent(eventType, mousePosition)
  if eventType == eEvtMouseWheelUp or eventType == eEvtMouseWheelDown then
    -- mouse wheel was activated, do something
  end
end

registerEventHandler("mouseEvent", "onMouseEvent", {eEvtMouseMove, eEvtMouseLeftButtonDoubleClick, eEvtMouseLeftButtonDown, eEvtMouseLeftButtonUp, eEvtMouseLeftButtonHold, eEvtMouseLeftButtonHolding, eEvtMouseRightButtonDoubleClick, eEvtMouseRightButtonDown, eEvtMouseRightButtonUp, eEvtMouseMiddleButtonDown, eEvtMouseMiddleButtonUp, eEvtMouseWheelUp, eEvtMouseWheelDown})

-- key event

function keyboardHandler(eventType, character, keycode, modifiers)
  if eventType==eEvtKeyUp then
    print('key up: ' .. keycode)
    -- test for '0' with character parameter
    if character == '0' then print('0 released') end
    -- another option to test '0' key
    if keycode == 48 then print('0 released') end
  elseif eventType==eEvtKeyDown then
    print('key down: ' .. keycode)
  elseif eventType==eEvtKeyTextInput then
    -- this will also show more 'complex' unicode characters when multiple keys are used to generate a single character (e.g. Chinese characters)
    print('input: ' .. character)
  end
  if keycode == eKeyEscape then
    -- event will not be handled by engine. this means that also cutscenes can't be skipped with Escape key
    return true
  end
  return false -- key event will also be handled by engine
end

registerEventHandler("keyEvent", "keyboardHandler")

Registers an event handler function for a specific event.

The function for the events “animationStarted”, “animationStopped”, “textStarted” and “textStopped” should take exactly one argument which is the affected visionaire object.
There are no arguments for the “mainLoop” event handler.
The function for “mouseEvent” takes two arguments, the first one is the mouse event (see “eventFlags” parameter) and the second argument is the current mouse position (a table containing x- and y-position).
The function for “keyEvent” takes four arguments: eventType, character, keycode and modifiers. Return value must be true or false. If the function returns true, the key event will not be handled by the engine.
eventType: eEvtKeyDown (key pressed, can be fired multiple times for pressed key), eEvtKeyTextInput (text input, can be fired multiple times for pressed key) and eEvtKeyUp (key released, only fired once).
character: current text input of pressed key(s). This parameter only contains printable characters.
keycode: virtual keycode, only valid for eEvtKeyDown and eEvtKeyUp events. Can be used to query special keys like Esc or Shift.
modifiers: currently active key modifiers (e.g. Ctrl, Shift).

Parameter Type Description
eventtype string The event which triggers the event handler to be called. Currently supported events: “mainLoop”, “mouseEvent”, “keyEvent”, “animationStarted”, “animationStopped”, “textStarted”, “textStopped”, “engineEvent”, “actionArea”.
handler string The name of the lua function which is called when the event occurs.
flags table {int,…} - Can only be specified for “mouseEvent”: a list of mouse events where the event handler is called. Currently the following mouse events are supported: eEvtMouseMove, eEvtMouseLeftButtonDoubleClick, eEvtMouseLeftButtonDown, eEvtMouseLeftButtonUp, eEvtMouseLeftButtonHold, eEvtMouseLeftButtonHolding, eEvtMouseRightButtonDoubleClick, eEvtMouseRightButtonDown, eEvtMouseRightButtonUp, eEvtMouseMiddleButtonDown, eEvtMouseMiddleButtonUp, eEvtMouseWheelUp and eEvtMouseWheelDown. If no mouse event is specified then the event handler is registered for all mouse events.

unregisterEventHandler(event, handler)

function onMainLoop()
-- do something
end

registerEventHandler("mainLoop", "onMainLoop")
-- ... later on, when the main loop event handler is not needed anymore:
unregisterEventHandler("mainLoop", "onMainLoop")

Unregisters an event handler function for a specific event.

Parameter Type Description
event string The event which triggers the event handler to be called. Currently supported events: “mainLoop”, “mouseEvent”.
handler string The name of the lua function which is called when the event occurs.

registerHookFunction(hook, hookFunction)

function adaptedTextPosition(text)
  -- show texts of character Hero 10 pixel below character position
  local owner = text:getLink(VTextOwner)
  if owner:getId().tableId == eCharacters and owner:getName() == 'Hero' then
    local pos = owner:getPoint(VCharacterPosition)
    pos.y = pos.y + 10
    text:setValue(VTextPosition, pos)
    return true
  end
  return false
end

registerHookFunction("setTextPosition", "adaptedTextPosition")

function myActionText(mousePos)
  -- individual action text: object name (in current language) of object below cursor, if there is no object then '<empty>' is shown as action text
  local obj = game:getLink(VGameCurrentObject)
  if obj:getId().tableId == eObjects then
    return 'current object: ' .. obj:getTextStr(VObjectName)
  end
  return '<empty>'
end

registerHookFunction("getActionText", "myActionText")

Registers a hook function for a specific operation.

“setTextPosition”: The function should take exactly one argument which is the affected visionaire object. The function must return a boolean value: true if the operation was handled in the hook function, false if the operation was not handled and should be handled by the engine (as if there were no hook). “getActionText”: The function should take exactly one argument which is the current mouse position (a table containing x- and y-position). The function must return a string value which will be used as the current action text. “getCharacterAnimationIndex”: The function takes exactly 3 arguments: the character (visionaire object), animation type () and new direction (degrees). The function must return an integer value which specifies the walk animation to use for the new direction (0-based index). If -1 is returned the index is handled by the engine (as if there were no hook).

Parameter Type Description
hook string The operation for which the hook function should be called. Currently supported hooks: “setTextPosition” (the hook is called everytime the position of a displayed text is set), “getActionText” (the hook is called everytime to get the currently displayed action text), “getWalkAnimationIndex” (the hook is called everytime a character changes its direction during walking).
hookFunction string The name of the lua function which is called when the hook is executed.

initGameClient(clientID, clientSecret)

Init the gog galaxy client with the given values. Note: this command only works for the gog galaxy client!

Parameter Type Description
clientID string gog galaxy clientID.
clientSecret string gog galaxy clientSecret.
Return Type Description
boolean success

getGameClientStat(apiName)

Returns the requested game client stat. Note: this command only works if the steam_api/gog galaxy library was loaded and if a steam / gog galaxy account for your game exists.

Parameter Type Description
apiName string The name of the requested stat. This is the API name specified in the steam account.
Return Type Description
stat The integer value of the stat or -1 if the stat could not be retrieved.

setGameClientStat(apiName, value)

Sets the specified steam/gog galaxy stat to the given value. Note: this command only works if the steam_api/gog galaxy library was loaded and if a steam / gog galaxy account for your game exists.

Parameter Type Description
apiName string The name of the stat to set. This is the API name specified in the steam/gog galaxy account.
value int Stat will be set to this value.
Return Type Description
boolean success True if the value was set successfully, false if the operation failed.

resetGameClientStats(resetAchievements)

Resets all game clients stats. Note: this command only works if the steam_api/gog galaxy library was loaded and if a steam / gog galaxy account for your game exists.

Parameter Type Description
resetAchievements boolean If true all achievements will be cleared, otherwise only all stats will be reset. Default value is false
Return Type Description
boolean True if the stats were cleared successfully, false if the operation failed.

getGameClientAchievement(apiName)

Gets current state of an achievement. Note: this command only works if the steam_api/gog galaxy library was loaded and if a steam / gog galaxy account for your game exists.

Parameter Type Description
apiName string The name of the requested achievement. This is the API name specified in the steam / gog galaxy account.
Return Type Description
bool result True/false depending if the achievement is set or not, false if the operation failed.

setGameClientAchievement(apiName, flags)

Sets an achievement to done. Note: this command only works if the steam_api/gog galaxy library was loaded and if a steam / gog galaxy account for your game exists.

Parameter Type Description
apiName string The name of the achievement to set. This is the API name specified in the steam / gog galaxy account.
flags table If clear flag is true the achievement will be cleared. Default value is false.

startDefaultBrowser(url)

-- launch default browser & open included link, if browser is already running then open link in a new tab
startDefaultBrowser("http://visionaire-studio.net")

-- returns true if customURL exists, false otherwise:
local customURL = startDefaultBrowser("customURL://", true)

Open an url in user’s default browser or in the steam overlay (if active).

Parameter Type Description
url string
Return Type Description
bool status True if browser was successfully launched, false otherwise.

getProperty(name)

-- if platform equals windows then do some action else if mac do some other action
if getProperty("platform") == "win" then
  getObject("Conditions[win?]"):setValue(VConditionValue, true)
elseif getProperty("platform") == "mac" then
  getObject("Conditions[mac?]"):setValue(VConditionValue, true)
end

-- let's check if steam has initialized & set a value based on return value
local steamLoaded = getProperty("steam_initialized")

if steamLoaded then
  getObject("Conditions[steamLoaded?]"):setValue(VConditionValue, true)
else
  getObject("Conditions[steamLoaded?]"):setValue(VConditionValue, false)
end

-- let's check if gog galaxy has initialized & set a value based on return value
local galaxyLoaded = getProperty("galaxy_initialized")

if galaxyLoaded then
  getObject("Conditions[galaxyLoaded?]"):setValue(VConditionValue, true)
else
  getObject("Conditions[galaxyLoaded?]"):setValue(VConditionValue, false)
end

-- set game language to users operating system language
local sysLang = getProperty("system_language")

if sysLang == "English" then
  game:setValue(VGameStandardLanguage, getObject("Languages[English]"))
elseif sysLang == "German" then
  game:setValue(VGameStandardLanguage, getObject("Languages[Deutsch]"))
end

“string” - The requested property to retrieve.
Currently supported properties:
“platform” (win,mac,ios,android,linux,ps4,xbox1,html5)
“steam_initialized” (true/false depending if the steam_api was loaded and client is connected, false if the operation failed)
“galaxy_initialized” (true/false depending if the gog galaxy_api was loaded and client is connected, false if the operation failed)
“galaxy_ready” (true if the galaxy_api is ready)
“system_language” Returns English name of system language or “unknown” if language could not be retrieved.
“display_resolution” Returns the rect that is drawn in, subtracting the black borders

Parameter Type Description
name string
Return Type Description
variant result

startSound(sounditem, values)

--play audio file, store sound id (for later use) and update sound balance of currently started sound
local soundId = startSound('vispath:sounds/example.ogg')
setSoundProperty(soundId, {flags=1, balance=40})

-- play audio file and set volume, balance and offset
startSound('vispath:sounds/example.ogg', {flags=1, volume=70, balance=-10, offset=1000})

Plays a sound file.

“vol”/“volume” - Sound volume (0 … mute, 100 … full volume), default value is 100.
“bal”/“balance” - Sound balance (-100 … left, 0 … center, +100 right), default value is 0.
“lop”/“loop” - If true then loop sound, otherwise play it only once (default).
“ofs”/“offset” - Set the sound to a specific offset (seek) in milliseconds. Default value is 0.

Parameter Type Description
sounditem path Relative filename of sound which should be started.
values table
Return Type Description
int soundID Unique id referencing the started sound or -1 if the sound could not be started.

stopSound(soundID)

local soundID = getSoundId('vispath:sounds/example.ogg')
stopSound(soundID)

Parameter Type Description
soundID int ID of the sound which should be stopped
Return Type Description
bool status

getSoundId(sounditem)

-- store sound id of a currently active sound in a local variable
local soundID = getSoundId('vispath:sounds/example.ogg')

Gets the sound ID of the specified sound if it is currently active.

Parameter Type Description
sounditem path Relative filename of sound
Return Type Description
int soundID Unique id referencing the requested sound or -1 if the sound is not active

getSoundProperty(soundID, property)

local soundID = getSoundId('vispath:sounds/example.ogg')
local soundOffset = getSoundProperty(soundID, "offset")

Return the requested sound property.

Currently supported properties:
“volume” (0 mute … 100 full volume, -1 if volume could not be retrieved),
“balance” (-100 … left, 0 … center, +100 … right, 0 if balance could not be retrieved),
“offset” (current position from beginning of the sound in milliseconds, -1 if offset could not be retrieved),
“duration” (total duration of sound in milliseconds, -1 if duration could not be retrieved),
“loop” (true if sound is looped, false it is only played once, false if loop property could not be retrieved),
“playing” (true if sound is currently playing, false otherwise).
“paused” (true if sound is currently paused, false if sound is playing or not active at all).

Parameter Type Description
soundID int
property string

setSoundProperty(soundID, flags)

local soundID = getSoundId('vispath:sounds/example.ogg')
setSoundProperty(soundID, {flags=1, volume=80, balance=20, loop=true, offset=100})

Sets properties of the specified sound.

Parameter Type Description
soundID int
flags table

toggleSoundPause(soundID)

local soundID = getSoundId('vispath:sounds/example.ogg')
toggleSoundPause(soundID)

Pause/resume the specified sound.

Parameter Type Description
soundID int
Return Type Description
bool status

setWindowTitle(WindowTitle)

-- basic set window title command
setWindowTitle("my new game title")

-- set window title based on current users system language
sysLang = getProperty("system_language")
if sysLang == "English" then
  setWindowTitle("my demogame")
elseif sysLang == "German" then
  setWindowTitle("mein Demospiel")
end"));

Sets the window title.

Parameter Type Description
WindowTitle string

getWindowBrightness()

Returns the brightness (gamma) for the window. Note: 0 is completely dark and 100 is normal brightness.

Return Type Description
int Brightness

setWindowBrightness(Brightness)

setWindowBrightness(100)

Sets the brightness (gamma) for the window.

Parameter Type Description
Brightness int The brightness (gamma) value. 0 is completely dark and 100 is normal brightness. Returns false if not supported otherwise true.

replaceGame(vis-file)

replaceGame('load.vis')

Replaces the game with a file relative from the current file.

Parameter Type Description
vis-file path

startObjectTween(target, targetfield, from, to, duration, easing, repeat, reverse)

startObjectTween(game,VGameScrollPosition,game:getPoint(VGameScrollPosition),{x=100,y=0},3000,easeBackInOut)

->Tweening

Parameter Type Description
target TVisObj
targetfield int
from variant
to variant
duration float
easing int type
repeat bool
reverse bool repeat

startTween(target, from, to, duration, easing, repeat, reverse)

startTween("q", q, 3, 3000, easeBackInOut)

->Tweening

Parameter Type Description
target string
from variant
to variant
duration float
easing int type
repeat bool
reverse bool repeat

setDelay(time, callback)

function callback()
  print("called")
end

setDelay(1000, "callback()")
setDelay(1000, function() print("called") end)
setDelay(1000, callback)

Parameter Type Description
time int
callback function/string

shaderCompile(code, fs)

int num = shaderCompile([[VSCBIN...]])

GLSL code can only be used if using OpenGL.

Parameter Type Description
code string
fs string

shaderUniform(shader_number, name, value)

shaderUniform("iTime",shader_iTime*0.1)
shaderUniform("shader_coeff",{shader_coeff0,shader_coeff1,shader_coeff2,shader_coeff3})

Set uniforms for shader

Parameter Type Description
shader_number int
name string option name, use i prefix to set integer values as lua has only numbers
value variant value, supports integer, float, vec2, vec3, vec4, mat4

shaderSetOptions(value, id)

shaderSetOptions({ renderbuffers=2,
{ shader = shaders.num(), source=0, target = 1, clear = 0 },
{ shader = shaders.num(), source=0, target = 0, clear = 0 },
{ shader = shaders.bnum(), source=1, target = 0, clear = 0, comp_dst=0 }
})

set shader options

Parameter Type Description
value table
id int

isPointInsidePolygon(point, polygon)

-- Test if the current position of an active 'cloud' animation is inside the polygon of a 'window' object on the current scene 
-- and store the result in a global variable
local anim = ActiveAnimations['Cloud']
local polygon = game.GameCurrentScene.SceneObjects['Window'].ObjectPolygon
cloudVisible = isPointInsidePolygon(anim.AnimationCurrentPosition, polygon)

Tests if a point is inside polygon.

Parameter Type Description
point point
polygon pointlist A single polygon. Bear in mind that a field containing multiple polygons (e.g. a way border or object polygon) must first be split into single polygons and tested separately.

toggleWindowMode()

toggleWindowMode()

Toggle the window mode to fullscreen or windowed.

getWindowMode()

Returns the window mode (fullscreen or not). Note: true is fullscreen and false is windowed.

Return Type Description
bool windowed

setWindowSize(size)

setWindowSize({x=640,y=480})

Sets the size of the window.

Parameter Type Description
size point

startHapticRumble(strength, length)

local rumble = startHapticRumble(50, 5000)

Start an basic haptic rumble effect.

Parameter Type Description
strength int Strength of the rumble to play (0 to 100)
length int Length of the rumble to play in milliseconds, -1 for infinite

stopHapticRumble()

local rumble = stopHapticRumble()

Return Type Description
bool status

startHapticEffect(effectID)

local effectID = createHapticEffectConstant('constant', 1000, -1, 0x6000, 1000, -1, 1000, -1, 'polar', 20000)
startHapticEffect(effectID)

Parameter Type Description
effectID int
Return Type Description
bool status

stopHapticEffect(effectID)

stopHapticEffect(effectID)

Parameter Type Description
effectID int
Return Type Description
bool status

createHapticEffectConstant(effectType, length, delay, level, attack_length, attack_level, fade_length, fade_level, effectDirection, dir0, dir1, dir2)

local effectID = createHapticEffectConstant('constant', 1000, -1, 0x6000, 1000, -1, 1000, -1, 'polar', 20000)
startHapticEffect(effectID)

Parameter Type Description
effectType string
length int
delay int
level int
attack_length int
attack_level int
fade_length int
fade_level int
effectDirection string
dir0 int
dir1 int
dir2 int
Return Type Description
int effectID

createHapticEffectPeriodic(effectType, length, delay, peroid, magnitude, offset, phase, attack_length, attack_level, fade_length, fade_level, effectDirection, dir0, dir1, dir2)

local effectID = createHapticEffectRamp('ramp', 5000, -1, 0x4000, -0x4000, 1000, -1, 1000, -1, 'cartesian', 1, -1)
startHapticEffect(effectID)

Parameter Type Description
effectType string
length int
delay int
peroid int
magnitude int
offset int
phase int
attack_length int
attack_level int
fade_length int
fade_level int
effectDirection string
dir0 int
dir1 int
dir2 int
Return Type Description
int effectID

createHapticEffectCondition(effectType, length, delay, right_sat, left_sat, right_coeff, left_coeff, deadband, center)

local effectID = createHapticEffectCondition('spring', 5000, -1, 0xFFFF, 0xFFFF, 0x2000, 0x2000, -1, 0x1000)
startHapticEffect(effectID)

Parameter Type Description
effectType string
length int
delay int
right_sat int
left_sat int
right_coeff int
left_coeff int
deadband int
center int
Return Type Description
int effectID

createHapticEffectRamp(effectType, length, delay, start, end, attack_length, attack_level, fade_length, fade_level, effectDirection, dir0, dir1, dir2)

local effectID = createHapticEffectRamp('ramp', 5000, -1, 0x4000, -0x4000, 1000, -1, 1000, -1, 'cartesian', 1, -1)
startHapticEffect(effectID)

Parameter Type Description
effectType string
length int
delay int
start int
end int
attack_length int
attack_level int
fade_length int
fade_level int
effectDirection string
dir0 int
dir1 int
dir2 int
Return Type Description
int effectID

createHapticEffectLeftRight(effectType, length, large_magnitude, small_magnitude)

local effectID = createHapticEffectLeftRight('leftright', 5000, 0x3000, 0xFFFF)
startHapticEffect(effectID)

Create an new haptic Left/Right effect.

Parameter Type Description
effectType string Type of the effect
possible effects: leftright
length int Duration of the effect
large_magnitude int Control of the large controller motor
small_magnitude int Control of the small controller motor
Return Type Description
int effectID Unique id of the effect or -1 if effect was not supported on connected controller.

createEvent(event, position, threshold/sym, acceleration/mod)

createEvent( "eEvtKeyDown", { x = 0, y = 0 }, eKeyEscape, 0 )
createEvent( "eEvtKeyUp", { x = 0, y = 0 }, eKeyEscape, 0 )

local mouse_x = 0,
local mouse_y = 0
local charmove_x = 0
local charmove_y = 0\n
function keyboardHandler(eventType, character, keycode, modifiers)
  if eventType==eEvtKeyUp then
    print('key up: ' .. keycode)
  elseif eventType==eEvtKeyDown then
    print('key pressed: ' .. keycode)
  elseif eventType==eEvtControllerKeyUp then
    print('controller up: ' .. keycode)
    if keycode == 1000001 then --controller key A up
      createEvent('eEvtMouseLeftButtonUp')
    end
  elseif eventType==eEvtControllerKeyDown then
    print('controller down: ' .. keycode)
    if keycode == 1000001 then --controller key A down
      createEvent('eEvtMouseLeftButtonDown')
    end
  elseif eventType==eEvtControllerAxis then
    if string.match(character, 'RIGHTX') then
      mouse_x = keycode
      createEvent('eEvtControllerAxisMouseMove', {x=mouse_x, y=mouse_y}, 19, 9)
    elseif string.match(character, 'RIGHTY') then
      mouse_y = keycode
      createEvent('eEvtControllerAxisMouseMove', {x=mouse_x, y=mouse_y}, 19, 9)
    elseif string.match(character, 'LEFTX') then
      charmove_x = keycode
      createEvent('eEvtControllerAxisCharacterMove', {x=charmove_x, y=charmove_y}, 25)
    elseif string.match(character, 'LEFTY') then
      charmove_y = keycode
      createEvent('eEvtControllerAxisCharacterMove', {x=charmove_x, y=charmove_y}, 25)
    end
  end
  return false
end

registerEventHandler('keyEvent', 'keyboardHandler')

Create an event and push it onto the SDL event queue.

event name params
eEvtMouseLeftButtonDown
eEvtMouseLeftButtonUp
eEvtMouseMiddleButtonDown
eEvtMouseMiddleButtonUp
eEvtMouseRightButtonDown
eEvtMouseRightButtonUp
eEvtMouseWheelDown
eEvtMouseWheelUp
eEvtKeyDown sym, mod
eEvtKeyUp sym, mod
eEvtControllerAxisMouseMove ControllerAxis, Threshold, Acceleration
eEvtControllerAxisCharacterMove ControllerAxis, Threshold, Acceleration
Parameter Type Description
event string
position point
threshold/sym int
acceleration/mod int

getTime(reset)

local time = getTime()

function checkTime()
  if getTime() > 3000 then -- if time elapsed is more than 3 seconds then ...
    -- do some action
    getTime({flags=1, reset=true}) -- let's reset timer back to zero
  end
end
-- the checkTime() function would be most effective if included in a mainLoop event handler

Returns the number of milli seconds since the command was called the first time (or the timer was reset). Use this command for relative time measurements. E.g. call this command twice at different locations and calculate the time differential to see the time passed.

Parameter Type Description
reset table

getObject(path, logWarning)

local obj = getObject("\\eScenes\\")
print(obj.name)

-- Access object by scanning whole object table (object name must be unique for whole table)
getObject(\"Conditions[door_open?]\") -- get condition with name 'door open?'

-- Specific object access
getObject(\"Scenes[office].SceneConditions[door_open?]\") -- get condition 'door open?' linked to scene 'office'

The path has to start with a table name, then follows the object name in brackets (‘[’,‘]’) - only the game table does not have an object name. Optionally a field name (field type must either be t_link or t_links) can follow after a dot ‘.’. For t_links fields you must specify an object name in brackets (‘[’,‘]’). For t_link fields there are no brackets. Alternatively you can also pass in a tuple with the table id and the object id, e.g. “(0,3)”.

->Object Paths

Parameter Type Description
path string
logWarning bool If true (default) a warning will be printed to the log file if the object could not be found.
Return Type Description
TVisObj The found visionaire object or an empty object if no object was found.

createSprite(path)

local sprite = createSprite("vispath:test.png")
print(sprite:getSize().x)

Parameter Type Description
path string
Return Type Description
TSprite

sha1(tohash)

print(sha1("test"))

Parameter Type Description
tohash string
Return Type Description
string hash

debugerror()

internal debug function to create a stacktrace

debugfunc()

internal debug function to create a stacktrace

TVisObj

Methods

isEmpty()
isAnyObject()
getId()
getParent()
getObject(path, logWarning)
getName()
setName(name)
setValue(field, value)
clearLink(field)
setTextStr(field)
getInt(field)
getFloat(field)
getBool(field)
getStr(field)
getPath(field)
getSprite(field)
getRect(field)
getPoint(field)
getLink(field)
getLinks(field)
debug()
getPoints(field)
getRects(field)
getSprites(field)
getPaths(field)
getInts(field)
getFloats(field)
getTexts(field)
getTextStr(field, language)
to(time, values, easing, repeat, reverse)
duplicate(name)
create(field, name)
remove()
info()
__eq()
__tostring()

Fields

id readonly int
tableId readonly int
name readonly string
parent readonly TVisObj

isEmpty()

Return Type Description
bool

isAnyObject()

Return Type Description
bool

getId()

Return Type Description
table {id = id, tableId = tableId}

getParent()

Return Type Description
TVisObj

getObject(path, logWarning)

Parameter Type Description
path string
logWarning bool
Return Type Description
TVisObj

getName()

Return Type Description
string

setName(name)

Parameter Type Description
name string

setValue(field, value)

Parameter Type Description
field int
value variant
Parameter Type Description
field int

setTextStr(field)

Parameter Type Description
field int
Return Type Description
string

getInt(field)

Parameter Type Description
field int
Return Type Description
int

getFloat(field)

Parameter Type Description
field int
Return Type Description
float

getBool(field)

Parameter Type Description
field int
Return Type Description
bool

getStr(field)

Parameter Type Description
field int
Return Type Description
string

getPath(field)

Parameter Type Description
field int
Return Type Description
string

getSprite(field)

Parameter Type Description
field int
Return Type Description
TSprite

getRect(field)

Parameter Type Description
field int
Return Type Description
rect

getPoint(field)

Parameter Type Description
field int
Return Type Description
point
Parameter Type Description
field int
Return Type Description
TVisObj
Parameter Type Description
field int
Return Type Description
table TVisObjs

debug()

getPoints(field)

Parameter Type Description
field int
Return Type Description
table points

getRects(field)

Parameter Type Description
field int
Return Type Description
table rects

getSprites(field)

Parameter Type Description
field int
Return Type Description
table sprites

getPaths(field)

Parameter Type Description
field int
Return Type Description
table paths

getInts(field)

Parameter Type Description
field int
Return Type Description
table ints

getFloats(field)

Parameter Type Description
field int
Return Type Description
table floats

getTexts(field)

Parameter Type Description
field int
Return Type Description
table texts

getTextStr(field, language)

Parameter Type Description
field int
language TVisObj default GameStandardLanguage
Return Type Description
string text

to(time, values, easing, repeat, reverse)

game:to(3000, { ScrollPosition = {x = 100, y = 0} }, easeBackInOut)
game.CurrentScene:to(delay, {Brightness = 0}, easeLinearInOut)

-> Tweening

Parameter Type Description
time int
values table
easing int
repeat bool
reverse bool

duplicate(name)

local obj = game.CurrentScene.Objects.Object0:duplicate("duplObj")
obj.Offset = {x=100, y=100}
obj = game.CurrentScene.Objects.duplObj

obj = game.CurrentScene:create(VSceneObjects, "temp0")
obj:create(VObjectSprite, "obj")

obj:remove()

Parameter Type Description
name string
Return Type Description
TVisObj

create(field, name)

Parameter Type Description
field int
name string
Return Type Description
TVisObj

remove()

info()

get all values as a table

__eq()

if a == b then
else
end

compare visobjs

__tostring()

Used In:

Commands.startAction
Commands.startAction
Commands.stopAction
Commands.startAnimation
Commands.startAnimation
Commands.stopAnimation
Commands.startObjectTween
Commands.getObject
TVisObj.getParent
TVisObj.getObject
TVisObj.getLink
TVisObj.getTextStr
TVisObj.duplicate
TVisObj.create
graphics.drawAnimation
graphics.instantiateAnimation
graphics.instantiateAnimation
graphics.getCurrentSpritePath
graphics.getAnimationSize
graphics.getAnimationInnerSize
graphics.getCharacterTextPosition
graphics.getParticles
graphics.registerRenderHook
TextScrollPane.addText

TSprite

Methods

getPath()
setPath(path)
getSize()
setPosition(position)
getPosition()

getPath()

Return Type Description
string path

setPath(path)

Parameter Type Description
path string

getSize()

Return Type Description
point size

setPosition(position)

Parameter Type Description
position point

getPosition()

Return Type Description
point position

Used In:

Commands.createSprite
TVisObj.getSprite

graphics

graphics

Methods

loadFromFile(path)
loadMemoryJPG(bytes)
loadMemoryPNG(bytes)
loadMemoryWEBP(bytes)
drawFont(text, x, y, alpha)
drawSprite(sprite, alpha, tint)
drawSpriteWithNineRect(sprite, destRect, nineRect, color, alpha)
drawBox(x, y, w, h, color, alpha)
drawLine(x, y, x2, y2, color, alpha)
drawAnimation(ActiveAnimation, alpha, tint)
isUpsideDown()
clear()
setupOffsets(attribId, size, stride, offset, elementSize)
drawIndexed(offset, count)
createIndexBuffer(dynamic, size)
createBuffer(dynamic, size)
createFramebuffer(width, height)
bindCurrentTexture(slot)
bindFramebuffer()
addDrawFunc(name, position)
removeDrawFunc(name)
shaderUniform(shader, uniformName, value)
shaderCallback(shader, luafunc)
shaderDrawCallback(shader, luafunc)
shaderUse(shader)
shaderAttrib(shader, attrib)
lightmapCallback(callback)
performLinebreaks(text)
fontDimension(text)
fontLineHeight()
fontColor()
noise(pos1, pos2)
noise2(pos1, pos2, pos3, pos4)
movieOpen(file)
unlockAspectRatio()
lockAspectRatio()
evalTween(from, to, completition, easing)
clipboard()
setScrollPosition(x, y)
getScrollPosition()
instantiateAnimation(animation, reverse, size)
getCurrentSpritePath(obj)
getAnimationSize(obj)
getAnimationInnerSize(obj)
getCharacterTextPosition(character)
getMatrix1Properties()
createBox2DDebugRender()
setDebugRenderOffset(x, y)
orthogonal(left, right, bottom, top)
transferMode(src, dst, alpha_src, alpha_dst)
openedVideos()
createTextScrollPane()
setSpineTime()
setSpineSlot()
getParticles(object)
registerRenderHook(object, hook)

Fields

fontShader int
defaultShader int
matrix1 int
matrix2 int
textMatrix int
invMatrix1 int
fontShaderIndizes int[]

clipboard string
font TVisObj

loadFromFile(path)

local sprite = graphics.loadFromFile("vispath:test.png")

Parameter Type Description
path string ->vispath
Return Type Description
Sprite
nil if not found

loadMemoryJPG(bytes)

local f = io.open("test.jpg", "rb")
local content = f:read("*all")
f:close()
local sprite = graphics.loadMemoryJPG(content)

Parameter Type Description
bytes string
Return Type Description
Sprite

loadMemoryPNG(bytes)

local f = io.open("test.png", "rb")
local content = f:read("*all")
f:close()
local sprite = graphics.loadMemoryPNG(content)

Parameter Type Description
bytes string
Return Type Description
Sprite

loadMemoryWEBP(bytes)

local f = io.open("test.webp", "rb")
local content = f:read("*all")
f:close()
local sprite = graphics.loadMemoryWEBP(content)

Parameter Type Description
bytes string
Return Type Description
Sprite

drawFont(text, x, y, alpha)

graphics.font = 
graphics.drawFont

Parameter Type Description
text string
x int
y int
alpha float

drawSprite(sprite, alpha, tint)

Parameter Type Description
sprite Sprite
alpha float
tint int

drawSpriteWithNineRect(sprite, destRect, nineRect, color, alpha)

Parameter Type Description
sprite Sprite
destRect rect
nineRect rect
color int
alpha float

drawBox(x, y, w, h, color, alpha)

Parameter Type Description
x int
y int
w int
h int
color int
alpha float

drawLine(x, y, x2, y2, color, alpha)

Parameter Type Description
x int
y int
x2 int
y2 int
color int
alpha float

drawAnimation(ActiveAnimation, alpha, tint)

Parameter Type Description
ActiveAnimation TVisObj
alpha float
tint int

isUpsideDown()

true for DirectX and GNM, (0,0) is upper left instead bottom left

clear()

clear current framebuffer

setupOffsets(attribId, size, stride, offset, elementSize)

graphics.setupOffsets(graphics.shaderAttrib(shader, "position"), 2, 20, 0)

Parameter Type Description
attribId int
size int count of components
stride int
offset int
elementSize int default 4

drawIndexed(offset, count)

Parameter Type Description
offset int
count int

createIndexBuffer(dynamic, size)

Parameter Type Description
dynamic bool
size int in bytes
Return Type Description
TBuffer

createBuffer(dynamic, size)

Parameter Type Description
dynamic bool
size int in bytes
Return Type Description
TBuffer

createFramebuffer(width, height)

Parameter Type Description
width int
height int
Return Type Description
TFramebuffer

bindCurrentTexture(slot)

Parameter Type Description
slot int

bindFramebuffer()

reset/bind framebuffer for the scene

addDrawFunc(name, position)

graphics.addDrawFunc("draw()", 0)
function draw()

end

-1 before scene
0 after scene
1 after interfaces

Parameter Type Description
name string
position int default 0

removeDrawFunc(name)

Parameter Type Description
name string

shaderUniform(shader, uniformName, value)

-> Shader Uniforms

Parameter Type Description
shader int
uniformName string
value variant

shaderCallback(shader, luafunc)

 graphics.shaderCallback(shaderId, "callback")
function callback(object)
    print(object.name)
end

Parameter Type Description
shader int
luafunc string

shaderDrawCallback(shader, luafunc)

 graphics.shaderDrawCallback(shaderId, "drawCallback")
function drawCallback(data)

end

Calls the draw function instead of internal drawing.

Data contains the coordinates.

Parameter Type Description
shader int
luafunc string

shaderUse(shader)

bind shader and bind textures

Parameter Type Description
shader int

shaderAttrib(shader, attrib)

Parameter Type Description
shader int
attrib string
Return Type Description
int attribId

lightmapCallback(callback)

graphics.lightmapCallback("lightmapModify")
function lightmapModify(character, r,g,b)
  local tempR = r
  r = b
  b = tempR
  return r,g,b
end

set lightmap callback -> see example

Parameter Type Description
callback string

performLinebreaks(text)

break text into lines

Parameter Type Description
text string
Return Type Description
table lines

fontDimension(text)

get the dimension of the text with the current font

Parameter Type Description
text string

fontLineHeight()

get the font line height for the current font

Return Type Description
int h

fontColor()

get the font color for the current font

Return Type Description
int r
int g
int b

noise(pos1, pos2)

simplex perlin noise

Parameter Type Description
pos1 float
pos2 float default 0
Return Type Description
float noise

noise2(pos1, pos2, pos3, pos4)

perlin noise with up to 4 components

Parameter Type Description
pos1 float
pos2 float
pos3 float
pos4 float
Return Type Description
float noise

movieOpen(file)

Parameter Type Description
file string ->vispath
Return Type Description
TMovie

unlockAspectRatio()

unlocks aspect ratio and makes filling the screen possible

lockAspectRatio()

resets aspect ratio

evalTween(from, to, completition, easing)

Parameter Type Description
from float
to float
completition float 0-1
easing int ->easing
Return Type Description
float result

clipboard()

Return Type Description
string

setScrollPosition(x, y)

Parameter Type Description
x float
y float

getScrollPosition()

Return Type Description
float x
float y

instantiateAnimation(animation, reverse, size)

Parameter Type Description
animation TVisObj
reverse bool
size int default 100
Return Type Description
TVisObj animation

getCurrentSpritePath(obj)

Parameter Type Description
obj TVisObj character, animation or activeanimation
Return Type Description
string path

getAnimationSize(obj)

sprite rect for current sprite

Parameter Type Description
obj TVisObj character, animation or activeanimation
Return Type Description
point size

getAnimationInnerSize(obj)

cropped sprite rect (transparent pixels removed)

Parameter Type Description
obj TVisObj character, animation or activeanimation
Return Type Description
rect size

getCharacterTextPosition(character)

Parameter Type Description
character TVisObj
Return Type Description
point position
nil

getMatrix1Properties()

Return Type Description
float scaleX
float scaleY
float tX
float tY

createBox2DDebugRender()

Return Type Description
b2Draw

setDebugRenderOffset(x, y)

Parameter Type Description
x int
y int

orthogonal(left, right, bottom, top)

Leave left at -1 for getting current matrix.

Parameter Type Description
left int
right int
bottom int
top int
Return Type Description
table matrix

transferMode(src, dst, alpha_src, alpha_dst)

Parameter Type Description
src int
dst int
alpha_src int
alpha_dst int

openedVideos()

createTextScrollPane()

Return Type Description
TextScrollPane

setSpineTime()

setSpineSlot()

getParticles(object)

Parameter Type Description
object TVisObj
Return Type Description
Particles

registerRenderHook(object, hook)

Parameter Type Description
object TVisObj
hook string

Sprite

Fields

position point
rotation float
scale float
scaleX float
scaleY float
shaderSet int
rotationCenter point
matrixId int
size readonly int
width readonly int
height readonly int

Used In:

graphics.loadFromFile
graphics.loadMemoryJPG
graphics.loadMemoryPNG
graphics.loadMemoryWEBP
graphics.drawSprite
graphics.drawSpriteWithNineRect

TMovie

Methods

draw(x, y, w, h)
finish()
seek(time)
getDuration()
getTime()
pause()
resume()

Fields

width int
height int

draw(x, y, w, h)

Parameter Type Description
x float default -1 for centered
y float
w float default -1 use movie size, -2 fit in screen
h float
Return Type Description
bool finished

finish()

clean up video

seek(time)

Parameter Type Description
time float in seconds with fractional part

getDuration()

Return Type Description
float time in seconds with fractional part

getTime()

Return Type Description
float time in seconds with fractional part

pause()

resume()

Used In:

graphics.movieOpen

TFramebuffer

Methods

bind()

bind()

Used In:

graphics.createFramebuffer

TBuffer

Methods

bind()
update(values)

bind()

update(values)

Parameter Type Description
values table ints for index buffer or floats for vertices buffer

Used In:

graphics.createIndexBuffer
graphics.createBuffer

TextScrollPane

Methods

show()
destroy()
addText(text, font, color, offsetX, offsetY, bulletPointImage, imageOffset)

Fields

bg path
scroll path
scrollUp path
scrollDown path
scrollHover path
scrollUpHover path
scrollDownHover path
padding int
scrollPosition int
rect rect
bg9R rect
scroll9R rect
alwaysShowScrollbar bool
button TVisObj

show()

destroy()

addText(text, font, color, offsetX, offsetY, bulletPointImage, imageOffset)

Parameter Type Description
text TVisObj
font TVisObj
color int
offsetX int
offsetY int
bulletPointImage path
imageOffset point

Used In:

graphics.createTextScrollPane

⌛particleSystem

particleSystem

Methods

new(settings)
draw()
update()
updateDraw()

Fields

images table
emissionDirection table
visibility table
velocityOverLife table
angularVelocityOverLife table
motionRandomnessOverLife table
sizeOverLife table
spinOverLife table
weightOverLife table
velocity table
velocityOverLife table
weight table
life table
size table
rotation table
angularVelocity table
motionRandomness table
spin table
numberOfEmitted table
visibilityOverLife table
colorOverLife table
center table

directionToRotation bool

imageChoice int
creationRate int
maximum int
warmup int
length float
angle float
radius float
innerRadius float
sizeX float
sizeY float
loops int
duration float
directionToRotationOffset float

imageChoice string
transferMode string

new(settings)

Parameter Type Description
settings table

draw()

update()

updateDraw()

⌛system

system

Methods

getDisplayModes()
controllerGuid(device)
controllerName(device)
controllerCount()
joystickCount()
joystickIsController(id)
pauseCurrentActions()
resumeAllActions()
pauseCurrentAnimations()
resumeAllAnimations()
pauseBackgroundMusic()
pauseAllSounds()
resumeBackgroundMusic()
resumeAllSounds()
systemInfo()
skipText()
skipCutscene()
registerActionPartHook(actionPartCommand, hook)

Fields

vramUsed readonly
memoryUsed readonly
lastFrameTime readonly
frameTime readonly
cacheContents readonly
savegamesCount readonly
selectedSavegame readonly
savegamesScrollPos readonly

pauseOnFocusLost bool
pauseMainLoops bool
pauseEngineUpdate bool

getDisplayModes()

Return Type Description
table {1=“1920x1080”,…}

controllerGuid(device)

Parameter Type Description
device int
Return Type Description
string guid

controllerName(device)

Parameter Type Description
device int
Return Type Description
string joystickName
string gamecontrollerName

controllerCount()

Return Type Description
int maxid

joystickCount()

Return Type Description
int joystick count

joystickIsController(id)

Parameter Type Description
id int
Return Type Description
bool

pauseCurrentActions()

resumeAllActions()

pauseCurrentAnimations()

resumeAllAnimations()

pauseBackgroundMusic()

pauseAllSounds()

resumeBackgroundMusic()

resumeAllSounds()

systemInfo()

Return Type Description
table infos

skipText()

skipCutscene()

registerActionPartHook(actionPartCommand, hook)

local ADD_REMOVE_ITEM = 150
system.registerActionPartHook(ADD_REMOVE_ITEM, "addRemoveItem")

function addRemoveItem(actionPart)
  if actionPart.Int == 0 then
    -- added
  elseif actionPart.Int == 1 then
    -- removed
  end
  local evt = {}
  evt.item      = actionPart.Link
  evt.character = actionPart.AltLink
  -- now do something
  return true -- don't execute
  --return false // still execute
end

Parameter Type Description
actionPartCommand int
hook string

Enums

Text Alignment

Fields

eAlignCentered 2
eAlignCenteredWithLeftPos 5
eAlignLeft 0
eAlignLeftWithCenterPos 3
eAlignRight 1
eAlignRightWithCenterPos 4

Text Event Type

Fields

eEvtKeyDown 1
eEvtKeyTextInput 3
eEvtKeyUp 2
eEvtControllerKeyDown 4
eEvtControllerKeyUp 5
eEvtControllerAxis 6
eMsgControllerConnected 7
eMsgControllerDisconnected 8
eMsgControllerRemapped 9

Mouse Event Type

Fields

eEvtDollarGesture 15
eEvtMouseLeftButtonDoubleClick 2
eEvtMouseLeftButtonDown 3
eEvtMouseLeftButtonHold 5
eEvtMouseLeftButtonHolding 6
eEvtMouseLeftButtonUp 4
eEvtMouseMiddleButtonDown 10
eEvtMouseMiddleButtonUp 11
eEvtMouseMove 1
eEvtMouseRightButtonDoubleClick 7
eEvtMouseRightButtonDown 8
eEvtMouseRightButtonUp 9
eEvtMouseWheelDown 13
eEvtMouseWheelUp 12
eEvtMultiGesture 14
eEvtTouchDown 16
eEvtTouchMove 18
eEvtTouchUp 17

Dialog Return Type

Fields

eDialogReturnToEnd 2
eDialogReturnToSame 0
eDialogReturnToUpper 1

Disable Interaction Type

Fields

eDisableInteractionAlways 2
eDisableInteractionCharacterAnim 1
eDisableInteractionNever 0

Draw Action Text Type

Fields

eDrawActionTextAtCurrentPos 1
eDrawActionTextAtRect 2
eDrawNoActionText 0

Inteface Displacement

Fields

eInterfaceDisplacementAbsolute 4
eInterfaceDisplacementBottom 1
eInterfaceDisplacementLeft 2
eInterfaceDisplacementRelative 5
eInterfaceDisplacementRight 3
eInterfaceDisplacementTop 0

Container Count

Fields

eMainContainer 0
eSingleContainer 1
eMultipleContainers 2

Mouse Behaviour

Fields

eMouseActionBehaviourDoNotSendCharacter 0
eMouseActionBehaviourSendCharacterToCursor 1
eMouseActionBehaviourSendCharacterToObjects 2

Replay Type

Fields

eReplayNormal 0
eReplayRandom 2
eReplayReverse 1

Script Type

Fields

eScriptTypeDefinition 1
eScriptTypeExecution 0

Activate Standard Command

Fields

eSetStdCommandAlways 0
eSetStdCommandNever 1
eSetStdCommandOnSuccess 2

Text Output

Fields

eTextAndSpeechOutput 0
eOnlySpeechOutput 1
eOnlyTextOutput 2

Interpolation Type

Fields

eLinearInterpolation 0
eNearestNeighborInterpolation 1
eTriLinearInterpolation 2

Keys

Fields

eKeyBackspace 8
eKeyEscape 27
eKeyModAlt 768
eKeyModCaps 8192
eKeyModCtrl 192
eKeyModGui 3072
eKeyModLAlt 256
eKeyModLCtrl 64
eKeyModLGui 1024
eKeyModLShift 1
eKeyModMode 16384
eKeyModNum 4096
eKeyModRAlt 512
eKeyModRCtrl 128
eKeyModRGui 2048
eKeyModRShift 2
eKeyModShift 3
eKeyReturn 13
eKeySpace 32
eKeyTab 9

Button Type

Fields

eButtonActionArea 4
eButtonCombined 1
eButtonCommand 3
eButtonCommandGroup 5
eButtonCommandInGroup 6
eButtonGive 2
eButtonNormal 0
eButtonPlaceholder 0
eButtonScrollDown 2
eButtonScrollUp 1

Execution Type

Fields

eAtBeginningOfScene 31
eAtEndOfScene 32
eExecutionTypeActionCommand 6
eExecutionTypeActionCommandBoth 21
eExecutionTypeActionCommandIm 17
eExecutionTypeActionCommandImBoth 22
eExecutionTypeActionCommandImOther 24
eExecutionTypeActionCommandOther 23
eExecutionTypeCalledByOtherAction 5
eExecutionTypeCombinedCommandMouseClickIm 19
eExecutionTypeCommandMouseClickIm 18
eExecutionTypeFixtureDropped 3
eExecutionTypeFixtureDroppedBoth 25
eExecutionTypeFixtureDroppedIm 20
eExecutionTypeFixtureDroppedImBoth 26
eExecutionTypeFixtureDroppedImOther 28
eExecutionTypeFixtureDroppedOther 27
eExecutionTypeLeftMouseClickIm 7
eExecutionTypeLeftMouseDblClick 12
eExecutionTypeLeftMouseDblClickIm 13
eExecutionTypeLeftMouseHold 14
eExecutionTypeLeftMouseHoldIm 15
eExecutionTypeMouseEntersArea 1
eExecutionTypeMouseLeavesArea 2
eExecutionTypeRightMouseClick 0
eExecutionTypeRightMouseClickIm 16

Shader Exclude

Fields

eShaderExcludeCursor 3
eShaderExcludeInterfaces 1
eShaderExcludeNothing 0
eShaderExcludeTextsAndCursor 2

Command Use Type

Fields

eUseOnAll 0
eUseOnCharacters 1
eUseOnObjects 2

Sound Volume Types

Fields

eMusicVolume 0
eSoundVolume 1
eSpeechVolume 2
eMovieVolume 3
eGlobalVolume 4

Transitions

Fields

eFadeIn 1
eFadeInAndOut 3
eFadeNo 0
eFadeOut 2
eFadeToNew 4
eShiftLeft 5
eShiftRight 6
eTunnelEffect 7
eTunnelEffectFadeOut 8
eTunnelEffectFadeIn 9
eFadeKeep 10
eFadeShader 11

Animation Type

Fields

eCharacterAnim 4
eStandingAnim 3
eTalkAnim 2
eWalkAnim 1
eNoAnim 0
eRandomAnim 5

Tables

Fields

eActionAreas 32
eActionParts 8
eActions 7
eActiveActions 25
eActiveAnimations 26
eActiveTexts 24
eAnimationFrames 28
eAnimations 9
eAreaActions 33
eButtons 2
eCharacters 0
eCommentSetEntries 27
eCommentSets 16
eConditions 10
eCursors 15
eDialogParts 12
eDialogs 11
eFonts 3
eGame -1
eInterfaces 1
eInterfaceClasses 31
eLanguages 18
eLoadings 21
eModels 35
eObjects 6
eOutfits 17
eParticleContainers 23
eParticles 22
ePoints 5
eScenes 4
eScriptVariables 34
eScripts 30
eSprites 13
eTextLanguages 19
eTexts 14
eValues 20
eWaySystems 29

Transparency

Fields

eTransparencyAlpha 2
eTransparencyColorKey 1
eTransparencyNone 0
eTransparencyUndefined -1

Easing

Fields

easeBackIn 0
easeBackInOut 2
easeBackOut 1
easeBounceIn 3
easeBounceInOut 5
easeBounceOut 4
easeCircIn 6
easeCircInOut 8
easeCircOut 7
easeCubicIn 9
easeCubicInOut 11
easeCubicOut 10
easeElasticIn 12
easeElasticInOut 14
easeElasticOut 13
easeLinearIn 15
easeLinearInOut 17
easeLinearOut 16
easeNoneIn 18
easeNoneInOut 20
easeNoneOut 19
easeQuadIn 21
easeQuadInOut 23
easeQuadOut 22
easeQuartIn 24
easeQuartInOut 26
easeQuartOut 25
easeQuintIn 27
easeQuintInOut 29
easeQuintOut 28
easeSineIn 30
easeSineInOut 32
easeSineOut 31

iOS

ios

Methods

initPurchases()
canPurchase()
initPurchase(id)
restorePurchases(strings)
setAchievementProgress(id, percent)
unlockAchievement(id)
getAchievement(id)
showAchievements()
signIn()

initPurchases()

function ios_callback(str, a1, a2, a3, a4)
  if str == "PRODUCT_DESCRIPTION" then
    print(string.format("product id:%s title:%s descr:%s price:%s",a1,a2,a3,a4))
  elseif str == "FAILURE" then
    print("fail info:"..a1)
  elseif str == "SUCCESS" then
    print(string.format("purchased id:%s count:%s",a1,a2))
  elseif str == "LOGGED_IN" then
    print("logged in")
  elseif str == "LOGIN_FAILURE" then
    print("login failed")
  end
end

ios.initPurchases({"ID"})

if ios.canPurchase() then
    ios.initPurchase("ID") -- begin purchase
end

if ios.signIn() then
    ios.unlockAchievement("ID")
    ios.setAchievementProgress("ID",100)
end

canPurchase()

Return Type Description
bool

initPurchase(id)

Parameter Type Description
id string

restorePurchases(strings)

Parameter Type Description
strings table with ids

setAchievementProgress(id, percent)

Parameter Type Description
id string
percent int

unlockAchievement(id)

Parameter Type Description
id string

getAchievement(id)

Parameter Type Description
id string
Return Type Description
int id

showAchievements()

signIn()

Return Type Description
bool

JS

JS

Methods

js(js)

js(js)

js([[jsfunction();]])

execute javascript statement

Parameter Type Description
js string

⌛PS4

ps4

Methods

initAchievements()
unlockAchievement(id)
getAchievement(id)
user(id)
saveState()
resetSaveData()

initAchievements()

load trophies

unlockAchievement(id)

unlock trophy

Parameter Type Description
id int

getAchievement(id)

Parameter Type Description
id int
Return Type Description
bool unlocked

user(id)

Parameter Type Description
id int
Return Type Description
table { id = userID, name = name

saveState()

Initing
Okay
Broken
Error
OutOfSpace

Return Type Description
string state

resetSaveData()

steam

⌛Xbox1

xbox1

Methods

updateAchievement(id, percent)
setPresence(name, …)
user(id)
saveUser()
saveState()
showAccountPicker(AccountPickerOptions)
loadEventManifest(file)
writeEvent(name, …)

updateAchievement(id, percent)

Parameter Type Description
id string
percent int

setPresence(name, …)

Parameter Type Description
name string
string

user(id)

Parameter Type Description
id int
Return Type Description
table { id = userID, xboxUserId = xboxUserId, name = name

saveUser()

Return Type Description
table { id = userID, name = name

saveState()

Initing
Okay
CantSave
NotLoggedIn

Return Type Description
string state

showAccountPicker(AccountPickerOptions)

Parameter Type Description
AccountPickerOptions int

loadEventManifest(file)

Parameter Type Description
file string

writeEvent(name, …)

Parameter Type Description
name string
variant

⌛lua

lua

Methods

assert(condition/nil, error)
collectgarbage(what)
dofile()
error()
gcinfo()
getfenv()
getmetatable()
ipairs()
load()
loadfile()
loadstring()
module()
newproxy()
next()
pairs()
pcall()
print()
rawequal()
rawget()
rawlen()
rawset()
require()
select()
setfenv()
setmetatable()
tonumber()
tostring()
type()
unpack()
xpcall()

Fields

_G
_VERSION Lua

assert(condition/nil, error)

local file = assert(io.open("fake_file.lua", "rb"))
assert(false, "error: false unexpected")
assert(a == 0, "a should be 0")
local arg = assert(file)

Parameter Type Description
condition/nil variant
error string message
Return Type Description
variant passthrough all variables

collectgarbage(what)

“collect”: performs a full garbage-collection cycle. This is the default option.
“stop”: stops the garbage collector.
“restart”: restarts the garbage collector.
“count”: returns the total memory in use by Lua (in Kbytes).
“step”: performs a garbage-collection step. The step “size” is controlled by arg (larger values mean more steps) in a non-specified way. If you want to control the step size you must experimentally tune the value of arg. Returns true if the step finished a collection cycle.
“setpause”: sets arg as the new value for the pause of the collector. Returns the previous value for pause.
“setstepmul”: sets arg as the new value for the step multiplier of the collector. Returns the previous value for step.

Parameter Type Description
what string or nil for “collect”
Return Type Description
int depending on the option

dofile()

error()

gcinfo()

getfenv()

getmetatable()

ipairs()

load()

loadfile()

loadstring()

module()

newproxy()

next()

pairs()

pcall()

print()

rawequal()

rawget()

rawlen()

rawset()

require()

select()

setfenv()

setmetatable()

tonumber()

tostring()

type()

unpack()

xpcall()

bit

Methods

arshift()
band()
bnot()
bor()
bswap()
bxor()
lshift()
rol()
ror()
rshift()
tobit()
tohex()

arshift()

band()

bnot()

bor()

bswap()

bxor()

lshift()

rol()

ror()

rshift()

tobit()

tohex()

coroutine

Methods

create()
resume()
running()
status()
wrap()
yield()

create()

resume()

running()

status()

wrap()

yield()

debug

Methods

debug()
getfenv()
gethook()
getinfo()
getlocal()
getmetatable()
getregistry()
getupvalue()
getuservalue()
setfenv()
sethook()
setlocal()
setmetatable()
setupvalue()
setuservalue()
traceback()
upvalueid()
upvaluejoin()

debug()

getfenv()

gethook()

getinfo()

getlocal()

getmetatable()

getregistry()

getupvalue()

getuservalue()

setfenv()

sethook()

setlocal()

setmetatable()

setupvalue()

setuservalue()

traceback()

upvalueid()

upvaluejoin()

io

Methods

close()
flush()
input()
lines()
open()
output()
popen()
read()
stderr ()
stdin ()
stdout ()
tmpfile()
type()
write()

close()

flush()

input()

lines()

open()

output()

popen()

read()

stderr ()

stdin ()

stdout ()

tmpfile()

type()

write()

jit

Methods

attach()
flush()
off()
on()
status()

Fields

arch x86
opt
start

os Windows
version LuaJIT
version_num 20100

attach()

flush()

off()

on()

status()

math

Methods

abs()
acos()
asin()
atan()
atan2()
ceil()
cos()
cosh()
deg()
exp()
floor()
fmod()
frexp()
huge -()
ldexp()
log()
log10()
max()
min()
modf()
pi 3()
pow()
rad()
random()
randomseed()
sin()
sinh()
sqrt()
tan()
tanh()

abs()

acos()

asin()

atan()

atan2()

ceil()

cos()

cosh()

deg()

exp()

floor()

fmod()

frexp()

huge -()

ldexp()

log()

log10()

max()

min()

modf()

pi 3()

pow()

rad()

random()

randomseed()

sin()

sinh()

sqrt()

tan()

tanh()

os

Methods

clock()
date()
difftime()
execute()
exit()
getenv()
remove()
rename()
setlocale()
time()
tmpname()

clock()

date()

difftime()

execute()

exit()

getenv()

remove()

rename()

setlocale()

time()

tmpname()

package

string

Methods

byte()
char()
dump()
find()
format()
gmatch()
gsub()
len()
lower()
match()
rep()
reverse()
sub()
upper()

byte()

char()

dump()

find()

format()

gmatch()

gsub()

len()

lower()

match()

rep()

reverse()

sub()

upper()

table

Methods

concat()
foreach()
foreachi()
getn()
insert()
maxn()
pack()
remove()
sort()
unpack()

concat()

foreach()

foreachi()

getn()

insert()

maxn()

pack()

remove()

sort()

unpack()

⌛PCRE

rex_pcre

--[[
Pcre-wrapper script for Visionaire
(c) 13/6/2015
]]

regex = {
match_all = function(pattern, subject, callback) 
    local pos = 0
    local start = 0
    local pattern2 = rex_pcre.new (pattern)
    while (pos~=nil) do
        start, pos, matches = pattern2:tfind(subject, pos)
        if matches~=nil then
            callback(matches)
        end
    end
end,
match_all_return = function(pattern, subject)
    local rtable = {}
    local pos = 0
    local start = 0
    local pattern2 = rex_pcre.new (pattern)
    while (pos~=nil) do
        start, pos, matches = pattern2:tfind(subject, pos)
        if matches~=nil then
            table.insert(rtable, matches)
        end
    end
    return rtable
end
}


 -- example
subject = "http://google.de/-ABCaz http://"
regex.match_all("(http://google\\.de/[\\-A-Za-z0-9_\\-]+)", subject, function(matches)
    print(matches[1])
end)

Methods

match(subject, pattern, offset, compilationFlags, executionFlags)
find(subject, pattern, init, compilationFlags, executionFlags)
gmatch()
gsub()
split()
new()
flags()
version()
maketables()

match(subject, pattern, offset, compilationFlags, executionFlags)

Parameter Type Description
subject string
pattern string or PCREpattern
offset init can be negative
compilationFlags int
executionFlags int
Return Type Description
table string captures / whole string
false no match

find(subject, pattern, init, compilationFlags, executionFlags)

Parameter Type Description
subject string
pattern string or PCREpattern
init int offset can be negative
compilationFlags int
executionFlags int
Return Type Description
int start point
int end point
table string matches
false no match

gmatch()

gsub()

split()

new()

flags()

version()

maketables()

PCREpattern

Methods

exec()
tfind()
find()
match()
__tostring()

exec()

tfind()

find()

match()

__tostring()

utf8

utf8

Methods

offset()
codes()
codepoint()
len()
sub()
reverse()
lower()
upper()
title()
fold()
byte()
char()
escape()
insert()
remove()
charpos()
next()
width()
widthindex()
ncasecmp()
find()
gmatch()
gsub()
match()

offset()

codes()

codepoint()

len()

sub()

reverse()

lower()

upper()

title()

fold()

byte()

char()

escape()

insert()

remove()

charpos()

next()

width()

widthindex()

ncasecmp()

find()

gmatch()

gsub()

match()

box2D

curl

curl

Methods

escape()
new()
new_multi()
unescape()

Fields

ABORTED_BY_CALLBACK 42
ARRAY 8
AUTH_ANY -
AUTH_ANYSAFE -
AUTH_BASIC 1
AUTH_DIGEST 2
AUTH_GSSNEGOTIATE 4
AUTH_NONE 0
AUTH_NTLM 8
BAD_CALLING_ORDER 44
BAD_CONTENT_ENCODING 61
BAD_DOWNLOAD_RESUME 36
BAD_FUNCTION_ARGUMENT 43
BAD_PASSWORD_ENTERED 46
BUFFER 11
BUFFERLENGTH 13
BUFFERPTR 12
CLOSEPOLICY_CALLBACK 5
CLOSEPOLICY_LEAST_RECENTLY_USED 2
CLOSEPOLICY_LEAST_TRAFFIC 3
CLOSEPOLICY_OLDEST 1
CLOSEPOLICY_SLOWEST 4
CONTENTHEADER 15
CONTENTSLENGTH 6
CONTENTTYPE 14
COPYCONTENTS 4
COPYNAME 1
COULDNT_CONNECT 7
COULDNT_RESOLVE_HOST 6
COULDNT_RESOLVE_PROXY 5
CURL_FORMADD_DISABLED 7
CURL_FORMADD_ILLEGAL_ARRAY 6
CURL_FORMADD_INCOMPLETE 5
CURL_FORMADD_MEMORY 1
CURL_FORMADD_NULL 3
CURL_FORMADD_OK 0
CURL_FORMADD_OPTION_TWICE 2
CURL_FORMADD_UNKNOWN_OPTION 4
END 17
FAILED_INIT 2
FILE 10
FILECONTENT 7
FILENAME 16
FILESIZE_EXCEEDED 63
FILE_COULDNT_READ_FILE 37
FTPAUTH_DEFAULT 0
FTPAUTH_SSL 1
FTPAUTH_TLS 2
FTPSSL_ALL 3
FTPSSL_CONTROL 2
FTPSSL_NONE 0
FTPSSL_TRY 1
FTP_ACCESS_DENIED 9
FTP_CANT_GET_HOST 15
FTP_CANT_RECONNECT 16
FTP_COULDNT_GET_SIZE 32
FTP_COULDNT_RETR_FILE 19
FTP_COULDNT_SET_ASCII 29
FTP_COULDNT_SET_BINARY 17
FTP_COULDNT_STOR_FILE 25
FTP_COULDNT_USE_REST 31
FTP_PORT_FAILED 30
FTP_QUOTE_ERROR 21
FTP_SSL_FAILED 64
FTP_USER_PASSWORD_INCORRECT 10
FTP_WEIRD_227_FORMAT 14
FTP_WEIRD_PASS_REPLY 11
FTP_WEIRD_PASV_REPLY 13
FTP_WEIRD_SERVER_REPLY 8
FTP_WEIRD_USER_REPLY 12
FTP_WRITE_ERROR 20
FUNCTION_NOT_FOUND 41
GOT_NOTHING 52
HTTP_POST_ERROR 34
HTTP_RANGE_ERROR 33
HTTP_RETURNED_ERROR 22
HTTP_VERSION_1_0 1
HTTP_VERSION_1_1 2
HTTP_VERSION_NONE 0
INFO_CONNECT_TIME 3145733
INFO_CONTENT_LENGTH_DOWNLOAD 3145743
INFO_CONTENT_LENGTH_UPLOAD 3145744
INFO_CONTENT_TYPE 1048594
INFO_COOKIELIST 4194332
INFO_EFFECTIVE_URL 1048577
INFO_FILETIME 2097166
INFO_HEADER_SIZE 2097163
INFO_HTTPAUTH_AVAIL 2097175
INFO_HTTP_CONNECTCODE 2097174
INFO_LASTSOCKET 2097181
INFO_NAMELOOKUP_TIME 3145732
INFO_NONE 0
INFO_NUM_CONNECTS 2097178
INFO_OS_ERRNO 2097177
INFO_PRETRANSFER_TIME 3145734
INFO_PRIVATE 1048597
INFO_PROXYAUTH_AVAIL 2097176
INFO_REDIRECT_COUNT 2097172
INFO_REDIRECT_TIME 3145747
INFO_REQUEST_SIZE 2097164
INFO_RESPONSE_CODE 2097154
INFO_SIZE_DOWNLOAD 3145736
INFO_SIZE_UPLOAD 3145735
INFO_SPEED_DOWNLOAD 3145737
INFO_SPEED_UPLOAD 3145738
INFO_SSL_ENGINES 4194331
INFO_SSL_VERIFYRESULT 2097165
INFO_STARTTRANSFER_TIME 3145745
INFO_TOTAL_TIME 3145731
INTERFACE_FAILED 45
IOCMD_NOP 0
IOCMD_RESTARTREAD 1
IOE_FAILRESTART 2
IOE_OK 0
IOE_UNKNOWNCMD 1
IPRESOLVE_V4 1
IPRESOLVE_V6 2
IPRESOLVE_WHATEVER 0
LDAP_CANNOT_BIND 38
LDAP_INVALID_URL 62
LDAP_SEARCH_FAILED 39
LIBRARY_NOT_FOUND 40
LOGIN_DENIED 67
MALFORMAT_USER 24
NAMELENGTH 3
NETRC_IGNORED 0
NETRC_OPTIONAL 1
NETRC_REQUIRED 2
OBSOLETE 9
OBSOLETE2 18
OK 0
OPERATION_TIMEOUTED 28
OPT_AUTOREFERER 58
OPT_BUFFERSIZE 98
OPT_CAINFO 10065
OPT_CAPATH 10097
OPT_CLOSEPOLICY 72
OPT_CONNECTTIMEOUT 78
OPT_COOKIE 10022
OPT_COOKIEFILE 10031
OPT_COOKIEJAR 10082
OPT_COOKIESESSION 96
OPT_CRLF 27
OPT_CUSTOMREQUEST 10036
OPT_DNS_CACHE_TIMEOUT 92
OPT_DNS_USE_GLOBAL_CACHE 91
OPT_EGDSOCKET 10077
OPT_ENCODING 10102
OPT_FAILONERROR 45
OPT_FILETIME 69
OPT_FOLLOWLOCATION 52
OPT_FORBID_REUSE 75
OPT_FRESH_CONNECT 74
OPT_FTPAPPEND 50
OPT_FTPLISTONLY 48
OPT_FTPPORT 10017
OPT_FTPSSLAUTH 129
OPT_FTP_ACCOUNT 10134
OPT_FTP_CREATE_MISSING_DIRS 110
OPT_FTP_RESPONSE_TIMEOUT 112
OPT_FTP_SSL 119
OPT_FTP_USE_EPRT 106
OPT_FTP_USE_EPSV 85
OPT_HEADER 42
OPT_HEADERDATA 10029
OPT_HEADERFUNCTION 20079
OPT_HTTP200ALIASES 10104
OPT_HTTPAUTH 107
OPT_HTTPGET 80
OPT_HTTPHEADER 10023
OPT_HTTPPOST 10024
OPT_HTTPPROXYTUNNEL 61
OPT_HTTP_VERSION 84
OPT_INFILESIZE 14
OPT_INFILESIZE_LARGE 30115
OPT_INTERFACE 10062
OPT_IOCTLDATA 10131
OPT_IOCTLFUNCTION 20130
OPT_IPRESOLVE 113
OPT_KRB4LEVEL 10063
OPT_LOW_SPEED_LIMIT 19
OPT_LOW_SPEED_TIME 20
OPT_MAXCONNECTS 71
OPT_MAXFILESIZE 114
OPT_MAXFILESIZE_LARGE 30117
OPT_MAXREDIRS 68
OPT_NETRC 51
OPT_NETRC_FILE 10118
OPT_NOBODY 44
OPT_NOPROGRESS 43
OPT_NOSIGNAL 99
OPT_PORT 3
OPT_POST 47
OPT_POSTFIELDS 10015
OPT_POSTFIELDSIZE 60
OPT_POSTFIELDSIZE_LARGE 30120
OPT_POSTQUOTE 10039
OPT_PREQUOTE 10093
OPT_PROGRESSDATA 10057
OPT_PROGRESSFUNCTION 20056
OPT_PROXY 10004
OPT_PROXYAUTH 111
OPT_PROXYPORT 59
OPT_PROXYTYPE 101
OPT_PROXYUSERPWD 10006
OPT_PUT 54
OPT_QUOTE 10028
OPT_RANDOM_FILE 10076
OPT_RANGE 10007
OPT_READDATA 10009
OPT_READFUNCTION 20012
OPT_REFERER 10016
OPT_RESUME_FROM 21
OPT_RESUME_FROM_LARGE 30116
OPT_SOURCE_POSTQUOTE -68614
OPT_SOURCE_PREQUOTE -68615
OPT_SOURCE_QUOTE -3334
OPT_SOURCE_URL -3335
OPT_SOURCE_USERPWD -68613
OPT_SSLCERT 10025
OPT_SSLCERTTYPE 10086
OPT_SSLENGINE 10089
OPT_SSLENGINE_DEFAULT 90
OPT_SSLKEY 10087
OPT_SSLKEYPASSWD 10026
OPT_SSLKEYTYPE 10088
OPT_SSLVERSION 32
OPT_SSL_CIPHER_LIST 10083
OPT_SSL_VERIFYHOST 81
OPT_SSL_VERIFYPEER 64
OPT_TCP_NODELAY 121
OPT_TELNETOPTIONS 10070
OPT_TIMECONDITION 33
OPT_TIMEOUT 13
OPT_TIMEVALUE 34
OPT_TRANSFERTEXT 53
OPT_UNRESTRICTED_AUTH 105
OPT_UPLOAD 46
OPT_URL 10002
OPT_USERAGENT 10018
OPT_USERPWD 10005
OPT_VERBOSE 41
OPT_WRITEDATA 10001
OPT_WRITEFUNCTION 20011
OPT_WRITEINFO 10040
OUT_OF_MEMORY 27
PARTIAL_FILE 18
PROXY_HTTP 0
PROXY_SOCKS4 4
PROXY_SOCKS5 5
PTRCONTENTS 5
PTRNAME 2
READFUNC_ABORT 268435456
READ_ERROR 26
RECV_ERROR 56
SEND_ERROR 55
SEND_FAIL_REWIND 65
SHARE_IN_USE 57
SSLVERSION_DEFAULT 0
SSLVERSION_SSLv2 2
SSLVERSION_SSLv3 3
SSLVERSION_TLSv1 1
SSL_CACERT 60
SSL_CERTPROBLEM 58
SSL_CIPHER 59
SSL_CONNECT_ERROR 35
SSL_ENGINE_INITFAILED 66
SSL_ENGINE_NOTFOUND 53
SSL_ENGINE_SETFAILED 54
SSL_PEER_CERTIFICATE 51
TELNET_OPTION_SYNTAX 49
TIMECOND_IFMODSINCE 1
TIMECOND_IFUNMODSINCE 2
TIMECOND_LASTMOD 3
TIMECOND_NONE 0
TOO_MANY_REDIRECTS 47
UNKNOWN_TELNET_OPTION 48
UNSUPPORTED_PROTOCOL 1
URL_MALFORMAT 3
URL_MALFORMAT_USER 4
WRITE_ERROR 23
_COPYRIGHT ©
_CURLVERSION libcurl/7.43.0
_DESCRIPTION LuaCurl
_NAME luacurl
_SUPPORTED_CURLVERSION 7.43.0
_VERSION 1.1.0

escape()

new()

new_multi()

unescape()

curlm

Methods

close()
perform()
info()
add()

close()

perform()

info()

add()

Used In:

curl

Methods

close()
setopt()
perform()
getinfo()

close()

setopt()

perform()

getinfo()

Used In:

lfs

lfs

Methods

attributes()
chdir()
currentdir()
dir()
link()
lock()
mkdir()
rmdir()
symlinkattributes()
setmode()
touch()
unlock()
lock_dir()

Fields

_COPYRIGHT string
_DESCRIPTION string
_VERSION string

attributes()

chdir()

currentdir()

dir()

lock()

mkdir()

rmdir()

symlinkattributes()

setmode()

touch()

unlock()

lock_dir()

socket

http://w3.impa.br/~diego/software/luasocket/introduction.html

lua