Как получить IP последнего (текущего) входа игрока?
Материал из Perfect World Develop Wiki
Версия от 16:20, 29 июня 2015; NeilMoore (обсуждение | вклад)
Данная информация есть в структуре PlayerConsumeInfo, которая содержится в ответе на пакет DBGetConsumeInfosArg.
<? include("packet_class.php"); $DBGetConsumeInfos = new WritePacket(); $DBGetConsumeInfos -> WriteUInt32(-1); // always $DBGetConsumeInfos -> WriteCUInt32(1); // count of array $DBGetConsumeInfos -> WriteUInt32(1024); // roleid $DBGetConsumeInfos -> Pack(0x180); if (!$DBGetConsumeInfos -> Send("localhost", 29400)) return -1; $DBGetConsumeInfos_Re = new ReadPacket($DBGetConsumeInfos); $DBGetConsumeInfos_Re -> ReadPacketInfo(); $DBGetConsumeInfos_Re -> ReadUInt32(); // always $DBGetConsumeInfos_Re -> ReadUInt32(); // retcode $DBGetConsumeInfos_Re -> ReadCUInt32(); // count of array $DBGetConsumeInfos_Re -> ReadUInt32(); // roleid $DBGetConsumeInfos_Re -> ReadUInt32(); // level $loginip = $DBGetConsumeInfos_Re -> ReadUInt32(); $ip[0] = $loginip & 0xFF; $ip[1] = ($loginip >> 8) & 0xFF; $ip[2] = ($loginip >> 16) & 0xFF; $ip[3] = ($loginip >> 24) & 0xFF; echo "{$ip[0]}.{$ip[1]}.{$ip[2]}.{$ip[3]}"; ?>