SA-MP Forums

SA-MP Forums (https://forum.sa-mp.com/index.php)
-   Plugin Development (https://forum.sa-mp.com/forumdisplay.php?f=18)
-   -   [Plugin] SampSharp - Write gamemodes in .NET (https://forum.sa-mp.com/showthread.php?t=511686)

ikkentim 06/05/2014 09:53 PM

SampSharp - Write gamemodes in .NET
 



SampSharp is a plugin and library which allows you to write SA-MP gamemodes in C#, VB or any other .NET language. The plugin works both on Linux and Windows. The library contains various classes for every type of resource available in SA-MP (players, vehicles, textdraws, etc). Aside from this wrapper around native functions, the library also contains a good structure to build your gamemode on.

SampSharp provides wrappers for existing plugins (currently only the streamer plugin) and a number of resources for writing wrappers for existing plugins. There are also a small number of example gamemodes available.

Feedback and suggestions are highly appreciated!
If you have any questions, please leave a message below.

The following snippet shows how easy it is to create a command which spawns a vehicle:
PHP Code:

class GameMode BaseMode
{
    protected 
override void OnPlayerConnected(BasePlayer playerEventArgs e)
    {
        
base.OnPlayerConnected(playere);

        
player.SendClientMessage($"Welcome {player.Name}, to a whole new world!");
    }

    [
Command("spawn")]
    public static 
void VehicleCommand(BasePlayer playerVehicleModelType model)
    {
        
Console.WriteLine($"Spawning a {model} for {player.Name}");
        var 
vehicle GtaVehicle.Create(modelplayer.Position + new Vector3(000.5f), player.Rotation.Z);
        
player.PutInVehicle(vehicle);
        
player.SendClientMessage(Color.GreenYellow, $"You have spawned a {model}!");
    }


Download SampSharp
https://github.com/ikkentim/SampSharp/releases

Current stable version:
https://img.shields.io/github/releas.../SampSharp.svg https://img.shields.io/github/downlo...test/total.svg

Current unstable version:
https://img.shields.io/github/tag/ik.../SampSharp.svg

Documentation
https://sampsharp.net

Notice: Documentation is currently lacking lots of vital information, please take a look around the examples/source for more detailed information. As soon as I have time I'll focus on improving the documentation.

Source code
https://www.github.com/ikkentim/SampSharp

NoahF 06/05/2014 10:09 PM

Re: SampSharp - Write gamemodes in .NET
 
Nice!!! I am sure some people will find this very helpful. :)

Gigi-The-Beast 06/05/2014 10:36 PM

Re: SampSharp - Write gamemodes in .NET
 
Nice effort, hope it doesn't get abbandoned as other similar projects.
I am not expirienced with c# but I want to learn it, so is there a way to use current plugins with this?
As I prefer to use mysql,streamer,sscanf plugins and some others?

ikkentim 06/05/2014 10:43 PM

Re: SampSharp - Write gamemodes in .NET
 
Quote:

Originally Posted by Gigi-The-Beast (Post 3025101)
Nice effort, hope it doesn't get abbandoned as other similar projects.

I'll maintain it as long as possible :)
Quote:

Originally Posted by Gigi-The-Beast (Post 3025101)
I am not expirienced with c# but I want to learn it, so is there a way to use current plugins with this?

Not the way the plugin works now. However, you shouldn't need to.

Quote:

Originally Posted by Gigi-The-Beast (Post 3025101)
As I prefer to use mysql,streamer,sscanf plugins and some others?

Mysql: you can simply use the c# library from oracle, or, better yet, use entityframework. One great .net library, ****** it and you'll love it.
Streamer: i'm going to implement the most important features in the library.
Sscanf: if you are using it to process commands, sampsharp has something better, check the commandstest class in the testmode project. I'll soon document it and make it more awesome.

Gigi-The-Beast 06/05/2014 10:59 PM

Re: SampSharp - Write gamemodes in .NET
 
Okay, thank you for your reply. :)
But would you be able to implement a way to allow using the current plugins too? As there are lots of other useful plugins there, like fcnpc, ysf, mapandreas and some others?

Scaleta 06/05/2014 11:39 PM

Re: SampSharp - Write gamemodes in .NET
 
Seems pretty sweet. I can't wait to see some more documentation on this.

Does this have any effect on how fast things are processed?

ikkentim 06/05/2014 11:51 PM

Re: SampSharp - Write gamemodes in .NET
 
Quote:

Originally Posted by Gigi-The-Beast (Post 3025120)
Okay, thank you for your reply. :)
But would you be able to implement a way to allow using the current plugins too? As there are lots of other useful plugins there, like fcnpc, ysf, mapandreas and some others?

I haven't yet found a way to call natives by name. SampSharp has build in support for mapandreas though.

Quote:

Originally Posted by Scaleta (Post 3025148)
Seems pretty sweet. I can't wait to see some more documentation on this.

Does this have any effect on how fast things are processed?

Havent yet tested it, but I'm quite sure pure pawn or pure sampgdk is faster.

The reason to use this plugin would be OO, .NET and all libraries written for .NET.

Kar 07/05/2014 03:07 AM

Re: SampSharp - Write gamemodes in .NET
 
Really.. and I was just looking into C#... :)

Seems awesome, might test it.

123marvin123 07/05/2014 06:44 PM

Re: SampSharp - Write gamemodes in .NET
 
My Server won't start.
I pasted this into plugins folder: http://puu.sh/8D0Z2.png
And Config looks like this: http://puu.sh/8D112.png
But Server will only display this: [19:57:31] [SampSharp] Loading gamemode: RiverShell::GameMode at "plugins/RiverShell.dll". And then crashes. Can you help me?

iZN 07/05/2014 07:21 PM

Re: SampSharp - Write gamemodes in .NET
 
Awesome work you've done. I might try to write some script on C# finally.


All times are GMT. The time now is 02:24 AM.

Powered by vBulletin® Version 3.8.6
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.