Whitelist beschränkung

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
  • Hallo zusammen,
    ich habe mich eben mal an das Whitelist System mit hilfe von Ip Adressen gemacht , hänge aber momentan fest. (stehe so ziemlich auf dem Schlauch)
    Ich habe vor per Befehl jemanden auf die Whitelist zu adden (löschen und auslesen wer drauf ist kommt danach)
    Dazu muss ich ja zuerst überprüfen ob die Ip auf der Whitelist ist, anhand der IP auf der Whitelist kann wie aerokeks das macht eine Multiaccount registrierung möglich gemacht werden. Hier mal der bisherige Code


    ocmd:whitelistadd(playerid,params[])
    {
    if(sInfo[playerid][alevel]>=6)
    {
    if(sInfo[playerid][aduty] ==1)
    {
    new query[128],pID;
    if(sscanf(params,"i",pID))return SendClientMessage(playerid,CL_GRAU,"INFO: /whitelist [playerid]");

    format(query,sizeof(query),"SELECT IP FROM whitelist WHERE NAME='%s'",SpielerName(playerid));
    mysql_function_query(dbhandle,query,true,"addwhitelist","d",playerid);
    print(query);
    return 1;
    }
    SendClientMessage(playerid,CL_KNALLROT,"ERROR: Du bist nicht Admin-OnDuty!");
    return 1;
    }
    SendClientMessage(playerid,CL_HROT,"Du darfst diesen Befehl nicht nutzen.");
    return 1;
    }
    forward addwhitelist(playerid);
    public addwhitelist(playerid)
    {
    if(cache_get_row_count() < 1)
    {
    print("keine ip");
    return 1;
    }
    new ip[16];
    GetPlayerIp(playerid,ip,sizeof(ip));
    print("ip vorhanden");
    printf("%s",ip);
    return 1;
    }



    nun die frage ich muss zuerst auslesen ob die IP bereits existiert und anschliessend entsprechend handeln aber ganz zum umsetzen bin ich nicht gekommen...


    MFG Akzeptierer

  • ocmd:whitelistadd(playerid,params[])
    {
    if(sInfo[playerid][alevel]>=6)
    {
    if(sInfo[playerid][aduty] ==1)
    {
    new query[128],pID;
    if(sscanf(params,"i",pID))return SendClientMessage(playerid,CL_GRAU,"INFO: /whitelist [playerid]");
    new ip[16];
    GetPlayerIp(pID,ip,sizeof(ip));
    format(query,sizeof(query),"SELECT IP FROM whitelist WHERE IP='%s'",ip);
    mysql_function_query(dbhandle,query,true,"addwhitelist","d",pID);
    print(query);
    return 1;
    }
    SendClientMessage(playerid,CL_KNALLROT,"ERROR: Du bist nicht Admin-OnDuty!");
    return 1;
    }
    SendClientMessage(playerid,CL_HROT,"Du darfst diesen Befehl nicht nutzen.");
    return 1;
    }


    forward addwhitelist(playerid);
    public addwhitelist(playerid)
    {
    new ip[16];
    GetPlayerIp(playerid,ip,sizeof(ip));
    if(cache_get_row_count() < 1)
    {
    new query[128];
    format(query,sizeof(query),"INSERT INTO ... usw (hier deine Tabellendaten für das Insert...) ",ip);
    mysql_function_query(dbhandle,query,true,"","");
    print("keine ip-> IP wird eingefügt");
    return 1;
    }
    print("ip vorhanden");
    printf("%s",ip);
    return 1;
    }


    Nach diesem Prinzip.

  • hab das gleiche problem wie aerokeks ich hab auch nen linux server und da läuft das script nach der whitelist und dem ip system nicht mehr aber auf windows perfekt (ich nehme windows zum testen) nun auch die Plugins verglichen beides R34 aber bei dem einen kommen viele function not found errors wie mysql_connect da frage ich mich hääääää

  • einmal der log und R34 ist das aktuellste

    Spoiler anzeigen
    SA-MP Dedicated Server
    ----------------------
    v0.3z-R4, (C)2005-2014 SA-MP Team

    Spoiler anzeigen
    [22:19:39] filterscripts = "" (string)
    [22:19:39]
    [22:19:39] Server Plugins
    [22:19:39] --------------
    [22:19:39] Loading plugin: crashdetect.so
    [22:19:39] Loaded.
    [22:19:39] Loading plugin: nativechecker.so
    [22:19:39] Loaded.
    [22:19:39] Loading plugin: mysql.so
    [22:19:39] >> plugin.mysql: running on 6 threads.
    [22:19:39] >> plugin.mysql: R34 successfully loaded.
    [22:19:39] Loaded.
    [22:19:39] Loading plugin: sscanf.so
    [22:19:39]

    Spoiler anzeigen
    [22:19:39] ===============================

    Spoiler anzeigen
    [22:19:39] sscanf plugin loaded.

    Spoiler anzeigen
    [22:19:39] (c) 2009 Alex "Y_Less" Cole

    Spoiler anzeigen
    [22:19:39] ===============================

    Spoiler anzeigen
    [22:19:39] Loaded.
    [22:19:39] Loaded 4 plugins.

    Spoiler anzeigen
    [22:19:39]
    [22:19:39] Filterscripts
    [22:19:39] ---------------
    [22:19:39] Loaded 0 filterscripts.

    Spoiler anzeigen
    [22:19:39] [crashdetect]: Loaded symbols from gamemodes/GamemodeRL.amx
    [22:19:39] Error: Function not registered: 'mysql_connect'
    [22:19:39] Error: Function not registered: 'mysql_errno'
    [22:19:39] Error: Function not registered: 'mysql_close'
    [22:19:39] Error: Function not registered: 'mysql_tquery'
    [22:19:39] Error: Function not registered: 'cache_get_row_count'
    [22:19:39] Error: Function not registered: 'cache_get_data'
    [22:19:39] Error: Function not registered: 'mysql_escape_string'
    [22:19:39] Error: Function not registered: 'cache_get_field_content_int'
    [22:19:39] Error: Function not registered: 'cache_insert_id'
    [22:19:39] Error: Function not registered: 'cache_get_field_content'
    [22:19:39] Script[gamemodes/GamemodeRL.amx]: Run time error 19: "File or function is not found"

  • Nein, R39-2 ist das aktuellste.
    Der Fehler liegt aber wohl nicht daran, sondern an der Reihenfolge in der du deine Plugins lädst.


    Ändere in der server.cfg die Zeile "plugins" zu:

    Code
    plugins mysql.so sscanf.so crashdetect.so nativechecker.so
  • ich glaube nun da ich den error habe sagt dieser schon viel aber ich weiss nicht wie ich den behebe
    Loading plugin: mysql.so
    [22:25:10] Failed (plugins/mysql.so: symbol __cxa_pure_virtual, version libmysqlclient_16 not defined in file libmysqlclient_r.so.16 with link time reference)