Skocz do zawartości

  • Zaloguj korzystając z Facebooka Zaloguj korzystając z Twittera Zaloguj przez Steam Zaloguj poprzez Google      Logowanie »   
  • Rejestracja

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

[ROZWIĄZANE] Blokada pluginu na dane IP


  • Zamknięty Temat jest zamknięty
15 odpowiedzi w tym temacie

#1 anachaj

    Zaawansowany

  • Użytkownik

Reputacja: 0
zer0.

  • Postów:84
  • Imię:Tomasz
  • Lokalizacja:Lublin
Offline

Napisano 08.12.2012 23:10

Witam,
czy istnieje metoda aby dany plugin działał tylko na jednym IP?
Jeżeli tak, poprosił bym o jakiś poradnik jak takie coś wykonać.
  • +
  • -
  • 0

#2 K!113r

    Czempion

  • Power User

Reputacja: 385
Wszechpomocny

  • Postów:865
  • GG:
  • Steam:steam
  • Imię:Mateusz
  • Lokalizacja:Piotrków Tryb.
Offline

Napisano 08.12.2012 23:44

W plugin_init() możesz sobie pobrać ip serwera (get_user_ip() z indeksem 0) i porównywać np. poprzez equal(), jeżeli się nie zgadzają to zatrzymać działanie pluginu.
  • +
  • -
  • 1

DarkGL to mój autorytet.

skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować


#3 anachaj

    Zaawansowany

  • Autor tematu
  • Użytkownik

Reputacja: 0
zer0.

  • Postów:84
  • Imię:Tomasz
  • Lokalizacja:Lublin
Offline

Napisano 09.12.2012 10:21

Nie radzę sobie z tym, wychodzą mi jakieś koślawe kody.
Połączyłem to z equal http://amxx.pl/topic...zic-ip-serwera/

Wyszło mi coś takiego i nie chce się kompilować :>

/* Plugin generated by AMXX-Studio */

#include <amxmodx>

new szIP[51]

public plugin_init() {
register_plugin("nazwa", "1.0", "Tamq");
get_user_ip(0, szIP, 50, 0)
}

new const test[] = "0.0.0.0:00000"
if (equal(test, "szIP")) //zwroci false
server_print("IP prawidlowe")
else
server_print("IP nieprawidlowe")


Użytkownik anachaj edytował ten post 09.12.2012 10:23

  • +
  • -
  • 0

#4 K!113r

    Czempion

  • Power User

Reputacja: 385
Wszechpomocny

  • Postów:865
  • GG:
  • Steam:steam
  • Imię:Mateusz
  • Lokalizacja:Piotrków Tryb.
Offline

Napisano 09.12.2012 10:42

Jakieś błędy z kompilacji?
Napisałem, że musisz zatrzymać działanie pluginu, a nie wypisywać informacje.
  • +
  • -
  • 0

DarkGL to mój autorytet.

skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować


#5 anachaj

    Zaawansowany

  • Autor tematu
  • Użytkownik

Reputacja: 0
zer0.

  • Postów:84
  • Imię:Tomasz
  • Lokalizacja:Lublin
Offline

Napisano 09.12.2012 10:44


Welcome to the AMX Mod X 1.8.1-300 Compiler.

Copyright (c) 1997-2006 ITB CompuPhase, AMX Mod X Team

Error: Invalid function or declaration on line 13

Error: Invalid function or declaration on line 15

Warning: Symbol is never used: "test" on line 17

2 Errors.

Could not locate output file XXXXX\zabezpieczenie.amx (compile failed).


Użytkownik anachaj edytował ten post 09.12.2012 10:45

  • +
  • -
  • 0

#6 Krytykiewicz

    Zaawansowany

  • Użytkownik

Reputacja: 18
Początkujący

  • Postów:114
  • Lokalizacja:Stąd
Offline

Napisano 09.12.2012 10:46

Można coś takiego:

/* Plugin generated by AMXX-Studio */

#include <amxmodx>

new szIP[51]

new wylaczyc_plugin;

public plugin_init() {

register_plugin("nazwa", "1.0", "Tamq");

is_on_plugin() ? plugin_init2() : pause("ad")

get_user_ip(0, szIP, 50, 0)

new const test[] = "0.0.0.0:00000"
if (equal(test, test))
server_print("IP prawidlowe")
else
{
server_print("IP nieprawidlowe")
wylaczyc_plugin = true;
}

}

public plugin_init2() {

// kod
}

stock is_on_plugin()
return wylaczyc_plugin ? true : false


Sprawdź, bo ja nie sprawdzałem ;)

Użytkownik Krytykiewicz edytował ten post 09.12.2012 10:56

  • +
  • -
  • 0

#7 speedkill

    Godlike

  • Przyjaciel

Reputacja: 1570
Godlike

  • Postów:2733
  • GG:
  • Steam:steam
  • Imię:Michał
  • Lokalizacja:Prudnik
Offline

Napisano 09.12.2012 10:48

/* Plugin generated by AMXX-Studio */



#include <amxmodx>



new const test[] = "0.0.0.0:00000";



public plugin_init() {

    register_plugin("nazwa", "1.0", "Tamq");



    new g_IP[33];

    get_user_ip(0, g_IP, charsmax(g_IP));



    if(equal(g_IP, test)){

        server_print("IP prawidlowe");

    }

    else{

        server_print("IP nieprawidlowe");

    }

}

speedkill (09.12.2012 10:53):
Możesz także zablokować plugin: http://amxx.pl/dokum.../set_fail_state ;)

  • +
  • -
  • 0

If you can dream it, you can do it.


#8 anachaj

    Zaawansowany

  • Autor tematu
  • Użytkownik

Reputacja: 0
zer0.

  • Postów:84
  • Imię:Tomasz
  • Lokalizacja:Lublin
Offline

Napisano 09.12.2012 10:51

I do wyłączania pluginu mogę się posłużyć?
Czy jest lepsze rozwiązanie (i szybsze) jeżeli mówimy np o wyłączaniu całego CODa (włącznie z klasami i innymi)
server_cmd("amx_pausecfg pause nazwa_pluginu.amxx");

Użytkownik anachaj edytował ten post 09.12.2012 10:51

  • +
  • -
  • 0

#9 speedkill

    Godlike

  • Przyjaciel

Reputacja: 1570
Godlike

  • Postów:2733
  • GG:
  • Steam:steam
  • Imię:Michał
  • Lokalizacja:Prudnik
Offline

Napisano 09.12.2012 11:03

Użyj wtedy: http://amxx.pl/dokum.../set_fail_state jeśli zablokujesz główny silnik coda, to klasy nie będą działać, itp.
  • +
  • -
  • 0

If you can dream it, you can do it.


#10 anachaj

    Zaawansowany

  • Autor tematu
  • Użytkownik

Reputacja: 0
zer0.

  • Postów:84
  • Imię:Tomasz
  • Lokalizacja:Lublin
Offline

Napisano 09.12.2012 11:08

Jak to zastosować?
  • +
  • -
  • 0

#11 speedkill

    Godlike

  • Przyjaciel

Reputacja: 1570
Godlike

  • Postów:2733
  • GG:
  • Steam:steam
  • Imię:Michał
  • Lokalizacja:Prudnik
Offline

Napisano 09.12.2012 11:12

Gdy IP jest nieprawidłowe dodaj:
set_fail_state("Plugin nie dziala na tym serwerze.");

  • +
  • -
  • 1

If you can dream it, you can do it.


#12 anachaj

    Zaawansowany

  • Autor tematu
  • Użytkownik

Reputacja: 0
zer0.

  • Postów:84
  • Imię:Tomasz
  • Lokalizacja:Lublin
Offline

Napisano 09.12.2012 11:14

/* Plugin generated by AMXX-Studio */

#include <amxmodx>

new const test[] = "5.9.89.100:27176";

public plugin_init() {
register_plugin("nazwa", "1.0", "Tamq");

new g_IP[33];
get_user_ip(0, g_IP, charsmax(g_IP));

if(equal(g_IP, test)){
server_print("IP prawidlowe");
}
else{
server_print("IP nieprawidlowe");
set_fail_state("Plugin nie dziala na tym serwerze.");
}
}
??
  • +
  • -
  • 0

#13 speedkill

    Godlike

  • Przyjaciel

Reputacja: 1570
Godlike

  • Postów:2733
  • GG:
  • Steam:steam
  • Imię:Michał
  • Lokalizacja:Prudnik
Offline

Napisano 09.12.2012 11:42

Tak ;)
  • +
  • -
  • 0

If you can dream it, you can do it.


#14 anachaj

    Zaawansowany

  • Autor tematu
  • Użytkownik

Reputacja: 0
zer0.

  • Postów:84
  • Imię:Tomasz
  • Lokalizacja:Lublin
Offline

Napisano 09.12.2012 11:53

Można close.
  • +
  • -
  • 0

#15 speedkill

    Godlike

  • Przyjaciel

Reputacja: 1570
Godlike

  • Postów:2733
  • GG:
  • Steam:steam
  • Imię:Michał
  • Lokalizacja:Prudnik
Offline

Napisano 09.12.2012 12:03

Wiadomość wygenerowana automatycznie


Ten temat został zamknięty przez moderatora.

Powód: Temat zamknięty na prośbę użytkownika.


Z pozdrowieniami,
Zespół AMXX.PL
  • +
  • -
  • 0

If you can dream it, you can do it.


#16 Gość_21977_*

  • Gość

Reputacja: 0

Offline

Napisano 11.12.2012 09:04

Użycie equali zamiast equal będzie w tym wypadku wydajniejsze, gdyż adres IP v4 nie zawiera liter.
Ponadto, tworzenie zmiennej test, przechowującej adres, poza możliwością łatwej zamiany
adresu na inny, jest bezcelowe, gdyż używamy adresu jedynie do porównania.




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

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