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: :P
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. :D
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. ;D
Grat! Szépen átnézhetõ, tiszta, és szerintem könnyû is.
PVar-al is meglehet csinálni :) Am jó lett! :)
PVar-al is meglehet csinálni :) Am jó lett! :)
Mikor írtam, akkor még nem volt PVar ;)
PVar az ilyen helyekre elmehet aludni.
Régen énis dicsértem, de ezután megváltozott a véleményem és Y_Less-nek igaza is van.
Ebbõl nem értek semmit se :D XD
Mármint amit kurat linkelt. :D
Üdv.
Nagyon szép leírás köszönöm sokat segítettél :)
Már csak azt kéne tudnom hogy hogyan lehet azt megoldani hogy random helyekre spawnolja az embereket..
Na meg a másik kérdés hogy 2 csapatot pl.piros-kék csapatot hogyan lehet megcsinálni?Hogy ne tudják egymást ölni?Ez még nagy kérdés számomra ::|
Véletlenszerû Spawn:
http://sampforum.hu/index.php?topic=8808.0
Annyi, hogy a mostani kódba kicseréled erre a SetPlayerPos-t.
Sebezhetõség:
http://wiki.sa-mp.com/wiki/SetPlayerTeam
http://wiki.sa-mp.com/wiki/GetPlayerTeam
Egyik csapatnak az 1es másiknak a 2es azonosítód adod.
Véletlenszerû Spawn:
http://sampforum.hu/index.php?topic=8808.0
Annyi, hogy a mostani kódba kicseréled erre a SetPlayerPos-t.
Sebezhetõség:
http://wiki.sa-mp.com/wiki/SetPlayerTeam
http://wiki.sa-mp.com/wiki/GetPlayerTeam
Egyik csapatnak az 1es másiknak a 2es azonosítód adod.
Köszönöm,holnap megvalósítom :D
Ezt a teames dolgot,hogyan oldjam meg dialogba?Ha elmagyaráznád részletesebben megköszönném ^-^
Ment a + ;D
Véletlenszerû Spawn:
http://sampforum.hu/index.php?topic=8808.0
Annyi, hogy a mostani kódba kicseréled erre a SetPlayerPos-t.
Sebezhetõség:
http://wiki.sa-mp.com/wiki/SetPlayerTeam
http://wiki.sa-mp.com/wiki/GetPlayerTeam
Egyik csapatnak az 1es másiknak a 2es azonosítód adod.
Köszönöm,holnap megvalósítom :D
Ezt a teames dolgot,hogyan oldjam meg dialogba?Ha elmagyaráznád részletesebben megköszönném ^-^
Ment a + ;D
[/quote]
Lehet nem ebbe a témába kéne megbeszélnünk. Ezért PM-be majd leírom :) Persze gondolom a dialógus készítés megy ezért egy alap kódot küldhetnél ;D
jah ebbol sokat tanultam csak az a kár hogy rp szerom van
Nagyon szép leírás lett . Pont olyanoknak való mint én :P :D
Köszi ezt kerestem!! :D ment a plusz!