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

Ако имате затруднения при изработката/преработката на даден плъгин - пишете тук, ще се опитаме да ви помогнем!
Аватар
SkandaU
Извън линия
Потребител
Потребител
Мнения: 213
Регистриран на: 09 Яну 2017, 12:37
Се отблагодари: 45 пъти
Получена благодарност: 22 пъти

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

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

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

Аватар
OciXCrom
Извън линия
Администратор
Администратор
Мнения: 7206
Регистриран на: 06 Окт 2016, 19:20
Местоположение: /resetscore
Се отблагодари: 117 пъти
Получена благодарност: 1295 пъти
Обратна връзка:

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

Мнение от 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.")
}
Това обаче няма да помогне ако собственикът на сървъра си знае работата.

Аватар
X3.!
Извън линия
Foreigner
Foreigner
Мнения: 31
Регистриран на: 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)

Аватар
Dennis
Извън линия
AMXX Скриптър
AMXX Скриптър
Мнения: 177
Регистриран на: 25 Дек 2018, 04:14
Се отблагодари: 4 пъти
Получена благодарност: 10 пъти

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

Мнение от Dennis » 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");
 }

Публикувай отговор
  • Подобни теми
    Отговори
    Преглеждания
     Последно мнение

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

Кой е на линия

Потребители разглеждащи този форум: 0 регистрирани и 4 госта