Skocz do zawartości

Witamy w Nieoficjalnym polskim support'cie AMX Mod X

Witamy w Nieoficjalnym polskim support'cie AMX Mod X, jak w większości społeczności internetowych musisz się zarejestrować aby móc odpowiadać lub zakładać nowe tematy, ale nie bój się to jest prosty proces w którym wymagamy minimalnych informacji.
  • Rozpoczynaj nowe tematy i odpowiedaj na inne
  • Zapisz się do tematów i for, aby otrzymywać automatyczne uaktualnienia
  • Dodawaj wydarzenia do kalendarza społecznościowego
  • Stwórz swój własny profil i zdobywaj nowych znajomych
  • Zdobywaj nowe doświadczenia

Dołączona grafika Dołączona grafika

Guest Message by DevFuse
 

Zdjęcie

Konsola serwera nie moze dać bana


Najlepsza odpowiedź grankee , 14.11.2014 00:50

@radim 

if(!cmd_access(id,level,cid) && id!=0)
        return PLUGIN_HANDLED

Nieważne, że część warunku

id!=0 

zostanie spełniona, bo jeżeli admin będzie miał odpowiednią flagę to część warunku

!cmd_access(id,level,cid)

nie zostanie spełniona, a co zatym idzie nie dojdzie to przerwania działania funkcji, ponieważ 

&&

oznacza, że aby całość była spełniona muszą być spełnione jej obie części.

Admin z odpowiednią flagą zatem będzie mógł dać bana.

Przejdź do postu


  • Nie możesz napisać tematu
  • Zaloguj się, aby dodać odpowiedź
11 odpowiedzi w tym temacie

#1 Andrzejek

    Ucze się :]

  • Power User

Reputacja: 136
Zaawansowany

  • Postów:1 300
  • Imię:Andrzej
Offline

Napisano 10.11.2014 19:13

Witam, mam taki problem, ponieważ konsola serwera czyli dokładnie tak:

 

server_cmd("amx_ban 15 %s VoteBan", szNameOfiara)

 

szNameOfiara - zawiera nick ofiary do zbanowania

 

próbowałem tak nawet

 

server_cmd("amx_ban ^"15^" #%d ^"VoteBan^"", get_user_userid(id_ofiary))

 

server_cmd("amx_ban ^"15^" %s ^"VoteBan^"", szNameOfiara)

 

I serwer to wykonuje, to potem cisza, nie daje bana. Nie wiem w czym jest problem, sprawdzałem nawet z tego: http://amxx.pl/topic...ans-brak-spamu/ i tak samo cisza. Wie może dlaczego tak się dzieje ??


  • +
  • -
  • 0

Mam do sprzedania pluginy AMXX pod serwery typu, JB, ONLY DD2, ZOMBIE, COD MOD, DR i inne...

 

Jeżeli jesteś zainteresowany(a), napisz na PW lub GG 42384104


#2 GwynBleidD

    Godlike

  • Przyjaciel

Reputacja: 1 869
Godlike

  • Postów:3 066
  • Steam:steam
  • Lokalizacja:Przemyśl
Offline

Napisano 10.11.2014 20:56

Zerknij w plugin od banów jakiego typu jest komenda amx_ban i czy sprawdza uprawnienia również od serwera.

 

Jeśli jest register_clcmd, dodaj register_srvcmd na funkcję która pominie sprawdzanie uprawnień

 

Jeśli jest register_concmd lub register_clcmd i register_srvcmd kierujące na tą samą funkcję sprawdzającą uprawnienia bez względu na to, czy wykonuje ją gracz czy serwer, rozdziel to.


  • +
  • -
  • 0

NIE pomagam na PW. Nie trudź się, na zlecenia nie odpiszę... Od pomagania jest forum.
NIE zaglądam w tematy wysłane na PW. Jeśli są na forum to prędzej czy później je przeczytam. Jeśli mam co w nich odpisać, to odpiszę.
 
1988650.png?theme=dark


#3 Andrzejek

    Ucze się :]

  • Autor tematu
  • Power User

Reputacja: 136
Zaawansowany

  • Postów:1 300
  • Imię:Andrzej
Offline

Napisano 10.11.2014 20:59

register_concmd

Nie bardzo rozumiem o co chodzi :(


  • +
  • -
  • 0

Mam do sprzedania pluginy AMXX pod serwery typu, JB, ONLY DD2, ZOMBIE, COD MOD, DR i inne...

 

Jeżeli jesteś zainteresowany(a), napisz na PW lub GG 42384104


#4 sebul

    Godlike

  • Przyjaciel

Reputacja: 2 035
Godlike

  • Postów:5 411
  • Steam:steam
  • Imię:Sebastian
  • Lokalizacja:Ostrołęka
Offline

Napisano 11.11.2014 07:33

Jak jest tylko "register_concmd" to nie dziw się, że funkcja nie działa, jeśli serwer coś wysyła.
  • +
  • -
  • 0

Posiadam TBM (inaczej PTB), które działa dużo lepiej niż zwykłe PTB, nawet na modach z lvlami. Zainteresowany? Proszę bardzo


#5 GwynBleidD

    Godlike

  • Przyjaciel

Reputacja: 1 869
Godlike

  • Postów:3 066
  • Steam:steam
  • Lokalizacja:Przemyśl
Offline

Napisano 11.11.2014 11:11

register_concmd akurat rejestruje zarówno dla gracza jak i dla serwera :)

 

Są 2 rodzaje komend w AMXX, komenda klienta i komenda serwera. Komendę klienta tworzysz poprzez register_clcmd, a serwera poprzez register_srvcmd. Istnieje jeszcze register_concmd która po prostu rejestruje tą samą komendę zarówno dla klienta jak i dla serwera.

 

I teraz uprawnienia:

Jeśli w funkcji sprawdzasz uprawnienia, nie sprawdzając czy komenda została wywołana przez klienta czy przez serwer, to w 90% przypadków wywołania jej przez serwer komenda się nie powiedzie, bo serwer NIE POSIADA ŻADNYCH FLAG. No chyba, że mu je przydzielisz :) (to jest te 10% przypadków). Dlatego jeśli posiadasz komendę wymagającą sprawdzenia uprawnień, zarejestruj ją na 2 sposoby, z czego komendę serwera pozbawisz sprawdzania uprawnień.

 


sebul (11.11.2014 22:42):
Nie wiem czemu myślałem o "register_clcmd" a pisałem o "register_concmd". Pewnie przez godzinę...

  • +
  • -
  • 0

NIE pomagam na PW. Nie trudź się, na zlecenia nie odpiszę... Od pomagania jest forum.
NIE zaglądam w tematy wysłane na PW. Jeśli są na forum to prędzej czy później je przeczytam. Jeśli mam co w nich odpisać, to odpiszę.
 
1988650.png?theme=dark


#6 Rivit

    Godlike

  • Support Team

Reputacja: 1 319
Godlike

  • Postów:4 380
Offline

Napisano 11.11.2014 12:35

@Gwyn

Mam ten sam problem (ale z kickiem). Czyli jak dodam serwerowi wszystkie flagi (oprócz z) to będzie działać poprawnie?
  • +
  • -
  • 0

#7 GwynBleidD

    Godlike

  • Przyjaciel

Reputacja: 1 869
Godlike

  • Postów:3 066
  • Steam:steam
  • Lokalizacja:Przemyśl
Offline

Napisano 11.11.2014 15:39

napisałem wyżej co jest DOBRYM rozwiązaniem. Dawanie serwerowi flag NIE jest.


  • +
  • -
  • 0

NIE pomagam na PW. Nie trudź się, na zlecenia nie odpiszę... Od pomagania jest forum.
NIE zaglądam w tematy wysłane na PW. Jeśli są na forum to prędzej czy później je przeczytam. Jeśli mam co w nich odpisać, to odpiszę.
 
1988650.png?theme=dark


#8 Andrzejek

    Ucze się :]

  • Autor tematu
  • Power User

Reputacja: 136
Zaawansowany

  • Postów:1 300
  • Imię:Andrzej
Offline

Napisano 11.11.2014 16:58

register_concmd("amx_ban", "cmdBan", ADMIN_BAN, "<time in mins> <steamID or nickname or #authid or IP> <reason>")

Czyli działa dla osób, które mają falgę ban, to jak mam to teraz zrobić, mam zarejestrować register_srvcmdfavicons.png w pluginie w amxbans i wklepać komende do pluginu gdzie chce dać bana ??


  • +
  • -
  • 0

Mam do sprzedania pluginy AMXX pod serwery typu, JB, ONLY DD2, ZOMBIE, COD MOD, DR i inne...

 

Jeżeli jesteś zainteresowany(a), napisz na PW lub GG 42384104


#9 grankee

    Godlike

  • Support Team

Reputacja: 517
Wszechwiedzący

  • Postów:1 500
  • Lokalizacja:Radom
Offline

Napisano 13.11.2014 02:47

na początku funkcji przypisanej do tej komendy masz coś w stylu

public cmdBan(id,level,cid,3)
{
     if(!cmd_access(id,level,cid))
         return PLUGIN_HANDLED
......

wystarczy tutaj dodać warunek że jeśli jest serverem to też przejdzie np.

if(!cmd_access(id,level,cid) && id!=0)
        return PLUGIN_HANDLED

o ile kojarzę, ale mogę się mylić, to server ma id=0.

Więc ten warunek zatrzyma akcję jeśli wykonujący nie ma odpowiedniej flagi oraz nie jest serwerem.

Jeśli więc będzie serwerem to akcja się nie zatrzyma.


Użytkownik grankee edytował ten post 13.11.2014 02:50

  • +
  • -
  • 0

#10 radim

    Godlike

  • Moderator

Reputacja: 939
Master

  • Postów:2 725
  • Steam:steam
  • Imię:Arkadiusz
  • Lokalizacja:Janów Lub.
Offline

Napisano 13.11.2014 09:09

na początku funkcji przypisanej do tej komendy masz coś w stylu

public cmdBan(id,level,cid,3)
{
     if(!cmd_access(id,level,cid))
         return PLUGIN_HANDLED
......

wystarczy tutaj dodać warunek że jeśli jest serverem to też przejdzie np.

if(!cmd_access(id,level,cid) && id!=0)
        return PLUGIN_HANDLED

o ile kojarzę, ale mogę się mylić, to server ma id=0.

Więc ten warunek zatrzyma akcję jeśli wykonujący nie ma odpowiedniej flagi oraz nie jest serwerem.

Jeśli więc będzie serwerem to akcja się nie zatrzyma.

I wtedy admin (gracz z odpowiednią flagą przypisaną dla tej komendy) też nie będzie mogł dawać bana bo nie jest serwerem. Zamiat koniunkcji dałbym alternatywę


  • +
  • -
  • 0

Chcąc napisać do mnie prywatną wiadomość, wpierw zapoznaj się ze stroną "O mnie" w moim profilu użytkownika [ radim ] !


#11 Andrzejek

    Ucze się :]

  • Autor tematu
  • Power User

Reputacja: 136
Zaawansowany

  • Postów:1 300
  • Imię:Andrzej
Offline

Napisano 13.11.2014 12:09

Ale właśnie nie ma takiej funkcji w pluginie z amxbans tylko jest zrobione w include :)

 

@radim a dokładnie?? :0

Załączone pliki


  • +
  • -
  • 0

Mam do sprzedania pluginy AMXX pod serwery typu, JB, ONLY DD2, ZOMBIE, COD MOD, DR i inne...

 

Jeżeli jesteś zainteresowany(a), napisz na PW lub GG 42384104


#12 grankee

    Godlike

  • Support Team

Reputacja: 517
Wszechwiedzący

  • Postów:1 500
  • Lokalizacja:Radom
Offline

Napisano 14.11.2014 00:50   Najlepsza odpowiedź

@radim 

if(!cmd_access(id,level,cid) && id!=0)
        return PLUGIN_HANDLED

Nieważne, że część warunku

id!=0 

zostanie spełniona, bo jeżeli admin będzie miał odpowiednią flagę to część warunku

!cmd_access(id,level,cid)

nie zostanie spełniona, a co zatym idzie nie dojdzie to przerwania działania funkcji, ponieważ 

&&

oznacza, że aby całość była spełniona muszą być spełnione jej obie części.

Admin z odpowiednią flagą zatem będzie mógł dać bana.


  • +
  • -
  • 1




Użytkownicy przeglądający ten temat: 0

0 użytkowników, 0 gości, 0 anonimowych