Bib
21.01.2018, 22:09
https://raw.githubusercontent.com/ikkentim/SampSharp/master/sampsharp.png
SampSharp
Всем привет.
Я бы хотел рассказать о фреймворке SampSharp, с помощью которого можно писать мод на C#.
Использование этого фреймворка дает огромные преимущества, как перед написанием мода на Pawn, так и перед написанием мода с помощью других фреймворков или SDK. А всё за счет относительной простоты C#, и в то же время его большими возможностями.
Пожалуй опишу как установить предрелизную(0.8) версию, т.к. у стабильной(0.7.62) беда с поддержкой кириллицы.
Скачайте (http://files.sa-mp.com/samp037_svr_R2-2-1_win32.zip) и распакуйте архив с сервером SA-MP.
Скачайте (https://github.com/ikkentim/SampSharp/releases) архив с последнего релиза(SampSharp-0.8.0-****.zip), содержимое папки внутри архива переместите в папку с сервером.
Укажите плагин SampSharp в server.cfg: plugins SampSharp.
Установите (https://www.visualstudio.com/ru/thank-you-downloading-visual-studio/?sku=Community&rel=15) Visual Studio 2017 и загрузите установщиком пакет Кроссплатформенная разработка .NET Core.
Создайте консольное приложение .NET Core
Добавьте ссылки на библиотеки SampSharp.GameMode и SampSharp.Core(соберите или скачайте (https://www.dropbox.com/s/oufvuafx0ycmfvy/SampSharp_libs0.8-alpha6.zip?dl=0)).
SampSharp 0.8 работает в отдельном процессе, общаясь с плагином по протоколу TCP. Поэтому нужно запускать и SampSharp сервер, и SA-MP сервер,для того чтобы вывести приветствие:
class Program
{
static void Main(string[] args)
{
var gameModeBuilder = new SampSharp.Core.GameModeBuilder();
gameModeBuilder.Use<GameMode>();
gameModeBuilder.Run();
Console.ReadLine();
}
}
class GameMode : SampSharp.GameMode.BaseMode
{
protected override void OnInitialized(EventArgs e)
{
Console.WriteLine("Hello, World!");
}
}
Давайте покажем подключившемуся игроку диалог с приветствием:
C#
protected override void OnPlayerConnected(BasePlayer player, EventArgs e)
{
var message = new MessageDialog("Приветствие", $"Привет, {player.Name}!", "Привет");
message.Show(player);
}
Pawn
public OnPlayerConnect(playerid)
{
new name[MAX_PLAYER_NAME];
GetPlayerName(playerid, name, sizeof(name));
new hello[MAX_PLAYER_NAME + 10];
format(hello, hello(result), "Привет, %s.", name);
ShowPlayerDialog(playerid, 1, DIALOG_STYLE_MSGBOX, "Приветствие", hello , "Привет", "");
}
На Pawn быстрее и приятнее всего можно будет написать мод, тем более с IntelliSense:crazy:
GitHub (https://github.com/ikkentim/SampSharp) | API (http://api.sampsharp.timpotze.nl/html/7e27b938-53b3-cb21-950d-a350ce5bccdd.htm) | Документация (http://alpha.sampsharp.timpotze.nl/)
(тема будет дополняться, в т.ч. документацией)
SampSharp
Всем привет.
Я бы хотел рассказать о фреймворке SampSharp, с помощью которого можно писать мод на C#.
Использование этого фреймворка дает огромные преимущества, как перед написанием мода на Pawn, так и перед написанием мода с помощью других фреймворков или SDK. А всё за счет относительной простоты C#, и в то же время его большими возможностями.
Пожалуй опишу как установить предрелизную(0.8) версию, т.к. у стабильной(0.7.62) беда с поддержкой кириллицы.
Скачайте (http://files.sa-mp.com/samp037_svr_R2-2-1_win32.zip) и распакуйте архив с сервером SA-MP.
Скачайте (https://github.com/ikkentim/SampSharp/releases) архив с последнего релиза(SampSharp-0.8.0-****.zip), содержимое папки внутри архива переместите в папку с сервером.
Укажите плагин SampSharp в server.cfg: plugins SampSharp.
Установите (https://www.visualstudio.com/ru/thank-you-downloading-visual-studio/?sku=Community&rel=15) Visual Studio 2017 и загрузите установщиком пакет Кроссплатформенная разработка .NET Core.
Создайте консольное приложение .NET Core
Добавьте ссылки на библиотеки SampSharp.GameMode и SampSharp.Core(соберите или скачайте (https://www.dropbox.com/s/oufvuafx0ycmfvy/SampSharp_libs0.8-alpha6.zip?dl=0)).
SampSharp 0.8 работает в отдельном процессе, общаясь с плагином по протоколу TCP. Поэтому нужно запускать и SampSharp сервер, и SA-MP сервер,для того чтобы вывести приветствие:
class Program
{
static void Main(string[] args)
{
var gameModeBuilder = new SampSharp.Core.GameModeBuilder();
gameModeBuilder.Use<GameMode>();
gameModeBuilder.Run();
Console.ReadLine();
}
}
class GameMode : SampSharp.GameMode.BaseMode
{
protected override void OnInitialized(EventArgs e)
{
Console.WriteLine("Hello, World!");
}
}
Давайте покажем подключившемуся игроку диалог с приветствием:
C#
protected override void OnPlayerConnected(BasePlayer player, EventArgs e)
{
var message = new MessageDialog("Приветствие", $"Привет, {player.Name}!", "Привет");
message.Show(player);
}
Pawn
public OnPlayerConnect(playerid)
{
new name[MAX_PLAYER_NAME];
GetPlayerName(playerid, name, sizeof(name));
new hello[MAX_PLAYER_NAME + 10];
format(hello, hello(result), "Привет, %s.", name);
ShowPlayerDialog(playerid, 1, DIALOG_STYLE_MSGBOX, "Приветствие", hello , "Привет", "");
}
На Pawn быстрее и приятнее всего можно будет написать мод, тем более с IntelliSense:crazy:
GitHub (https://github.com/ikkentim/SampSharp) | API (http://api.sampsharp.timpotze.nl/html/7e27b938-53b3-cb21-950d-a350ce5bccdd.htm) | Документация (http://alpha.sampsharp.timpotze.nl/)
(тема будет дополняться, в т.ч. документацией)