Search the Community
Showing results for tags 'amx emulator'.
-
MTA AMX is a compatibility layer that allows you to run gamemodes, filterscripts and plugins for SA-MP 0.3.7 on MTA:SA 1.6 servers. This project can be represented as two components: MTA module in C/C++ which adds Pawn support, and MTA resource in Lua which implements functions from SA-MP server. <...>: Why is this needed? Just for fun of course. Running MTA server with something that has always been opposed to MTA is funny, at the very least. To test SA-MP scripts in unusual conditions. If you've already dealt with SA-MP and Pawn, it's a great ability to search for undefined behavior in a new environment, but at the same time in very light and non-routine tests, where you just play and gradually explore your gm/fs/lib again, but not even touching SA-MP server. To be in touch with popular GTA SA multi-players and their current features. Many things are intentionally same as in SA-MP where it's important to ensure compatibility, and many efforts are made to this. A bit less influential things still behave "in the MTA way" (or not "in the SA-MP way", if you prefer). Going outside of an already habitual scripting language and maybe even get inspired by how the more or less same features look in SA-MP, including how it's represented in Pawn scripting. And this isn't just something on paper, but already working thing where everything SA-MP alike and related is united in a single place. <...>: What is implemented? Most of SA-MP native and callback functions. It's easier to list what remains undone than what's already there. However, if some function that is needed in the Pawn script is missing, the script will run, but this function won't give any effect when called. In addition, plugins are also supported if they don't hack memory, i.e. CrashDetect, MySQL, Streamer and other commonly used ones work perfectly. As a bonus, the number of filterscripts is unlimited and plugins can be loaded while the server is running, not just when it's being started. Also worth mentioning that it's possible to call Lua functions from Pawn scripts and vice versa (for greater integration between AMX and other MTA resources). More details about this can be found in the official README.md file. <...>: What's not here? "Production Ready" status. This is definitely NOT what can be called a finished product, sufficiently tested, stable and ready for serious use. Good documentation for all SA-MP specific behavior cases which were re-implemented here. However, the latest commit history is pretty detailed, with commit descriptions where it's really needed. A few functions from SA-MP which can't be implemented by this project, but rather in MTA itself, someday. Such cases are marked as "depends on blue" in the list of known issues in the official repo. <...>: What else is here, besides the basic SA-MP functionality? Lots of interesting things! Most likely any SA-MP scripter ever wanted to change the water level or revive the traffic lights. Or maybe add player upgrades with all the skills from single-player. Well, since MTA allows to do so with its built-in functionality, in addition to the basic SA-MP natives, such new functions are also available right in the Pawn script, as if someone added them to SA-MP. The list of all new natives and callbacks is quite large, so it's better to look at them in a_amx.inc. <...>: What we shouldn't expect in the future that is missing now? First of all, NPCs as they are in SA-MP. Of course the "advanced bots" analogue (implemented here by peds) is already a thing, but SA-MP NPCs still have a number of significant features: from recording and playing routes with their own logic in separate NPC scripts, to real sync with the server not by other players. Native implementation of some callbacks that are called directly from the regular player sync. It's a reason why OnPlayerUpdate (under the hood of this project) is made just as a 100 ms timer and is called if the player has one of the required states. Since there's no need to burden the server with such frequently called events in MTA when having client-side scripting, there are no complete server-side analogues here to OnPlayerUpdate, OnUnoccupiedVehicleUpdate or OnTrailerUpdate. Adaptations of memhack plugins specific to SA-MP server. If your Pawn script is heavily tied to the use of one of these memhack plugins, you can try to look for alternatives to their functionality in the new functions that this compatibility layer adds. <...>: Wait, but this project has been around for a long time, hasn't it? It was in a very raw state until 2020. There were attempts to improve it, judging by the commit history they continued until 2022. In this year on April 1, I decided to test this just for fun, but got motivated to improve it even more seriously after several tests. Currently it's in a MUCH better state than it has ever been before. I'd say it's now getting a second wind. <...>: So is it worth spending time on this if I'm not gonna move anywhere? As a SA-MP scripter, I consider this project as a very easy access to a large list of unusual situations and cases for our multiplayer, which is funny to test them and discover GTA SA itself from a slightly different side. For example, I was interested in remembering that gas grenades can actually make players cough and lose health (yes, in SA-MP it doesn't make any impact), or that vehicle with an ID of 590 is also a valid train carriage that should spawn on the rails and behave like a train, not like regular vehicle with broken interaction because of that. At the same time, the amount of SA-MP specific features on top of GTA SA ones was kinda surprising (special actions, extended drunk level values and logic, world boundaries). I thought that many of them has just taken from single-player until saw their re-implementation in this compatibility layer and the fact it's mostly SA-MP additions. In general, if you are a developer who is interested in studying such things and you wanted to try something conceptually new, then this is definitely worth a try. If you're not interested in anything that doesn't directly concern your platform and you're ready to spend time on solving practical everyday problems only, then it's anyway nice that you read up to this point and got acquainted with MTA AMX at least from afar. Installation and configuration instructions, as well as a list of the original authors and everyone who helped develop this project can be found in its official repo. And finally, a link to the official repository which is constantly mentioned here: https://github.com/multitheftauto/amx For a quick comparison there is a couple of screenshots below, you can open each of them in a new tab (one of them is SA-MP, other is MTA). For a more detailed review, you can watch this video (link), it shows testing of TDM GangWar gamemode.
-
- amx emulator
- mta amx
-
(and 2 more)
Tagged with: