Mysql /unban /oban
#1

I need help in making Offline ban and unban commands using mysql there are already ban cmd

pawn Код:
CMD:ban(playerid,params[]) {
    if(PlayerInfo[playerid][LoggedIn] == 1) {
        if(PlayerInfo[playerid][Level] >= 2) {
            new tmp[256], tmp2[256], Index;     tmp = strtok(params,Index), tmp2 = strtok(params,Index);
            if(!strlen(params)) return SendClientMessage(playerid, red, "USAGE:{FFFFFF} /Ban [playerid] [reason]");
            if(!strlen(tmp2)) return SendClientMessage(playerid, red, "USAGE:{FFFFFF} /Ban [playerid] [reason]");
            new player1;
            player1 = strval(tmp);

            if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID && player1 != playerid && (PlayerInfo[player1][Level] != ServerInfo[MaxAdminLevel]) ) {
            new query[200];new Ip[16];
            new str2 [256] , str3 [ 256 ], Pname1 [ MAX_PLAYER_NAME] , Aname [ MAX_PLAYER_NAME ];
            GetPlayerIp(player1,Ip,sizeof(Ip));
            new year,month,day,hour,minuite,second; getdate(year, month, day); gettime(hour,minuite,second);

            GetPlayerName(player1,Pname1,sizeof(Pname1));
            new string[250];
            GetPlayerName(playerid,Aname,sizeof(Aname));
            format(string,sizeof(string),"*** Player %s has been banned by Administrator %s. [Reason : %s]",Pname1,Aname,params[2]);
            SendClientMessageToAll(red,string);
            IRC_GroupSay(groupID, IRC_CHANNEL, string);
            format(str2,sizeof(str2),""#CGREEN"» "#CWHITE"You have "#CRED"Banned "#clightblue"%s "#CGREEN"Reason: "#CRED"%s",Pname1,params[2]);
            SendClientMessage(playerid,red,str2);

            format(str3,sizeof(str3),""#CGREEN"» "#CWHITE"You have been "#CRED"Banned "#CWHITE"from the server "#CGREEN"Reason: "#CRED"%s",params[2]);
            SendClientMessage(player1,red,str3);
            new que2[200];
            format(que2,sizeof(que2),"UPDATE playerdata SET Banned=1 WHERE user='%s'",Pname1);
            mysql_query(que2);  new str5 [ 128] , str6 [ 128 ] ;
            format(str5,sizeof(str5),"%d/%d/%d",day,month,year);
            format(str6,sizeof(str6),"%d:%d:%d",hour,minuite,second);
            new kUnixStamp = gettime();
            //Insert Data into Bans Table
            format(query, sizeof(query), "INSERT INTO Bans(pName ,Admin, Reason, Time, IP) VALUES('%s', '%s', '%s', %d, '%s')", Pname1,Aname,params[2],kUnixStamp,Ip);
            mysql_query(query);
            new que3[200];
            format(que3,sizeof(que3),"UPDATE playerdata SET bdate='%s',btime='%s',breason='%s',badmin='%s' WHERE user='%s'",str5,str6,params[2],Aname,Pname1);
            mysql_query(que3);
                return SetTimerEx("BanPublic", 1000, 0, "d", player1);
            } else return SendClientMessage(playerid, red, "Player is not connected or is yourself or is the highest level admin");
        } else return SendClientMessage(playerid,red,"ERROR:{FF9E00} You are not a high enough level to use this command");
    } else return SendClientMessage(playerid,red,"ERROR:{FF9E00} You must be logged in to use this commands");
}
Reply
#2

pawn Код:
YCMD:oban(playerid, params[], help) {
    new username[(MAX_PLAYER_NAME*2)+1],reason[128];
    if(!sscanf(params,"s[" #MAX_PLAYER_NAME "]s[128]",username,reason)) {
        mysql_real_escape_string(username, username);
        format(query, sizeof(query), "select INET_NTOA(`ip`),a.id FROM connections ca INNER JOIN characters c on c.id = ca.charid inner join accounts a on a.id = c.accountid where (c.username = \"%s\" OR a.username = \"%s\") ORDER BY ca.id DESC LIMIT 0,1",username,username);
        mysql_function_query(g_mysql_handle, query, true, "OnOfflineBanPlayer", "dss",playerid,username,reason);
    } else {
        SendClientMessage(playerid, X11_WHITE, "USAGE: /oban [username] [reason]");
    }
    return 1;
}
/oban working for me..
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)