Plugin-uriLicentiere SQL (AMXX)

Moderatori: Moderators, Founder

Mesaj

Avatar utilizator
CEO
Posts
3802
Descriere: Cu ajutorul acestui plugin puteti licentia pluginurile folosindu-va de modulul SQLX. Pe scurt pluginul cauta intr-o baza de date ip-ul serverului. Daca acesta este gasit va rula, daca nu va inchide serverul.

Descarcare:
SQL_License.sma:

Cod: Selectaţi tot

#include <amxmodx>
#include <sqlx>

new Host[] = "localhost";
new User[] = "phpmyad_user";
new Pass[] = "phpmyad_pass";
new Db[] = "phpdb_db";

new Handle:g_Tuple;
new Address[512];

public plugin_init()
{
	register_plugin("Licentiere SQL", "1.0", "LondoN eXtream");

	g_Tuple = SQL_MakeDbTuple(Host, User, Pass, Db);

	if(g_Tuple == Empty_Handle)	return;

	set_task(1.0, "licentiere_plugin");
}

public plugin_end()
{
	if(g_Tuple != Empty_Handle)
		SQL_FreeHandle(g_Tuple);
}

public licentiere_plugin()
{
	new Query[512];
	get_user_ip(0, Address, charsmax(Address), 1);
	formatex(Query, charsmax(Query), "SELECT * FROM `csgo_servers_licensed` WHERE `address` = '%s';", Address);
	SQL_ThreadQuery(g_Tuple, "check_for_ip", Query);
}

public check_for_ip(FailState, Handle:Query, Error[], Errcode, Data[], DataSize)
{
	if(FailState == TQUERY_CONNECT_FAILED || FailState == TQUERY_QUERY_FAILED)
		log_amx("[MySQL] Error: #%d - %s", Errcode, Error);

	new GetAddress[32];
	formatex(GetAddress, charsmax(GetAddress), "%s", SQL_ReadResult(Query, 0));

	if(containi(GetAddress, Address) != -1)
	{
		server_print("[AMXX] Stare Licenta: Activa");
		server_print("[AMXX] Felicitari. Serverul a trecut testul SQL!");
	}
	else
	{
		server_print("[AMXX] Pluginul nu detine o licenta activa!");
		server_print("[AMXX] Contact: steamcommunity.com/id/london_extream");
		server_cmd("quit");
	}
}
Tabel.sql:

Cod: Selectaţi tot

CREATE TABLE IF NOT EXISTS `csgo_licensed_servers` (
	`address` varchar(32)
);
Nume: Licentiere SQL
Versiune: 1.0
\
Instalare:
1. Fisierul nume_plugin.sma il puneti in addons/amxmodx/scripting
2. Fisierul nume_plugin.amxx il puneti in addons/amxmodx/plugins
3. Intrati in fisierul addons/amxmodx/configs/plugins.ini si adaugati la urma:

Cod: Selectaţi tot

nume_plugin.amxx
4. Alti pasi necesari....

Module necesare (se sterge ; din fata modulului de mai jos; acestea le gasiti in fisierul amxmodx\configs\modules.ini):
SQLX


Cum folosim aceasta licentiere?
Ei bine dupa ce ati instalat pluginul pe server, ati introdus sql in phpmyadmin si ati facut legatura intre server si sql tot ce trebuie sa faceti este sa faceti o verificare de genul in pluginul care trebuie licentiat:

Cod: Selectaţi tot

public plugin_init()
{
	register_plugin("Licentiere Test", "1.0", "LondoN eXtream");

	set_task(1.0, "licentiere_plugin");
}
public licentiere_plugin()
{
	if(is_plugin_loaded("Licentiere SQL"))
		server_print("[CSGO] Se incepe detectarea licentei.");
	else
	{
		server_print("[CSGO] Pluginul de licentiere a fost dezactivat!");
		server_cmd("quit");
	}
}
========================
CONTACT : diliulro@yahoo.com
========================
Scrie răspuns