本文整理汇总了C#中PacketIn.GetUint8方法的典型用法代码示例。如果您正苦于以下问题:C# PacketIn.GetUint8方法的具体用法?C# PacketIn.GetUint8怎么用?C# PacketIn.GetUint8使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类PacketIn
的用法示例。
在下文中一共展示了PacketIn.GetUint8方法的10个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: HandlePacket
public int HandlePacket(BaseClient client, PacketIn packet)
{
LobbyClient cclient = client as LobbyClient;
byte[] clientModulus = new byte[64];
for (int i = 0; i < 64; ++i) clientModulus[i] = packet.GetUint8();
cclient.clientModulus = new FrameWork.NetWork.Crypto.BigInteger(1, clientModulus);
UInt16 unk = packet.GetUint16();
byte[] Proof = new byte[20];
for (int i = 0; i < 20; ++i) Proof[i] = packet.GetUint8();
cclient.Proof = Proof;
if (IsBanned(cclient))
{
ANS_LOGIN_FAILED.Send(cclient, (int)ResponseCodes.RC_LOGIN_ACCOUNT_BLOCKED);
cclient.Disconnect();
}
else
{
if (IsValid(cclient))
{
ANS_LOGIN_SUCCES.Send(cclient);
cclient.ECrypt = new TCP.Encryption(cclient.SessionId);
ANS_CHARACTER_INFO.Send(cclient);
}
else
{
ANS_LOGIN_FAILED.Send(cclient, (int)ResponseCodes.RC_LOGIN_INVALID_ACCOUNT);
cclient.Disconnect();
}
}
return 0;
}
示例2: HandlePacket
public int HandlePacket(BaseClient client, PacketIn packet)
{
LobbyClient cclient = (LobbyClient)client;
Byte slotId = packet.GetUint8();
CharacterEntry character = Databases.CharacterTable.SingleOrDefault(c => c.AccountIndex == cclient.Account.Index && c.Slot == slotId);
if (character.Index < 1) Log.Error(cclient.Account.Username, "Wrong slot specified!");
World.World info = null;
lock (Program.worldListener.Worlds)
{
Program.worldListener.Worlds.TryGetValue((uint)character.World, out info);
}
PacketOut Out = new PacketOut((UInt32)Opcodes.ANS_WORLD_ENTER);
if (info == null) Out.WriteUInt32Reverse(1);
else
{
info.Send(new AccountEnter((uint)cclient.Account.Index, (uint)character.Index, cclient.SessionId));
Out.WriteUInt32Reverse((uint)ResponseCodes.RC_SUCCESS);
Out.WriteByte(info.IP1);
Out.WriteByte(info.IP2);
Out.WriteByte(info.IP3);
Out.WriteByte(info.IP4);
Out.WriteUInt16Reverse((UInt16)info.Port);
Out.WriteInt64Reverse(TCPManager.GetTimeStamp());
}
cclient.Send(Out);
return 0;
}
示例3: HandlePacket
public int HandlePacket(BaseClient client, PacketIn packet)
{
LobbyClient cclient = (LobbyClient)client;
Byte slotId = packet.GetUint8();
Character character = cclient.Characters.Get(slotId);
if (character == null) Log.Error(cclient.Account.Email, "Wrong slot specified!");
World.World info = null;
lock (Program.worldListener.Worlds)
{
Program.worldListener.Worlds.TryGetValue(character.WorldId, out info);
}
PacketOut Out = new PacketOut((UInt32)Opcodes.ANS_WORLD_ENTER);
if (info == null) Out.WriteUInt32Reverse(1);
else
{
info.Send(new AccountEnter(cclient.Account.Id, character.Id, cclient.SessionId));
Out.WriteUInt32Reverse((uint)ResponseCodes.RC_SUCCESS);
Out.WriteByte(info.IP1);
Out.WriteByte(info.IP2);
Out.WriteByte(info.IP3);
Out.WriteByte(info.IP4);
Out.WriteUInt16Reverse((UInt16)info.Port);
Out.WriteInt64Reverse(TCPManager.GetTimeStamp());
}
cclient.Send(Out);
return 0;
}
示例4: HandlePacket
public int HandlePacket(BaseClient client, PacketIn packet)
{
LobbyClient cclient = client as LobbyClient;
byte slotId = packet.GetUint8();
Character Info = cclient.Characters.Get(slotId);
MySqlCommand cmd = new MySqlCommand("DELETE FROM `clientstatus` WHERE `name` = @name", Connection.Instance);
try
{
cmd.Prepare();
cmd.Parameters.AddWithValue("@name", Info.Name);
cmd.ExecuteNonQuery();
}
catch (MySqlException) { }
finally { cmd.Dispose(); }
PacketOut Out = new PacketOut((UInt32)Opcodes.ANS_CHARACTER_INFO);
if (Info == null) Out.WriteUInt32Reverse((uint)ResponseCodes.RC_FAILED);
else
{
Out.WriteUInt32Reverse((uint)ResponseCodes.RC_SUCCESS);
Out.WriteByte(Info.Slot);
Out.WriteByte(Info.Gender);
Out.WriteUInt32Reverse(Info.Playtime);
Out.WriteUInt32Reverse(Info.Rank);
Out.WriteByte(Info.Threat);
Out.WriteUInt32Reverse(Info.Money);
Out.WriteParsedString("APB-EMU", 60);
byte[] Custom = Info.getCustom();
Out.Write(Custom, 0, Custom.Length);
}
cclient.Send(Out);
return 0;
}
示例5: HandlePacket
public int HandlePacket(BaseClient client, PacketIn packet)
{
LobbyClient cclient = client as LobbyClient;
cclient.Characters.Delete(packet.GetUint8());
PacketOut Out = new PacketOut((UInt32)Opcodes.ANS_CHARACTER_DELETE);
Out.WriteUInt32Reverse((uint)ResponseCodes.RC_SUCCESS);
cclient.Send(Out);
return 0;
}
示例6: HandlePacket
public int HandlePacket(BaseClient client, PacketIn packet)
{
LobbyClient cclient = (LobbyClient)client;
byte FileId = packet.GetUint8();
PacketOut Out = new PacketOut((UInt32)Opcodes.ANS_CONFIGFILE_LOAD);
Out.WriteInt32Reverse((int)ResponseCodes.RC_SUCCESS);
Out.WriteByte(FileId);
byte[] Result = ZlibMgr.Compress(Program.FileMgr.GetFileByte((int)cclient.Account.Id, FileId, true, "", ""));
cclient.Send(Out);
return 0;
}
示例7: HandlePacket
public int HandlePacket(BaseClient client, PacketIn packet)
{
LobbyClient cclient = client as LobbyClient;
Byte freeSlot = GetFreeSlot(cclient);
if (freeSlot == 0) ANS_CHARACTER_CREATE.Send(cclient);
else
{
cclient.Pending.Slot = freeSlot;
cclient.Pending.Faction = packet.GetUint8();
cclient.Pending.Gender = packet.GetUint8();
cclient.Pending.Version = (Byte)packet.GetUint32Reversed();
packet.GetUint32Reversed();
Byte[] Custom = new Byte[packet.Length - packet.Position];
packet.Read(Custom, 0, Custom.Length);
cclient.Pending.Appearance = BitConverter.ToString(Custom);
Databases.CharacterTable.Add(cclient.Pending);
ANS_CHARACTER_CREATE.Send(cclient);
}
return 0;
}
示例8: HandlePacket
public int HandlePacket(BaseClient client, PacketIn packet)
{
LobbyClient cclient = (LobbyClient)client;
byte FileId = packet.GetUint8();
UInt32 Version = packet.GetUint32Reversed();
byte[] File = new byte[packet.Length - packet.Position];
packet.Read(File, 0, File.Length);
File = ZlibMgr.Decompress(File);
Log.Debug("ConfigSave", "Config saved! FileId = " + FileId + " | Version = " + Version + " | Size = " + File.Length);
Program.FileMgr.SaveInfo((int)cclient.Account.Index, FileId, File);
PacketOut Out = new PacketOut((UInt32)Opcodes.ANS_CONFIGFILE_SAVE);
Out.WriteUInt32Reverse((uint)ResponseCodes.RC_SUCCESS);
Out.WriteByte(FileId);
Out.Write(File, 0, File.Length);
cclient.Send(Out);
return 0;
}
示例9: HandlePacket
public int HandlePacket(BaseClient client, PacketIn packet)
{
LobbyClient cclient = client as LobbyClient;
Byte slot = packet.GetUint8();
foreach(CharacterEntry ch in cclient.Characters)
{
if(ch.Slot == slot)
{
cclient.Characters.Remove(ch);
Databases.CharacterTable.Remove(ch);
break;
}
}
PacketOut Out = new PacketOut((UInt32)Opcodes.ANS_CHARACTER_DELETE);
Out.WriteUInt32Reverse((uint)ResponseCodes.RC_SUCCESS);
cclient.Send(Out);
return 0;
}
示例10: HandlePacket
public int HandlePacket(BaseClient client, PacketIn packet)
{
LobbyClient cclient = client as LobbyClient;
byte slotId = packet.GetUint8();
CharacterEntry Info = Databases.CharacterTable.SingleOrDefault(c => c.AccountIndex == cclient.Account.Index && c.Slot == slotId);
PacketOut Out = new PacketOut((UInt32)Opcodes.ANS_CHARACTER_INFO);
if (Info.Index < 1) Out.WriteUInt32Reverse((uint)ResponseCodes.RC_FAILED);
else
{
Out.WriteUInt32Reverse((uint)ResponseCodes.RC_SUCCESS);
Out.WriteByte(Info.Slot);
Out.WriteByte(Info.Gender);
Out.WriteUInt32Reverse((uint)Info.Playtime);
Out.WriteUInt32Reverse((uint)Info.Rank);
Out.WriteByte(Info.Threat);
Out.WriteUInt32Reverse((uint)Info.Money);
Out.WriteParsedString(Info.Clan, 60);
byte[] Custom = getCustom(Info);
Out.Write(Custom, 0, Custom.Length);
}
cclient.Send(Out);
return 0;
}