Szerző Téma: Parancsok DM-ben  (Megtekintve 1221 alkalommal)

Parancsok DM-ben
« Dátum: 2013. június 27. - 17:01:54 »
0 Show voters
sziasztok
valahogy sehogy sem találok megoldást..
egy kompakt megoldást keresek a dm-ben való parancsok használatának tiltására, de valahogy nem jön össze.
elég sok parancsom van, nem szeretném mindegyikhez hozzáírni utólag, hogy dmben nem lehet használni.
próbálkoztam az OnPlayerCommandPerformed(mert ugye zcmd-t használok) callbacknál ügyeskedni, de abból megint csak káosz lett.

Nem elérhető ZyZu.

  • Globális moderátor
  • 8939
  • my turbo diesel forum
  • Discord: ZyZu.
    • Profil megtekintése
Parancsok DM-ben
« Válasz #1 Dátum: 2013. június 27. - 18:16:51 »
0 Show voters
Ha mindent jól szeretnél akkor minden parancshoz beírod.. az a legjobb.

Nem elérhető jana4

  • 5929
  • Ex Staff
    • Profil megtekintése
Parancsok DM-ben
« Válasz #2 Dátum: 2013. június 27. - 18:58:56 »
+1 Show voters
Próbáld meg ezt:
 

public OnPlayerCommandReceived(playerid, cmdtext[])
{
if(GetPVarInt(playerid, \"DM\")) // nem tudom, hogy nálad miként zajlik a lekérdezés ha DM-ben a játékos, alább van egy példa
{
SendClientMessage(playerid, -1, \"DM-ben parancs nem használható!\");
return 0;
}
return 1;
}

 
És a példa:
 

CMD:dm(playerid)
{
           SendClientMessage(playerid, -1, \"Beléptél egy DM-be!\");
           SetPVarInt(playerid, \"DM\", 1); // 1 = igaz
           return 1;
}
CMD:dmkilepes(playerid)
{
           SendClientMessage(playerid, -1, \"Kiléptél a DM-bõl!\");
           SetPVarInt(playerid, \"DM\", 0); // 0 = hamis
           return 1;
}

 


Idézetet írta: ZyZu date=1372349811\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"38972\" data-ipsquote-contentclass=\"forums_Topic
Ha mindent jól szeretnél akkor minden parancshoz beírod.. az a legjobb.
Ez vicc?  :D

Nem elérhető ZyZu.

  • Globális moderátor
  • 8939
  • my turbo diesel forum
  • Discord: ZyZu.
    • Profil megtekintése
Parancsok DM-ben
« Válasz #3 Dátum: 2013. június 27. - 19:53:28 »
0 Show voters
probáltam már ezt a megoldást én is de akkor az lesz a probléma, hogy kiírja a hiba üzenetét és + elõhívódik a parancs..

Nem elérhető jana4

  • 5929
  • Ex Staff
    • Profil megtekintése
Parancsok DM-ben
« Válasz #4 Dátum: 2013. június 27. - 20:51:46 »
+1 Show voters
A játékmódba kell tenni, nem külön filterszkriptbe.

Amúgy szerintem a kóddal még kicsit bûvészkedni kell, mert nem lesz jó akkor sem teljesen ha a játékmódba tesszük.
« Utoljára szerkesztve: 2013. június 27. - 20:57:51 írta ScreaM »

Parancsok DM-ben
« Válasz #5 Dátum: 2013. június 27. - 21:20:04 »
0 Show voters
egy ilyen változót használok a dm lekérésére:
 
new bool:indm[MAX_PLAYERS]=false;

 
egyébként az történik, amit ZyZu említett, lefut a parancs és kiírja az üzenetet.

Nem elérhető jana4

  • 5929
  • Ex Staff
    • Profil megtekintése
Parancsok DM-ben
« Válasz #6 Dátum: 2013. június 27. - 21:51:44 »
+1 Show voters
Én most próbáltam ki, és jól ment úgy, hogy bent volt a játékmódban.

De mondom, még bûvészkedni kell.


Tehát akkor ez helyett:

 
if(GetPVarInt(playerid, \"DM\"))

 
...ezt kell alkalmazd:
 
if(indm[playerid] == true)

Parancsok DM-ben
« Válasz #7 Dátum: 2013. június 27. - 22:11:00 »
0 Show voters
na mostmár jól mûködik.
esetleg kivételeket tudok hozzáadni, vagy ilyesmi?

Parancsok DM-ben
« Válasz #8 Dátum: 2013. június 27. - 22:16:15 »
+1 Show voters
Tudsz kivételeket hozzá tenni, de akkor a fenti megoldás nem megfelelõ számodra, kivételekhez elengedhetetlen hogy ne írd be minden parancshoz amelyiket nem szeretnéd hogy használhatóak legyenek DM-ben.
Vagy egyszerûen megoldod OnPlayerCommandReceived alatt sima strcmp-s parancsokkal a dm-ben használatosakat a tiltás elõtt.

Parancsok DM-ben
« Válasz #9 Dátum: 2013. június 27. - 22:26:45 »
0 Show voters
na mindegy, azért köszönöm. zárok.

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal