new: bool:DM[MAX_PLAYERS];
public OnPlayerConnect(playerid){ DM[playerid] = false; return 1;}
public OnPlayerDisconnect(playerid, reason){ DM[playerid] = false; return 1;}
if(strcmp(cmdtext, \"/dm\") == 0 ) { if(DM[playerid] == true) return SendClientMessage(playerid,0xFFFF00AA,\"DM zónában vagy ! Eloször /exitdm\"); // Lekérdezzük hogy DM zónában van-e vagy nincs ResetPlayerWeapons(playerid); // meglévo fegyvereit elvesszük GivePlayerWeapon(playerid,32,1000); // Adunk neki fegyvert SetPlayerArmour(playerid, 100); // Adunk neki páncélt SetPlayerPos(playerid,2782.3257,-2019.7649,13.5620); // Teleport koordinátája ( ide teleportálja ) SendClientMessage(playerid, 0xFFFF00AA,\"Csatlakoztál a DM-hez! Kilépéshez: /exitdm\"); // Ki írunk neki egy \'infó\' szöveget DM[playerid] = true; // beállítjuk a DM változót, hogy True ( igaz ) értéket mutasson. return 1; // Visszatérés}
if(strcmp(cmdtext, \"/exitdm\") == 0){ if(DM[playerid] == false) return SendClientMessage(playerid,0xFFFF00AA,\"Nem vagy DM zónában!\"); DM[playerid] = false; // Ha a játékos sikeresen kilépet akkor false ( hamis ) értéket kap SendClientMessage(playerid, 0xFFFF00AA,\"Sikeresen kiléptél a DM zónából!\"); // Ha kilépett a DM zónából akkor küldünk neki üzenetet ResetPlayerWeapons(playerid); // Elvesszük a fegyvereit. return 1; // Visszatérés}
if(strcmp(cmdtext, \"/tudom\") == 0) { if(dm[playerid] == true) return SendClientMessage(playerid,0xFFFF00AA,\"DM zónában vagy ! Eloször /exitdm\"); // Megvizsgáljuk, hogy DM zónába vane- vagy nincs, ha nincs akkor lefut a parancs SendClientMessage(playerid,0xFFFF00AA,\"Ezt már te is megtanultad!\"); // szöveget írunk neki, ha nincs DM zónában return 1; // Visszatérés}
Akkor a Ture jelzi majd, hogy DM zónába vanm és a False pedig hogy nincs.
DM zóna létrehozása Na, amit Ti is láthatjátok a címbol, most azt fogom leírni Nektek, hogy hogyan is lehet megoldani, azt ha valaki DM zónába van, akkor onnan csak egy bizonyos paranccsal tudjon kijönni ill. más parancsot se tudjon használni addig. (...)Hát ennyi lenne röviden. Lehet kifogom egészíti az adatok mentésével. Mikor? :@
DM zóna létrehozása Na, amit Ti is láthatjátok a címbol, most azt fogom leírni Nektek, hogy hogyan is lehet megoldani, azt ha valaki DM zónába van, akkor onnan csak egy bizonyos paranccsal tudjon kijönni ill. más parancsot se tudjon használni addig. Na kezdjük is el: 1. Létre kell hozni egy globális változót, ami tárolja, hogy a játékos Dm zónába van-e vagy nincs new: bool:DM[MAX_PLAYERS]; A változónknak két értéke lehet, - elso: True( igaz ) - második: False( hamis ).Akkor a True jelzi majd, hogy DM zónába van, és a False pedig hogy nincs.2. Ha valaki csatlakozik a szerverre akkor a DM változó értéke egyértelmuen False ( hamis ) lesz. public OnPlayerConnect(playerid){ DM[playerid] = false; return 1;} Tehát, False ( hamis ) értéket adtunk neki.3. Ha valaki le csatlakozik akkor is False ( hamis ) értéket adunk neki. public OnPlayerDisconnect(playerid, reason){ DM[playerid] = false; return 1;} Jöhetnek a parancsok 4. DM parancs létrehozása if(strcmp(cmdtext, \"/dm\") == 0 ) { if(DM[playerid] == true) return SendClientMessage(playerid,0xFFFF00AA,\"DM zónában vagy ! Eloször /exitdm\"); // Lekérdezzük hogy DM zónában van-e vagy nincs ResetPlayerWeapons(playerid); // meglévo fegyvereit elvesszük GivePlayerWeapon(playerid,32,1000); // Adunk neki fegyvert SetPlayerArmour(playerid, 100); // Adunk neki páncélt SetPlayerPos(playerid,2782.3257,-2019.7649,13.5620); // Teleport koordinátája ( ide teleportálja ) SendClientMessage(playerid, 0xFFFF00AA,\"Csatlakoztál a DM-hez! Kilépéshez: /exitdm\"); // Ki írunk neki egy \'infó\' szöveget DM[playerid] = true; // beállítjuk a DM változót, hogy True ( igaz ) értéket mutasson. return 1; // Visszatérés} Hát ennyi lenne, egy egyszeru DM parancs, de ezt még lehet \'cifrázni\' karakter,fegyver,élet,páncél mentésével. Na, ha már megvolt a DM parancs, akkor hozzunk létre egy exitdm nevu parancsot. 5. Exitdm parancs létrehozása if(strcmp(cmdtext, \"/exitdm\") == 0){ if(DM[playerid] == false) return SendClientMessage(playerid,0xFFFF00AA,\"Nem vagy DM zónában!\"); DM[playerid] = false; // Ha a játékos sikeresen kilépet akkor false ( hamis ) értéket kap SendClientMessage(playerid, 0xFFFF00AA,\"Sikeresen kiléptél a DM zónából!\"); // Ha kilépett a DM zónából akkor küldünk neki üzenetet ResetPlayerWeapons(playerid); // Elvesszük a fegyvereit. return 1; // Visszatérés} Tehát, ez lesz az a parancs, amit a DM zónába használhat.6. Nézzünk egy egyszeru parancsot if(strcmp(cmdtext, \"/tudom\") == 0) { if(dm[playerid] == true) return SendClientMessage(playerid,0xFFFF00AA,\"DM zónában vagy ! Eloször /exitdm\"); // Megvizsgáljuk, hogy DM zónába vane- vagy nincs, ha nincs akkor lefut a parancs SendClientMessage(playerid,0xFFFF00AA,\"Ezt már te is megtanultad!\"); // szöveget írunk neki, ha nincs DM zónában return 1; // Visszatérés} Hát ennyi lenne röviden. Lehet kifogom egészíti az adatok mentésével. Sok sikert. Grat! Szépen átnézhetõ, tiszta, és szerintem könnyû is.
PVar-al is meglehet csinálni Am jó lett!