/* CREATE TABLE IF NOT EXISTS `E-MVPRank` ( `char_id` int(11) unsigned NOT NULL default '0', `name` varchar(30) NOT NULL DEFAULT '', `Count` int(11) unsigned NOT NULL default '0', PRIMARY KEY (`char_id`) ) ENGINE=MyISAM; */ fayon,90,115,5 script Sample 757,{ function send_mail; query_sql( "SELECT `name`,`Count` FROM `E-MVPRank` ORDER BY `Count` DESC LIMIT 5",.@Name$,.@Count ); if( getarraysize( .@Name$ ) ){ for( set .@i,0; .@i < getarraysize( .@Name$ ); set .@i,.@i + 1 ) mes "[ "+( .@i + 1 )+". ] "+.@Name$[.@i]+" - "+.@Count[.@i]+" Points"; }else{ mes "No Record Found."; } close; OnNPCKillEvent: if( getmonsterinfo( killedrid,MOB_MVPEXP ) ) query_sql( "INSERT INTO `E-MVPRank` SET `char_id`='"+getcharid(0)+"',`name`='"+strcharinfo(0)+"',`Count`='1' ON DUPLICATE KEY UPDATE `Count`=`Count`+1" ); end; OnClock0000: do{ query_sql( "SELECT `char_id` FROM `E-MVPRank` WHERE `Count` > 0 ORDER BY `Count` DESC LIMIT 100 OFFSET "+.@offset,.@cid ); set .@size,getarraysize( .@cid ); set .@i,0; while( .@i < .@size ){ .@rank = .@offset + .@i; // reward format // setarray .@reward,,,; if( .@rank < 1 ) setarray .@reward,512,100,10000; else if( .@rank < 10 ) setarray .@reward,512,10,5000; else if( .@rank < 50 ) setarray .@reward,512,5,2500; else if( .@rank < 100 ) setarray .@reward,512,2,1250; else if( .@rank < 200 ) setarray .@reward,512,1,625; send_mail( ( .@rank+1 ),.@cid[.@i],.@reward[0],.@reward[1],.@reward[2] ); set .@i,.@i + 1; } set .@offset,.@offset + 100; deletearray .@cid; }while( .@offset < 200 ); query_sql( "TRUNCATE `E-MVPRank`" ); end; function send_mail { .@rank = getarg(0); .@cid = getarg(1); .@item_id = getarg(2); .@amount = getarg(3); .@zeny = getarg(4); query_sql( "INSERT INTO `mail` ( send_name,dest_id,title,message,nameid,amount,identify,zeny,time ) VALUES ("+ "'no-reply',"+.@cid+",'MVP Rank Top "+.@rank+" Reward',"+ "'Brave one,% % Congratulations!% Your MVP Rank is "+.@rank+" % % % % % % [ Your reward is attached. ]',"+ .@item_id+","+.@amount+",0,"+.@zeny+",UNIX_TIMESTAMP(NOW()))" ); return; } }