Szerző Téma: [TuT] DM zóna létrehozása  (Megtekintve 5804 alkalommal)

Nem elérhető Csabesz

  • 7827
    • Profil megtekintése
[TuT] DM zóna létrehozása
« Dátum: 2010. Március 06. - 18:52:54 »
+5 Show voters
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
« Utoljára szerkesztve: 2010. Március 13. - 20:32:26 írta Csabesz »

Nem elérhető dnsdj

  • 211
    • Profil megtekintése
[TuT] DM zóna létrehozása
« Válasz #1 Dátum: 2010. Március 06. - 19:19:16 »
0 Show voters
Szia.. jó lett :D Szép leírás

Egy kis Nyelv botlás... itt :D

 
Akkor a Ture jelzi majd, hogy DM zónába vanm és a False pedig hogy nincs.

 
Ture gondolom true akar lenni :D

De télleg szép lett :D Gratz.:D



Üdv..dnS\'

Nem elérhető Csabesz

  • 7827
    • Profil megtekintése
[TuT] DM zóna létrehozása
« Válasz #2 Dátum: 2010. Március 06. - 19:21:21 »
0 Show voters
Kösz.
Tényleg botlás volt. ;D
Javítva.  ::)

Nem elérhető Depi

  • 2259
  • Még mindig TrYp. :)
    • Profil megtekintése
[TuT] DM zóna létrehozása
« Válasz #3 Dátum: 2010. Március 06. - 19:37:07 »
0 Show voters
Szép leírás kezdoknek nagyon hasznos  :) Grat :)

Nem elérhető Csabesz

  • 7827
    • Profil megtekintése
[TuT] DM zóna létrehozása
« Válasz #4 Dátum: 2010. Március 06. - 19:33:57 »
+1 Show voters
Köszönöm

[TuT] DM zóna létrehozása
« Válasz #5 Dátum: 2010. Március 08. - 19:03:35 »
0 Show voters
nagyon jó ez a leírás grat  :D ..jó hasznát veszem
« Utoljára szerkesztve: 2010. Március 13. - 17:23:02 írta DaNeEe9 »

[TuT] DM zóna létrehozása
« Válasz #6 Dátum: 2010. Március 13. - 10:41:34 »
0 Show voters
Hasznos kis tut grat  ;)

Nem elérhető Csabesz

  • 7827
    • Profil megtekintése
[TuT] DM zóna létrehozása
« Válasz #7 Dátum: 2010. Március 13. - 15:51:52 »
+1 Show voters
Köszönöm.

Nem elérhető kurta999

  • 2759
  • Éllő fédisznó
    • Profil megtekintése
[TuT] DM zóna létrehozása
« Válasz #8 Dátum: 2010. Március 13. - 22:24:11 »
+1 Show voters
Jó leírás, de ha az összes parancsot ki akarod kapcsolni DM be akkor ezt az OnPlayerCommandText tetejére:
[pawn]if(DM[playerid]>true&& strcmp(cmdtext, \"/kill\", true)&& strcmp(cmdtext, \"/weapons\", true)&& strcmp(cmdtext, \"/bomb\", true) && strcmp(cmdtext, \"/exitdm\", true) != 0)return SendClientMessage(playerid,COLOR_RED, \"[HIBA] DM zónába vagy, itt csak ezeket a parancskoat használhatod: /exitdm, /kill, /weapons /bomb\"); // ide meg írjuk azokat a parancsokat amiker használhat dm be
[/pawn]
« Utoljára szerkesztve: 2011. Július 26. - 01:39:05 írta kurta999 »

Nem elérhető Zsox

  • 140
    • Profil megtekintése
[TuT] DM zóna létrehozása
« Válasz #9 Dátum: 2011. Július 26. - 00:32:43 »
0 Show voters
Idézetet írta: Ronii date=1267897974\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"886\" data-ipsquote-contentclass=\"forums_Topic

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?  :@

Nem elérhető Csabesz

  • 7827
    • Profil megtekintése
[TuT] DM zóna létrehozása
« Válasz #10 Dátum: 2011. Július 26. - 09:45:46 »
0 Show voters
Fuu, ez a téma még létezik ?  ??? Az szép.  :D
Ez a leírást felejtsd el, van ennél jobb.
http://sampforum.hu/index.php?topic=3967.0

[TuT] DM zóna létrehozása
« Válasz #11 Dátum: 2012. Február 23. - 15:42:46 »
0 Show voters
Jó leírás,sokat segítettél.:D

Nem elérhető Honda

[TuT] DM zóna létrehozása
« Válasz #12 Dátum: 2012. Március 13. - 16:45:53 »
0 Show voters
Idézetet írta: Yѕtee date=1267897974\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"886\" data-ipsquote-contentclass=\"forums_Topic

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.

Nem elérhető Gabor..

  • 1883
  • Gabor..
    • Profil megtekintése
[TuT] DM zóna létrehozása
« Válasz #13 Dátum: 2012. Március 13. - 16:51:33 »
0 Show voters
PVar-al is meglehet csinálni :) Am jó lett! :)

Nem elérhető Csabesz

  • 7827
    • Profil megtekintése
[TuT] DM zóna létrehozása
« Válasz #14 Dátum: 2012. Március 13. - 17:23:24 »
0 Show voters
Idézetet írta: Gabor.. date=1331653893\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"886\" data-ipsquote-contentclass=\"forums_Topic
PVar-al is meglehet csinálni :) Am jó lett! :)
 
Mikor írtam, akkor még nem volt PVar  ;)

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal