// http://rathena.org/board/topic/78486-breaker-rankings-npc/
// NPC that:
// - displays top 10 emperium breaker (Rank, Char Name, Guild Name, Breaker Points)
// - when a player was the last to break the emp after the WoE he will get 1 point
// - selection which enables the player to trade their points into TCG (item id: 7227)
// but their break points are still displayed
// RESET STATS
negel,172,231,5 script Emp Breaker Ladder 857,{
switch(select("View Emp Break Ladder:Redeem points for TCG:More Info")) {
case 1:
query_sql "SELECT `char`.`name`, guild.`name`, CAST(`value` AS UNSIGNED) " +
"FROM global_reg_value " +
"LEFT JOIN `char` ON global_reg_value.char_id=`char`.char_id " +
"LEFT JOIN `guild` ON `char`.guild_id=guild.guild_id " +
"WHERE global_reg_value.`str`='breaker_points' " +
"ORDER BY CAST(`value` AS UNSIGNED) DESC LIMIT 10",
.@name$, .@guild$, .@points;
mes "[Top 10 Emp Breakers]";
mes "Rank, Name, Guild (break points)";
for (set .@i,0; .@i<getarraysize(.@name$); set .@i,.@i+1) {
mes (.@i+1) +". ^0000FF"+ .@name$[.@i] +"^000000, "+ .@guild$[.@i] +" ("+ .@points[.@i] +((.@points[.@i]==1)?" pt":" pts")+")";
}
break;
case 2:
mes "[Emp Break Ladder]";
mes "Total Emp Breaks: " + breaker_points;
mes "Available Points: " + (breaker_points - breaker_tcg);
if (breaker_points == 0) {
mes "You have not broke the emp yet!";
} else if (breaker_points <= breaker_tcg) {
mes "You've already exchanged all your points for TCG.";
mes "Come back after you break the emp again!";
} else {
set .@reward, breaker_points - breaker_tcg;
if (select("Redeem points for "+.@reward+" TCG:Cancel") == 2) {
mes "Come back if you change your mind.";
} else if (checkweight(7227, .@reward) == 0) {
mes "You are overweight or carrying too many items.";
} else {
getitem 7227, .@reward;
set breaker_tcg, breaker_tcg + .@reward;
mes "Here are your "+.@reward+" TCG!";
}
}
break;
case 3:
mes "[Emp Break Ladder]";
mes "Each time you break the emp, you earn 1 point.";
mes "Then, talk to me to redeem your point(s) for TCG.";
break;
}
close;
}
please make me a reset select menu based on this query or correct me
DELETE FROM global_reg_value WHERE `str`='breaker_points';