// Moubootaur Legends Script // Author: // Jesusalva // Description: // Leaderboards // Scoreboard functions function script HallOfGuild { mes ""; mes l("##BHall Of Guild Level: TOP5##b"); mesf("1. %s (%d)", $@hoguild_name$[0], $@hoguild_value[0]); mesf("2. %s (%d)", $@hoguild_name$[1], $@hoguild_value[1]); mesf("3. %s (%d)", $@hoguild_name$[2], $@hoguild_value[2]); mesf("4. %s (%d)", $@hoguild_name$[3], $@hoguild_value[3]); mesf("5. %s (%d)", $@hoguild_name$[4], $@hoguild_value[4]); return; } function script HallOfFortune { mes ""; mes l("##BHall Of Fortune: TOP15##b"); mesf("1. %s (%s E)", $@hofortune_name$[0],format_number($@hofortune_value[0])); mesf("2. %s (%s E)", $@hofortune_name$[1],format_number($@hofortune_value[1])); mesf("3. %s (%s E)", $@hofortune_name$[2],format_number($@hofortune_value[2])); mesf("4. %s (%s E)", $@hofortune_name$[3],format_number($@hofortune_value[3])); mesf("5. %s (%s E)", $@hofortune_name$[4],format_number($@hofortune_value[4])); mesf("6. %s (%s E)", $@hofortune_name$[5],format_number($@hofortune_value[5])); mesf("7. %s (%s E)", $@hofortune_name$[6],format_number($@hofortune_value[6])); mesf("8. %s (%s E)", $@hofortune_name$[7],format_number($@hofortune_value[7])); mesf("9. %s (%s E)", $@hofortune_name$[8],format_number($@hofortune_value[8])); mesf("10. %s (%s E)", $@hofortune_name$[9],format_number($@hofortune_value[9])); mesf("11. %s (%s E)", $@hofortune_name$[10],format_number($@hofortune_value[10])); mesf("12. %s (%s E)", $@hofortune_name$[11],format_number($@hofortune_value[11])); mesf("13. %s (%s E)", $@hofortune_name$[12],format_number($@hofortune_value[12])); mesf("14. %s (%s E)", $@hofortune_name$[13],format_number($@hofortune_value[13])); mesf("15. %s (%s E)", $@hofortune_name$[14],format_number($@hofortune_value[14])); return; } function script HallOfLevel { mes ""; mes l("##BHall Of Level: TOP15##b"); mesf("1. %s (%d)", $@hoblvl_name$[0], $@hoblvl_value[0]); mesf("2. %s (%d)", $@hoblvl_name$[1], $@hoblvl_value[1]); mesf("3. %s (%d)", $@hoblvl_name$[2], $@hoblvl_value[2]); mesf("4. %s (%d)", $@hoblvl_name$[3], $@hoblvl_value[3]); mesf("5. %s (%d)", $@hoblvl_name$[4], $@hoblvl_value[4]); mesf("6. %s (%d)", $@hoblvl_name$[5], $@hoblvl_value[5]); mesf("7. %s (%d)", $@hoblvl_name$[6], $@hoblvl_value[6]); mesf("8. %s (%d)", $@hoblvl_name$[7], $@hoblvl_value[7]); mesf("9. %s (%d)", $@hoblvl_name$[8], $@hoblvl_value[8]); mesf("10. %s (%d)", $@hoblvl_name$[9], $@hoblvl_value[9]); mesf("11. %s (%d)", $@hoblvl_name$[10], $@hoblvl_value[10]); mesf("12. %s (%d)", $@hoblvl_name$[11], $@hoblvl_value[11]); mesf("13. %s (%d)", $@hoblvl_name$[12], $@hoblvl_value[12]); mesf("14. %s (%d)", $@hoblvl_name$[13], $@hoblvl_value[13]); mesf("15. %s (%d)", $@hoblvl_name$[14], $@hoblvl_value[14]); return; } function script HallOfJob { mes ""; mes l("##BHall Of Job Level: TOP15##b"); mesf("1. %s (%d)", $@hojlvl_name$[0], $@hojlvl_value[0]); mesf("2. %s (%d)", $@hojlvl_name$[1], $@hojlvl_value[1]); mesf("3. %s (%d)", $@hojlvl_name$[2], $@hojlvl_value[2]); mesf("4. %s (%d)", $@hojlvl_name$[3], $@hojlvl_value[3]); mesf("5. %s (%d)", $@hojlvl_name$[4], $@hojlvl_value[4]); mesf("6. %s (%d)", $@hojlvl_name$[5], $@hojlvl_value[5]); mesf("7. %s (%d)", $@hojlvl_name$[6], $@hojlvl_value[6]); mesf("8. %s (%d)", $@hojlvl_name$[7], $@hojlvl_value[7]); mesf("9. %s (%d)", $@hojlvl_name$[8], $@hojlvl_value[8]); mesf("10. %s (%d)", $@hojlvl_name$[9], $@hojlvl_value[9]); mesf("11. %s (%d)", $@hojlvl_name$[10], $@hojlvl_value[10]); mesf("12. %s (%d)", $@hojlvl_name$[11], $@hojlvl_value[11]); mesf("13. %s (%d)", $@hojlvl_name$[12], $@hojlvl_value[12]); mesf("14. %s (%d)", $@hojlvl_name$[13], $@hojlvl_value[13]); mesf("15. %s (%d)", $@hojlvl_name$[14], $@hojlvl_value[14]); return; } function script HallOfAcorns { mes ""; mes l("##BHall Of Acorns: TOP15##b"); mesc l("Only %s in storage will be counted.", getitemlink(Acorn)); mesf("1. %s (%d)", $@hoa_name$[0], $@hoa_value[0]); mesf("2. %s (%d)", $@hoa_name$[1], $@hoa_value[1]); mesf("3. %s (%d)", $@hoa_name$[2], $@hoa_value[2]); mesf("4. %s (%d)", $@hoa_name$[3], $@hoa_value[3]); mesf("5. %s (%d)", $@hoa_name$[4], $@hoa_value[4]); mesf("6. %s (%d)", $@hoa_name$[5], $@hoa_value[5]); mesf("7. %s (%d)", $@hoa_name$[6], $@hoa_value[6]); mesf("8. %s (%d)", $@hoa_name$[7], $@hoa_value[7]); mesf("9. %s (%d)", $@hoa_name$[8], $@hoa_value[8]); mesf("10. %s (%d)", $@hoa_name$[9], $@hoa_value[9]); mesf("11. %s (%d)", $@hoa_name$[10], $@hoa_value[10]); mesf("12. %s (%d)", $@hoa_name$[11], $@hoa_value[11]); mesf("13. %s (%d)", $@hoa_name$[12], $@hoa_value[12]); mesf("14. %s (%d)", $@hoa_name$[13], $@hoa_value[13]); mesf("15. %s (%d)", $@hoa_name$[14], $@hoa_value[14]); return; } function script HallOfLethality { mes ""; mes l("##BHall Of Lethality: TOP15##b"); mesc l("Special monsters are not counted."); mesf("1. %s (%d)", $@hol_name$[0], $@hol_value[0]); mesf("2. %s (%d)", $@hol_name$[1], $@hol_value[1]); mesf("3. %s (%d)", $@hol_name$[2], $@hol_value[2]); mesf("4. %s (%d)", $@hol_name$[3], $@hol_value[3]); mesf("5. %s (%d)", $@hol_name$[4], $@hol_value[4]); mesf("6. %s (%d)", $@hol_name$[5], $@hol_value[5]); mesf("7. %s (%d)", $@hol_name$[6], $@hol_value[6]); mesf("8. %s (%d)", $@hol_name$[7], $@hol_value[7]); mesf("9. %s (%d)", $@hol_name$[8], $@hol_value[8]); mesf("10. %s (%d)", $@hol_name$[9], $@hol_value[9]); mesf("11. %s (%d)", $@hol_name$[10], $@hol_value[10]); mesf("12. %s (%d)", $@hol_name$[11], $@hol_value[11]); mesf("13. %s (%d)", $@hol_name$[12], $@hol_value[12]); mesf("14. %s (%d)", $@hol_name$[13], $@hol_value[13]); mesf("15. %s (%d)", $@hol_name$[14], $@hol_value[14]); return; } function script HallOfATL { mes ""; mes l("##BHall Of Artis Legion Training Arena: TOP10##b"); mesf("1. %s (%d)", $@atl_name$[0], $@atl_value[0]); mesf("2. %s (%d)", $@atl_name$[1], $@atl_value[1]); mesf("3. %s (%d)", $@atl_name$[2], $@atl_value[2]); mesf("4. %s (%d)", $@atl_name$[3], $@atl_value[3]); mesf("5. %s (%d)", $@atl_name$[4], $@atl_value[4]); mesf("6. %s (%d)", $@atl_name$[5], $@atl_value[5]); mesf("7. %s (%d)", $@atl_name$[6], $@atl_value[6]); mesf("8. %s (%d)", $@atl_name$[7], $@atl_value[7]); mesf("9. %s (%d)", $@atl_name$[8], $@atl_value[8]); mesf("10. %s (%d)", $@atl_name$[9], $@atl_value[9]); return; } // Hall of AFK function script HallOfAFK { mes ""; mes l("##BHall Of AFK: TOP 10##b"); mesf("1. %s (%dh%02dm)", $@afk_name$[0], $@afk_value[0]/1200, $@afk_value[0]%1200/60*3); mesf("2. %s (%dh%02dm)", $@afk_name$[1], $@afk_value[1]/1200, $@afk_value[1]%1200/60*3); mesf("3. %s (%dh%02dm)", $@afk_name$[2], $@afk_value[2]/1200, $@afk_value[2]%1200/60*3); mesf("4. %s (%dh%02dm)", $@afk_name$[3], $@afk_value[3]/1200, $@afk_value[3]%1200/60*3); mesf("5. %s (%dh%02dm)", $@afk_name$[4], $@afk_value[4]/1200, $@afk_value[4]%1200/60*3); mesf("6. %s (%dh%02dm)", $@afk_name$[5], $@afk_value[5]/1200, $@afk_value[5]%1200/60*3); mesf("7. %s (%dh%02dm)", $@afk_name$[6], $@afk_value[6]/1200, $@afk_value[6]%1200/60*3); mesf("8. %s (%dh%02dm)", $@afk_name$[7], $@afk_value[7]/1200, $@afk_value[7]%1200/60*3); mesf("9. %s (%dh%02dm)", $@afk_name$[8], $@afk_value[8]/1200, $@afk_value[8]%1200/60*3); mesf("10. %s (%dh%02dm)", $@afk_name$[9], $@afk_value[9]/1200, $@afk_value[9]%1200/60*3); return; } // HallOfGame() function script HallOfGame { if ($MOST_HEROIC$) mes l("World hero: %s", $MOST_HEROIC$); if ($TREE_PLANTED) mes l("Planted Trees: %s", format_number($TREE_PLANTED)); // FIXME mes l("Players Killed in PvP: %s", format_number($PLAYERS_KILLED)); mes l("Monsters Killed in PvE: %s", format_number($MONSTERS_KILLED)); mes ""; .@s$=(season_direction() == WINTER ? l("Winter") : .@s$); .@s$=(season_direction() == AUTUMN ? l("Autumn") : .@s$); .@s$=(season_direction() == SUMMER ? l("Summer") : .@s$); .@s$=(season_direction() == SPRING ? l("Spring") : .@s$); mes l("Current Season: %s", .@s$); // weather ; game time ; world story ; etc. mes ""; mes l("Notable mentions and thanks for our [@@https://www.patreon.com/themanaworld|sponsors@@] for their continued support."); mes ""; return; } // Main script handler for scoreboards - script @scoreboard NPC_HIDDEN,{ end; OnHour00: OnHour01: OnHour02: OnHour03: OnHour04: OnHour05: OnHour06: OnHour07: OnHour08: OnHour09: OnHour10: OnHour11: OnHour12: OnHour13: OnHour14: OnHour15: OnHour16: OnHour17: OnHour18: OnHour19: OnHour20: OnHour21: OnHour22: OnHour23: OnInit: consolemes(CONSOLEMES_DEBUG, "Reloading scoreboards..."); .@nb = query_sql("select name, zeny from `char` ORDER BY zeny DESC LIMIT 15", $@hofortune_name$, $@hofortune_value); .@nb = query_sql("select name, base_level from `char` ORDER BY base_level DESC LIMIT 15", $@hoblvl_name$, $@hoblvl_value); .@nb = query_sql("select name, job_level from `char` ORDER BY job_level DESC LIMIT 15", $@hojlvl_name$, $@hojlvl_value); .@nb = query_sql("select name, guild_lv from `guild` ORDER BY guild_lv DESC LIMIT 5", $@hoguild_name$, $@hoguild_value); .@nb = query_sql("SELECT c.name, i.amount FROM `storage` AS i, `char` AS c WHERE i.nameid="+Acorn+" AND i.account_id=c.account_id ORDER BY i.amount DESC LIMIT 15", $@hoa_name$, $@hoa_value); .@nb = query_sql("SELECT c.name, i.value FROM `char_reg_num_db` AS i, `char` AS c WHERE i.key='ATLRANK' AND i.char_id=c.char_id ORDER BY i.value DESC LIMIT 10", $@atl_name$, $@atl_value); .@nb = query_sql("SELECT c.name, i.value FROM `char_reg_num_db` AS i, `char` AS c WHERE i.key='AFKING' AND i.char_id=c.char_id ORDER BY i.value DESC LIMIT 10", $@afk_name$, $@afk_value); .@nb = query_sql("SELECT c.name, i.value FROM `char_reg_num_db` AS i, `char` AS c WHERE i.key='MONSTERS_KILLED' AND i.char_id=c.char_id ORDER BY i.value DESC LIMIT 15", $@hol_name$, $@hol_value); consolemes(CONSOLEMES_DEBUG, "Scoreboards reloaded"); if (!$@SCOREBOARD_BIND) { bindatcmd "scoreboard", "@scoreboard::OnCall", 0, 100, 0; bindatcmd "scoreboards", "@scoreboard::OnCall", 0, 100, 0; $@SCOREBOARD_BIND=true; } end; OnCall: do { clear; //HallOfSponsor(true); mes l("The Mana World - rEvolt"); mesc l("All scoreboards are updated hourly."), 1; mes ""; select l("Hall Of Fortune"), l("Hall Of Base Level"), l("Hall Of Job Level"), l("Hall Of Guilds"), l("Hall Of Lethality"), l("Hall Of Acorns"), l("Hall Of Artis Legion Training Arena"), l("Hall Of AFK King"), l("Game Statistics"), l("Quit"); mes ""; switch (@menu) { case 1: HallOfFortune(); next; break; case 2: HallOfLevel(); next; break; case 3: HallOfJob(); next; break; case 4: HallOfGuild(); next; break; case 5: HallOfLethality(); next; break; case 6: HallOfAcorns(); next; break; case 7: HallOfATL(); next; break; case 8: HallOfAFK(); next; break; case 9: HallOfGame(); next; break; default: close; } } while (true); end; }