Lua executor vs mod menu
A mod menu gives you the features its developer built, and they work the same on every server. A Lua executor runs code inside your game session, so it can talk to whatever framework that particular server is running. That difference is why some things only work on one of them.
The short version
A mod menu is a finished product. Someone wrote the features, put them behind a UI, and you use them. Aimbot, ESP, spawning, self-options: they are the same on every server you join, because they mostly work on your own game client.
A Lua executor runs Lua code inside your FiveM session. FiveM servers are themselves built out of Lua resources, so an executor is speaking the server's own language. That means it can call the things the server exposes rather than being limited to what a menu developer anticipated.
The practical rule: if what you want happens on your machine, a menu is enough. If what you want has to be agreed to by the server, an executor is the tool.
Why the distinction matters at all
Almost everything a cheat does falls into one of two buckets, and which bucket decides which tool you need.
Client-side things happen entirely in your game. Drawing boxes around players, changing where your shots point, making your character invincible against damage your client calculates, spawning a vehicle for you to look at. The server is never asked. A mod menu handles all of this, and a menu is usually the more comfortable way to do it because it has been built and tested.
Server-side things have to be accepted by the server before they are real. Your bank balance on a roleplay city, an item in your inventory, a vehicle registered to you, a job payout. Your client can claim whatever it likes; the server writes what it decides. Menus struggle here, because there is no universal feature to build: every server exposes different things.
This is the whole reason executors exist. On a roleplay server, an executor can trigger the framework's own network events with values you choose, which is the only route to anything the server owns.
What a mod menu is better at
Everything client-side, and comfort. A good menu has a UI, keybinds, saved configs, sane defaults for aimbot smoothing, and someone maintaining it against game patches. You install it, you press a key, it works.
It also does not require you to know anything. An executor without scripts is an empty box; you either write Lua or you run scripts other people wrote, and running a script you did not read is exactly how people get their accounts taken.
For most players buying their first tool, a menu is the correct answer, and Ambani FiveM is ours. The executor question only becomes interesting once you specifically want something server-side.
What a Lua executor is better at
Anything that depends on the specific server. Money, inventory, jobs, vehicles that persist, anything stored in the server's database rather than in your game's memory. An executor can fire the events the framework registered, and a server only rejects what somebody wrote a check for.
It also adapts. When a city updates and an event changes name, a script can be edited; a compiled menu feature has to wait for its developer. That flexibility is the reason executors stay useful on servers where menus quietly stop doing half of what they advertise.
The trade is that it is server-specific work. There is no executor script that works on every roleplay city, and anyone telling you otherwise is selling something.
Do you need both?
Often, yes, and that is why they are frequently sold together. The menu covers combat and movement, the executor covers whatever the server owns. Our own setup follows exactly this shape: Macho is the base and Satanic Menu is the Lua executor that layers on top of it, which is why Satanic cannot run on its own.
Susano takes the combined approach in one product, pairing a mod menu with a Lua executor. If you want to understand what an executor lets you do with money specifically, the money guide works through it on a real framework.
One thing neither of them changes
Whichever you run, the anti-cheat situation is identical. An executor is not stealthier than a menu, and a menu is not safer than an executor: both attach to the same game process and both are visible to the same detection methods. What differs is what you can do once you are in, not how likely you are to be caught.
Detection depends on the build, the server, and how obviously you behave. The anti-cheats guide covers what the major systems actually inspect, and the status board shows the current state of each of our builds.
Common questions
It is a tool that runs Lua code inside your FiveM game session. FiveM servers are built out of Lua resources, so an executor can call the same functions and network events the server itself uses. That lets it reach things stored on the server, such as your framework money or inventory, which a client-side mod menu cannot touch.
Neither is better; they do different jobs. A mod menu is better for anything client-side, which is most combat and movement features, and it is easier to use because the features are already built. An executor is better for anything the server owns, such as money and inventory on a roleplay city. Many people run both.
To write your own scripts, yes. To run scripts other people wrote, no. Be careful with the second option: running a script you have not read means trusting whoever wrote it with your account and your machine, and that is a common way people lose both.
That depends on the product. Some are standalone, some are extensions to a base cheat. Satanic Menu is the second kind: it layers on top of Macho and requires Macho to run. Susano bundles a Lua executor into a product that also works as a mod menu.
Not inherently. Both an executor and a mod menu attach to the same game process and are visible to the same detection methods. What changes your risk is the build you are running, which anti-cheats the server uses, and how obviously you behave in front of other players.
Because that money is not in your game, it is in the server's database. On ESX or QBCore your balance is a row the framework changes through its own server-side functions, and your client is never asked. Editing a local value changes a number on your screen until you relog. Reaching that balance needs a server-side event, which is what an executor is for.