Szerző Téma: Egyszerre csak egy.  (Megtekintve 743 alkalommal)

Nem elérhető quips

Egyszerre csak egy.
« Dátum: 2013. június 19. - 20:55:47 »
0 Show voters
Üdv mindenkinek!
 

Az lenne a kérdésem ,hogy hogyan tudnám megoldani azt ,hogy egy parancsot egyszerre csak egy játékos használhasson hogy pl beir egy parancsot és behoz neki egy dialógot és ami az a játékos nézegeti a dialógot addig egy másik játékos nem tudja azt a parancsot használni?
 
A választ elõre is köszönöm !

Nem elérhető ZyZu.

  • Globális moderátor
  • 8939
  • my turbo diesel forum
  • Discord: ZyZu.
    • Profil megtekintése
Egyszerre csak egy.
« Válasz #1 Dátum: 2013. június 19. - 21:11:32 »
+3 Show voters
new dialog;

 

CMD:dialog( playerid )
{
if( dialog == 1 ) return SendClientMessage( playerid, -1, \"Használatban van ez a parancs!\");
dialog = 1; //Ha a lekérdezés 0 akkor engedélyezzük az egész játékosnak.
return 1;
}

 
Amikor újra használatba szeretnéd tenni akkor dialog = 0;

Nem elérhető quips

Egyszerre csak egy.
« Válasz #2 Dátum: 2013. június 19. - 21:23:02 »
0 Show voters
Áhh köszönöm de ha kilép a játékos vagy kifagy akkor a parancs ugyan úgy megmarad nem? Azt hogy lehetne megcsinálni hogy ha kilép akkor az érték nullázódjon ?

Nem elérhető ZyZu.

  • Globális moderátor
  • 8939
  • my turbo diesel forum
  • Discord: ZyZu.
    • Profil megtekintése
Egyszerre csak egy.
« Válasz #3 Dátum: 2013. június 19. - 21:52:42 »
0 Show voters
OnPlayerDisconnect alá lenullázod..
dialog=0;

Nem elérhető Petrik

  • 318
    • Profil megtekintése
Egyszerre csak egy.
« Válasz #4 Dátum: 2013. június 19. - 22:21:28 »
+2 Show voters
Ez akkor is lenullázza, ha valaki más lépj ki, nem csak az adott játékos.
Lehet, bonyolultabb módszer, de annyi, létrehozol egy karakter számára létrehozott változót, és ha az lép ki, lenullázza a cuccot.
 
new dialog;
new dialogplayer[MAX_PLAYERS];
CMD:dialog( playerid )
{
if( dialog == 1 ) return SendClientMessage( playerid, -1, \"Használatban van ez a parancs!\");
dialog = 1; //Ha a lekérdezés 0 akkor engedélyezzük az egész játékosnak.
dialogplayer[playerid] = 1; //Megadjuk neki a dialogplayer értékét 1-re
return 1;
}

 
OnPlayerDisconnect alá pedig:
 
if(dialogplayer[playerid] == 1) //Ha az érték 1, akkor...
{
dialog = 0;//Akkor lenulláza az alap dialogot
}

Nem elérhető quips

Egyszerre csak egy.
« Válasz #5 Dátum: 2013. június 19. - 22:31:48 »
0 Show voters
Köszönöm a gyors választ. Zárom is.

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal