Zaloguj się, aby obserwować  
Obserwujący 0
GoldeneK

Bardzo prosty system licencji :)

6 postów w tym temacie

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
4 osoby lubią to

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Jak wszystko powiadasz ze smiga to nice :P

1 osoba lubi to

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Bardzo przydatne, łap + :)

1 osoba lubi to

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Nice. :)

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ć  
Obserwujący 0

  • Kto przegląda   0 użytkowników

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

  • Podobna zawartość

    • 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, "[H@]"); } }  
      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, "[H@]");
       
       
      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
    • Przez Duane Ciampa
      Runescape in the task system is very interesting.The task of the game and other games are not the same.Less have a task for 20 minutes, and each task has a relatively independent of the plot.Some tasks RS Gold composition of the plot story line, the story line of this task is called a series of tasks, these tasks constitute the story line is called a series of tasks.Common tasks small number of players, there are many members of the task.All tasks are very interesting, there are some tasks you need to complete interesting puzzles, some tasks need to skillfully talk technology, and some tasks require a lot of legwork or kill a target.In short, an interesting task to attract the most players.
      After the task to complete the task can get points, increasing the number of points you can accomplish more tasks more difficult task.
       
    • Przez adamlam
      Cześć,
      Potrzebuję osoby która zrobiła by plugin który z miejsca A do miejsca B będzie dawał X punktów , a za X*coś punktów będzie przydzielało rangę. 
      Oczywiśćie nic za darmo. Jeżeli ktoś byłby w stanie zrobić takie coś to proszę o kontakt na steam. 
      KLIKNIJ ABY PRZEJŚĆ DO STEAM ---->>>
       
    • Przez liv
      Witam
      Prosiłbym o stworzenie vipa na serwer 1vs1:
      -120 hp
      -Spadochron
      -Immunited na votekick itd
      -Prefix przed nickiem
      -Kolorowy nick
      -Granat błyskowy na początku rundy.
      Z góry dziękuje