• Content Count

  • Joined

  • Last visited

  • Days Won


NanoBob last won the day on November 28 2018

NanoBob had the most liked content!

Community Reputation

27 Good

1 Follower

About NanoBob

  • Rank


  • Occupation
    SAES:RPG Development manager

Recent Profile Visitors

754 profile views
  1. That would also be rather insecure Soapbosnia, as you would be storing it in recoverable form on the client. (Aka plaintext or encrypted). So all someone would need to do is access the file in order to gain access to the password. When using a token even if that token is compromised the actual password is still secure. Plus you can add a serial restriction on it (save serial per token). That way the token can't be stolen and used from a different device.
  2. A new version of the CLI has been released! Github webhooks The slipe CLI now has built in support for automatically deploying a Slipe resource using github webhook using the `slipe hook` command. More information on how to set it up can be found on Updating In order to update your CLI run `slipe update`
  3. A new version of both the CLI and the core have been released! Changes several bugfixes C# reflection is now supported due to metadata being included in compilation Updating In order to update your CLI run `slipe update` In order to update your projects run `slipe update-core` in the project directory Infrastructure From this point on the Slipe website is hosted in a datacenter (instead of a PC at my home) We have also set up a continuous integration / deployment environment so the downloads on the website will always be up to date.
  4. A new version of both the CLI and the core have been released! Events Events have undergone a major refactor, all events now have a `source` and an `eventArgs` parameter. This will allow us to add parameters to events without breaking backwards compatibility. This also aligns more with C# convention. Vehicles The vehicle "lookup" classes have been changed to reflect vehicle types. Exports It is now possible to export static methods from your Slipe resource. For more information on how to do so visit Updating In order to update the CLI use `slipe update` In order to update an existing project use `slipe update-core` Also we would like to thank those who contribute to Slipe, you guys are awesome!
  5. We have not yet run benchmarks comparing "regular" Lua and Slipe, but we're planning on doing so in the near future. But by inspecting the generated Lua code and the class library the overhead should not be much more (if any) than a "plain" Lua OO implementation.
  6. It is not, sadly. This is due to the fact that all C# has has to be turned into Lua code in order to be run. With a NuGet package you only get the compiled DLL. If the package is open source however (And if it only uses C# classes / libraries that are implemented in slipe) then you should be able to compile it from the source using Slipe. But keep in mind that only very basic C# libraries are currently implemented in Slipe (and many only partially).
  7. The benefit of doing this isn't necesarily performance, but it's the benefits that a strongly typed language such as C# brings with it. But also the tooling that you're able to use for C#, Visual Studio's intellisense especially is great to speed up your development time. It is, because in the end this project just generates Lua code. And MTA events are implemented in our wrapper as C# events. An example of this can be found in the code snippet on the front page of
  8. It's basically both. It does allow you to write C# for MTA:SA, and it does this by translating that C# code to Lua.
  9. A new version of both the CLI and the core have been released! Root Events Events which you would want to handle on the rootElement (For example onPlayerJoin) have now been implemented as static events on that class. For example `Player.OnJoin` Defining default classes If you wish to extend a Slipe class and make it the default class for any element of that type you can do so now using the `DefaultElementClass` attribute, you can read more about that on New updater The previous updater for the CLI was a bit crap, so the windows installer has been redone as a standalone .exe, you can download this at After that you should be able to use `slipe update` like should have been (but wasn't) possible with the previous updater. Updating an existing project? After updating your CLI you can update your existing Slipe projects using `slipe update-core` in the root directory of the project.
  10. Here's a little teaser of a work in progress first party module for Slipe, called SlipeWPF. For those of you unaware of WPF, it's a GUI framework which allows you to create windows desktop applications. We're also bringing this to MTA. This window, created in Visual studio, will turn into: And all it requires to render it in MTA is this little bit of code: MainWindow window = new MainWindow(); Window guiWindow = CeguiWpfRenderer.Render(window);
  11. The Slipe CLI tool has been updated today. New features include: A `slipe build` command to produce a deployment ready resource, including a `-luac` option to automatically compile the lua files using the MTA compiler. Self updating functionality, no longer will you need to manually update the CLI or core after this update. Exporting and import of modules. Your project can exist of seperate smaller modules, which can be exported and shared with others in the Slipe community. For more information on the CLI visit the documentation on
  12. I believe what you're referring to are CLEO mods, whilst CLEO does use the .cs file extension it's not C#, so no that wouldn't work.
  13. We haven't necesarily done benchmark tests, however inspecting the generated Lua code and the OO library used it's not much different than a "regular" Lua OOP library would be. Regarding the data types which do not have an exact conversion, that's exactly why we've created our wrappers around MTA classes. This means that in end user's (or end programmer / scripter) code you will not need to directly use Lua data types returned by MTA functions. But for the purpose of tables these are turned approached as arrays or dictionaries depending on their usage. EDIT: As a reply to your edit: no, but C# > Typescript IMO Our current MTA project actually consists of several parts of which all but the actual MTA part was written in C#, so this was a perfect way to use the same language on all ends.
  14. Slipe is an open source framework that enables anyone to write scripts for MTA:San Andreas in C# instead of Lua, wrapping all MTA elements and classes and including some .NET Core namespaces. It is based on CSharp.Lua by Yang Huan. Slipe features: Runs on Windows and Linux Built in continuous deployment support with (GitHub) webhooks Object oriented wrappers for all MTA elements Async/await for MTA functions that use callbacks C# style Http requests, sockets and XML methods. Use Visual Studio and its Intellisense Type safety You can find more information about the project on Our Discord Our Github The project is still in Alpha, and since it is open source anyone is welcome to contribute
  15. Without code there really isn't much we can do to help.