Szerző Téma: /jail parancs kellene adminrendszerhez!  (Megtekintve 774 alkalommal)

/jail parancs kellene adminrendszerhez!
« Dátum: 2014. Szeptember 21. - 14:40:52 »
0 Show voters
Hali mindenkinek szeretném segítségeteket kérni bennetek /jail paranccsal kapcsolatosan...nekem nem megy próbálkoztam de semmi.. :wall: :wall:
így szeretnék kérni tõletek egy olyan /jail parancsot amiben van olyan is hogy aki börtönben van az nem használhat semmilyen parancsot.Ha lehet kérnék hozzá /unjail parancsot. GetPVar-ral és ZCMD-vel dolgozok.Próbáltam másik admin rendszerbõl kinézni de nem jutottam semmire se vele!
« Utoljára szerkesztve: 2014. Szeptember 21. - 14:43:20 írta bazsina »

/jail parancs kellene adminrendszerhez!
« Válasz #1 Dátum: 2014. Szeptember 21. - 20:59:28 »
0 Show voters
Kétféle képpen is meg lehet oldani.
Az alap helyzet az, hogy van egy bool változód, amibe eltárolsz minden játékost.
A parancs beírásánál ellenõrzöd, hogy az adott player börtönben van-e.
Az ellenõrzés ugye úgy zajlana le, hogy ahhoz a parancshoz amit nem szeretnéd hogy használhasson börtönben odaírod a feltételt, és ha börtönben van akkor nem enged semmit csinálni.
Nos, ez hosszadalmas, bonyodalmas mûvelet, ezért inkább azt kéne csinálni, hogy egyáltalán semmilyen parancsot ne engedjen használni.
Én ezt ZCMD-re írtam meg, mert sima feldolgozóra logikusabb.
Ehun vane.
Amit tesztelésnek raktam bele azt kiszedheted.
 

#include <a_samp>
#include <zcmd>
new bool:inJail[MAX_PLAYERS]; // ez fogja tárolni azt, hogy móricka börtönben van-e
public OnPlayerCommandReceived(playerid, cmdtext[]) // Ezt az eljárást a ZCMD plugin adja hozzá.
{
if(inJail[playerid] == true) { // Ha a játékos börtönben van, akkor küldünk neki tájékoztatóüzenetet, valamint visszatérünk nullával.
    SendClientMessage(playerid,-1,\"Mivel börtönben vagy, ezért nem használhatsz semmilyen parancsot!\");
    return 0;
}
SendClientMessage(playerid,-1,\"Nem vagy börtönben, ezért használhatod a parancsot!\"); // Ezt teszteléshez raktam be
return 1;
}
// Ezeket a sorokat csak teszteléshez raktam be:
public OnPlayerKeyStateChange(playerid,newkeys,oldkeys) {
if(newkeys == KEY_NO) {
inJail[playerid] = (inJail[playerid]) ? (true) : (false);
SendClientMessage(playerid,-1,(inJail[playerid]) ? (\"Börtönben vagy!\") : (\"Kikerültél a börtönbõl!\"));
printf(\"ID %d: %d\",playerid,(inJail[playerid]) ? (1) : (0));
}
return 1;
}

/jail parancs kellene adminrendszerhez!
« Válasz #2 Dátum: 2014. Szeptember 22. - 18:21:20 »
0 Show voters
köszi

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal