Първият конкурс за набиране на модератори вече е активен! Посетете раздела за повече информация - цък.

Заключване на плъгин с айпи адрес

Ако имате затруднения при изработката/преработката на даден плъгин - пишете тук, ще се опитаме да ви помогнем!
Отговори
Потребителски аватар

Автор на темата
SkandaU
Потребител
Потребител
Мнения: 127
Регистриран: 09 яну 2017, 12:37
Се отблагодари: 11 пъти
Получена благодарност: 4 пъти

Заключване на плъгин с айпи адрес

Мнение от SkandaU » 03 яну 2019, 00:40

Здравейте, какъв беше кодът заключване на плъгин с айпи адрес?

Потребителски аватар

OciXCrom TM
Администратор
Администратор
Мнения: 4779
Регистриран: 06 окт 2016, 19:20
Местоположение: /resetscore
Се отблагодари: 42 пъти
Получена благодарност: 416 пъти
Години: 21
Контакти:

Заключване на плъгин с айпи адрес

Мнение от OciXCrom TM » 03 яну 2019, 01:08

Код: Избери всички

#include <amxmodx>

public plugin_init()
{
	new szIP[16]
	get_user_ip(0, szIP, charsmax(szIP), 1)

	if(!equal(szIP, "12.34.56.78"))
		set_fail_state("Plugin is locked.")
}
Това обаче няма да помогне ако собственикът на сървъра си знае работата.

Потребителски аватар

X3.!
Foreigner
Foreigner
Мнения: 25
Регистриран: 30 ное 2018, 20:46
Се отблагодари: 1 път

Заключване на плъгин с айпи адрес

Мнение от X3.! » 03 яну 2019, 01:13

OciXCrom написа:
03 яну 2019, 01:08

Код: Избери всички

#include <amxmodx>

public plugin_init()
{
	new szIP[16]
	get_user_ip(0, szIP, charsmax(szIP), 1)

	if(!equal(szIP, "12.34.56.78"))
		set_fail_state("Plugin is locked.")
}
Това обаче няма да помогне ако собственикът на сървъра си знае работата.
It is.
Not only for owners he have, also for the host (you cannot trust them if you have private plugin)

Потребителски аватар

LayerFort DJBosma
Потребител
Потребител
Мнения: 38
Регистриран: 25 дек 2018, 04:14
Местоположение: Alkmaar
Се отблагодари: 2 пъти
Получена благодарност: 2 пъти
Години: 24
Контакти:

Заключване на плъгин с айпи адрес

Мнение от LayerFort DJBosma » 03 яну 2019, 01:48

First the code of the ip to check itself:

Код: Избери всички

#include <amxmodx>

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

 public plugin_init () {
	
	 register_plugin ("name", "1.0", "author");
	
	 new szIp [33];
	 get_user_ip (0, szIp, charsmax (szIp));
	
	 if (! equal (szIp, serverIP)) {
		 server_print ("IP not valid");
		 set_fail_state ("Plugin does not work on this server.");
	 }
	
	 server_print ("correct IP");
 }
Simple right? But there's more to it, we can complicate it a lot by getting_pcvar / set_pcvar and encoding strings.

Код: Избери всички

#include <amxmodx>

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

 public plugin_init () {
	
	 register_plugin ("name", "1.0", "author");
	
	 new szIp [33];
	 get_user_ip (0, szIp, charsmax (szIp));
	
	 if (! equal (szIp, serverIP)) {
		 server_print ("IP not valid");
		 set_fail_state ("Plugin does not work on this server.");
	 }
	
	 server_print ("correct IP");
 }
Moving a strings to variables:

Код: Избери всички

#include <amxmodx>

 public plugin_init () {
	
	 register_plugin ("name", "1.0", "author");
        
         new serverIP [] = "5.9.89.100:27176";	

	 new szIp [33];
	 get_user_ip (0, szIp, charsmax (szIp));
	
	 if (! equal (szIp, serverIP)) {
		 server_print ("IP not valid");
		 set_fail_state ("Plugin does not work on this server.");
	 }
	
	 server_print ("correct IP");
 }
Breaking them into letters:

Код: Избери всички

new serverIP [22];
 serverIP [1] = '1';
 serverIP [2] = '4';
 serverIP [3] = '4';
 serverIP [4] = '.';
 serverIP [5] = '7';
 serverIP [6] = '6';
 serverIP [7] = '.';
 serverIP [8] = '1';
 serverIP [9] = '1';
 serverIP [10] = '0';
 serverIP [11] = '.';
 serverIP [12] = '2';
 serverIP [13] = '3';
 serverIP [14] = '1';
 serverIP [15] = ':';
 serverIP [16] = '2';
 serverIP [17] = '7';
 serverIP [18] = '0';
 serverIP [19] = '1';
 serverIP [20] = '5';
 serverIP [21] = '^ 0';
Change to integer and add + 10

Код: Избери всички

new serverIP [22];
 serverIP [1] = 0x3B;
 serverIP [2] = 0x3E;
 serverIP [3] = 0x3E;
 serverIP [4] = 0x38;
 serverIP [5] = 0x41;
 serverIP [6] = 0x40;
 serverIP [7] = 0x38;
 serverIP [8] = 0x3B;
 serverIP [9] = 0x3B;
 serverIP [10] = 0x3A;
 serverIP [11] = 0x38;
 serverIP [12] = 0x3C;
 serverIP [13] = 0x3D;
 serverIP [14] = 0x3B;
 serverIP [15] = 0x44;
 serverIP [16] = 0x3C;
 serverIP [17] = 0x41;
 serverIP [18] = 0x3A;
 serverIP [19] = 0x3B;
 serverIP [20] = 0x3F;
 serverIP [21] = 0x0A;

Decoding on the fly:

Код: Избери всички

new serverIP [22];
 serverIP [1] = 0x3B;
 serverIP [2] = 0x3E;
 serverIP [3] = 0x3E;
 serverIP [4] = 0x38;
 serverIP [5] = 0x41;
 serverIP [6] = 0x40;
 serverIP [7] = 0x38;
 serverIP [8] = 0x3B;
 serverIP [9] = 0x3B;
 serverIP [10] = 0x3A;
 serverIP [11] = 0x38;
 serverIP [12] = 0x3C;
 serverIP [13] = 0x3D;
 serverIP [14] = 0x3B;
 serverIP [15] = 0x44;
 serverIP [16] = 0x3C;
 serverIP [17] = 0x41;
 serverIP [18] = 0x3A;
 serverIP [19] = 0x3B;
 serverIP [20] = 0x3F;
 serverIP [21] = 0x0A;

 for (new iPosition = 0; iPosition <sizeof (serverIP); iPosition ++) {
     serverIP [iPosition] - = 0x0A;
 }
Now lets make a whole.

Код: Избери всички

#include <amxmodx>

 public plugin_init () {
	
	 register_plugin ("name", "1.0", "author");
	
	 new szIp [33];
	 get_user_ip (0, szIp, charsmax (szIp));

	 new serverIP [22];
	 serverIP [1] = 0x3B;
	 serverIP [2] = 0x3E;
	 serverIP [3] = 0x3E;
	 serverIP [4] = 0x38;
	 serverIP [5] = 0x41;
	 serverIP [6] = 0x40;
	 serverIP [7] = 0x38;
	 serverIP [8] = 0x3B;
	 serverIP [9] = 0x3B;
	 serverIP [10] = 0x3A;
	 serverIP [11] = 0x38;
	 serverIP [12] = 0x3C;
	 serverIP [13] = 0x3D;
	 serverIP [14] = 0x3B;
	 serverIP [15] = 0x44;
	 serverIP [16] = 0x3C;
	 serverIP [17] = 0x41;
	 serverIP [18] = 0x3A;
	 serverIP [19] = 0x3B;
	 serverIP [20] = 0x3F;
	 serverIP [21] = 0x0A;

	 for (new iPosition = 0; iPosition <sizeof (serverIP); iPosition ++) {
		 serverIP [iPosition] - = 0x0A;
	 }
	
	 if (! equal (szIp, serverIP)) {
		 server_print ("IP not valid");
		 set_fail_state ("Plugin does not work on this server.");
	 }
	
	 server_print ("correct IP");
 }
Пиша от избата, защото горе имаме течове..

Отговори

Върни се в “Помощ в скриптирането”

Кой е на линия

Потребители, разглеждащи този форум: Няма регистрирани потребители и 1 гост