diff options
Diffstat (limited to 'npc')
-rw-r--r-- | npc/001-11/Demure.txt | 1 | ||||
-rw-r--r-- | npc/003-1/events.txt | 103 | ||||
-rw-r--r-- | npc/commands/event.txt | 5 |
3 files changed, 108 insertions, 1 deletions
diff --git a/npc/001-11/Demure.txt b/npc/001-11/Demure.txt index 709e7fea6..4f2d07fd5 100644 --- a/npc/001-11/Demure.txt +++ b/npc/001-11/Demure.txt @@ -67,6 +67,7 @@ // Get 1 Point per sent box #VALENTINE_POINTS+=1; + #VALENTINE_SENT+=1; // Handle Love Letter if (countitem(LoveLetter) { diff --git a/npc/003-1/events.txt b/npc/003-1/events.txt index f270a1aff..96560c783 100644 --- a/npc/003-1/events.txt +++ b/npc/003-1/events.txt @@ -50,6 +50,109 @@ OnInit: end; } + + + + + + + + + + + + + + + + + + + + + + +// Valentine Day +003-1,47,53,0 script Demure#ValentineFinal NPC_FEMALE,{ + mesn; + mesq l("Valentine Day is over!"); + if (#VALENTINE_SENT+#VALENTINE_OPENED <= 0) + close; + .@nb = query_sql("SELECT c.name, i.value FROM `acc_reg_num_db` AS i, `char` AS c WHERE i.key='#VALENTINE_POINTS' AND i.account_id=c.account_id ORDER BY i.value DESC LIMIT 10", .@name$, .@value); + + mes "##B"+l("Top 10 - Valentine Day")+"##b"; + mes("1." +.@name$[0]+" ("+.@value[0]+")"); + mes("2." +.@name$[1]+" ("+.@value[1]+")"); + mes("3." +.@name$[2]+" ("+.@value[2]+")"); + mes("4." +.@name$[3]+" ("+.@value[3]+")"); + mes("5." +.@name$[4]+" ("+.@value[4]+")"); + mes("6." +.@name$[5]+" ("+.@value[5]+")"); + mes("7." +.@name$[6]+" ("+.@value[6]+")"); + mes("8." +.@name$[7]+" ("+.@value[7]+")"); + mes("9." +.@name$[8]+" ("+.@value[8]+")"); + mes("10."+.@name$[9]+" ("+.@value[9]+")"); + next; + #VALENTINE_SENT=0; + #VALENTINE_OPENED=0; + #VALENTINE_RECEIVED=0; + if (strcharinfo(0) == .@name$[0]) + makepet DoggyDog; + else if (strcharinfo(0) == .@name$[1] || strcharinfo(0) == .@name$[2]) + getitem PrismGift, 1; + else if (strcharinfo(0) == .@name$[3] || strcharinfo(0) == .@name$[4]) + getitem GoldenGift, 1; + else if (strcharinfo(0) == .@name$[5] || strcharinfo(0) == .@name$[6]) + getitem SilverGift, 1; + else if (strcharinfo(0) == .@name$[7] || strcharinfo(0) == .@name$[8] || strcharinfo(0) == .@name$[9]) + getitem BronzeGift, 1; + else + getitem StrangeCoin, 1; + + getexp #VALENTINE_SENT+#VALENTINE_RECEIVED, #VALENTINE_SENT; + Zeny=Zeny+#VALENTINE_OPENED; + + if (strcharinfo(0) == .@name$[0]) + mesc l("You gained a @@ for the #1 place on the event. Remember to feed it @@, or it may run away from you.", getitemlink(DoggyDog), getitemlink(AnimalBones)); + + close; + +OnInit: + .@npcId = getnpcid(.name$); + setunitdata(.@npcId, UDT_HEADTOP, GMCap); + setunitdata(.@npcId, UDT_HEADMIDDLE, GMRobe); + setunitdata(.@npcId, UDT_HAIRSTYLE, 14); + setunitdata(.@npcId, UDT_HAIRCOLOR, 18); + + .sex = G_FEMALE; + .distance = 5; + + disablenpc(.name$); + end; +} + + + + + + + + + + + + + + + + + + + + + + + + // Whatever event use #RARE_POINTS // Which is a script variable, meaning it will be a really special event. // Side Note: Might as well add a special cap for such situations. diff --git a/npc/commands/event.txt b/npc/commands/event.txt index 9631f7d73..da27370a1 100644 --- a/npc/commands/event.txt +++ b/npc/commands/event.txt @@ -77,7 +77,8 @@ function script GlobalEventMenu { // Delete all Valentine Day stuff if ($EVENT$ != "Valentine") { DelItemFromEveryPlayer(LoveLetter); - debugmes "TODO: Delete valentine chocolate box"; + DelItemFromEveryPlayer(BoxOfChocolates); + disablenpc "Demure#ValentineFinal"; } else if ($EVENT$ == "Valentine") { // ItemDB prefers account variables than quest log DelAccRegFromEveryPlayer("#VALENTINE_POINTS"); @@ -86,7 +87,9 @@ function script GlobalEventMenu { DelAccRegFromEveryPlayer("#VALENTINE_SENT"); htdelete $@VALENTINE_GIFTSTACKS; htdelete $@VALENTINE_LOVELETTER; + $@VALENTINE_GIFTSTACKS=0; $@VALENTINE_LOVELETTER=0; + enablenpc "Demure#ValentineFinal"; } // We must remove any event drop |