Az első CounterStrikeSharp-bővítményed: Hello World
Nem kell tapasztalt programozónak lenned ahhoz, hogy CounterStrikeSharp-bővítményt írj. Egy működő bővítmény egy kis C#-osztály és egy projektfájl. Ez az útmutató a nulláról elvezet odáig, hogy a Hello World megjelenik a szerverkonzolon, és minden, amit itt megtanulsz, nagyobb bővítményeknél is érvényes.
Telepítsd a .NET 8 SDK-t
A CounterStrikeSharp-bővítmények C#-ban, .NET 8-on készülnek. Telepítsd a .NET 8 SDK-t a gépedre, majd nyiss egy terminált, és ellenőrizd, hogy működik. A parancs kiírja a telepített verziót, amelynek 8-cal kell kezdődnie.
dotnet --version
Hozd létre a projektet
Hozz létre egy üres mappát, nyiss benne egy terminált, és generálj egy osztálykönyvtárat. Az itt választott név lesz a bővítmény DLL-jének neve, ezért válassz egy érthető, szóköz nélküli nevet.
dotnet new classlib --name HelloWorldPlugin
Szerkeszd a projektfájlt
Nyisd meg a generált .csproj fájlt, és cseréld le a tartalmát az alábbira. A lényeg a CounterStrikeSharp.API hivatkozás, amely hozzáférést ad a játékhoz. Töröld a generált Class1.cs fájlt, nem lesz rá szükséged.
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net8.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="CounterStrikeSharp.API" Version="1.0.*" />
</ItemGroup>
</Project>
Írd meg a bővítményt
Hozd létre a HelloWorldPlugin.cs fájlt. Minden bővítmény egy osztály, amely a BasePluginból származik, és nevet meg verziót ad magának. A Load metódus egyszer fut le, amikor a szerver betölti a bővítményt, és innen indul a saját kódod.
using CounterStrikeSharp.API.Core;
namespace HelloWorldPlugin;
public class HelloWorldPlugin : BasePlugin
{
public override string ModuleName => "Hello World Plugin";
public override string ModuleVersion => "1.0.0";
public override void Load(bool hotReload) { Console.WriteLine("Hello World!"); }}
Fordítsd le
Fordíthatsz helyben a dotnet build -c Release paranccsal, vagy kihagyhatod a beállítást: tömörítsd zipbe a mappát (a projektfájlt és a .cs fájlt), és töltsd fel a fordítónkba. Visszaállítja a csomagokat, lefordítja a bővítményt, és egy használatra kész zipet ad.
Másold a szerverre
A zipből csak a bővítmény mappáját másold a szervered addons/counterstrikesharp/plugins könyvtárába. A mappának és a DLL-nek ugyanazt a nevet kell viselnie. A zipünkben lévő dependencies mappát a CounterStrikeSharp már biztosítja, hagyd ki.
Nézd meg a konzolt
Indítsd újra a szervert, vagy töltsd be a bővítményt futás közben. A szerverkonzolon látnod kell az üzenetedet. Ha nem, futtasd a css_plugins list parancsot, hogy lásd, megtalálta-e a bővítményt, és olvasd el a be nem töltődő bővítményekről szóló útmutatónkat.
Hello World!
CounterStrikeSharp.API Loaded Successfully.
Módosítsd és töltsd újra
Ha a bővítmény működik, változtasd meg az üzenetet, fordíts újra, és cseréld ki a DLL-t. A CounterStrikeSharp támogatja a hot reloadot, így fejlesztői szerveren az új verziót gyakran újraindítás nélkül kipróbálhatod. A következő lépések a parancsok és a játékesemények, amelyeket a többi útmutatónk tárgyal.
Hasznos volt ez az útmutató?
Barlap a közösségért.