Call Lua from Fun

Any information about the fun attribute is given here.

Moderator: Plugin Moderators

User avatar
Lobby
Developer
Reactions:
Posts: 3376
Joined: Sun Oct 26, 2008 12:34
Plugins: Show
Version: Beta
Phone model: S7 edge

Platform

Call Lua from Fun

#1

Post by Lobby » Sun Oct 27, 2019 18:08

If you, for whatever reason, want to combine Fun and Lua: There's an action to call Lua functions from Fun.

On the json side :json

Code: Select all

"action":{"type":"call","id":"$targetscriptdraftid","code":"functionName","frame":42}
On the Lua side (the script that is attached to the $targetscriptdraftid object) :lua:

Code: Select all

function script:functionName(x, y, lvl, frame)
  -- Do some stuff
end

Remarks:
-The "frame" parameter is there to pass custom information (an integer) to the function; you don't have to use it.
-If you don't provide a target script via the "id" tag all scripts that contain a function as specified by "code" will be called.
-In case there are mutliple scripts attached to the object identified by "id" all of their script:functionName functions will be called
-The target function has to be attached to a script as shown in the definition above (script:functionName)
-Return values of the function will be ignored by fun

For technical reasons you cannot access Lua from fun conditions. That is because fun conditions are optimized to be evaluated concurrently which is not supported by Lua.
...Have a nice stay

Return to “Fun attribute”