· 9 years ago · Nov 07, 2016, 12:42 PM
1as you can see codes Below i want to check uid and uid also as Ip is already checking but i am not understanding how to check from database uid and uid2
2table structure and values
3[code] QuerySQL( database, "CREATE TABLE IF NOT EXISTS Banned( ban_nick TEXT, ban_ip TEXT, ban_time TEXT, ban_expire TEXT, ban_expireratio TEXT, ban_admin TEXT, ban_reason TEXT, ban_uid TEXT, ban_Uid2 TEXT )" );
4
5query = QuerySQL( database, "INSERT INTO Banned( ban_nick TEXT, ban_ip TEXT, ban_time TEXT, ban_expire TEXT, ban_expireratio TEXT, ban_admin TEXT, ban_reason TEXT, ban_uid TEXT, ban_Uid2 TEXT ) VALUES ( '"+ player.Name.tostring() +"','"+ player.IP.tostring() +"','"+ time().tostring() +"', '"+ ban_Expires.tostring() +"', '" + expire.tostring() + "', '"+ admin.Name.tostring() +"', '"+ reason.tostring() +"','"+ player.UID.tostring() +"','"+ player.UID2.tostring() +"')");
6[/code]
7
8[code]function Banned( player )
9{
10 local query = QuerySQL( database, "SELECT * FROM Banned WHERE ban_nick='" + player.Name + "' COLLATE NOCASE" ), Ip = player.IP.tostring();
11 if( GetSQLColumnData( query, 0 ) )
12 {
13 if( ( time() - GetSQLColumnData( query, 2 ).tointeger() ) >= GetSQLColumnData( query, 3 ).tointeger() )
14 {
15 local query2 = QuerySQL( database, "DELETE FROM Banned WHERE ban_nick='" + player.Name.tostring() + "'" );
16 FreeSQLQuery( query2 );
17 PrivMessage("[RBAN] Your ban has been expired.", player );
18 PrivMessage("[RBAN] Stick to the rules or you will get permanently banned.", player );
19 }
20 else
21 {
22 local Time_Left = TimeRem( GetSQLColumnData( query, 2 ).tointeger(), GetSQLColumnData( query, 4 ) );
23 //local splitban = split( GetSQLColumnData( query, 4 ), ":" ), Calc = splitban[ 0 ] + " Day(s), " + splitban[ 1 ] + " Hour(s), " + splitban[ 2 ] + " Minute(s).";
24 PrivMessage("[RBAN] Your ban has not expired.", player );
25 PrivMessage("[RBAN] Your ban is set to expire in. " + Time_Left, player );
26 KickPlayer( player );
27 }
28 }
29 else if( GetSQLColumnData( QuerySQL( database, "SELECT * FROM Banned WHERE ban_ip='" + Ip + "'" ), 0 ) )
30 {
31 local query = QuerySQL( database, "SELECT * FROM Banned WHERE ban_ip='" + Ip + "'" );
32 if( ( time() - GetSQLColumnData( query, 2 ).tointeger() ) >= GetSQLColumnData( query, 3 ).tointeger() )
33 {
34 local query2 = QuerySQL( database, "DELETE FROM Banned WHERE ban_ip='" + player.IP.tostring() + "'" );
35 FreeSQLQuery( query2 );
36 PrivMessage("[RBAN] Your ban has been expired.", player );
37 PrivMessage("[RBAN] Stick to the rules or you will get permanently banned.", player );
38 }
39 else
40 {
41 local Time_Left = TimeRem( GetSQLColumnData( query, 2 ).tointeger(), GetSQLColumnData( query, 4 ).tostring() );
42 //local splitban = split( GetSQLColumnData( query, 4 ), ":" ), Calc = splitban[ 0 ] + " Day(s), " + splitban[ 1 ] + " Hour(s), " + splitban[ 2 ] + " Minute(s).";
43 PrivMessage("[RBAN] Your ban has not expired.", player );
44 PrivMessage("[RBAN] Your ban is set to expire in. " + Time_Left , player );
45 KickPlayer( player );
46 }
47 }
48 FreeSQLQuery( query );
49}
50
51//Check is player is banned.
52function IsBanned( fullname )
53{
54 local query = QuerySQL( database, "SELECT ban_ip FROM Banned WHERE ban_nick='" + fullname + "' COLLATE NOCASE" );
55 if( GetSQLColumnData( query, 0 ) ) return true;
56 return false;
57}
58
59[/code]