/*
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,<item id>,<amount>,<zeny>;
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;
}
}