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.
|
[ROZWIĄZANE] Plugin który dziala na danym serwerze?
#1
Napisano 16.06.2012 13:31
#2 Gość_21977_*
Napisano 16.06.2012 13:53
I porównaj (np. za pomocą funkcji equal, czy IP jest identyczne od tego, które jest przez Ciebie wymagane).
Możliwe, że get_user_ip(0) wyświetli Ci nazwę "localhost", wtedy możesz ew. ustawić to cvarami.
#3
Napisano 16.06.2012 14:08
new const IP[] = "jakieś tu ip serwera";
A gdzieś dalej była funkcja odpowiadająca za to, i jeśli ktoś np. ukradł plugin i dodał go na inny serwer to w say pokazuje się taki spam, plugin Został Skradziony
#4 Gość_21977_*
Napisano 16.06.2012 14:13
new ip[33]
get_user_ip(0,ip,32)
if(!equal(ip,IP)){
// spam
}
Pamiętaj, że get_user_ip(0) nie zawsze będzie działać (może wyświetlać "localhost"), a złodziej (o ile bardziej kumaty) to sobie usunie ten warunek logiczny (albo zmieni numer IP).
edit.
Proponowałbym Ci dodać CVAR z kodem zabezpieczającym i zamaskować kod, żeby złodziejowi odechciało się bawić w "Crack.Me"
Myślę, że jest to lepsze rozwiązanie, niż pobieranie adresu IP, ale decyzja pozostaje dla Ciebie.
#5
Napisano 16.06.2012 14:17
#6
Napisano 16.06.2012 14:33
Oczywiscie najlepiej w nazwie serwera mieć coś dziwnego ;D
Piszę pluginy pod: AMX MOD X oraz SOURCE MOD!
Na zlecenie i bez zlecenia zresztą też!
#7
Napisano 16.06.2012 16:35
new szIP[ 15 ];
get_cvar_string( "ip", szIP, 14 ); // Pobiera wartość parametru ip z linii komend ( np. +ip 123.456.7.890 )
if( !equali( szIP, "123.456.7.890" ) )
set_failstate( "Ten plugin nie jest przeznaczony dla tego serwera, zostanie więc wyłączony !" );
#8
Napisano 16.06.2012 17:18
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ę.
#9
Napisano 16.06.2012 17:41
To:
new szIP[ 15 ];
get_cvar_string( "ip", szIP, 14 ); // Pobiera wartość parametru ip z linii komend ( np. +ip 123.456.7.890 )
if( !equali( szIP, "123.456.7.890" ) )
set_failstate( "Ten plugin nie jest przeznaczony dla tego serwera, zostanie więc wyłączony !" );
lub propozycja benio101
Proponowałbym Ci dodać CVAR z kodem zabezpieczającym i zamaskować kod, żeby złodziejowi odechciało się bawić w "Crack.Me"
Myślę, że jest to lepsze rozwiązanie, niż pobieranie adresu IP, ale decyzja pozostaje dla Ciebie.
Ale tego up w ogóle nie rozumie
#10
Napisano 16.06.2012 17:54
brak większej róźnicyto który lepszy sposób?
#11
Napisano 16.06.2012 18:05
#12
Napisano 16.06.2012 18:19
static cell AMX_NATIVE_CALL get_user_ip(AMX *amx, cell *params) /* 3 param */ { int index = params[1]; char *ptr; char szIp[32]; strcpy(szIp, (index < 1 || index > gpGlobals->maxClients) ? CVAR_GET_STRING("net_address") : g_players[index].ip.c_str()); if (params[4] && (ptr = strstr(szIp, ":")) != 0) *ptr = '\0'; return set_amxstring(amx, params[2], szIp, params[3]); }nie odczujesz różnicy w działaniu obu sposobów a wydajność w tym przypadku nie ma aż takiego znaczenia
#13
Napisano 16.06.2012 18:37
/* Plugin generated by AMXX-Studio */ #include <amxmodx> #include <amxmisc> #define PLUGIN "New Plug-In" #define VERSION "1.0" #define AUTHOR "adam" new const g_sServerAdress[] = "twoje ip"; public plugin_init() { register_plugin(PLUGIN, VERSION, AUTHOR) new sServerAdress[24]; get_user_ip(0, sServerAdress, sizeof sServerAdress - 1); if(!equali(g_sServerAdress, sServerAdress)) set_fail_state("Nie kopiuj pluginu"); }
#14 Gość_21977_*
Napisano 16.06.2012 18:47
Podobnie sam warunek przydałoby się mocno skomplikować, bo wystarczy dodać || true i cały wysiłek na marne
#15
Napisano 16.06.2012 18:51
#16 Gość_21977_*
#17
Napisano 16.06.2012 19:28
Wystarczy w pluginie umiescic reklame www/ip czy cos w tym stylu i juz raczej tego nie wgra ktos na serwer inny niz bylo przypisane
#18 Gość_21977_*
Napisano 16.06.2012 19:34
/* Plugin generated by AMXX-Studio */Niniejszy kod kompilujemy, plik AMXX (nie SMA!) AMXX! poddajemy dekompilacjji i otrzymujemy taki oto widok:
#include <amxmodx>
#include <amxmisc>
#define PLUGIN "New Plug-In"
#define VERSION "1.0"
#define AUTHOR "adam"
new const g_sServerAdress[] = "1.2.3.4";
public plugin_init() {
register_plugin(PLUGIN, VERSION, AUTHOR)
new sServerAdress[24];
get_user_ip(0, sServerAdress, sizeof sServerAdress - 1);
if(!equali(g_sServerAdress, sServerAdress))
set_fail_state("Nie kopiuj pluginu");
}
Jak widzimy, nie ma żadnego problemu w uzyskaniu treści zmiennych.
Dekompilator AMXX można pobrać np. stąd: http://forums.allied...02&postcount=38
#19
Napisano 17.06.2012 15:18
#20
Napisano 18.06.2012 12:35
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
Użytkownicy przeglądający ten temat: 0
0 użytkowników, 0 gości, 0 anonimowych