Timeban System

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
  • Guten Morgen,


    ich habe ein Problem mit einem Time Ban System. Wenn beispielsweise eingebe, das die Person 2 Stunden gebannt werden soll, dann steht in der Tabelle irgendeine lange Zahl ( zbs: 1419774815 )
    Wenn ich dann noch auf den Server gehe, soll man eigentlich ein Dialog bekommen, dieser wird mir aber leider nicht angezeigt. Mir wird stattdessen der Dialog für das Einloggen angezeigt.

    Jeffry: Bitteschön ;D



    So sieht meine Tabelle aus ( alles richtig, bis auf die Ban Zeit :( http://i.epvpimg.com/HWQZg.png



    Und hier der komplette Code, welcher zum Ban System gehört.




    Erstellung der Tabelle:

    Spoiler anzeigen
    mysql_function_query(DBHandle,"CREATE TABLE IF NOT EXISTS `Banned` (`IP` varchar(16) NOT NULL, `Name` varchar(24) NOT NULL, `Grund` varchar(126) NOT NULL, `Admin` varchar(24) NOT NULL, `Zeit` int(25) NOT NULL, `Datum` date NOT NULL, `Uhrzeit` time NOT NULL, PRIMARY KEY (`IP`))",false,"","");


    Funktion um denn Spieler zu Bannen:

    Spoiler anzeigen
    [pwn]stock BannPlayer(playerid,admin[],reason[],zeit = -1)
    {
    new query[256];
    gettime(stunde,minute,sekunde);
    getdate(jahr,monat,tag);
    mysql_format(DBHandle, query, sizeof(query),"INSERT INTO `Banned` (`Name`,`Grund`,`Admin`,`IP`,`Zeit`,`Datum`,`Uhrzeit`) VALUES ('%s','%s','%s','%s','%d','d-d-d','d:d:d')",Spieler[playerid][pName],reason,Spielername(playerid),SpielerIP(playerid),zeit,jahr,monat,tag,stunde,minute,sekunde);
    mysql_function_query(DBHandle,query,false,"","");
    format(query,sizeof(query),"Admin: %s * Zielperson: %s * Grund: %s * Zeit: %i",admin,Spieler[playerid][pName],reason,zeit);
    Log("Bannedsqllog",query);
    SavePlayerData(playerid);
    TogglePlayerControllable(playerid,0);
    SetCameraBehindPlayer(playerid);
    KickUser(playerid,"System", "Spieler wurde Gebannt!");
    return 1;
    }[/pwn]



    Funktion um zu schauen ob der Spieler Gebannt ist:

    Spoiler anzeigen
    stock CheckPlayerBanned(playerid)
    {
    new query[256];
    format(query,sizeof(query),"SELECT * FROM `Banned` WHERE IP = '%s' OR Name= '%s'",SpielerIP(playerid),Spielername(playerid));
    mysql_function_query(DBHandle,query,true,"OnQueryFinish","siii",query,MySQL_Check_Ban,playerid,DBHandle);
    return 1;
    }


    TimeBan Befehl:

    Spoiler anzeigen
    ocmd:tban(playerid,params[])
    {
    new pID,reason[24],string[188],cmd[15],zeitdauer,zeit;
    if(!IsPlayerAnAdmin(playerid,0)) return SendClientMessage(playerid,0xFF3C3CFF,"AdmCmd: Sie besitzen nicht die n�tigen Rechte um diesen Befehl zu nutzen!");
    if(!IsPlayerConnected(pID))return SendClientMessage(playerid,0xEE8613FF,"Der angegebene Spieler ist nicht eingeloggt!");
    if(sscanf(params,"uds[15]s[24]",pID,zeit,cmd,reason)) return SendClientMessage(playerid,0x00D2D2FF,"Info: /tban [Spieler ID] [Zeit] [Minuten/Stunden/Tage] [Grund]");
    if(strlen(reason) > 24)return SendClientMessage(playerid,0x0D2D2FF,"Info: [Grund darf maximal 24 Zeichen beinhalten]");
    if(strcmp(cmd,"Wochen",true) == 0)
    {
    zeitdauer = gettime()+(60*60*24*7*zeit);//Wochen
    format(string,sizeof(string),"{FF1111}Ban Info: {E5E5E5}Der Admin %s (ID:%i) hat den Spieler %s (ID:%i) für %i Woche/n gebannt.- {FF7979}Grund: {E5E5E5}%s",Spieler[playerid][pName],playerid,Spieler[pID][pName],pID,zeit,reason);
    SendClientMessageToAll(0xE5E5E5FF,string);
    format(string,sizeof(string),"%s du wurdest vom Server gebannt.\nFalls du zu unrecht gebannt wurdest,\nmelde dich im Teamspeak³ oder schreibe uns im Forum.\n\nDauer: %i Woche/n\nGrund: %s\nAdmin: %s",Spieler[pID][pName],zeit,reason,Spieler[playerid][pName]);
    ShowPlayerDialog(pID,Dialog_Gebannt,DIALOG_STYLE_MSGBOX,""#SERVERFARBE""#SERVERNAME"{FFFFFF}: Bann",string,"Verlassen","");
    BannPlayer(pID,Spieler[playerid][pName],reason,zeitdauer);
    return 1;
    }
    if(strcmp(cmd,"Tage",true) == 0)
    {
    zeitdauer = gettime()+(60*60*24*zeit);//Tage
    format(string,sizeof(string),"{FF1111}Ban Info: {E5E5E5}Der Admin %s (ID:%i) hat den Spieler %s (ID:%i) für %i Tag/e gebannt.- {FF7979}Grund: {E5E5E5}%s",Spieler[playerid][pName],playerid,Spieler[pID][pName],pID,zeit,reason);
    SendClientMessageToAll(0xE5E5E5FF,string);
    format(string,sizeof(string),"%s du wurdest vom Server gebannt.\nFalls du zu unrecht gebannt wurdest,\nmelde dich im Teamspeak³ oder schreibe uns im Forum.\n\nDauer: %i Tag/e\nGrund: %s\nAdmin: %s\n\n",Spieler[pID][pName],zeit,reason,Spieler[playerid][pName]);
    ShowPlayerDialog(pID,Dialog_Gebannt,DIALOG_STYLE_MSGBOX,""#SERVERFARBE""#SERVERNAME"{FFFFFF}: Bann",string,"Verlassen","");
    BannPlayer(pID,Spieler[playerid][pName],reason,zeitdauer);
    return 1;
    }
    if(strcmp(cmd,"Stunden",true) == 0)
    {
    zeitdauer = gettime()+(60*60*zeit);//Stunden
    format(string,sizeof(string),"{FF1111}Ban Info: {E5E5E5}Der Admin %s (ID:%i) hat den Spieler %s (ID:%i) für %i Stunde/n gebannt.- {FF7979}Grund: {E5E5E5}%s",Spieler[playerid][pName],playerid,Spieler[pID][pName],pID,zeit,reason);
    SendClientMessageToAll(0xE5E5E5FF,string);
    format(string,sizeof(string),"%s du wurdest vom Server gebannt.\nFalls du zu unrecht gebannt wurdest,\nmelde dich im Teamspeak³ oder schreibe uns im Forum.\n\nDauer: %i Stunde/n\nGrund: %s\nAdmin: %s",Spieler[pID][pName],zeit,reason,Spieler[playerid][pName]);
    ShowPlayerDialog(pID,Dialog_Gebannt,DIALOG_STYLE_MSGBOX,""#SERVERFARBE""#SERVERNAME"{FFFFFF}: Bann",string,"Verlassen","");
    BannPlayer(pID,Spieler[playerid][pName],reason,zeitdauer);
    return 1;
    }
    if(strcmp(cmd,"Minuten",true) == 0)
    {
    zeitdauer = gettime()+(60*zeit);//Minuten
    format(string,sizeof(string),"{FF1111}Ban Info: {E5E5E5}Der Admin %s (ID:%i) hat den Spieler %s (ID:%i) für %i Minute/n gebannt.- {FF7979}Grund: {E5E5E5}%s",Spieler[playerid][pName],playerid,Spieler[pID][pName],pID,zeit,reason);
    SendClientMessageToAll(0xE5E5E5FF,string);
    format(string,sizeof(string),"%s du wurdest vom Server gebannt.\nFalls du zu unrecht gebannt wurdest,\nmelde dich im Teamspeak³ oder schreibe uns im Forum.\n\nDauer: %i Minute/n\nGrund: %s\nAdmin: %s",Spieler[pID][pName],zeit,reason,Spieler[playerid][pName]);
    ShowPlayerDialog(pID,Dialog_Gebannt,DIALOG_STYLE_MSGBOX,""#SERVERFARBE""#SERVERNAME"{FFFFFF}: Bann",string,"Verlassen","");
    BannPlayer(pID,Spieler[playerid][pName],reason,zeitdauer);
    return 1;
    }
    return SendClientMessage(playerid,0x00D2D2FF,"Info: /tban [playerid/Name][Zeit][Minuten/Stunden/Tage/Wochen][Grund]");
    }


    OnQueryFinish:

    Spoiler anzeigen
    public OnQueryFinish(index[],sqlresultid,extraid,SconnectionHandle)
    {
    new rows,fields;
    switch(sqlresultid)
    {
    case MySQL_Check_Ban:
    {
    new zeit,query[126],Admin[24],Grund[126],result[25];
    cache_get_data(rows,fields);
    if(rows)
    {
    cache_get_field_content(0,"Grund",Grund);
    cache_get_field_content(0,"Admin",Admin);
    cache_get_field_content(0,"Zeit",result);
    zeit = strval(result);
    if(zeit == -1)
    {
    format(query,sizeof(query),"%s, du wurdest vom Server Gesperrt.\nFalls du zu unrecht Gesperrt wurdest,\nmelde dich bei einem Teammitglied im Forum, oder schreibe uns im Teamspeak³ an!\n\nGrund:%s\nTeammitglied:%s",Spielername(extraid),Grund,Admin);
    ShowPlayerDialog(extraid,Dialog_Gebannt,DIALOG_STYLE_MSGBOX,"{FFFFFF}SmR: {308EAD}Gesperrt",query,"Verlassen","");
    TogglePlayerControllable(extraid,0);
    KickUser(extraid,"System", "Spieler wurde Gebannt!");
    return 1;
    }
    else
    {
    if(gettime() < zeit)
    {
    new timebanned = zeit-gettime();
    SendClientMessage(extraid,0xEE8613FF,"Verbindung unterbrochen...");
    if(floatround(timebanned/86400) > 0)//Tage
    {
    format(query,sizeof(query),"%s, du wurdest vom Server Gesperrt.\nFalls du zu unrecht Gesperrt wurdest,\nmelde dich bei einem Teammitglied im Forum, oder schreibe uns im Teamspeak³ an!\n\nDauer: %i\nGrund:%s\nTeammitglied:%s",Spielername(extraid),timebanned/86400,Grund,Admin);
    }
    else if(floatround(timebanned/3600) > 0)//Stunden
    {
    format(query,sizeof(query),"%s, du wurdest vom Server Gesperrt.\nFalls du zu unrecht Gesperrt wurdest,\nmelde dich bei einem Teammitglied im Forum, oder schreibe uns im Teamspeak³ an!\n\nDauer: %i\nGrund:%s\nTeammitglied:%s",Spielername(extraid),timebanned/3600,Grund,Admin);
    }
    else if(floatround(timebanned/60) > 0 || floatround(timebanned%60) > 0)//Minuten,Sekunden
    {
    format(query,sizeof(query),"%s, du wurdest vom Server Gesperrt.\nFalls du zu unrecht Gesperrt wurdest,\nmelde dich bei einem Teammitglied im Forum, oder schreibe uns im Teamspeak³ an!\n\nDauer: %i\nGrund:%s\nTeammitglied:%s",Spielername(extraid),timebanned/60,timebanned%60,Grund,Admin);
    }
    ShowPlayerDialog(extraid,Dialog_Gebannt,DIALOG_STYLE_MSGBOX,"{FFFFFF}SmR: {308EAD}Gesperrt",query,"Verlassen","");
    TogglePlayerControllable(extraid,0);
    KickUser(extraid,"System", "Spieler wurde Gebannt!");
    }
    else
    {
    format(query,sizeof(query),"DELETE FROM `Banned` WHERE IP ='%s' OR Name = '%s'",SpielerIP(extraid),Spielername(extraid));
    mysql_function_query(DBHandle,query,false,"","");
    }
    return 1;
    }
    }
    }
    }
    return 1;
    }

    Die Kritik an anderen hat noch keinem die eigene Leistung erspart.

    – Noël Coward

  • Das Anzeigen des Login Dialogs musst du in OnQueryFinish packen, da es ja nach der Prüfung auf einen Ban geschehen soll.
    Ich hab es dir hier markiert, wo es rein muss:

    Spoiler anzeigen
    public OnQueryFinish(index[],sqlresultid,extraid,SconnectionHandle)
    {
    new rows,fields;
    switch(sqlresultid)
    {
    case MySQL_Check_Ban:
    {
    new zeit,query[126],Admin[24],Grund[126],result[25];
    cache_get_data(rows,fields);
    if(rows)
    {
    cache_get_field_content(0,"Grund",Grund);
    cache_get_field_content(0,"Admin",Admin);
    cache_get_field_content(0,"Zeit",result);
    zeit = strval(result);
    if(zeit == -1)
    {
    format(query,sizeof(query),"%s, du wurdest vom Server Gesperrt.\nFalls du zu unrecht Gesperrt wurdest,\nmelde dich bei einem Teammitglied im Forum, oder schreibe uns im Teamspeak³ an!\n\nGrund:%s\nTeammitglied:%s",Spielername(extraid),Grund,Admin);
    ShowPlayerDialog(extraid,Dialog_Gebannt,DIALOG_STYLE_MSGBOX,"{FFFFFF}SmR: {308EAD}Gesperrt",query,"Verlassen","");
    TogglePlayerControllable(extraid,0);
    KickUser(extraid,"System", "Spieler wurde Gebannt!");
    return 1;
    }
    else
    {
    if(gettime() < zeit)
    {
    new timebanned = zeit-gettime();
    SendClientMessage(extraid,0xEE8613FF,"Verbindung unterbrochen...");
    if(floatround(timebanned/86400) > 0)//Tage
    {
    format(query,sizeof(query),"%s, du wurdest vom Server Gesperrt.\nFalls du zu unrecht Gesperrt wurdest,\nmelde dich bei einem Teammitglied im Forum, oder schreibe uns im Teamspeak³ an!\n\nDauer: %i\nGrund:%s\nTeammitglied:%s",Spielername(extraid),timebanned/86400,Grund,Admin);
    }
    else if(floatround(timebanned/3600) > 0)//Stunden
    {
    format(query,sizeof(query),"%s, du wurdest vom Server Gesperrt.\nFalls du zu unrecht Gesperrt wurdest,\nmelde dich bei einem Teammitglied im Forum, oder schreibe uns im Teamspeak³ an!\n\nDauer: %i\nGrund:%s\nTeammitglied:%s",Spielername(extraid),timebanned/3600,Grund,Admin);
    }
    else if(floatround(timebanned/60) > 0 || floatround(timebanned%60) > 0)//Minuten,Sekunden
    {
    format(query,sizeof(query),"%s, du wurdest vom Server Gesperrt.\nFalls du zu unrecht Gesperrt wurdest,\nmelde dich bei einem Teammitglied im Forum, oder schreibe uns im Teamspeak³ an!\n\nDauer: %i\nGrund:%s\nTeammitglied:%s",Spielername(extraid),timebanned/60,timebanned%60,Grund,Admin);
    }
    ShowPlayerDialog(extraid,Dialog_Gebannt,DIALOG_STYLE_MSGBOX,"{FFFFFF}SmR: {308EAD}Gesperrt",query,"Verlassen","");
    TogglePlayerControllable(extraid,0);
    KickUser(extraid,"System", "Spieler wurde Gebannt!");
    }
    else
    {
    format(query,sizeof(query),"DELETE FROM `Banned` WHERE IP ='%s' OR Name = '%s'",SpielerIP(extraid),Spielername(extraid));
    mysql_function_query(DBHandle,query,false,"","");
    }
    return 1;
    }
    }
    else
    {
    //Login Dialog anzeigen HIER
    }
    }
    }
    return 1;
    }


    Wenn es dann noch immer nicht klappt, poste mal den MySQL Log.

  • Jeffry:


    Ich glaube du hast das Falsch verstanden, mir wird ( Obwohl ich Time Banned bin ) der Login Dialog angezeigt. Eigentlich sollte dort der Dialog_Gebannt kommen, und ich soll vom Server gekickt werden.
    Ich werde zwar vom Server gekickt, aber kann mich immernoch einloggen. Die MySQL und Server Logs:



    mysql_log:

    Spoiler anzeigen
    [18:15:49] [DEBUG] CMySQLConnection::Connect - establishing connection to database...
    [18:15:49] [DEBUG] CMySQLConnection::Connect - establishing connection to database...
    [18:15:49] [DEBUG] CMySQLConnection::Connect - connection was successful
    [18:15:49] [DEBUG] CMySQLConnection::Connect - connection was successful
    [18:15:49] [DEBUG] CMySQLConnection::Connect - connection was successful
    [18:15:49] [DEBUG] CMySQLConnection::Connect - auto-reconnect has been enabled
    [18:15:49] [DEBUG] CMySQLConnection::Connect - auto-reconnect has been enabled
    [18:15:49] [DEBUG] CMySQLConnection::Connect - auto-reconnect has been enabled
    [18:15:49] [DEBUG] CMySQLQuery::Execute[] - query was successfully executed within 6.742 milliseconds
    [18:15:49] [DEBUG] CMySQLQuery::Execute[] - no callback specified, skipping result saving
    [18:15:49] [DEBUG] CMySQLQuery::Execute[] - starting query execution
    [18:15:49] [DEBUG] CMySQLQuery::Execute[] - query was successfully executed within 50.179 milliseconds
    [18:15:49] [DEBUG] CMySQLQuery::Execute[] - no callback specified, skipping result saving
    [18:16:23] [DEBUG] mysql_tquery - connection: 1, query: "SELECT * FROM `Banned` WHERE IP = '127.0.0.1' OR Name= 'Eddy_Min", callback: "OnQueryFinish", format: "siii"
    [18:16:23] [DEBUG] mysql_format - connection: 1, len: 184, format: "SELECT COUNT(*) AS `count` FROM `Accounts` WHERE `pName` = '%e'"
    [18:16:23] [DEBUG] CMySQLQuery::Execute[OnQueryFinish] - starting query execution
    [18:16:23] [DEBUG] CMySQLQuery::Execute[OnQueryFinish] - query was successfully executed within 1.687 milliseconds
    [18:16:23] [DEBUG] CMySQLResult::CMySQLResult() - constructor called
    [18:16:23] [DEBUG] mysql_tquery - connection: 1, query: "SELECT COUNT(*) AS `count` FROM `Accounts` WHERE `pName` = 'Eddy", callback: "LoadPlayerDataSequence", format: "dd"
    [18:16:23] [DEBUG] Calling callback "OnQueryFinish"..
    [18:16:23] [DEBUG] cache_get_data - connection: 1
    [18:16:23] [DEBUG] CMySQLResult::~CMySQLResult() - deconstructor called
    [18:16:23] [DEBUG] CMySQLQuery::Execute[LoadPlayerDataSequence] - starting query execution
    [18:16:23] [DEBUG] CMySQLQuery::Execute[LoadPlayerDataSequence] - query was successfully executed within 3.680 milliseconds
    [18:16:23] [DEBUG] CMySQLResult::CMySQLResult() - constructor called
    [18:16:23] [DEBUG] Calling callback "LoadPlayerDataSequence"..
    [18:16:23] [DEBUG] cache_get_field_content_int - row: 0, field_name: "count", connection: 1
    [18:16:23] [DEBUG] CMySQLResult::GetRowDataByName - row: '0', field: "count", data: "0"
    [18:16:23] [DEBUG] CMySQLResult::~CMySQLResult() - deconstructor called
    [18:16:33] [DEBUG] mysql_format - connection: 1, len: 974, format: "INSERT INTO `Accounts` (`pName`, `pPasswort`, `pAlter`, `pGeburtsdatum`, `pGeschlecht`, `pAdminlevel`, `pBanned`, `pBargeld`, `p..."
    [18:16:33] [DEBUG] mysql_tquery - connection: 1, query: "INSERT INTO `Accounts` (`pName`, `pPasswort`, `pAlter`, `pGeburt", callback: "(null)", format: "(null)"
    [18:16:33] [DEBUG] CMySQLQuery::Execute[] - starting query execution
    [18:16:33] [DEBUG] CMySQLQuery::Execute[] - query was successfully executed within 1.13 milliseconds
    [18:16:33] [DEBUG] CMySQLQuery::Execute[] - no callback specified, skipping result saving
    [18:16:37] [DEBUG] mysql_format - connection: 1, len: 974, format: "UPDATE `Accounts` SET `pAlter` = '%d', `pAdminlevel` = '%d', `pGeburtsdatum` ='%s',`pGeschlecht` ='%d', `pBanned` = '%d', `pBarg..."
    [18:16:37] [DEBUG] mysql_tquery - connection: 1, query: "UPDATE `Accounts` SET `pAlter` = '20', `pAdminlevel` = '0', `pGe", callback: "(null)", format: "(null)"
    [18:16:37] [DEBUG] CMySQLQuery::Execute[] - starting query execution
    [18:16:37] [DEBUG] CMySQLQuery::Execute[] - query was successfully executed within 1.978 milliseconds
    [18:16:37] [DEBUG] CMySQLQuery::Execute[] - no callback specified, skipping result saving
    [18:16:49] [DEBUG] mysql_format - connection: 1, len: 256, format: "INSERT INTO `Banned` (`Name`,`Grund`,`Admin`,`IP`,`Zeit`,`Datum`,`Uhrzeit`) VALUES ('%s','%s','%s','%s','%d','%04d-%02d-%02d','%..."
    [18:16:49] [DEBUG] mysql_tquery - connection: 1, query: "INSERT INTO `Banned` (`Name`,`Grund`,`Admin`,`IP`,`Zeit`,`Datum`", callback: "(null)", format: "(null)"
    [18:16:49] [DEBUG] CMySQLQuery::Execute[] - starting query execution
    [18:16:49] [DEBUG] CMySQLQuery::Execute[] - query was successfully executed within 16.602 milliseconds
    [18:16:49] [DEBUG] CMySQLQuery::Execute[] - no callback specified, skipping result saving
    [18:16:49] [DEBUG] mysql_format - connection: 1, len: 974, format: "UPDATE `Accounts` SET `pAlter` = '%d', `pAdminlevel` = '%d', `pGeburtsdatum` ='%s',`pGeschlecht` ='%d', `pBanned` = '%d', `pBarg..."
    [18:16:49] [DEBUG] mysql_tquery - connection: 1, query: "UPDATE `Accounts` SET `pAlter` = '20', `pAdminlevel` = '0', `pGe", callback: "(null)", format: "(null)"
    [18:16:49] [DEBUG] CMySQLQuery::Execute[] - starting query execution
    [18:16:49] [DEBUG] CMySQLQuery::Execute[] - query was successfully executed within 0.846 milliseconds
    [18:16:49] [DEBUG] CMySQLQuery::Execute[] - no callback specified, skipping result saving
    [18:17:15] [DEBUG] CMySQLConnection::Connect - establishing connection to database...
    [18:17:15] [DEBUG] CMySQLConnection::Connect - connection was successful
    [18:17:15] [DEBUG] CMySQLConnection::Connect - connection was successful
    [18:17:15] [DEBUG] CMySQLConnection::Connect - auto-reconnect has been enabled
    [18:17:15] [DEBUG] CMySQLConnection::Connect - auto-reconnect has been enabled
    [18:17:15] [DEBUG] CMySQLQuery::Execute[] - starting query execution
    [18:17:15] [DEBUG] CMySQLQuery::Execute[] - query was successfully executed within 0.232 milliseconds
    [18:17:15] [DEBUG] CMySQLQuery::Execute[] - no callback specified, skipping result saving
    [18:17:15] [DEBUG] CMySQLQuery::Execute[] - starting query execution
    [18:17:15] [DEBUG] CMySQLQuery::Execute[] - query was successfully executed within 0.189 milliseconds
    [18:17:15] [DEBUG] CMySQLQuery::Execute[] - no callback specified, skipping result saving
    [18:17:35] [DEBUG] mysql_tquery - connection: 1, query: "SELECT * FROM `Banned` WHERE IP = '127.0.0.1' OR Name= 'Eddy_Min", callback: "OnQueryFinish", format: "siii"
    [18:17:35] [DEBUG] mysql_format - connection: 1, len: 184, format: "SELECT COUNT(*) AS `count` FROM `Accounts` WHERE `pName` = '%e'"
    [18:17:35] [DEBUG] mysql_tquery - connection: 1, query: "SELECT COUNT(*) AS `count` FROM `Accounts` WHERE `pName` = 'Eddy", callback: "LoadPlayerDataSequence", format: "dd"
    [18:17:35] [DEBUG] CMySQLQuery::Execute[OnQueryFinish] - starting query execution
    [18:17:35] [DEBUG] CMySQLQuery::Execute[OnQueryFinish] - query was successfully executed within 0.986 milliseconds
    [18:17:35] [DEBUG] CMySQLResult::CMySQLResult() - constructor called
    [18:17:35] [DEBUG] CMySQLQuery::Execute[LoadPlayerDataSequence] - starting query execution
    [18:17:35] [DEBUG] CMySQLQuery::Execute[LoadPlayerDataSequence] - query was successfully executed within 0.698 milliseconds
    [18:17:35] [DEBUG] CMySQLResult::CMySQLResult() - constructor called
    [18:17:35] [DEBUG] Calling callback "OnQueryFinish"..
    [18:17:35] [DEBUG] cache_get_data - connection: 1
    [18:17:35] [DEBUG] cache_get_field_content - row: 0, field_name: "Grund", connection: 1, max_len: 126
    [18:17:35] [DEBUG] CMySQLResult::GetRowDataByName - row: '0', field: "Grund", data: "Test"
    [18:17:35] [DEBUG] cache_get_field_content - row: 0, field_name: "Admin", connection: 1, max_len: 24
    [18:17:35] [DEBUG] CMySQLResult::GetRowDataByName - row: '0', field: "Admin", data: "Eddy_Mind"
    [18:17:35] [DEBUG] cache_get_field_content - row: 0, field_name: "Zeit", connection: 1, max_len: 25
    [18:17:35] [DEBUG] CMySQLResult::GetRowDataByName - row: '0', field: "Zeit", data: "1419787189"
    [18:17:35] [DEBUG] CMySQLResult::~CMySQLResult() - deconstructor called
    [18:17:35] [DEBUG] Calling callback "LoadPlayerDataSequence"..
    [18:17:35] [DEBUG] cache_get_field_content_int - row: 0, field_name: "count", connection: 1
    [18:17:35] [DEBUG] CMySQLResult::GetRowDataByName - row: '0', field: "count", data: "1"
    [18:17:35] [DEBUG] CMySQLResult::~CMySQLResult() - deconstructor called


    server_log:

    Spoiler anzeigen

    ----------
    Loaded log file: "server_log.txt".
    ----------

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

    Spoiler anzeigen
    [18:15:49] filterscripts = "" (string)
    [18:15:49]
    [18:15:49] Server Plugins
    [18:15:49] --------------
    [18:15:49] Loading plugin: mysql
    [18:15:49] >> plugin.mysql: R39-2 successfully loaded.
    [18:15:49] Loaded.
    [18:15:49] Loading plugin: sscanf
    [18:15:49]

    Spoiler anzeigen
    [18:15:49] ===============================

    Spoiler anzeigen
    [18:15:49] sscanf plugin loaded.

    Spoiler anzeigen
    [18:15:49] Version: 2.8.1

    Spoiler anzeigen
    [18:15:49] (c) 2012 Alex "Y_Less" Cole

    Spoiler anzeigen
    [18:15:49] ===============================

    Spoiler anzeigen
    [18:15:49] Loaded.
    [18:15:49] Loaded 2 plugins.

    Spoiler anzeigen
    [18:15:49]
    [18:15:49] Filterscripts
    [18:15:49] ---------------
    [18:15:49] Loaded 0 filterscripts.

    Spoiler anzeigen
    [18:15:49] San Miami Roleplay It's Possible. German Roleplay

    Spoiler anzeigen
    [18:15:49] --------------------------------
    [18:15:49] Dieses Script [Version: It's Possible. German Roleplay] steht unter Datenschutz und darf
    [18:15:49] nur von dem jenigen Besitzer benutzt/verwendet werden.
    [18:15:49] Falls diese Richtlinien nicht eingehalten werden,werden
    [18:15:49] Rechtlicheschritte gegen sie eingeleitet. Script von Eddy.
    [18:15:49] Copyright by sMR
    [18:15:49] --------------------------------
    [18:15:49] San Miami Roleplay It's Possible. German Roleplay

    Spoiler anzeigen
    [18:15:49] Number of vehicle models: 0
    [18:16:22] Incoming connection: 127.0.0.1:60958
    [18:16:23] [join] Eddy_Mind has joined the server (0:127.0.0.1)
    [18:16:50] [part] Eddy_Mind has left the server (0:2)

    Spoiler anzeigen
    ----------
    Loaded log file: "server_log.txt".
    ----------

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

    Spoiler anzeigen
    [18:17:15] filterscripts = "" (string)
    [18:17:15]
    [18:17:15] Server Plugins
    [18:17:15] --------------
    [18:17:15] Loading plugin: mysql
    [18:17:15] >> plugin.mysql: R39-2 successfully loaded.
    [18:17:15] Loaded.
    [18:17:15] Loading plugin: sscanf
    [18:17:15]

    Spoiler anzeigen
    [18:17:15] ===============================

    Spoiler anzeigen
    [18:17:15] sscanf plugin loaded.

    Spoiler anzeigen
    [18:17:15] Version: 2.8.1

    Spoiler anzeigen
    [18:17:15] (c) 2012 Alex "Y_Less" Cole

    Spoiler anzeigen
    [18:17:15] ===============================

    Spoiler anzeigen
    [18:17:15] Loaded.
    [18:17:15] Loaded 2 plugins.

    Spoiler anzeigen
    [18:17:15]
    [18:17:15] Filterscripts
    [18:17:15] ---------------
    [18:17:15] Loaded 0 filterscripts.

    Spoiler anzeigen
    [18:17:15] San Miami Roleplay It's Possible. German Roleplay

    Spoiler anzeigen
    [18:17:15] --------------------------------
    [18:17:15] Dieses Script [Version: It's Possible. German Roleplay] steht unter Datenschutz und darf
    [18:17:15] nur von dem jenigen Besitzer benutzt/verwendet werden.
    [18:17:15] Falls diese Richtlinien nicht eingehalten werden,werden
    [18:17:15] Rechtlicheschritte gegen sie eingeleitet. Script von Eddy.
    [18:17:15] Copyright by sMR
    [18:17:15] --------------------------------
    [18:17:15] San Miami Roleplay It's Possible. German Roleplay

    Spoiler anzeigen
    [18:17:15] Number of vehicle models: 0
    [18:17:34] Incoming connection: 127.0.0.1:60959
    [18:17:35] [join] Eddy_Mind has joined the server (0:127.0.0.1)
    [18:17:35] [part] Eddy_Mind has left the server (0:2)

    Die Kritik an anderen hat noch keinem die eigene Leistung erspart.

    – Noël Coward

  • Ok, das ist doch gut, dann funktioniert der Code doch, es stimmt nur die Reihenfolge nicht, das bezieht sich aber genau auf den Teil den ich schon angesprochen habe.
    Der Login Dialog muss im else-Teil von "if(rows)" angezeigt werden (siehe meinen Code).


    Probiere das mal. Nimm den Login Dialog aus OnPlayerConnect raus und setze es an die von mir markierte Stelle.

  • Bringt nichts, immernoch das selbe Problem :S bin zwar laut Datenbank gebannt ( Wo auch die Zeit nicht stimmt 1. Post )


    Werde gekickt, aber kann mich immernoch Einloggen, dort sollte eigentlich dieser Dialog kommen


    Spoiler anzeigen
    format(query,sizeof(query),"%s, du wurdest vom Server Gesperrt.\nFalls du zu unrecht Gesperrt wurdest,\nmelde dich bei einem Teammitglied im Forum, oder schreibe uns im Teamspeak³ an!\n\nGrund:%s\nTeammitglied:%s",Spielername(extraid),Grund,Admin);
    ShowPlayerDialog(extraid,Dialog_Gebannt,DIALOG_STYLE_MSGBOX,"{FFFFFF}SmR: {308EAD}Gesperrt",query,"Verlassen","");
    TogglePlayerControllable(extraid,0);
    KickUser(extraid,"System", "Spieler wurde Gebannt!");
    return 1;


    Die Kritik an anderen hat noch keinem die eigene Leistung erspart.

    – Noël Coward

  • Die Zeit in der Datenbank sieht doch richtig aus, oder was ist daran falsch? Es ist der Unix Timestamp, plus die gebannte Zeit.


    Ne leider nicht, wenn ich mich für 2 Minuten Banne, dann steht dort 1419774815.



    Ich hatte das so, aber es hat nix gebracht.


    Spoiler anzeigen
    public OnPlayerConnect(playerid)
    {
    CheckPlayerBanned(playerid);
    new query[256];
    GetPlayerName(playerid,Spieler[extraid][pName],MAX_PLAYER_NAME);
    mysql_format(DBHandle, query, sizeof(query),"SELECT COUNT(*) AS `count` FROM `Accounts` WHERE `pName` = '%e'",Spieler[extraid][pName]);
    mysql_function_query(DBHandle, query, true, "LoadPlayerDataSequence","dd",extraid,1);
    return 1;
    }

    Spoiler anzeigen
    public OnQueryFinish(index[],sqlresultid,extraid,SconnectionHandle)
    {
    new rows,fields;
    switch(sqlresultid)
    {
    case MySQL_Check_Ban:
    {
    new zeit,query[126],Admin[24],Grund[126],result[25];
    cache_get_data(rows,fields);
    if(rows)
    {
    cache_get_field_content(0,"Grund",Grund);
    cache_get_field_content(0,"Admin",Admin);
    cache_get_field_content(0,"Zeit",result);
    zeit = strval(result);
    if(zeit == -1)
    {
    format(query,sizeof(query),"%s, du wurdest vom Server Gesperrt.\nFalls du zu unrecht Gesperrt wurdest,\nmelde dich bei einem Teammitglied im Forum, oder schreibe uns im Teamspeak³ an!\n\nGrund:%s\nTeammitglied:%s",Spielername(extraid),Grund,Admin);
    ShowPlayerDialog(extraid,Dialog_Gebannt,DIALOG_STYLE_MSGBOX,"{FFFFFF}SmR: {308EAD}Gesperrt",query,"Verlassen","");
    TogglePlayerControllable(extraid,0);
    KickUser(extraid,"System", "Spieler wurde Gebannt!");
    return 1;
    }
    else
    {
    if(gettime() < zeit)
    {
    new timebanned = zeit-gettime();
    SendClientMessage(extraid,0xEE8613FF,"Verbindung unterbrochen...");
    if(floatround(timebanned/86400) > 0)//Tage
    {
    format(query,sizeof(query),"%s, du wurdest vom Server Gesperrt.\nFalls du zu unrecht Gesperrt wurdest,\nmelde dich bei einem Teammitglied im Forum, oder schreibe uns im Teamspeak³ an!\n\nDauer: %i\nGrund:%s\nTeammitglied:%s",Spielername(extraid),timebanned/86400,Grund,Admin);
    }
    else if(floatround(timebanned/3600) > 0)//Stunden
    {
    format(query,sizeof(query),"%s, du wurdest vom Server Gesperrt.\nFalls du zu unrecht Gesperrt wurdest,\nmelde dich bei einem Teammitglied im Forum, oder schreibe uns im Teamspeak³ an!\n\nDauer: %i\nGrund:%s\nTeammitglied:%s",Spielername(extraid),timebanned/3600,Grund,Admin);
    }
    else if(floatround(timebanned/60) > 0 || floatround(timebanned%60) > 0)//Minuten,Sekunden
    {
    format(query,sizeof(query),"%s, du wurdest vom Server Gesperrt.\nFalls du zu unrecht Gesperrt wurdest,\nmelde dich bei einem Teammitglied im Forum, oder schreibe uns im Teamspeak³ an!\n\nDauer: %i\nGrund:%s\nTeammitglied:%s",Spielername(extraid),timebanned/60,timebanned%60,Grund,Admin);
    }
    ShowPlayerDialog(extraid,Dialog_Gebannt,DIALOG_STYLE_MSGBOX,"{FFFFFF}SmR: {308EAD}Gesperrt",query,"Verlassen","");
    TogglePlayerControllable(extraid,0);
    KickUser(extraid,"System", "Spieler wurde Gebannt!");
    }
    else
    {
    format(query,sizeof(query),"DELETE FROM `Banned` WHERE IP ='%s' OR Name = '%s'",SpielerIP(extraid),Spielername(extraid));
    mysql_function_query(DBHandle,query,false,"","");
    }
    return 1;
    }
    }
    else
    {
    new query[256];
    GetPlayerName(playerid,Spieler[extraid][pName],MAX_PLAYER_NAME);
    mysql_format(DBHandle, query, sizeof(query),"SELECT COUNT(*) AS `count` FROM `Accounts` WHERE `pName` = '%e'",Spieler[extraid][pName]);
    mysql_function_query(DBHandle, query, true, "LoadPlayerDataSequence","dd",extraid,1);
    return 1;
    }
    }
    }
    return 1;
    }


    Die Kritik an anderen hat noch keinem die eigene Leistung erspart.

    – Noël Coward

  • Aber dann kann ich mich nicht mehr Registrieren sowie Einloggen, weil er dann nix mehr Überprüft :D

    Die Kritik an anderen hat noch keinem die eigene Leistung erspart.

    – Noël Coward

  • Doch. Das steht ja jetzt hier, im else Teil von "if(rows)": OnQueryFinish
    Deshalb solltest du das doch dort einfügen.


    Es wird erst geprüft ob der Spieler gebannt ist (if rows). Wenn nein (else), dann darf er sich einloggen bzw. registrieren.

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen
  • Doch. Das steht ja jetzt hier, im else Teil von "if(rows)": OnQueryFinish
    Deshalb solltest du das doch dort einfügen.


    Es wird erst geprüft ob der Spieler gebannt ist (if rows). Wenn nein (else), dann darf er sich einloggen bzw. registrieren.


    Okay, hatte einen fehler drinne :D .... jetzt ist das Problem, dass wenn die Zeit abgelaufen ist, das ich 2 mal auf den Server Connecten muss, damit der Login Dialog kommt. Also ( Ich will mich Einloggen => Dialog_Banned kommt => Zeit ist abgelaufen ich möchte Connecten, ich sehe nur die Camera, wie sie sich bewegt kommt kein Dialog => Ich reconnecte, der Dialog Login erscheint.


    Und mein zweiter Fehler ist, das in meinem Dialog_Gebannt die Werte nicht eingetragen werden.

    Die Kritik an anderen hat noch keinem die eigene Leistung erspart.

    – Noël Coward

  • Wie sieht denn dein Code jetzt aus? Poste bitte den aktuellen Stand, damit wir nicht wieder den Fehler aus Versehen einbauen, oder eine Änderung überschreiben.


    Zwecks des Logins:
    Da musst du dort wo der DELETE Teil ist auch noch den Login Teil hinschreiben, damit der da auch aufgerufen wird.


    Zwecks des Dialogs:
    Was sagt der Log? Wird da richtig ausgelesen?

  • Das mit dem Login klappt nun Perfekt, Danke dafür.

    Zwecks des Dialogs:
    Was sagt der Log? Wird da richtig ausgelesen?

    Und die Log sagt folgendes ( Ist alles Richtig :( [18:03:19] [DEBUG] Calling callback "OnQueryFinish"..
    [18:03:19] [DEBUG] cache_get_data - connection: 1
    [18:03:19] [DEBUG] cache_get_field_content - row: 0, field_name: "Grund", connection: 1, max_len: 126
    [18:03:19] [DEBUG] CMySQLResult::GetRowDataByName - row: '0', field: "Grund", data: "test#"
    [18:03:19] [DEBUG] cache_get_field_content - row: 0, field_name: "Admin", connection: 1, max_len: 24
    [18:03:19] [DEBUG] CMySQLResult::GetRowDataByName - row: '0', field: "Admin", data: "Eddy_Mind"
    [18:03:19] [DEBUG] cache_get_field_content - row: 0, field_name: "Zeit", connection: 1, max_len: 25
    [18:03:19] [DEBUG] CMySQLResult::GetRowDataByName - row: '0', field: "Zeit", data: "1419872638"
    [18:03:19] [DEBUG] CMySQLResult::~CMySQLResult() - deconstructor called

    Die Kritik an anderen hat noch keinem die eigene Leistung erspart.

    – Noël Coward

    Einmal editiert, zuletzt von Eddy ()

  • Poste bitte nochmal deinen aktuellen Code, ich weiß ja nicht was du geändert hast.


    Es wurde nur hier alles geändert: OnQueryFinish ... und halt bei OnPlayerConnect entfernt.




    public OnQueryFinish(index[],sqlresultid,extraid,SconnectionHandle)
    {
    new rows,fields;
    switch(sqlresultid)
    {
    case MySQL_Check_Ban:
    {
    new zeit,query[256],Admin[24],Grund[126],result[25];
    cache_get_data(rows,fields);
    if(rows)
    {
    cache_get_field_content(0,"Grund",Grund);
    cache_get_field_content(0,"Admin",Admin);
    cache_get_field_content(0,"Zeit",result);
    zeit = strval(result);
    if(zeit == -1)
    {
    format(query,sizeof(query),"%s, du wurdest vom Server Gesperrt.\nFalls du zu unrecht Gesperrt wurdest,\nmelde dich bei einem Teammitglied im Forum, oder schreibe uns im Teamspeak³ an!\n\nGrund:%s\nTeammitglied:%s",Spielername(extraid),Grund,Admin);
    ShowPlayerDialog(extraid,Dialog_Gebannt,DIALOG_STYLE_MSGBOX,"{FFFFFF}SmR: {308EAD}Gesperrt",query,"Verlassen","");
    TogglePlayerControllable(extraid,0);
    KickUser(extraid,"System", "Spieler wurde Gebannt!");
    return 1;
    }
    else
    {
    if(gettime() < zeit)
    {
    new timebanned = zeit-gettime();
    SendClientMessage(extraid,0xEE8613FF,"Verbindung unterbrochen...");
    if(floatround(timebanned/86400) > 0)//Tage
    {
    format(query,sizeof(query),"%s, du wurdest vom Server Gesperrt.\nFalls du zu unrecht Gesperrt wurdest,\nmelde dich bei einem Teammitglied im Forum, oder schreibe uns im Teamspeak³ an!\n\nDauer: %i\nGrund:%s\nTeammitglied:%s",Spielername(extraid),timebanned/86400,Grund,Admin);
    }
    else if(floatround(timebanned/3600) > 0)//Stunden
    {
    format(query,sizeof(query),"%s, du wurdest vom Server Gesperrt.\nFalls du zu unrecht Gesperrt wurdest,\nmelde dich bei einem Teammitglied im Forum, oder schreibe uns im Teamspeak³ an!\n\nDauer: %i\nGrund:%s\nTeammitglied:%s",Spielername(extraid),timebanned/3600,Grund,Admin);
    }
    else if(floatround(timebanned/60) > 0 || floatround(timebanned%60) > 0)//Minuten,Sekunden
    {
    format(query,sizeof(query),"%s, du wurdest vom Server Gesperrt.\nFalls du zu unrecht Gesperrt wurdest,\nmelde dich bei einem Teammitglied im Forum, oder schreibe uns im Teamspeak³ an!\n\nDauer: %i\nGrund:%s\nTeammitglied:%s",Spielername(extraid),timebanned/60,timebanned%60,Grund,Admin);
    }
    ShowPlayerDialog(extraid,Dialog_Gebannt,DIALOG_STYLE_MSGBOX,"{FFFFFF}SmR: {308EAD}Gesperrt",query,"Verlassen","");
    TogglePlayerControllable(extraid,0);
    KickUser(extraid,"System", "Spieler wurde Gebannt!");
    }
    else
    {
    GetPlayerName(extraid,Spieler[extraid][pName],MAX_PLAYER_NAME);
    format(query,sizeof(query),"DELETE FROM `Banned` WHERE IP ='%s' OR Name = '%s'",SpielerIP(extraid),Spielername(extraid));
    mysql_function_query(DBHandle,query,false,"","");
    mysql_format(DBHandle, query, sizeof(query),"SELECT COUNT(*) AS `count` FROM `Accounts` WHERE `pName` = '%e'",Spieler[extraid][pName]);
    mysql_function_query(DBHandle, query, true, "LoadPlayerDataSequence","dd",extraid,1);
    ShowPlayerDialog(extraid,Dialog_Login,DIALOG_STYLE_INPUT,"{FFFFFF}SmR: {308EAD}Einloggen","{FFFFFF}Sie müssen von unserem System Identifiziert werden.\nGeben Sie dafür Ihr Passwort unten in das Feld ein.\n\nKlicken Sie anschließend auf Einloggen, damit Ihre Daten kontrolliert werden können.","Einloggen","Abbrechen");
    }
    return 1;
    }
    }
    else
    {
    GetPlayerName(extraid,Spieler[extraid][pName],MAX_PLAYER_NAME);
    mysql_format(DBHandle, query, sizeof(query),"SELECT COUNT(*) AS `count` FROM `Accounts` WHERE `pName` = '%e'",Spieler[extraid][pName]);
    mysql_function_query(DBHandle, query, true, "LoadPlayerDataSequence","dd",extraid,1);
    return 1;
    }
    }
    }
    return 1;
    }



    Die Kritik an anderen hat noch keinem die eigene Leistung erspart.

    – Noël Coward

  • Eddy:
    Schreibe den Teil mal so:
    cache_get_field_content(0,"Grund",Grund);
    cache_get_field_content(0,"Admin",Admin);
    cache_get_field_content(0,"Zeit",result);
    printf("Grund: %s", Grund);
    printf("Admin: %s", Admin);
    printf("Zeit: %s -> %d", result, strval(result));


    Was steht im Log, wenn der Dialog angezeigt wird?
    Was sagt der MySQL Log?

  • Jeffry: Folgendes kommt dort, und es scheint Richtig zu sein bis auf die Zeit, dort sollte wenn Möglich zbs. 1 Minute stehen etc. ... [21:05:38] Grund: test
    [21:05:38] Admin: Eddy_Mind
    [21:05:38] Zeit: 1419969976 -> 1419969976

    Die Kritik an anderen hat noch keinem die eigene Leistung erspart.

    – Noël Coward

  • Probiere es so:
    public OnQueryFinish(index[],sqlresultid,extraid,SconnectionHandle)
    {
    new rows,fields;
    switch(sqlresultid)
    {
    case MySQL_Check_Ban:
    {
    new zeit,query[256],Admin[24],Grund[126],result[25];
    cache_get_data(rows,fields);
    if(rows)
    {
    cache_get_field_content(0,"Grund",Grund);
    cache_get_field_content(0,"Admin",Admin);
    cache_get_field_content(0,"Zeit",result);
    printf("Grund: %s", Grund);
    printf("Admin: %s", Admin);
    zeit = strval(result);
    printf("Zeit: %s -> %d -> %d Minuten", result, strval(result), (zeit-gettime())/60);
    if(zeit == -1)
    {
    format(query,sizeof(query),"%s, du wurdest vom Server Gesperrt.\nFalls du zu unrecht Gesperrt wurdest,\nmelde dich bei einem Teammitglied im Forum, oder schreibe uns im Teamspeak³ an!\n\nGrund:%s\nTeammitglied:%s",Spielername(extraid),Grund,Admin);
    printf("1query: %s", query);
    ShowPlayerDialog(extraid,Dialog_Gebannt,DIALOG_STYLE_MSGBOX,"{FFFFFF}SmR: {308EAD}Gesperrt",query,"Verlassen","");
    TogglePlayerControllable(extraid,0);
    KickUser(extraid,"System", "Spieler wurde Gebannt!");
    return 1;
    }
    else
    {
    if(gettime() < zeit)
    {
    new timebanned = zeit-gettime();
    SendClientMessage(extraid,0xEE8613FF,"Verbindung unterbrochen...");
    if((timebanned/86400) > 0)//Tage
    {
    format(query,sizeof(query),"%s, du wurdest vom Server Gesperrt.\nFalls du zu unrecht Gesperrt wurdest,\nmelde dich bei einem Teammitglied im Forum, oder schreibe uns im Teamspeak³ an!\n\nDauer: %i Tage\nGrund:%s\nTeammitglied:%s",Spielername(extraid),timebanned/86400,Grund,Admin);
    printf("2query: %s", query);
    }
    else if((timebanned/3600) > 0)//Stunden
    {
    format(query,sizeof(query),"%s, du wurdest vom Server Gesperrt.\nFalls du zu unrecht Gesperrt wurdest,\nmelde dich bei einem Teammitglied im Forum, oder schreibe uns im Teamspeak³ an!\n\nDauer: %i Stunden\nGrund:%s\nTeammitglied:%s",Spielername(extraid),timebanned/3600,Grund,Admin);
    printf("3query: %s", query);
    }
    else if((timebanned/60) > 0 || (timebanned%60) > 0)//Minuten,Sekunden
    {
    format(query,sizeof(query),"%s, du wurdest vom Server Gesperrt.\nFalls du zu unrecht Gesperrt wurdest,\nmelde dich bei einem Teammitglied im Forum, oder schreibe uns im Teamspeak³ an!\n\nDauer: %i Minuten %i Sekunden\nGrund:%s\nTeammitglied:%s",Spielername(extraid),timebanned/60,timebanned%60,Grund,Admin);
    printf("4query: %s", query);
    }
    ShowPlayerDialog(extraid,Dialog_Gebannt,DIALOG_STYLE_MSGBOX,"{FFFFFF}SmR: {308EAD}Gesperrt",query,"Verlassen","");
    TogglePlayerControllable(extraid,0);
    KickUser(extraid,"System", "Spieler wurde Gebannt!");
    }
    else
    {
    GetPlayerName(extraid,Spieler[extraid][pName],MAX_PLAYER_NAME);
    format(query,sizeof(query),"DELETE FROM `Banned` WHERE IP ='%s' OR Name = '%s'",SpielerIP(extraid),Spielername(extraid));
    mysql_function_query(DBHandle,query,false,"","");
    mysql_format(DBHandle, query, sizeof(query),"SELECT COUNT(*) AS `count` FROM `Accounts` WHERE `pName` = '%e'",Spieler[extraid][pName]);
    mysql_function_query(DBHandle, query, true, "LoadPlayerDataSequence","dd",extraid,1);
    ShowPlayerDialog(extraid,Dialog_Login,DIALOG_STYLE_INPUT,"{FFFFFF}SmR: {308EAD}Einloggen","{FFFFFF}Sie müssen von unserem System Identifiziert werden.\nGeben Sie dafür Ihr Passwort unten in das Feld ein.\n\nKlicken Sie anschließend auf Einloggen, damit Ihre Daten kontrolliert werden können.","Einloggen","Abbrechen");
    }
    return 1;
    }
    }
    else
    {
    GetPlayerName(extraid,Spieler[extraid][pName],MAX_PLAYER_NAME);
    mysql_format(DBHandle, query, sizeof(query),"SELECT COUNT(*) AS `count` FROM `Accounts` WHERE `pName` = '%e'",Spieler[extraid][pName]);
    mysql_function_query(DBHandle, query, true, "LoadPlayerDataSequence","dd",extraid,1);
    return 1;
    }
    }
    }
    return 1;
    }


    Wenn es nicht klappt, poste was im Log steht.


  • new minuten,
    nochgebannt = zeit-gettime(),
    str[128];


    minuten = nochgebannt/60;
    if(minuten > 59) {
    new stunden;
    stunden = minuten/60;
    if(stunden > 23) {
    new tage = stunden/24;
    }
    }

    Hier hast du die Variablen :), kannst sie beliebig einfügen :D


    Grüße AyKut