I develop a sandbox server that has been running for almost 10 years by now, and I've as well reached the limits of SA-MP many times. The server can do only so much in regards to modifying the game behaviour, and without client-side plugins/mods, many possibilities are still inaccessible.
Because of the nature of my server, I don't have such a big need of DL, but there are many other features that, albeit small, would bring lots of new possibilities. I have suggested some of these things many times, but I'll repeat myself hoping it will be noticed.
- SyncRotation parameter for AttachObjectToVehicle. Using an empty object to get around this makes it lag when the vehicle is moving. This option would make adding lights easier (to get around the invisibility caused by rotation).
- AttachVehicleToVehicle. The game does support it. Would be cool for trains carrying cars, bikes etc.
- Optional UTF-8 support or at least GetPlayerCodePage to know which ANSI charset a player uses (plugins can be used to adapt the messages for other players with different codepages). This would make truly international servers possible.
- Functions to toggle the sun, heat effects, speed effects, and grass (individually). Come on, many players have better machines than 10 years ago; no need to enforce optimizations that impair visual quality.
- Set the color of the sun and the sky, the speed of wind and other properties of the environment. There are two weathers in the game used for changing their color already.
- Create in-game actors/peds with AI (basically toggle the AI for an actor). Would cause frequent desync but would be awesome for cutscenes without affecting the performance of the server.
- A function to derail trains.
- Toggle the collision between two entities (objects, vehicles, players). Would make in-game vehicle editing more usable.
- Split ManualVehicleEngineAndLights into two functions (I hope the game supports that). Also SetVehicleParamsEx cannot turn on the lights at daylight when manual lights aren't enabled, but the engine can be controlled without the function perfectly.
- Callbacks to detect when a player has toggled the chat textbox. Would also lead to better spam protection.
- Turn on synchronisation of an object (like for unoccupied vehicles). If a player moves a barrel with physics, all players would see the same position and rotation, and the server would have access to these values.
Last but not least, don't care that much about adding functions that could cause desync issues between players. I reckon that is the reason
SetPlayerGravity hasn't been added yet, but honestly, it is the responsibility of the server developers to make a consistent experience for the players, not yours. Don't limit what can be done.
We believe in you, Kalcor.