Slipe

Sharpen your MTA development experience

Slipe-CLI

A command line interface to streamline your project and directory management. Enables you to create, compile and build your projects with just a few keystrokes.

The CLI takes care of invoking the proper compilation commands and it also automatically rebuilds your meta. If you want to build your project for development, it can also compile the Lua code further using MTA .Luac!

Slipe-Core

The framework enables you to write scripts for MTA San Andreas in C# instead of Lua, wrapping all MTA elements and classes. It also includes some .NET Core namespaces.

Slipe enables you to make use of the full power of C#. This includes but is not limited to: type safety, inheritance, async/await and method overloading

Build your projects in Visual Studio, and let IntelliSense increase your productivity even more!

Slipe Modules

Export your project as a module to enable it for use in other projects as well. Zip your project or put it in a repository to autimatically import it in any project with a CLI command.

Also take a look at the available slipe modules!

            
// A vehicle with super powers
public class SuperVehicle : Vehicle
{
    // The team that this vehicle is locked to
    public Team Team { get; }
    
    // Create a new super vehicle locked to a team
    public SuperVehicle(VehicleModel model, Vector3 position, Team team) 
      : base(model, position)
    {
        Team = team;
        DamageProof = true;
        Handling.MaxVelocity = 300f;
        
        // If a player wants to enter the driver seat. 
        // He should be of the right team.
        OnStartEnter += (Player player, Seat seat, Player jacked, Door door) =>
        {
            if (seat == Seat.FrontLeft && player.Team != team)
              Event.Cancel();
        };
    }
    
    // Have an AK-47 drop on the ground 3 units behind this vehicle
    public void DropWeapon()
    {
      Vector3 position = Position + ForwardVector * -3;
      new Pickup(position, SharedWeaponModel.Ak47);
    }
}
              
            

Take advantage of C#!

Slipe core is a complete wrapper of all the native MTA functions. The benefits of using C# in combination with Visual Studio are innumerable. Everything that works in C# works in Slipe. Take a look:

  • Inheritance from base MTA classes
  • Manage access with properties
  • Typesafe constructors, methods and properties
  • Numerous data wrappers
  • Both lambda event handlers and delegates
  • Complete integration of all constants as enums
  • Method overloading
  • Use System.Numerics and other powerful .NET libraries

CSharp.lua

Slipe wouldn't exist without CSharp.lua, the compiler that parses C# into Lua. CSharp.lua is built by Yang Huan and he has been and still is a massive help during the development of Slipe, resolving issues within a matter of hours or overhauling his entire project by our request.

Give CSharp.lua a star if you can!

Community

We are incredibly grateful for everyone who puts energy in making Slipe a bit better every day. This applies to our GitHub contributors but also everyone who is involved with the project on Discord. Join the Slipe community and sharpen your MTA development experience!

Project Collaborators

Project Contributors