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
|
// TMW2 Scripts
// Evol functions.
// Author:
// 4144
// Jesusalva
// Description:
// Function checking the client version and reports if it is too old.
// This also handles all updates, and usually have priority.
function script checkclientversion {
// Skip any update for newcomers
if (getmap() ~= "000-0*") {
UPDATE=gettimetick(2);
}
// Update handler (use `date +%s` for this)
// Current UPDATE value: Qui Jun 7 08:10:55 -03 2018
if (Lang > 5 && UPDATE < 1528369855) {
UPDATE=1528369855;
Lang=0;
mesn "Jesus Saves";
mesc l("Oh, noes! Due lack of translators, some languages were removed from this project.");
mesc l("You might have been affected. Please, select your desired language.");
asklanguage(LANG_IN_SHIP);
}
// Report client version for debugging purposes
if (is_admin() && UPDATE < 1528369855) {
UPDATE=1528369855;
dispbottom l("Client Version: @@", ClientVersion); // This is to debug UPDATE system.
}
// New skills introduced
if (UPDATE < 1531786864) {
UPDATE=1531786864;
skill TMW2_FAKESKILL, 1, 0;
skill TMW2_FAKESKILL2, 1, 0;
}
// Update new quest exp, and make sure you have the extended basic skills with you
if (UPDATE < 1545228412) {
UPDATE=1545228412;
adddefaultskills;
if (getq(TulimsharQuests_Fishman) >= 2)
getexp 12, 0;
if (getq(MineQuest_Tycoon) >= 3)
getexp 250, 0;
if (getq(MineQuest_Tycoon) >= 6)
getexp 642, 0;
if (getq(MineQuest_Tycoon) >= 9)
getexp 100, 0;
if (getq(MineQuest_Tycoon) >= 12)
getexp 2435, 0;
if (getq(MineQuest_Tycoon) >= 15)
Zeny=Zeny+1000;
dispbottom l("Your experience level has been updated.");
}
// #ADD_LVL means the user have to right to get some levels. This is a sketch. The code might be deleted.
if (#ADD_LVL) {
mesn "Jesus Saves";
mesc l("Oh - Welcome to TMW2: Moubootaur Legends!"), 3;
next;
mesn "Jesus Saves";
mesc l("Please, fell at home. You can use ##B#world##b channel to speak to everyone on Discord, IRC and ingame."), 3;
next;
mesn "Jesus Saves";
mesc l("Our mission statement is to bring fun to all players. You'll get some levels automatically. We advise you to join a guild."), 3;
next;
mesn "Jesus Saves";
mesc l("If you have any trouble or doubt, don't hesit to call us. There are some cooperative quests, and more of them are being added."), 3;
next;
mesn "Jesus Saves";
mesc l("Anyway, ##Bwelcome##b, and have fun! If you need anything, we are a keypress from distance!"), 3;
//atcommand "@blvl "+#ADD_LVL;
getitem TimeFlask, 1;
#ADD_LVL=(#ADD_LVL*9)/10;
if ((readparam(BaseExp)+#ADD_LVL > readparam(NextBaseExp))) {
do {
.@v=readparam(NextBaseExp)-readparam(BaseExp);
getexp .@v, 0;
#ADD_LVL-=.@v;
} while (readparam(BaseExp)+#ADD_LVL > readparam(NextBaseExp));
}
getexp #ADD_LVL, 0;
#ADD_LVL=0;
// TODO: Use @super debug functions and force player to join a guild. We will need the guild ID, though.
rodex_sendmail(getcharid(0), "TMW2 Team", "Welcome to Moubootaur Legends", "Hey, thanks for believing on us! We hope to have a great time togheter. Any problem, ask for help in #world - the Discord bridge! Enjoy our game!", 20);
if (ClientVersion >= 24) close;
next;
mesn "Failsafe Mechanism";
mesc l("Ah... You must update your client first."), 1;
next;
}
if (ClientVersion >= 24) return;
mesn "Narrator";
mesc l("Warning."), 1;
mesc l("Warning."), 1;
mesc l("Warning: You are using an old client."), 1;
next;
mesc l("Please install the new client from [@@https://manaplus.org/|https://manaplus.org/@@]");
next;
if (ClientVersion >= 20) mesc l("Compatibility Support mode enabled. Client may crash AT RANDOM, beware.");
if (ClientVersion >= 20) mesc l("Crazy stuff can happen in overall. YOU HAVE BEEN WARNED TO UPDATE YOUR CLIENT.");
if (ClientVersion >= 20) close;
if (ClientVersion >= 20) return;
mesc l("You won't be allowed to play this game until you have an updated client.");
next;
// Force user to disconnect
atcommand "@kick "+strcharinfo(0);
return;
}
|