blob: 1bba1cc3e846c7ad7dc4ce05d0e0901b94f98772 (
plain) (
blame)
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
|
/*
* The ManaPlus Client
* Copyright (C) 2009 The Mana World Development Team
* Copyright (C) 2009-2010 The Mana Developers
* Copyright (C) 2011-2016 The ManaPlus Developers
*
* This file is part of The ManaPlus Client.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#include "net/eathena/generalrecv.h"
#include "client.h"
#include "logger.h"
#include "net/messagein.h"
#include "utils/gettext.h"
#include "debug.h"
namespace EAthena
{
ServerInfo charServer;
ServerInfo mapServer;
void GeneralRecv::processConnectionProblem(Net::MessageIn &msg)
{
const uint8_t code = msg.readUInt8("flag");
logger->log("Connection problem: %u", CAST_U32(code));
switch (code)
{
case 0:
// TRANSLATORS: error message
errorMessage = _("Authentication failed.");
break;
case 1:
// TRANSLATORS: error message
errorMessage = _("No servers available.");
break;
case 2:
if (client->getState() == State::GAME)
{
// TRANSLATORS: error message
errorMessage = _("Someone else is trying to use "
"this account.");
}
else
{
// TRANSLATORS: error message
errorMessage = _("This account is already logged in.");
}
break;
case 3:
// TRANSLATORS: error message
errorMessage = _("Speed hack detected.");
break;
case 4:
// TRANSLATORS: error message
errorMessage = _("Server full.");
break;
case 5:
// TRANSLATORS: error message
errorMessage = _("Sorry, you are underaged.");
break;
case 8:
// TRANSLATORS: error message
errorMessage = _("Duplicated login.");
break;
case 9:
// TRANSLATORS: error message
errorMessage = _("To many connections from same ip.");
break;
case 10:
// TRANSLATORS: error message
errorMessage = _("Not paid for this time.");
break;
case 11:
// TRANSLATORS: error message
errorMessage = _("Pay suspended.");
break;
case 12:
// TRANSLATORS: error message
errorMessage = _("Pay changed.");
break;
case 13:
// TRANSLATORS: error message
errorMessage = _("Pay wrong ip.");
break;
case 14:
// TRANSLATORS: error message
errorMessage = _("Pay game room.");
break;
case 15:
// TRANSLATORS: error message
errorMessage = _("Disconnect forced by GM.");
break;
case 16:
case 17:
// TRANSLATORS: error message
errorMessage = _("Ban japan refuse.");
break;
case 18:
// TRANSLATORS: error message
errorMessage = _("Remained other account.");
break;
case 100:
// TRANSLATORS: error message
errorMessage = _("Ip unfair.");
break;
case 101:
// TRANSLATORS: error message
errorMessage = _("Ip count all.");
break;
case 102:
// TRANSLATORS: error message
errorMessage = _("Ip count.");
break;
case 103:
case 104:
// TRANSLATORS: error message
errorMessage = _("Memory.");
break;
case 105:
// TRANSLATORS: error message
errorMessage = _("Han valid.");
break;
case 106:
// TRANSLATORS: error message
errorMessage = _("Ip limited access.");
break;
case 107:
// TRANSLATORS: error message
errorMessage = _("Over characters list.");
break;
case 108:
// TRANSLATORS: error message
errorMessage = _("Ip blocked.");
break;
case 109:
// TRANSLATORS: error message
errorMessage = _("Invalid password count.");
break;
case 110:
// TRANSLATORS: error message
errorMessage = _("Not allowed race.");
break;
default:
// TRANSLATORS: error message
errorMessage = _("Unknown connection error.");
break;
}
client->setState(State::ERROR);
}
void GeneralRecv::processMapNotFound(Net::MessageIn &msg)
{
const int sz = msg.readInt16("len") - 4;
msg.readString(sz, "map name?");
// TRANSLATORS: error message
errorMessage = _("Map not found");
client->setState(State::ERROR);
}
} // namespace EAthena
|