LunaLua global functions
Jump to navigation
Jump to search
If you're still using LunaLua v6.* then please look on the bottom of the page for the old functions!
General functions
| Global Functions | ||
|---|---|---|
| Function | Return values | Description |
| mem(int address, int fieldtype, object value) | nil | Sets the memory of the given type. |
| mem(int address, int fieldtype) | object | Returns the value of the given address of the given type. |
Text functions
| Text Functions | ||
|---|---|---|
| Function | Return values | Description |
| Text.windowDebug(string debugText) | nil | Writes debugText in a message box and shows it to the user. |
| Text.print(string text, int x, int y) | nil | Prints text at x, y with font-type 3 |
| Text.print(string text, int type, int x, int y) | nil | Prints text at x, y with font-type type |
| Text.showMessageBox(string text) | nil | Displays a SMBX Message Box. |
Level functions
| Level Functions | ||
|---|---|---|
| Function | Return values | Description |
| Level.exit() | nil | Exit the level. |
| Level.filename() | string | Returns the filename of the level. |
| Level.name() | string | Returns the Title/Name of the level. |
| Level.winState() | int | Returns the current state of hitting the goal. If currently not winning then this value is 0. |
| Level.winState(int value) | nil | Sets the current state of hitting the goal. If currently not winning then this value is 0. |
| Level.loadPlayerHitBoxes(int characterId, int powerUpId, string iniFilename) | nil | Loads the hitbox settings for specific player and it's power-up state from INI file made by Special Calibration tool. Note: GFX-offsets of each frame are not overwritable yet. Use image calibration to calibrate position of frame without editing of GFX offsets. |
Misc functions
| Misc Functions | ||
|---|---|---|
| Function | Return values | Description |
| Misc.npcToCoins() | nil | Converts every npc on screen to coins. (Like you would hit the exit.) |
| Misc.doPOW() | nil | Starts the "POW"-Effect (like if the POW-Block hits the floor) |
| Misc.cheatBuffer() | string | Gets the current cheat buffer text. |
| Misc.cheatBuffer(string cheatBufferText) | nil | Sets the current cheat buffer text. |
| Misc.listFiles(string path) | table of string | Returns a list of files in the given path. The paths starts from the SMBX-Directory. If path is an empty string, then the files in the SMBX-Directory are returned. |
| Misc.listLocalFiles(string path) | table of string | Returns a list of files in the given path. The paths starts from the custom folder of the level (when in a level) or the current episode folder (when in the overworld). If path is an empty string, then the files in the custom folder (or episode folder when in overworld) are returned. If you want to access the episode folder from the level code you can use Misc.listLocalFiles(".."). |
Graphics functions
| Graphics Functions | ||
|---|---|---|
| Function | Return values | Description |
| Graphics.activate(boolean showHud) | nil | Toggels the hud on/off |
| Graphics.loadImage(string filename) | LuaImageResource | Loads a image in the resource memory, returning a reference to it. |
| Graphics.placeSprite(int type, LuaImageResource img, int xPos, int yPos) | nil | Places a sprite from the resource memory and places it at xPos, yPos |
| Graphics.placeSprite(int type, LuaImageResource img, int xPos, int yPos, string extra) | nil | Places a sprite from the resource memory and places it at xPos, yPos. |
| Graphics.placeSprite(int type, LuaImageResource img, int xPos, int yPos, string extra, int time) | nil | Places a sprite from the resource memory and places it at xPos, yPos. |
Static Item Functions
Static Block functions
| Static Block Functions | ||
|---|---|---|
| Function | Return values | Description |
| Block.count() | number | How many blocks are in the level. |
| Block.get() | table of Block | Returns all blocks |
| Block.get(number or table ids) | table of Block | Returns all blocks with the matching ids. Only the blocks with the same id given by ids will be returned. |
Static BGO functions
| Static BGO Functions | ||
|---|---|---|
| Function | Return values | Description |
| BGO.count() | number | How many BGOs are in the level. |
| BGO.get() | table of BGO | Returns all BGOs |
| BGO.get(number or table ids) | table of BGO | Returns all BGOs with the matching ids. Only the BGOs with the same id given by ids will be returned. |
Static NPC functions
| Static NPC Functions | ||
|---|---|---|
| Function | Return values | Description |
| NPC.count() | number | How many NPCs are in the level. |
| NPC.get() | table of NPC | Returns all NPCs |
| NPC.get(int or table ids, int or table sections) | table of NPC | Returns all NPC with the matching ids and section-numbers (0-20). Use -1 for ids or sections if you want to ignore this filter. Only the NPCs with the same id and sections given by ids and sections will be returned. v0.7 has a critical bug crashing on this function! Be sure to be updated to 0.7.0.1! |
| NPC.spawn(int npcId, number x, number y, int sectionNumber) | NPC | Spawns a new npc. Note that sectionNumber is from 0-20 (-> Section 1 would be Section 0) |
| NPC.spawn(int npcId, number x, number y, int sectionNumber, boolean respawn) | NPC | Spawns a new npc. Note that sectionNumber is from 0-20 (-> Section 1 would be Section 0) |
| NPC.spawn(int npcId, number x, number y, int sectionNumber, boolean respawn, boolean centered) | NPC | Spawns a new npc. Note that sectionNumber is from 0-20 (-> Section 1 would be Section 0. If centered is true then x and y are the middle position of the spawning npc.) |
Static Animation (SMBX Effect) functions
| Static Animation Functions | ||
|---|---|---|
| Function | Return values | Description |
| Animation.count() | number | How many effects are in the level. |
| Animation.get() | table of Animation | Returns all running effects. |
| Animation.get(number or table ids) | table of Animation | Returns all running effects with the matching ids. Only running effects with the same id given by ids will be returned. |
| Animation.spawn(int effectID, number x, number y) | Animation | Runs/Starts a new effect.) |
| Animation.spawn(int effectID, number x, number y, number animationFrame) | Animation | Runs/Starts a new effect. animationFrame is choosen effect frame (some effects have various version of a effect). NOTE: This Animation frame (as parameter) is not the same as Animation.animationFrame! |
Static Layer functions
| Static Layer Functions | ||
|---|---|---|
| Function | Return values | Description |
| Layer.get() | table of Layer | Returns all existing layers. |
| Layer.get(string layerName) | Layer | Returns the layer object for the layerName. If no layer object with layerName is found then nil is returned. |
| Layer.find(string layerName) | table of Layer | Returns all layers containg the text layerName. |
Static Warp functions
| Static Warp Functions | ||
|---|---|---|
| Function | Return values | Description |
| Warp.count() | number | How many warps are in the level. |
| Warp.get() | table of Warp | Returns all existing warps. |
Old Functions (for LunaLua v0.6.*)
| Global Functions | ||
|---|---|---|
| Function | Return values | Description |
| windowDebug(string debugText) | nil | Writes debugText in a message box and shows it to the user. |
| printText(string text, int x, int y) | nil | Prints text at x, y with font-type 3 |
| printText(string text, int type, int x, int y) | nil | Prints text at x, y with font-type type |
| totalNPC() | int | Returns the number of npcs. |
| npcs() | table of NPC | Returns a array of all NPCs. |
| findnpcs(int ID, string section) | table of NPC | Searches all npcs by ID and Section. Use -1 as a parameter to ingore the given filter. |
| mem(int address, int fieldtype, object value) | nil | Sets the memory of the given type. |
| mem(int address, int fieldtype) | object | Returns the value of the given address of the given type. |
| triggerEvent(string eventName) | nil | Triggers a event by the given name |
| loadHitboxes(int characterId, int powerUpId, string iniFilename) | nil | Loads the hitbox settings for specific player and it's power-up state from INI file made by Special Calibration tool. Note: GFX-offsets of each frame are not overwritable yet. Use image calibration to calibrate position of frame without editing of GFX offsets. |
| loadImage(string filename, int resourceNumber, int transparentColor) | nil | Loads a image in the resource memory at resourceNumber. You can also set the transparent Color. |
| placeSprite(int type, int imgResource, int xPos, int yPos) | nil | Places a sprite from the resource memory and places it at xPos, yPos |
| placeSprite(int type, int imgResource, int xPos, int yPos, string extra) | nil | Places a sprite from the resource memory and places it at xPos, yPos. |
| placeSprite(int type, int imgResource, int xPos, int yPos, string extra, int time) | nil | Places a sprite from the resource memory and places it at xPos, yPos. |
| gravity() | int | Returns the current gravity. |
| gravity(int value) | nil | Sets the current gravity. |
| earthquake() | int | Returns the current earthquake factor. |
| earthquake(int value) | nil | Sets the current earthquake factor. Slowly returns to 0! |
| jumpheight() | int | Returns the current jumpheight factor of all players. |
| jumpheight(int value) | nil | Sets the current jumpheight factor of all players. |
| jumpheightBounce() | int | Returns the current jumpheight factor (when bounced of a enemy) of all players. |
| jumpheightBounce(int value) | nil | Sets the current jumpheight factor (when bounced of a enemy) of all players. |
| blocks() | table of Block | Returns all blocks |
| findblocks(int ID) | table of Block | Returns all blocks with the specific id. |
| npcToCoins() | nil | Converts every npc on screen to coins. (Like you would hit the exit.) |
| animations() | table of Animation | Returns all running animations. |
| exitLevel() | nil | Exit the level. |
| winState() | int | Returns the current state of hitting the goal. If currently not winning then this value is 0. |
| winState(int value) | nil | Sets the current state of hitting the goal. If currently not winning then this value is 0. |
| runAnimation(int id, double x, double y, int extraData) | nil | DEPRECATED!!! Use spawnEffect function instead! Runs a effect/animation by id. The parameter extraData should be 0, 1 or 1065353216 (you have to try out). |
| runAnimation(int id, double x, double y, double height, double width, int extraData) | nil | DEPRECATED!!! Use spawnEffect function instead! Runs a effect/animation by id. The parameter extraData should be 0, 1 or 1065353216 (you have to try out). |
| runAnimation(int id, double x, double y, double height, double width, double speedX, double speedY, int extraData) | nil | DEPRECATED!!! Use spawnEffect function instead! Runs a effect/animation by id. The parameter extraData should be 0, 1 or 1065353216 (you have to try out). |
| getInput() | VBStr | Get the cheat text buffer |
| hud(boolean showHud) | nil | Toggels the hud on/off |
| getLevelName() | string | Gets the level name/title. |
| getLevelFilename() | string | Gets the level filename. |
| spawnNPC(int npcid, double x, double y, int section) | NPC | Spawns a new NPC with the specific ID. |
| spawnNPC(int npcid, double x, double y, int section, boolean respawn) | NPC | Spawns a new NPC with the specific ID. |
| spawnNPC(int npcid, double x, double y, int section, boolean respawn, boolean centered) | NPC | Spawns a new NPC with the specific ID. |
| spawnEffect(int effectID, double x, double y) | Animation | Spawns a new Effect with the specific ID. |
| spawnEffect(int effectID, double x, double y, number animationFrame) | Animation | Spawns a new Effect with the specific ID and Animation Frame. NOTE: This Animation frame (as parameter) is not the same as Animation.animationFrame! |
DEPRECATED!!! Use Data class instead!
The UserData-Namespace gives your access to the variable bank. With variable bank you can save number-values for other levels and when the game closes.
| Global Functions [UserData Namespace] | ||
|---|---|---|
| Function | Return values | Description |
| UserData.setValue(string key, number value) | nil | Sets a number-value by a specfic key. |
| UserData.getValue(string key) | number or nil | Gets a number-value by a specfic key. If value is not set then nil is returned. |
| UserData.isValueSet(string key) | boolean | If value is not set then false is returned. Otherwise true. |
| UserData.values() | table with key=string value=number | Returns a table with all mapped values of the variable bank. |
| UserData.save() | nil | Writes all the data in the variable txt-file. |