Hallo wie kanb man ein serial ban rangeban System scripten?
Serial GUI Ban
- Kindischer Namesfaker
- Geschlossen
- Erledigt
Wichtiger Hinweis: Bitte ändert nicht manuell die Schriftfarbe auf schwarz sondern belasst es bei der Standardeinstellung. Somit tragt ihr dazu bei dass euer Text auch bei Verwendung unseren dunklen Forenstils noch lesbar ist!
Tipp: Ihr wollt längere Codeausschnitte oder Logfiles bereitstellen? Benutzt unseren eigenen PasteBin-Dienst Link
-
-
Ich glaub das war so nicht möglich, du könntest höchstens irgendwie beim bannen den serial speichern und dann abfragen.
-
-
Ja aber wie finde ich ihn raus?
-
mit gpci
Google danach mal
Außerdem solltest du das nicht machen, weil diese seriel einfach nur ein hash des Windows Benutzernamen ist
Grüße
-
Ja ich weiß dieser Serial ist der Aktivierungsschlüssel von deinem Win.
-
Hm ich wollt dir grad ein script geben, wo es drin verbaut ist, aber find es leider nicht.
-
Ja ich weiß dieser Serial ist der Aktivierungsschlüssel von deinem Win.
Nein. Das ist ein Hash von dem Installationspfad von GTA. Ich würde es nicht alleine zum Bannen nutzen, da du unschuldige Leute bannen könntest.
Zitat von Kalcor
Here is all anyone needs to know about gpci:
- It is a non-reversible (lossy) hash derived from information about your San Andreas installation path.
- It is not a unique ID.
- It was added to assist owners of large servers who deal with constant attacks from cheaters and botters.
- It has been in SA-MP for 2 years.You can use it in combination with an IP address range such as 111.111.*.* for banning. It just depends how concerned you are about accidently blocking innocent players. gpci isn't a unique ID.
-
Naja ich weiß Grad nicht wie ich das scripten soll? Hab ins enum pSerial ist ja ein String wie frag ich ab ob beim cdonnerten der serial der gleiche also ser gebannte ist?
-
Naja ich weiß Grad nicht wie ich das scripten soll? Hab ins enum pSerial ist ja ein String wie frag ich ab ob beim cdonnerten der serial der gleiche also ser gebannte ist?
Wie wäre es wenn du die Hashes in einem file doer datenbank speicherst, wenn du diesen bannst. Dann solltest du den Hash des Users , welcher auf den Server Connectet auslesen und danach mit den anderen
in dem File oder der Datenbank vergleichen. -
GPCI liest die Hardware ID(255 Zeichen) aus.
Es geht auch per dini, präziser mit dini_Isset(...). -
Und wie heißt diese Funktion genau, um sie auszulesen?
Ich glaub die frage hat er auch^^ -
GPCI liest die Hardware ID(255 Zeichen) aus.
Es geht auch per dini, präziser mit dini_Isset(...).Immer noch keine Hardware ID, sondern ein Hash aus dem Installationspfad von GTA.
Und wie heißt diese Funktion genau, um sie auszulesen?
Ich glaub die frage hat er auchDu musst in das Script folgendes einfügen:
native gpci (playerid, serial [], len);
Und dann einfach folgendes machen:
new gpcistr[129];
gpci(playerid, gpcistr, 128); -
Ich habe euch hier mal die Funktion gescriptet:
forward checkban(playerid);
public checkban(playerid)
{
new mip[255],mysqlquery[1024];
gpci(playerid, mip, 255);
format(mysqlquery,256,"SELECT * FROM bans WHERE hdwid = '%s'",mip);
mysql_query(mysqlquery);
mysql_store_result();
if(mysql_num_rows() > 0)
{
mysql_free_result();
Kick(playerid);
return 0;
}
mysql_free_result();
return 1;
}forward BannSpieler(playerid,const grund[]);
public BannSpieler(playerid,const grund[])
{
new mip[255],mysqlquery[1024];
gpci(playerid,mip,255);
format(mysqlquery,256,"INSERT INTO `bans` (`hdwid`,`reason`,`banned_player`) VALUES ('%s','%s','%s')",mip,grund,DERNAMEVOMSPIELER);
mysql_query(mysqlquery);
mysql_free_result();
return 1;
}Bei OnPlayerConnect, logischerweise: checkban(playerid);
Die Tabelle:CREATE TABLE IF NOT EXISTS `bans` (
`hdwid` varchar(128) NOT NULL,
`reason` varchar(128) NOT NULL,
`banned_player` varchar(24) NOT NULL,
PRIMARY KEY (`hdwid`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;LG Garry
-
breadfish.de
Hat das Thema geschlossen.