Sziasztok!
Megérkezett az elsõ tutorialom.
Mint ahogy a téma nevén is látszik azt fogom megmutatni, hogyan készíthettek egy egyszerû AFK filterszkriptet!
Kommentekbe mindent leírok.
[pawn]//Elõször is ágyazzuk be a szükséges fájlokat:
#define FILTERSCRIPT
#include <a_samp>
#include <zcmd>
//Hozzunk létre egy bool tipusú változót az összes játékosnak:
new bool:AFK[MAX_PLAYERS];
//Most következik, hogy ha egy játékos feljön a szerverre, ílletve kilép, false-ra, azaz hamisra állítjuk neki az AFK változóját:
public OnPlayerConnect(playerid)
{
AFK[playerid] = false;
return 1;
}
public OnPlayerDisconnect(playerid, reason)
{
AFK[playerid] = false;
return 1;
}
//Most pedig írjuk meg a parancsot:
CMD:afk(playerid)
{
new nev[MAX_PLAYER_NAME], str[32];
//Ha a játékos AFK változójának értéke false, azaz hamis:
if(AFK[playerid] == false)
{
AFK[playerid] = true; //Átállítjuk a játékos AFK változóját igazra.
SetPlayerVirtualWorld(playerid, 1); //Áttesszük másik virtuális világba.
GetPlayerName(playerid, nev, MAX_PLAYER_NAME); //Lekérdezzük a nevét.
format(str, 32, \"[AFK]%s\", nev); //Megformázzuk az str változót.
SetPlayerName(playerid, str); //Átállítjuk a játékos nevét.
TogglePlayerControllable(playerid, false); //Megfagyasszuk a játékost.
}
//Ha a játékos AFK változójának értéke true, azaz igaz:
else if(AFK[playerid] == true)
{
AFK[playerid] = false; //Átállítjuk a játékos AFK változóját hamisra.
SetPlayerVirtualWorld(playerid, 0); //Visszaállítjuk az alap virtuális világba.
GetPlayerName(playerid, nev, MAX_PLAYER_NAME); //Lekérdezzük a nevét.
strdel(nev, 0, 5); //Kitöröljük a nev változóból ezt: [AFK].
SetPlayerName(playerid, nev); //Visszaállítjuk nevét.
TogglePlayerControllable(playerid, true); //Haggyuk hogy mozogjon újra.
}
return 1; //Visszatérés
}[/pawn]
Remélem valakinek jól jött
Ja, és minden kérést/kérdést írjatok ide!