Category:LunaLua helper libraries

From Moondust Wiki
Jump to navigation Jump to search
This is the archived page of the old LunaLua documentation
The rest of LunaLua related articles in this wiki contain a lot of outdated documentation preserved for historical purposes and may be used with legacy versions of the LunaLua.
Please visit the SMBX2 Documentation Page to access the latest documentation for the LunaLua scripting system of the SMBX2 Project.
Adding LunaLua contents into this Wiki is not advised.

Here you can find a list of all the custom APIs for LunaLua which were developed outside of the core LunaLua project. Custom APIs can be loaded with the require() command at SMBX2 Beta 4+, or with the API.load command at SMBX2 Beta 3 or old LunaLua toolchains 0.7.3 and, or with the commands loadAPI and loadSharedAPI for old LunaLua Toolchains older than 0.7.3.

Here is an example of loading an API:

local levelTimer = require("leveltimer")

This code loads the custom API "leveltimer.lua".
Here is a tutorial about how to create your own custom LunaLua library: How To: Make your own custom Lunalua library

OOjs UI icon notice-destructive.svg Notice: Here are many libraries which were taken into SMBX2 as the default API, or was been either deprecated and replaced with newer methods and libraries than presented here. Most of these libraries intended to work with a standalone LunaLua (or SMBX2 Beta 3) which is no longer receives updates as it was taken as the part of SMBX2. Please visit the official SMBX2 documentation for the documentation of the most of available classes ("Classes" section) and modules ("Modules" section). More libraries and packs can also be found in "LunaLua" subforum of SMBX Forums. The following texts are historial.


Name Latest version Version packaged with LunaLua Author(s) Successors
for SMBX2 B4+
HealthPoint.lua 1.0.3 1.0.3 WasabiJellyfish Easily configurable enemy HP for otherwise instantly killed enemies (Damage can be managed on a per enemy and attack type basis)
characters.lua 1.1.2 1.1.2 Horikawa Otane SMBX2 Beta
3+ Bulitin
Feature, Costume
Automatically loads character hitbox ini files if present.
raocoin2.lua 2.0.10 2.0.10 Hoeloe currencies.lua An expanded and more flexible currency and shop framework.
eventu.lua 1.1.0 1.1.0 Hoeloe "Routine" Class An expansion library that manages events and timers.
colliders.lua 2.1.6h (in SMBX 2 Beta 3) 2.1.4g Hoeloe Bulitin Feature A library designed to aid custom collisions. Requires VectR.lua as of version 2.1.0. Requires expandedDefines.lua (Only included in SMBX2) as of version 2.1.6.
smb3goalcard.lua XerX/XNBlank Adds the full functionality of the SMB3 Roulette Cards.
HUDofTime.lua 1.0.2 1.0.2 Hoeloe A Zelda-styled HUD, that includes functionality such as increasing the player's heart limit.
helpfulCheats.lua 0.1.0 0.1.0 Pyro Builtin Feature Small library that adds a bunch of helpful cheats for testing, along with a few silly ones.
pipecannon.lua 0.1.0 0.1.0 arabsalmon A small library for pipe cannons.
SMWcamera.lua 1.3.2 1.3.2 arabsalmon A library that implements camera logic mimicking that of Super Mario World.
Megaluavania.lua 1.0.4 Not included Spinda A recreation of the battle system from the game Undertale.
booBuddies.lua 1.0.1 1.0.1 S1eth SMBX2 Beta
3+ Builtin NPC
A library for creating circling boo buddies in the style of SMW or SMM
powerUDFreeze.lua v1 Not included P3rf3ctXZer0 All enemies stop moving to allow the player time to react when powering up or down.
Nsmbwalls.lua 0.9.0 Not included Sambo fakewalls.lua A library which adds the "fake wall" effect from New Super Mario Bros Wii.
ModernStyledHud.lua 1.0.6 Not included Yingchun Soul A library that replaces SMW Styled Hud with a Modern Styled Hud.
cursor.lua 1.0 Not Included Yoshi021 A sequel to click.lua
LookOut.lua 1.0 Not Included Yoshi021 A small API that lets you look around the level by controlling the camera.
PipeCam.lua 1.0 Not Included Yoshi021 A small API that add a small animation to warp pipes.
ScrollCam.lua 1.0 Not Included Yoshi021 A small API that add a scroll effect to a level.


Name Latest version Version packaged with LunaLua Author(s) Description
imagic.lua 1.1.3 (in SMBX2 Beta 4) Not Included Hoeloe A library for drawing primitives and UI elements.
animatx.lua 0.2.2 (in SMBX2 Beta 4) Not Included Rockythechao, Hoeloe A library for advanced, reusable spritesheet-based animation objects.
sprite.lua 1.0 1.0 Kevsoft A high-level library for creating (animated) sprites with movement abilities.
particles.lua 1.2.6 1.2.5 Hoeloe A library for producing particle effects.
Smoovement.lua 1.1 1.1 Spinda A library for creating sprite objects, complete with transformations and setting parents.


Name Latest version Version packaged with LunaLua Author(s) Description
console.lua 2.0 (in SMBX2 Beta 4) Not Included Rockythechao Adds a basic command console when playing the game from the editor, providing a visual interface for entering cheats and testing textblox formatting.
horikawaTools.lua 1.0.0 1.0.1 Horikawa Otane A bunch of random helper functions. Most notably it features easily useable arrays to determine hittable vs unhittable vs boss NPCs. As well as powerup arrays, etc.
metaluna.lua 1.0 1.0 Rockythechao Allows the tostring function to be used with RECT, RECTd and various SMBX classes, as well as tonumber to get the corresponding number from a Section object.
npcid.lua 1.1 1.1 Rockythechao Constant names for all SMBX NPCs.
musix.lua 1.0 1.0 Hoeloe A small library which simplifies the creation of music codes.
npcParse.lua 1.0 1.0 Rockythechao A library for specifying extra properties for an NPC via the in-editor message text and external JSON files.
vectR.lua 1.0 1.0a Hoeloe A library for vector and matrix mathematics, supporting 2,3 and 4 dimensional vectors.
rng.lua 1.0.1 1.0.2 Hoeloe An improved random number generator, without the flaws of math.random.
deathTracker.lua 1.0 1.0 Enjl Keeps track of the player's deaths in a level.
horikawaTools.lua 1.0 1.0.1 Horikawa Otane Provides various miscellaneous functions.
debug.lua 1.2.1 1.2.1 PixelPest Allows for simple, dynamic debugging of simple values and tables.
depends.lua 1.0 Not Included Kevsoft A small utility API, which resolves API dependency chains.


Name Latest version Version packaged with LunaLua Author(s) Description
graphX.lua 0.3a (unstable) 0.0.2 Hoeloe, Rockythechao An offshoot of colliders.lua made for drawing primitives. [DEPRECATED - v0.6] Use sprite class instead.
triggers.lua 1.0 1.0 Hoeloe A system for triggering LUA code via SMBX events. [DEPRECATED - v0.6] Use onEvent event instead.
LevelData.lua 1.0.1 1.0.1 Hoeloe A small library which wraps up UserData values, allowing for level-specific variables more easily. [DEPRECATED - v0.6] Use "SaveData" and "GameData" tables instead.
bitwise.lua 1.0.1 1.0.1 Hoeloe A library which provides functionality for bitwise operators. [DEPRECATED - v0.7] Use luajit BitOP library instead.
inputs.lua 1.3 1.1 Rockythechao A basic library designed to simplify overriding input. [DEPRECATED] Use player.keys instead.
asmmod.lua 1.0 1.0 Kevsoft Assorted assembly functions. [DEPRECATED - v0.6.1] Use SMBX Fields instead.
raocoin.lua 1.1 1.1 Hoeloe A currency system framework using dragon coins. [DEPRECATED] Use raocoin2.lua instead.
cinematX.lua 0.8p (unstable) 0.0.7 Rockythechao, Hoeloe A framework for boss battles, cutscenes and other dynamic NPC interactions. [DEPRECATED - v0.7.3] See the newer libraries in SMBX2 Beta 4+ (e.g. Actorclass, animatx2, etc).
leveltimer.lua Luigifan2010 A simple API script used to provide a level timer. Warns at 100 time, kills both players on 0. (There's a Bulitin timer in SMBX2 Beta 4+)
smb3overhaul.lua 1.0.2 1.0.2 XerX/XNBlank A library that replaces original SMW Hud with SMB3 Styled Hud. [DEPRECATED - v0.7.3]
playerGfx.lua 2.0b 2.0b Rockythechao A library for overlaying or replacing Player graphics at runtime (No longer required since 0.7.3, PNG files can be replaced at runtime via using Graphics.sprites.playername[powerupid].img (playername=mario/luigi/peach/toad/link) function. Use costume system instead for SMBX2.)
click.lua 1.1 1.1 Yoshi021 A small library for the cursor.

Obsoleted since SMBX2 Beta 4

Name Latest version Version packaged with LunaLua Author(s) Description
pnpc.lua 1.0.1 1.0.2 Rednaxela A library which provides a convenient wrapper for NPC objects to allow them to be usable across ticks. (Intergrated)
multipoints.lua 3.0.11 3.0.11 Hoeloe A library that expands the functionality of midpoints. (v3.0 is not compatible with LunaLua v0.6 or below). (Depreated along with npc-192 since SMBX2 Beta 4; Use npc-400, npc-430 and "Checkpoint" Class instead)
npcconfig.lua 0.0.1a 0.0.1a Hoeloe ALPHA An expansion library that allows access to some of the NPC configuration data at runtime. (Not required due to "NPC.config" field)
encrypt.dll 1.0.1 1.0.1 Hoeloe A closed-source library which allows encrypted saving and loading from files. (NOTE: Codes saved with 1.0.0 are NOT compatible with 1.0.1) (Use tables "GameData / SaveData")
inputs2.lua 1.0 1.1 Rockythechao, HenryRichard A modified version of inputs.lua that supports both players. (Use field "Player.keys")
bgofix.lua 1.0.1 1.0 Sambo A library that makes BGOs more customizable. (Use background-x.txt)
paralX.lua 1.4.4 (in SMBX2 Beta 3) 1.1 Rockythechao A library for adding custom parallax background and foreground layers. (Use background2-x.txt)
textblox.lua 0.4.7 (in SMBX2 Beta 4) Not Included Rockythechao A library for displaying custom textboxes. (Replaced by textplus)
fade.lua 1.0 1.0 Kevsoft A simple library for colored fading and colored overlays. (Use Graphics.drawScreen)
lineguide.lua 1.0.0 Not included Sambo A library which adds fully-functioning SMW Line Guides to SMBX and allows users to attach any NPC to a line. (Intergrated since SMBX2 Beta 4)