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
|
// TMW2 scripts.
// Authors:
// Jesusalva
// Description:
// Generals
// FrostiaTaskMaster(lvl)
function script FrostiaTaskMaster {
.@q=General_MobHunting4;
.@q1=getq(General_MobHunting4);
.@q2=getq2(General_MobHunting4);
.@q3=getq3(General_MobHunting4);
.@d=gettimeparam(GETTIME_DAYOFMONTH);
.@lv=getarg(0, 1);
// It's a new day, so we must generate a new quest!
if (.@q1 != .@d) {
.@q1=.@d;
.@q2=any(Moggun, IcedFluffy, Fluffy, Pollet, BlueSlime, WhiteSlime, SantaSlime, AzulSlime, RudolphSlime); // WaterFairy
setq .@q, .@q1, .@q2, 0;
}
// Maybe you finished the quest?
if (.@q3 >= 100) {
mesn;
mesq l("Good job, you've killed the 100 @@ and reported back in time!", getmonsterlink(.@q2));
next;
mesn;
mesq l("It's not much of a reward, but doesn't it feels great to help others in need?! HAHAHA!");
Zeny+=.@lv;
getexp BaseLevel*.@lv, .@lv;
setq2 .@q, 0;
return false;
}
// Maybe there is no monster to kill
if (!.@q2) {
mesn;
mesq l("You've already completed this quest today. Try again tomorrow.");
return true;
}
mesn;
mesq l("So, please kill @@/100 @@ for us and make the world a safer place!", .@q3, getmonsterlink(.@q2));
return false;
}
// FrostiaGeneralQuest( Skillname )
function script FrostiaGeneralQuest {
.@at$=getarg(0);
mesn;
mesq l("Hey. You there. Time to do @@ and show what you're made of.", .@at$);
next;
mesn;
mesq l("If you conclude the training, you'll be suitable for the difficult mission our King have to you.");
next;
mesc b(l(".:: Main Quest 4-3 ::.")), 3;
msObjective(BaseLevel >= 52, l("* @@/@@ Base Level", BaseLevel, 52));
msObjective(JobLevel >= 24, l("* @@/@@ Job Level", JobLevel, 24));
next;
if (BaseLevel >= 52 && JobLevel >= 24) {
mesn;
mesq l("Congrats, you did it.");
next;
inventoryplace ElixirOfLife, 1, MercCard_Saulc, 1;
mesn;
mesq l("Take this @@. It might save your life on the secret mission you're about to be assigned to.", getitemlink(MercCard_Saulc));
next;
mesn;
mesq l("Now go talk to the King.");
setq General_Narrator, 15;
getitem MercCard_Saulc, 1;
getitem ElixirOfLife, 1;
getexp 0, 400; // Get 10% JEXP. Reference: 3988~5564
close;
}
mesn;
mesq l("Now, a simple @@ quest to make you stronger...", .@at$);
next;
if (FrostiaTaskMaster(20)) {
next;
mesn;
mesq l("Or maybe... You want to try again right now? I'll do whatever needed to level you up to less-noobish levels.");
next;
if (askyesno() == ASK_YES) {
setq General_MobHunting4, 0, 0, 0;
FrostiaTaskMaster(20);
}
}
close;
}
//////////////////////////////////////////////////////////////////////
024-16,29,21,0 script Wizard General NPC_BLUESABER,{
.@q=getq(General_Narrator);
if (.@q == 14)
FrostiaGeneralQuest("Magic");
else
FrostiaTaskMaster(20);
close;
OnInit:
.distance=5;
end;
}
024-16,31,21,0 script Warrior General NPC_REDSABER,{
.@q=getq(General_Narrator);
if (.@q == 14)
FrostiaGeneralQuest("Fight");
else
FrostiaTaskMaster(20);
close;
OnInit:
.distance=5;
end;
}
|