This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.
Messages - Rocky
Pages: 1 2 3 [4] 5 6 ... 21
46
« on: January 02, 2014, 08:09:03 am »
Happy new year men!
47
« on: January 02, 2014, 08:08:40 am »
k.
48
« on: December 31, 2013, 10:01:16 am »
Happy new year mens.
49
« on: December 26, 2013, 01:58:45 pm »
No, Your attitude is bad and apologizing about your attitude to me so you could gain my vote isn't going to help.
50
« on: December 21, 2013, 11:05:12 am »
Woah!
51
« on: December 15, 2013, 10:08:29 am »
Neutral but just a tip: Joining in a server with a different name ( Isaac ) and insulting me is the worst thing a player can do.
If that's true and you can't give me a good explanation for that i might have to change my vote, Karan.
52
« on: December 15, 2013, 05:07:19 am »
He has improved a lot, He deserves MKt.
53
« on: December 13, 2013, 03:29:59 am »
Yea there's alot of sorting algorithms you can use. Bubble sort works fine if the amount of data to organize isn't as big. Quicksorting will be alot faster though, if the amount of data to organize is bigger.
Sorting players of maximum 50 isn't that big, is it? I'll Google Quicksort. so wheres the cookie?
54
« on: December 12, 2013, 02:31:52 pm »
There's a better way to do so, but it's fine though.
Like i mentioned there are lots of ways to sort but if you referring to inbuilt squirrel .sort function? I came to know about it after i created this. By the way thanks for teaching me the { } array method, I learned a lot after this method came into my mind
55
« on: December 11, 2013, 07:37:24 am »
VC-MP History: Since 2010 Previous Clan: DP,OSK,SK,TpS And More
MoreMoreLike four clans was not enough. No for you.
56
« on: December 11, 2013, 07:31:18 am »
Pro Engrish. NO!
57
« on: December 08, 2013, 04:17:09 am »
from where do you learn all these stuff. btw nice work....
Bubble sort from school and squirrel myself
58
« on: December 07, 2013, 02:48:46 pm »
Get Top 3 Players according to their score, kills, K/D ratio, money.This is one of the thousand ways to get top players according to their Kills, Cash etc.. This example will print the top three richest player in the server, I am sure with minor edits you can use this method to find best killers online. I used Bubble sorting in this code to sort. Plr <- { }; function GetTop3( player ) { local t, ta,i,j,k=0; for(i=0;i<GetMaxPlayers();i++) { if( FindPlayer( i ) ) { Plr[ i ] <- { }; Plr[ i ].Nick <- player.Name.tostring(); Plr[ i ].Money <- FindPlayer( i ).Cash; k++; } } //Player1: 2 p2: 3 p3: 4 for(j=0;j<GetMaxPlayers();j++) { for(i=0;i<GetMaxPlayers()-1-j;i++) { if( Plr.rawin( i ) && Plr.rawin( i + 1 ) && Plr[ i ].Money < Plr[ i + 1 ].Money ) { t = Plr[ i + 1 ].Nick; ta = Plr[ i + 1 ].Money; Plr[ i + 1 ].Nick <- Plr[ i ].Nick; Plr[ i + 1 ].Money <- Plr[ i ].Money; Plr[ i ].Nick <- t; Plr[ i ].Money <- ta; } } } PrivMessage("Richest Players Online:",player ); for(i=0,j=1;i<k;i++,j++) PrivMessage( j + ". " + Plr[ i ].Nick + " - " + Plr[ i ].Money,player ); } To use this in your script paste the above code in your script files and add a command to call the function. Please report if you find any bugs.
59
« on: December 07, 2013, 02:48:15 pm »
Rocky's Temporary Ban System Some people have been asking me for a Temp-Ban system so here it is, To use it simple log in as admin and type /c tempban <player> <days:hours:mins>Here's the code: /* [RBG] Rocky's Temp-Ban system (v0.1) This is completly made by me, You are free to use, modify it for your own use. Put my name on credits list only if you like my work. */ //Events -> function onScriptLoad() { LoadModule( "sq_lite" ); database <- ConnectSQL( "Data.sqlite" ); 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 )" ); print("[RBAN] Rocky's Ban system Loaded (v0.1)"); }
function onPlayerCommand( player, cmd, text ) { cmd = cmd.tolower(); if ( cmd == "tempban" ) { local txt_Split; if( !player.IsAdmin ) PrivMessage("[RBAN] You are not a admin.", player ); else if( !text ) PrivMessage("[RBAN] /c tempban <player> <day:hour:min> <reason>", player); else { if( NumTok( text, " " ) == 2 ) { txt_Split = split( text, " " ); local plr = FindPlayer( txt_Split[ 0 ] ), expire = txt_Split[ 1 ]; if( plr ) AddBan( player, plr, expire ); else PrivMessage("[RBAN] No such player.", player ); } else if( NumTok( text, " " ) >= 3 ) { txt_Split = split( text, " " ); local plr = FindPlayer( txt_Split[ 0 ] ), expire = txt_Split[ 1 ], reason = txt_Split[ 2 ]; if( plr ) AddBan( player, plr, expire, reason ); else PrivMessage("[RBAN] No such player.", player ); } else PrivMessage("[RBAN] /c tempban <player> <day:hour:min> <reason>", player); } } }
function onPlayerJoin( player ) { Banned( player ); }
//Functions -> //Everyone is familiar with this function. :P function NumTok(string, separator) { local tokenized = split(string, separator); return tokenized.len(); } //This basically stores the ban info into database reason for ban is optional. function AddBan( admin, player, expire, reason = "Not Specified" ) { //Equation = (DAYS*24*60*60) + (HOUR*60*60) + (MIN*60) local ban_Expire = split( expire, ":" ); //days:hours:minutes if( NumTok( expire, ":" ) == 3 ) { if( IsNum( ban_Expire[ 0 ] ) && IsNum( ban_Expire[ 1 ] ) && IsNum( ban_Expire[ 2 ] ) ) { if( ban_Expire[ 0 ].tointeger() <= 31 && ban_Expire[ 1 ].tointeger() <= 24 && ban_Expire[ 2 ].tointeger() <= 60 ) { local ban_Expires = ( (ban_Expire[ 0 ].tointeger()*24*60*60) + (ban_Expire[ 1 ].tointeger()*60*60) + (ban_Expire[ 2 ].tointeger()*60) ), Calc = ban_Expire[ 0 ] + " Day(s), " + ban_Expire[ 1 ] + " Hour(s), " + ban_Expire[ 2 ] + " Minute(s).", query = QuerySQL( database, "INSERT INTO Banned( ban_nick, ban_ip, ban_time, ban_expire, ban_expireratio, ban_admin, ban_reason ) VALUES ( '"+ player.Name.tostring() +"','"+ player.IP.tostring() +"','"+ time().tostring() +"', '"+ ban_Expires.tostring() +"', '" + expire.tostring() + "', '"+ admin.Name.tostring() +"', '"+ reason.tostring() +"')"); FreeSQLQuery( query ); PrivMessage("[RBAN] You have been temporarily banned by " + admin.Name, player); PrivMessage("[RBAN] Your ban is set to expire in: " + Calc, player); KickPlayer( player ); } } else PrivMessage("[RBAN] Time should be numeric (day:hour:min)", admin ); } else PrivMessage("[RBAN] Wrong format, day:hour:min (Numeric)", admin ); } //Check if player is banned and Kick him/her. function Banned( player ) { local query = QuerySQL( database, "SELECT * FROM Banned WHERE ban_nick='" + player.Name + "' COLLATE NOCASE" ), Ip = player.IP.tostring(); if( GetSQLColumnData( query, 0 ) ) { if( ( time() - GetSQLColumnData( query, 2 ).tointeger() ) >= GetSQLColumnData( query, 3 ).tointeger() ) { local query2 = QuerySQL( database, "DELETE FROM Banned WHERE ban_nick='" + player.Name.tostring() + "'" ); FreeSQLQuery( query2 ); PrivMessage("[RBAN] Your ban has been expired.", player ); PrivMessage("[RBAN] Stick to the rules or you will get permanently banned.", player ); } else { local Time_Left = TimeRem( GetSQLColumnData( query, 2 ).tointeger(), GetSQLColumnData( query, 4 ) ); //local splitban = split( GetSQLColumnData( query, 4 ), ":" ), Calc = splitban[ 0 ] + " Day(s), " + splitban[ 1 ] + " Hour(s), " + splitban[ 2 ] + " Minute(s)."; PrivMessage("[RBAN] Your ban has not expired.", player ); PrivMessage("[RBAN] Your ban is set to expire in. " + Time_Left, player ); KickPlayer( player ); } } else if( GetSQLColumnData( QuerySQL( database, "SELECT * FROM Banned WHERE ban_ip='" + Ip + "'" ), 0 ) ) { local query = QuerySQL( database, "SELECT * FROM Banned WHERE ban_ip='" + Ip + "'" ); if( ( time() - GetSQLColumnData( query, 2 ).tointeger() ) >= GetSQLColumnData( query, 3 ).tointeger() ) { local query2 = QuerySQL( database, "DELETE FROM Banned WHERE ban_ip='" + player.IP.tostring() + "'" ); FreeSQLQuery( query2 ); PrivMessage("[RBAN] Your ban has been expired.", player ); PrivMessage("[RBAN] Stick to the rules or you will get permanently banned.", player ); } else { local Time_Left = TimeRem( GetSQLColumnData( query, 2 ).tointeger(), GetSQLColumnData( query, 4 ).tostring() ); //local splitban = split( GetSQLColumnData( query, 4 ), ":" ), Calc = splitban[ 0 ] + " Day(s), " + splitban[ 1 ] + " Hour(s), " + splitban[ 2 ] + " Minute(s)."; PrivMessage("[RBAN] Your ban has not expired.", player ); PrivMessage("[RBAN] Your ban is set to expire in. " + Time_Left , player ); KickPlayer( player ); } } FreeSQLQuery( query ); }
//This returns the time left for ban in Day:hour:minute format. function TimeRem( bantime, banratio ) { local ban_current = time()-bantime, sp = split(banratio,":"), ban_Days, ban_Hours, ban_Minutes, ban_Day = sp[ 0 ].tointeger(), ban_Hour = sp[ 1 ].tointeger(), ban_Minute = sp[ 2 ].tointeger(); ban_Days = ban_current/86400; ban_current = ban_current%86400; ban_Hours = ban_current/3600; ban_current = ban_current%3600; ban_Minutes = ban_current/60; ban_current = ban_current%60; print( ban_Days + ":" + ban_Hours + ":" + ban_Minutes ); ban_Day -= ban_Days; ban_Hour -= ban_Hours; ban_Minute -= ban_Minutes; return ban_Day + " Day(s), " + ban_Hour + " Hour(s), " + ban_Minute + " Minutes."; }
/* ~End of the code~ */ Version: 0.1 Edits made: 0 If you find any help or if you find any bugs in the code, Post here.
60
« on: December 06, 2013, 04:42:45 pm »
Pages: 1 2 3 [4] 5 6 ... 21
|