02-29-2008, 01:22 PM
![[Image: mg_setup.png]](http://peter.sa-mp.nl/mg_setup.png)
As you can see, all types of minigames get controlled by the central controller. This "controller" tracks which players are playing which type of minigame, and also stores the minigame name/ID they're currently playing in. This allows the script to export functions like isPlayerInMinigame, to check whether he/she is already occupied, but also functions like forcePlayerToMinigame and stopPlayerMinigame. The idea of having this controlled as a single entity is simply because that makes it alot easier to maintain, as well as to update the mode.
:: Race Minigames
Both MTA as SA-MP already have awesome racing capabilities, we have to surpass these obviously. Therefore we allow a virtually unlimited number of races taking place, all defined in their own .xml file for convenience. The race handler must be created as a class of which instances can be created, that way we can setup this system in an OOP-kind of way, which makes doing various tasks alot easier. Settings the race-handler should be able to support are;
- Number of laps
- Type of vehicle
- Vehicle model changes (e.g. for amphibious races)
- Unlimited number of checkpoints
- Pseudo-real time progress bar of your process (client-side calculating?)
- Health pickups for vehicles
- A larger number of (possible) participants per race, perhaps 8 or 10?
- ....
:: Derby Handler
Currently we have quite a limited amount of features for the derbies, which is understandable since there just are a few anyway. It would be great if this can be extended to a more general-purpose system allowing all kinds of derbies. The new system should be controlled by XML files as well, with a virtually unlimited number of derbies and have support for the following features:
- Up to 16 (possible) participants
- Health refills definable in the .xml
- ....
:: Deathmatch Handler
Deathmatch minigames are pretty much my favorite. The new handler really must be huge - it must support gang-matches, one-on-one matches as well as normal DM minigames and team-based games. All results must be saved and available for online viewing, as well as in one's profile. A number of things it must be capable of;
- Weapon pickups
- Free-for-all signup-based games
- Team-based signup-based games
- Gang-on-Gang fights
- One-on-One fights
- Specific conditions (time, gravity, weather)
- Definable weapons/weapon sets
- ....
:: Other Minigames
Controlled as interfaces (so with a set of callable functions) by a custom-controller, for things like Poker, Hay, Fallout and whatever more we can think of.