1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
|
// TMW2 scripts.
// Author:
// Jesusalva
// Description:
// Lilica is TMW-BR Scary Scary Easter Bunny and will help your trading stuff.
001-4,139,151,0 script Lilica#easter NPC_EASTER,{
mesn;
mesq lg("Ah, traveller! I am Lilica the Scary Bunny! I exchange many @@ and @@ for neat rewards!","Ah, traveller! I am Lilica the Scary Bunny! I exchange many @@ and @@ for neat rewards!", getitemlink(SilverEasteregg), getitemlink(GoldenEasteregg));
next;
mesn;
mesq l("Golden Eggs are used for the grand collector prize. Ah, I love Easter! I loooooooove it!");
mesc l("Note: Golden and Silver Eggs are deleted after the next event end.");
menu
l("Scary..........."), -,
l("Trade Silver Eggs"), L_Silver,
l("Trade Golden Eggs"), L_Golden,
rif(getq(SQuest_Easter) != gettime(7), l("I want an Eggshell Hat!")), L_Quest,
l("View LeaderBoard"), L_Leader;
close;
L_Silver:
openshop "#eastershop1";
closedialog;
close;
L_Golden:
openshop "#eastershop2";
closedialog;
close;
L_Leader:
mesc l("Leaderboard is refresh daily at 1 AM!");
mes("1."+$@easter_name$[0]+" ("+$@easter_value[0]+")");
mes("2."+$@easter_name$[1]+" ("+$@easter_value[1]+")");
mes("3."+$@easter_name$[2]+" ("+$@easter_value[2]+")");
mes("4."+$@easter_name$[3]+" ("+$@easter_value[3]+")");
mes("5."+$@easter_name$[4]+" ("+$@easter_value[4]+")");
mes("6."+$@easter_name$[5]+" ("+$@easter_value[5]+")");
mes("7."+$@easter_name$[6]+" ("+$@easter_value[6]+")");
mes("8."+$@easter_name$[7]+" ("+$@easter_value[7]+")");
mes("9."+$@easter_name$[8]+" ("+$@easter_value[8]+")");
mes("10."+$@easter_name$[9]+" ("+$@easter_value[9]+")");
close;
L_Quest:
setarray .@Seasonal, EggshellHat, EggshellHat, GreenEggshellHat, OrangeEggshellHat, BlueEggshellHat, EggshellHat;
.@Hat=.@Seasonal[gettime(7)%6]; // Magically choose the hat from the array
mesn;
mesq l("Good choice! This year we're having a @@!", getitemlink(.@Hat));
next;
mesn;
mesq l("As usual, you can get only one hat yearly, for the symbolic amount of 40 @@ and 10 @@!", getitemlink(GoldenEasteregg), getitemlink(SilverEasteregg));
next;
menu
l("Maybe later."), -,
rif(countitem(GoldenEasteregg) >= 40 && countitem(SilverEasteregg) >= 10, l("Deal.")), L_QuestDone;
close;
L_QuestDone:
inventoryplace .@Hat, 1;
delitem GoldenEasteregg, 40;
delitem SilverEasteregg, 10;
if (rand2(10000) < 100) goto L_Unlucky;
setq SQuest_Easter, gettime(7), min(500, getq2(SQuest_Easter)+100);
npctalk3 l("Strange Coins stock on shops was restored!");
getnameditem(.@Hat, strcharinfo(0));
mesn;
mesq l("Here you go! Happy easter! Bhop bhop!");
close;
L_Unlucky:
getitem GoldenGift, 1;
mesn;
mes l("\"Oh... Sorry, @@.", strcharinfo(0));
mes l("But in accordance to an old %s, you were unlucky.", b(l("Community Decision")));
mes l("This means ##BAll items were lost##b, and you need to collect EVERYTHING, again, to get the hat.");
mes l("But, hm hm hm! I have a %s for you! It won't have what you wanted, but maybe you're lucky, after all?", getitemlink(GoldenGift));
mes l("Better luck next time!\"");
close;
OnClock0100:
OnClock1300:
if ($EVENT$ == "Easter")
.@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", $@easter_name$, $@easter_value);
end;
OnInit:
.sex = G_OTHER;
.distance = 5;
if ($EVENT$ == "Easter")
sEaster();
end;
}
function script EasterCoinCheck {
for (.@i=0;.@i < getarraysize(@bought_nameid); .@i++) {
if (debug || $@GM_OVERRIDE)
debugmes("%dx %s", @bought_quantity[.@i], getitemname(@bought_nameid[.@i]));
if (@bought_nameid[.@i] == StrangeCoin) {
.@q2=getq2(SQuest_Easter)-@bought_quantity[.@i];
if (.@q2 < 0) {
dispbottom l("Attempted to buy %d/%d %s, operation cancelled.",
@bought_quantity[.@i], getq2(SQuest_Easter),
getitemlink(StrangeCoin));
if (TUTORIAL)
dispbottom l("This quota is reset yearly, by completing %s's quest.", b("Lilica"));
end;
}
setq2 SQuest_Easter, .@q2;
}
}
return;
}
// Silver Easter Egg exchange.
001-4,139,151,0 trader #eastershop1 NPC_HIDDEN,{
end;
OnInit:
tradertype(NST_CUSTOM);
sellitem ChocolateMouboo,100;
sellitem StrangeCoin,50;
sellitem GoldenEasteregg,25;
sellitem EasterEgg,5;
end;
OnCountFunds:
setcurrency(countitem(SilverEasteregg));
end;
OnPayFunds:
if( countitem(SilverEasteregg) < @price )
end;
// Strange Coins are different
EasterCoinCheck();
// Complete purchase
delitem SilverEasteregg, @price;
purchaseok();
end;
}
// Golden Easter Egg exchange.
001-4,139,151,0 trader #eastershop2 NPC_HIDDEN,{
end;
OnInit:
tradertype(NST_CUSTOM);
setarray .@Seasonal, EggshellHat, EggshellHat, GreenEggshellHat, OrangeEggshellHat, BlueEggshellHat, EggshellHat;
.Hat=.@Seasonal[(gettime(7)+1)%6]; // Magically choose the hat from the array
.PrevHat=.@Seasonal[(gettime(7)-1)%6]; // Magically choose the hat from the array
// Seasonal item
sellitem .Hat,200;
sellitem .PrevHat,500;
// Rare and not-so-rare Items
sellitem MercBoxE,1500;
sellitem MercBoxD,1000;
sellitem MercBoxC,500;
sellitem Boots,450;
sellitem BronzeGift,100;
sellitem BunnyEars,50;
sellitem StrangeCoin,10;
sellitem SilverEasteregg,1;
end;
OnCountFunds:
setcurrency(countitem(GoldenEasteregg));
end;
OnPayFunds:
if( countitem(GoldenEasteregg) < @price )
end;
// Strange Coins are different
EasterCoinCheck();
// Complete purchase
delitem GoldenEasteregg, @price;
purchaseok();
end;
}
|