/ban funktioniert nicht

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
  • Dann scheint die Person "ServerTester" wohl nicht gebannt zu sein

    [21:18:48] INSERT INTO server_timeban(usr_id, usr_name, usr_ip, ban_time, ban_length, ban_typ, ban_reason, adm_name, adm_ip, status) VALUES(353955,'ServerTester', '******.206.80', UNIX_TIMESTAMP(), '30', 'i', 'Test', 'ServerTester', '********.206.80', '0')


    21:20:09] checkBan 1 | Name: ServerTester
    [21:20:09] checkBan 2 | Name: ServerTester
    [21:20:09] checkBan 1 | Name: ServerTester
    [21:20:09] checkBan 2 | Name: ServerTester
    [21:20:09] CheckBanExecute 1
    [21:20:09] CheckBanExecute 4
    [21:20:09] CheckBanExecute 1
    [21:20:09] CheckBanExecute 4


    //push
    //push

    2 Mal editiert, zuletzt von B!aze ()

  • Da hast du ja deinen Fehler, du hast irgendwie 3 Tabellen (view_bans , server_timeban, server_ban) aber irgendwie arbeitet keine mit der anderen zusammen und so kann es ja nicht funktionieren

    Also ich hatte Gestern mich selber Gebannt und habe mich in die view_bans eingefügt (Einfügen peer Datenabank)
    Und das ging dann jetzt ist das Problem wenn ich gebannt werde musst da mein Name stehen in view_bans
    Sonst muss ich immer Einfügen

    • Offizieller Beitrag

    Dann müsstest du uns mal sagen was da für Spalten sind.
    Wenn es gleich ist kannst du ja deine einfach kurz umschreiben also

    Code
    format(sql, sizeof(sql), "INSERT INTO `server_ban`(`typ`,`userID`,`user`,`userIP`,`reason`,`adminID`,`admin`,`adminIP`,`banTime`,`status`) VALUES('ban','%d','%s','%s','%s','%d','%s','%s',UNIX_TIMESTAMP(),'0');", PlayerInfo[player1][Spielerzid], PlayerName(player1), PlayerIP(player1), result, PlayerInfo[playerid][Spielerzid], PlayerName(playerid, 1), PlayerIP(playerid));
    mysql_query(sql);


    zu


    Code
    format(sql, sizeof(sql), "INSERT INTO `view_bans`(`typ`,`userID`,`user`,`userIP`,`reason`,`adminID`,`admin`,`adminIP`,`banTime`,`status`) VALUES('ban','%d','%s','%s','%s','%d','%s','%s',UNIX_TIMESTAMP(),'0');", PlayerInfo[player1][Spielerzid], PlayerName(player1), PlayerIP(player1), result, PlayerInfo[playerid][Spielerzid], PlayerName(playerid, 1), PlayerIP(playerid));
    mysql_query(sql);
  • Dann müsstest du uns mal sagen was da für Spalten sind.
    Wenn es gleich ist kannst du ja deine einfach kurz umschreiben also

    Code
    format(sql, sizeof(sql), "INSERT INTO `server_ban`(`typ`,`userID`,`user`,`userIP`,`reason`,`adminID`,`admin`,`adminIP`,`banTime`,`status`) VALUES('ban','%d','%s','%s','%s','%d','%s','%s',UNIX_TIMESTAMP(),'0');", PlayerInfo[player1][Spielerzid], PlayerName(player1), PlayerIP(player1), result, PlayerInfo[playerid][Spielerzid], PlayerName(playerid, 1), PlayerIP(playerid));
    mysql_query(sql);

    zu


    Code
    format(sql, sizeof(sql), "INSERT INTO `view_bans`(`typ`,`userID`,`user`,`userIP`,`reason`,`adminID`,`admin`,`adminIP`,`banTime`,`status`) VALUES('ban','%d','%s','%s','%s','%d','%s','%s',UNIX_TIMESTAMP(),'0');", PlayerInfo[player1][Spielerzid], PlayerName(player1), PlayerIP(player1), result, PlayerInfo[playerid][Spielerzid], PlayerName(playerid, 1), PlayerIP(playerid));
    mysql_query(sql);

    Error-ID: 1054 | Error: Unknown column 'typ' in 'field list' | Callback: | Query: INSERT INTO `view_bans`(`typ`,`userID`,`user`,`userIP`,`reason`,`adminID`,`admin`,`adminIP`,`banTime`,`status`) VALUES('ban','353955','ServerTester',******.206.80','Test Ban','353955','ServerTester','******.206.80',UNIX_TIMESTAMP(),'0');


  • Wie gesagt, das nur wenn die Tabellen gleich sind, so musst du die query neu schreiben, mit den richtigen spalten namen

    Wie soll ich das Schreiben kenne mich hier nicht aus,
    bei view_bans ist nur "user" vllt kannst dus ja für mich schreiben ^^

  • Hmm dann solltest du vielleicht alles nach server_ban umschreiben, da du dort ja mehr Infos hast.


    sonst würde es so aussehen:


    Code
    format(sql, sizeof(sql), "INSERT INTO `view_bans`(`user`) VALUES ('%s')", PlayerName(player1));
    mysql_query(sql);

    new sql[512];
    format(sql, sizeof(sql), "INSERT INTO `view_bans`(`user`) VALUES ('%s')", PlayerName(player1));
    format(sql, sizeof(sql), "INSERT INTO `server_ban`(`typ`,`userID`,`user`,`userIP`,`reason`,`adminID`,`admin`,`adminIP`,`banTime`,`status`) VALUES('ban','%d','%s','%s','%s','%d','%s','%s',UNIX_TIMESTAMP(),'0');", PlayerInfo[player1][Spielerzid], PlayerName(player1), PlayerIP(player1), result, PlayerInfo[playerid][Spielerzid], PlayerName(playerid, 1), PlayerIP(playerid));
    mysql_query(sql);


    würde es auch so klappen?

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen
    • Offizieller Beitrag

    Nein, du musst denn 2 query's abschicken


    Code
    new sql[512];
    format(sql, sizeof(sql), "INSERT INTO `view_bans`(`user`) VALUES ('%s')", PlayerName(player1));
    mysql_query(sql);
    format(sql, sizeof(sql), "INSERT INTO `server_ban`(`typ`,`userID`,`user`,`userIP`,`reason`,`adminID`,`admin`,`adminIP`,`banTime`,`status`) VALUES('ban','%d','%s','%s','%s','%d','%s','%s',UNIX_TIMESTAMP(),'0');", PlayerInfo[player1][Spielerzid], PlayerName(player1), PlayerIP(player1), result, PlayerInfo[playerid][Spielerzid], PlayerName(playerid, 1), PlayerIP(playerid));
    mysql_query(sql);
  • Nein, du musst denn 2 query's abschicken


    Code
    new sql[512];
    format(sql, sizeof(sql), "INSERT INTO `view_bans`(`user`) VALUES ('%s')", PlayerName(player1));
    mysql_query(sql);
    format(sql, sizeof(sql), "INSERT INTO `server_ban`(`typ`,`userID`,`user`,`userIP`,`reason`,`adminID`,`admin`,`adminIP`,`banTime`,`status`) VALUES('ban','%d','%s','%s','%s','%d','%s','%s',UNIX_TIMESTAMP(),'0');", PlayerInfo[player1][Spielerzid], PlayerName(player1), PlayerIP(player1), result, PlayerInfo[playerid][Spielerzid], PlayerName(playerid, 1), PlayerIP(playerid));
    mysql_query(sql);

    Perfekt, danke!
    Nun soll ich das gleiche wie bei /ban machen auch INSERT INTO view_bans bei (timeban)


    forward timeban(playerid, pid, tbl, tbt[], tbr[]);
    public timeban(playerid, pid, tbl, tbt[], tbr[]){
    new gip[128], plip[128], gname[MAX_PLAYER_NAME], name[MAX_PLAYER_NAME], query[512];


    GetPlayerIp(pid, gip, sizeof(gip));
    GetPlayerIp(playerid, plip, sizeof(plip));


    GetPlayerName(pid, gname, sizeof(gname));
    GetPlayerName(playerid, name, sizeof(name));


    if(strcmp(tbt, "s", true) == 0)
    format(query, sizeof(query), "Info: %s wurde von %s für %i Sekunden gebannt | Grund: %s", gname, name, tbl, (tbr));
    if(strcmp(tbt, "i", true) == 0)
    format(query, sizeof(query), "Info: %s wurde von %s für %i Minuten gebannt | Grund: %s", gname, name, tbl, (tbr));
    if(strcmp(tbt, "h", true) == 0)
    format(query, sizeof(query), "Info: %s wurde von %s für %i Stunden gebannt | Grund: %s", gname, name, tbl, (tbr));
    if(strcmp(tbt, "d", true) == 0)
    format(query, sizeof(query), "Info: %s wurde von %s für %i Tage gebannt | Grund: %s", gname, name, tbl, (tbr));
    if(strcmp(tbt, "w", true) == 0)
    format(query, sizeof(query), "Info: %s wurde von %s für %i Wochen gebannt | Grund: %s", gname, name, tbl, (tbr));
    if(strcmp(tbt, "m", true) == 0)
    format(query, sizeof(query), "Info: %s wurde von %s für %i Monate gebannt | Grund: %s", gname, name, tbl, (tbr));
    if(strcmp(tbt, "y", true) == 0)
    format(query, sizeof(query), "Info: %s wurde von %s für %i Jahre gebannt | Grund: %s", gname, name, tbl, (tbr));



    if(strfind(tbr,"SDM",true) != -1){
    PlayerInfo[pid][waffeschein] = 0;
    }




    SendClientMessageToAll(0xFF6347AA, query);


    format(query, sizeof(query), "INSERT INTO server_timeban(usr_id, usr_name, usr_ip, ban_time, ban_length, ban_typ, ban_reason, adm_name, adm_ip, status) VALUES(%d,'%s', '%s', UNIX_TIMESTAMP(), '%i', '%s', '%s', '%s', '%s', '0')", PlayerInfo[pid][Spielerzid], gname, gip, tbl, tbt, (tbr), name, plip);
    SendClientMessage(playerid, 0xA734C2FF, query);
    mysql_query(query);
    printf(query);
    SetTimerEx("DelayKick", 2000, 0, "d", pid);
    }


    Da ist nur server_timeban

    • Offizieller Beitrag

    Meinst du das so?

    Code
    format(query, sizeof(query), "INSERT INTO server_timeban(usr_id, usr_name, usr_ip, ban_time, ban_length, ban_typ, ban_reason, adm_name, adm_ip, status) VALUES(%d,'%s', '%s', UNIX_TIMESTAMP(), '%i', '%s', '%s', '%s', '%s', '0')", PlayerInfo[pid][Spielerzid], gname, gip, tbl, tbt, (tbr), name, plip);
    SendClientMessage(playerid, 0xA734C2FF, query);
    mysql_query(query);
    format(query, sizeof(query), "INSERT INTO `view_bans` (`user`) VALUES ('%s')", gname);
    mysql_query(query);
  • Meinst du das so?

    Code
    format(query, sizeof(query), "INSERT INTO server_timeban(usr_id, usr_name, usr_ip, ban_time, ban_length, ban_typ, ban_reason, adm_name, adm_ip, status) VALUES(%d,'%s', '%s', UNIX_TIMESTAMP(), '%i', '%s', '%s', '%s', '%s', '0')", PlayerInfo[pid][Spielerzid], gname, gip, tbl, tbt, (tbr), name, plip);
    SendClientMessage(playerid, 0xA734C2FF, query);
    mysql_query(query);
    format(query, sizeof(query), "INSERT INTO `view_bans` (`user`) VALUES ('%s')", gname);
    mysql_query(query);

    Ja würde das auch so klappen? aber das soll sich ja nach z.b in 1 Stunde wieder von der view_bans entfernen weil sonst bleibt er ja immer gebannt ^^