Szeretnéd feldobni a CS:GO meccseket egy kis egyedi hangulattal? Akkor jó helyen jársz! Ebben a cikkben bemutatom, hogyan készíthetsz CS:GO plugint, amivel egyedi parancsokat hozhatsz létre, és vicces hangokat játszhatsz le a chaten keresztül. Ez a kis fejlesztés nem csak a játékot teszi szórakoztatóbbá, de a közösségedet is összekovácsolhatja!
Miért pont plugin?
A CS:GO közössége hatalmas, és a játék modding szempontból is rendkívül nyitott. A pluginek lehetővé teszik, hogy a játék alapvető működését módosítsuk, új funkciókat adjunk hozzá, vagy éppen a meglévőket alakítsuk át. A saját parancsok és hangok lejátszása a chaten keresztül pedig egy kiváló módja annak, hogy egyedi hangulatot teremtsünk a szerverünkön.
Mire lesz szükséged?
A plugin készítéshez néhány dologra szükséged lesz:
- SourcePawn Compiler: Ez a program fordítja le a plugin kódját (
.sp
fájl) a CS:GO által értelmezhető formátumba (.smx
fájl). Letöltheted a SourceMod oldaláról. - Szövegszerkesztő: Használhatsz bármilyen szövegszerkesztőt, ami támogatja a kódszínezést (pl. Notepad++, Visual Studio Code).
- SourceMod: A plugin futtatásához szükséged lesz a SourceModra, ami egy modding platform CS:GO szerverekhez. Telepítése egyszerű, a leírást megtalálod a SourceMod weboldalán.
- Alapvető programozási ismeretek: Bár nem feltétel, de a SourcePawn nyelven való programozáshoz némi programozási alapismeret (változók, függvények, ciklusok) nagyban megkönnyíti a dolgodat.
A plugin vázának elkészítése
Kezdjük az alapokkal! Hozz létre egy új szöveges fájlt, és mentsd el .sp
kiterjesztéssel (pl. sajat_parancsok.sp
). Ebbe a fájlba fogjuk írni a plugin kódját.
A plugin szerkezetének alapja a következők:
„`c++
#include
{
name = „Saját Parancsok és Hangok”,
author = „A te neved”,
description = „Egyedi parancsok és hangok a chatben.”,
version = „1.0”,
url = „http://pelda.hu”
};
public void OnPluginStart()
{
// Itt regisztráljuk a parancsokat és egyéb dolgokat
}
„`
Ez a kód definiálja a plugin alapvető információit (név, szerző, leírás, verzió, weboldal) és az OnPluginStart()
függvényt, ami a plugin betöltésekor fut le. Ebbe a függvénybe fogjuk majd beilleszteni a parancsok regisztrálásához szükséges kódot.
Egyedi parancsok hozzáadása
Most adjunk hozzá egy egyszerű parancsot, ami kiír egy üzenetet a chatbe. Ehhez használjuk az AddCommand()
függvényt.
„`c++
public void OnPluginStart()
{
AddCommand(„!udvozlet”, Command_Udvozlet, „Üdvözlő parancs”);
}
public Action Command_Udvozlet(int client, int args)
{
PrintToChatAll(„%N üdvözöl mindenkit!”, client);
return Plugin_Handled;
}
„`
Ebben a kódban az AddCommand()
függvény három paramétert kap:
- „!udvozlet”: A parancs neve, amit a játékosok a chatbe írhatnak.
- Command_Udvozlet: A függvény neve, ami a parancs végrehajtásakor fut le.
- „Üdvözlő parancs”: A parancs leírása, ami a
!help
paranccsal kérdezhető le.
A Command_Udvozlet()
függvény két paramétert kap:
- client: A játékos ID-ja, aki a parancsot beírta.
- args: A parancs után megadott argumentumok száma.
A PrintToChatAll()
függvény kiír egy üzenetet a chatbe. A %N
helyére a játékos neve kerül.
Hangok lejátszása a chatből
Most adjunk hozzá egy funkciót, ami lehetővé teszi hangok lejátszását a chatből. Ehhez először fel kell töltened a hangfájlokat (.wav
formátumban) a sound/
mappába a CS:GO szervereden. A mappaszerkezetnek valahogy így kell kinéznie: csgo/sound/sajat_hangok/
. Ebbe a mappába másold be a .wav
fájlokat (pl. nevetes.wav
, siker.wav
).
Ezután a plugin kódjában regisztráld a parancsot és a hozzá tartozó függvényt:
„`c++
public void OnPluginStart()
{
AddCommand(„!hang”, Command_HangLejatszas, „Hang lejátszása”);
}
public Action Command_HangLejatszas(int client, int args)
{
if (args < 1)
{
PrintToChat(client, "[SajatPlugin] Használat: !hang
return Plugin_Handled;
}
char hangfajl[64];
GetCmdArg(1, hangfajl, sizeof(hangfajl));
char hangfajl_utvonal[128];
Format(hangfajl_utvonal, sizeof(hangfajl_utvonal), „sound/sajat_hangok/%s.wav”, hangfajl);
EmitSoundToAll(hangfajl_utvonal, client);
return Plugin_Handled;
}
„`
Ez a kód lehetővé teszi, hogy a játékosok a !hang
paranccsal lejátsszanak egy hangot. Például a !hang nevetes
paranccsal a sound/sajat_hangok/nevetes.wav
fájl kerül lejátszásra.
Fontos, hogy a GetCmdArg()
függvény a parancs után megadott argumentumot olvassa be. Az EmitSoundToAll()
függvény pedig lejátsza a megadott útvonalon található hangfájlt minden játékos számára.
A plugin fordítása és telepítése
Miután megírtad a plugin kódját, el kell fordítanod. Ehhez nyisd meg a SourcePawn Compilert, és töltsd be a .sp
fájlt. Kattints a „Compile” gombra, és ha minden jól megy, létrejön egy .smx
fájl. Ezt a fájlt kell bemásolnod a csgo/addons/sourcemod/plugins/
mappába a CS:GO szervereden. Ezután indítsd újra a szervert, vagy írd be a chatbe a sm plugins load sajat_parancsok
parancsot (a „sajat_parancsok” helyére a plugin nevének első részét írd, a .smx
kiterjesztés nélkül).
További lehetőségek
Ezzel a tudással már el tudsz kezdeni saját CS:GO plugineket készíteni. A lehetőségek szinte végtelenek! Kísérletezz bátran, és alkoss valami egyedit!
Remélem, ez a cikk segített elindulni a CS:GO pluginek világában. Jó szórakozást a fejlesztéshez!