[ROZWIĄZANE] Jaki kod na komende którą mo...
aRrOw
17.07.2015
aRrOw
17.07.2015
Wielkie Jol
17.07.2015
Dodaj zmienną typu boolean 33elementową.
W funkcji, która się wywołuje po wpisaniu odpowiedniej komendy sprawdzasz, czy wartość zmiennej jest na false, jeżeli jest na false puszczasz plugin dalej i ustawiasz w tym miejscu wartość na true.
Jest pełno poradników/pluginów zawierających taką modyfikację, wystarczy poświęcić 5min.
aRrOw
17.07.2015
Szukałem ale niestety nie znalazłem a nawet jeśli bym znalazł to po przerobieniu by na pewno wywaliło jakieś błędy wiem z doświadczenia..
Mam już tyle:
public plugin_init() { register_plugin(PLUGIN, VERSION, AUTHOR) register_clcmd("say /losuj", "losujperk"); register_clcmd("say /losuj2", "losujperk2"); } public losujperk(id) { if(cod_get_user_perk(id)) client_print(id, 3, "Posiadasz juz perk, wyrzuc go aby wylosowac drugi") else cod_set_user_perk(id, -1, -1, 1); } public losujperk2(id) { if(cod_get_user_perk(id)) client_print(id, 3, "Posiadasz juz perk, wyrzuc go aby wylosowac drugi") else cod_set_user_perk(id, -1, -1, 1, 1); }
Jak do tego dodać żeby komenda /losuj2 była na flage H a /losuj na zwykłą USERA, i jak dodać właśnie te zabezpieczenie żeby można było te komendy użyć raz na mapę. Pomoże ktoś ?
Edited by aRrOw, 17.07.2015 14:59.
Linux'
17.07.2015
new bool:uzywal[33]; public plugin_init() { register_plugin(PLUGIN, VERSION, AUTHOR) register_clcmd("say /losuj", "losujperk"); register_clcmd("say /losuj2", "losujperk2"); } public client_authorized(id) { uzywal[id] = false; } public losujperk(id) { if(get_user_flags(id) & FLAGA) { if(!uzywal[id]) { if(cod_get_user_perk(id)) client_print(id, "Posiadasz juz perk, wyrzuc go aby wylosowac drugi"); else { cod_set_user_perk(id, -1, -1, 1); uzywal[id] = true; } } else client_print(id, "Uzywales juz tej komendy."); } else client_print(id, "Nie posiadasz dostepu do tej komendy."); } public losujperk2(id) { if(get_user_flags(id) & FLAGA) { if(!uzywal[id]) { if(cod_get_user_perk(id)) client_print(id, "Posiadasz juz perk, wyrzuc go aby wylosowac drugi"); else { cod_set_user_perk(id, -1, -1, 1, 1); uzywal[id] = true; } } else client_print(id, "Uzywales juz tej komendy."); } else client_print(id, "Nie posiadasz dostepu do tej komendy."); }
Nie ustawialem tylko flag, poniewaz od jakiegos czasu nie operuje w amxx i zapomnialem nazw .
Powiedz mi jeszcze, na co ta trojka w skladni?
client_print(id, 3, "Posiadasz juz perk, wyrzuc go aby wylosowac drugi")
Edit: Aaa no tak, juz przejrzalem dokumentacje i wiem o co chodzi hehe .
aRrOw
17.07.2015
client_print(id, 3, "xxxxxxxxxxxxxxxxxxx")
Przyznaję się - Ten kod skopiowałem z innego pluginu więc nwm
Czyli teraz jeśli ktoś wylosuje perk i wyjdzie z serwera a po chwili wejdzie to nie będzie mógł użyć komendy aż do zmiany mapy tak?
Edited by aRrOw, 17.07.2015 15:25.
Linux'
17.07.2015
client_print(id, 3, "xxxxxxxxxxxxxxxxxxx")Ten kod skopiowałem z innego pluginu więc nwm
Czyli teraz jeśli ktoś wylosuje perk i wyjdzie z serwera a po chwili wejdzie to nie będzie mógł użyć komendy aż do zmiany mapy tak?
Dobrze masz skladnie, zapomnialem za co to odpowiada . Nie nie to tak nie dziala, jak ktos to uzyje to az do zmiany mapy nie bedzie mogl tego ponownie uzyc lub przelogowania sie. Jak chcesz to zrobic tak jak mowisz to mozesz sprobowac usunac resetowanie zmiennej przy wchodzeniu na serwer (client_authorized(id)), powinna zmienna resetowac dopiero sie po zmianie mapy ale tez nie w kazdym przypadku. Trzeba by zrobic zapisywanie i resetowac co zmiane mapy.
MAGNET
21.07.2015
Ten temat został zamknięty przez moderatora.
Powód: Pomoc udzielona
Jeśli się z tym nie zgadzasz, raportuj ten post, a moderator lub administrator rozpatrzy go ponownie.
Z pozdrowieniami,
Zespół AMXX.PL