Csapatok készítése Gteam segítségével 1. lépésA módunk legelején a szükséges dolgokat \"beolvassuk\"
#include <a_samp>
static gTeam[MAX_PLAYERS];
#define TEAM_CIVIL 0
#define TEAM_BUNOZO 1
Az \"a_samp\" incben nincs mit magyarázni szóval ugrás.
a \"static gTeam[MAX_PLAYERS]\" el hivatkozunk az ÖSSZES játékosra.
\"#define TEAM_CIVIL 0\" el megdefiniálunk 1 csapatot TEAM_CIVIL néven és az IDje 0 lesz
Módunkat meggyorsíthatjuk a következõ módon:
#undef MAX_PLAYERS
#define MAX_PLAYER 30
A \"30\" at írd át a szervered SLOT limitjére! De miért is jó ez nekünk? Mivel alapból a MAX_PLAYERS 500 játékosra van álítva és ha 30 slotos szerverünk van akkor 270 hely üresen fut szóval azt vegyük ki.
2. lépésA GameModeInit alá berakjuk az AddPlayersClassocat!
AddPlayerClass(71,0.0,0.0,0,0.0,0,0,0,0,0,0);
AddPlayerClass(200,-0.0,0.0,0,0.0,0,0,0,0,0,0);
Nos feltûnhet nektek a kódban, hogy a fegyvereket nem írtam bele ez azért van mert itt LIMITÁLT mennyiséget rakhatunk bele az OnPlayerSpawn(playerid) résznél!
3. lépésAz OnPlayerSpawn rész létrehozása
if(gTeam[playerid] == TEAM_CIVIL1) {
SetPlayerColor(playerid,0x33AA33AA); // Blue
GivePlayerWeapon(playerid, 25, 10000);// fegyvert ad
}
else if(gTeam[playerid] == TEAM_BUNOZO) {
SetPlayerColor(playerid,0xAFAFAFAAY); // Light Blue
GivePlayerWeapon(playerid, 25, 10000);// fegyvert ad
}
Na de most pontosan mit is csináltunk? Spawnoláskor a különbözõ csapatok különbözõ színt kapnak természetesen ide lehet írni GivePlayerWeapon-t vagy SetPlayerMoney-t stb.
4. lépésSetPlayerClass Létrehozása!
Ezt rakhatod BÁRHOVA! Csak ne más \"public\"ba
SetPlayerClass(playerid, classid) {
if(classid == 0) {
gTeam[playerid] = TEAM_CIVIL;
} else if(classid == 1) {
gTeam[playerid] = TEAM_BUNOZO;
}
}
FIGYELEM ügyelj arra, hogy a classid egyezzen a megdefiniáltal!
4. lépésOnPlayerRequestClass létrehozása másnéven amikor a játékos felconectol a szerverre tudjon csapatot választani
public OnPlayerRequestClass(playerid, classid)
{
SetPlayerClass(playerid, classid);
SetupPlayerForClassSelection(playerid);
gPlayerClass[playerid] = classid;
switch (classid) {
case 0:
{
GameTextForPlayer(playerid, \"~b~Civil\", 500, 3);
}
case 1:
{
GameTextForPlayer(playerid, \"~g~Bunozo!\", 500, 3);
}
}
return 1;
}
Szerintem ezen nem sokat kell magyarázni de azért elfogom
GameTextForPlayer helyére rakhatsz akár textdravot vagy SCM et.
MAGYARÁZAT: GameTextForPlayer(kinek menjen el, \"SZÖVEG\", IDÕ, STÍLUS);
TÁDÁ már készen is vagyunk de ezzel nem értünk el valami sokat, szóval most megmutatom mire lehet akár alkalmazni ezt a megkülönböztetést.
1 csapat tudjon 1 parancsot használniEz szintén nem nehéz az OnPlayerCommandText nél kell alkalmazni
if(gTeam[playerid] == TEAM_CIVIL)
{
if (strcmp(\"/fegyverez\", cmdtext, true, 10) == 0)
{
SetPlayerHealth(playerid, 100); // 100 életet ad
SetPlayerArmour(playerid, 100); // 100 páncélt ad
GivePlayerWeapon(playerid, 28, 10000); // fegyvert ad
GivePlayerWeapon(playerid, 25, 10000);// fegyvert ad
GivePlayerWeapon(playerid, 31, 10000);// fegyvert ad
GivePlayerWeapon(playerid, 24, 10000);// fegyvert ad
return 1;
}
}
Ezzel létrehoztunk 1 parancsot ami ad életet páncélt és fegyvereket amelyet CSAK 1 ADOTT CSAPAT TUD HASZNÁLNI
Ennyi lenne a csapatkezelés alapja =) Innentõl már csak a fantázia szab határt
Írta: Alpha ha hibát találsz jelezd!
A Tutorialt olyanoknak szántam akik aránylag tudják, hogy a Giveplayerweapon stb. mit csinál de csapatot és csapatra szabott dolgokat nem tudnak