Serial GUI Ban

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
  • 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.


  • 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(...).


    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 auch


    Du 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