prontera,139,170,6 script MVP Ladder 837,{ set .ahmel$,"^00aa00[MVP Ladder]^000000"; mes .ahmel$; mes "I list those players who succeeds to kill MVP and/or Mini Boss monsters and organize them on a Ranking List!"; mes "^0000ffMVP Boss^000000 = 3 points"; mes "^0000ffMini Boss^000000 = 1 point"; next; if(getgroupid() == 99) { switch(select("Show MVP Ladder:Point Shop:Reset Ladder:Cancel")) { case 1: goto mvprank; case 2: goto pointshop; case 3: goto reset; case 4: goto cancel; } } else { switch(select("Show MVP Ladder:Point Shop:Cancel")) { case 1: goto mvprank; case 2: goto pointshop; case 3: goto cancel; } } pointshop: mes .ahmel$; mes "Here you can use your MVP Points to purchase useful items:"; next; mes "^0000ffMVP Badge^000000: requirement for Class Specialization"; mes "^ffffff.^000000"; //mes "^0000ffArmor Exchange Ticket^000000: useful if you want to exchange your QUEST armor for another QUEST armor of the same level"; //mes "^ffffff.^000000"; //mes "^0000ffWeapon Exchange Ticket^000000: useful if you want to exchange your QUEST weapon for another QUEST weapon"; //mes "^ffffff.^000000"; //mes "^0000ffHeadgear Exchange Ticket^000000: useful if you want to exchange your tier 3 QUEST headgears for another tier 3 QUEST headgear set"; //mes "^ffffff.^000000"; switch(select("MVP Badge - 30 pts:^aaaaaaArmor Exchange Ticket - 150 pts:Weapon Exchange Ticket - 150 pts:Headgear Exchange Ticket - 150 pts^000000")) { case 1: next; set .@price,30; set .@mvpitem$,"MVP Badge"; set .@itemshit,26047; mes .ahmel$; mes "How many MVP Badge do you want to purchase?"; input .@quantity; next; goto shopmenu; case 2: next; mes .ahmel$; mes "Not yet implemented!"; close; //set .@price,150; //set .@mvpitem$,"Armor Excange Ticket"; //set .@itemshit,26018; //mes .ahmel$; //mes "How many Armor Exchange Ticket do you want to purchase?"; //input .@quantity; //next; //goto shopmenu; case 3: next; mes .ahmel$; mes "Not yet implemented!"; close; //set .@price,150; //set .@mvpitem$,"Weapon Exchange Ticket"; //set .@itemshit,26020; //mes .ahmel$; //mes "How many Weapon Exchange Ticket do you want to purchase?"; //input .@quantity; //next; //goto shopmenu; case 4: next; mes .ahmel$; mes "Not yet implemented!"; close; //set .@price,150; //set .@mvpitem$,"Headgear Exchange Ticket"; //set .@itemshit,26019; //mes .ahmel$; //mes "How many Headgear Exchange Ticket do you want to purchase?"; //input .@quantity; //next; //goto shopmenu; } shopmenu: mes .ahmel$; mes "You're going to purchase "+.@quantity+" "+.@mvpitem$+", proceed?"; menu "Yes",yesbadge,"Cancel",nobadge; yesbadge: next; query_sql( "SELECT `Count` FROM `E-MVPRank` where `name`= '" + escape_sql( strcharinfo(0) ) + "'", .@Count ); if(.@Count < .@price*.@quantity){ mes .ahmel$; mes "Insufficient Points"; mes ""+.@Count+" "+.@quantity+" "+.@price+""; close; } else { getitem .@itemshit,.@quantity; set .@quantity,.@quantity*.@price; query_sql( "INSERT INTO `E-MVPRank` SET `char_id`='"+getcharid(0)+"',`name`='"+strcharinfo(0)+"',`Count`='3' ON DUPLICATE KEY UPDATE `Count`=`Count`-"+.@quantity+"" ); mes .ahmel$; mes "Done! Here are your "+.@mvpitem$+"."; mes "^ff0000"+.@quantity+" pts^000000 have been deducted to you"; close;} nobadge: next; mes .ahmel$; mes "Alright! Come back when you're decided."; close; mvprank: 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 )+" ]^ff0000 "+.@Name$[.@i]+" ^000000- "+.@Count[.@i]+" Point(s)"; if(getgroupid() == 99) { switch(select("Reset Ladder","Close")) { case 1: goto reset; case 2: close; } } else { close; } } else{ mes .ahmel$; mes "No Record Found."; close; end; } reset: next; mes .ahmel$; mes "Are you really sure you want to reset the MVP Ladder?"; switch(select("Yes","Cancel")) { case 1: next; mes .ahmel$; mes "Input Reset Password:"; next; input .@pwdreset$; if(.@pwdreset$ == "phoenix") { mes .ahmel$; mes "Done!"; query_sql( "TRUNCATE TABLE `E-MVPRank`;" ); announce "[MVP Ladder]: Ranking is Reset! Goodluck Boss-hunting everyone!",bc_all,0xdddddd; end; close; } else if(.@pwdreset$ != "phoenix") { next; mes .ahmel$; mes "INVALID PASSWORD!"; end; close; } case 2: close; } cancel: mes .ahmel$; mes "Okay, goodluck hunting MVPs!"; close; OnNPCKillEvent: if( getmonsterinfo( killedrid,MOB_MVPEXP ) ) { query_sql( "INSERT INTO `E-MVPRank` SET `char_id`='"+getcharid(0)+"',`name`='"+strcharinfo(0)+"',`Count`='3' ON DUPLICATE KEY UPDATE `Count`=`Count`+2" ); announce "[MVP Ladder]: "+strcharinfo(0)+" slained "+getmonsterinfo( killedrid,MOB_NAME )+" at "+strcharinfo(3),bc_all,0xdddddd; } if ( getmonsterinfo( killedrid,MOB_MODE ) & 0x0020 ) { query_sql( "INSERT INTO `E-MVPRank` SET `char_id`='"+getcharid(0)+"',`name`='"+strcharinfo(0)+"',`Count`='1' ON DUPLICATE KEY UPDATE `Count`=`Count`+1" );} end; }