From 8422df08229fdcf864f3002e2f71588a45a7065d Mon Sep 17 00:00:00 2001 From: Jesusaves Date: Mon, 5 Jul 2021 17:03:14 -0300 Subject: Add the Almanach mentioned by Crastur to the scoreboards --- npc/099-7/_import.txt | 1 + npc/099-7/cronos.txt | 19 +++++++++++++++++++ npc/functions/scoreboards.txt | 33 +++++++++++++++++++++++++++++++-- 3 files changed, 51 insertions(+), 2 deletions(-) create mode 100644 npc/099-7/cronos.txt diff --git a/npc/099-7/_import.txt b/npc/099-7/_import.txt index e284d5dd..998db4ea 100644 --- a/npc/099-7/_import.txt +++ b/npc/099-7/_import.txt @@ -1,3 +1,4 @@ // Map 099-7: Ruined Swamps // This file is generated automatically. All manually added changes will be removed when running the Converter. "npc/099-7/boss.txt", +"npc/099-7/cronos.txt", diff --git a/npc/099-7/cronos.txt b/npc/099-7/cronos.txt new file mode 100644 index 00000000..8aa6985c --- /dev/null +++ b/npc/099-7/cronos.txt @@ -0,0 +1,19 @@ +// Cronos, the lord of time and apparently a shopkeeper +// There's also Father Time in the GM stuff + +099-7,99,30,0 script Chronos NPC313,{ + mesn; + mesq l("I'm Chronos, lord of time, the immortal, the... Alright, let's forget that."); + if (BOSS_POINTS < .price) + close; + // Boss Points validation + .@cur=(BOSS_POINTS % .price); + mesc l("All things shall pass, but with the limited time you have, please enjoy shopkeeping."); + close; + +OnInit: + .distance=4; + .price=10000; + end; +} + diff --git a/npc/functions/scoreboards.txt b/npc/functions/scoreboards.txt index 442cacd7..50a5823d 100644 --- a/npc/functions/scoreboards.txt +++ b/npc/functions/scoreboards.txt @@ -123,6 +123,29 @@ function script HallOfLethality { return; } +function script HallOfAlmanach { + mes ""; + mes l("##BHall Of Almanach: TOP15##b"); + mesc l("The greatest heroes of all time"); + mesf("1. %s (%s)", $@hob_name$[0], fnum($@hob_value[0])); + mesf("2. %s (%s)", $@hob_name$[1], fnum($@hob_value[1])); + mesf("3. %s (%s)", $@hob_name$[2], fnum($@hob_value[2])); + mesf("4. %s (%s)", $@hob_name$[3], fnum($@hob_value[3])); + mesf("5. %s (%s)", $@hob_name$[4], fnum($@hob_value[4])); + mesf("6. %s (%s)", $@hob_name$[5], fnum($@hob_value[5])); + mesf("7. %s (%s)", $@hob_name$[6], fnum($@hob_value[6])); + mesf("8. %s (%s)", $@hob_name$[7], fnum($@hob_value[7])); + mesf("9. %s (%s)", $@hob_name$[8], fnum($@hob_value[8])); + mesf("10. %s (%s)", $@hob_name$[9], fnum($@hob_value[9])); + mesf("11. %s (%s)", $@hob_name$[10], fnum($@hob_value[10])); + mesf("12. %s (%s)", $@hob_name$[11], fnum($@hob_value[11])); + mesf("13. %s (%s)", $@hob_name$[12], fnum($@hob_value[12])); + mesf("14. %s (%s)", $@hob_name$[13], fnum($@hob_value[13])); + mesf("15. %s (%s)", $@hob_name$[14], fnum($@hob_value[14])); + return; +} + + // HallOfGame() function script HallOfGame { mes l("Players Killed in PvP: %s", format_number($PLAYERS_KILLED)); @@ -171,6 +194,7 @@ OnInit: .@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 AND c.char_num = 0 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='MONSTERS_KILLED' AND i.char_id=c.char_id ORDER BY i.value DESC LIMIT 15", $@hol_name$, $@hol_value); + .@nb = query_sql("SELECT c.name, i.value FROM `char_reg_num_db` AS i, `char` AS c WHERE i.key='BOSS_POINTS' AND i.char_id=c.char_id ORDER BY i.value DESC LIMIT 15", $@hob_name$, $@hob_value); consolemes(CONSOLEMES_DEBUG, "Scoreboards reloaded"); if (!$@SCOREBOARD_BIND) { bindatcmd "scoreboard", "@scoreboard::OnCall", 0, 100, 0; @@ -191,6 +215,7 @@ OnCall: l("Hall Of Job Level"), l("Hall Of Guilds"), l("Hall Of Lethality"), + l("Hall Of Almanach"), l("Hall Of Acorns"), l("Game Statistics"), l("Personal Information"), @@ -218,14 +243,18 @@ OnCall: next; break; case 6: - HallOfAcorns(); + HallOfAlmanach(); next; break; case 7: - HallOfGame(); + HallOfAcorns(); next; break; case 8: + HallOfGame(); + next; + break; + case 9: ShowAbizit(true); mes ""; mesc l("Total deaths: %s", fnum(PC_DIE_COUNTER)); -- cgit v1.2.3-60-g2f50