// TMW2 scripts. // Author: // Jesusalva // Description: // The NPCs on this file are for when events end. Must be manually enabled. // Easter 003-1,47,53,0 script Lilica#final NPC_EASTER,{ mesn; mesq l("Easter is over! I am the last chance to get rid of eggs!!"); menu l("Trade Silver Eggs"), L_Silver, l("Trade Golden Eggs"), L_Golden, l("View LeaderBoard"), L_Leader, l("Thanks Lilica."), -; close; L_Silver: openshop "#eastershop1"; closedialog; close; L_Golden: openshop "#eastershop2"; closedialog; close; L_Leader: .@nb = query_sql("SELECT c.name, i.amount FROM `inventory` AS i, `char` AS c WHERE i.nameid=834 AND i.char_id=c.char_id ORDER BY i.amount DESC LIMIT 10", .@name$, .@value); mesn l("Players who still have Golden Eggs"); 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]+")"); close; OnInit: .sex = G_OTHER; .distance = 5; disablenpc(.name$); 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. 003-1,47,53,0 script Pydisgner#spoints NPC_GUGLI,{ openshop; OnInit: .sex = G_OTHER; .distance=5; tradertype(NST_CUSTOM); // Rares sellitem BlacksmithAxe, 64000; sellitem MiereCleaver, 32000; sellitem Kanabo, 13500; sellitem PiouEgg, 9350; sellitem AxeHat, 8000; sellitem Googles, 6000; // Uncommon sellitem CrystallizedMaggot, 7000; sellitem Sunglasses, 7000; sellitem BunnyEars, 900; sellitem StrangeCoin, 10; // Gamble sellitem SupremeGift,30000; sellitem PrismGift, 11000; sellitem GoldenGift, 4000; sellitem SilverGift, 1500; sellitem BronzeGift, 500; sellitem CasinoCoins, 35; // Equipment sellitem WoodenSword, 5500; sellitem Chainmail, 2500; sellitem LeatherShirt, 800; sellitem JeansShorts, 600; sellitem ShortBow, 500; sellitem RoundLeatherShield,200; sellitem WoodenBow, 100; sellitem Dagger, 100; // Consumables sellitem TonoriDelight, 80; sellitem Aquada, 60; sellitem Manana, 50; sellitem Cheese, 40; sellitem Plushroom, 15; sellitem Chagashroom, 15; // Useful ores and money stuff sellitem IronIngot, 2500; sellitem EmptyBottle, 60; sellitem Arrow, 4; sellitem TolchiArrow, 1; sellitem PiouFeathers, 1; if (gettime(7) != 2018) disablenpc(.name$); end; OnCountFunds: setcurrency(#RARE_POINTS); end; OnPayFunds: if( #RARE_POINTS < @price ) end; #RARE_POINTS=#RARE_POINTS-@price; purchaseok(); end; }