The story of " Fightcade Lua Hotkeys " is one of community-driven innovation, where players of classic arcade titles like Street Fighter III: 3rd Strike and Vampire Savior took technical matters into their own hands to create the modern "Training Mode" experience. The Problem: A Missing Feature
Originally, many classic arcade games lacked a built-in training mode. Players on Fightcade could fight each other online, but they had no way to practice complex combos or frame-perfect parries without a second player or burning "coins" in arcade mode. The Solution: Lua Scripting
The community turned to the Lua scripting engine within the Final Burn Neo (FBNeo) emulator used by Fightcade. Developers created scripts like Grouflon’s Training Lua and JoJoban Training Mode to add features like health refills, input displays, and hitbox visualizations. The Innovation: The "Lua Hotkey"
To make these scripts usable mid-match, users needed a way to trigger them without reaching for a mouse. This led to the widespread use of Lua Hotkeys.
The Setup: Inside FBNeo, players navigate to Input > Map Game Inputs (or press F5).
The Bindings: Here, they find specific slots like Lua Hotkey 1 or Lua Hotkey 4. These can be mapped directly to a controller button or an unused keyboard key. The Function:
Lua Hotkey 1: Typically used to open the script's main menu.
Record/Playback: Other hotkeys are often bound to "Volume Up/Down" or "Not in use" slots to record and replay dummy actions for defensive practice. The Modern Experience
Today, players use these hotkeys to run combo trials and practice sessions that rival modern fighting games. Some even create Windows shortcuts with the --lua flag to launch their favorite training script the moment the emulator opens, bypassing the menus entirely.
, Lua scripts (specifically for the FBNeo emulator) use specialized "Lua Hotkeys" to trigger menu functions without interfering with standard game inputs like Weak Punch or Start. The Default Fightcade Lua Hotkeys
Most professional training scripts, such as the VSAV Training Script or the SFIII 3rd Strike Training Mode, use a standardized set of hotkeys: fightcade lua hotkey
Lua Hotkey 1: Usually opens the script's main menu (e.g., Shift + Enter in some versions).
Alt + 1 / Alt + 2: Often used to toggle through input displays or specific script macros.
Alt + 3: Frequently toggles hitbox displays or looping playback. Alt + 4: Returns to the character selection screen. How to "Create" or Rebind Hotkey Features
If you are developing a Lua script and want to implement a custom hotkey feature, you can use the input.get() function provided by the FBNeo Lua API. 1. Registering Key Presses
To detect a hotkey like "Lua Hotkey 1" in your script, you use a loop that checks the input table:
function checkHotkeys() local keys = input.get() if keys["Lua Hotkey 1"] then -- Insert your feature here, like opening a menu print("Menu Opened!") end end -- Run this every frame gui.register(checkHotkeys) Use code with caution. Copied to clipboard 2. Custom Key Shortcuts
You are not restricted to the "Lua Hotkey" slots. You can also bind features to specific keyboard keys by checking their names in the input table (e.g., "Space", "T", or "Left Shift"). 3. Streamlining Access with Windows Shortcuts
You can create a "direct-to-lua" desktop shortcut to skip the manual loading process: Right-click your desktop and select New > Shortcut.
Paste the path to your emulator followed by the --lua flag and script path:
Example: C:\Fightcade\emulator\fbneo\fcadefbneo.exe romname --lua C:\Path\To\Script.lua. Setting Up Hotkeys in the Emulator The story of " Fightcade Lua Hotkeys "
Before a script can detect "Lua Hotkey 1," you must map it in the Fightcade/FBNeo settings: Open Fightcade and click Test Game for any title. Go to Input > Map Game Inputs (or press F5). Scroll down to the Lua Hotkeys section. Bind these to your preferred keys (e.g., 1, 2, 3).
📌 Note: Scripts like the 3rd Strike Training Mode require you to have Player 2 controls mapped even if you are practicing solo, as the script "takes over" Player 2 to simulate dummy actions. Fbneo lua file setup tutorial (training modes)
To maximize your training efficiency in , you can utilize Lua hotkeys
to quickly access advanced script features like hitbox viewers, frame data, and training menus. Setting Up Lua Hotkeys Most high-quality training scripts (such as those for 3rd Strike Vampire Savior
) come with pre-configured hotkeys to streamline your practice: Map Emulator Inputs : Open a game and go to Game > Map game inputs
. Look for entries labeled "Lua Hotkey 1," "Lua Hotkey 2," etc., and bind them to your keyboard or controller. Launch the Script : Navigate to Game > Lua Scripting > New Lua Script Window . Browse for your file and click Activate Features Lua Hotkey 1 : Usually opens the primary training menu for the script. Coin/Start
: Many scripts use these to trigger recording, playback, or control swapping with the dummy. Shift + Enter
: A common shortcut to toggle training modes in various game-specific scripts. Automating Script Loading
You can skip the manual loading process by creating a desktop shortcut that automatically launches the game with the Lua script active: Target Format
[Path to fcadefbneo.exe] [Rom Name] --lua [Path to your_script.lua] Example for Street Fighter III: 3rd Strike Script 2: Frame Advance (Single Step) Modern fighting
C:\Fightcade\emulator\fbneo\fcadefbneo.exe sfiii3nr1 --lua C:\Scripts\3rd_training.lua Essential Training Scripts
For the best experience, look for these popular community-developed scripts: Groffalon/Gruon 3rd Strike Mod
Modern fighting games have frame advance. Fightcade doesn’t—unless you build it.
local frame_advance_key = 0x71 -- F2 local advance_frame = false local frame_count = 0function on_frame() if input.get_key_state(frame_advance_key) == 1 then if not advance_frame then advance_frame = true emu.pause() -- Pause the emulator print("Frame advance mode ON. Press key again to step.") else emu.unpause() emu.pause() -- Step one frame end else -- Optional: hold a modifier to exit frame advance if input.get_key_state(0x11) == 1 then -- Q key to exit emu.unpause() advance_frame = false end end end
emu.register_frame(on_frame)
FBNeo Lua uses standard identifiers for keyboard keys. When using input.get(), refer to this list:
F1 through F121 through 0 (on the number row)A through ZLShift, RShift, LCtrl, RCtrl, LAlt, RAltUp, Down, Left, RightNumpad1 through Numpad9, Numpad0, NumpadEnterA true frame-step requires pausing and single-stepping:
local stepping = false local function frame_advance_toggle() if not stepping then emu.pause() stepping = true console.print("Frame advance mode ON. Press hotkey again to step.") else emu.step() end endlocal function exit_frame_advance() stepping = false emu.unpause() end
emu.registerhotkey(58, frame_advance_toggle) -- F12 to step emu.registerhotkey(1, exit_frame_advance) -- Escape to exit
Below is a concise, practical guide to creating and using Lua hotkeys in Fightcade (for input mapping, save states, cheats, or UI toggles). Assumes Fightcade 2 with FinalBurn Neo cores; adapt paths/filenames if using different cores.