Login support for 10.21 ~ 10.22

Please someone test more it !
Not tested in real Tibia !
This commit is contained in:
conde2 2013-11-10 03:13:51 -02:00
parent b3717ceb93
commit d2473fd424
1 changed files with 38 additions and 10 deletions

View File

@ -135,19 +135,47 @@ end
function ProtocolLogin:parseCharacterList(msg)
local characters = {}
local charactersCount = msg:getU8()
for i=1,charactersCount do
local character = {}
character.name = msg:getString()
character.worldName = msg:getString()
character.worldIp = iptostring(msg:getU32())
character.worldPort = msg:getU16()
if g_game.getProtocolVersion() >= 971 then
character.unknown = msg:getU8()
if g_game.getProtocolVersion() > 1010 then
local worlds = {}
local worldsCount = msg:getU8()
for i=1, worldsCount do
local world = {}
local worldId = msg:getU8()
world.worldName = msg:getString()
world.worldIp = iptostring(msg:getU32())
world.worldPort = msg:getU16()
msg:getU8() -- unknow byte?
worlds[worldId] = world
end
characters[i] = character
local charactersCount = msg:getU8()
for i=1, charactersCount do
local character = {}
local worldId = msg:getU8()
character.name = msg:getString()
character.worldName = worlds[worldId].worldName
character.worldIp = worlds[worldId].worldIp
character.worldPort = worlds[worldId].worldPort
characters[i] = character
end
else
local charactersCount = msg:getU8()
for i=1,charactersCount do
local character = {}
character.name = msg:getString()
character.worldName = msg:getString()
character.worldIp = iptostring(msg:getU32())
character.worldPort = msg:getU16()
if g_game.getProtocolVersion() >= 971 then
character.unknown = msg:getU8()
end
characters[i] = character
end
end
local account = {}