Zaloguj się, aby obserwować  
GoldeneK

Bardzo prosty system licencji :)

Recommended Posts

Napisano (edytowany)

Cześć, pokaże wam najprostszy system licencji na plugin.

Plugin jeżeli wykryje błędnie IP(podane w pliku sp) to wyłącza plugin.

 

Spoiler

A i p.s: to gSystems i gjailbreak zostało z mojego kodu, śmiało można to usunąć i zmienić na coś innego :)

To tutaj kodzik:

Spoiler
char IP[24] = "137.74.1.222:27015"; // tutaj podajemy IP
char sciezka[PLATFORM_MAX_PATH];
public void OnPluginStart()
{
  WczytajLicencje(); // dodajemy tylko to do onpluginstart
}
public void OnMapStart()
{
  WczytajLicencje(); // sprawdzamy co mapę licencje :)
}
 void WczytajLicencje()
{
	BuildPath(Path_SM, sciezka, sizeof(sciezka), "configs/licencja.ini"); // WAŻNE trzeba stworzyć plik licencja.ini w folderze /sourcemod/configs p.s tutaj będą logi :)
	Handle h_file = OpenFile(sciezka, "a");
	char ip2[64];
	char data[64];
	char data2[64];
	GetServerIP(ip2, 64);
	if (StrEqual(IP, ip2))
	{
		FormatTime(data, sizeof(data), "%F");
		FormatTime(data2, sizeof(data2), "%T");
		WriteFileLine(h_file, "[ %s - %s ] [ gSystems ] Licencja pomyślnie wczytana.", data, data2);
		PrintToServer("===================================================");
		PrintToServer("================ gJailbreak Loader ================");
		PrintToServer("===================================================");
        PrintToServer("         Pomyślnie wczytano licencje!");
		PrintToServer("          1) IP Serwera: %s", ip2);
		PrintToServer("===================================================");
		PrintToServer("================ gJailbreak Loader ================");
		PrintToServer("===================================================");
		CloseHandle(h_file);
	}
	else
	{
		FormatTime(data, sizeof(data), "%F");
		FormatTime(data2, sizeof(data2), "%T");
		WriteFileLine(h_file, "[ %s - %s ] [ gSystems ] Licencja nie została wczytana! Powód: Wykryto złe IP.", data, data2);
		LogError("[ JB ] Plugin został wyłączony. Powód: Wykryto złe IP");
		SetFailState("[ JB ] Wykryto błędne IP. Plugin zostaje automatycznie wyłączony.");
		CloseHandle(h_file);
	}
}

stock void GetServerIP(char[] buffer, int len) // Pobieranie IP serwera
{
  int ips[4];
  int ip = GetConVarInt(FindConVar("hostip"));
  int port = GetConVarInt(FindConVar("hostport"));
  ips[0] = (ip >> 24) & 0x000000FF;
  ips[1] = (ip >> 16) & 0x000000FF;
  ips[2] = (ip >> 8) & 0x000000FF;
  ips[3] = ip & 0x000000FF;
  Format(buffer, len, "%d.%d.%d.%d:%d", ips[0], ips[1], ips[2], ips[3], port);
}

/*
 * Wygląda na to że wszystko gotowe :) *
 * License system by Robert 'GoldeneK' *
*/

 

 

Edytowano przez GoldeneK
  • Like 5

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Jak wszystko powiadasz ze smiga to nice :P

  • Like 1

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Dekompilacja + samemu przepisanie pluginy. Jak ktoś ma małe pojęcie, to będzie potrafił to zrobisz. Trochę to bezsens, ale jak się sprzedaje dla osób, które mają słabą znajomość SM to może być :v

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Dla tego używam osobnego pluginu z licencją i troszeczkę zamazany kod.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Utwórz konto lub zaloguj się, aby skomentować

Musisz być użytkownikiem, aby dodać komentarz

Utwórz konto

Zarejestruj nowe konto na forum. To jest łatwe!

Zarejestruj nowe konto

Zaloguj się

Masz już konto? Zaloguj się.

Zaloguj się

Zaloguj się, aby obserwować  

  • Kto przegląda   0 użytkowników

    Brak zalogowanych użytkowników przeglądających tę stronę.

  • Podobna zawartość

    • Przez Palacz837
      Cześć potrzebowałbym kod prostego pluginu który wrzuca na specta po 30 sekundach bycia afk a po 5 kolejnych rundach wywala z serwera 
    • Przez VestSmart
      Witam!
      Czy istnieje prosty plugin na statystki? (tzn. ala cs 1.6) Żeby tylko były: zabójstwa, zgony, asysty?
      Jeżeli nie ma to czy ktoś by podołał wykonaniu takowego pluginu? (nawet za opłatą)
      Pozdrawiam!
    • Przez cebula
      Cześć.
      Na zamiarze mam zakupić licencję IP:Board, 
      Ale w żaden sposób nie mam pojęcia jak się za to zabrać.
      Dlatego mam kilka pytań:
      1. Na jakim POLSKIM serwisie mogę zakupić legalnie licencję IP:Board 
      2. Jaki jest dokładny koszt licencji 
      3. Czy po zakupie owego skryptu będę musiał płacić jakiś abonament.
      4. W jaki czas od zakupu otrzyma licencję?
       
    • Przez Mesharsky
      Witam przedstawię wam mój prosty plugin który wyświetla rangi w tabeli wyników, mogą być to rangi klanowe jak i dla admina lub vipa
       
      Tutaj jest plik .SP w którym wszystko konfigurujemy
      #include <cstrike> #include <FFA_Manager> #include <sourcemod> #include <sdktools> public Plugin:myinfo = { name = "PGC24 -> VIP", description = "Autorski plugin PGC24.PL", author = "Mesharsky", version = "1.0", url = "http://www.PGC24.PL" }; // ================================= OnPluginStart (i End)================================== public OnPluginStart() { HookEvent("player_spawn", Event_TagTable); } // ================================= Eventy ================================== public Action:Event_TagTable(Handle:event, String:name[], bool:dontBroadcast) { new client = GetClientOfUserId(GetEventInt(event, "userid")); if(FFA_IsValidClient(client)) { CS_SetClientClanTag(client, "PGC24.PL"); } if (FFA_IsPlayerVIP(client)) { CS_SetClientClanTag(client, "[VIP]"); } if (GetAdminFlag(GetUserAdmin(client), Admin_Custom3)) { CS_SetClientClanTag(client, "[JuniorAdmin]"); } if (GetAdminFlag(GetUserAdmin(client), Admin_Custom4)) { CS_SetClientClanTag(client, "[Admin]"); } if (GetAdminFlag(GetUserAdmin(client), Admin_Custom5)) { CS_SetClientClanTag(client, "[Opiekun]"); } if (GetAdminFlag(GetUserAdmin(client), Admin_Root)) { CS_SetClientClanTag(client, "[[email protected]]"); } }  
      Wytłumaczę wam wszystko gdzie co pozmieniać.
       
          CS_SetClientClanTag(client, "PGC24.PL");   = Tutaj zamiast PGC24.PL wpisujemy domyślny tag dla gracza który się połączył z naszym serwerem.
       
       
      Tutaj ustawiamy jak chcemy i na jaką flagę
       
       
      if (FFA_IsPlayerVIP(client))
        {
          CS_SetClientClanTag(client, "[VIP]");
        }
        if (GetAdminFlag(GetUserAdmin(client), Admin_Custom3))
        {
          CS_SetClientClanTag(client, "[JuniorAdmin]");
        }
        if (GetAdminFlag(GetUserAdmin(client), Admin_Custom4))
        {
          CS_SetClientClanTag(client, "[Admin]");
        }
        if (GetAdminFlag(GetUserAdmin(client), Admin_Custom5))
        {
          CS_SetClientClanTag(client, "[Opiekun]");
        }
        if (GetAdminFlag(GetUserAdmin(client), Admin_Root))
        {
          CS_SetClientClanTag(client, "[[email protected]]");
       
       
      Plik .inc jest w załączniku oraz plugin core który trzeba skompilować
       
       
      Błędy proszę pisać w tym temacie.
      ADEPT_FFA_Manager.sp
      FFA_Manager.inc